OSDN Git Service

WordPressテンプレート使用ショップデモデータ追加。
authornaoki hirata <naoki@magic3.org>
Fri, 1 Sep 2017 03:11:03 +0000 (12:11 +0900)
committernaoki hirata <naoki@magic3.org>
Fri, 1 Sep 2017 03:11:03 +0000 (12:11 +0900)
186 files changed:
include/sql/sample/ec_demo1.sql
include/sql/sample/ec_demo2.sql [new file with mode: 0644]
include/sql/update/2017081601_to_2017083001.sql
templates/shop-isle/404.php [new file with mode: 0644]
templates/shop-isle/CHANGELOG.md [new file with mode: 0644]
templates/shop-isle/Gruntfile.js [new file with mode: 0644]
templates/shop-isle/README.md [new file with mode: 0644]
templates/shop-isle/archive.php [new file with mode: 0644]
templates/shop-isle/assets/bootstrap/css/bootstrap-theme.css [new file with mode: 0644]
templates/shop-isle/assets/bootstrap/css/bootstrap-theme.css.map [new file with mode: 0644]
templates/shop-isle/assets/bootstrap/css/bootstrap-theme.min.css [new file with mode: 0644]
templates/shop-isle/assets/bootstrap/css/bootstrap.css [new file with mode: 0644]
templates/shop-isle/assets/bootstrap/css/bootstrap.css.map [new file with mode: 0644]
templates/shop-isle/assets/bootstrap/css/bootstrap.min.css [new file with mode: 0644]
templates/shop-isle/assets/bootstrap/fonts/glyphicons-halflings-regular.eot [new file with mode: 0644]
templates/shop-isle/assets/bootstrap/fonts/glyphicons-halflings-regular.svg [new file with mode: 0644]
templates/shop-isle/assets/bootstrap/fonts/glyphicons-halflings-regular.ttf [new file with mode: 0644]
templates/shop-isle/assets/bootstrap/fonts/glyphicons-halflings-regular.woff [new file with mode: 0644]
templates/shop-isle/assets/bootstrap/fonts/glyphicons-halflings-regular.woff2 [new file with mode: 0644]
templates/shop-isle/assets/bootstrap/js/bootstrap.js [new file with mode: 0644]
templates/shop-isle/assets/bootstrap/js/bootstrap.min.js [new file with mode: 0644]
templates/shop-isle/assets/bootstrap/js/npm.js [new file with mode: 0644]
templates/shop-isle/assets/css/admin-style.css [new file with mode: 0644]
templates/shop-isle/assets/css/slider.css [new file with mode: 0644]
templates/shop-isle/assets/css/style.css [new file with mode: 0644]
templates/shop-isle/assets/css/vendor/animate.css [new file with mode: 0644]
templates/shop-isle/assets/css/vendor/flexslider.css [new file with mode: 0644]
templates/shop-isle/assets/css/vendor/magnific-popup.css [new file with mode: 0644]
templates/shop-isle/assets/css/vendor/owl.carousel.css [new file with mode: 0644]
templates/shop-isle/assets/css/vendor/owl.carousel.min.css [new file with mode: 0644]
templates/shop-isle/assets/fonts/ElegantIcons.eot [new file with mode: 0644]
templates/shop-isle/assets/fonts/ElegantIcons.svg [new file with mode: 0644]
templates/shop-isle/assets/fonts/ElegantIcons.ttf [new file with mode: 0644]
templates/shop-isle/assets/fonts/ElegantIcons.woff [new file with mode: 0644]
templates/shop-isle/assets/fonts/flexslider-icon.eot [new file with mode: 0644]
templates/shop-isle/assets/fonts/flexslider-icon.svg [new file with mode: 0644]
templates/shop-isle/assets/fonts/flexslider-icon.ttf [new file with mode: 0644]
templates/shop-isle/assets/fonts/flexslider-icon.woff [new file with mode: 0644]
templates/shop-isle/assets/images/404.jpg [new file with mode: 0644]
templates/shop-isle/assets/images/background-video.jpg [new file with mode: 0644]
templates/shop-isle/assets/images/banner1.jpg [new file with mode: 0644]
templates/shop-isle/assets/images/banner2.jpg [new file with mode: 0644]
templates/shop-isle/assets/images/banner3.jpg [new file with mode: 0644]
templates/shop-isle/assets/images/header.jpg [new file with mode: 0644]
templates/shop-isle/assets/images/next-light.cur [new file with mode: 0644]
templates/shop-isle/assets/images/next-light.png [new file with mode: 0644]
templates/shop-isle/assets/images/prev-light.cur [new file with mode: 0644]
templates/shop-isle/assets/images/prev-light.png [new file with mode: 0644]
templates/shop-isle/assets/images/ribbon-bg.jpg [new file with mode: 0644]
templates/shop-isle/assets/images/slide1.jpg [new file with mode: 0644]
templates/shop-isle/assets/images/slide2.jpg [new file with mode: 0644]
templates/shop-isle/assets/images/slide3.jpg [new file with mode: 0644]
templates/shop-isle/assets/images/team1.jpg [new file with mode: 0644]
templates/shop-isle/assets/images/team2.jpg [new file with mode: 0644]
templates/shop-isle/assets/images/team3.jpg [new file with mode: 0644]
templates/shop-isle/assets/images/team4.jpg [new file with mode: 0644]
templates/shop-isle/assets/js/custom.js [new file with mode: 0644]
templates/shop-isle/assets/js/vendor/jqBootstrapValidation.js [new file with mode: 0644]
templates/shop-isle/assets/js/vendor/jquery.fitvids.js [new file with mode: 0644]
templates/shop-isle/assets/js/vendor/jquery.flexslider-min.js [new file with mode: 0644]
templates/shop-isle/assets/js/vendor/jquery.flexslider.js [new file with mode: 0644]
templates/shop-isle/assets/js/vendor/jquery.magnific-popup.js [new file with mode: 0644]
templates/shop-isle/assets/js/vendor/jquery.magnific-popup.min.js [new file with mode: 0644]
templates/shop-isle/assets/js/vendor/jquery.mb.YTPlayer.js [new file with mode: 0644]
templates/shop-isle/assets/js/vendor/jquery.mb.YTPlayer.min.js [new file with mode: 0644]
templates/shop-isle/assets/js/vendor/owl.carousel.js [new file with mode: 0644]
templates/shop-isle/assets/js/vendor/owl.carousel.min.js [new file with mode: 0644]
templates/shop-isle/assets/js/vendor/smoothscroll.js [new file with mode: 0644]
templates/shop-isle/class-tgm-plugin-activation.php [new file with mode: 0644]
templates/shop-isle/comments.php [new file with mode: 0644]
templates/shop-isle/content-contact.php [new file with mode: 0644]
templates/shop-isle/content-none.php [new file with mode: 0644]
templates/shop-isle/content-page.php [new file with mode: 0644]
templates/shop-isle/content-pagebuilder.php [new file with mode: 0644]
templates/shop-isle/content-single.php [new file with mode: 0644]
templates/shop-isle/content.php [new file with mode: 0644]
templates/shop-isle/footer.php [new file with mode: 0644]
templates/shop-isle/front-page.php [new file with mode: 0644]
templates/shop-isle/functions.php [new file with mode: 0644]
templates/shop-isle/header.php [new file with mode: 0644]
templates/shop-isle/home.php [new file with mode: 0644]
templates/shop-isle/inc/customizer/class/class-shop-isle-pro-palette.php [new file with mode: 0644]
templates/shop-isle/inc/customizer/class/class-shopisle-contact-page-instructions.php [new file with mode: 0644]
templates/shop-isle/inc/customizer/class/class-shopisle-info.php [new file with mode: 0644]
templates/shop-isle/inc/customizer/customize-pro/class-shopisle-customizer-upsell-main.php [new file with mode: 0644]
templates/shop-isle/inc/customizer/customize-pro/class-shopisle-customizer-upsell-section.php [new file with mode: 0644]
templates/shop-isle/inc/customizer/customize-pro/class-shopisle-customizer-upsell-text.php [new file with mode: 0644]
templates/shop-isle/inc/customizer/customize-pro/class-shopisle-customizer-upsell.php [new file with mode: 0644]
templates/shop-isle/inc/customizer/customize-pro/shopisle-upsell-customize-controls.css [new file with mode: 0644]
templates/shop-isle/inc/customizer/customize-pro/shopisle-upsell-customize-controls.js [new file with mode: 0644]
templates/shop-isle/inc/customizer/customizer-repeater/class/customizer-repeater-control.php [new file with mode: 0644]
templates/shop-isle/inc/customizer/customizer-repeater/css/admin-style.css [new file with mode: 0644]
templates/shop-isle/inc/customizer/customizer-repeater/css/eleganticons.css [new file with mode: 0644]
templates/shop-isle/inc/customizer/customizer-repeater/css/iconpicker.min.css [new file with mode: 0644]
templates/shop-isle/inc/customizer/customizer-repeater/functions.php [new file with mode: 0644]
templates/shop-isle/inc/customizer/customizer-repeater/inc/customizer.php [new file with mode: 0644]
templates/shop-isle/inc/customizer/customizer-repeater/js/customizer_repeater.js [new file with mode: 0644]
templates/shop-isle/inc/customizer/customizer-repeater/js/iconpicker-control.js [new file with mode: 0644]
templates/shop-isle/inc/customizer/customizer-repeater/js/iconpicker.js [new file with mode: 0644]
templates/shop-isle/inc/customizer/customizer-repeater/js/iconpicker.min.js [new file with mode: 0644]
templates/shop-isle/inc/customizer/customizer-upsell/class-shopisle-control-upsell.php [new file with mode: 0644]
templates/shop-isle/inc/customizer/customizer-upsell/css/style.css [new file with mode: 0644]
templates/shop-isle/inc/customizer/customizer.php [new file with mode: 0644]
templates/shop-isle/inc/customizer/features/customizer-theme-info.php [new file with mode: 0644]
templates/shop-isle/inc/customizer/features/feature-404-controls.php [new file with mode: 0644]
templates/shop-isle/inc/customizer/features/feature-advanced-controls.php [new file with mode: 0644]
templates/shop-isle/inc/customizer/features/feature-blog-header-controls.php [new file with mode: 0644]
templates/shop-isle/inc/customizer/features/feature-contact-controls.php [new file with mode: 0644]
templates/shop-isle/inc/customizer/features/feature-footer-controls.php [new file with mode: 0644]
templates/shop-isle/inc/customizer/features/feature-frontpage-banners-section-controls.php [new file with mode: 0644]
templates/shop-isle/inc/customizer/features/feature-frontpage-big-title-section-controls.php [new file with mode: 0644]
templates/shop-isle/inc/customizer/features/feature-frontpage-products-section-controls.php [new file with mode: 0644]
templates/shop-isle/inc/customizer/features/feature-frontpage-products-slider-section-controls.php [new file with mode: 0644]
templates/shop-isle/inc/customizer/features/feature-frontpage-video-section-controls.php [new file with mode: 0644]
templates/shop-isle/inc/customizer/features/feature-header-controls.php [new file with mode: 0644]
templates/shop-isle/inc/customizer/features/feature-slider-shortcode.php [new file with mode: 0644]
templates/shop-isle/inc/customizer/functions.php [new file with mode: 0644]
templates/shop-isle/inc/flag-wporg.php [new file with mode: 0644]
templates/shop-isle/inc/frontpage-manager.php [new file with mode: 0644]
templates/shop-isle/inc/functions/extras.php [new file with mode: 0644]
templates/shop-isle/inc/functions/setup.php [new file with mode: 0644]
templates/shop-isle/inc/init.php [new file with mode: 0644]
templates/shop-isle/inc/jetpack/jetpack.php [new file with mode: 0644]
templates/shop-isle/inc/page-builder-extras.php [new file with mode: 0644]
templates/shop-isle/inc/sections/shop_isle_banners_section.php [new file with mode: 0644]
templates/shop-isle/inc/sections/shop_isle_big_title_section.php [new file with mode: 0644]
templates/shop-isle/inc/sections/shop_isle_products_section.php [new file with mode: 0644]
templates/shop-isle/inc/sections/shop_isle_products_slider_section.php [new file with mode: 0644]
templates/shop-isle/inc/sections/shop_isle_slider_section.php [new file with mode: 0644]
templates/shop-isle/inc/sections/shop_isle_video_section.php [new file with mode: 0644]
templates/shop-isle/inc/structure/comments.php [new file with mode: 0644]
templates/shop-isle/inc/structure/footer.php [new file with mode: 0644]
templates/shop-isle/inc/structure/header.php [new file with mode: 0644]
templates/shop-isle/inc/structure/hooks.php [new file with mode: 0644]
templates/shop-isle/inc/structure/page.php [new file with mode: 0644]
templates/shop-isle/inc/structure/post.php [new file with mode: 0644]
templates/shop-isle/inc/structure/template-tags.php [new file with mode: 0644]
templates/shop-isle/inc/woocommerce/css/ajax-layered-nav.css [new file with mode: 0644]
templates/shop-isle/inc/woocommerce/css/ajax-layered-nav.scss [new file with mode: 0644]
templates/shop-isle/inc/woocommerce/css/bookings.css [new file with mode: 0644]
templates/shop-isle/inc/woocommerce/css/bookings.scss [new file with mode: 0644]
templates/shop-isle/inc/woocommerce/css/brands.css [new file with mode: 0644]
templates/shop-isle/inc/woocommerce/css/brands.scss [new file with mode: 0644]
templates/shop-isle/inc/woocommerce/css/composite-products.css [new file with mode: 0644]
templates/shop-isle/inc/woocommerce/css/composite-products.scss [new file with mode: 0644]
templates/shop-isle/inc/woocommerce/css/photography.css [new file with mode: 0644]
templates/shop-isle/inc/woocommerce/css/photography.scss [new file with mode: 0644]
templates/shop-isle/inc/woocommerce/css/product-reviews-pro.css [new file with mode: 0644]
templates/shop-isle/inc/woocommerce/css/product-reviews-pro.scss [new file with mode: 0644]
templates/shop-isle/inc/woocommerce/css/smart-coupons.css [new file with mode: 0644]
templates/shop-isle/inc/woocommerce/css/smart-coupons.scss [new file with mode: 0644]
templates/shop-isle/inc/woocommerce/css/variation-swatches.css [new file with mode: 0644]
templates/shop-isle/inc/woocommerce/css/variation-swatches.scss [new file with mode: 0644]
templates/shop-isle/inc/woocommerce/css/wishlists.css [new file with mode: 0644]
templates/shop-isle/inc/woocommerce/css/wishlists.scss [new file with mode: 0644]
templates/shop-isle/inc/woocommerce/css/woocommerce.css [new file with mode: 0644]
templates/shop-isle/inc/woocommerce/css/woocommerce.scss [new file with mode: 0644]
templates/shop-isle/inc/woocommerce/functions.php [new file with mode: 0644]
templates/shop-isle/inc/woocommerce/hooks.php [new file with mode: 0644]
templates/shop-isle/inc/woocommerce/integrations.php [new file with mode: 0644]
templates/shop-isle/inc/woocommerce/template-tags.php [new file with mode: 0644]
templates/shop-isle/index.php [new file with mode: 0644]
templates/shop-isle/js/customizer.js [new file with mode: 0644]
templates/shop-isle/js/navigation.js [new file with mode: 0644]
templates/shop-isle/js/navigation.min.js [new file with mode: 0644]
templates/shop-isle/js/shop_isle_customizer.js [new file with mode: 0644]
templates/shop-isle/js/skip-link-focus-fix.js [new file with mode: 0644]
templates/shop-isle/js/skip-link-focus-fix.min.js [new file with mode: 0644]
templates/shop-isle/languages/fr_FR.mo [new file with mode: 0644]
templates/shop-isle/languages/fr_FR.po [new file with mode: 0644]
templates/shop-isle/languages/shop-isle.pot [new file with mode: 0644]
templates/shop-isle/loop.php [new file with mode: 0644]
templates/shop-isle/page.php [new file with mode: 0644]
templates/shop-isle/rtl.css [new file with mode: 0644]
templates/shop-isle/screenshot.png [new file with mode: 0644]
templates/shop-isle/search.php [new file with mode: 0644]
templates/shop-isle/sidebar-shop-archive.php [new file with mode: 0644]
templates/shop-isle/sidebar.php [new file with mode: 0644]
templates/shop-isle/single.php [new file with mode: 0644]
templates/shop-isle/style.css [new file with mode: 0644]
templates/shop-isle/template-contact.php [new file with mode: 0644]
templates/shop-isle/template-fullwidth-no-title.php [new file with mode: 0644]
templates/shop-isle/template-fullwidth.php [new file with mode: 0644]
templates/shop-isle/template-pagebuilder-blank.php [new file with mode: 0644]
templates/shop-isle/template-pagebuilder-full-width.php [new file with mode: 0644]
templates/shop-isle/wpml-config.xml [new file with mode: 0644]

index b63b7ec..2798040 100644 (file)
@@ -1,5 +1,5 @@
 -- *\r
--- * データ登録スクリプト「Eコマース携帯電話ショップデモ1」\r
+-- * データ登録スクリプト「Eコマースショップデモ1」\r
 -- *\r
 -- * PHP versions 5\r
 -- *\r
@@ -7,12 +7,12 @@
 -- *\r
 -- * @package    Magic3 Framework\r
 -- * @author     平田直毅(Naoki Hirata) <naoki@aplo.co.jp>\r
--- * @copyright  Copyright 2006-2014 Magic3 Project.\r
+-- * @copyright  Copyright 2006-2017 Magic3 Project.\r
 -- * @license    http://www.gnu.org/copyleft/gpl.html  GPL License\r
 -- * @version    SVN: $Id$\r
 -- * @link       http://www.magic3.org\r
 -- *\r
--- [Eコマース携帯電話ショップデモ1]\r
+-- [Eコマースショップデモ1]\r
 -- Eコマース主軸型サイト。\r
 -- Eコマース機能にアクセスしやすいようにカスタマイズした管理画面\r
 \r
@@ -150,7 +150,7 @@ INSERT INTO content (cn_type, cn_id, cn_language_id, cn_name,              cn_de
 ('', 2,     'ja',           '個人情報保護方針',   '個人情報保護方針',        '<div class="ec_commno">\r\n<table>\r\n    <tbody>\r\n        <tr>\r\n            <td>「○○○○○」では利用者の皆様が安心してご利用頂けるよう最低限の個人情報を提供頂いております。<br />\r\n            「○○○○○」ではご提供頂いた個人情報の保護について最大限の注意を払っています。 <br />\r\n            「○○○○○」の個人情報保護についての考え方は以下の通りです。<br />\r\n            <br />\r\n            ■   弊社では会員により登録された個人及び団体や法人の情報については、<br />\r\n            「○○○○○」 において最先端の機能やサービスを開発・提供するためにのみ利用し、<br />\r\n            会員個人情報の保護に細心の注意を払うものとします。 <br />\r\n            ■   このプライバシーポリシーの適用範囲は、「○○○○○」 で提供されるサービスのみであります。<br />\r\n            (範囲は下記、第1項に規定)<br />\r\n            ■   本規約に明記された場合を除き、目的以外の利用は致しません。(目的は下記、第2項に規定)<br />\r\n            ■   本規約に明記された場合を除き、第三者への開示は致しません。(管理は下記、第2項に規定)<br />\r\n            ■   その他本規約に規定された方法での適切な管理を定期的に行います。<br />\r\n            ■   「○○○○○」は利用者の許可なくして、プライバシーポリシーの変更をすることができます。<br />\r\n            「○○○○○」が、個人情報取得内容の変更・利用方法の変更・開示内容の変更等をした際には、<br />\r\n            利用者がその内容を知ることができるよう、弊社ホームページのお知らせに公開し、<br />\r\n            このプライバシーポリシーに反映することにより通知致します。<br />\r\n            <br />\r\n            1.「○○○○○」のプライバシーポリシーについての考え方が適用される範囲 <br />\r\n            ■   「○○○○○」のプライバシーポリシーについての考え方は、<br />\r\n            会員が「○○○○○」のサービスを利用される場合に適用されます。 <br />\r\n            ■   会員が「○○○○○」のサービスを利用される際に収集される個人情報は、 <br />\r\n            「○○○○○」の個人情報保護についての考え方に従って管理されます。 <br />\r\n            ■   「○○○○○」の個人情報保護考え方は、 「○○○○○」が直接提供される<br />\r\n            サービスのみであり、リンク等でつながった他の組織・会社等のサービスは適用範囲外となります。<br />\r\n            ■  「○○○○○」のサービスのご利用は、利用者の責任において行われるものとします。<br />\r\n            ■   弊社のホームページ及び当ホームページにリンクが設定されている他のホームページから<br />\r\n            取得された各種情報の利用によって生じたあらゆる損害に関して、「○○○○○」は<br />\r\n            一切の責任を負いません。<br />\r\n            <br />\r\n            2.「○○○○○」の個人情報の収集と利用  <br />\r\n            「○○○○○」では会員の皆様に最先端の機能やサービスを開発・提供するために、<br />\r\n            会員について幾つかの個人情報が必要となります。 <br />\r\n            ■   ショップのID・パスワードは利用者ご自身の責任において管理をお願い致します。<br />\r\n            - パスワードは定期的に変更し、他人が類推しやすいような名前や生年月日、<br />\r\n            電話番号など は避けることをお勧め致します。<br />\r\n            - また、知人・友人などであっても開示・貸与・譲渡しないで下さい。<br />\r\n            - お問合せのメールや弊社のホームページ上の Q&amp;Aにはパスワードを書き込まないようお願い致します。<br />\r\n            ■   収集された個人情報は「○○○○○」のサービスを提供するために必要な限度においてのみ利用し、<br />\r\n            次の場合を除き、いかなる第三者にも提供致しません。 <br />\r\n            ■   会員の同意がある場合 <br />\r\n            - 会員から個人情報の利用に関する同意を求めるための電子メールを送付する場合 <br />\r\n            - あらかじめ弊社と機密保持契約を締結している企業(例えば、業務委託先)<br />\r\n            等に必要な限度において開示する場合 <br />\r\n            - 会員に対し、弊社、または、弊社の業務提携先等の広告宣伝のための電子メール、<br />\r\n            ダイレクトメールを送付する場合 <br />\r\n            - 「○○○○○」における会員の行為が、「○○○○○」利用規約や方針・告知、<br />\r\n            「○○○○○」の十戒等に違反している場合に、他の会員、第三者または弊社の権利、<br />\r\n            財産を保護するために必要と認められる場合 <br />\r\n            - 裁判所、行政機関の命令等、その他法律の定めに従って個人情報の開示を求められた場合、<br />\r\n            または犯罪の捜査、第三 者に対する権利侵害の排除若しくはその予防、<br />\r\n            その他これに準ずる必要性ある場合 <br />\r\n            ■   会員は、弊社に対し、個人情報を上に定める方法で利用することにつきあらかじめ同意するものとし、<br />\r\n            異議を述べないものとします。<br />\r\n            ■   また、「○○○○○」では次の様な場合、弊社のビジネスパートナーと会員の個人情報を<br />\r\n            共有する事があります。 <br />\r\n            - 会員向け特別サービスなど、事業的な理由がある場合。<br />\r\n            この場合、情報を提供する前に会員の同意を求め、同意無しでは提供致しません。 <br />\r\n            - 統計資料作成、市場調査、データ分析などを行う場合。<br />\r\n            この場合、特定個人を判別することができない様に加工された情報だけを提供致します。 <br />\r\n            <br />\r\n            3. 問い合わせ先  <br />\r\n            ここに示した個人情報についての考え方についてご不明な点などございましたら次の<br />\r\n            アドレスまで電子メールでお問い合わせください。<br />\r\n            <br />\r\n            <br />\r\n            個人情報管理担当 : ●●●● (<a href="mailto:●●●@●●●.com">●●@●●.com</a>)</td>\r\n        </tr>\r\n    </tbody>\r\n</table>\r\n</div>', true,  '',       0, now()),\r
 ('', 3,     'ja',           '特定商取引に関する法律に基づく表示',           '特定商取引に関する法律に基づく表示', '<div class="ec_common">\r\n<table>\r\n    <tbody>\r\n        <tr>\r\n            <th colspan="2">特定商取引に関する法律に基づく表示</th>\r\n        </tr>\r\n        <tr>\r\n            <th>運営統括責任者</th>\r\n            <td>[#CUSTOM_KEY_001#]  ○○○ ○○○</td>\r\n        </tr>\r\n        <tr>\r\n            <th>所在地</th>\r\n            <td>[#CUSTOM_KEY_002#]</td>\r\n        </tr>\r\n        <tr>\r\n            <th>電話番号</th>\r\n            <td>\r\n            <p>11-11-1111</p>\r\n            </td>\r\n        </tr>\r\n        <tr>\r\n            <th>メールアドレス</th>\r\n            <td>\r\n            <p><a href="mailto:info@example.com">xxxx@xxxx.com<br />\r\n            </a></p>\r\n            </td>\r\n        </tr>\r\n        <tr>\r\n            <th>屋号</th>\r\n            <td>\r\n            <p>○○○○○</p>\r\n            </td>\r\n        </tr>\r\n        <tr>\r\n            <th>商品代金以外の<br>必要料金</th>\r\n            <td>\r\n            <p>- 送料「一律<font color="#ff0000">840円</font>(但し、北海道・沖縄は<font color="#ff0000">1,260円</font>)」</p>\r\n            <p>- コンビニ振込でご購入の際の振込手数料。</p>\r\n            <p>- 代金引換でご購入の際の代引手数料。</p>\r\n            </td>\r\n        </tr>\r\n        <tr>\r\n            <th>申し込みの有効期限</th>\r\n            <td>\r\n            <p>ご注文日を含め5日間</p>\r\n            </td>\r\n        </tr>\r\n        <tr>\r\n            <th>販売数量</th>\r\n            <td>\r\n            <p>指定はありません。在庫切れ、配送遅れの際はご連絡差し上げます。</p>\r\n            </td>\r\n        </tr>\r\n        <tr>\r\n            <th>お届けについて</th>\r\n            <td>\r\n            <p>ご注文日から、4日~1週間程度のお届けになります。休業日を挟む場合は、少しお時間をいただくことがございます。ご了承下さいませ。</p>\r\n            </td>\r\n        </tr>\r\n        <tr>\r\n            <th>キャンセルについて</th>\r\n            <td>\r\n            <p>商品を発送してからのキャンセルは対応いたしかねます。<br />\r\n            返品につきましては別途お問い合わせください。</p>\r\n            </td>\r\n        </tr>\r\n        <tr>\r\n            <th colspan="2">お支払い方法について</th>\r\n        </tr>\r\n        <tr>\r\n            <th>お支払方法</th>\r\n            <td>\r\n            <p><strong>●郵便振込●(前払い)</strong><br />\r\n            ※振込手数料はお客様負担です。<br />\r\n            ※入金確認後、翌発送日に発送いたします。<br />\r\n            <br />\r\n            【口座番号】XXXX-XXX-XXXX-XXX<br />\r\n            【口座名義】○○○○○</p>\r\n            <p><strong>●代金引換●(後払い)</strong><br />\r\n            荷物と引き換えに代金を配達員へお支払いいただくシステムです。<br />\r\n            【代引手数料】全国一律<font color="#ff0000">420円</font><br />\r\n            (お買い上げ金額が21,000円以上の場合は無料です。)</p>\r\n            <p><strong>●クレジットカード●</strong><br />\r\n            ※下記のカードがご利用いただけます。<br />\r\n            (1回払いのみとさせていただきます、ご了承下さいませ)</p>\r\n            <p><img src="[#M3_ROOT_URL#]/resource/image/sample/shop/credit_card.gif" alt="クレジットカード画像" /><br />\r\n            VISA、MASTER、DC</p>\r\n            <p>ご注文の際に「カードの種類」「カードNo.」「カードの有効期限」をご明記下さい。</p>\r\n            <p><strong>●コンビニ払い●(後払い)</strong><br />\r\n            ※振込手数料は無料です。<br />\r\n            ※購入金額が、30,000円を越える場合は、コンビニ決済をご利用頂けません。<br />\r\n            他お支払い方法をご利用下さい。</p>\r\n            <p><img src="[#M3_ROOT_URL#]/resource/image/sample/shop/convenience.gif" alt="コンビニ画像" /><br />\r\n            ローソン・ファミリーマート・セブンイレブン<br />\r\n            セイコーマート</p>\r\n            <p>【コンビニ・クレジット払いに関する注意事項】</p>\r\n            <p><a href="http://www.example.com/" target="_blank">http://www.xxxx.com</a></p>\r\n            </td>\r\n        </tr>\r\n        <tr>\r\n            <th>お支払い期限</th>\r\n            <td>\r\n            <p>【前払い】ご注文後<font color="#ff0000">5日以内</font>にお願いします。<br />\r\n            ※5日経っても入金が確認できない場合はキャンセル扱いとさせていただきます。</p>\r\n            <p>【後払い】商品到着後<font color="#ff0000">8日以内</font>にお願いします。</p>\r\n            <p>【代引】商品お届け時に、配送員に商品確認後、代金をお支払い下さい。</p>\r\n            </td>\r\n        </tr>\r\n        <tr>\r\n            <th colspan="2">送料について</th>\r\n        </tr>\r\n        <tr>\r\n            <th>送料</th>\r\n            <td>\r\n            <p>全国一律<font color="#ff0000">840円</font></p>\r\n            <p>但し、北海道・沖縄は<font color="#ff0000">1,260円</font></p>\r\n            </td>\r\n        </tr>\r\n        <tr>\r\n            <th colspan="2">返品について</th>\r\n        </tr>\r\n        <tr>\r\n            <th>不良品</th>\r\n            <td>\r\n            <p>商品には万全を期しておりますが、万一不都合がございましたら、商品到着後8日以内に弊社宛にご返送ください。早急にお取り替えいたします。<br />\r\n            <font color="#ff0000">※返品前に必ずメール、もしくはお問い合わせフォームにてご連絡ください。</font></p>\r\n            <p>【返送先】<br />\r\n            [#CUSTOM_KEY_002#]<br />\r\n            XXXX 係</p>\r\n            </td>\r\n        </tr>\r\n        <tr>\r\n            <th>返品期限</th>\r\n            <td>\r\n            <p>商品到着後8日以内<br />\r\n            <font color="#ff0000">※返品前に必ずメール、もしくはお問い合わせフォームにてご連絡ください。</font></p>\r\n            </td>\r\n        </tr>\r\n        <tr>\r\n            <th>返品送料</th>\r\n            <td>\r\n            <p>不良品交換、誤品配送交換の場合、弊社着払いにて対応いたします。<br />\r\n            お客様都合での返品につきましては送料をご負担願います。</p>\r\n            </td>\r\n        </tr>\r\n    </tbody>\r\n</table>\r\n</div>',              false,   '',               0, now()),\r
 ('', 4,     'ja',           '会員規約',   '会員規約', '<p>xxxx年x月x日<br />\r\n<br />\r\n<br />\r\n[#CUSTOM_KEY_001#](以下「当社」という)は、当社が運営する「○○○○○」の利用について、以下のとおり本規約を定めます。<br />\r\n<br />\r\n<br />\r\n<br />\r\n第1条(定義)<br />\r\n<br />\r\n本規約においては、次の各号記載の用語はそれぞれ次の意味で使用します。<br />\r\n<br />\r\n「○○○○○」とは、商品又はサービスの提供情報掲載、オンラインによる商品又はサービスの提供機能を持ったシステムで、当社が本規約に基づいてインターネット上で運営するサイトをいいます。<br />\r\n<br />\r\n「利用者」とは、(http://www.example.com/)にアクセスする者をいいます。<br />\r\n<br />\r\n「本サービス」とは、当社が本規約に基づき(http://www.○○○.com/)を利用する者に対し、提供するサービスをいい、サービスの内容、種類については、当社の独自の判断により随時変更、増減が行なわれるものとし、その通知は随時、(http://www.○○○.com/)上での表示、又は電子メールその他の通信手段を通じて行なわれるものとします。 <br />\r\n<br />\r\n<br />\r\n<br />\r\n第2条(規約の範囲及び変更) <br />\r\n<br />\r\n<br />\r\n<br />\r\n1 本規約は、本サービスの利用に関し、当社及び利用者に適用するものとし、利用者は(http://www.○○○.com/)を利用するにあたり、本規約を誠実に遵守するものとします。<br />\r\n<br />\r\n2 当社が別途(http://www.○○○.com/)上における掲示またはその他の方法により規定する個別規定及び当社が随時利用者に対し通知する追加規定は、本規約の一部を構成します。本規約と個別規定及び追加規定が異なる場合には、個別規定及び追加規定が優先するものとします。<br />\r\n<br />\r\n3 当社は利用者の承諾なく、当社の独自の判断により、本規約を変更する事があります。この場合、(http://www.○○○.com/)が提供するサービスの利用条件は変更後の利用規約に基づくものとします。当該変更は、予め当社に通知したアドレス宛の電子メール、(http: //www.○○○.com/)上の一般掲示又はその他当社が適当と認めるその他の方法により通知した時点より効力を発するものとします。<br />\r\n<br />\r\n4 規約の変更に伴い、利用者に不利益、損害が発生した場合、当社はその責任を一切負わないものとします。<br />\r\n<br />\r\n&nbsp;<br />\r\n<br />\r\n<br />\r\n<br />\r\n第3条(利用者の地位及び制限事項) <br />\r\n<br />\r\n<br />\r\n<br />\r\n1 利用者の地位<br />\r\n<br />\r\n(http://www.○○○.com/)において利用者は、提供される本サービスのいずれかを享受する時点において(ここにいう享受には、情報の閲覧も含みます)、本規約に合意したものとみなされ、同時に(http://www.○○○.com/)における利用者としての地位を得るものとします。 <br />\r\n<br />\r\n2 利用者に対する制限事項<br />\r\n<br />\r\n利用者は、以下に掲げる行為は行ってはならないものとします。<br />\r\n<br />\r\n(1) (http://www.○○○.com/)が指定した方法以外の方法によって、(http://www.○○○.com/)を利用する行為。<br />\r\n<br />\r\n(2) 他者になりすまして本サービスを利用する行為。 <br />\r\n<br />\r\n(3) (http://www.○○○.com/)認める以外の方法で、本サービスに関連するデータのリンクを、他のデータ等へ指定する行為。 <br />\r\n<br />\r\n(4) (http://www.○○○.com/)を利用するコンピュータに保存されているデータへ不正アクセスする、又はこれを破壊もしくは破壊するおそれのある行為。<br />\r\n<br />\r\n(5) 本サービスの運営を妨害する行為。 <br />\r\n<br />\r\n(6) 本サービスを使用した営業活動並びに営利を目的とした利用及びその準備を目的とした利用。但し、当社が別 途承認した場合には、この限りではありません。 <br />\r\n<br />\r\n(7) 他の利用者の個人情報を収集したり、蓄積すること、又はこれらの行為をしようとする事。<br />\r\n<br />\r\n(8) 公序良俗に反する行為及びその他国内外の法令に反する行為。<br />\r\n<br />\r\n&nbsp;<br />\r\n<br />\r\n<br />\r\n<br />\r\n&nbsp;<br />\r\n<br />\r\n<br />\r\n<br />\r\n第4条(本サービスの中断、停止) <br />\r\n<br />\r\n<br />\r\n<br />\r\n1 当社は以下の何れかの事由に該当する場合、当社の独自の判断により、利用者に事前に通 知することなく本サービスの一部もしくは全部を一時中断、又は停止することがあります。<br />\r\n<br />\r\n(1) 本サービスのための装置、システムの保守点検、更新を定期的にまたは緊急に行う場合。<br />\r\n<br />\r\n(2) 火災、停電、天災などの不可抗力により、本サービスの提供が困難な場合。<br />\r\n<br />\r\n(3) 第一種電気通信事業者の任務が提供されない場合。 <br />\r\n<br />\r\n(4) その他、運用上あるいは技術上当社が本サービスの一時中断、もしくは停止が必要であるか、又は不測の事態により、当社が本サービスの提供が困難と判断した場合。 <br />\r\n<br />\r\n<br />\r\n2 当社は、本サービスの提供の一時中断、停止等の発生により、利用者または第三者が被ったいかなる不利益、損害について、理由を問わず一切の責任を負わないものとします。 <br />\r\n<br />\r\n<br />\r\n<br />\r\n第5条(リンクの扱いについて) <br />\r\n<br />\r\n<br />\r\n<br />\r\n「○○○○○」が提供する各種サービスの中から他のサイトへリンクをしたり、第三者が他のサイトへのリンクを提供している場合、当社は(http: //www.○○○.com/)外のサイトについては、何ら責任は負いません。この場合、当該サイトに包括され、また当該サイト上で利用が可能となっているコンテンツ、広告、商品、サービスなどについても同様に一切責任を負いません。 当社は、それらのコンテンツ、広告、商品、サービスなどに起因または関連して生じた一切の損害についても賠償する責任は負いません。 <br />\r\n<br />\r\n<br />\r\n<br />\r\n第6条(著作権) <br />\r\n<br />\r\n<br />\r\n<br />\r\n1 利用者は、権利者の承諾を得ないで、いかなる方法においても(http://www.○○○.com/)を通じて提供されるいかなる情報も、著作権法で定める利用者個人の私的使用の範囲を超える複製、販売、出版、その他の用途に使用することはできないものとします。<br />\r\n<br />\r\n2 利用者は、権利者の承諾を得ないで、いかなる方法においても、第三者をして、(http://www.○○○.com/)を通じて提供されるいかなる情報も使用させたり、公開させたりすることはできないものとします。 <br />\r\n<br />\r\n3 本条の規約に違反して問題が発生した場合、利用者は、自己の責任と費用において係る問題を解決するとともに、当社に何らの迷惑又は損害を与えないものとします。<br />\r\n<br />\r\n<br />\r\n<br />\r\n<br />\r\n<br />\r\n第7条(賠償責任) <br />\r\n<br />\r\n<br />\r\n<br />\r\n1 本サービスの提供、遅滞、変更、中断、中止、停止、もしくは廃止、提供される情報等の流出もしくは焼失等、又はその他本サービスに関連して発生した利用者又は第三者の損害について、当社は一切の責任を負わないものとします。但し、本サービスを通じて登録した個人情報については別途定める「個人情報の取扱について」に準じます。 <br />\r\n<br />\r\n2 利用者が本サービス利用によって第三者に対して損害を与えた場合、利用者は自己の責任と費用をもって解決し、当社に損害を与えることのないものとします。利用者が本規約に反した行為、又は不正もしくは違法な行為によって当社に損害を与えた場合、当社は当該利用者に対して相応の損害賠償の請求ができるものとします。<br />\r\n<br />\r\n<br />\r\n<br />\r\n<br />\r\n<br />\r\n第8条(プライバシー・ポリシー) <br />\r\n<br />\r\n<br />\r\n<br />\r\n利用者による本サービスの利用に関連して当社が知り得る利用者の情報の管理および取扱いについては、当社が別途定めるプライバシー・ポリシーによるものとします。 <br />\r\n<br />\r\n<br />\r\n<br />\r\n第9条(準拠法) <br />\r\n<br />\r\n本規約の成立、効力、履行及び解釈に関しては日本国法が適用されるものとします。 <br />\r\n<br />\r\n<br />\r\n<br />\r\n第10条(合意管轄) <br />\r\n<br />\r\n<br />\r\n本規約に関して紛争が生じた場合、当社本店所在地を管轄する地方裁判所を第一審の専属的合意管轄裁判所とします。</p>',              false,  'agreement',                0, now()),\r
-('', 5,     'ja',           'ようこそ',   'ようこそ', '<p>ようこそ、Magic3携帯ショップデモサイトへ。</p><p>このサイトはMagic3を使って、Eコマースシステムを作ったデモサイトです。</p><p>&nbsp;</p>',              false, '',                0, now()),\r
+('', 5,     'ja',           'ようこそ',   'ようこそ', '<p>ようこそ、Magic3ショップデモサイトへ。</p><p>このサイトはMagic3を使って、Eコマースシステムを作ったデモサイトです。</p><p>&nbsp;</p>',              false, '',                0, now()),\r
 ('ec_menu', 1, 'ja', 'docomo',              '',         '<p align="center"><img width="300" height="50" alt="" src="[#M3_ROOT_URL#]/resource/image/sample/product_head/dc1.jpg" /></p>',                        false, '', 0, now()),\r
 ('ec_menu', 2, 'ja', 'au',              '',         '<p align="center"><img width="300" height="50" alt="" src="[#M3_ROOT_URL#]/resource/image/sample/product_head/au1.jpg" /></p>',                        false, '', 0, now());\r
 \r
diff --git a/include/sql/sample/ec_demo2.sql b/include/sql/sample/ec_demo2.sql
new file mode 100644 (file)
index 0000000..a522c02
--- /dev/null
@@ -0,0 +1,404 @@
+-- *
+-- * データ登録スクリプト「Eコマースショップデモ2」
+-- *
+-- * PHP versions 5
+-- *
+-- * LICENSE: This source file is licensed under the terms of the GNU General Public License.
+-- *
+-- * @package    Magic3 Framework
+-- * @author     平田直毅(Naoki Hirata) <naoki@aplo.co.jp>
+-- * @copyright  Copyright 2006-2017 Magic3 Project.
+-- * @license    http://www.gnu.org/copyleft/gpl.html  GPL License
+-- * @version    SVN: $Id$
+-- * @link       http://www.magic3.org
+-- *
+-- [Eコマースショップデモ2]
+-- Eコマース主軸型サイト。
+-- Eコマース機能にアクセスしやすいようにカスタマイズした管理画面
+-- WordPressテンプレートテスト用
+
+-- システム設定
+UPDATE _system_config SET sc_value = 'shop-isle' WHERE sc_id = 'default_template';
+
+-- サイト定義マスター
+DELETE FROM _site_def WHERE sd_id = 'site_name';
+DELETE FROM _site_def WHERE sd_id = 'site_slogan';
+DELETE FROM _site_def WHERE sd_id = 'head_title';
+INSERT INTO _site_def
+(sd_id,                  sd_language_id, sd_value,         sd_name) VALUES
+('site_name',            'ja',           'Magic3デモ',               'サイト名'),
+('site_slogan',          'ja',           'WordPressテンプレートテスト中',               'スローガン'),
+('head_title',           'ja',           'Magic3デモ',               'HTMLヘッダtitle');
+
+-- 変換文字列
+DELETE FROM _key_value;
+INSERT INTO _key_value
+(kv_id,               kv_name,       kv_value, kv_group_id) VALUES
+('CUSTOM_KEY_001',      '会社名',      '', 'user'),
+('CUSTOM_KEY_002',      '所在地',      '', 'user'),
+('CUSTOM_KEY_003',      '設立',      '', 'user'),
+('CUSTOM_KEY_004',      '代表者',      '', 'user'),
+('CUSTOM_KEY_005',      '事業内容',      '', 'user'),
+('CUSTOM_KEY_006',      '主要取引銀行',      '', 'user'),
+('CUSTOM_KEY_007',      '主要取引先',      '', 'user'),
+('CUSTOM_KEY_008',      'ショップ名',      '', 'user'),
+('CUSTOM_KEY_009',      'ショップオーナー名',      '', 'user'),
+('CUSTOM_KEY_010',      'ショップ住所',      '', 'user'),
+('CUSTOM_KEY_011',      'ショップ電話番号',      '', 'user'),
+('CUSTOM_KEY_012',      'ショップメールアドレス',      '', 'user');
+
+-- 管理画面ページデータ(デフォルトを変更)
+UPDATE _page_id SET pg_default_sub_id = 'front' WHERE pg_id = 'index' AND pg_type = 0;
+-- スマートフォン,携帯のアクセスポイントを隠す
+UPDATE _page_id SET pg_active = false WHERE pg_id = 's_index' AND pg_type = 0;
+UPDATE _page_id SET pg_active = false WHERE pg_id = 'm_index' AND pg_type = 0;
+-- 必要なページのみ表示
+DELETE FROM _page_id WHERE pg_type = 1 AND pg_priority < 100;
+INSERT INTO _page_id 
+(pg_id,          pg_type,      pg_name,                            pg_description,                       pg_priority, pg_active, pg_visible, pg_editable) VALUES
+('front',        1,            'トップ画面',                       'トップ画面用',                       0,           true,      true,       true),
+('content',      1,            'コンテンツ',                       'コンテンツ画面用',                   1,           true,      true,       false),
+('shop',         1,            'ECショップ',                       'ECショップ画面用',                   2,           true,      true,       true),
+('shop_safe',    1,            'ECショップ(セキュリティ保護)',     'ECショップ(セキュリティ保護)画面用', 3,           true,      true,       true),
+('bbs',          1,            '掲示板',                           '掲示板画面用',                       4,           false,      true,       true),
+('blog',         1,            'ブログ',                           'ブログ画面用',                       5,           false,      true,       true),
+('wiki',         1,            'Wiki',                             'Wiki画面用',                         6,           false,      true,       true),
+('calendar',     1,            'カレンダー',                       'カレンダー画面用',                   7,           false,      true,       true),
+('event',        1,            'イベント情報',                     'イベント情報画面用',                 8,           false,      true,       true),
+('photo',        1,            'フォトギャラリー',                 'フォトギャラリー画面用',             9,           false,      true,       true),
+('contact',      1,            'お問い合わせ',                     'お問い合わせ画面用',                 10,          true,      true,       true),
+('contact2',     1,            'お問い合わせ2',                    'お問い合わせ画面用',                 11,          false,      true,       true),
+('reguser',      1,            'ユーザ登録',                       'ユーザ登録画面用',                   12,          false,      true,       true),
+('reserve',      1,            '予約',                             '予約画面用',                         19,          false,      true,       true),
+('member',       1,            '会員',                             '会員画面用',                         20,          true,      true,       true),
+('search',       1,            '検索',                             '検索画面用',                         21,          true,      true,       true),
+('user',         1,            'ユーザコンテンツ',                 'ユーザ作成コンテンツ用',             50,          false,      true,       true);
+
+-- 管理画面メニューデータ
+DELETE FROM _nav_item WHERE ni_nav_id = 'admin_menu';
+DELETE FROM _nav_item WHERE ni_nav_id = 'admin_menu.en';
+INSERT INTO _nav_item
+(ni_id, ni_parent_id, ni_index, ni_nav_id,    ni_task_id,        ni_view_control, ni_param, ni_name,                ni_help_title,          ni_help_body) VALUES
+(100,   0,            0,        'admin_menu', '_page',           0,               '',       '画面管理',             '画面管理',             'Webサイトのデザインや機能を管理します。'),
+(101,   100,          0,        'admin_menu', 'pagedef',         0,               '',       'PC画面',         'PC画面編集',         'PC用Webサイトの画面を作成します。'),
+(102,   100,          1,        'admin_menu', 'pagedef_smartphone',  0,           '',       'スマートフォン画面', 'スマートフォン画面編集',       'スマートフォン用Webサイトの画面を作成します。'),
+(103,   100,          2,        'admin_menu', 'pagedef_mobile',  0,               '',       '携帯画面',       '携帯画面編集',       '携帯用Webサイトの画面を作成します。'),
+(104,   100,          3,        'admin_menu', '_104',            3,               '',       'セパレータ',                 '',                     ''),
+(105,   100,          4,        'admin_menu', 'widgetlist',      0,               '',       'ウィジェット管理',     'ウィジェット管理',     'ウィジェットの管理を行います。'),
+(106,   100,          5,        'admin_menu', 'templist',        0,               '',       'テンプレート管理',     'テンプレート管理',     'テンプレートの管理を行います。'),
+(107,   100,          6,        'admin_menu', 'smenudef',        0,               '',       'メニュー管理', 'メニュー管理', 'メニュー定義を管理します。'),
+(199,   0,            1,        'admin_menu', '_199',            1,               '',       '改行',                 '',                     ''),
+(200,   0,            2,        'admin_menu', '_login',          0,               '',       'システム運用',         '',                     ''),
+(201,   200,          0,        'admin_menu', 'userlist',        0,               '',       'ユーザ管理',           'ユーザ管理',           'ログイン可能なユーザを管理します。'),
+(202,   200,          1,        'admin_menu', 'opelog',     0,               '',       '運用状況', '運用状況', 'サイトの運用状況を表示します。'),
+(299,   0,            3,        'admin_menu', '_299',            1,               '',       '改行',                 '',                     ''),
+(300,   0,            4,        'admin_menu', '_config',         0,               '',       'システム管理',         '',                     ''),
+(301,   300,          0,        'admin_menu', 'configsite',      0,               '',       '基本情報',             '基本情報',             'サイト運営に必要な情報を設定します。'),
+(302,   300,          1,        'admin_menu', 'configsys',       0,               '',       'システム情報',         'システム情報',         'システム全体の設定、運用状況を管理します。'),
+(303,   300,          2,        'admin_menu', 'mainte',          0,               '',       'メンテナンス', 'メンテナンス', 'ファイルやDBなどのメンテナンスを行います。'),
+(399,   0,            5,        'admin_menu', '_399',            1,               '',       '改行',                 '',                     ''),
+(500,   0,            6,        'admin_menu', '_daily',          0,               '',           '日常処理', '', ''),
+(501,   500,          0,        'admin_menu', 'configwidget_ec_main',       0,               'task=order', '受注管理', '受注管理', '受注管理を行います。'),
+(502,   500,          1,        'admin_menu', 'configwidget_ec_main',       0,               'task=product', '商品管理', '商品管理', '商品管理を行います。'),
+(503,   500,          2,        'admin_menu', 'configwidget_ec_main',       0,               'task=member',   '会員管理', '会員管理', '会員情報を管理します。');
+
+-- 画面定義
+DELETE FROM _page_def WHERE pd_id = 'index';
+INSERT INTO _page_def
+(pd_id,   pd_sub_id,   pd_position_id, pd_index, pd_widget_id,            pd_config_id, pd_config_name,       pd_title,    pd_menu_id,  pd_title_visible, pd_update_dt) VALUES
+('index', '',          'user3',        2,        'default_menu',          1,            'メインメニュー設定', '',          'main_menu', true,             now()),
+('index', '',          'left',         6,        'ec_search_box',         0,            '',                   '',          '',          true,             now()),
+('index', '',          'left',         9,        'ec_menu',               0,            '',                   '',          '',          true,             now()),
+('index', '',          'right',        3,        'ec_login',          0,            '',                   '',          '',          true,             now()),
+('index', '',          'right',        5,       'ec_cart',           0,            '',                   '',          '',          true,             now()),
+('index', '',     'right',        7,        'ec_product_random', 0,            '',                   '',          '',          true,             now()),
+('index', 'front',     'main',         3,        'static_content',        1,            'ようこそ',           '',          '',          true,             now()),
+('index', 'front',     'main',         6,        'ec_product_display2',   1,            '新着',               '新着',      '',          true,             now()),
+('index', 'front',     'main',         9,        'ec_product_display2',   2,            'おすすめ',           'おすすめ',  '',          true,             now()),
+('index', 'content',   'main',         6,        'default_content',       0,            '',                   '',          '',          false,             now()),
+('index', 'shop',      'main',         1,        'ec_product_slide',      0,            '',                   '',          '',          false,            now()),
+('index', 'shop',      'main',         3,        'ec_product_header',     0,            '',                   '',          '',          false,            now()),
+('index', 'shop',      'main',         12,       'ec_disp',               0,            '',                   '',          '',          false,             now()),
+('index', 'shop_safe', 'main',         12,       'ec_main',               0,            '',                   '',          '',          false,             now()),
+('index', 'search',    'main',         3,        'custom_search',         1,            '',                   '',          '',          false,             now()),
+('index', 'contact',   'main',         3,        'contactus',             0,            '',                   '',          '',          false,             now());
+
+-- 新メニュー対応
+TRUNCATE TABLE _menu_def;
+INSERT INTO _menu_def
+(md_id, md_index, md_menu_id,  md_name,                  md_type, md_link_url,                             md_param,     md_update_dt) VALUES
+(1,     1,        'main_menu', 'ホーム',                 0,       '[#M3_ROOT_URL#]/',                      '',           now()),
+(2,     2,        'main_menu', '通信販売法に基づく表記', 0,       '[#M3_ROOT_URL#]/index.php?contentid=3', '',       now()),
+(3,     3,        'main_menu', '個人情報保護方針',       0,       '[#M3_ROOT_URL#]/index.php?contentid=2', '',            now()),
+(4,     4,        'main_menu', '会社情報',               0,       '[#M3_ROOT_URL#]/index.php?contentid=1', '',            now()),
+(5,     5,        'main_menu', 'お問い合わせ',           0,       '[#M3_ROOT_URL#]/index.php?sub=contact', '',            now()),
+(6,     6,        'ec_menu',   'ドコモ',                 1,       '',                                      'category=1&pcontent=1', now()),
+(7,     7,        'ec_menu',   'au',                     1,       '',                                      'category=2&pcontent=2', now());
+
+-- ウィジェットパラメータ
+DELETE FROM _widget_param WHERE wp_id = 'ec_product_display2';
+INSERT INTO _widget_param
+(wp_id,                 wp_config_id, wp_param,                                                                                                wp_create_dt) VALUES 
+('ec_product_display2', 1,            'O:\8:"stdClass":12:{s:4:"name";s:16:"名称未設定1";s:11:"detailLabel";s:21:"もっと詳しく...";s:8:"rowCount";s:1:"2";s:11:"columnCount";s:1:"3";s:7:"imgSize";s:16:"standard-product";s:11:"nameVisible";i:1;s:11:"codeVisible";i:0;s:12:"priceVisible";i:1;s:11:"descVisible";i:0;s:10:"imgVisible";i:1;s:13:"detailVisible";i:0;s:12:"productItems";s:5:"2,3,4";}', now()),
+('ec_product_display2', 2,            'O:\8:"stdClass":12:{s:4:"name";s:16:"名称未設定2";s:11:"detailLabel";s:21:"もっと詳しく...";s:8:"rowCount";s:1:"2";s:11:"columnCount";s:1:"3";s:7:"imgSize";s:16:"standard-product";s:11:"nameVisible";i:1;s:11:"codeVisible";i:0;s:12:"priceVisible";i:1;s:11:"descVisible";i:0;s:10:"imgVisible";i:1;s:13:"detailVisible";i:0;s:12:"productItems";s:8:"13,14,15";}', now());
+DELETE FROM _widget_param WHERE wp_id = 'static_content';
+INSERT INTO _widget_param
+(wp_id,                wp_config_id, wp_param,                                                                                                wp_create_dt) VALUES 
+#('static_content', 0,            'a:\1:{i:0;O:\8:"stdClass":3:{s:4:"name";s:33:"ようこそ携帯ショップへ";s:2:"id";i:1;s:9:"contentId";s:1:"5";}}', now());
+('static_content', 1,            'O:\8:"stdClass":2:{s:4:"name";s:33:"ようこそ携帯ショップへ";s:9:"contentId";s:1:"5";}', now());
+DELETE FROM _widget_param WHERE wp_id = 'default_menu';
+INSERT INTO _widget_param
+(wp_id,          wp_config_id, wp_param,                                                                                                wp_create_dt) VALUES 
+('default_menu', 1,            'O:\8:"stdClass":3:{s:6:"menuId";s:9:"main_menu";s:4:"name";s:27:"メインメニュー設定";s:9:"limitUser";i:0;}', now());
+DELETE FROM _widget_param WHERE wp_id = 'custom_search';
+INSERT INTO _widget_param
+(wp_id,          wp_config_id, wp_param,                                                                                                wp_create_dt) VALUES 
+('custom_search', 1,            'O:8:"stdClass":15:{s:4:"name";s:16:"名称未設定1";s:11:"resultCount";s:2:"20";s:14:"searchTemplate";s:239:"<input id="custom_search_1_text" maxlength="40" size="10" type="text" /><input class="button" id="custom_search_1_button" type="button" value="検索" /><input class="button" id="custom_search_1_reset" type="button" value="リセット" />";s:12:"searchTextId";s:20:"custom_search_1_text";s:14:"searchButtonId";s:22:"custom_search_1_button";s:13:"searchResetId";s:21:"custom_search_1_reset";s:15:"isTargetContent";i:1;s:12:"isTargetUser";i:1;s:12:"isTargetBlog";i:1;s:9:"fieldInfo";a:0:{}s:15:"isTargetProduct";i:0;s:13:"isTargetEvent";i:0;s:11:"isTargetBbs";i:0;s:13:"isTargetPhoto";i:0;s:12:"isTargetWiki";i:0;}', now());
+
+TRUNCATE TABLE content;
+INSERT INTO content (cn_type, cn_id, cn_language_id, cn_name,              cn_description,         cn_html,                        cn_default, cn_key, cn_create_user_id, cn_create_dt) VALUES 
+('', 1,     'ja',           '会社情報',   '会社情報', '<div class="ec_common">\r\n<table>\r\n    <tbody>\r\n        <tr>\r\n            <th>社 名</th>\r\n            <td>\r\n            <p>&nbsp;</p>\r\n            <p>[#CUSTOM_KEY_001#]</p>\r\n            <p>&nbsp;</p>\r\n            </td>\r\n        </tr>\r\n        <tr>\r\n            <th>所在地</th>\r\n            <td>\r\n            <p>&nbsp;</p>\r\n            <p>[#CUSTOM_KEY_002#]</p>\r\n            <p>&nbsp;</p>\r\n            </td>\r\n        </tr>\r\n        <tr>\r\n            <th>設 立</th>\r\n            <td>\r\n            <p>&nbsp;</p>\r\n            <p>[#CUSTOM_KEY_003#]</p>\r\n            <p>&nbsp;</p>\r\n            </td>\r\n        </tr>\r\n        <tr>\r\n            <th>代表者</th>\r\n            <td>\r\n            <p>&nbsp;</p>\r\n            <p>[#CUSTOM_KEY_004#]</p>\r\n            <p>&nbsp;</p>\r\n            </td>\r\n        </tr>\r\n        <tr>\r\n            <th>事業内容</th>\r\n            <td>\r\n            <p>&nbsp;</p>\r\n            <p>[#CUSTOM_KEY_005#]●商品Aの製造<br />\r\n            ●商品Bの卸売<br />\r\n            ●商品Cの販売</p>\r\n            <p>&nbsp;</p>\r\n            </td>\r\n        </tr>\r\n        <tr>\r\n            <th>主要取引銀行</th>\r\n            <td>\r\n            <p>&nbsp;</p>\r\n            <p>[#CUSTOM_KEY_006#]</p>\r\n            <p>&nbsp;</p>\r\n            </td>\r\n        </tr>\r\n        <tr>\r\n            <th>主要取引先</th>\r\n            <td>\r\n            <p>&nbsp;</p>\r\n            <p>[#CUSTOM_KEY_007#]■XXX株式会社<br />\r\n            ■YYY株式会社<br />\r\n            ■株式会社 ZZZ</p>\r\n            <p>&nbsp;</p>\r\n            <p>&nbsp;</p>\r\n            </td>\r\n        </tr>\r\n    </tbody>\r\n</table>\r\n</div>\r\n',              false, '',                0, now()),
+('', 2,     'ja',           '個人情報保護方針',   '個人情報保護方針',        '<div class="ec_commno">\r\n<table>\r\n    <tbody>\r\n        <tr>\r\n            <td>「○○○○○」では利用者の皆様が安心してご利用頂けるよう最低限の個人情報を提供頂いております。<br />\r\n            「○○○○○」ではご提供頂いた個人情報の保護について最大限の注意を払っています。 <br />\r\n            「○○○○○」の個人情報保護についての考え方は以下の通りです。<br />\r\n            <br />\r\n            ■   弊社では会員により登録された個人及び団体や法人の情報については、<br />\r\n            「○○○○○」 において最先端の機能やサービスを開発・提供するためにのみ利用し、<br />\r\n            会員個人情報の保護に細心の注意を払うものとします。 <br />\r\n            ■   このプライバシーポリシーの適用範囲は、「○○○○○」 で提供されるサービスのみであります。<br />\r\n            (範囲は下記、第1項に規定)<br />\r\n            ■   本規約に明記された場合を除き、目的以外の利用は致しません。(目的は下記、第2項に規定)<br />\r\n            ■   本規約に明記された場合を除き、第三者への開示は致しません。(管理は下記、第2項に規定)<br />\r\n            ■   その他本規約に規定された方法での適切な管理を定期的に行います。<br />\r\n            ■   「○○○○○」は利用者の許可なくして、プライバシーポリシーの変更をすることができます。<br />\r\n            「○○○○○」が、個人情報取得内容の変更・利用方法の変更・開示内容の変更等をした際には、<br />\r\n            利用者がその内容を知ることができるよう、弊社ホームページのお知らせに公開し、<br />\r\n            このプライバシーポリシーに反映することにより通知致します。<br />\r\n            <br />\r\n            1.「○○○○○」のプライバシーポリシーについての考え方が適用される範囲 <br />\r\n            ■   「○○○○○」のプライバシーポリシーについての考え方は、<br />\r\n            会員が「○○○○○」のサービスを利用される場合に適用されます。 <br />\r\n            ■   会員が「○○○○○」のサービスを利用される際に収集される個人情報は、 <br />\r\n            「○○○○○」の個人情報保護についての考え方に従って管理されます。 <br />\r\n            ■   「○○○○○」の個人情報保護考え方は、 「○○○○○」が直接提供される<br />\r\n            サービスのみであり、リンク等でつながった他の組織・会社等のサービスは適用範囲外となります。<br />\r\n            ■  「○○○○○」のサービスのご利用は、利用者の責任において行われるものとします。<br />\r\n            ■   弊社のホームページ及び当ホームページにリンクが設定されている他のホームページから<br />\r\n            取得された各種情報の利用によって生じたあらゆる損害に関して、「○○○○○」は<br />\r\n            一切の責任を負いません。<br />\r\n            <br />\r\n            2.「○○○○○」の個人情報の収集と利用  <br />\r\n            「○○○○○」では会員の皆様に最先端の機能やサービスを開発・提供するために、<br />\r\n            会員について幾つかの個人情報が必要となります。 <br />\r\n            ■   ショップのID・パスワードは利用者ご自身の責任において管理をお願い致します。<br />\r\n            - パスワードは定期的に変更し、他人が類推しやすいような名前や生年月日、<br />\r\n            電話番号など は避けることをお勧め致します。<br />\r\n            - また、知人・友人などであっても開示・貸与・譲渡しないで下さい。<br />\r\n            - お問合せのメールや弊社のホームページ上の Q&amp;Aにはパスワードを書き込まないようお願い致します。<br />\r\n            ■   収集された個人情報は「○○○○○」のサービスを提供するために必要な限度においてのみ利用し、<br />\r\n            次の場合を除き、いかなる第三者にも提供致しません。 <br />\r\n            ■   会員の同意がある場合 <br />\r\n            - 会員から個人情報の利用に関する同意を求めるための電子メールを送付する場合 <br />\r\n            - あらかじめ弊社と機密保持契約を締結している企業(例えば、業務委託先)<br />\r\n            等に必要な限度において開示する場合 <br />\r\n            - 会員に対し、弊社、または、弊社の業務提携先等の広告宣伝のための電子メール、<br />\r\n            ダイレクトメールを送付する場合 <br />\r\n            - 「○○○○○」における会員の行為が、「○○○○○」利用規約や方針・告知、<br />\r\n            「○○○○○」の十戒等に違反している場合に、他の会員、第三者または弊社の権利、<br />\r\n            財産を保護するために必要と認められる場合 <br />\r\n            - 裁判所、行政機関の命令等、その他法律の定めに従って個人情報の開示を求められた場合、<br />\r\n            または犯罪の捜査、第三 者に対する権利侵害の排除若しくはその予防、<br />\r\n            その他これに準ずる必要性ある場合 <br />\r\n            ■   会員は、弊社に対し、個人情報を上に定める方法で利用することにつきあらかじめ同意するものとし、<br />\r\n            異議を述べないものとします。<br />\r\n            ■   また、「○○○○○」では次の様な場合、弊社のビジネスパートナーと会員の個人情報を<br />\r\n            共有する事があります。 <br />\r\n            - 会員向け特別サービスなど、事業的な理由がある場合。<br />\r\n            この場合、情報を提供する前に会員の同意を求め、同意無しでは提供致しません。 <br />\r\n            - 統計資料作成、市場調査、データ分析などを行う場合。<br />\r\n            この場合、特定個人を判別することができない様に加工された情報だけを提供致します。 <br />\r\n            <br />\r\n            3. 問い合わせ先  <br />\r\n            ここに示した個人情報についての考え方についてご不明な点などございましたら次の<br />\r\n            アドレスまで電子メールでお問い合わせください。<br />\r\n            <br />\r\n            <br />\r\n            個人情報管理担当 : ●●●● (<a href="mailto:●●●@●●●.com">●●@●●.com</a>)</td>\r\n        </tr>\r\n    </tbody>\r\n</table>\r\n</div>', true,  '',       0, now()),
+('', 3,     'ja',           '特定商取引に関する法律に基づく表示',           '特定商取引に関する法律に基づく表示', '<div class="ec_common">\r\n<table>\r\n    <tbody>\r\n        <tr>\r\n            <th colspan="2">特定商取引に関する法律に基づく表示</th>\r\n        </tr>\r\n        <tr>\r\n            <th>運営統括責任者</th>\r\n            <td>[#CUSTOM_KEY_001#]  ○○○ ○○○</td>\r\n        </tr>\r\n        <tr>\r\n            <th>所在地</th>\r\n            <td>[#CUSTOM_KEY_002#]</td>\r\n        </tr>\r\n        <tr>\r\n            <th>電話番号</th>\r\n            <td>\r\n            <p>11-11-1111</p>\r\n            </td>\r\n        </tr>\r\n        <tr>\r\n            <th>メールアドレス</th>\r\n            <td>\r\n            <p><a href="mailto:info@example.com">xxxx@xxxx.com<br />\r\n            </a></p>\r\n            </td>\r\n        </tr>\r\n        <tr>\r\n            <th>屋号</th>\r\n            <td>\r\n            <p>○○○○○</p>\r\n            </td>\r\n        </tr>\r\n        <tr>\r\n            <th>商品代金以外の<br>必要料金</th>\r\n            <td>\r\n            <p>- 送料「一律<font color="#ff0000">840円</font>(但し、北海道・沖縄は<font color="#ff0000">1,260円</font>)」</p>\r\n            <p>- コンビニ振込でご購入の際の振込手数料。</p>\r\n            <p>- 代金引換でご購入の際の代引手数料。</p>\r\n            </td>\r\n        </tr>\r\n        <tr>\r\n            <th>申し込みの有効期限</th>\r\n            <td>\r\n            <p>ご注文日を含め5日間</p>\r\n            </td>\r\n        </tr>\r\n        <tr>\r\n            <th>販売数量</th>\r\n            <td>\r\n            <p>指定はありません。在庫切れ、配送遅れの際はご連絡差し上げます。</p>\r\n            </td>\r\n        </tr>\r\n        <tr>\r\n            <th>お届けについて</th>\r\n            <td>\r\n            <p>ご注文日から、4日~1週間程度のお届けになります。休業日を挟む場合は、少しお時間をいただくことがございます。ご了承下さいませ。</p>\r\n            </td>\r\n        </tr>\r\n        <tr>\r\n            <th>キャンセルについて</th>\r\n            <td>\r\n            <p>商品を発送してからのキャンセルは対応いたしかねます。<br />\r\n            返品につきましては別途お問い合わせください。</p>\r\n            </td>\r\n        </tr>\r\n        <tr>\r\n            <th colspan="2">お支払い方法について</th>\r\n        </tr>\r\n        <tr>\r\n            <th>お支払方法</th>\r\n            <td>\r\n            <p><strong>●郵便振込●(前払い)</strong><br />\r\n            ※振込手数料はお客様負担です。<br />\r\n            ※入金確認後、翌発送日に発送いたします。<br />\r\n            <br />\r\n            【口座番号】XXXX-XXX-XXXX-XXX<br />\r\n            【口座名義】○○○○○</p>\r\n            <p><strong>●代金引換●(後払い)</strong><br />\r\n            荷物と引き換えに代金を配達員へお支払いいただくシステムです。<br />\r\n            【代引手数料】全国一律<font color="#ff0000">420円</font><br />\r\n            (お買い上げ金額が21,000円以上の場合は無料です。)</p>\r\n            <p><strong>●クレジットカード●</strong><br />\r\n            ※下記のカードがご利用いただけます。<br />\r\n            (1回払いのみとさせていただきます、ご了承下さいませ)</p>\r\n            <p><img src="[#M3_ROOT_URL#]/resource/image/sample/shop/credit_card.gif" alt="クレジットカード画像" /><br />\r\n            VISA、MASTER、DC</p>\r\n            <p>ご注文の際に「カードの種類」「カードNo.」「カードの有効期限」をご明記下さい。</p>\r\n            <p><strong>●コンビニ払い●(後払い)</strong><br />\r\n            ※振込手数料は無料です。<br />\r\n            ※購入金額が、30,000円を越える場合は、コンビニ決済をご利用頂けません。<br />\r\n            他お支払い方法をご利用下さい。</p>\r\n            <p><img src="[#M3_ROOT_URL#]/resource/image/sample/shop/convenience.gif" alt="コンビニ画像" /><br />\r\n            ローソン・ファミリーマート・セブンイレブン<br />\r\n            セイコーマート</p>\r\n            <p>【コンビニ・クレジット払いに関する注意事項】</p>\r\n            <p><a href="http://www.example.com/" target="_blank">http://www.xxxx.com</a></p>\r\n            </td>\r\n        </tr>\r\n        <tr>\r\n            <th>お支払い期限</th>\r\n            <td>\r\n            <p>【前払い】ご注文後<font color="#ff0000">5日以内</font>にお願いします。<br />\r\n            ※5日経っても入金が確認できない場合はキャンセル扱いとさせていただきます。</p>\r\n            <p>【後払い】商品到着後<font color="#ff0000">8日以内</font>にお願いします。</p>\r\n            <p>【代引】商品お届け時に、配送員に商品確認後、代金をお支払い下さい。</p>\r\n            </td>\r\n        </tr>\r\n        <tr>\r\n            <th colspan="2">送料について</th>\r\n        </tr>\r\n        <tr>\r\n            <th>送料</th>\r\n            <td>\r\n            <p>全国一律<font color="#ff0000">840円</font></p>\r\n            <p>但し、北海道・沖縄は<font color="#ff0000">1,260円</font></p>\r\n            </td>\r\n        </tr>\r\n        <tr>\r\n            <th colspan="2">返品について</th>\r\n        </tr>\r\n        <tr>\r\n            <th>不良品</th>\r\n            <td>\r\n            <p>商品には万全を期しておりますが、万一不都合がございましたら、商品到着後8日以内に弊社宛にご返送ください。早急にお取り替えいたします。<br />\r\n            <font color="#ff0000">※返品前に必ずメール、もしくはお問い合わせフォームにてご連絡ください。</font></p>\r\n            <p>【返送先】<br />\r\n            [#CUSTOM_KEY_002#]<br />\r\n            XXXX 係</p>\r\n            </td>\r\n        </tr>\r\n        <tr>\r\n            <th>返品期限</th>\r\n            <td>\r\n            <p>商品到着後8日以内<br />\r\n            <font color="#ff0000">※返品前に必ずメール、もしくはお問い合わせフォームにてご連絡ください。</font></p>\r\n            </td>\r\n        </tr>\r\n        <tr>\r\n            <th>返品送料</th>\r\n            <td>\r\n            <p>不良品交換、誤品配送交換の場合、弊社着払いにて対応いたします。<br />\r\n            お客様都合での返品につきましては送料をご負担願います。</p>\r\n            </td>\r\n        </tr>\r\n    </tbody>\r\n</table>\r\n</div>',              false,   '',               0, now()),
+('', 4,     'ja',           '会員規約',   '会員規約', '<p>xxxx年x月x日<br />\r\n<br />\r\n<br />\r\n[#CUSTOM_KEY_001#](以下「当社」という)は、当社が運営する「○○○○○」の利用について、以下のとおり本規約を定めます。<br />\r\n<br />\r\n<br />\r\n<br />\r\n第1条(定義)<br />\r\n<br />\r\n本規約においては、次の各号記載の用語はそれぞれ次の意味で使用します。<br />\r\n<br />\r\n「○○○○○」とは、商品又はサービスの提供情報掲載、オンラインによる商品又はサービスの提供機能を持ったシステムで、当社が本規約に基づいてインターネット上で運営するサイトをいいます。<br />\r\n<br />\r\n「利用者」とは、(http://www.example.com/)にアクセスする者をいいます。<br />\r\n<br />\r\n「本サービス」とは、当社が本規約に基づき(http://www.○○○.com/)を利用する者に対し、提供するサービスをいい、サービスの内容、種類については、当社の独自の判断により随時変更、増減が行なわれるものとし、その通知は随時、(http://www.○○○.com/)上での表示、又は電子メールその他の通信手段を通じて行なわれるものとします。 <br />\r\n<br />\r\n<br />\r\n<br />\r\n第2条(規約の範囲及び変更) <br />\r\n<br />\r\n<br />\r\n<br />\r\n1 本規約は、本サービスの利用に関し、当社及び利用者に適用するものとし、利用者は(http://www.○○○.com/)を利用するにあたり、本規約を誠実に遵守するものとします。<br />\r\n<br />\r\n2 当社が別途(http://www.○○○.com/)上における掲示またはその他の方法により規定する個別規定及び当社が随時利用者に対し通知する追加規定は、本規約の一部を構成します。本規約と個別規定及び追加規定が異なる場合には、個別規定及び追加規定が優先するものとします。<br />\r\n<br />\r\n3 当社は利用者の承諾なく、当社の独自の判断により、本規約を変更する事があります。この場合、(http://www.○○○.com/)が提供するサービスの利用条件は変更後の利用規約に基づくものとします。当該変更は、予め当社に通知したアドレス宛の電子メール、(http: //www.○○○.com/)上の一般掲示又はその他当社が適当と認めるその他の方法により通知した時点より効力を発するものとします。<br />\r\n<br />\r\n4 規約の変更に伴い、利用者に不利益、損害が発生した場合、当社はその責任を一切負わないものとします。<br />\r\n<br />\r\n&nbsp;<br />\r\n<br />\r\n<br />\r\n<br />\r\n第3条(利用者の地位及び制限事項) <br />\r\n<br />\r\n<br />\r\n<br />\r\n1 利用者の地位<br />\r\n<br />\r\n(http://www.○○○.com/)において利用者は、提供される本サービスのいずれかを享受する時点において(ここにいう享受には、情報の閲覧も含みます)、本規約に合意したものとみなされ、同時に(http://www.○○○.com/)における利用者としての地位を得るものとします。 <br />\r\n<br />\r\n2 利用者に対する制限事項<br />\r\n<br />\r\n利用者は、以下に掲げる行為は行ってはならないものとします。<br />\r\n<br />\r\n(1) (http://www.○○○.com/)が指定した方法以外の方法によって、(http://www.○○○.com/)を利用する行為。<br />\r\n<br />\r\n(2) 他者になりすまして本サービスを利用する行為。 <br />\r\n<br />\r\n(3) (http://www.○○○.com/)認める以外の方法で、本サービスに関連するデータのリンクを、他のデータ等へ指定する行為。 <br />\r\n<br />\r\n(4) (http://www.○○○.com/)を利用するコンピュータに保存されているデータへ不正アクセスする、又はこれを破壊もしくは破壊するおそれのある行為。<br />\r\n<br />\r\n(5) 本サービスの運営を妨害する行為。 <br />\r\n<br />\r\n(6) 本サービスを使用した営業活動並びに営利を目的とした利用及びその準備を目的とした利用。但し、当社が別 途承認した場合には、この限りではありません。 <br />\r\n<br />\r\n(7) 他の利用者の個人情報を収集したり、蓄積すること、又はこれらの行為をしようとする事。<br />\r\n<br />\r\n(8) 公序良俗に反する行為及びその他国内外の法令に反する行為。<br />\r\n<br />\r\n&nbsp;<br />\r\n<br />\r\n<br />\r\n<br />\r\n&nbsp;<br />\r\n<br />\r\n<br />\r\n<br />\r\n第4条(本サービスの中断、停止) <br />\r\n<br />\r\n<br />\r\n<br />\r\n1 当社は以下の何れかの事由に該当する場合、当社の独自の判断により、利用者に事前に通 知することなく本サービスの一部もしくは全部を一時中断、又は停止することがあります。<br />\r\n<br />\r\n(1) 本サービスのための装置、システムの保守点検、更新を定期的にまたは緊急に行う場合。<br />\r\n<br />\r\n(2) 火災、停電、天災などの不可抗力により、本サービスの提供が困難な場合。<br />\r\n<br />\r\n(3) 第一種電気通信事業者の任務が提供されない場合。 <br />\r\n<br />\r\n(4) その他、運用上あるいは技術上当社が本サービスの一時中断、もしくは停止が必要であるか、又は不測の事態により、当社が本サービスの提供が困難と判断した場合。 <br />\r\n<br />\r\n<br />\r\n2 当社は、本サービスの提供の一時中断、停止等の発生により、利用者または第三者が被ったいかなる不利益、損害について、理由を問わず一切の責任を負わないものとします。 <br />\r\n<br />\r\n<br />\r\n<br />\r\n第5条(リンクの扱いについて) <br />\r\n<br />\r\n<br />\r\n<br />\r\n「○○○○○」が提供する各種サービスの中から他のサイトへリンクをしたり、第三者が他のサイトへのリンクを提供している場合、当社は(http: //www.○○○.com/)外のサイトについては、何ら責任は負いません。この場合、当該サイトに包括され、また当該サイト上で利用が可能となっているコンテンツ、広告、商品、サービスなどについても同様に一切責任を負いません。 当社は、それらのコンテンツ、広告、商品、サービスなどに起因または関連して生じた一切の損害についても賠償する責任は負いません。 <br />\r\n<br />\r\n<br />\r\n<br />\r\n第6条(著作権) <br />\r\n<br />\r\n<br />\r\n<br />\r\n1 利用者は、権利者の承諾を得ないで、いかなる方法においても(http://www.○○○.com/)を通じて提供されるいかなる情報も、著作権法で定める利用者個人の私的使用の範囲を超える複製、販売、出版、その他の用途に使用することはできないものとします。<br />\r\n<br />\r\n2 利用者は、権利者の承諾を得ないで、いかなる方法においても、第三者をして、(http://www.○○○.com/)を通じて提供されるいかなる情報も使用させたり、公開させたりすることはできないものとします。 <br />\r\n<br />\r\n3 本条の規約に違反して問題が発生した場合、利用者は、自己の責任と費用において係る問題を解決するとともに、当社に何らの迷惑又は損害を与えないものとします。<br />\r\n<br />\r\n<br />\r\n<br />\r\n<br />\r\n<br />\r\n第7条(賠償責任) <br />\r\n<br />\r\n<br />\r\n<br />\r\n1 本サービスの提供、遅滞、変更、中断、中止、停止、もしくは廃止、提供される情報等の流出もしくは焼失等、又はその他本サービスに関連して発生した利用者又は第三者の損害について、当社は一切の責任を負わないものとします。但し、本サービスを通じて登録した個人情報については別途定める「個人情報の取扱について」に準じます。 <br />\r\n<br />\r\n2 利用者が本サービス利用によって第三者に対して損害を与えた場合、利用者は自己の責任と費用をもって解決し、当社に損害を与えることのないものとします。利用者が本規約に反した行為、又は不正もしくは違法な行為によって当社に損害を与えた場合、当社は当該利用者に対して相応の損害賠償の請求ができるものとします。<br />\r\n<br />\r\n<br />\r\n<br />\r\n<br />\r\n<br />\r\n第8条(プライバシー・ポリシー) <br />\r\n<br />\r\n<br />\r\n<br />\r\n利用者による本サービスの利用に関連して当社が知り得る利用者の情報の管理および取扱いについては、当社が別途定めるプライバシー・ポリシーによるものとします。 <br />\r\n<br />\r\n<br />\r\n<br />\r\n第9条(準拠法) <br />\r\n<br />\r\n本規約の成立、効力、履行及び解釈に関しては日本国法が適用されるものとします。 <br />\r\n<br />\r\n<br />\r\n<br />\r\n第10条(合意管轄) <br />\r\n<br />\r\n<br />\r\n本規約に関して紛争が生じた場合、当社本店所在地を管轄する地方裁判所を第一審の専属的合意管轄裁判所とします。</p>',              false,  'agreement',                0, now()),
+('', 5,     'ja',           'ようこそ',   'ようこそ', '<p>ようこそ、Magic3ショップデモサイトへ。</p><p>このサイトはMagic3を使って、Eコマースシステムを作ったデモサイトです。</p><p>&nbsp;</p>',              false, '',                0, now()),
+('ec_menu', 1, 'ja', 'docomo',              '',         '<p align="center"><img width="300" height="50" alt="" src="[#M3_ROOT_URL#]/resource/image/sample/product_head/dc1.jpg" /></p>',                        false, '', 0, now()),
+('ec_menu', 2, 'ja', 'au',              '',         '<p align="center"><img width="300" height="50" alt="" src="[#M3_ROOT_URL#]/resource/image/sample/product_head/au1.jpg" /></p>',                        false, '', 0, now());
+
+TRUNCATE TABLE `bn_def`;
+INSERT INTO `bn_def` (`bd_id`, `bd_item_id`, `bd_name`, `bd_disp_type`, `bd_disp_item_count`, `bd_disp_align`) VALUES 
+(1,     '1,2,3,4,5,6',                   'サンプルバナー1', 0,            1,                  3),
+(2,     '11,12,13,14,15,16,17,18,19',    'サンプルバナー2', 0,            2,                  0),
+(3,     '7,8,9,10',                      'サンプルバナー3', 1,            1,                  0);
+
+TRUNCATE TABLE bn_item;
+INSERT INTO bn_item (bi_id, bi_name,    bi_image_url, bi_html) VALUES 
+(1,     'DVD',     '[#M3_ROOT_URL#]/resource/image/sample/banner/sample1.gif', '[#ITEM#]'),
+(2,     'レンタル', '[#M3_ROOT_URL#]/resource/image/sample/banner/sample2.gif', '[#ITEM#]'),
+(3,     '美容',     '[#M3_ROOT_URL#]/resource/image/sample/banner/sample3.gif', '[#ITEM#]'),
+(4,     '夏物',       '[#M3_ROOT_URL#]/resource/image/sample/banner/sample4.gif', '[#ITEM#]'),
+(5,     '視力',     '[#M3_ROOT_URL#]/resource/image/sample/banner/sample5.gif', '[#ITEM#]'),
+(6,     '朝顔',     '[#M3_ROOT_URL#]/resource/image/sample/banner/sample6.gif', '[#ITEM#]'),
+(7,     '夏祭り',     '[#M3_ROOT_URL#]/resource/image/sample/banner/sample7.gif', '[#ITEM#]'),
+(8,     'PC',     '[#M3_ROOT_URL#]/resource/image/sample/banner/sample8.gif', '[#ITEM#]'),
+(9,     'ジンギスカン',     '[#M3_ROOT_URL#]/resource/image/sample/banner/sample9.gif', '[#ITEM#]'),
+(10,    'クッキー',     '[#M3_ROOT_URL#]/resource/image/sample/banner/sample10.gif', '[#ITEM#]'),
+(11,    '飲み会',     '[#M3_ROOT_URL#]/resource/image/sample/banner/sample11.gif', '[#ITEM#]'),
+(12,    'コスメ',     '[#M3_ROOT_URL#]/resource/image/sample/banner/sample12.gif', '[#ITEM#]'),
+(13,    'タブレット',     '[#M3_ROOT_URL#]/resource/image/sample/banner/sample13.gif', '[#ITEM#]'),
+(14,    'ジュエリー',     '[#M3_ROOT_URL#]/resource/image/sample/banner/sample14.gif', '[#ITEM#]'),
+(15,    'パン',     '[#M3_ROOT_URL#]/resource/image/sample/banner/sample15.gif', '[#ITEM#]'),
+(16,    'ハロウィーン',     '[#M3_ROOT_URL#]/resource/image/sample/banner/sample16.gif', '[#ITEM#]'),
+(17,    'ラケット',     '[#M3_ROOT_URL#]/resource/image/sample/banner/sample17.gif', '[#ITEM#]'),
+(18,    'きのこ',     '[#M3_ROOT_URL#]/resource/image/sample/banner/sample18.gif', '[#ITEM#]'),
+(19,    'すいか',     '[#M3_ROOT_URL#]/resource/image/sample/banner/sample19.gif', '[#ITEM#]');
+
+TRUNCATE TABLE `product_price`;
+INSERT INTO `product_price` (`pp_product_id`, `pp_language_id`, `pp_price_type_id`, `pp_currency_id`, `pp_price`, `pp_active_start_dt`, `pp_active_end_dt`) VALUES 
+(1, 'ja', 'selling', 'JPY', 12000.0000, '0000-00-00 00:00:00', '0000-00-00 00:00:00'),
+(2, 'ja', 'selling', 'JPY', 12000.0000, '0000-00-00 00:00:00', '0000-00-00 00:00:00'),
+(3, 'ja', 'selling', 'JPY', 11000.0000, '0000-00-00 00:00:00', '0000-00-00 00:00:00'),
+(4, 'ja', 'selling', 'JPY', 13000.0000, '0000-00-00 00:00:00', '0000-00-00 00:00:00'),
+(5, 'ja', 'selling', 'JPY', 12000.0000, '0000-00-00 00:00:00', '0000-00-00 00:00:00'),
+(6, 'ja', 'selling', 'JPY', 10000.0000, '0000-00-00 00:00:00', '0000-00-00 00:00:00'),
+(7, 'ja', 'selling', 'JPY', 10000.0000, '0000-00-00 00:00:00', '0000-00-00 00:00:00'),
+(8, 'ja', 'selling', 'JPY', 12000.0000, '0000-00-00 00:00:00', '0000-00-00 00:00:00'),
+(9, 'ja', 'selling', 'JPY', 10000.0000, '0000-00-00 00:00:00', '0000-00-00 00:00:00'),
+(10, 'ja', 'selling', 'JPY', 10000.0000, '0000-00-00 00:00:00', '0000-00-00 00:00:00'),
+(11, 'ja', 'selling', 'JPY', 10000.0000, '0000-00-00 00:00:00', '0000-00-00 00:00:00'),
+(12, 'ja', 'selling', 'JPY', 10000.0000, '0000-00-00 00:00:00', '0000-00-00 00:00:00'),
+(13, 'ja', 'selling', 'JPY', 13000.0000, '0000-00-00 00:00:00', '0000-00-00 00:00:00'),
+(14, 'ja', 'selling', 'JPY', 12000.0000, '0000-00-00 00:00:00', '0000-00-00 00:00:00'),
+(15, 'ja', 'selling', 'JPY', 13000.0000, '0000-00-00 00:00:00', '0000-00-00 00:00:00'),
+(16, 'ja', 'selling', 'JPY', 12000.0000, '0000-00-00 00:00:00', '0000-00-00 00:00:00'),
+(17, 'ja', 'selling', 'JPY', 11000.0000, '0000-00-00 00:00:00', '0000-00-00 00:00:00'),
+(18, 'ja', 'selling', 'JPY', 11000.0000, '0000-00-00 00:00:00', '0000-00-00 00:00:00'),
+(19, 'ja', 'selling', 'JPY', 11000.0000, '0000-00-00 00:00:00', '0000-00-00 00:00:00'),
+(20, 'ja', 'selling', 'JPY', 10000.0000, '0000-00-00 00:00:00', '0000-00-00 00:00:00');
+
+TRUNCATE TABLE `product_status`;
+INSERT INTO `product_status` (`ps_id`, `ps_language_id`, `ps_type`, `ps_value`) VALUES 
+(1, 'ja', 'new', '1'),
+(1, 'ja', 'suggest', '0'),
+(2, 'ja', 'new', '1'),
+(2, 'ja', 'suggest', '0'),
+(3, 'ja', 'new', '1'),
+(3, 'ja', 'suggest', '0'),
+(4, 'ja', 'new', '1'),
+(4, 'ja', 'suggest', '0'),
+(5, 'ja', 'new', '1'),
+(5, 'ja', 'suggest', '0'),
+(6, 'ja', 'new', '1'),
+(6, 'ja', 'suggest', '0'),
+(7, 'ja', 'new', '1'),
+(7, 'ja', 'suggest', '0'),
+(8, 'ja', 'new', '1'),
+(8, 'ja', 'suggest', '0'),
+(9, 'ja', 'new', '1'),
+(9, 'ja', 'suggest', '0'),
+(10, 'ja', 'new', '1'),
+(10, 'ja', 'suggest', '0'),
+(11, 'ja', 'new', '1'),
+(11, 'ja', 'suggest', '1'),
+(12, 'ja', 'new', '1'),
+(12, 'ja', 'suggest', '0'),
+(13, 'ja', 'new', '0'),
+(13, 'ja', 'suggest', '0'),
+(14, 'ja', 'new', '0'),
+(14, 'ja', 'suggest', '0'),
+(15, 'ja', 'new', '0'),
+(15, 'ja', 'suggest', '0'),
+(16, 'ja', 'new', '0'),
+(16, 'ja', 'suggest', '0'),
+(17, 'ja', 'new', '1'),
+(17, 'ja', 'suggest', '0'),
+(18, 'ja', 'new', '0'),
+(18, 'ja', 'suggest', '1'),
+(19, 'ja', 'new', '0'),
+(19, 'ja', 'suggest', '1'),
+(20, 'ja', 'new', '0'),
+(20, 'ja', 'suggest', '1');
+
+TRUNCATE TABLE `product_image`;
+INSERT INTO `product_image` (`im_type`, `im_id`, `im_language_id`, `im_size_id`, `im_name`, `im_url`) VALUES 
+(2, 1, 'ja', 'small-product', '', '[#M3_ROOT_URL#]/resource/image/sample/product/au1.gif'),
+(2, 1, 'ja', 'standard-product', '', '[#M3_ROOT_URL#]/resource/image/sample/product/au1.png'),
+(2, 1, 'ja', 'large-product', '', '[#M3_ROOT_URL#]/resource/image/sample/product/au1.gif'),
+(2, 2, 'ja', 'small-product', '', '[#M3_ROOT_URL#]/resource/image/sample/product/au2.gif'),
+(2, 2, 'ja', 'standard-product', '', '[#M3_ROOT_URL#]/resource/image/sample/product/au2.png'),
+(2, 2, 'ja', 'large-product', '', '[#M3_ROOT_URL#]/resource/image/sample/product/au2.gif'),
+(2, 3, 'ja', 'small-product', '', '[#M3_ROOT_URL#]/resource/image/sample/product/au3.png'),
+(2, 3, 'ja', 'standard-product', '', '[#M3_ROOT_URL#]/resource/image/sample/product/au3.png'),
+(2, 3, 'ja', 'large-product', '', '[#M3_ROOT_URL#]/resource/image/sample/product/au3_2.png'),
+(2, 4, 'ja', 'small-product', '', '[#M3_ROOT_URL#]/resource/image/sample/product/a4.png'),
+(2, 4, 'ja', 'standard-product', '', '[#M3_ROOT_URL#]/resource/image/sample/product/au4.png'),
+(2, 4, 'ja', 'large-product', '', '[#M3_ROOT_URL#]/resource/image/sample/product/a4.png'),
+(2, 5, 'ja', 'small-product', '', '[#M3_ROOT_URL#]/resource/image/sample/product/a5.png'),
+(2, 5, 'ja', 'standard-product', '', '[#M3_ROOT_URL#]/resource/image/sample/product/au5.png'),
+(2, 5, 'ja', 'large-product', '', '[#M3_ROOT_URL#]/resource/image/sample/product/a5.png'),
+(2, 6, 'ja', 'small-product', '', '[#M3_ROOT_URL#]/resource/image/sample/product/a6.png'),
+(2, 6, 'ja', 'standard-product', '', '[#M3_ROOT_URL#]/resource/image/sample/product/au6.png'),
+(2, 6, 'ja', 'large-product', '', '[#M3_ROOT_URL#]/resource/image/sample/product/a6.png'),
+(2, 7, 'ja', 'small-product', '', '[#M3_ROOT_URL#]/resource/image/sample/product/a7.png'),
+(2, 7, 'ja', 'standard-product', '', '[#M3_ROOT_URL#]/resource/image/sample/product/au7.png'),
+(2, 7, 'ja', 'large-product', '', '[#M3_ROOT_URL#]/resource/image/sample/product/a7.png'),
+(2, 8, 'ja', 'small-product', '', '[#M3_ROOT_URL#]/resource/image/sample/product/a8.png'),
+(2, 8, 'ja', 'standard-product', '', '[#M3_ROOT_URL#]/resource/image/sample/product/au8.png'),
+(2, 8, 'ja', 'large-product', '', '[#M3_ROOT_URL#]/resource/image/sample/product/a8.png'),
+(2, 9, 'ja', 'small-product', '', '[#M3_ROOT_URL#]/resource/image/sample/product/a9.png'),
+(2, 9, 'ja', 'standard-product', '', '[#M3_ROOT_URL#]/resource/image/sample/product/au9.png'),
+(2, 9, 'ja', 'large-product', '', '[#M3_ROOT_URL#]/resource/image/sample/product/a9.png'),
+(2, 10, 'ja', 'small-product', '', '[#M3_ROOT_URL#]/resource/image/sample/product/a10.png'),
+(2, 10, 'ja', 'standard-product', '', '[#M3_ROOT_URL#]/resource/image/sample/product/au10.png'),
+(2, 10, 'ja', 'large-product', '', '[#M3_ROOT_URL#]/resource/image/sample/product/a10.png'),
+(2, 11, 'ja', 'small-product', '', '[#M3_ROOT_URL#]/resource/image/sample/product/a11.png'),
+(2, 11, 'ja', 'standard-product', '', '[#M3_ROOT_URL#]/resource/image/sample/product/au11.png'),
+(2, 11, 'ja', 'large-product', '', '[#M3_ROOT_URL#]/resource/image/sample/product/a11.png'),
+(2, 12, 'ja', 'small-product', '', '[#M3_ROOT_URL#]/resource/image/sample/product/a12.png'),
+(2, 12, 'ja', 'standard-product', '', '[#M3_ROOT_URL#]/resource/image/sample/product/au12.png'),
+(2, 12, 'ja', 'large-product', '', '[#M3_ROOT_URL#]/resource/image/sample/product/a12.png'),
+(2, 13, 'ja', 'small-product', '', '[#M3_ROOT_URL#]/resource/image/sample/product/do1.png'),
+(2, 13, 'ja', 'standard-product', '', '[#M3_ROOT_URL#]/resource/image/sample/product/d1.png'),
+(2, 13, 'ja', 'large-product', '', '[#M3_ROOT_URL#]/resource/image/sample/product/do1.png'),
+(2, 14, 'ja', 'small-product', '', '[#M3_ROOT_URL#]/resource/image/sample/product/do2.png'),
+(2, 14, 'ja', 'standard-product', '', '[#M3_ROOT_URL#]/resource/image/sample/product/d2.png'),
+(2, 14, 'ja', 'large-product', '', '[#M3_ROOT_URL#]/resource/image/sample/product/do2.png'),
+(2, 15, 'ja', 'small-product', '', '[#M3_ROOT_URL#]/resource/image/sample/product/do3.png'),
+(2, 15, 'ja', 'standard-product', '', '[#M3_ROOT_URL#]/resource/image/sample/product/d3.png'),
+(2, 15, 'ja', 'large-product', '', '[#M3_ROOT_URL#]/resource/image/sample/product/do3.png'),
+(2, 16, 'ja', 'small-product', '', '[#M3_ROOT_URL#]/resource/image/sample/product/do4.png'),
+(2, 16, 'ja', 'standard-product', '', '[#M3_ROOT_URL#]/resource/image/sample/product/d4.png'),
+(2, 16, 'ja', 'large-product', '', '[#M3_ROOT_URL#]/resource/image/sample/product/do4.png'),
+(2, 17, 'ja', 'small-product', '', '[#M3_ROOT_URL#]/resource/image/sample/product/do5.png'),
+(2, 17, 'ja', 'standard-product', '', '[#M3_ROOT_URL#]/resource/image/sample/product/d5.png'),
+(2, 17, 'ja', 'large-product', '', '[#M3_ROOT_URL#]/resource/image/sample/product/do5.png'),
+(2, 18, 'ja', 'small-product', '', '[#M3_ROOT_URL#]/resource/image/sample/product/do6.png'),
+(2, 18, 'ja', 'standard-product', '', '[#M3_ROOT_URL#]/resource/image/sample/product/d6.png'),
+(2, 18, 'ja', 'large-product', '', '[#M3_ROOT_URL#]/resource/image/sample/product/do6.png'),
+(2, 19, 'ja', 'small-product', '', '[#M3_ROOT_URL#]/resource/image/sample/product/do7.png'),
+(2, 19, 'ja', 'standard-product', '', '[#M3_ROOT_URL#]/resource/image/sample/product/d7.png'),
+(2, 19, 'ja', 'large-product', '', '[#M3_ROOT_URL#]/resource/image/sample/product/do7.png'),
+(2, 20, 'ja', 'small-product', '', '[#M3_ROOT_URL#]/resource/image/sample/product/do8.png'),
+(2, 20, 'ja', 'standard-product', '', '[#M3_ROOT_URL#]/resource/image/sample/product/d8.png'),
+(2, 20, 'ja', 'large-product', '', '[#M3_ROOT_URL#]/resource/image/sample/product/do8.png');
+
+TRUNCATE TABLE `product_category`;
+INSERT INTO `product_category` (`pc_id`, `pc_language_id`, `pc_name`, `pc_parent_id`, `pc_sort_order`) VALUES 
+(1, 'ja', 'ドコモ', 0, 1),
+(2, 'ja', 'au', 0, 2);
+
+TRUNCATE TABLE product_with_category;
+INSERT INTO product_with_category (pw_product_serial, pw_index, pw_category_id) VALUES 
+(1,  0, 2),
+(2,  0, 2),
+(3,  0, 2),
+(4,  0, 2),
+(5,  0, 2),
+(6,  0, 2),
+(7,  0, 2),
+(8,  0, 2),
+(9,  0, 2),
+(10, 0, 2),
+(11, 0, 2),
+(12, 0, 2),
+(13, 0, 1),
+(14, 0, 1),
+(15, 0, 1),
+(16, 0, 1),
+(17, 0, 1),
+(18, 0, 1),
+(19, 0, 1),
+(20, 0, 1);
+
+TRUNCATE TABLE product_record;
+INSERT INTO product_record
+(pe_product_id, pe_language_id, pe_stock_count) VALUES
+(1,  'ja', 3),
+(2,  'ja', 2),
+(3,  'ja', 1),
+(4,  'ja', 3),
+(5,  'ja', 2),
+(6,  'ja', 1),
+(7,  'ja', 5),
+(8,  'ja', 4),
+(9,  'ja', 3),
+(10, 'ja', 2),
+(11, 'ja', 1),
+(12, 'ja', 5),
+(13, 'ja', 4),
+(14, 'ja', 3),
+(15, 'ja', 2),
+(16, 'ja', 1),
+(17, 'ja', 3),
+(18, 'ja', 2),
+(19, 'ja', 1),
+(20, 'ja', 3);
+
+TRUNCATE TABLE `product`;
+INSERT INTO `product` (`pt_id`, `pt_language_id`, `pt_name`, `pt_code`, `pt_product_type`, `pt_description`, `pt_description_short`, `pt_admin_note`, `pt_category_id`, `pt_related_product`, `pt_manufacturer_id`, `pt_sort_order`, `pt_default_price`, `pt_visible`, `pt_search_keyword`, `pt_site_url`, `pt_unit_type_id`, `pt_unit_quantity`, `pt_innner_quantity`, `pt_quantity_decimal`, `pt_price_decimal`, `pt_weight`, `pt_tax_type_id`, `pt_parent_id`, `pt_attr_condition`, `pt_product_set`, `pt_option_price`) VALUES 
+(1, 'ja', 'MEDIA SKIN', 'AU001', 1, '<p>情緒に訴える新しい触感!</p>\r\n<p><span class="Text">デザイナー吉岡徳仁氏によるau design project第6弾モデル。<br />\r\n表面処理と塗料により2種類の異なる触感を実現しました。オレンジとホワイトは、ファンデーションに利用されているシリコン粒子でさらっとした心地よさ、ブラックは、特殊ウレタン粒子を含んだソフトフィール塗料による、しっとりとした心地よさに仕上がっています。<br />\r\nまた、キー部分を覆うフリップカバーはMEDIA SKINのシンプルな美しさと心地よい触感に貢献しているだけでなく、開閉動作と連動して着信応答や終話ができる使いやすさを兼ね備えています。</span></p>\r\n<p>&nbsp;</p>\r\n<p>&nbsp;</p>', '新しい触感と美しい映像をまとったエモーションナルケータイ。', '', 2, '', 0, 1, '', true, '', '', 'ko', 1.00, 0, 0, 0, 0.00, 'sales', 0, '', '', ''),
+(2, 'ja', 'AQUOS ケータイ', 'AU002', 1, '<p><span class="Text">液晶テレビ「AQUOS」の液晶技術を活かした美しい3.0インチ大画面のモバイルASV液晶を搭載。さらに「SVエンジン」「6色カラーフィルター」「明るさセンサー」を採用し、屋内外で鮮やかに見やすい映像を楽しめます。</span></p>\r\n<p>「サイクロイド」スタイルにより横向き全画面で「ワンセグ」を楽しめる!<span class="Text">画面を90&deg;回すだけで「ワンセグ」<small class="CaptionText"><font size="2">(注2)</font></small> が起動し、テレビを全画面で楽しみながらチャンネル選局もできる、独自の使いやすさを実現しました。<br />\r\n</span></p>', '3インチワイド液晶で「ワンセグ」&「デジタルラジオ」が楽しめるAQUOSケータイ。', '', 2, '', 0, 2, '', true, '', '', 'ko', 1.00, 0, 0, 0, 0.00, 'sales', 0, '', '', ''),
+(3, 'ja', 'W51K', 'AU003', 1, '<p>薄さ約20mmのスリムボディながら、「ワンセグ」を大型2.7インチワイド液晶で楽しめほか、外部メモリへの番組録画も可能。また、LISMO「ビデオクリップ」の視聴も可能な最新LISMOサービスにも対応しています。</p>\r\n<p><span class="Text">「ワンセグ」、音楽、カメラなどをスマートに操作できる「フロントメディアキー」を搭載。液晶を表にして閉じた場合には「ワンセグ」やカメラの操作を、液晶を裏にして閉じた場合には音楽操作がラクラク。また、数字キーには、使いやすさとデザイン性を両立した「パネル型フレームレスキー」を採用しています。</span></p>\r\n<p>&nbsp;</p>', '迫力の大画面&高音質。', '', 2, '', 0, 3, '', true, '', '', 'ko', 1.00, 0, 0, 0, 0.00, 'sales', 0, '', '', ''),
+(4, 'ja', 'W51P', 'AU004', 1, '<p><span class="Text">通話や着信をはじめ、FeliCaサイン、カメラ起動などを&quot;ヒカリ&quot;でお知らせ。<br />\r\nアシンメトリー (非対称) なデザインの「ソフトイルミネーションパネル」を採用することで、段差からの&quot;ヒカリ&quot;の射し込みにより、レリーフパターンが浮かび上がります。左右の段差が全く異なる表情を見せ、記号的ではない女性らしさを表現します。<br />\r\nまた、待受画面などの画面デザインも、本体のデザインにあわせた4つのパターンのテーマをプリセット。</span></p>\r\n<p><span class="Text"><span class="Text">「ワンプッシュオープン」機能</span></span></p>\r\n<p><span class="Text"><span class="Text">「ワンプッシュオープン」なら、ヒンジ横のボタンをプッシュするだけで、片手で素早くケータイをオープン。開く時のスマートさだけでなく、着信時には開けばそのまま通話も可能。不在着信・新着メールの表示がオープンするだけで確認できるなど、使いやすさも備えています。</span></span></p>', '”ヒカリ”が魅せる女性らしさ。ワンプッシュオープン対応の「おサイフケータイ」。', '', 2, '', 0, 4, '', true, '', '', 'ko', 1.00, 0, 0, 0, 0.00, 'sales', 0, '', '', ''),
+(5, 'ja', 'W44', 'AU005', 1, '<p>ケータイの新しいカタチ「モバイルシアタースタイル」</p>\r\n<p><span class="Text">ケータイを横向きに開く新感覚の「モバイルシアタースタイル」を採用。観やすい横スタイルで「ワンセグ」<small class="CaptionText"><font size="2">(注2)</font></small> やLISMO「ビデオクリップ」などを存分に楽しめます。横スタイルに適した待受画面「マイスクリーン」や、横スタイルのためのメニュー「シアターメニュー」などの機能も充実。</span></p>\r\n<p><span class="Text">リアルにこだわった高画質大画面&高音質</span></p>\r\n<p><span class="Text"><span class="Text">ケータイ最大級の約3インチフルワイド液晶を搭載。ソニー製液晶テレビ「BRAVIA」<small class="CaptionText"><font size="2">(注3)</font></small> の画質向上技術を採用した「RealityMAX&trade;」<small class="CaptionText"><font size="2">(注4)</font></small> により、映像も鮮明です。またCD並の高音質な音声と、動画や写真・文字によるデータ放送が楽しめる「デジタルラジオ」<small class="CaptionText"><font size="2">(注5)</font></small> にも対応。「DBEX&trade;」により、臨場感あふれるハイクオリティサウンドも実現しています</span></span></p>\r\n', '3.0インチ画面で、「ワンセグ」&「デジタルラジオ」を楽しむDuel Styleケータイ。', '', 2, '', 0, 5, '', true, '', '', 'ko', 1.00, 0, 0, 0, 0.00, 'sales', 0, '', '', ''),
+(6, 'ja', 'Gz One', 'AU006', 1, '<p>&nbsp;</p>\r\n<p><span class="Text">ダイナミックなフォルムと洗練されたデザイン</span></p>\r\n<p><span class="Text"><span class="Text">ダイナミックなフォルムと緻密なディテールで、未来感を感じさせる新世代の&quot;タフネス&quot;デザインを表現。操作キーの照明に、本体色にマッチするカラーをそれぞれ採用。またサブ液晶は白黒反転表示にも対応し、オリジナルサイトからのダウンロードでカスタマイズも可能です。</span></span></p>\r\n<p><span class="Text">耐水性・耐衝撃性のタフネス性能をWINで実現</span></p>\r\n<p><span class="Text">IPX7相当 <small class="CaptionText"><font size="2">(注2)</font></small> の耐水性と、耐衝撃性をWINで実現。WIN+タフネス性能により、WINの高機能をさまざまな場面で利用できます。</span></p>\r\n<p>&nbsp;</p>', '耐水・耐衝撃ボディと、大型液晶&2.1メガカメラ。WIN初のタフネスケータイ。   ', '', 2, '', 0, 6, '', true, '', '', 'ko', 1.00, 0, 0, 0, 0.00, 'sales', 0, '', '', ''),
+(7, 'ja', 'ジュニアケータイ', 'AU007', 1, '<p>いざというとき安心な「移動経路通知」</p>\r\n<p><span class="Text">お子さまが「防犯ブザー」を鳴らしたときや、ケータイの電源が切られたときには、その場所を家族のケータイに写真付きで緊急通知。その後は、約5分おきに更新される地図で、ケータイやパソコンからお子さまの足どりを確認できます。Cメールで強制的に起動/中止させることも可能です。</span></p>\r\n<p><span class="Text"><span class="Text">「防犯ブザー」は、いざというときに使いやすいひも引き型。ブザーが鳴らされると、カメラ撮影、家族への電話、現在位置と写真の緊急送信&amp;移動経路通知を自動で行います。また、電池の抜き取りを防ぐ「電池フタロック」 で、強制的な電源オフも防止。</span><br />\r\n</span></p>', '移動経路通知&防犯ブザーストラップ、生活防水対応で安心のジュニアケータイ。', '', 2, '', 0, 7, '', true, '', '', 'ko', 1.00, 0, 0, 0, 0.00, 'sales', 0, '', '', ''),
+(8, 'ja', 'Sweets cute', 'AU008', 1, '<p>お勉強などに役立つ便利機能もたっぷり。</p>\r\n<p><span class="Text">英和4万6千語&amp;和英5万6千語のGモバイル辞典と、国語4万7千語の明鏡モバイル国語辞典を搭載 <small class="CaptionText"><font size="2">(注1)</font></small>。また「カメラde辞書」機能では、漢字にカメラをかざすと漢字をよみがなに変換でき、漢字の意味も表示されます。時間割・おこづかい帳・日記帳などもプリセット。<br />\r\n</span></p>\r\n<p><span class="Text">やわらかフォルム&ハートフルなデザイン</span></p>\r\n<p><span class="Text"><span class="Text">プロダクトデザイナー柴田文江氏による&quot;Sweets&quot;第3弾が登場。今度のテーマは「やさしい思いやりがいっぱいの、ハートフルなケータイ」です。初代Sweetsのかわいらしさを受け継ぎながら、コロンとしたスタイルと、ビスケットをディップしたようなやわらかなデザイン&amp;カラーも個性的。<br />\r\n</span></span></p>', '', '', 2, '', 0, 8, '', true, '', '', 'ko', 1.00, 0, 0, 0, 0.00, 'sales', 0, '', '', ''),
+(9, 'ja', 'A5518SA', 'AU009', 1, '<p>コンパクトボディーでシンプル操作</p>\r\n<p><span class="Text">カメラ機能をなくすことで、ビジネス面でのセキュリティにも配慮。ボディは薄さ21mm・重さ103gのコンパクトさと、シンプルで使いやすい操作性を大切にしました。また大きく押しやすいキーと、見やすい「でか文字」で文字入力もラクラク。さらに、使いやすさを大切にした「フレンドリーデザイン」に対応しています。</span></p>\r\n<p><span class="Text"><span class="Text">アドレス帳には1,000件、スケジュール帳には500件まで、たっぷり保存可能。また「赤外線通信」を利用すると、アドレス帳登録やプロフィールの交換などもスムーズ。</span></span></p>', 'コンパクトで使いやすい、「フレンドリーデザイン」対応のカメラなしモデル。', '', 2, '', 0, 9, '', true, '', '', 'ko', 1.00, 0, 0, 0, 0.00, 'sales', 0, '', '', ''),
+(10, 'ja', 'A5514SA', 'AU010', 1, '<p>&nbsp;</p>\r\n<p><span class="Text">海外でも話せる、メール&EZwebも使える</span></p>\r\n<p><span class="Text">お申し込み不要で、そのまま海外に持ち出しても通話&amp;パケット通信が可能なグローバルパスポートに対応。渡航先でもいつもの電話番号のままでご利用いただけます。通話だけでなく、メールやEZwebも可能だから、旅先で撮った写真やムービーをその場で送るなど旅行にビジネスにさまざまなシーンで活躍します。海外のパケット通信対応エリアも順次拡大中。<br />\r\n<span class="Text">業界初の開いても閉じても突起のないフラットなスタイル「Smooth Style」を実現。従来のヒンジ部分がカットされた新機構のフォルムは、なめらかなラインで顔にフィットし、今までにない使いやすさを追求しました。またグローバルパスポート対応モデル初の内蔵アンテナで、海外でもコンパクトに持ち歩けます。<br />\r\n</span></span></p>', '海外でも話せる、コンパクト&フラットなグローバルパスポート対応モデル。', '', 2, '', 0, 10, '', true, '', '', 'ko', 1.00, 0, 0, 0, 0.00, 'sales', 0, '', '', ''),
+(11, 'ja', '簡単ケータイ A1406', 'AU011', 1, '<p>見やすさ、押しやすさ、聞きやすさを大切に</p>\r\n<p>・大きく押しやすい「でかキー」で、電話番号も文字もラクラク入力できます。</p>\r\n<p>・2.4インチの大画面液晶と、最大40ドットの大きな「でか文字」で、見やすい文字表示に。</p>\r\n<p>・混雑した場所でも相手の声が聞き取りやすい「でか受話音」。</p>\r\n<p>・<span class="Text">押すだけで決まった相手に電話をかけられる3つの「ワンタッチキー」を搭載。</span></p>\r\n<p>&nbsp;</p>', '大きなキーと大きな文字表示。ワンタッチキーで使いやすい「簡単ケータイ」。', '', 2, '', 0, 11, '', true, '', '', 'ko', 1.00, 0, 0, 0, 0.00, 'sales', 0, '', '', ''),
+(12, 'ja', '簡単ケータイS A101K', 'AU012', 1, '<p>電話のかけ方が、とにかく簡単</p>\r\n<p>ご自宅のコードレス電話と同じような使い方で話せます。</p>\r\n<p>よく電話する相手を、「ワンタッチボタン」に登録すると、もっと簡単に話せます。設定も簡単です。</p>\r\n<p><span class="LargeText">より便利にお使いいただけるよう、登録した相手の名前を書き込める専用シールが付属しています。</span></p>\r\n<p><span class="LargeText"><span class="LargeText">自分の電話番号を書き込むことができ、落下防止にも配慮した「クリップ付きストラップ」。自分の電話番</span></span></p>\r\n<p><span class="LargeText"><span class="LargeText">号の確認や持ち歩きにも安心です。</span></span></p>', '', '', 2, '', 0, 12, '', true, '', '', 'ko', 1.00, 0, 0, 0, 0.00, 'sales', 0, '', '', ''),
+(13, 'ja', 'FOMA D904i', 'DO001', 1, '<p>9シリーズ最薄16.8mmのスリム・スライド</p>\r\n<p>2.8インチワイドQVGA液晶搭載で、凹凸の無いスリムデザインを採用。新機構「アシストスライド」により、開けても閉じても心地よいなめらかなスライド開閉を実現しています。</p>\r\n<p>ケータイを振るだけで機能が連動する「モーショナルコントロール」対応</p>\r\n<p>モーションコントロール(加速度センサー)搭載でケータイを振ったり、傾けたりすることに機能が連動します。</p>\r\n<ul class="normal txt">\r\n    <li>ケータイを左ヨコに倒すことで、自動的にヨコ向きワイド画面表示に切り替えが可能。</li>\r\n    <li>「直感ゲーム」対応で、ケータイを動かす操作で遊べるiアプリ「タマラン」をプリインストール。</li>\r\n    <li>ケータイを逆さまにしたり振ったりすることに連動してドコモダケなどの「マチキャラ」も動作。</li>\r\n</ul>', '携帯を振って動かす直感操作が新しい、スリム・スライドケータイ', '', 1, '', 0, 1, '', true, '', '', 'ko', 1.00, 0, 0, 0, 0.00, 'sales', 0, '', '', ''),
+(14, 'ja', 'FOMA F901i', 'DO002', 1, '<p>3.1インチフルワイド大画面で楽しめるワンセグ対応</p>\r\n<ul class="normal txt">\r\n    <li>画面をヨコにして、テレビとリモコンが1つになったようなスタイルでワンセグ視聴が可能。</li>\r\n    <li>照光センサーによる「明るさ自動調整機能」や、メールを作成しながらワンセグを視聴する「マルチウィンドウ」、字幕を大きく表示する「アドバンストモード」対応などワンセグ視聴に配慮した機能も充実。</li>\r\n    <li>IPS液晶搭載で、早い動きの表示に強く、約170度の広い視野角で視聴が可能</li>\r\n</ul>', '3.1インチ・フルワイド大画面でワンセグを楽しめるヨコモーションケータイ', '', 1, '', 0, 2, '', true, '', '', 'ko', 1.00, 0, 0, 0, 0.00, 'sales', 0, '', '', ''),
+(15, 'ja', 'FOMA P904i', 'DO003', 1, '<p>シンプルで新しいコンパクトデザイン&Newカスタムジャケット</p>\r\n<p class="txt">シンプルでコンパクトなミラーパネルが美しいアシンメトリーデザインと、カスタムジャケット無しでも完成するデザインです。カスタムジャケットは今までのデザイン的な変化だけでなく、プライベートウィンドウ(背面ディスプレイ)の表情も変化する新しいコンセプトを採用しました。また、ケータイの背面にヒカリで不在着信など各種情報が浮かび上がる「ヒカリアイコン<span class="sup">TM</span>」も搭載しています。</p>\r\n<p class="txt">ケータイで1つの音楽を定額で楽しむスタイル「うた・ホーダイ」に対応</p>\r\n<p>&nbsp;</p>\r\n<p>\r\n<li>「うた・ホーダイ」に対応。</li>\r\n<li>Windows Media&reg; Audio(WMA)にも対応し、月額1980円(税込)で250万曲以上を聴き放題の音楽配信サービス「Napster&reg;」も楽しめる。</li>\r\n<li>SDオーディオなら最長約65時間の長時間再生が可能。</li>\r\n<li>Bluetooth&reg;対応だからワイヤレスで音楽を楽しめる。ケータイとワイヤレスイヤホンの接続も従来の13タッチから3タッチに短縮。</li>\r\n</p>\r\n<p>&nbsp;</p>', 'Newデザイン&Newカスタムジャケット対応のワイヤレスミュージックケータイ', '', 1, '', 0, 3, '', true, '', '', 'ko', 1.00, 0, 0, 0, 0.00, 'sales', 0, '', '', ''),
+(16, 'ja', 'FOMA N703iμ', 'DO004', 1, '<p>11.4mmmp超薄型に掲載される高機能</p>\r\n<p class="txt">薄さが際立つスポーティなデザイン、その中に先進機能を搭載しています。超薄型ボディの表面には、LEDやスピーカー機能を兼ね備えたディンプルをデザイン。薄さが際立つツートーンのカラーリングでいっそう美しく、さらに、メガピクセルカメラや2.3インチQVGA+<span class="sup">TM</span> 液晶、microSD<span class="sup">TM</span>メモリーカードスロットを搭載しました。</p>\r\n<p class="txt">内蔵コンテンツを、スタイリングモードで一括設定</p>\r\n<p class="txt">待受画面をはじめ、メニュー画面、状態表示、アイコン、ミュージックプレーヤー画面などをお好みで設定できます。</p>', '厚さ11.4mmの世界最薄', '', 1, '', 0, 4, '', true, '', '', 'ko', 1.00, 0, 0, 0, 0.00, 'sales', 0, '', '', ''),
+(17, 'ja', 'FOMA P703iμ', 'DO005', 1, '<p>超薄型11.4mmの、新素材感ステンレスボディ</p>\r\n<p class="txt">スリムサイズと軽量化を実現しました。カードサイズに近いサイズ感で、小さくて扱いやすいデザインです。基板を樹脂で固めて強度を上げる新工法を採用しました。ゆがみやねじれなど外からの力に強く、薄さと強さを両立したタフなボディです。アウトカメラ側ボディに使われたステンレスのクールな質感は、デザイン性と共に強度を強めます。</p>\r\n<p class="txt">SDオーディオを搭載</p>\r\n<p class="txt">最大2GBのmicroSD<span class="sup">TM</span>メモリーカードに、ネットストア「MOOCS」やCD、コンポから入手した曲を転送することができます。メールやiモードの操作も同時にできます。</p>\r\n<p class="txt">&nbsp;</p>', '厚さ11.4mmの高級感を醸し出す、Super Slimステンレスボディ', '', 1, '', 0, 5, '', true, '', '', 'ko', 1.00, 0, 0, 0, 0.00, 'sales', 0, '', '', ''),
+(18, 'ja', 'FOMA F703i', 'DO006', 1, '<p>水に濡れても安心のIPX5,IPX7の性能</p>\r\n<p>取扱いやすい防水キャップを採用</p>\r\n<p class="txt">キャップの半挿しによる浸水を未然に防ぐため、閉めやすく、且つ完全に閉まったときの感触が指に伝わる構造にしました。</p>\r\n<ul class="txt normal">\r\n    <li>雨の中で傘をささずに通話できます。(1時間の雨量が20mm程度)</li>\r\n    <li>お風呂場で使用できます。</li>\r\n    <li>洗面器などに張った静水につけて、ゆすりながら汚れを洗い落とすことができます。</li>\r\n</ul>', '日常生活にフィットするウォータープルーフ・スリムケータイ', '', 1, '', 0, 6, '', true, '', '', 'ko', 1.00, 0, 0, 0, 0.00, 'sales', 0, '', '', ''),
+(19, 'ja', 'FOMA 703i', 'DO007', 1, '<p>メールの打ちやすさを追及した「Wave Tile Key」</p>\r\n<p>操作性を重視した立体形状の「Wave Tile Key<span class="sup">TM</span>」。フレームレスだからキーが大きく、ネイルアートを施した女性の長い爪でもメールの文字入力がスムーズです。また白色のキーバックライトが高級感を演出します。待受画面には世界中で活躍中の「はやさきちーこ」の繊細な線とエレガントな色彩が調和したイラスト3タイプをプリインストールしています。フランスで出版されると同時に大人気となった、オトナの絵本ブームの火付け役、「リサとガスパール」をプリインストールしています</p>', 'メール機能にこだわったHappyデコメケータイ', '', 1, '', 0, 7, '', true, '', '', 'ko', 1.00, 0, 0, 0, 0.00, 'sales', 0, '', '', ''),
+(20, 'ja', 'FOMA SO703i', 'DO008', 1, '<p>デザイン</p>\r\n<p>本体フロント面は、着せかえのできる「Style-Up&reg;」パネルを採用しています。それぞれのパネルのテーマに合わせた「アロマシート<span class="sup">TM</span>」も付属しました。「アロマシート<span class="sup">TM</span>」を本体部分に貼り付けることで、パネルのデザインと香りを組み合わせてお楽しみいただけます。</p>\r\n<p>\r\n<li>アロマシート<span class="sup">TM</span>は香りのマイクロカプセルをシート状にしたもので、FOMA端末に取り付けて香りをお楽しみいただけます。</li>\r\n<li>香りが弱くなってきた場合は、アロマシート<span class="sup">TM</span>の表面を指で軽くこすると、マイクロカプセルがはじけ香りがします。</li>\r\n<li>アロマシート<span class="sup">TM</span>は消耗品です。マイクロカプセルがすべてはじけると、香りは出なくなります。香りの持続期間は約3ヶ月間ですが、温度、湿度などの環境やアロマシート<span class="sup">TM</span>をこする回数により変わります。</li>\r\n<li>香りの感じ方には個人差があります。</li>\r\n</p>', '香りもデザインも着せ替えられる、アロマケータイ', '', 1, '', 0, 8, '', true, '', '', 'ko', 1.00, 0, 0, 0, 0.00, 'sales', 0, '', '', '');
+
+-- 多言語対応文字列マスター
+DELETE FROM _language_string WHERE ls_type = 1 AND ls_id = 'word_account';
+INSERT INTO _language_string
+(ls_type, ls_id,                     ls_language_id, ls_value,                             ls_name) VALUES
+(1,       'word_account',         'ja',           'ID',                 'アカウント');
\ No newline at end of file
index f9d3068..8d4a118 100644 (file)
 
 -- *** システムベーステーブル ***
 
+-- テンプレート情報
+DELETE FROM _templates WHERE tm_id = 'shop-isle';
+INSERT INTO _templates
+(tm_id,                     tm_name,          tm_type, tm_device_type, tm_mobile, tm_use_bootstrap, tm_available, tm_clean_type, tm_info_url, tm_create_dt) VALUES
+('shop-isle',                'shop-isle',       100,       0,              false,     false,             true,        0,             'https://themeisle.com/',          now());
 
 -- *** システム標準テーブル ***
 -- 商品情報マスター
@@ -26,4 +31,4 @@ ALTER TABLE product ADD pt_active_start_dt   TIMESTAMP      DEFAULT '0000-00-00
 ALTER TABLE product ADD pt_active_end_dt     TIMESTAMP      DEFAULT '0000-00-00 00:00:00' NOT NULL;      -- 公開期間(終了)
 ALTER TABLE product ADD pt_thumb_filename    TEXT                                         NOT NULL;      -- サムネールファイル名(「;」区切り)
 ALTER TABLE product ADD pt_thumb_src         TEXT                                         NOT NULL;      -- サムネールの元のファイル(リソースディレクトリからの相対パス)
-ALTER TABLE product ADD pt_option_fields     TEXT                                         NOT NULL;      -- 追加フィールド
\ No newline at end of file
+ALTER TABLE product ADD pt_option_fields     TEXT                                         NOT NULL;      -- 追加フィールド
diff --git a/templates/shop-isle/404.php b/templates/shop-isle/404.php
new file mode 100644 (file)
index 0000000..e74ae52
--- /dev/null
@@ -0,0 +1,59 @@
+<?php
+/**
+ * The template for displaying 404 pages (not found).
+ *
+ * @package WordPress
+ * @subpackage Shop Isle
+ */
+
+get_header(); ?>
+       <!-- Wrapper start -->
+       <div class="main">
+
+               <!-- Home start -->
+               <?php
+
+               $shop_isle_404_background = get_theme_mod( 'shop_isle_404_background', get_template_directory_uri() . '/assets/images/404.jpg' );
+
+               if ( ! empty( $shop_isle_404_background ) ) :
+                       echo '<section class="home-section home-parallax home-fade home-full-height bg-dark error-page-background" data-background="' . esc_url( $shop_isle_404_background ) . '">';
+               else :
+                       echo '<section class="home-section home-parallax home-fade home-full-height bg-dark error-page-background">';
+               endif;
+               ?>
+                       <div class="hs-caption">
+                               <div class="caption-content">
+                                       <?php
+                                               /* title */
+                                               $shop_isle_404_title = get_theme_mod( 'shop_isle_404_title',__( 'Error 404', 'shop-isle' ) );
+                                       if ( ! empty( $shop_isle_404_title ) ) :
+                                               echo '<div class="hs-title-size-4 font-alt mb-30 error-page-title">';
+                                               echo shop_isle_sanitize_text( $shop_isle_404_title );
+                                               echo '</div>';
+                                               endif;
+
+                                               /* text */
+                                               $shop_isle_404_text = get_theme_mod( 'shop_isle_404_text','The requested URL was not found on this server.<br> That is all we know.' );
+                                       if ( ! empty( $shop_isle_404_text ) ) :
+                                               echo '<div class="font-alt error-page-text">';
+                                               echo shop_isle_sanitize_text( $shop_isle_404_text );
+                                               echo '</div>';
+                                               endif;
+
+                                               /* button */
+                                               $shop_isle_404_link = get_theme_mod( 'shop_isle_404_link','#' );
+                                               $shop_isle_404_label = get_theme_mod( 'shop_isle_404_label',__( 'Back to home page', 'shop-isle' ) );
+
+                                       if ( ! empty( $shop_isle_404_link ) && ! empty( $shop_isle_404_label ) ) :
+                                               echo '<div class="font-alt mt-30 error-page-button-text">';
+                                               echo '<a href="' . esc_url( $shop_isle_404_link ) . '" class="btn btn-border-w btn-round">' . esc_html( $shop_isle_404_label ) . '</a>';
+                                               echo '</div>';
+                                               endif;
+                                       ?>
+                               </div>
+                       </div>
+
+               </section >
+               <!-- Home end -->
+
+<?php get_footer(); ?>
diff --git a/templates/shop-isle/CHANGELOG.md b/templates/shop-isle/CHANGELOG.md
new file mode 100644 (file)
index 0000000..5f0439a
--- /dev/null
@@ -0,0 +1,206 @@
+
+\r### 2.2.18 - 07/08/2017
+\r**Changes:** 
+\r- Added page builder templates
+\r- Added compatibility with Beaver Themer plugin
+\r- Fixed compatibility issues with WPML
+\r
+\r### 2.2.17 - 22/05/2017
+\r**Changes:** 
+\r- Added a Shortcode option in Customizer to allow replacing the default slider with a custom one
+\r- Integration with Nivo Slider Lite
+\r
+\r### 2.2.16 - 09/05/2017
+\r**Changes:** 
+\r- Fixed transport issues with the copyright option
+\r- Added alt tags for the banners section
+\r- Fixed issue with WooCommerce Products Gallery in version 3.0.5
+\r
+\r### 2.2.15 - 04/05/2017
+\r**Changes:** 
+\r- Fixed responsive issue in the frontpage Products slider
+\r
+\r### 2.2.14 - 24/04/2017
+\r**Changes:** 
+\r- Fixed Max Mega Menu plugin compatibility
+\r- Fixed jetpack notification for new comments checkbox height
+\r- Fixed issue with Categories section titles not working in all cases
+\r- Update Owl library and added filters to control each parameter including RTL mode
+\r
+\r### 2.2.13 - 10/04/2017
+\r**Changes:** 
+\r- Fixed Product gallery thumbnails issue with WooCommerce 3.0.0
+\r
+\r### 2.2.12 - 07/04/2017
+\r**Changes:** 
+\r- Fixed compatibility with WooCommerce 3.0.0
+\r
+\r### 2.2.11 - 06/04/2017
+\r**Changes:** 
+\r- Fixed compatibility issues with WooCommerce 3.0.0
+\r
+\r### 2.2.10 - 30/03/2017
+\r**Changes:** 
+\r- Added Out of stock badges
+\r- Added comparison mechanism for demo content to allow safer updates
+\r- Fixed travis issues
+\r- Fixed notice when WooCommerce is not installed
+\r
+\r### 2.2.9 - 26/02/2017
+\r**Changes:** 
+\r- Fixed issue with the description field in the About us members boxes
+\r- Fixed issues with search button on shop page sidebar
+\r
+\r### 2.2.8 - 14/02/2017
+\r**Changes:** 
+\r- Improved strings usage in the theme
+\r
+\r### 2.2.7 - 13/02/2017
+\r**Changes:** 
+\r- Fixed issues with Products using gallery images in shortcodes
+\r- Fixed issues with variable products images when in the cart
+\r- Added new color options in ShopIsle Pro for navbar background, footer background, menu items color and menu items color on hover
+\r- NEW option in ShopIsle Pro for Video section padding
+\r- Fixed issue with Header text color not saving
+\r
+\r### 2.2.6 - 07/02/2017
+\r**Changes:** 
+\r- Improved layout of variable products in the main cart
+\r- Improved layout of Add to cart buttons
+\r
+\r### 2.2.5 - 05/02/2017
+\r**Changes:** 
+\r- Update tags and description
+\r- Added travis file
+\r- Fixed issue with labels and inputs on grouped products page
+\r- Added sale badges on frontpage products
+\r- Fixed issue with Paypal button spacing on checkout page
+\r- Fixed issues with products prices on frontpage sections
+\r
+\r### 2.2.4 - 02/02/2017
+\r**Changes:** 
+\r- Update version
+\r
+\r### 2.2.3 - 02/02/2017
+\r**Changes:** 
+\r- Update description
+\r- Redo strigs
+\r- Rename gruntfile.js to Gruntfile.js
+\r
+\r### 2.2.3 - 02/02/2017
+\r**Changes:** 
+\r- Fixed theme check errors
+\r
+\r### 2.2.2 - 02/02/2017
+\r**Changes:** 
+\r- Fixed theme check errors
+\r
+\r### 2.2.1 - 02/02/2017
+\r**Changes:** 
+\r- Reorganize Customize layout
+\r
+\r### 0.0.17 - 09/11/2016
+\r**Changes:** 
+\r- Improved product page layout for variable products
+\r- Fixed issues with 404 error page
+\r- Use HTTPS protocol for video youtube thumbnail
+\r
+\r### 0.0.16 - 04/11/2016
+\r**Changes:** 
+\r- Fixed updating issue
+\r
+\r### 0.0.15 - 02/11/2016
+\r**Changes:** 
+\r- New option to allow a slider shortcode to replace the default slider
+\r- Added hover effects on frontpage banners
+\r- Added SiteOrigin compatibility + new dedicated template
+\r- Made slider arrows visible on mobile devices
+\r
+\r### 0.0.14 - 13/10/2016
+\r**Changes:** 
+\r- Removed hidden products from Exclusive products slider on single product page
+\r- Fixed issues with the slider navigation arrows out of viewport bounds and appearing when only one slide is present
+\r- Added a hover effect on Select options button on the shop page
+\r
+\r### 0.0.13 - 25/09/2016
+\r**Changes:** 
+\r- Fixed fatal error in lower version of PHP
+\r- Fixed Conflict with WP Show Posts plugin
+\r- Fixed layout issue when the Shop page is set up as frontpage
+\r- Improved layout for submit buttons
+\r
+\r### 0.0.12 - 18/09/2016
+\r**Changes:** 
+\r- Fixed buttons layout issues
+\r- Added a notice in customizer, for the Products sections, asking for WooCommerce to be installed
+\r- Fixed mobile issue with the video section
+\r- Lower ul tag indentation for better layout
+\r- Fixed issues with WooCommerce taxes on frontpage products
+\r- Improved layout for WR Mega Menu plugin
+\r- Fixed issue with hidden products that still appeared on frontpage
+\r- Improved layout for YITH Quick View plugin
+\r- Recommend Pirate Forms instead of Contact Form 7 in Contact page
+\r- Fixed issues with the drag-and-drop sections in Customize
+\r
+\r### 0.0.11 - 01/09/2016
+\r**Changes:** 
+\r- Added specific class to allow the remove of prices in the product slider section
+\r- Fixed issue with fields enlargement on focus in mobile devices
+\r- Fixed issue with ZIP code not customizable in the checkout page
+\r- Option for hover images for products
+\r- Add an option for a title in the Banners section
+\r- Fixed some issues with tranzition from the Lite version
+\r- Fixed small layout issues
+\r
+\r### 0.0.10 - 23/08/2016
+\r**Changes:** 
+\r- Fixed important notice causing images not show up in shop
+\r
+\r### 0.0.9 - 23/08/2016
+\r**Changes:** 
+\r- Fix undefined function wc_get_product_attachment_props notice
+\r
+\r### 0.0.8 - 23/08/2016
+\r**Changes:** 
+\r- Fixed issue with Ribbon blured image on mobile
+\r- Styled MyAccout page for latest WooCommerce version
+\r- Use gallery images as hover images on products
+\r- MegaMenu compatibility
+\r- Fixed issue with slider not able to customize in Safari
+\r- Added compatibility with WooCommerce products per page plugin
+\r
+\r### 0.0.7 - 08/07/2016
+\r**Changes:** 
+\r- Improved Live cart layout
+\r- Fixed sanitization and validation issues
+\r- Compatibility with Mega Menu plugin
+\r
+\r### 0.0.6 - 04/07/2016
+\r**Changes:** 
+\r- Updated documentation link
+\r- Update license for all used resources
+\r- Moved header image in the header section in customize
+\r- Fixed alignment issues for multiple widgets on the About page
+\r- Fixed layout issue with slider when WooCommerce not installed
+\r- Add a live cart option
+\r- Fixed issue with Team member widgets without image
+\r- Added site icon option in Customize
+\r- Fixed responsive issue with the menu
+\r- Fixed layout issue on shop page with multiple products
+\r
+\r### 0.0.5 - 02/06/2016
+\r**Changes:** 
+\r- Fixed error and notice appearing when WooCommerce not installed
+\r
+\r### 0.0.4 - 30/05/2016
+\r**Changes:** 
+\r- Fixes issues with Pirate Forms layout
+\r- Fixed issues with Popular Categories layout
+\r- Updated TGMP
+\r- Removed Powered by link from footer
+\r- Fixed issues with wp default galleries
+\r
+\r### 0.0.3 - 24/05/2016
+\r**Changes:** 
+\r- Development
+\r \r### 0.0.2 - 23/05/2016 \r**Changes:** \r- Development \r \r### 0.0.2 - 23/05/2016 \r**Changes:** \r ### 0.0.1 - 04/05/2016 Changes: shop-isle-pro Finished map section shop-isle-pro Added style for Our services section on homepage
diff --git a/templates/shop-isle/Gruntfile.js b/templates/shop-isle/Gruntfile.js
new file mode 100644 (file)
index 0000000..8bef9d2
--- /dev/null
@@ -0,0 +1,20 @@
+// jshint node:true
+
+module.exports = function( grunt ) {
+    'use strict';
+
+    var loader = require( 'load-project-config' ),
+        config = require( 'grunt-theme-fleet' );
+    config = config();
+    config.files.js.push( 'assets/js/*.js', '!assets/js/vendor/**/*.js', '!assets/bootstrap/js/**/*.js', '!grunt/**/*.js', '!inc/customizer/customizer-repeater/**/*.js', '!inc/customizer/customizer-alpha-color-picker/js/alpha-color-picker.js' );
+    config.files.css.push( 'assets/css/*.css', '!assets/css/vendor/**/*.css', '!assets/bootstrap/css/**/*.css' );
+    config.files.php.push( '!class-tgm-plugin-activation.php', '!inc/customizer/customizer-repeater/class/customizer-repeater-control.php', '!inc/customizer/customizer-repeater/functions.php', '!inc/customizer/customizer-range-value-control/class-customizer-range-value-control.php', '!inc/customizer/customizer-repeater/inc/customizer.php' );
+
+    //Add Copy Task for ShopIsle screenshot
+    config.taskMap.copy = 'grunt-contrib-copy';
+
+    //Add Version Task for ShopIsle versioning
+    config.taskMap.version = 'grunt-version';
+
+    loader( grunt, config ).init();
+};
diff --git a/templates/shop-isle/README.md b/templates/shop-isle/README.md
new file mode 100644 (file)
index 0000000..09a2c62
--- /dev/null
@@ -0,0 +1,104 @@
+== ShopIsle ==
+
+Images sources:
+
+ * slide1.jpg: https://download.unsplash.com/uploads/141172692104151d94dd4/4f900e54
+ * slide2.jpg: https://download.unsplash.com/photo-1434056886845-dac89ffe9b56
+ * slide3.jpg: https://download.unsplash.com/reserve/RONyPwknRQOO3ag4xf3R_Kinsey.jpg
+
+
+ * banner1.jpg: https://download.unsplash.com/photo-1433826672293-6fdc46138e66
+ * banner2.jpg: https://download.unsplash.com/photo-1433643667043-663b34a5c052
+ * banner3.jpg: https://download.unsplash.com/photo-1435070872030-a8113da23691
+ * 404.jpg: https://download.unsplash.com/photo-1428895009712-de9e58a18409
+ * team1.jpg: https://download.unsplash.com/reserve/ysPfhVSzSP2m629CW0mw_selfPortrait.jpg
+ * team2.jpg: https://download.unsplash.com/photo-1433615988899-12bdf1bd42b6
+ * team3.jpg: https://download.unsplash.com/photo-1427096105551-15e2512fd2dc
+ * team4.jpg: https://download.unsplash.com/photo-1434123715472-19686d6cc442
+ * background-video.jpg https://download.unsplash.com/photo-1436190807865-2e156d40f1a2
+ * header.jpg: https://download.unsplash.com/photo-1434592370571-b4bacd3377b3
+ * ribbon-bg.jpg: https://unsplash.com/photos/VZuLoDocz-U
+
+ * Screenshot images:
+  - https://images.unsplash.com/photo-1462804993656-fac4ff489837?ixlib=rb-0.3.5&q=80&fm=jpg&crop=entropy&s=97f0f0de387332067456ca7fdda56b7b
+  - https://images.unsplash.com/photo-1469334031218-e382a71b716b?ixlib=rb-0.3.5&q=80&fm=jpg&crop=entropy&s=6423a9a76d58d977ce7b5654e955ae5f
+  - https://images.unsplash.com/photo-1467838371285-0d488e371f0d?ixlib=rb-0.3.5&q=80&fm=jpg&crop=entropy&s=8fe5f9c8bccc33da8b5e6575d6e9f7a4
+  - https://images.unsplash.com/photo-1469460340997-2f854421e72f?ixlib=rb-0.3.5&q=80&fm=jpg&crop=entropy&s=3f23e6dac64214e7c693810058aae58f
+  - https://images.unsplash.com/photo-1414202251636-d05ac44c0182?ixlib=rb-0.3.5&q=80&fm=jpg&crop=entropy&s=95dd8c65b835464f99ae974dafe90b24
+  - https://images.unsplash.com/photo-1439433547555-1f4f96513499?ixlib=rb-0.3.5&q=80&fm=jpg&crop=entropy&s=467ca3b6420d16b68015006c77421e3b
+  - https://images.unsplash.com/photo-1456379771252-03388b5adf1a?ixlib=rb-0.3.5&q=80&fm=jpg&crop=entropy&s=16db1495560136a1278a6e258ac7127a
+
+License: All unsplash.com images are licensed under the terms of the Creative Commons Zero, http://creativecommons.org/publicdomain/zero/1.0/  
+
+ElegantIcons License: GPL 2.0 and MIT http://www.gnu.org/licenses/gpl-2.0.html, http://opensource.org/licenses/MIT
+
+* Bootstrap
+Resource URI: http://getbootstrap.com/
+Copyright: 2011-2014 Twitter, Inc
+License: MIT
+License URI: http://opensource.org/licenses/MIT
+
+* OwlCarousel 2.1.6
+Copyright: 2013 Bartosz Wojciechowski, David Deutsch
+Resource URI: https://owlcarousel2.github.io
+License: MIT
+License URI: http://opensource.org/licenses/MIT
+
+* SmoothScroll
+Copyright: Balazs Galambosi
+Resource URI: http://www.owlgraphic.com/owlcarousel/
+License: MIT
+License URI: http://opensource.org/licenses/MIT
+
+* jquery.mb.YTPlayer
+Copyright (c) 2001-2016. Matteo Bicocchi (Pupunzi)
+Resource URI: https://github.com/pupunzi/jquery.mb.YTPlayer
+Licenses: MIT, GPL
+Licenses URI: http://opensource.org/licenses/MIT
+              http://www.gnu.org/licenses/gpl.html
+
+* jquery.magnific-popup
+Copyright (c) 2013 Dmitry Semenov
+Resource URI: http://dimsemenov.com/plugins/magnific-popup/
+License: MIT
+License URI: http://opensource.org/licenses/MIT
+
+* FlexSlider
+Copyright 2012 WooThemes
+Resource URI: https://www.woothemes.com/flexslider/
+License: MIT
+License URI: http://opensource.org/licenses/MIT
+
+* FitVids.js
+Copyright 2013, Chris Coyier - http://css-tricks.com + Dave Rupert - http://daverupert.com
+Resource URI: http://fitvidsjs.com/
+License: WTFPL
+License URI: http://sam.zoy.org/wtfpl/
+
+* jqBootstrapValidation
+Resource URI: http://ReactiveRaven.github.com/jqBootstrapValidation/
+License: MIT
+License URI: http://opensource.org/licenses/MIT
+
+* animate.css
+Copyright (c) 2013 Daniel Eden
+Resource URI: http://daneden.me/animate
+License: MIT
+License URI: http://opensource.org/licenses/MIT
+
+* Customizer Range Value Control
+Copyright (c) 2016 Per Soderlind
+Resource URI: https://github.com/soderlind/class-customizer-range-value-control
+License: GPL
+License URI: http://www.gnu.org/licenses/gpl.html
+
+* Customizer Alpha Color Picker
+Copyright (c) 2015 Braad Martin
+Resource URI: https://github.com/BraadMartin/components
+License: GPL
+License URI: http://www.gnu.org/licenses/gpl.html
diff --git a/templates/shop-isle/archive.php b/templates/shop-isle/archive.php
new file mode 100644 (file)
index 0000000..9bff4fe
--- /dev/null
@@ -0,0 +1,137 @@
+<?php
+/**
+ * The template for displaying archive pages.
+ *
+ * Learn more: http://codex.wordpress.org/Template_Hierarchy
+ *
+ * @package WordPress
+ * @subpackage Shop Isle
+ */
+?>
+<?php get_header(); ?>
+
+<!-- Wrapper start -->
+<div class="main">
+
+       <!-- Header section start -->
+       <?php
+       $shop_isle_header_image = get_header_image();
+       if ( ! empty( $shop_isle_header_image ) ) :
+               echo '<section class="page-header-module module bg-dark" data-background="' . esc_url( $shop_isle_header_image ) . '">';
+       else :
+               echo '<section class="page-module-header module bg-dark">';
+       endif;
+       ?>
+       <div class="container">
+
+               <div class="row">
+
+                       <div class="col-sm-6 col-sm-offset-3">
+
+                               <h1 class="module-title font-alt"><?php the_archive_title(); ?></h1>
+
+                               <?php the_archive_description(); ?>
+
+                       </div><!-- .col-sm-6 col-sm-offset-3 -->
+
+               </div><!-- .row -->
+
+       </div><!-- .container -->
+
+       <?php
+       echo '</section><!-- .module -->';
+       ?>
+       <!-- Header section end -->
+
+       <?php
+       if ( have_posts() ) {
+               ?>
+               <section class="page-module-content module">
+               <div class="container">
+
+                       <div class="row">
+
+                               <!-- Content column start -->
+                               <div class="col-sm-8">
+                                       <?php
+
+                                       while ( have_posts() ) {
+                                               the_post();
+
+                                               ?>
+                                               <div id="post-<?php the_ID(); ?>" <?php post_class( 'post' ); ?> itemscope="" itemtype="http://schema.org/BlogPosting">
+
+                                                       <?php
+                                                       if ( has_post_thumbnail() ) {
+                                                               echo '<div class="post-thumbnail">';
+                                                               echo '<a href="' . esc_url( get_permalink() ) . '">';
+                                                               echo get_the_post_thumbnail( $post->ID, 'shop_isle_blog_image_size' );
+                                                               echo '</a>';
+                                                               echo '</div>';
+                                                       }
+                                                       ?>
+
+                                                       <div class="post-header font-alt">
+                                                               <h2 class="post-title"><a href="<?php echo esc_url( get_permalink() ); ?>"><?php the_title(); ?></a></h2>
+                                                               <div class="post-meta">
+                                                                       <?php
+                                                                       shop_isle_posted_on();
+                                                                       ?>
+
+                                                                       </div>
+                                                                       </div>
+
+                                                                       <div class="post-entry">
+                                                                       <?php
+                                                                       $shop_isleismore = strpos( $post->post_content, '<!--more-->' );
+                                                                       if ( $shop_isleismore ) :
+                                                                               the_content();
+                                                                               else :
+                                                                                       the_excerpt();
+                                                                               endif;
+                                                                               ?>
+                                                                       </div>
+
+                                                                       <div class="post-more">
+                                                                               <a href="<?php echo esc_url( get_permalink() ); ?>" class="more-link"><?php esc_html_e( 'Read more','shop-isle' ); ?></a>
+                                                                       </div>
+
+                                                               </div>
+                                                               <?php
+
+                                       }// End while().
+
+                                       ?>
+
+                                       <!-- Pagination start-->
+                                       <div class="pagination font-alt">
+                                               <?php next_posts_link( __( '<span class="meta-nav">&laquo;</span> Older posts', 'shop-isle' ) ); ?>
+                                               <?php previous_posts_link( __( 'Newer posts <span class="meta-nav">&raquo;</span>', 'shop-isle' ) ); ?>
+                                               </div>
+                                               <!-- Pagination end -->
+                                               </div>
+                                               <!-- Content column end -->
+
+                                               <!-- Sidebar column start -->
+                                               <div class="col-sm-4 col-md-3 col-md-offset-1 sidebar">
+
+                                               <?php do_action( 'shop_isle_sidebar' ); ?>
+
+                                               </div>
+                                               <!-- Sidebar column end -->
+
+                                       </div><!-- .row -->
+
+                               </div>
+                       </section>
+                       <!-- Blog standar end -->
+
+                       <?php
+                       /* Restore original Post Data */
+                       wp_reset_postdata();
+       }// End if().
+
+
+       ?>
+
+       <?php get_footer(); ?>
diff --git a/templates/shop-isle/assets/bootstrap/css/bootstrap-theme.css b/templates/shop-isle/assets/bootstrap/css/bootstrap-theme.css
new file mode 100644 (file)
index 0000000..8e8f4d9
--- /dev/null
@@ -0,0 +1,476 @@
+/*!
+ * Bootstrap v3.3.4 (http://getbootstrap.com)
+ * Copyright 2011-2015 Twitter, Inc.
+ * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
+ */
+
+.btn-default,
+.btn-primary,
+.btn-success,
+.btn-info,
+.btn-warning,
+.btn-danger {
+       text-shadow: 0 -1px 0 rgba(0, 0, 0, .2);
+       -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, .15), 0 1px 1px rgba(0, 0, 0, .075);
+       box-shadow: inset 0 1px 0 rgba(255, 255, 255, .15), 0 1px 1px rgba(0, 0, 0, .075);
+}
+.btn-default:active,
+.btn-primary:active,
+.btn-success:active,
+.btn-info:active,
+.btn-warning:active,
+.btn-danger:active,
+.btn-default.active,
+.btn-primary.active,
+.btn-success.active,
+.btn-info.active,
+.btn-warning.active,
+.btn-danger.active {
+       -webkit-box-shadow: inset 0 3px 5px rgba(0, 0, 0, .125);
+       box-shadow: inset 0 3px 5px rgba(0, 0, 0, .125);
+}
+.btn-default .badge,
+.btn-primary .badge,
+.btn-success .badge,
+.btn-info .badge,
+.btn-warning .badge,
+.btn-danger .badge {
+       text-shadow: none;
+}
+.btn:active,
+.btn.active {
+       background-image: none;
+}
+.btn-default {
+       text-shadow: 0 1px 0 #fff;
+       background-image: -webkit-linear-gradient(top, #fff 0%, #e0e0e0 100%);
+       background-image:      -o-linear-gradient(top, #fff 0%, #e0e0e0 100%);
+       background-image: -webkit-gradient(linear, left top, left bottom, from(#fff), to(#e0e0e0));
+       background-image:         linear-gradient(to bottom, #fff 0%, #e0e0e0 100%);
+       filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffffff', endColorstr='#ffe0e0e0', GradientType=0);
+       filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);
+       background-repeat: repeat-x;
+       border-color: #dbdbdb;
+       border-color: #ccc;
+}
+.btn-default:hover,
+.btn-default:focus {
+       background-color: #e0e0e0;
+       background-position: 0 -15px;
+}
+.btn-default:active,
+.btn-default.active {
+       background-color: #e0e0e0;
+       border-color: #dbdbdb;
+}
+.btn-default.disabled,
+.btn-default:disabled,
+.btn-default[disabled] {
+       background-color: #e0e0e0;
+       background-image: none;
+}
+.btn-primary {
+       background-image: -webkit-linear-gradient(top, #337ab7 0%, #265a88 100%);
+       background-image:      -o-linear-gradient(top, #337ab7 0%, #265a88 100%);
+       background-image: -webkit-gradient(linear, left top, left bottom, from(#337ab7), to(#265a88));
+       background-image:         linear-gradient(to bottom, #337ab7 0%, #265a88 100%);
+       filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff337ab7', endColorstr='#ff265a88', GradientType=0);
+       filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);
+       background-repeat: repeat-x;
+       border-color: #245580;
+}
+.btn-primary:hover,
+.btn-primary:focus {
+       background-color: #265a88;
+       background-position: 0 -15px;
+}
+.btn-primary:active,
+.btn-primary.active {
+       background-color: #265a88;
+       border-color: #245580;
+}
+.btn-primary.disabled,
+.btn-primary:disabled,
+.btn-primary[disabled] {
+       background-color: #265a88;
+       background-image: none;
+}
+.btn-success {
+       background-image: -webkit-linear-gradient(top, #5cb85c 0%, #419641 100%);
+       background-image:      -o-linear-gradient(top, #5cb85c 0%, #419641 100%);
+       background-image: -webkit-gradient(linear, left top, left bottom, from(#5cb85c), to(#419641));
+       background-image:         linear-gradient(to bottom, #5cb85c 0%, #419641 100%);
+       filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5cb85c', endColorstr='#ff419641', GradientType=0);
+       filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);
+       background-repeat: repeat-x;
+       border-color: #3e8f3e;
+}
+.btn-success:hover,
+.btn-success:focus {
+       background-color: #419641;
+       background-position: 0 -15px;
+}
+.btn-success:active,
+.btn-success.active {
+       background-color: #419641;
+       border-color: #3e8f3e;
+}
+.btn-success.disabled,
+.btn-success:disabled,
+.btn-success[disabled] {
+       background-color: #419641;
+       background-image: none;
+}
+.btn-info {
+       background-image: -webkit-linear-gradient(top, #5bc0de 0%, #2aabd2 100%);
+       background-image:      -o-linear-gradient(top, #5bc0de 0%, #2aabd2 100%);
+       background-image: -webkit-gradient(linear, left top, left bottom, from(#5bc0de), to(#2aabd2));
+       background-image:         linear-gradient(to bottom, #5bc0de 0%, #2aabd2 100%);
+       filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5bc0de', endColorstr='#ff2aabd2', GradientType=0);
+       filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);
+       background-repeat: repeat-x;
+       border-color: #28a4c9;
+}
+.btn-info:hover,
+.btn-info:focus {
+       background-color: #2aabd2;
+       background-position: 0 -15px;
+}
+.btn-info:active,
+.btn-info.active {
+       background-color: #2aabd2;
+       border-color: #28a4c9;
+}
+.btn-info.disabled,
+.btn-info:disabled,
+.btn-info[disabled] {
+       background-color: #2aabd2;
+       background-image: none;
+}
+.btn-warning {
+       background-image: -webkit-linear-gradient(top, #f0ad4e 0%, #eb9316 100%);
+       background-image:      -o-linear-gradient(top, #f0ad4e 0%, #eb9316 100%);
+       background-image: -webkit-gradient(linear, left top, left bottom, from(#f0ad4e), to(#eb9316));
+       background-image:         linear-gradient(to bottom, #f0ad4e 0%, #eb9316 100%);
+       filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff0ad4e', endColorstr='#ffeb9316', GradientType=0);
+       filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);
+       background-repeat: repeat-x;
+       border-color: #e38d13;
+}
+.btn-warning:hover,
+.btn-warning:focus {
+       background-color: #eb9316;
+       background-position: 0 -15px;
+}
+.btn-warning:active,
+.btn-warning.active {
+       background-color: #eb9316;
+       border-color: #e38d13;
+}
+.btn-warning.disabled,
+.btn-warning:disabled,
+.btn-warning[disabled] {
+       background-color: #eb9316;
+       background-image: none;
+}
+.btn-danger {
+       background-image: -webkit-linear-gradient(top, #d9534f 0%, #c12e2a 100%);
+       background-image:      -o-linear-gradient(top, #d9534f 0%, #c12e2a 100%);
+       background-image: -webkit-gradient(linear, left top, left bottom, from(#d9534f), to(#c12e2a));
+       background-image:         linear-gradient(to bottom, #d9534f 0%, #c12e2a 100%);
+       filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffd9534f', endColorstr='#ffc12e2a', GradientType=0);
+       filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);
+       background-repeat: repeat-x;
+       border-color: #b92c28;
+}
+.btn-danger:hover,
+.btn-danger:focus {
+       background-color: #c12e2a;
+       background-position: 0 -15px;
+}
+.btn-danger:active,
+.btn-danger.active {
+       background-color: #c12e2a;
+       border-color: #b92c28;
+}
+.btn-danger.disabled,
+.btn-danger:disabled,
+.btn-danger[disabled] {
+       background-color: #c12e2a;
+       background-image: none;
+}
+.thumbnail,
+.img-thumbnail {
+       -webkit-box-shadow: 0 1px 2px rgba(0, 0, 0, .075);
+       box-shadow: 0 1px 2px rgba(0, 0, 0, .075);
+}
+.dropdown-menu > li > a:hover,
+.dropdown-menu > li > a:focus {
+       background-color: #e8e8e8;
+       background-image: -webkit-linear-gradient(top, #f5f5f5 0%, #e8e8e8 100%);
+       background-image:      -o-linear-gradient(top, #f5f5f5 0%, #e8e8e8 100%);
+       background-image: -webkit-gradient(linear, left top, left bottom, from(#f5f5f5), to(#e8e8e8));
+       background-image:         linear-gradient(to bottom, #f5f5f5 0%, #e8e8e8 100%);
+       filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff5f5f5', endColorstr='#ffe8e8e8', GradientType=0);
+       background-repeat: repeat-x;
+}
+.dropdown-menu > .active > a,
+.dropdown-menu > .active > a:hover,
+.dropdown-menu > .active > a:focus {
+       background-color: #2e6da4;
+       background-image: -webkit-linear-gradient(top, #337ab7 0%, #2e6da4 100%);
+       background-image:      -o-linear-gradient(top, #337ab7 0%, #2e6da4 100%);
+       background-image: -webkit-gradient(linear, left top, left bottom, from(#337ab7), to(#2e6da4));
+       background-image:         linear-gradient(to bottom, #337ab7 0%, #2e6da4 100%);
+       filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff337ab7', endColorstr='#ff2e6da4', GradientType=0);
+       background-repeat: repeat-x;
+}
+.navbar-default {
+       background-image: -webkit-linear-gradient(top, #fff 0%, #f8f8f8 100%);
+       background-image:      -o-linear-gradient(top, #fff 0%, #f8f8f8 100%);
+       background-image: -webkit-gradient(linear, left top, left bottom, from(#fff), to(#f8f8f8));
+       background-image:         linear-gradient(to bottom, #fff 0%, #f8f8f8 100%);
+       filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffffff', endColorstr='#fff8f8f8', GradientType=0);
+       filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);
+       background-repeat: repeat-x;
+       border-radius: 4px;
+       -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, .15), 0 1px 5px rgba(0, 0, 0, .075);
+       box-shadow: inset 0 1px 0 rgba(255, 255, 255, .15), 0 1px 5px rgba(0, 0, 0, .075);
+}
+.navbar-default .navbar-nav > .open > a,
+.navbar-default .navbar-nav > .active > a {
+       background-image: -webkit-linear-gradient(top, #dbdbdb 0%, #e2e2e2 100%);
+       background-image:      -o-linear-gradient(top, #dbdbdb 0%, #e2e2e2 100%);
+       background-image: -webkit-gradient(linear, left top, left bottom, from(#dbdbdb), to(#e2e2e2));
+       background-image:         linear-gradient(to bottom, #dbdbdb 0%, #e2e2e2 100%);
+       filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffdbdbdb', endColorstr='#ffe2e2e2', GradientType=0);
+       background-repeat: repeat-x;
+       -webkit-box-shadow: inset 0 3px 9px rgba(0, 0, 0, .075);
+       box-shadow: inset 0 3px 9px rgba(0, 0, 0, .075);
+}
+.navbar-brand,
+.navbar-nav > li > a {
+       text-shadow: 0 1px 0 rgba(255, 255, 255, .25);
+}
+.navbar-inverse {
+       background-image: -webkit-linear-gradient(top, #3c3c3c 0%, #222 100%);
+       background-image:      -o-linear-gradient(top, #3c3c3c 0%, #222 100%);
+       background-image: -webkit-gradient(linear, left top, left bottom, from(#3c3c3c), to(#222));
+       background-image:         linear-gradient(to bottom, #3c3c3c 0%, #222 100%);
+       filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff3c3c3c', endColorstr='#ff222222', GradientType=0);
+       filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);
+       background-repeat: repeat-x;
+}
+.navbar-inverse .navbar-nav > .open > a,
+.navbar-inverse .navbar-nav > .active > a {
+       background-image: -webkit-linear-gradient(top, #080808 0%, #0f0f0f 100%);
+       background-image:      -o-linear-gradient(top, #080808 0%, #0f0f0f 100%);
+       background-image: -webkit-gradient(linear, left top, left bottom, from(#080808), to(#0f0f0f));
+       background-image:         linear-gradient(to bottom, #080808 0%, #0f0f0f 100%);
+       filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff080808', endColorstr='#ff0f0f0f', GradientType=0);
+       background-repeat: repeat-x;
+       -webkit-box-shadow: inset 0 3px 9px rgba(0, 0, 0, .25);
+       box-shadow: inset 0 3px 9px rgba(0, 0, 0, .25);
+}
+.navbar-inverse .navbar-brand,
+.navbar-inverse .navbar-nav > li > a {
+       text-shadow: 0 -1px 0 rgba(0, 0, 0, .25);
+}
+.navbar-static-top,
+.navbar-fixed-top,
+.navbar-fixed-bottom {
+       border-radius: 0;
+}
+@media (max-width: 767px) {
+       .navbar .navbar-nav .open .dropdown-menu > .active > a,
+       .navbar .navbar-nav .open .dropdown-menu > .active > a:hover,
+       .navbar .navbar-nav .open .dropdown-menu > .active > a:focus {
+               color: #fff;
+               background-image: -webkit-linear-gradient(top, #337ab7 0%, #2e6da4 100%);
+               background-image:      -o-linear-gradient(top, #337ab7 0%, #2e6da4 100%);
+               background-image: -webkit-gradient(linear, left top, left bottom, from(#337ab7), to(#2e6da4));
+               background-image:         linear-gradient(to bottom, #337ab7 0%, #2e6da4 100%);
+               filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff337ab7', endColorstr='#ff2e6da4', GradientType=0);
+               background-repeat: repeat-x;
+       }
+}
+.alert {
+       text-shadow: 0 1px 0 rgba(255, 255, 255, .2);
+       -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, .25), 0 1px 2px rgba(0, 0, 0, .05);
+       box-shadow: inset 0 1px 0 rgba(255, 255, 255, .25), 0 1px 2px rgba(0, 0, 0, .05);
+}
+.alert-success {
+       background-image: -webkit-linear-gradient(top, #dff0d8 0%, #c8e5bc 100%);
+       background-image:      -o-linear-gradient(top, #dff0d8 0%, #c8e5bc 100%);
+       background-image: -webkit-gradient(linear, left top, left bottom, from(#dff0d8), to(#c8e5bc));
+       background-image:         linear-gradient(to bottom, #dff0d8 0%, #c8e5bc 100%);
+       filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffdff0d8', endColorstr='#ffc8e5bc', GradientType=0);
+       background-repeat: repeat-x;
+       border-color: #b2dba1;
+}
+.alert-info {
+       background-image: -webkit-linear-gradient(top, #d9edf7 0%, #b9def0 100%);
+       background-image:      -o-linear-gradient(top, #d9edf7 0%, #b9def0 100%);
+       background-image: -webkit-gradient(linear, left top, left bottom, from(#d9edf7), to(#b9def0));
+       background-image:         linear-gradient(to bottom, #d9edf7 0%, #b9def0 100%);
+       filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffd9edf7', endColorstr='#ffb9def0', GradientType=0);
+       background-repeat: repeat-x;
+       border-color: #9acfea;
+}
+.alert-warning {
+       background-image: -webkit-linear-gradient(top, #fcf8e3 0%, #f8efc0 100%);
+       background-image:      -o-linear-gradient(top, #fcf8e3 0%, #f8efc0 100%);
+       background-image: -webkit-gradient(linear, left top, left bottom, from(#fcf8e3), to(#f8efc0));
+       background-image:         linear-gradient(to bottom, #fcf8e3 0%, #f8efc0 100%);
+       filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fffcf8e3', endColorstr='#fff8efc0', GradientType=0);
+       background-repeat: repeat-x;
+       border-color: #f5e79e;
+}
+.alert-danger {
+       background-image: -webkit-linear-gradient(top, #f2dede 0%, #e7c3c3 100%);
+       background-image:      -o-linear-gradient(top, #f2dede 0%, #e7c3c3 100%);
+       background-image: -webkit-gradient(linear, left top, left bottom, from(#f2dede), to(#e7c3c3));
+       background-image:         linear-gradient(to bottom, #f2dede 0%, #e7c3c3 100%);
+       filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff2dede', endColorstr='#ffe7c3c3', GradientType=0);
+       background-repeat: repeat-x;
+       border-color: #dca7a7;
+}
+.progress {
+       background-image: -webkit-linear-gradient(top, #ebebeb 0%, #f5f5f5 100%);
+       background-image:      -o-linear-gradient(top, #ebebeb 0%, #f5f5f5 100%);
+       background-image: -webkit-gradient(linear, left top, left bottom, from(#ebebeb), to(#f5f5f5));
+       background-image:         linear-gradient(to bottom, #ebebeb 0%, #f5f5f5 100%);
+       filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffebebeb', endColorstr='#fff5f5f5', GradientType=0);
+       background-repeat: repeat-x;
+}
+.progress-bar {
+       background-image: -webkit-linear-gradient(top, #337ab7 0%, #286090 100%);
+       background-image:      -o-linear-gradient(top, #337ab7 0%, #286090 100%);
+       background-image: -webkit-gradient(linear, left top, left bottom, from(#337ab7), to(#286090));
+       background-image:         linear-gradient(to bottom, #337ab7 0%, #286090 100%);
+       filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff337ab7', endColorstr='#ff286090', GradientType=0);
+       background-repeat: repeat-x;
+}
+.progress-bar-success {
+       background-image: -webkit-linear-gradient(top, #5cb85c 0%, #449d44 100%);
+       background-image:      -o-linear-gradient(top, #5cb85c 0%, #449d44 100%);
+       background-image: -webkit-gradient(linear, left top, left bottom, from(#5cb85c), to(#449d44));
+       background-image:         linear-gradient(to bottom, #5cb85c 0%, #449d44 100%);
+       filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5cb85c', endColorstr='#ff449d44', GradientType=0);
+       background-repeat: repeat-x;
+}
+.progress-bar-info {
+       background-image: -webkit-linear-gradient(top, #5bc0de 0%, #31b0d5 100%);
+       background-image:      -o-linear-gradient(top, #5bc0de 0%, #31b0d5 100%);
+       background-image: -webkit-gradient(linear, left top, left bottom, from(#5bc0de), to(#31b0d5));
+       background-image:         linear-gradient(to bottom, #5bc0de 0%, #31b0d5 100%);
+       filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5bc0de', endColorstr='#ff31b0d5', GradientType=0);
+       background-repeat: repeat-x;
+}
+.progress-bar-warning {
+       background-image: -webkit-linear-gradient(top, #f0ad4e 0%, #ec971f 100%);
+       background-image:      -o-linear-gradient(top, #f0ad4e 0%, #ec971f 100%);
+       background-image: -webkit-gradient(linear, left top, left bottom, from(#f0ad4e), to(#ec971f));
+       background-image:         linear-gradient(to bottom, #f0ad4e 0%, #ec971f 100%);
+       filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff0ad4e', endColorstr='#ffec971f', GradientType=0);
+       background-repeat: repeat-x;
+}
+.progress-bar-danger {
+       background-image: -webkit-linear-gradient(top, #d9534f 0%, #c9302c 100%);
+       background-image:      -o-linear-gradient(top, #d9534f 0%, #c9302c 100%);
+       background-image: -webkit-gradient(linear, left top, left bottom, from(#d9534f), to(#c9302c));
+       background-image:         linear-gradient(to bottom, #d9534f 0%, #c9302c 100%);
+       filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffd9534f', endColorstr='#ffc9302c', GradientType=0);
+       background-repeat: repeat-x;
+}
+.progress-bar-striped {
+       background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent);
+       background-image:      -o-linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent);
+       background-image:         linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent);
+}
+.list-group {
+       border-radius: 4px;
+       -webkit-box-shadow: 0 1px 2px rgba(0, 0, 0, .075);
+       box-shadow: 0 1px 2px rgba(0, 0, 0, .075);
+}
+.list-group-item.active,
+.list-group-item.active:hover,
+.list-group-item.active:focus {
+       text-shadow: 0 -1px 0 #286090;
+       background-image: -webkit-linear-gradient(top, #337ab7 0%, #2b669a 100%);
+       background-image:      -o-linear-gradient(top, #337ab7 0%, #2b669a 100%);
+       background-image: -webkit-gradient(linear, left top, left bottom, from(#337ab7), to(#2b669a));
+       background-image:         linear-gradient(to bottom, #337ab7 0%, #2b669a 100%);
+       filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff337ab7', endColorstr='#ff2b669a', GradientType=0);
+       background-repeat: repeat-x;
+       border-color: #2b669a;
+}
+.list-group-item.active .badge,
+.list-group-item.active:hover .badge,
+.list-group-item.active:focus .badge {
+       text-shadow: none;
+}
+.panel {
+       -webkit-box-shadow: 0 1px 2px rgba(0, 0, 0, .05);
+       box-shadow: 0 1px 2px rgba(0, 0, 0, .05);
+}
+.panel-default > .panel-heading {
+       background-image: -webkit-linear-gradient(top, #f5f5f5 0%, #e8e8e8 100%);
+       background-image:      -o-linear-gradient(top, #f5f5f5 0%, #e8e8e8 100%);
+       background-image: -webkit-gradient(linear, left top, left bottom, from(#f5f5f5), to(#e8e8e8));
+       background-image:         linear-gradient(to bottom, #f5f5f5 0%, #e8e8e8 100%);
+       filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff5f5f5', endColorstr='#ffe8e8e8', GradientType=0);
+       background-repeat: repeat-x;
+}
+.panel-primary > .panel-heading {
+       background-image: -webkit-linear-gradient(top, #337ab7 0%, #2e6da4 100%);
+       background-image:      -o-linear-gradient(top, #337ab7 0%, #2e6da4 100%);
+       background-image: -webkit-gradient(linear, left top, left bottom, from(#337ab7), to(#2e6da4));
+       background-image:         linear-gradient(to bottom, #337ab7 0%, #2e6da4 100%);
+       filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff337ab7', endColorstr='#ff2e6da4', GradientType=0);
+       background-repeat: repeat-x;
+}
+.panel-success > .panel-heading {
+       background-image: -webkit-linear-gradient(top, #dff0d8 0%, #d0e9c6 100%);
+       background-image:      -o-linear-gradient(top, #dff0d8 0%, #d0e9c6 100%);
+       background-image: -webkit-gradient(linear, left top, left bottom, from(#dff0d8), to(#d0e9c6));
+       background-image:         linear-gradient(to bottom, #dff0d8 0%, #d0e9c6 100%);
+       filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffdff0d8', endColorstr='#ffd0e9c6', GradientType=0);
+       background-repeat: repeat-x;
+}
+.panel-info > .panel-heading {
+       background-image: -webkit-linear-gradient(top, #d9edf7 0%, #c4e3f3 100%);
+       background-image:      -o-linear-gradient(top, #d9edf7 0%, #c4e3f3 100%);
+       background-image: -webkit-gradient(linear, left top, left bottom, from(#d9edf7), to(#c4e3f3));
+       background-image:         linear-gradient(to bottom, #d9edf7 0%, #c4e3f3 100%);
+       filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffd9edf7', endColorstr='#ffc4e3f3', GradientType=0);
+       background-repeat: repeat-x;
+}
+.panel-warning > .panel-heading {
+       background-image: -webkit-linear-gradient(top, #fcf8e3 0%, #faf2cc 100%);
+       background-image:      -o-linear-gradient(top, #fcf8e3 0%, #faf2cc 100%);
+       background-image: -webkit-gradient(linear, left top, left bottom, from(#fcf8e3), to(#faf2cc));
+       background-image:         linear-gradient(to bottom, #fcf8e3 0%, #faf2cc 100%);
+       filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fffcf8e3', endColorstr='#fffaf2cc', GradientType=0);
+       background-repeat: repeat-x;
+}
+.panel-danger > .panel-heading {
+       background-image: -webkit-linear-gradient(top, #f2dede 0%, #ebcccc 100%);
+       background-image:      -o-linear-gradient(top, #f2dede 0%, #ebcccc 100%);
+       background-image: -webkit-gradient(linear, left top, left bottom, from(#f2dede), to(#ebcccc));
+       background-image:         linear-gradient(to bottom, #f2dede 0%, #ebcccc 100%);
+       filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff2dede', endColorstr='#ffebcccc', GradientType=0);
+       background-repeat: repeat-x;
+}
+.well {
+       background-image: -webkit-linear-gradient(top, #e8e8e8 0%, #f5f5f5 100%);
+       background-image:      -o-linear-gradient(top, #e8e8e8 0%, #f5f5f5 100%);
+       background-image: -webkit-gradient(linear, left top, left bottom, from(#e8e8e8), to(#f5f5f5));
+       background-image:         linear-gradient(to bottom, #e8e8e8 0%, #f5f5f5 100%);
+       filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffe8e8e8', endColorstr='#fff5f5f5', GradientType=0);
+       background-repeat: repeat-x;
+       border-color: #dcdcdc;
+       -webkit-box-shadow: inset 0 1px 3px rgba(0, 0, 0, .05), 0 1px 0 rgba(255, 255, 255, .1);
+       box-shadow: inset 0 1px 3px rgba(0, 0, 0, .05), 0 1px 0 rgba(255, 255, 255, .1);
+}
+/*# sourceMappingURL=bootstrap-theme.css.map */
diff --git a/templates/shop-isle/assets/bootstrap/css/bootstrap-theme.css.map b/templates/shop-isle/assets/bootstrap/css/bootstrap-theme.css.map
new file mode 100644 (file)
index 0000000..5a12d63
--- /dev/null
@@ -0,0 +1 @@
+{"version":3,"sources":["less/theme.less","less/mixins/vendor-prefixes.less","bootstrap-theme.css","less/mixins/gradients.less","less/mixins/reset-filter.less"],"names":[],"mappings":"AAcA;;;;;;EAME,0CAAA;ECgDA,6FAAA;EACQ,qFAAA;EC5DT;AFgBC;;;;;;;;;;;;EC2CA,0DAAA;EACQ,kDAAA;EC7CT;AFVD;;;;;;EAiBI,mBAAA;EECH;AFiCC;;EAEE,wBAAA;EE/BH;AFoCD;EGnDI,0EAAA;EACA,qEAAA;EACA,+FAAA;EAAA,wEAAA;EAEA,wHAAA;ECnBF,qEAAA;EJiCA,6BAAA;EACA,uBAAA;EAgC2C,2BAAA;EAA2B,oBAAA;EEzBvE;AFLC;;EAEE,2BAAA;EACA,8BAAA;EEOH;AFJC;;EAEE,2BAAA;EACA,uBAAA;EEMH;AFHC;;;EAGE,2BAAA;EACA,wBAAA;EEKH;AFUD;EGpDI,0EAAA;EACA,qEAAA;EACA,+FAAA;EAAA,wEAAA;EAEA,wHAAA;ECnBF,qEAAA;EJiCA,6BAAA;EACA,uBAAA;EEgCD;AF9BC;;EAEE,2BAAA;EACA,8BAAA;EEgCH;AF7BC;;EAEE,2BAAA;EACA,uBAAA;EE+BH;AF5BC;;;EAGE,2BAAA;EACA,wBAAA;EE8BH;AFdD;EGrDI,0EAAA;EACA,qEAAA;EACA,+FAAA;EAAA,wEAAA;EAEA,wHAAA;ECnBF,qEAAA;EJiCA,6BAAA;EACA,uBAAA;EEyDD;AFvDC;;EAEE,2BAAA;EACA,8BAAA;EEyDH;AFtDC;;EAEE,2BAAA;EACA,uBAAA;EEwDH;AFrDC;;;EAGE,2BAAA;EACA,wBAAA;EEuDH;AFtCD;EGtDI,0EAAA;EACA,qEAAA;EACA,+FAAA;EAAA,wEAAA;EAEA,wHAAA;ECnBF,qEAAA;EJiCA,6BAAA;EACA,uBAAA;EEkFD;AFhFC;;EAEE,2BAAA;EACA,8BAAA;EEkFH;AF/EC;;EAEE,2BAAA;EACA,uBAAA;EEiFH;AF9EC;;;EAGE,2BAAA;EACA,wBAAA;EEgFH;AF9DD;EGvDI,0EAAA;EACA,qEAAA;EACA,+FAAA;EAAA,wEAAA;EAEA,wHAAA;ECnBF,qEAAA;EJiCA,6BAAA;EACA,uBAAA;EE2GD;AFzGC;;EAEE,2BAAA;EACA,8BAAA;EE2GH;AFxGC;;EAEE,2BAAA;EACA,uBAAA;EE0GH;AFvGC;;;EAGE,2BAAA;EACA,wBAAA;EEyGH;AFtFD;EGxDI,0EAAA;EACA,qEAAA;EACA,+FAAA;EAAA,wEAAA;EAEA,wHAAA;ECnBF,qEAAA;EJiCA,6BAAA;EACA,uBAAA;EEoID;AFlIC;;EAEE,2BAAA;EACA,8BAAA;EEoIH;AFjIC;;EAEE,2BAAA;EACA,uBAAA;EEmIH;AFhIC;;;EAGE,2BAAA;EACA,wBAAA;EEkIH;AFxGD;;EChBE,oDAAA;EACQ,4CAAA;EC4HT;AFnGD;;EGzEI,0EAAA;EACA,qEAAA;EACA,+FAAA;EAAA,wEAAA;EACA,6BAAA;EACA,wHAAA;EHwEF,2BAAA;EEyGD;AFvGD;;;EG9EI,0EAAA;EACA,qEAAA;EACA,+FAAA;EAAA,wEAAA;EACA,6BAAA;EACA,wHAAA;EH8EF,2BAAA;EE6GD;AFpGD;EG3FI,0EAAA;EACA,qEAAA;EACA,+FAAA;EAAA,wEAAA;EACA,6BAAA;EACA,wHAAA;ECnBF,qEAAA;EJ6GA,oBAAA;EC/CA,6FAAA;EACQ,qFAAA;EC0JT;AF/GD;;EG3FI,0EAAA;EACA,qEAAA;EACA,+FAAA;EAAA,wEAAA;EACA,6BAAA;EACA,wHAAA;EF2CF,0DAAA;EACQ,kDAAA;ECoKT;AF5GD;;EAEE,gDAAA;EE8GD;AF1GD;EG9GI,0EAAA;EACA,qEAAA;EACA,+FAAA;EAAA,wEAAA;EACA,6BAAA;EACA,wHAAA;ECnBF,qEAAA;EF+OD;AFlHD;;EG9GI,0EAAA;EACA,qEAAA;EACA,+FAAA;EAAA,wEAAA;EACA,6BAAA;EACA,wHAAA;EF2CF,yDAAA;EACQ,iDAAA;EC0LT;AF5HD;;EAYI,2CAAA;EEoHH;AF/GD;;;EAGE,kBAAA;EEiHD;AF5FD;EAfI;;;IAGE,aAAA;IG3IF,0EAAA;IACA,qEAAA;IACA,+FAAA;IAAA,wEAAA;IACA,6BAAA;IACA,wHAAA;ID0PD;EACF;AFxGD;EACE,+CAAA;ECzGA,4FAAA;EACQ,oFAAA;ECoNT;AFhGD;EGpKI,0EAAA;EACA,qEAAA;EACA,+FAAA;EAAA,wEAAA;EACA,6BAAA;EACA,wHAAA;EH4JF,uBAAA;EE4GD;AFvGD;EGrKI,0EAAA;EACA,qEAAA;EACA,+FAAA;EAAA,wEAAA;EACA,6BAAA;EACA,wHAAA;EH4JF,uBAAA;EEoHD;AF9GD;EGtKI,0EAAA;EACA,qEAAA;EACA,+FAAA;EAAA,wEAAA;EACA,6BAAA;EACA,wHAAA;EH4JF,uBAAA;EE4HD;AFrHD;EGvKI,0EAAA;EACA,qEAAA;EACA,+FAAA;EAAA,wEAAA;EACA,6BAAA;EACA,wHAAA;EH4JF,uBAAA;EEoID;AFrHD;EG/KI,0EAAA;EACA,qEAAA;EACA,+FAAA;EAAA,wEAAA;EACA,6BAAA;EACA,wHAAA;EDuSH;AFlHD;EGzLI,0EAAA;EACA,qEAAA;EACA,+FAAA;EAAA,wEAAA;EACA,6BAAA;EACA,wHAAA;ED8SH;AFxHD;EG1LI,0EAAA;EACA,qEAAA;EACA,+FAAA;EAAA,wEAAA;EACA,6BAAA;EACA,wHAAA;EDqTH;AF9HD;EG3LI,0EAAA;EACA,qEAAA;EACA,+FAAA;EAAA,wEAAA;EACA,6BAAA;EACA,wHAAA;ED4TH;AFpID;EG5LI,0EAAA;EACA,qEAAA;EACA,+FAAA;EAAA,wEAAA;EACA,6BAAA;EACA,wHAAA;EDmUH;AF1ID;EG7LI,0EAAA;EACA,qEAAA;EACA,+FAAA;EAAA,wEAAA;EACA,6BAAA;EACA,wHAAA;ED0UH;AF7ID;EGhKI,+MAAA;EACA,0MAAA;EACA,uMAAA;EDgTH;AFzID;EACE,oBAAA;EC5JA,oDAAA;EACQ,4CAAA;ECwST;AF1ID;;;EAGE,+BAAA;EGjNE,0EAAA;EACA,qEAAA;EACA,+FAAA;EAAA,wEAAA;EACA,6BAAA;EACA,wHAAA;EH+MF,uBAAA;EEgJD;AFrJD;;;EAQI,mBAAA;EEkJH;AFxID;ECjLE,mDAAA;EACQ,2CAAA;EC4TT;AFlID;EG1OI,0EAAA;EACA,qEAAA;EACA,+FAAA;EAAA,wEAAA;EACA,6BAAA;EACA,wHAAA;ED+WH;AFxID;EG3OI,0EAAA;EACA,qEAAA;EACA,+FAAA;EAAA,wEAAA;EACA,6BAAA;EACA,wHAAA;EDsXH;AF9ID;EG5OI,0EAAA;EACA,qEAAA;EACA,+FAAA;EAAA,wEAAA;EACA,6BAAA;EACA,wHAAA;ED6XH;AFpJD;EG7OI,0EAAA;EACA,qEAAA;EACA,+FAAA;EAAA,wEAAA;EACA,6BAAA;EACA,wHAAA;EDoYH;AF1JD;EG9OI,0EAAA;EACA,qEAAA;EACA,+FAAA;EAAA,wEAAA;EACA,6BAAA;EACA,wHAAA;ED2YH;AFhKD;EG/OI,0EAAA;EACA,qEAAA;EACA,+FAAA;EAAA,wEAAA;EACA,6BAAA;EACA,wHAAA;EDkZH;AFhKD;EGtPI,0EAAA;EACA,qEAAA;EACA,+FAAA;EAAA,wEAAA;EACA,6BAAA;EACA,wHAAA;EHoPF,uBAAA;ECzMA,2FAAA;EACQ,mFAAA;ECgXT","file":"bootstrap-theme.css","sourcesContent":["\n//\n// Load core variables and mixins\n// --------------------------------------------------\n\n@import \"variables.less\";\n@import \"mixins.less\";\n\n\n//\n// Buttons\n// --------------------------------------------------\n\n// Common styles\n.btn-default,\n.btn-primary,\n.btn-success,\n.btn-info,\n.btn-warning,\n.btn-danger {\n  text-shadow: 0 -1px 0 rgba(0,0,0,.2);\n  @shadow: inset 0 1px 0 rgba(255,255,255,.15), 0 1px 1px rgba(0,0,0,.075);\n  .box-shadow(@shadow);\n\n  // Reset the shadow\n  &:active,\n  &.active {\n    .box-shadow(inset 0 3px 5px rgba(0,0,0,.125));\n  }\n\n  .badge {\n    text-shadow: none;\n  }\n}\n\n// Mixin for generating new styles\n.btn-styles(@btn-color: #555) {\n  #gradient > .vertical(@start-color: @btn-color; @end-color: darken(@btn-color, 12%));\n  .reset-filter(); // Disable gradients for IE9 because filter bleeds through rounded corners; see https://github.com/twbs/bootstrap/issues/10620\n  background-repeat: repeat-x;\n  border-color: darken(@btn-color, 14%);\n\n  &:hover,\n  &:focus  {\n    background-color: darken(@btn-color, 12%);\n    background-position: 0 -15px;\n  }\n\n  &:active,\n  &.active {\n    background-color: darken(@btn-color, 12%);\n    border-color: darken(@btn-color, 14%);\n  }\n\n  &.disabled,\n  &:disabled,\n  &[disabled] {\n    background-color: darken(@btn-color, 12%);\n    background-image: none;\n  }\n}\n\n// Common styles\n.btn {\n  // Remove the gradient for the pressed/active state\n  &:active,\n  &.active {\n    background-image: none;\n  }\n}\n\n// Apply the mixin to the buttons\n.btn-default { .btn-styles(@btn-default-bg); text-shadow: 0 1px 0 #fff; border-color: #ccc; }\n.btn-primary { .btn-styles(@btn-primary-bg); }\n.btn-success { .btn-styles(@btn-success-bg); }\n.btn-info    { .btn-styles(@btn-info-bg); }\n.btn-warning { .btn-styles(@btn-warning-bg); }\n.btn-danger  { .btn-styles(@btn-danger-bg); }\n\n\n//\n// Images\n// --------------------------------------------------\n\n.thumbnail,\n.img-thumbnail {\n  .box-shadow(0 1px 2px rgba(0,0,0,.075));\n}\n\n\n//\n// Dropdowns\n// --------------------------------------------------\n\n.dropdown-menu > li > a:hover,\n.dropdown-menu > li > a:focus {\n  #gradient > .vertical(@start-color: @dropdown-link-hover-bg; @end-color: darken(@dropdown-link-hover-bg, 5%));\n  background-color: darken(@dropdown-link-hover-bg, 5%);\n}\n.dropdown-menu > .active > a,\n.dropdown-menu > .active > a:hover,\n.dropdown-menu > .active > a:focus {\n  #gradient > .vertical(@start-color: @dropdown-link-active-bg; @end-color: darken(@dropdown-link-active-bg, 5%));\n  background-color: darken(@dropdown-link-active-bg, 5%);\n}\n\n\n//\n// Navbar\n// --------------------------------------------------\n\n// Default navbar\n.navbar-default {\n  #gradient > .vertical(@start-color: lighten(@navbar-default-bg, 10%); @end-color: @navbar-default-bg);\n  .reset-filter(); // Remove gradient in IE<10 to fix bug where dropdowns don't get triggered\n  border-radius: @navbar-border-radius;\n  @shadow: inset 0 1px 0 rgba(255,255,255,.15), 0 1px 5px rgba(0,0,0,.075);\n  .box-shadow(@shadow);\n\n  .navbar-nav > .open > a,\n  .navbar-nav > .active > a {\n    #gradient > .vertical(@start-color: darken(@navbar-default-link-active-bg, 5%); @end-color: darken(@navbar-default-link-active-bg, 2%));\n    .box-shadow(inset 0 3px 9px rgba(0,0,0,.075));\n  }\n}\n.navbar-brand,\n.navbar-nav > li > a {\n  text-shadow: 0 1px 0 rgba(255,255,255,.25);\n}\n\n// Inverted navbar\n.navbar-inverse {\n  #gradient > .vertical(@start-color: lighten(@navbar-inverse-bg, 10%); @end-color: @navbar-inverse-bg);\n  .reset-filter(); // Remove gradient in IE<10 to fix bug where dropdowns don't get triggered; see https://github.com/twbs/bootstrap/issues/10257\n\n  .navbar-nav > .open > a,\n  .navbar-nav > .active > a {\n    #gradient > .vertical(@start-color: @navbar-inverse-link-active-bg; @end-color: lighten(@navbar-inverse-link-active-bg, 2.5%));\n    .box-shadow(inset 0 3px 9px rgba(0,0,0,.25));\n  }\n\n  .navbar-brand,\n  .navbar-nav > li > a {\n    text-shadow: 0 -1px 0 rgba(0,0,0,.25);\n  }\n}\n\n// Undo rounded corners in static and fixed navbars\n.navbar-static-top,\n.navbar-fixed-top,\n.navbar-fixed-bottom {\n  border-radius: 0;\n}\n\n// Fix active state of dropdown items in collapsed mode\n@media (max-width: @grid-float-breakpoint-max) {\n  .navbar .navbar-nav .open .dropdown-menu > .active > a {\n    &,\n    &:hover,\n    &:focus {\n      color: #fff;\n      #gradient > .vertical(@start-color: @dropdown-link-active-bg; @end-color: darken(@dropdown-link-active-bg, 5%));\n    }\n  }\n}\n\n\n//\n// Alerts\n// --------------------------------------------------\n\n// Common styles\n.alert {\n  text-shadow: 0 1px 0 rgba(255,255,255,.2);\n  @shadow: inset 0 1px 0 rgba(255,255,255,.25), 0 1px 2px rgba(0,0,0,.05);\n  .box-shadow(@shadow);\n}\n\n// Mixin for generating new styles\n.alert-styles(@color) {\n  #gradient > .vertical(@start-color: @color; @end-color: darken(@color, 7.5%));\n  border-color: darken(@color, 15%);\n}\n\n// Apply the mixin to the alerts\n.alert-success    { .alert-styles(@alert-success-bg); }\n.alert-info       { .alert-styles(@alert-info-bg); }\n.alert-warning    { .alert-styles(@alert-warning-bg); }\n.alert-danger     { .alert-styles(@alert-danger-bg); }\n\n\n//\n// Progress bars\n// --------------------------------------------------\n\n// Give the progress background some depth\n.progress {\n  #gradient > .vertical(@start-color: darken(@progress-bg, 4%); @end-color: @progress-bg)\n}\n\n// Mixin for generating new styles\n.progress-bar-styles(@color) {\n  #gradient > .vertical(@start-color: @color; @end-color: darken(@color, 10%));\n}\n\n// Apply the mixin to the progress bars\n.progress-bar            { .progress-bar-styles(@progress-bar-bg); }\n.progress-bar-success    { .progress-bar-styles(@progress-bar-success-bg); }\n.progress-bar-info       { .progress-bar-styles(@progress-bar-info-bg); }\n.progress-bar-warning    { .progress-bar-styles(@progress-bar-warning-bg); }\n.progress-bar-danger     { .progress-bar-styles(@progress-bar-danger-bg); }\n\n// Reset the striped class because our mixins don't do multiple gradients and\n// the above custom styles override the new `.progress-bar-striped` in v3.2.0.\n.progress-bar-striped {\n  #gradient > .striped();\n}\n\n\n//\n// List groups\n// --------------------------------------------------\n\n.list-group {\n  border-radius: @border-radius-base;\n  .box-shadow(0 1px 2px rgba(0,0,0,.075));\n}\n.list-group-item.active,\n.list-group-item.active:hover,\n.list-group-item.active:focus {\n  text-shadow: 0 -1px 0 darken(@list-group-active-bg, 10%);\n  #gradient > .vertical(@start-color: @list-group-active-bg; @end-color: darken(@list-group-active-bg, 7.5%));\n  border-color: darken(@list-group-active-border, 7.5%);\n\n  .badge {\n    text-shadow: none;\n  }\n}\n\n\n//\n// Panels\n// --------------------------------------------------\n\n// Common styles\n.panel {\n  .box-shadow(0 1px 2px rgba(0,0,0,.05));\n}\n\n// Mixin for generating new styles\n.panel-heading-styles(@color) {\n  #gradient > .vertical(@start-color: @color; @end-color: darken(@color, 5%));\n}\n\n// Apply the mixin to the panel headings only\n.panel-default > .panel-heading   { .panel-heading-styles(@panel-default-heading-bg); }\n.panel-primary > .panel-heading   { .panel-heading-styles(@panel-primary-heading-bg); }\n.panel-success > .panel-heading   { .panel-heading-styles(@panel-success-heading-bg); }\n.panel-info > .panel-heading      { .panel-heading-styles(@panel-info-heading-bg); }\n.panel-warning > .panel-heading   { .panel-heading-styles(@panel-warning-heading-bg); }\n.panel-danger > .panel-heading    { .panel-heading-styles(@panel-danger-heading-bg); }\n\n\n//\n// Wells\n// --------------------------------------------------\n\n.well {\n  #gradient > .vertical(@start-color: darken(@well-bg, 5%); @end-color: @well-bg);\n  border-color: darken(@well-bg, 10%);\n  @shadow: inset 0 1px 3px rgba(0,0,0,.05), 0 1px 0 rgba(255,255,255,.1);\n  .box-shadow(@shadow);\n}\n","// Vendor Prefixes\n//\n// All vendor mixins are deprecated as of v3.2.0 due to the introduction of\n// Autoprefixer in our Gruntfile. They will be removed in v4.\n\n// - Animations\n// - Backface visibility\n// - Box shadow\n// - Box sizing\n// - Content columns\n// - Hyphens\n// - Placeholder text\n// - Transformations\n// - Transitions\n// - User Select\n\n\n// Animations\n.animation(@animation) {\n  -webkit-animation: @animation;\n       -o-animation: @animation;\n          animation: @animation;\n}\n.animation-name(@name) {\n  -webkit-animation-name: @name;\n          animation-name: @name;\n}\n.animation-duration(@duration) {\n  -webkit-animation-duration: @duration;\n          animation-duration: @duration;\n}\n.animation-timing-function(@timing-function) {\n  -webkit-animation-timing-function: @timing-function;\n          animation-timing-function: @timing-function;\n}\n.animation-delay(@delay) {\n  -webkit-animation-delay: @delay;\n          animation-delay: @delay;\n}\n.animation-iteration-count(@iteration-count) {\n  -webkit-animation-iteration-count: @iteration-count;\n          animation-iteration-count: @iteration-count;\n}\n.animation-direction(@direction) {\n  -webkit-animation-direction: @direction;\n          animation-direction: @direction;\n}\n.animation-fill-mode(@fill-mode) {\n  -webkit-animation-fill-mode: @fill-mode;\n          animation-fill-mode: @fill-mode;\n}\n\n// Backface visibility\n// Prevent browsers from flickering when using CSS 3D transforms.\n// Default value is `visible`, but can be changed to `hidden`\n\n.backface-visibility(@visibility){\n  -webkit-backface-visibility: @visibility;\n     -moz-backface-visibility: @visibility;\n          backface-visibility: @visibility;\n}\n\n// Drop shadows\n//\n// Note: Deprecated `.box-shadow()` as of v3.1.0 since all of Bootstrap's\n// supported browsers that have box shadow capabilities now support it.\n\n.box-shadow(@shadow) {\n  -webkit-box-shadow: @shadow; // iOS <4.3 & Android <4.1\n          box-shadow: @shadow;\n}\n\n// Box sizing\n.box-sizing(@boxmodel) {\n  -webkit-box-sizing: @boxmodel;\n     -moz-box-sizing: @boxmodel;\n          box-sizing: @boxmodel;\n}\n\n// CSS3 Content Columns\n.content-columns(@column-count; @column-gap: @grid-gutter-width) {\n  -webkit-column-count: @column-count;\n     -moz-column-count: @column-count;\n          column-count: @column-count;\n  -webkit-column-gap: @column-gap;\n     -moz-column-gap: @column-gap;\n          column-gap: @column-gap;\n}\n\n// Optional hyphenation\n.hyphens(@mode: auto) {\n  word-wrap: break-word;\n  -webkit-hyphens: @mode;\n     -moz-hyphens: @mode;\n      -ms-hyphens: @mode; // IE10+\n       -o-hyphens: @mode;\n          hyphens: @mode;\n}\n\n// Placeholder text\n.placeholder(@color: @input-color-placeholder) {\n  // Firefox\n  &::-moz-placeholder {\n    color: @color;\n    opacity: 1; // Override Firefox's unusual default opacity; see https://github.com/twbs/bootstrap/pull/11526\n  }\n  &:-ms-input-placeholder { color: @color; } // Internet Explorer 10+\n  &::-webkit-input-placeholder  { color: @color; } // Safari and Chrome\n}\n\n// Transformations\n.scale(@ratio) {\n  -webkit-transform: scale(@ratio);\n      -ms-transform: scale(@ratio); // IE9 only\n       -o-transform: scale(@ratio);\n          transform: scale(@ratio);\n}\n.scale(@ratioX; @ratioY) {\n  -webkit-transform: scale(@ratioX, @ratioY);\n      -ms-transform: scale(@ratioX, @ratioY); // IE9 only\n       -o-transform: scale(@ratioX, @ratioY);\n          transform: scale(@ratioX, @ratioY);\n}\n.scaleX(@ratio) {\n  -webkit-transform: scaleX(@ratio);\n      -ms-transform: scaleX(@ratio); // IE9 only\n       -o-transform: scaleX(@ratio);\n          transform: scaleX(@ratio);\n}\n.scaleY(@ratio) {\n  -webkit-transform: scaleY(@ratio);\n      -ms-transform: scaleY(@ratio); // IE9 only\n       -o-transform: scaleY(@ratio);\n          transform: scaleY(@ratio);\n}\n.skew(@x; @y) {\n  -webkit-transform: skewX(@x) skewY(@y);\n      -ms-transform: skewX(@x) skewY(@y); // See https://github.com/twbs/bootstrap/issues/4885; IE9+\n       -o-transform: skewX(@x) skewY(@y);\n          transform: skewX(@x) skewY(@y);\n}\n.translate(@x; @y) {\n  -webkit-transform: translate(@x, @y);\n      -ms-transform: translate(@x, @y); // IE9 only\n       -o-transform: translate(@x, @y);\n          transform: translate(@x, @y);\n}\n.translate3d(@x; @y; @z) {\n  -webkit-transform: translate3d(@x, @y, @z);\n          transform: translate3d(@x, @y, @z);\n}\n.rotate(@degrees) {\n  -webkit-transform: rotate(@degrees);\n      -ms-transform: rotate(@degrees); // IE9 only\n       -o-transform: rotate(@degrees);\n          transform: rotate(@degrees);\n}\n.rotateX(@degrees) {\n  -webkit-transform: rotateX(@degrees);\n      -ms-transform: rotateX(@degrees); // IE9 only\n       -o-transform: rotateX(@degrees);\n          transform: rotateX(@degrees);\n}\n.rotateY(@degrees) {\n  -webkit-transform: rotateY(@degrees);\n      -ms-transform: rotateY(@degrees); // IE9 only\n       -o-transform: rotateY(@degrees);\n          transform: rotateY(@degrees);\n}\n.perspective(@perspective) {\n  -webkit-perspective: @perspective;\n     -moz-perspective: @perspective;\n          perspective: @perspective;\n}\n.perspective-origin(@perspective) {\n  -webkit-perspective-origin: @perspective;\n     -moz-perspective-origin: @perspective;\n          perspective-origin: @perspective;\n}\n.transform-origin(@origin) {\n  -webkit-transform-origin: @origin;\n     -moz-transform-origin: @origin;\n      -ms-transform-origin: @origin; // IE9 only\n          transform-origin: @origin;\n}\n\n\n// Transitions\n\n.transition(@transition) {\n  -webkit-transition: @transition;\n       -o-transition: @transition;\n          transition: @transition;\n}\n.transition-property(@transition-property) {\n  -webkit-transition-property: @transition-property;\n          transition-property: @transition-property;\n}\n.transition-delay(@transition-delay) {\n  -webkit-transition-delay: @transition-delay;\n          transition-delay: @transition-delay;\n}\n.transition-duration(@transition-duration) {\n  -webkit-transition-duration: @transition-duration;\n          transition-duration: @transition-duration;\n}\n.transition-timing-function(@timing-function) {\n  -webkit-transition-timing-function: @timing-function;\n          transition-timing-function: @timing-function;\n}\n.transition-transform(@transition) {\n  -webkit-transition: -webkit-transform @transition;\n     -moz-transition: -moz-transform @transition;\n       -o-transition: -o-transform @transition;\n          transition: transform @transition;\n}\n\n\n// User select\n// For selecting text on the page\n\n.user-select(@select) {\n  -webkit-user-select: @select;\n     -moz-user-select: @select;\n      -ms-user-select: @select; // IE10+\n          user-select: @select;\n}\n",".btn-default,\n.btn-primary,\n.btn-success,\n.btn-info,\n.btn-warning,\n.btn-danger {\n  text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.2);\n  -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.15), 0 1px 1px rgba(0, 0, 0, 0.075);\n  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.15), 0 1px 1px rgba(0, 0, 0, 0.075);\n}\n.btn-default:active,\n.btn-primary:active,\n.btn-success:active,\n.btn-info:active,\n.btn-warning:active,\n.btn-danger:active,\n.btn-default.active,\n.btn-primary.active,\n.btn-success.active,\n.btn-info.active,\n.btn-warning.active,\n.btn-danger.active {\n  -webkit-box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);\n  box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);\n}\n.btn-default .badge,\n.btn-primary .badge,\n.btn-success .badge,\n.btn-info .badge,\n.btn-warning .badge,\n.btn-danger .badge {\n  text-shadow: none;\n}\n.btn:active,\n.btn.active {\n  background-image: none;\n}\n.btn-default {\n  background-image: -webkit-linear-gradient(top, #ffffff 0%, #e0e0e0 100%);\n  background-image: -o-linear-gradient(top, #ffffff 0%, #e0e0e0 100%);\n  background-image: linear-gradient(to bottom, #ffffff 0%, #e0e0e0 100%);\n  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffffff', endColorstr='#ffe0e0e0', GradientType=0);\n  filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);\n  background-repeat: repeat-x;\n  border-color: #dbdbdb;\n  text-shadow: 0 1px 0 #fff;\n  border-color: #ccc;\n}\n.btn-default:hover,\n.btn-default:focus {\n  background-color: #e0e0e0;\n  background-position: 0 -15px;\n}\n.btn-default:active,\n.btn-default.active {\n  background-color: #e0e0e0;\n  border-color: #dbdbdb;\n}\n.btn-default.disabled,\n.btn-default:disabled,\n.btn-default[disabled] {\n  background-color: #e0e0e0;\n  background-image: none;\n}\n.btn-primary {\n  background-image: -webkit-linear-gradient(top, #337ab7 0%, #265a88 100%);\n  background-image: -o-linear-gradient(top, #337ab7 0%, #265a88 100%);\n  background-image: linear-gradient(to bottom, #337ab7 0%, #265a88 100%);\n  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff337ab7', endColorstr='#ff265a88', GradientType=0);\n  filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);\n  background-repeat: repeat-x;\n  border-color: #245580;\n}\n.btn-primary:hover,\n.btn-primary:focus {\n  background-color: #265a88;\n  background-position: 0 -15px;\n}\n.btn-primary:active,\n.btn-primary.active {\n  background-color: #265a88;\n  border-color: #245580;\n}\n.btn-primary.disabled,\n.btn-primary:disabled,\n.btn-primary[disabled] {\n  background-color: #265a88;\n  background-image: none;\n}\n.btn-success {\n  background-image: -webkit-linear-gradient(top, #5cb85c 0%, #419641 100%);\n  background-image: -o-linear-gradient(top, #5cb85c 0%, #419641 100%);\n  background-image: linear-gradient(to bottom, #5cb85c 0%, #419641 100%);\n  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5cb85c', endColorstr='#ff419641', GradientType=0);\n  filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);\n  background-repeat: repeat-x;\n  border-color: #3e8f3e;\n}\n.btn-success:hover,\n.btn-success:focus {\n  background-color: #419641;\n  background-position: 0 -15px;\n}\n.btn-success:active,\n.btn-success.active {\n  background-color: #419641;\n  border-color: #3e8f3e;\n}\n.btn-success.disabled,\n.btn-success:disabled,\n.btn-success[disabled] {\n  background-color: #419641;\n  background-image: none;\n}\n.btn-info {\n  background-image: -webkit-linear-gradient(top, #5bc0de 0%, #2aabd2 100%);\n  background-image: -o-linear-gradient(top, #5bc0de 0%, #2aabd2 100%);\n  background-image: linear-gradient(to bottom, #5bc0de 0%, #2aabd2 100%);\n  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5bc0de', endColorstr='#ff2aabd2', GradientType=0);\n  filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);\n  background-repeat: repeat-x;\n  border-color: #28a4c9;\n}\n.btn-info:hover,\n.btn-info:focus {\n  background-color: #2aabd2;\n  background-position: 0 -15px;\n}\n.btn-info:active,\n.btn-info.active {\n  background-color: #2aabd2;\n  border-color: #28a4c9;\n}\n.btn-info.disabled,\n.btn-info:disabled,\n.btn-info[disabled] {\n  background-color: #2aabd2;\n  background-image: none;\n}\n.btn-warning {\n  background-image: -webkit-linear-gradient(top, #f0ad4e 0%, #eb9316 100%);\n  background-image: -o-linear-gradient(top, #f0ad4e 0%, #eb9316 100%);\n  background-image: linear-gradient(to bottom, #f0ad4e 0%, #eb9316 100%);\n  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff0ad4e', endColorstr='#ffeb9316', GradientType=0);\n  filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);\n  background-repeat: repeat-x;\n  border-color: #e38d13;\n}\n.btn-warning:hover,\n.btn-warning:focus {\n  background-color: #eb9316;\n  background-position: 0 -15px;\n}\n.btn-warning:active,\n.btn-warning.active {\n  background-color: #eb9316;\n  border-color: #e38d13;\n}\n.btn-warning.disabled,\n.btn-warning:disabled,\n.btn-warning[disabled] {\n  background-color: #eb9316;\n  background-image: none;\n}\n.btn-danger {\n  background-image: -webkit-linear-gradient(top, #d9534f 0%, #c12e2a 100%);\n  background-image: -o-linear-gradient(top, #d9534f 0%, #c12e2a 100%);\n  background-image: linear-gradient(to bottom, #d9534f 0%, #c12e2a 100%);\n  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffd9534f', endColorstr='#ffc12e2a', GradientType=0);\n  filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);\n  background-repeat: repeat-x;\n  border-color: #b92c28;\n}\n.btn-danger:hover,\n.btn-danger:focus {\n  background-color: #c12e2a;\n  background-position: 0 -15px;\n}\n.btn-danger:active,\n.btn-danger.active {\n  background-color: #c12e2a;\n  border-color: #b92c28;\n}\n.btn-danger.disabled,\n.btn-danger:disabled,\n.btn-danger[disabled] {\n  background-color: #c12e2a;\n  background-image: none;\n}\n.thumbnail,\n.img-thumbnail {\n  -webkit-box-shadow: 0 1px 2px rgba(0, 0, 0, 0.075);\n  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.075);\n}\n.dropdown-menu > li > a:hover,\n.dropdown-menu > li > a:focus {\n  background-image: -webkit-linear-gradient(top, #f5f5f5 0%, #e8e8e8 100%);\n  background-image: -o-linear-gradient(top, #f5f5f5 0%, #e8e8e8 100%);\n  background-image: linear-gradient(to bottom, #f5f5f5 0%, #e8e8e8 100%);\n  background-repeat: repeat-x;\n  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff5f5f5', endColorstr='#ffe8e8e8', GradientType=0);\n  background-color: #e8e8e8;\n}\n.dropdown-menu > .active > a,\n.dropdown-menu > .active > a:hover,\n.dropdown-menu > .active > a:focus {\n  background-image: -webkit-linear-gradient(top, #337ab7 0%, #2e6da4 100%);\n  background-image: -o-linear-gradient(top, #337ab7 0%, #2e6da4 100%);\n  background-image: linear-gradient(to bottom, #337ab7 0%, #2e6da4 100%);\n  background-repeat: repeat-x;\n  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff337ab7', endColorstr='#ff2e6da4', GradientType=0);\n  background-color: #2e6da4;\n}\n.navbar-default {\n  background-image: -webkit-linear-gradient(top, #ffffff 0%, #f8f8f8 100%);\n  background-image: -o-linear-gradient(top, #ffffff 0%, #f8f8f8 100%);\n  background-image: linear-gradient(to bottom, #ffffff 0%, #f8f8f8 100%);\n  background-repeat: repeat-x;\n  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffffff', endColorstr='#fff8f8f8', GradientType=0);\n  filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);\n  border-radius: 4px;\n  -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.15), 0 1px 5px rgba(0, 0, 0, 0.075);\n  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.15), 0 1px 5px rgba(0, 0, 0, 0.075);\n}\n.navbar-default .navbar-nav > .open > a,\n.navbar-default .navbar-nav > .active > a {\n  background-image: -webkit-linear-gradient(top, #dbdbdb 0%, #e2e2e2 100%);\n  background-image: -o-linear-gradient(top, #dbdbdb 0%, #e2e2e2 100%);\n  background-image: linear-gradient(to bottom, #dbdbdb 0%, #e2e2e2 100%);\n  background-repeat: repeat-x;\n  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffdbdbdb', endColorstr='#ffe2e2e2', GradientType=0);\n  -webkit-box-shadow: inset 0 3px 9px rgba(0, 0, 0, 0.075);\n  box-shadow: inset 0 3px 9px rgba(0, 0, 0, 0.075);\n}\n.navbar-brand,\n.navbar-nav > li > a {\n  text-shadow: 0 1px 0 rgba(255, 255, 255, 0.25);\n}\n.navbar-inverse {\n  background-image: -webkit-linear-gradient(top, #3c3c3c 0%, #222222 100%);\n  background-image: -o-linear-gradient(top, #3c3c3c 0%, #222222 100%);\n  background-image: linear-gradient(to bottom, #3c3c3c 0%, #222222 100%);\n  background-repeat: repeat-x;\n  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff3c3c3c', endColorstr='#ff222222', GradientType=0);\n  filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);\n}\n.navbar-inverse .navbar-nav > .open > a,\n.navbar-inverse .navbar-nav > .active > a {\n  background-image: -webkit-linear-gradient(top, #080808 0%, #0f0f0f 100%);\n  background-image: -o-linear-gradient(top, #080808 0%, #0f0f0f 100%);\n  background-image: linear-gradient(to bottom, #080808 0%, #0f0f0f 100%);\n  background-repeat: repeat-x;\n  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff080808', endColorstr='#ff0f0f0f', GradientType=0);\n  -webkit-box-shadow: inset 0 3px 9px rgba(0, 0, 0, 0.25);\n  box-shadow: inset 0 3px 9px rgba(0, 0, 0, 0.25);\n}\n.navbar-inverse .navbar-brand,\n.navbar-inverse .navbar-nav > li > a {\n  text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);\n}\n.navbar-static-top,\n.navbar-fixed-top,\n.navbar-fixed-bottom {\n  border-radius: 0;\n}\n@media (max-width: 767px) {\n  .navbar .navbar-nav .open .dropdown-menu > .active > a,\n  .navbar .navbar-nav .open .dropdown-menu > .active > a:hover,\n  .navbar .navbar-nav .open .dropdown-menu > .active > a:focus {\n    color: #fff;\n    background-image: -webkit-linear-gradient(top, #337ab7 0%, #2e6da4 100%);\n    background-image: -o-linear-gradient(top, #337ab7 0%, #2e6da4 100%);\n    background-image: linear-gradient(to bottom, #337ab7 0%, #2e6da4 100%);\n    background-repeat: repeat-x;\n    filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff337ab7', endColorstr='#ff2e6da4', GradientType=0);\n  }\n}\n.alert {\n  text-shadow: 0 1px 0 rgba(255, 255, 255, 0.2);\n  -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.25), 0 1px 2px rgba(0, 0, 0, 0.05);\n  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.25), 0 1px 2px rgba(0, 0, 0, 0.05);\n}\n.alert-success {\n  background-image: -webkit-linear-gradient(top, #dff0d8 0%, #c8e5bc 100%);\n  background-image: -o-linear-gradient(top, #dff0d8 0%, #c8e5bc 100%);\n  background-image: linear-gradient(to bottom, #dff0d8 0%, #c8e5bc 100%);\n  background-repeat: repeat-x;\n  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffdff0d8', endColorstr='#ffc8e5bc', GradientType=0);\n  border-color: #b2dba1;\n}\n.alert-info {\n  background-image: -webkit-linear-gradient(top, #d9edf7 0%, #b9def0 100%);\n  background-image: -o-linear-gradient(top, #d9edf7 0%, #b9def0 100%);\n  background-image: linear-gradient(to bottom, #d9edf7 0%, #b9def0 100%);\n  background-repeat: repeat-x;\n  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffd9edf7', endColorstr='#ffb9def0', GradientType=0);\n  border-color: #9acfea;\n}\n.alert-warning {\n  background-image: -webkit-linear-gradient(top, #fcf8e3 0%, #f8efc0 100%);\n  background-image: -o-linear-gradient(top, #fcf8e3 0%, #f8efc0 100%);\n  background-image: linear-gradient(to bottom, #fcf8e3 0%, #f8efc0 100%);\n  background-repeat: repeat-x;\n  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fffcf8e3', endColorstr='#fff8efc0', GradientType=0);\n  border-color: #f5e79e;\n}\n.alert-danger {\n  background-image: -webkit-linear-gradient(top, #f2dede 0%, #e7c3c3 100%);\n  background-image: -o-linear-gradient(top, #f2dede 0%, #e7c3c3 100%);\n  background-image: linear-gradient(to bottom, #f2dede 0%, #e7c3c3 100%);\n  background-repeat: repeat-x;\n  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff2dede', endColorstr='#ffe7c3c3', GradientType=0);\n  border-color: #dca7a7;\n}\n.progress {\n  background-image: -webkit-linear-gradient(top, #ebebeb 0%, #f5f5f5 100%);\n  background-image: -o-linear-gradient(top, #ebebeb 0%, #f5f5f5 100%);\n  background-image: linear-gradient(to bottom, #ebebeb 0%, #f5f5f5 100%);\n  background-repeat: repeat-x;\n  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffebebeb', endColorstr='#fff5f5f5', GradientType=0);\n}\n.progress-bar {\n  background-image: -webkit-linear-gradient(top, #337ab7 0%, #286090 100%);\n  background-image: -o-linear-gradient(top, #337ab7 0%, #286090 100%);\n  background-image: linear-gradient(to bottom, #337ab7 0%, #286090 100%);\n  background-repeat: repeat-x;\n  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff337ab7', endColorstr='#ff286090', GradientType=0);\n}\n.progress-bar-success {\n  background-image: -webkit-linear-gradient(top, #5cb85c 0%, #449d44 100%);\n  background-image: -o-linear-gradient(top, #5cb85c 0%, #449d44 100%);\n  background-image: linear-gradient(to bottom, #5cb85c 0%, #449d44 100%);\n  background-repeat: repeat-x;\n  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5cb85c', endColorstr='#ff449d44', GradientType=0);\n}\n.progress-bar-info {\n  background-image: -webkit-linear-gradient(top, #5bc0de 0%, #31b0d5 100%);\n  background-image: -o-linear-gradient(top, #5bc0de 0%, #31b0d5 100%);\n  background-image: linear-gradient(to bottom, #5bc0de 0%, #31b0d5 100%);\n  background-repeat: repeat-x;\n  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5bc0de', endColorstr='#ff31b0d5', GradientType=0);\n}\n.progress-bar-warning {\n  background-image: -webkit-linear-gradient(top, #f0ad4e 0%, #ec971f 100%);\n  background-image: -o-linear-gradient(top, #f0ad4e 0%, #ec971f 100%);\n  background-image: linear-gradient(to bottom, #f0ad4e 0%, #ec971f 100%);\n  background-repeat: repeat-x;\n  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff0ad4e', endColorstr='#ffec971f', GradientType=0);\n}\n.progress-bar-danger {\n  background-image: -webkit-linear-gradient(top, #d9534f 0%, #c9302c 100%);\n  background-image: -o-linear-gradient(top, #d9534f 0%, #c9302c 100%);\n  background-image: linear-gradient(to bottom, #d9534f 0%, #c9302c 100%);\n  background-repeat: repeat-x;\n  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffd9534f', endColorstr='#ffc9302c', GradientType=0);\n}\n.progress-bar-striped {\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: -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.list-group {\n  border-radius: 4px;\n  -webkit-box-shadow: 0 1px 2px rgba(0, 0, 0, 0.075);\n  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.075);\n}\n.list-group-item.active,\n.list-group-item.active:hover,\n.list-group-item.active:focus {\n  text-shadow: 0 -1px 0 #286090;\n  background-image: -webkit-linear-gradient(top, #337ab7 0%, #2b669a 100%);\n  background-image: -o-linear-gradient(top, #337ab7 0%, #2b669a 100%);\n  background-image: linear-gradient(to bottom, #337ab7 0%, #2b669a 100%);\n  background-repeat: repeat-x;\n  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff337ab7', endColorstr='#ff2b669a', GradientType=0);\n  border-color: #2b669a;\n}\n.list-group-item.active .badge,\n.list-group-item.active:hover .badge,\n.list-group-item.active:focus .badge {\n  text-shadow: none;\n}\n.panel {\n  -webkit-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.panel-default > .panel-heading {\n  background-image: -webkit-linear-gradient(top, #f5f5f5 0%, #e8e8e8 100%);\n  background-image: -o-linear-gradient(top, #f5f5f5 0%, #e8e8e8 100%);\n  background-image: linear-gradient(to bottom, #f5f5f5 0%, #e8e8e8 100%);\n  background-repeat: repeat-x;\n  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff5f5f5', endColorstr='#ffe8e8e8', GradientType=0);\n}\n.panel-primary > .panel-heading {\n  background-image: -webkit-linear-gradient(top, #337ab7 0%, #2e6da4 100%);\n  background-image: -o-linear-gradient(top, #337ab7 0%, #2e6da4 100%);\n  background-image: linear-gradient(to bottom, #337ab7 0%, #2e6da4 100%);\n  background-repeat: repeat-x;\n  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff337ab7', endColorstr='#ff2e6da4', GradientType=0);\n}\n.panel-success > .panel-heading {\n  background-image: -webkit-linear-gradient(top, #dff0d8 0%, #d0e9c6 100%);\n  background-image: -o-linear-gradient(top, #dff0d8 0%, #d0e9c6 100%);\n  background-image: linear-gradient(to bottom, #dff0d8 0%, #d0e9c6 100%);\n  background-repeat: repeat-x;\n  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffdff0d8', endColorstr='#ffd0e9c6', GradientType=0);\n}\n.panel-info > .panel-heading {\n  background-image: -webkit-linear-gradient(top, #d9edf7 0%, #c4e3f3 100%);\n  background-image: -o-linear-gradient(top, #d9edf7 0%, #c4e3f3 100%);\n  background-image: linear-gradient(to bottom, #d9edf7 0%, #c4e3f3 100%);\n  background-repeat: repeat-x;\n  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffd9edf7', endColorstr='#ffc4e3f3', GradientType=0);\n}\n.panel-warning > .panel-heading {\n  background-image: -webkit-linear-gradient(top, #fcf8e3 0%, #faf2cc 100%);\n  background-image: -o-linear-gradient(top, #fcf8e3 0%, #faf2cc 100%);\n  background-image: linear-gradient(to bottom, #fcf8e3 0%, #faf2cc 100%);\n  background-repeat: repeat-x;\n  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fffcf8e3', endColorstr='#fffaf2cc', GradientType=0);\n}\n.panel-danger > .panel-heading {\n  background-image: -webkit-linear-gradient(top, #f2dede 0%, #ebcccc 100%);\n  background-image: -o-linear-gradient(top, #f2dede 0%, #ebcccc 100%);\n  background-image: linear-gradient(to bottom, #f2dede 0%, #ebcccc 100%);\n  background-repeat: repeat-x;\n  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff2dede', endColorstr='#ffebcccc', GradientType=0);\n}\n.well {\n  background-image: -webkit-linear-gradient(top, #e8e8e8 0%, #f5f5f5 100%);\n  background-image: -o-linear-gradient(top, #e8e8e8 0%, #f5f5f5 100%);\n  background-image: linear-gradient(to bottom, #e8e8e8 0%, #f5f5f5 100%);\n  background-repeat: repeat-x;\n  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffe8e8e8', endColorstr='#fff5f5f5', GradientType=0);\n  border-color: #dcdcdc;\n  -webkit-box-shadow: inset 0 1px 3px rgba(0, 0, 0, 0.05), 0 1px 0 rgba(255, 255, 255, 0.1);\n  box-shadow: inset 0 1px 3px rgba(0, 0, 0, 0.05), 0 1px 0 rgba(255, 255, 255, 0.1);\n}\n/*# sourceMappingURL=bootstrap-theme.css.map */","// Gradients\n\n#gradient {\n\n  // Horizontal gradient, from left to right\n  //\n  // Creates two color stops, start and end, by specifying a color and position for each color stop.\n  // Color stops are not available in IE9 and below.\n  .horizontal(@start-color: #555; @end-color: #333; @start-percent: 0%; @end-percent: 100%) {\n    background-image: -webkit-linear-gradient(left, @start-color @start-percent, @end-color @end-percent); // Safari 5.1-6, Chrome 10+\n    background-image: -o-linear-gradient(left, @start-color @start-percent, @end-color @end-percent); // Opera 12\n    background-image: linear-gradient(to right, @start-color @start-percent, @end-color @end-percent); // Standard, IE10, Firefox 16+, Opera 12.10+, Safari 7+, Chrome 26+\n    background-repeat: repeat-x;\n    filter: e(%(\"progid:DXImageTransform.Microsoft.gradient(startColorstr='%d', endColorstr='%d', GradientType=1)\",argb(@start-color),argb(@end-color))); // IE9 and down\n  }\n\n  // Vertical gradient, from top to bottom\n  //\n  // Creates two color stops, start and end, by specifying a color and position for each color stop.\n  // Color stops are not available in IE9 and below.\n  .vertical(@start-color: #555; @end-color: #333; @start-percent: 0%; @end-percent: 100%) {\n    background-image: -webkit-linear-gradient(top, @start-color @start-percent, @end-color @end-percent);  // Safari 5.1-6, Chrome 10+\n    background-image: -o-linear-gradient(top, @start-color @start-percent, @end-color @end-percent);  // Opera 12\n    background-image: linear-gradient(to bottom, @start-color @start-percent, @end-color @end-percent); // Standard, IE10, Firefox 16+, Opera 12.10+, Safari 7+, Chrome 26+\n    background-repeat: repeat-x;\n    filter: e(%(\"progid:DXImageTransform.Microsoft.gradient(startColorstr='%d', endColorstr='%d', GradientType=0)\",argb(@start-color),argb(@end-color))); // IE9 and down\n  }\n\n  .directional(@start-color: #555; @end-color: #333; @deg: 45deg) {\n    background-repeat: repeat-x;\n    background-image: -webkit-linear-gradient(@deg, @start-color, @end-color); // Safari 5.1-6, Chrome 10+\n    background-image: -o-linear-gradient(@deg, @start-color, @end-color); // Opera 12\n    background-image: linear-gradient(@deg, @start-color, @end-color); // Standard, IE10, Firefox 16+, Opera 12.10+, Safari 7+, Chrome 26+\n  }\n  .horizontal-three-colors(@start-color: #00b3ee; @mid-color: #7a43b6; @color-stop: 50%; @end-color: #c3325f) {\n    background-image: -webkit-linear-gradient(left, @start-color, @mid-color @color-stop, @end-color);\n    background-image: -o-linear-gradient(left, @start-color, @mid-color @color-stop, @end-color);\n    background-image: linear-gradient(to right, @start-color, @mid-color @color-stop, @end-color);\n    background-repeat: no-repeat;\n    filter: e(%(\"progid:DXImageTransform.Microsoft.gradient(startColorstr='%d', endColorstr='%d', GradientType=1)\",argb(@start-color),argb(@end-color))); // IE9 and down, gets no color-stop at all for proper fallback\n  }\n  .vertical-three-colors(@start-color: #00b3ee; @mid-color: #7a43b6; @color-stop: 50%; @end-color: #c3325f) {\n    background-image: -webkit-linear-gradient(@start-color, @mid-color @color-stop, @end-color);\n    background-image: -o-linear-gradient(@start-color, @mid-color @color-stop, @end-color);\n    background-image: linear-gradient(@start-color, @mid-color @color-stop, @end-color);\n    background-repeat: no-repeat;\n    filter: e(%(\"progid:DXImageTransform.Microsoft.gradient(startColorstr='%d', endColorstr='%d', GradientType=0)\",argb(@start-color),argb(@end-color))); // IE9 and down, gets no color-stop at all for proper fallback\n  }\n  .radial(@inner-color: #555; @outer-color: #333) {\n    background-image: -webkit-radial-gradient(circle, @inner-color, @outer-color);\n    background-image: radial-gradient(circle, @inner-color, @outer-color);\n    background-repeat: no-repeat;\n  }\n  .striped(@color: rgba(255,255,255,.15); @angle: 45deg) {\n    background-image: -webkit-linear-gradient(@angle, @color 25%, transparent 25%, transparent 50%, @color 50%, @color 75%, transparent 75%, transparent);\n    background-image: -o-linear-gradient(@angle, @color 25%, transparent 25%, transparent 50%, @color 50%, @color 75%, transparent 75%, transparent);\n    background-image: linear-gradient(@angle, @color 25%, transparent 25%, transparent 50%, @color 50%, @color 75%, transparent 75%, transparent);\n  }\n}\n","// Reset filters for IE\n//\n// When you need to remove a gradient background, do not forget to use this to reset\n// the IE filter for IE9 and below.\n\n.reset-filter() {\n  filter: e(%(\"progid:DXImageTransform.Microsoft.gradient(enabled = false)\"));\n}\n"]}
\ No newline at end of file
diff --git a/templates/shop-isle/assets/bootstrap/css/bootstrap-theme.min.css b/templates/shop-isle/assets/bootstrap/css/bootstrap-theme.min.css
new file mode 100644 (file)
index 0000000..cefa3d1
--- /dev/null
@@ -0,0 +1,5 @@
+/*!
+ * Bootstrap v3.3.4 (http://getbootstrap.com)
+ * Copyright 2011-2015 Twitter, Inc.
+ * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
+ */.btn-danger,.btn-default,.btn-info,.btn-primary,.btn-success,.btn-warning{text-shadow:0 -1px 0 rgba(0,0,0,.2);-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,.15),0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 0 rgba(255,255,255,.15),0 1px 1px rgba(0,0,0,.075)}.btn-danger.active,.btn-danger:active,.btn-default.active,.btn-default:active,.btn-info.active,.btn-info:active,.btn-primary.active,.btn-primary:active,.btn-success.active,.btn-success:active,.btn-warning.active,.btn-warning:active{-webkit-box-shadow:inset 0 3px 5px rgba(0,0,0,.125);box-shadow:inset 0 3px 5px rgba(0,0,0,.125)}.btn-danger .badge,.btn-default .badge,.btn-info .badge,.btn-primary .badge,.btn-success .badge,.btn-warning .badge{text-shadow:none}.btn.active,.btn:active{background-image:none}.btn-default{text-shadow:0 1px 0 #fff;background-image:-webkit-linear-gradient(top,#fff 0,#e0e0e0 100%);background-image:-o-linear-gradient(top,#fff 0,#e0e0e0 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#fff),to(#e0e0e0));background-image:linear-gradient(to bottom,#fff 0,#e0e0e0 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffffff', endColorstr='#ffe0e0e0', GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false);background-repeat:repeat-x;border-color:#dbdbdb;border-color:#ccc}.btn-default:focus,.btn-default:hover{background-color:#e0e0e0;background-position:0 -15px}.btn-default.active,.btn-default:active{background-color:#e0e0e0;border-color:#dbdbdb}.btn-default.disabled,.btn-default:disabled,.btn-default[disabled]{background-color:#e0e0e0;background-image:none}.btn-primary{background-image:-webkit-linear-gradient(top,#337ab7 0,#265a88 100%);background-image:-o-linear-gradient(top,#337ab7 0,#265a88 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#337ab7),to(#265a88));background-image:linear-gradient(to bottom,#337ab7 0,#265a88 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff337ab7', endColorstr='#ff265a88', GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false);background-repeat:repeat-x;border-color:#245580}.btn-primary:focus,.btn-primary:hover{background-color:#265a88;background-position:0 -15px}.btn-primary.active,.btn-primary:active{background-color:#265a88;border-color:#245580}.btn-primary.disabled,.btn-primary:disabled,.btn-primary[disabled]{background-color:#265a88;background-image:none}.btn-success{background-image:-webkit-linear-gradient(top,#5cb85c 0,#419641 100%);background-image:-o-linear-gradient(top,#5cb85c 0,#419641 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#5cb85c),to(#419641));background-image:linear-gradient(to bottom,#5cb85c 0,#419641 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5cb85c', endColorstr='#ff419641', GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false);background-repeat:repeat-x;border-color:#3e8f3e}.btn-success:focus,.btn-success:hover{background-color:#419641;background-position:0 -15px}.btn-success.active,.btn-success:active{background-color:#419641;border-color:#3e8f3e}.btn-success.disabled,.btn-success:disabled,.btn-success[disabled]{background-color:#419641;background-image:none}.btn-info{background-image:-webkit-linear-gradient(top,#5bc0de 0,#2aabd2 100%);background-image:-o-linear-gradient(top,#5bc0de 0,#2aabd2 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#5bc0de),to(#2aabd2));background-image:linear-gradient(to bottom,#5bc0de 0,#2aabd2 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5bc0de', endColorstr='#ff2aabd2', GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false);background-repeat:repeat-x;border-color:#28a4c9}.btn-info:focus,.btn-info:hover{background-color:#2aabd2;background-position:0 -15px}.btn-info.active,.btn-info:active{background-color:#2aabd2;border-color:#28a4c9}.btn-info.disabled,.btn-info:disabled,.btn-info[disabled]{background-color:#2aabd2;background-image:none}.btn-warning{background-image:-webkit-linear-gradient(top,#f0ad4e 0,#eb9316 100%);background-image:-o-linear-gradient(top,#f0ad4e 0,#eb9316 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#f0ad4e),to(#eb9316));background-image:linear-gradient(to bottom,#f0ad4e 0,#eb9316 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff0ad4e', endColorstr='#ffeb9316', GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false);background-repeat:repeat-x;border-color:#e38d13}.btn-warning:focus,.btn-warning:hover{background-color:#eb9316;background-position:0 -15px}.btn-warning.active,.btn-warning:active{background-color:#eb9316;border-color:#e38d13}.btn-warning.disabled,.btn-warning:disabled,.btn-warning[disabled]{background-color:#eb9316;background-image:none}.btn-danger{background-image:-webkit-linear-gradient(top,#d9534f 0,#c12e2a 100%);background-image:-o-linear-gradient(top,#d9534f 0,#c12e2a 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#d9534f),to(#c12e2a));background-image:linear-gradient(to bottom,#d9534f 0,#c12e2a 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffd9534f', endColorstr='#ffc12e2a', GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false);background-repeat:repeat-x;border-color:#b92c28}.btn-danger:focus,.btn-danger:hover{background-color:#c12e2a;background-position:0 -15px}.btn-danger.active,.btn-danger:active{background-color:#c12e2a;border-color:#b92c28}.btn-danger.disabled,.btn-danger:disabled,.btn-danger[disabled]{background-color:#c12e2a;background-image:none}.img-thumbnail,.thumbnail{-webkit-box-shadow:0 1px 2px rgba(0,0,0,.075);box-shadow:0 1px 2px rgba(0,0,0,.075)}.dropdown-menu>li>a:focus,.dropdown-menu>li>a:hover{background-color:#e8e8e8;background-image:-webkit-linear-gradient(top,#f5f5f5 0,#e8e8e8 100%);background-image:-o-linear-gradient(top,#f5f5f5 0,#e8e8e8 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#f5f5f5),to(#e8e8e8));background-image:linear-gradient(to bottom,#f5f5f5 0,#e8e8e8 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff5f5f5', endColorstr='#ffe8e8e8', GradientType=0);background-repeat:repeat-x}.dropdown-menu>.active>a,.dropdown-menu>.active>a:focus,.dropdown-menu>.active>a:hover{background-color:#2e6da4;background-image:-webkit-linear-gradient(top,#337ab7 0,#2e6da4 100%);background-image:-o-linear-gradient(top,#337ab7 0,#2e6da4 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#337ab7),to(#2e6da4));background-image:linear-gradient(to bottom,#337ab7 0,#2e6da4 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff337ab7', endColorstr='#ff2e6da4', GradientType=0);background-repeat:repeat-x}.navbar-default{background-image:-webkit-linear-gradient(top,#fff 0,#f8f8f8 100%);background-image:-o-linear-gradient(top,#fff 0,#f8f8f8 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#fff),to(#f8f8f8));background-image:linear-gradient(to bottom,#fff 0,#f8f8f8 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffffff', endColorstr='#fff8f8f8', GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false);background-repeat:repeat-x;border-radius:4px;-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,.15),0 1px 5px rgba(0,0,0,.075);box-shadow:inset 0 1px 0 rgba(255,255,255,.15),0 1px 5px rgba(0,0,0,.075)}.navbar-default .navbar-nav>.active>a,.navbar-default .navbar-nav>.open>a{background-image:-webkit-linear-gradient(top,#dbdbdb 0,#e2e2e2 100%);background-image:-o-linear-gradient(top,#dbdbdb 0,#e2e2e2 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#dbdbdb),to(#e2e2e2));background-image:linear-gradient(to bottom,#dbdbdb 0,#e2e2e2 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffdbdbdb', endColorstr='#ffe2e2e2', GradientType=0);background-repeat:repeat-x;-webkit-box-shadow:inset 0 3px 9px rgba(0,0,0,.075);box-shadow:inset 0 3px 9px rgba(0,0,0,.075)}.navbar-brand,.navbar-nav>li>a{text-shadow:0 1px 0 rgba(255,255,255,.25)}.navbar-inverse{background-image:-webkit-linear-gradient(top,#3c3c3c 0,#222 100%);background-image:-o-linear-gradient(top,#3c3c3c 0,#222 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#3c3c3c),to(#222));background-image:linear-gradient(to bottom,#3c3c3c 0,#222 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff3c3c3c', endColorstr='#ff222222', GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false);background-repeat:repeat-x}.navbar-inverse .navbar-nav>.active>a,.navbar-inverse .navbar-nav>.open>a{background-image:-webkit-linear-gradient(top,#080808 0,#0f0f0f 100%);background-image:-o-linear-gradient(top,#080808 0,#0f0f0f 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#080808),to(#0f0f0f));background-image:linear-gradient(to bottom,#080808 0,#0f0f0f 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff080808', endColorstr='#ff0f0f0f', GradientType=0);background-repeat:repeat-x;-webkit-box-shadow:inset 0 3px 9px rgba(0,0,0,.25);box-shadow:inset 0 3px 9px rgba(0,0,0,.25)}.navbar-inverse .navbar-brand,.navbar-inverse .navbar-nav>li>a{text-shadow:0 -1px 0 rgba(0,0,0,.25)}.navbar-fixed-bottom,.navbar-fixed-top,.navbar-static-top{border-radius:0}@media (max-width:767px){.navbar .navbar-nav .open .dropdown-menu>.active>a,.navbar .navbar-nav .open .dropdown-menu>.active>a:focus,.navbar .navbar-nav .open .dropdown-menu>.active>a:hover{color:#fff;background-image:-webkit-linear-gradient(top,#337ab7 0,#2e6da4 100%);background-image:-o-linear-gradient(top,#337ab7 0,#2e6da4 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#337ab7),to(#2e6da4));background-image:linear-gradient(to bottom,#337ab7 0,#2e6da4 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff337ab7', endColorstr='#ff2e6da4', GradientType=0);background-repeat:repeat-x}}.alert{text-shadow:0 1px 0 rgba(255,255,255,.2);-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,.25),0 1px 2px rgba(0,0,0,.05);box-shadow:inset 0 1px 0 rgba(255,255,255,.25),0 1px 2px rgba(0,0,0,.05)}.alert-success{background-image:-webkit-linear-gradient(top,#dff0d8 0,#c8e5bc 100%);background-image:-o-linear-gradient(top,#dff0d8 0,#c8e5bc 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#dff0d8),to(#c8e5bc));background-image:linear-gradient(to bottom,#dff0d8 0,#c8e5bc 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffdff0d8', endColorstr='#ffc8e5bc', GradientType=0);background-repeat:repeat-x;border-color:#b2dba1}.alert-info{background-image:-webkit-linear-gradient(top,#d9edf7 0,#b9def0 100%);background-image:-o-linear-gradient(top,#d9edf7 0,#b9def0 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#d9edf7),to(#b9def0));background-image:linear-gradient(to bottom,#d9edf7 0,#b9def0 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffd9edf7', endColorstr='#ffb9def0', GradientType=0);background-repeat:repeat-x;border-color:#9acfea}.alert-warning{background-image:-webkit-linear-gradient(top,#fcf8e3 0,#f8efc0 100%);background-image:-o-linear-gradient(top,#fcf8e3 0,#f8efc0 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#fcf8e3),to(#f8efc0));background-image:linear-gradient(to bottom,#fcf8e3 0,#f8efc0 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fffcf8e3', endColorstr='#fff8efc0', GradientType=0);background-repeat:repeat-x;border-color:#f5e79e}.alert-danger{background-image:-webkit-linear-gradient(top,#f2dede 0,#e7c3c3 100%);background-image:-o-linear-gradient(top,#f2dede 0,#e7c3c3 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#f2dede),to(#e7c3c3));background-image:linear-gradient(to bottom,#f2dede 0,#e7c3c3 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff2dede', endColorstr='#ffe7c3c3', GradientType=0);background-repeat:repeat-x;border-color:#dca7a7}.progress{background-image:-webkit-linear-gradient(top,#ebebeb 0,#f5f5f5 100%);background-image:-o-linear-gradient(top,#ebebeb 0,#f5f5f5 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#ebebeb),to(#f5f5f5));background-image:linear-gradient(to bottom,#ebebeb 0,#f5f5f5 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffebebeb', endColorstr='#fff5f5f5', GradientType=0);background-repeat:repeat-x}.progress-bar{background-image:-webkit-linear-gradient(top,#337ab7 0,#286090 100%);background-image:-o-linear-gradient(top,#337ab7 0,#286090 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#337ab7),to(#286090));background-image:linear-gradient(to bottom,#337ab7 0,#286090 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff337ab7', endColorstr='#ff286090', GradientType=0);background-repeat:repeat-x}.progress-bar-success{background-image:-webkit-linear-gradient(top,#5cb85c 0,#449d44 100%);background-image:-o-linear-gradient(top,#5cb85c 0,#449d44 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#5cb85c),to(#449d44));background-image:linear-gradient(to bottom,#5cb85c 0,#449d44 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5cb85c', endColorstr='#ff449d44', GradientType=0);background-repeat:repeat-x}.progress-bar-info{background-image:-webkit-linear-gradient(top,#5bc0de 0,#31b0d5 100%);background-image:-o-linear-gradient(top,#5bc0de 0,#31b0d5 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#5bc0de),to(#31b0d5));background-image:linear-gradient(to bottom,#5bc0de 0,#31b0d5 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5bc0de', endColorstr='#ff31b0d5', GradientType=0);background-repeat:repeat-x}.progress-bar-warning{background-image:-webkit-linear-gradient(top,#f0ad4e 0,#ec971f 100%);background-image:-o-linear-gradient(top,#f0ad4e 0,#ec971f 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#f0ad4e),to(#ec971f));background-image:linear-gradient(to bottom,#f0ad4e 0,#ec971f 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff0ad4e', endColorstr='#ffec971f', GradientType=0);background-repeat:repeat-x}.progress-bar-danger{background-image:-webkit-linear-gradient(top,#d9534f 0,#c9302c 100%);background-image:-o-linear-gradient(top,#d9534f 0,#c9302c 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#d9534f),to(#c9302c));background-image:linear-gradient(to bottom,#d9534f 0,#c9302c 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffd9534f', endColorstr='#ffc9302c', GradientType=0);background-repeat:repeat-x}.progress-bar-striped{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent)}.list-group{border-radius:4px;-webkit-box-shadow:0 1px 2px rgba(0,0,0,.075);box-shadow:0 1px 2px rgba(0,0,0,.075)}.list-group-item.active,.list-group-item.active:focus,.list-group-item.active:hover{text-shadow:0 -1px 0 #286090;background-image:-webkit-linear-gradient(top,#337ab7 0,#2b669a 100%);background-image:-o-linear-gradient(top,#337ab7 0,#2b669a 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#337ab7),to(#2b669a));background-image:linear-gradient(to bottom,#337ab7 0,#2b669a 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff337ab7', endColorstr='#ff2b669a', GradientType=0);background-repeat:repeat-x;border-color:#2b669a}.list-group-item.active .badge,.list-group-item.active:focus .badge,.list-group-item.active:hover .badge{text-shadow:none}.panel{-webkit-box-shadow:0 1px 2px rgba(0,0,0,.05);box-shadow:0 1px 2px rgba(0,0,0,.05)}.panel-default>.panel-heading{background-image:-webkit-linear-gradient(top,#f5f5f5 0,#e8e8e8 100%);background-image:-o-linear-gradient(top,#f5f5f5 0,#e8e8e8 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#f5f5f5),to(#e8e8e8));background-image:linear-gradient(to bottom,#f5f5f5 0,#e8e8e8 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff5f5f5', endColorstr='#ffe8e8e8', GradientType=0);background-repeat:repeat-x}.panel-primary>.panel-heading{background-image:-webkit-linear-gradient(top,#337ab7 0,#2e6da4 100%);background-image:-o-linear-gradient(top,#337ab7 0,#2e6da4 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#337ab7),to(#2e6da4));background-image:linear-gradient(to bottom,#337ab7 0,#2e6da4 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff337ab7', endColorstr='#ff2e6da4', GradientType=0);background-repeat:repeat-x}.panel-success>.panel-heading{background-image:-webkit-linear-gradient(top,#dff0d8 0,#d0e9c6 100%);background-image:-o-linear-gradient(top,#dff0d8 0,#d0e9c6 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#dff0d8),to(#d0e9c6));background-image:linear-gradient(to bottom,#dff0d8 0,#d0e9c6 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffdff0d8', endColorstr='#ffd0e9c6', GradientType=0);background-repeat:repeat-x}.panel-info>.panel-heading{background-image:-webkit-linear-gradient(top,#d9edf7 0,#c4e3f3 100%);background-image:-o-linear-gradient(top,#d9edf7 0,#c4e3f3 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#d9edf7),to(#c4e3f3));background-image:linear-gradient(to bottom,#d9edf7 0,#c4e3f3 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffd9edf7', endColorstr='#ffc4e3f3', GradientType=0);background-repeat:repeat-x}.panel-warning>.panel-heading{background-image:-webkit-linear-gradient(top,#fcf8e3 0,#faf2cc 100%);background-image:-o-linear-gradient(top,#fcf8e3 0,#faf2cc 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#fcf8e3),to(#faf2cc));background-image:linear-gradient(to bottom,#fcf8e3 0,#faf2cc 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fffcf8e3', endColorstr='#fffaf2cc', GradientType=0);background-repeat:repeat-x}.panel-danger>.panel-heading{background-image:-webkit-linear-gradient(top,#f2dede 0,#ebcccc 100%);background-image:-o-linear-gradient(top,#f2dede 0,#ebcccc 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#f2dede),to(#ebcccc));background-image:linear-gradient(to bottom,#f2dede 0,#ebcccc 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff2dede', endColorstr='#ffebcccc', GradientType=0);background-repeat:repeat-x}.well{background-image:-webkit-linear-gradient(top,#e8e8e8 0,#f5f5f5 100%);background-image:-o-linear-gradient(top,#e8e8e8 0,#f5f5f5 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#e8e8e8),to(#f5f5f5));background-image:linear-gradient(to bottom,#e8e8e8 0,#f5f5f5 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffe8e8e8', endColorstr='#fff5f5f5', GradientType=0);background-repeat:repeat-x;border-color:#dcdcdc;-webkit-box-shadow:inset 0 1px 3px rgba(0,0,0,.05),0 1px 0 rgba(255,255,255,.1);box-shadow:inset 0 1px 3px rgba(0,0,0,.05),0 1px 0 rgba(255,255,255,.1)}
\ No newline at end of file
diff --git a/templates/shop-isle/assets/bootstrap/css/bootstrap.css b/templates/shop-isle/assets/bootstrap/css/bootstrap.css
new file mode 100644 (file)
index 0000000..b8dd005
--- /dev/null
@@ -0,0 +1,6584 @@
+/*!
+ * Bootstrap v3.3.4 (http://getbootstrap.com)
+ * Copyright 2011-2015 Twitter, Inc.
+ * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
+ */
+
+/*! normalize.css v3.0.2 | MIT License | git.io/normalize */
+html {
+       font-family: sans-serif;
+       -webkit-text-size-adjust: 100%;
+       -ms-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,
+strong {
+       font-weight: bold;
+}
+dfn {
+       font-style: italic;
+}
+h1 {
+       margin: .67em 0;
+       font-size: 2em;
+}
+mark {
+       color: #000;
+       background: #ff0;
+}
+small {
+       font-size: 80%;
+}
+sub,
+sup {
+       position: relative;
+       font-size: 75%;
+       line-height: 0;
+       vertical-align: baseline;
+}
+sup {
+       top: -.5em;
+}
+sub {
+       bottom: -.25em;
+}
+img {
+       border: 0;
+}
+svg:not(:root) {
+       overflow: hidden;
+}
+figure {
+       margin: 1em 40px;
+}
+hr {
+       height: 0;
+       -webkit-box-sizing: content-box;
+       -moz-box-sizing: content-box;
+       box-sizing: content-box;
+}
+pre {
+       overflow: auto;
+}
+code,
+kbd,
+pre,
+samp {
+       font-family: monospace, monospace;
+       font-size: 1em;
+}
+button,
+input,
+optgroup,
+select,
+textarea {
+       margin: 0;
+       font: inherit;
+       color: inherit;
+}
+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 {
+       padding: 0;
+       border: 0;
+}
+input {
+       line-height: normal;
+}
+input[type="checkbox"],
+input[type="radio"] {
+       -webkit-box-sizing: border-box;
+       -moz-box-sizing: border-box;
+       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-box-sizing: content-box;
+       -moz-box-sizing: content-box;
+       box-sizing: content-box;
+       -webkit-appearance: textfield;
+}
+input[type="search"]::-webkit-search-cancel-button,
+input[type="search"]::-webkit-search-decoration {
+       -webkit-appearance: none;
+}
+fieldset {
+       padding: .35em .625em .75em;
+       margin: 0 2px;
+       border: 1px solid #c0c0c0;
+}
+legend {
+       padding: 0;
+       border: 0;
+}
+textarea {
+       overflow: auto;
+}
+optgroup {
+       font-weight: bold;
+}
+table {
+       border-spacing: 0;
+       border-collapse: collapse;
+}
+td,
+th {
+       padding: 0;
+}
+/*! Source: https://github.com/h5bp/html5-boilerplate/blob/master/src/css/main.css */
+@media print {
+       *,
+       *:before,
+       *:after {
+               color: #000 !important;
+               text-shadow: none !important;
+               background: transparent !important;
+               -webkit-box-shadow: none !important;
+               box-shadow: none !important;
+       }
+       a,
+       a:visited {
+               text-decoration: underline;
+       }
+       a[href]:after {
+               content: " (" attr(href) ")";
+       }
+       abbr[title]:after {
+               content: " (" attr(title) ")";
+       }
+       a[href^="#"]:after,
+       a[href^="javascript:"]:after {
+               content: "";
+       }
+       pre,
+       blockquote {
+               border: 1px solid #999;
+
+               page-break-inside: avoid;
+       }
+       thead {
+               display: table-header-group;
+       }
+       tr,
+       img {
+               page-break-inside: avoid;
+       }
+       img {
+               max-width: 100% !important;
+       }
+       p,
+       h2,
+       h3 {
+               orphans: 3;
+               widows: 3;
+       }
+       h2,
+       h3 {
+               page-break-after: avoid;
+       }
+       select {
+               background: #fff !important;
+       }
+       .navbar {
+               display: none;
+       }
+       .btn > .caret,
+       .dropup > .btn > .caret {
+               border-top-color: #000 !important;
+       }
+       .label {
+               border: 1px solid #000;
+       }
+       .table {
+               border-collapse: collapse !important;
+       }
+       .table td,
+       .table th {
+               background-color: #fff !important;
+       }
+       .table-bordered th,
+       .table-bordered td {
+               border: 1px solid #ddd !important;
+       }
+}
+@font-face {
+       font-family: 'Glyphicons Halflings';
+
+       src: url('../fonts/glyphicons-halflings-regular.eot');
+       src: url('../fonts/glyphicons-halflings-regular.eot?#iefix') format('embedded-opentype'), url('../fonts/glyphicons-halflings-regular.woff2') format('woff2'), url('../fonts/glyphicons-halflings-regular.woff') format('woff'), url('../fonts/glyphicons-halflings-regular.ttf') format('truetype'), url('../fonts/glyphicons-halflings-regular.svg#glyphicons_halflingsregular') format('svg');
+}
+.glyphicon {
+       position: relative;
+       top: 1px;
+       display: inline-block;
+       font-family: 'Glyphicons Halflings';
+       font-style: normal;
+       font-weight: normal;
+       line-height: 1;
+
+       -webkit-font-smoothing: antialiased;
+       -moz-osx-font-smoothing: grayscale;
+}
+.glyphicon-asterisk:before {
+       content: "\2a";
+}
+.glyphicon-plus:before {
+       content: "\2b";
+}
+.glyphicon-euro:before,
+.glyphicon-eur:before {
+       content: "\20ac";
+}
+.glyphicon-minus:before {
+       content: "\2212";
+}
+.glyphicon-cloud:before {
+       content: "\2601";
+}
+.glyphicon-envelope:before {
+       content: "\2709";
+}
+.glyphicon-pencil:before {
+       content: "\270f";
+}
+.glyphicon-glass:before {
+       content: "\e001";
+}
+.glyphicon-music:before {
+       content: "\e002";
+}
+.glyphicon-search:before {
+       content: "\e003";
+}
+.glyphicon-heart:before {
+       content: "\e005";
+}
+.glyphicon-star:before {
+       content: "\e006";
+}
+.glyphicon-star-empty:before {
+       content: "\e007";
+}
+.glyphicon-user:before {
+       content: "\e008";
+}
+.glyphicon-film:before {
+       content: "\e009";
+}
+.glyphicon-th-large:before {
+       content: "\e010";
+}
+.glyphicon-th:before {
+       content: "\e011";
+}
+.glyphicon-th-list:before {
+       content: "\e012";
+}
+.glyphicon-ok:before {
+       content: "\e013";
+}
+.glyphicon-remove:before {
+       content: "\e014";
+}
+.glyphicon-zoom-in:before {
+       content: "\e015";
+}
+.glyphicon-zoom-out:before {
+       content: "\e016";
+}
+.glyphicon-off:before {
+       content: "\e017";
+}
+.glyphicon-signal:before {
+       content: "\e018";
+}
+.glyphicon-cog:before {
+       content: "\e019";
+}
+.glyphicon-trash:before {
+       content: "\e020";
+}
+.glyphicon-home:before {
+       content: "\e021";
+}
+.glyphicon-file:before {
+       content: "\e022";
+}
+.glyphicon-time:before {
+       content: "\e023";
+}
+.glyphicon-road:before {
+       content: "\e024";
+}
+.glyphicon-download-alt:before {
+       content: "\e025";
+}
+.glyphicon-download:before {
+       content: "\e026";
+}
+.glyphicon-upload:before {
+       content: "\e027";
+}
+.glyphicon-inbox:before {
+       content: "\e028";
+}
+.glyphicon-play-circle:before {
+       content: "\e029";
+}
+.glyphicon-repeat:before {
+       content: "\e030";
+}
+.glyphicon-refresh:before {
+       content: "\e031";
+}
+.glyphicon-list-alt:before {
+       content: "\e032";
+}
+.glyphicon-lock:before {
+       content: "\e033";
+}
+.glyphicon-flag:before {
+       content: "\e034";
+}
+.glyphicon-headphones:before {
+       content: "\e035";
+}
+.glyphicon-volume-off:before {
+       content: "\e036";
+}
+.glyphicon-volume-down:before {
+       content: "\e037";
+}
+.glyphicon-volume-up:before {
+       content: "\e038";
+}
+.glyphicon-qrcode:before {
+       content: "\e039";
+}
+.glyphicon-barcode:before {
+       content: "\e040";
+}
+.glyphicon-tag:before {
+       content: "\e041";
+}
+.glyphicon-tags:before {
+       content: "\e042";
+}
+.glyphicon-book:before {
+       content: "\e043";
+}
+.glyphicon-bookmark:before {
+       content: "\e044";
+}
+.glyphicon-print:before {
+       content: "\e045";
+}
+.glyphicon-camera:before {
+       content: "\e046";
+}
+.glyphicon-font:before {
+       content: "\e047";
+}
+.glyphicon-bold:before {
+       content: "\e048";
+}
+.glyphicon-italic:before {
+       content: "\e049";
+}
+.glyphicon-text-height:before {
+       content: "\e050";
+}
+.glyphicon-text-width:before {
+       content: "\e051";
+}
+.glyphicon-align-left:before {
+       content: "\e052";
+}
+.glyphicon-align-center:before {
+       content: "\e053";
+}
+.glyphicon-align-right:before {
+       content: "\e054";
+}
+.glyphicon-align-justify:before {
+       content: "\e055";
+}
+.glyphicon-list:before {
+       content: "\e056";
+}
+.glyphicon-indent-left:before {
+       content: "\e057";
+}
+.glyphicon-indent-right:before {
+       content: "\e058";
+}
+.glyphicon-facetime-video:before {
+       content: "\e059";
+}
+.glyphicon-picture:before {
+       content: "\e060";
+}
+.glyphicon-map-marker:before {
+       content: "\e062";
+}
+.glyphicon-adjust:before {
+       content: "\e063";
+}
+.glyphicon-tint:before {
+       content: "\e064";
+}
+.glyphicon-edit:before {
+       content: "\e065";
+}
+.glyphicon-share:before {
+       content: "\e066";
+}
+.glyphicon-check:before {
+       content: "\e067";
+}
+.glyphicon-move:before {
+       content: "\e068";
+}
+.glyphicon-step-backward:before {
+       content: "\e069";
+}
+.glyphicon-fast-backward:before {
+       content: "\e070";
+}
+.glyphicon-backward:before {
+       content: "\e071";
+}
+.glyphicon-play:before {
+       content: "\e072";
+}
+.glyphicon-pause:before {
+       content: "\e073";
+}
+.glyphicon-stop:before {
+       content: "\e074";
+}
+.glyphicon-forward:before {
+       content: "\e075";
+}
+.glyphicon-fast-forward:before {
+       content: "\e076";
+}
+.glyphicon-step-forward:before {
+       content: "\e077";
+}
+.glyphicon-eject:before {
+       content: "\e078";
+}
+.glyphicon-chevron-left:before {
+       content: "\e079";
+}
+.glyphicon-chevron-right:before {
+       content: "\e080";
+}
+.glyphicon-plus-sign:before {
+       content: "\e081";
+}
+.glyphicon-minus-sign:before {
+       content: "\e082";
+}
+.glyphicon-remove-sign:before {
+       content: "\e083";
+}
+.glyphicon-ok-sign:before {
+       content: "\e084";
+}
+.glyphicon-question-sign:before {
+       content: "\e085";
+}
+.glyphicon-info-sign:before {
+       content: "\e086";
+}
+.glyphicon-screenshot:before {
+       content: "\e087";
+}
+.glyphicon-remove-circle:before {
+       content: "\e088";
+}
+.glyphicon-ok-circle:before {
+       content: "\e089";
+}
+.glyphicon-ban-circle:before {
+       content: "\e090";
+}
+.glyphicon-arrow-left:before {
+       content: "\e091";
+}
+.glyphicon-arrow-right:before {
+       content: "\e092";
+}
+.glyphicon-arrow-up:before {
+       content: "\e093";
+}
+.glyphicon-arrow-down:before {
+       content: "\e094";
+}
+.glyphicon-share-alt:before {
+       content: "\e095";
+}
+.glyphicon-resize-full:before {
+       content: "\e096";
+}
+.glyphicon-resize-small:before {
+       content: "\e097";
+}
+.glyphicon-exclamation-sign:before {
+       content: "\e101";
+}
+.glyphicon-gift:before {
+       content: "\e102";
+}
+.glyphicon-leaf:before {
+       content: "\e103";
+}
+.glyphicon-fire:before {
+       content: "\e104";
+}
+.glyphicon-eye-open:before {
+       content: "\e105";
+}
+.glyphicon-eye-close:before {
+       content: "\e106";
+}
+.glyphicon-warning-sign:before {
+       content: "\e107";
+}
+.glyphicon-plane:before {
+       content: "\e108";
+}
+.glyphicon-calendar:before {
+       content: "\e109";
+}
+.glyphicon-random:before {
+       content: "\e110";
+}
+.glyphicon-comment:before {
+       content: "\e111";
+}
+.glyphicon-magnet:before {
+       content: "\e112";
+}
+.glyphicon-chevron-up:before {
+       content: "\e113";
+}
+.glyphicon-chevron-down:before {
+       content: "\e114";
+}
+.glyphicon-retweet:before {
+       content: "\e115";
+}
+.glyphicon-shopping-cart:before {
+       content: "\e116";
+}
+.glyphicon-folder-close:before {
+       content: "\e117";
+}
+.glyphicon-folder-open:before {
+       content: "\e118";
+}
+.glyphicon-resize-vertical:before {
+       content: "\e119";
+}
+.glyphicon-resize-horizontal:before {
+       content: "\e120";
+}
+.glyphicon-hdd:before {
+       content: "\e121";
+}
+.glyphicon-bullhorn:before {
+       content: "\e122";
+}
+.glyphicon-bell:before {
+       content: "\e123";
+}
+.glyphicon-certificate:before {
+       content: "\e124";
+}
+.glyphicon-thumbs-up:before {
+       content: "\e125";
+}
+.glyphicon-thumbs-down:before {
+       content: "\e126";
+}
+.glyphicon-hand-right:before {
+       content: "\e127";
+}
+.glyphicon-hand-left:before {
+       content: "\e128";
+}
+.glyphicon-hand-up:before {
+       content: "\e129";
+}
+.glyphicon-hand-down:before {
+       content: "\e130";
+}
+.glyphicon-circle-arrow-right:before {
+       content: "\e131";
+}
+.glyphicon-circle-arrow-left:before {
+       content: "\e132";
+}
+.glyphicon-circle-arrow-up:before {
+       content: "\e133";
+}
+.glyphicon-circle-arrow-down:before {
+       content: "\e134";
+}
+.glyphicon-globe:before {
+       content: "\e135";
+}
+.glyphicon-wrench:before {
+       content: "\e136";
+}
+.glyphicon-tasks:before {
+       content: "\e137";
+}
+.glyphicon-filter:before {
+       content: "\e138";
+}
+.glyphicon-briefcase:before {
+       content: "\e139";
+}
+.glyphicon-fullscreen:before {
+       content: "\e140";
+}
+.glyphicon-dashboard:before {
+       content: "\e141";
+}
+.glyphicon-paperclip:before {
+       content: "\e142";
+}
+.glyphicon-heart-empty:before {
+       content: "\e143";
+}
+.glyphicon-link:before {
+       content: "\e144";
+}
+.glyphicon-phone:before {
+       content: "\e145";
+}
+.glyphicon-pushpin:before {
+       content: "\e146";
+}
+.glyphicon-usd:before {
+       content: "\e148";
+}
+.glyphicon-gbp:before {
+       content: "\e149";
+}
+.glyphicon-sort:before {
+       content: "\e150";
+}
+.glyphicon-sort-by-alphabet:before {
+       content: "\e151";
+}
+.glyphicon-sort-by-alphabet-alt:before {
+       content: "\e152";
+}
+.glyphicon-sort-by-order:before {
+       content: "\e153";
+}
+.glyphicon-sort-by-order-alt:before {
+       content: "\e154";
+}
+.glyphicon-sort-by-attributes:before {
+       content: "\e155";
+}
+.glyphicon-sort-by-attributes-alt:before {
+       content: "\e156";
+}
+.glyphicon-unchecked:before {
+       content: "\e157";
+}
+.glyphicon-expand:before {
+       content: "\e158";
+}
+.glyphicon-collapse-down:before {
+       content: "\e159";
+}
+.glyphicon-collapse-up:before {
+       content: "\e160";
+}
+.glyphicon-log-in:before {
+       content: "\e161";
+}
+.glyphicon-flash:before {
+       content: "\e162";
+}
+.glyphicon-log-out:before {
+       content: "\e163";
+}
+.glyphicon-new-window:before {
+       content: "\e164";
+}
+.glyphicon-record:before {
+       content: "\e165";
+}
+.glyphicon-save:before {
+       content: "\e166";
+}
+.glyphicon-open:before {
+       content: "\e167";
+}
+.glyphicon-saved:before {
+       content: "\e168";
+}
+.glyphicon-import:before {
+       content: "\e169";
+}
+.glyphicon-export:before {
+       content: "\e170";
+}
+.glyphicon-send:before {
+       content: "\e171";
+}
+.glyphicon-floppy-disk:before {
+       content: "\e172";
+}
+.glyphicon-floppy-saved:before {
+       content: "\e173";
+}
+.glyphicon-floppy-remove:before {
+       content: "\e174";
+}
+.glyphicon-floppy-save:before {
+       content: "\e175";
+}
+.glyphicon-floppy-open:before {
+       content: "\e176";
+}
+.glyphicon-credit-card:before {
+       content: "\e177";
+}
+.glyphicon-transfer:before {
+       content: "\e178";
+}
+.glyphicon-cutlery:before {
+       content: "\e179";
+}
+.glyphicon-header:before {
+       content: "\e180";
+}
+.glyphicon-compressed:before {
+       content: "\e181";
+}
+.glyphicon-earphone:before {
+       content: "\e182";
+}
+.glyphicon-phone-alt:before {
+       content: "\e183";
+}
+.glyphicon-tower:before {
+       content: "\e184";
+}
+.glyphicon-stats:before {
+       content: "\e185";
+}
+.glyphicon-sd-video:before {
+       content: "\e186";
+}
+.glyphicon-hd-video:before {
+       content: "\e187";
+}
+.glyphicon-subtitles:before {
+       content: "\e188";
+}
+.glyphicon-sound-stereo:before {
+       content: "\e189";
+}
+.glyphicon-sound-dolby:before {
+       content: "\e190";
+}
+.glyphicon-sound-5-1:before {
+       content: "\e191";
+}
+.glyphicon-sound-6-1:before {
+       content: "\e192";
+}
+.glyphicon-sound-7-1:before {
+       content: "\e193";
+}
+.glyphicon-copyright-mark:before {
+       content: "\e194";
+}
+.glyphicon-registration-mark:before {
+       content: "\e195";
+}
+.glyphicon-cloud-download:before {
+       content: "\e197";
+}
+.glyphicon-cloud-upload:before {
+       content: "\e198";
+}
+.glyphicon-tree-conifer:before {
+       content: "\e199";
+}
+.glyphicon-tree-deciduous:before {
+       content: "\e200";
+}
+.glyphicon-cd:before {
+       content: "\e201";
+}
+.glyphicon-save-file:before {
+       content: "\e202";
+}
+.glyphicon-open-file:before {
+       content: "\e203";
+}
+.glyphicon-level-up:before {
+       content: "\e204";
+}
+.glyphicon-copy:before {
+       content: "\e205";
+}
+.glyphicon-paste:before {
+       content: "\e206";
+}
+.glyphicon-alert:before {
+       content: "\e209";
+}
+.glyphicon-equalizer:before {
+       content: "\e210";
+}
+.glyphicon-king:before {
+       content: "\e211";
+}
+.glyphicon-queen:before {
+       content: "\e212";
+}
+.glyphicon-pawn:before {
+       content: "\e213";
+}
+.glyphicon-bishop:before {
+       content: "\e214";
+}
+.glyphicon-knight:before {
+       content: "\e215";
+}
+.glyphicon-baby-formula:before {
+       content: "\e216";
+}
+.glyphicon-tent:before {
+       content: "\26fa";
+}
+.glyphicon-blackboard:before {
+       content: "\e218";
+}
+.glyphicon-bed:before {
+       content: "\e219";
+}
+.glyphicon-apple:before {
+       content: "\f8ff";
+}
+.glyphicon-erase:before {
+       content: "\e221";
+}
+.glyphicon-hourglass:before {
+       content: "\231b";
+}
+.glyphicon-lamp:before {
+       content: "\e223";
+}
+.glyphicon-duplicate:before {
+       content: "\e224";
+}
+.glyphicon-piggy-bank:before {
+       content: "\e225";
+}
+.glyphicon-scissors:before {
+       content: "\e226";
+}
+.glyphicon-bitcoin:before {
+       content: "\e227";
+}
+.glyphicon-btc:before {
+       content: "\e227";
+}
+.glyphicon-xbt:before {
+       content: "\e227";
+}
+.glyphicon-yen:before {
+       content: "\00a5";
+}
+.glyphicon-jpy:before {
+       content: "\00a5";
+}
+.glyphicon-ruble:before {
+       content: "\20bd";
+}
+.glyphicon-rub:before {
+       content: "\20bd";
+}
+.glyphicon-scale:before {
+       content: "\e230";
+}
+.glyphicon-ice-lolly:before {
+       content: "\e231";
+}
+.glyphicon-ice-lolly-tasted:before {
+       content: "\e232";
+}
+.glyphicon-education:before {
+       content: "\e233";
+}
+.glyphicon-option-horizontal:before {
+       content: "\e234";
+}
+.glyphicon-option-vertical:before {
+       content: "\e235";
+}
+.glyphicon-menu-hamburger:before {
+       content: "\e236";
+}
+.glyphicon-modal-window:before {
+       content: "\e237";
+}
+.glyphicon-oil:before {
+       content: "\e238";
+}
+.glyphicon-grain:before {
+       content: "\e239";
+}
+.glyphicon-sunglasses:before {
+       content: "\e240";
+}
+.glyphicon-text-size:before {
+       content: "\e241";
+}
+.glyphicon-text-color:before {
+       content: "\e242";
+}
+.glyphicon-text-background:before {
+       content: "\e243";
+}
+.glyphicon-object-align-top:before {
+       content: "\e244";
+}
+.glyphicon-object-align-bottom:before {
+       content: "\e245";
+}
+.glyphicon-object-align-horizontal:before {
+       content: "\e246";
+}
+.glyphicon-object-align-left:before {
+       content: "\e247";
+}
+.glyphicon-object-align-vertical:before {
+       content: "\e248";
+}
+.glyphicon-object-align-right:before {
+       content: "\e249";
+}
+.glyphicon-triangle-right:before {
+       content: "\e250";
+}
+.glyphicon-triangle-left:before {
+       content: "\e251";
+}
+.glyphicon-triangle-bottom:before {
+       content: "\e252";
+}
+.glyphicon-triangle-top:before {
+       content: "\e253";
+}
+.glyphicon-console:before {
+       content: "\e254";
+}
+.glyphicon-superscript:before {
+       content: "\e255";
+}
+.glyphicon-subscript:before {
+       content: "\e256";
+}
+.glyphicon-menu-left:before {
+       content: "\e257";
+}
+.glyphicon-menu-right:before {
+       content: "\e258";
+}
+.glyphicon-menu-down:before {
+       content: "\e259";
+}
+.glyphicon-menu-up:before {
+       content: "\e260";
+}
+* {
+       -webkit-box-sizing: border-box;
+       -moz-box-sizing: border-box;
+       box-sizing: border-box;
+}
+*:before,
+*:after {
+       -webkit-box-sizing: border-box;
+       -moz-box-sizing: border-box;
+       box-sizing: border-box;
+}
+html {
+       font-size: 10px;
+
+       -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
+}
+body {
+       font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
+       font-size: 14px;
+       line-height: 1.42857143;
+       color: #333;
+       background-color: #fff;
+}
+input,
+button,
+select,
+textarea {
+       font-family: inherit;
+       font-size: inherit;
+       line-height: inherit;
+}
+a {
+       color: #337ab7;
+       text-decoration: none;
+}
+a:hover,
+a:focus {
+       color: #23527c;
+       text-decoration: underline;
+}
+a:focus {
+       outline: thin dotted;
+       outline: 5px auto -webkit-focus-ring-color;
+       outline-offset: -2px;
+}
+figure {
+       margin: 0;
+}
+img {
+       vertical-align: middle;
+}
+.img-responsive,
+.thumbnail > img,
+.thumbnail a > img,
+.carousel-inner > .item > img,
+.carousel-inner > .item > a > img {
+       display: block;
+       max-width: 100%;
+       height: auto;
+}
+.img-rounded {
+       border-radius: 6px;
+}
+.img-thumbnail {
+       display: inline-block;
+       max-width: 100%;
+       height: auto;
+       padding: 4px;
+       line-height: 1.42857143;
+       background-color: #fff;
+       border: 1px solid #ddd;
+       border-radius: 4px;
+       -webkit-transition: all .2s ease-in-out;
+       -o-transition: all .2s ease-in-out;
+       transition: all .2s ease-in-out;
+}
+.img-circle {
+       border-radius: 50%;
+}
+hr {
+       margin-top: 20px;
+       margin-bottom: 20px;
+       border: 0;
+       border-top: 1px solid #eee;
+}
+.sr-only {
+       position: absolute;
+       width: 1px;
+       height: 1px;
+       padding: 0;
+       margin: -1px;
+       overflow: hidden;
+       clip: rect(0, 0, 0, 0);
+       border: 0;
+}
+.sr-only-focusable:active,
+.sr-only-focusable:focus {
+       position: static;
+       width: auto;
+       height: auto;
+       margin: 0;
+       overflow: visible;
+       clip: auto;
+}
+[role="button"] {
+       cursor: pointer;
+}
+h1,
+h2,
+h3,
+h4,
+h5,
+h6,
+.h1,
+.h2,
+.h3,
+.h4,
+.h5,
+.h6 {
+       font-family: inherit;
+       font-weight: 500;
+       line-height: 1.1;
+       color: inherit;
+}
+h1 small,
+h2 small,
+h3 small,
+h4 small,
+h5 small,
+h6 small,
+.h1 small,
+.h2 small,
+.h3 small,
+.h4 small,
+.h5 small,
+.h6 small,
+h1 .small,
+h2 .small,
+h3 .small,
+h4 .small,
+h5 .small,
+h6 .small,
+.h1 .small,
+.h2 .small,
+.h3 .small,
+.h4 .small,
+.h5 .small,
+.h6 .small {
+       font-weight: normal;
+       line-height: 1;
+       color: #777;
+}
+h1,
+.h1,
+h2,
+.h2,
+h3,
+.h3 {
+       margin-top: 20px;
+       margin-bottom: 10px;
+}
+h1 small,
+.h1 small,
+h2 small,
+.h2 small,
+h3 small,
+.h3 small,
+h1 .small,
+.h1 .small,
+h2 .small,
+.h2 .small,
+h3 .small,
+.h3 .small {
+       font-size: 65%;
+}
+h4,
+.h4,
+h5,
+.h5,
+h6,
+.h6 {
+       margin-top: 10px;
+       margin-bottom: 10px;
+}
+h4 small,
+.h4 small,
+h5 small,
+.h5 small,
+h6 small,
+.h6 small,
+h4 .small,
+.h4 .small,
+h5 .small,
+.h5 .small,
+h6 .small,
+.h6 .small {
+       font-size: 75%;
+}
+h1,
+.h1 {
+       font-size: 36px;
+}
+h2,
+.h2 {
+       font-size: 30px;
+}
+h3,
+.h3 {
+       font-size: 24px;
+}
+h4,
+.h4 {
+       font-size: 18px;
+}
+h5,
+.h5 {
+       font-size: 14px;
+}
+h6,
+.h6 {
+       font-size: 12px;
+}
+p {
+       margin: 0 0 10px;
+}
+.lead {
+       margin-bottom: 20px;
+       font-size: 16px;
+       font-weight: 300;
+       line-height: 1.4;
+}
+@media (min-width: 768px) {
+       .lead {
+               font-size: 21px;
+       }
+}
+small,
+.small {
+       font-size: 85%;
+}
+mark,
+.mark {
+       padding: .2em;
+       background-color: #fcf8e3;
+}
+.text-left {
+       text-align: left;
+}
+.text-right {
+       text-align: right;
+}
+.text-center {
+       text-align: center;
+}
+.text-justify {
+       text-align: justify;
+}
+.text-nowrap {
+       white-space: nowrap;
+}
+.text-lowercase {
+       text-transform: lowercase;
+}
+.text-uppercase {
+       text-transform: uppercase;
+}
+.text-capitalize {
+       text-transform: capitalize;
+}
+.text-muted {
+       color: #777;
+}
+.text-primary {
+       color: #337ab7;
+}
+a.text-primary:hover {
+       color: #286090;
+}
+.text-success {
+       color: #3c763d;
+}
+a.text-success:hover {
+       color: #2b542c;
+}
+.text-info {
+       color: #31708f;
+}
+a.text-info:hover {
+       color: #245269;
+}
+.text-warning {
+       color: #8a6d3b;
+}
+a.text-warning:hover {
+       color: #66512c;
+}
+.text-danger {
+       color: #a94442;
+}
+a.text-danger:hover {
+       color: #843534;
+}
+.bg-primary {
+       color: #fff;
+       background-color: #337ab7;
+}
+a.bg-primary:hover {
+       background-color: #286090;
+}
+.bg-success {
+       background-color: #dff0d8;
+}
+a.bg-success:hover {
+       background-color: #c1e2b3;
+}
+.bg-info {
+       background-color: #d9edf7;
+}
+a.bg-info:hover {
+       background-color: #afd9ee;
+}
+.bg-warning {
+       background-color: #fcf8e3;
+}
+a.bg-warning:hover {
+       background-color: #f7ecb5;
+}
+.bg-danger {
+       background-color: #f2dede;
+}
+a.bg-danger:hover {
+       background-color: #e4b9b9;
+}
+.page-header {
+       padding-bottom: 9px;
+       margin: 40px 0 20px;
+       border-bottom: 1px solid #eee;
+}
+ul,
+ol {
+       margin-top: 0;
+       margin-bottom: 10px;
+}
+ul ul,
+ol ul,
+ul ol,
+ol ol {
+       margin-bottom: 0;
+}
+.list-unstyled {
+       padding-left: 0;
+       list-style: none;
+}
+.list-inline {
+       padding-left: 0;
+       margin-left: -5px;
+       list-style: none;
+}
+.list-inline > li {
+       display: inline-block;
+       padding-right: 5px;
+       padding-left: 5px;
+}
+dl {
+       margin-top: 0;
+       margin-bottom: 20px;
+}
+dt,
+dd {
+       line-height: 1.42857143;
+}
+dt {
+       font-weight: bold;
+}
+dd {
+       margin-left: 0;
+}
+@media (min-width: 768px) {
+       .dl-horizontal dt {
+               float: left;
+               width: 160px;
+               overflow: hidden;
+               clear: left;
+               text-align: right;
+               text-overflow: ellipsis;
+               white-space: nowrap;
+       }
+       .dl-horizontal dd {
+               margin-left: 180px;
+       }
+}
+abbr[title],
+abbr[data-original-title] {
+       cursor: help;
+       border-bottom: 1px dotted #777;
+}
+.initialism {
+       font-size: 90%;
+       text-transform: uppercase;
+}
+blockquote {
+       padding: 10px 20px;
+       margin: 0 0 20px;
+       font-size: 17.5px;
+       border-left: 5px solid #eee;
+}
+blockquote p:last-child,
+blockquote ul:last-child,
+blockquote ol:last-child {
+       margin-bottom: 0;
+}
+blockquote footer,
+blockquote small,
+blockquote .small {
+       display: block;
+       font-size: 80%;
+       line-height: 1.42857143;
+       color: #777;
+}
+blockquote footer:before,
+blockquote small:before,
+blockquote .small:before {
+       content: '\2014 \00A0';
+}
+.blockquote-reverse,
+blockquote.pull-right {
+       padding-right: 15px;
+       padding-left: 0;
+       text-align: right;
+       border-right: 5px solid #eee;
+       border-left: 0;
+}
+.blockquote-reverse footer:before,
+blockquote.pull-right footer:before,
+.blockquote-reverse small:before,
+blockquote.pull-right small:before,
+.blockquote-reverse .small:before,
+blockquote.pull-right .small:before {
+       content: '';
+}
+.blockquote-reverse footer:after,
+blockquote.pull-right footer:after,
+.blockquote-reverse small:after,
+blockquote.pull-right small:after,
+.blockquote-reverse .small:after,
+blockquote.pull-right .small:after {
+       content: '\00A0 \2014';
+}
+address {
+       margin-bottom: 20px;
+       font-style: normal;
+       line-height: 1.42857143;
+}
+code,
+kbd,
+pre,
+samp {
+       font-family: Menlo, Monaco, Consolas, "Courier New", monospace;
+}
+code {
+       padding: 2px 4px;
+       font-size: 90%;
+       color: #c7254e;
+       background-color: #f9f2f4;
+       border-radius: 4px;
+}
+kbd {
+       padding: 2px 4px;
+       font-size: 90%;
+       color: #fff;
+       background-color: #333;
+       border-radius: 3px;
+       -webkit-box-shadow: inset 0 -1px 0 rgba(0, 0, 0, .25);
+       box-shadow: inset 0 -1px 0 rgba(0, 0, 0, .25);
+}
+kbd kbd {
+       padding: 0;
+       font-size: 100%;
+       font-weight: bold;
+       -webkit-box-shadow: none;
+       box-shadow: none;
+}
+pre {
+       display: block;
+       padding: 9.5px;
+       margin: 0 0 10px;
+       font-size: 13px;
+       line-height: 1.42857143;
+       color: #333;
+       word-break: break-all;
+       word-wrap: break-word;
+       background-color: #f5f5f5;
+       border: 1px solid #ccc;
+       border-radius: 4px;
+}
+pre code {
+       padding: 0;
+       font-size: inherit;
+       color: inherit;
+       white-space: pre-wrap;
+       background-color: transparent;
+       border-radius: 0;
+}
+.pre-scrollable {
+       max-height: 340px;
+       overflow-y: scroll;
+}
+.container {
+       padding-right: 15px;
+       padding-left: 15px;
+       margin-right: auto;
+       margin-left: auto;
+}
+@media (min-width: 768px) {
+       .container {
+               width: 750px;
+       }
+}
+@media (min-width: 992px) {
+       .container {
+               width: 970px;
+       }
+}
+@media (min-width: 1200px) {
+       .container {
+               width: 1170px;
+       }
+}
+.container-fluid {
+       padding-right: 15px;
+       padding-left: 15px;
+       margin-right: auto;
+       margin-left: auto;
+}
+.row {
+       margin-right: -15px;
+       margin-left: -15px;
+}
+.col-xs-1, .col-sm-1, .col-md-1, .col-lg-1, .col-xs-2, .col-sm-2, .col-md-2, .col-lg-2, .col-xs-3, .col-sm-3, .col-md-3, .col-lg-3, .col-xs-4, .col-sm-4, .col-md-4, .col-lg-4, .col-xs-5, .col-sm-5, .col-md-5, .col-lg-5, .col-xs-6, .col-sm-6, .col-md-6, .col-lg-6, .col-xs-7, .col-sm-7, .col-md-7, .col-lg-7, .col-xs-8, .col-sm-8, .col-md-8, .col-lg-8, .col-xs-9, .col-sm-9, .col-md-9, .col-lg-9, .col-xs-10, .col-sm-10, .col-md-10, .col-lg-10, .col-xs-11, .col-sm-11, .col-md-11, .col-lg-11, .col-xs-12, .col-sm-12, .col-md-12, .col-lg-12 {
+       position: relative;
+       min-height: 1px;
+       padding-right: 15px;
+       padding-left: 15px;
+}
+.col-xs-1, .col-xs-2, .col-xs-3, .col-xs-4, .col-xs-5, .col-xs-6, .col-xs-7, .col-xs-8, .col-xs-9, .col-xs-10, .col-xs-11, .col-xs-12 {
+       float: left;
+}
+.col-xs-12 {
+       width: 100%;
+}
+.col-xs-11 {
+       width: 91.66666667%;
+}
+.col-xs-10 {
+       width: 83.33333333%;
+}
+.col-xs-9 {
+       width: 75%;
+}
+.col-xs-8 {
+       width: 66.66666667%;
+}
+.col-xs-7 {
+       width: 58.33333333%;
+}
+.col-xs-6 {
+       width: 50%;
+}
+.col-xs-5 {
+       width: 41.66666667%;
+}
+.col-xs-4 {
+       width: 33.33333333%;
+}
+.col-xs-3 {
+       width: 25%;
+}
+.col-xs-2 {
+       width: 16.66666667%;
+}
+.col-xs-1 {
+       width: 8.33333333%;
+}
+.col-xs-pull-12 {
+       right: 100%;
+}
+.col-xs-pull-11 {
+       right: 91.66666667%;
+}
+.col-xs-pull-10 {
+       right: 83.33333333%;
+}
+.col-xs-pull-9 {
+       right: 75%;
+}
+.col-xs-pull-8 {
+       right: 66.66666667%;
+}
+.col-xs-pull-7 {
+       right: 58.33333333%;
+}
+.col-xs-pull-6 {
+       right: 50%;
+}
+.col-xs-pull-5 {
+       right: 41.66666667%;
+}
+.col-xs-pull-4 {
+       right: 33.33333333%;
+}
+.col-xs-pull-3 {
+       right: 25%;
+}
+.col-xs-pull-2 {
+       right: 16.66666667%;
+}
+.col-xs-pull-1 {
+       right: 8.33333333%;
+}
+.col-xs-pull-0 {
+       right: auto;
+}
+.col-xs-push-12 {
+       left: 100%;
+}
+.col-xs-push-11 {
+       left: 91.66666667%;
+}
+.col-xs-push-10 {
+       left: 83.33333333%;
+}
+.col-xs-push-9 {
+       left: 75%;
+}
+.col-xs-push-8 {
+       left: 66.66666667%;
+}
+.col-xs-push-7 {
+       left: 58.33333333%;
+}
+.col-xs-push-6 {
+       left: 50%;
+}
+.col-xs-push-5 {
+       left: 41.66666667%;
+}
+.col-xs-push-4 {
+       left: 33.33333333%;
+}
+.col-xs-push-3 {
+       left: 25%;
+}
+.col-xs-push-2 {
+       left: 16.66666667%;
+}
+.col-xs-push-1 {
+       left: 8.33333333%;
+}
+.col-xs-push-0 {
+       left: auto;
+}
+.col-xs-offset-12 {
+       margin-left: 100%;
+}
+.col-xs-offset-11 {
+       margin-left: 91.66666667%;
+}
+.col-xs-offset-10 {
+       margin-left: 83.33333333%;
+}
+.col-xs-offset-9 {
+       margin-left: 75%;
+}
+.col-xs-offset-8 {
+       margin-left: 66.66666667%;
+}
+.col-xs-offset-7 {
+       margin-left: 58.33333333%;
+}
+.col-xs-offset-6 {
+       margin-left: 50%;
+}
+.col-xs-offset-5 {
+       margin-left: 41.66666667%;
+}
+.col-xs-offset-4 {
+       margin-left: 33.33333333%;
+}
+.col-xs-offset-3 {
+       margin-left: 25%;
+}
+.col-xs-offset-2 {
+       margin-left: 16.66666667%;
+}
+.col-xs-offset-1 {
+       margin-left: 8.33333333%;
+}
+.col-xs-offset-0 {
+       margin-left: 0;
+}
+@media (min-width: 768px) {
+       .col-sm-1, .col-sm-2, .col-sm-3, .col-sm-4, .col-sm-5, .col-sm-6, .col-sm-7, .col-sm-8, .col-sm-9, .col-sm-10, .col-sm-11, .col-sm-12 {
+               float: left;
+       }
+       .col-sm-12 {
+               width: 100%;
+       }
+       .col-sm-11 {
+               width: 91.66666667%;
+       }
+       .col-sm-10 {
+               width: 83.33333333%;
+       }
+       .col-sm-9 {
+               width: 75%;
+       }
+       .col-sm-8 {
+               width: 66.66666667%;
+       }
+       .col-sm-7 {
+               width: 58.33333333%;
+       }
+       .col-sm-6 {
+               width: 50%;
+       }
+       .col-sm-5 {
+               width: 41.66666667%;
+       }
+       .col-sm-4 {
+               width: 33.33333333%;
+       }
+       .col-sm-3 {
+               width: 25%;
+       }
+       .col-sm-2 {
+               width: 16.66666667%;
+       }
+       .col-sm-1 {
+               width: 8.33333333%;
+       }
+       .col-sm-pull-12 {
+               right: 100%;
+       }
+       .col-sm-pull-11 {
+               right: 91.66666667%;
+       }
+       .col-sm-pull-10 {
+               right: 83.33333333%;
+       }
+       .col-sm-pull-9 {
+               right: 75%;
+       }
+       .col-sm-pull-8 {
+               right: 66.66666667%;
+       }
+       .col-sm-pull-7 {
+               right: 58.33333333%;
+       }
+       .col-sm-pull-6 {
+               right: 50%;
+       }
+       .col-sm-pull-5 {
+               right: 41.66666667%;
+       }
+       .col-sm-pull-4 {
+               right: 33.33333333%;
+       }
+       .col-sm-pull-3 {
+               right: 25%;
+       }
+       .col-sm-pull-2 {
+               right: 16.66666667%;
+       }
+       .col-sm-pull-1 {
+               right: 8.33333333%;
+       }
+       .col-sm-pull-0 {
+               right: auto;
+       }
+       .col-sm-push-12 {
+               left: 100%;
+       }
+       .col-sm-push-11 {
+               left: 91.66666667%;
+       }
+       .col-sm-push-10 {
+               left: 83.33333333%;
+       }
+       .col-sm-push-9 {
+               left: 75%;
+       }
+       .col-sm-push-8 {
+               left: 66.66666667%;
+       }
+       .col-sm-push-7 {
+               left: 58.33333333%;
+       }
+       .col-sm-push-6 {
+               left: 50%;
+       }
+       .col-sm-push-5 {
+               left: 41.66666667%;
+       }
+       .col-sm-push-4 {
+               left: 33.33333333%;
+       }
+       .col-sm-push-3 {
+               left: 25%;
+       }
+       .col-sm-push-2 {
+               left: 16.66666667%;
+       }
+       .col-sm-push-1 {
+               left: 8.33333333%;
+       }
+       .col-sm-push-0 {
+               left: auto;
+       }
+       .col-sm-offset-12 {
+               margin-left: 100%;
+       }
+       .col-sm-offset-11 {
+               margin-left: 91.66666667%;
+       }
+       .col-sm-offset-10 {
+               margin-left: 83.33333333%;
+       }
+       .col-sm-offset-9 {
+               margin-left: 75%;
+       }
+       .col-sm-offset-8 {
+               margin-left: 66.66666667%;
+       }
+       .col-sm-offset-7 {
+               margin-left: 58.33333333%;
+       }
+       .col-sm-offset-6 {
+               margin-left: 50%;
+       }
+       .col-sm-offset-5 {
+               margin-left: 41.66666667%;
+       }
+       .col-sm-offset-4 {
+               margin-left: 33.33333333%;
+       }
+       .col-sm-offset-3 {
+               margin-left: 25%;
+       }
+       .col-sm-offset-2 {
+               margin-left: 16.66666667%;
+       }
+       .col-sm-offset-1 {
+               margin-left: 8.33333333%;
+       }
+       .col-sm-offset-0 {
+               margin-left: 0;
+       }
+}
+@media (min-width: 992px) {
+       .col-md-1, .col-md-2, .col-md-3, .col-md-4, .col-md-5, .col-md-6, .col-md-7, .col-md-8, .col-md-9, .col-md-10, .col-md-11, .col-md-12 {
+               float: left;
+       }
+       .col-md-12 {
+               width: 100%;
+       }
+       .col-md-11 {
+               width: 91.66666667%;
+       }
+       .col-md-10 {
+               width: 83.33333333%;
+       }
+       .col-md-9 {
+               width: 75%;
+       }
+       .col-md-8 {
+               width: 66.66666667%;
+       }
+       .col-md-7 {
+               width: 58.33333333%;
+       }
+       .col-md-6 {
+               width: 50%;
+       }
+       .col-md-5 {
+               width: 41.66666667%;
+       }
+       .col-md-4 {
+               width: 33.33333333%;
+       }
+       .col-md-3 {
+               width: 25%;
+       }
+       .col-md-2 {
+               width: 16.66666667%;
+       }
+       .col-md-1 {
+               width: 8.33333333%;
+       }
+       .col-md-pull-12 {
+               right: 100%;
+       }
+       .col-md-pull-11 {
+               right: 91.66666667%;
+       }
+       .col-md-pull-10 {
+               right: 83.33333333%;
+       }
+       .col-md-pull-9 {
+               right: 75%;
+       }
+       .col-md-pull-8 {
+               right: 66.66666667%;
+       }
+       .col-md-pull-7 {
+               right: 58.33333333%;
+       }
+       .col-md-pull-6 {
+               right: 50%;
+       }
+       .col-md-pull-5 {
+               right: 41.66666667%;
+       }
+       .col-md-pull-4 {
+               right: 33.33333333%;
+       }
+       .col-md-pull-3 {
+               right: 25%;
+       }
+       .col-md-pull-2 {
+               right: 16.66666667%;
+       }
+       .col-md-pull-1 {
+               right: 8.33333333%;
+       }
+       .col-md-pull-0 {
+               right: auto;
+       }
+       .col-md-push-12 {
+               left: 100%;
+       }
+       .col-md-push-11 {
+               left: 91.66666667%;
+       }
+       .col-md-push-10 {
+               left: 83.33333333%;
+       }
+       .col-md-push-9 {
+               left: 75%;
+       }
+       .col-md-push-8 {
+               left: 66.66666667%;
+       }
+       .col-md-push-7 {
+               left: 58.33333333%;
+       }
+       .col-md-push-6 {
+               left: 50%;
+       }
+       .col-md-push-5 {
+               left: 41.66666667%;
+       }
+       .col-md-push-4 {
+               left: 33.33333333%;
+       }
+       .col-md-push-3 {
+               left: 25%;
+       }
+       .col-md-push-2 {
+               left: 16.66666667%;
+       }
+       .col-md-push-1 {
+               left: 8.33333333%;
+       }
+       .col-md-push-0 {
+               left: auto;
+       }
+       .col-md-offset-12 {
+               margin-left: 100%;
+       }
+       .col-md-offset-11 {
+               margin-left: 91.66666667%;
+       }
+       .col-md-offset-10 {
+               margin-left: 83.33333333%;
+       }
+       .col-md-offset-9 {
+               margin-left: 75%;
+       }
+       .col-md-offset-8 {
+               margin-left: 66.66666667%;
+       }
+       .col-md-offset-7 {
+               margin-left: 58.33333333%;
+       }
+       .col-md-offset-6 {
+               margin-left: 50%;
+       }
+       .col-md-offset-5 {
+               margin-left: 41.66666667%;
+       }
+       .col-md-offset-4 {
+               margin-left: 33.33333333%;
+       }
+       .col-md-offset-3 {
+               margin-left: 25%;
+       }
+       .col-md-offset-2 {
+               margin-left: 16.66666667%;
+       }
+       .col-md-offset-1 {
+               margin-left: 8.33333333%;
+       }
+       .col-md-offset-0 {
+               margin-left: 0;
+       }
+}
+@media (min-width: 1200px) {
+       .col-lg-1, .col-lg-2, .col-lg-3, .col-lg-4, .col-lg-5, .col-lg-6, .col-lg-7, .col-lg-8, .col-lg-9, .col-lg-10, .col-lg-11, .col-lg-12 {
+               float: left;
+       }
+       .col-lg-12 {
+               width: 100%;
+       }
+       .col-lg-11 {
+               width: 91.66666667%;
+       }
+       .col-lg-10 {
+               width: 83.33333333%;
+       }
+       .col-lg-9 {
+               width: 75%;
+       }
+       .col-lg-8 {
+               width: 66.66666667%;
+       }
+       .col-lg-7 {
+               width: 58.33333333%;
+       }
+       .col-lg-6 {
+               width: 50%;
+       }
+       .col-lg-5 {
+               width: 41.66666667%;
+       }
+       .col-lg-4 {
+               width: 33.33333333%;
+       }
+       .col-lg-3 {
+               width: 25%;
+       }
+       .col-lg-2 {
+               width: 16.66666667%;
+       }
+       .col-lg-1 {
+               width: 8.33333333%;
+       }
+       .col-lg-pull-12 {
+               right: 100%;
+       }
+       .col-lg-pull-11 {
+               right: 91.66666667%;
+       }
+       .col-lg-pull-10 {
+               right: 83.33333333%;
+       }
+       .col-lg-pull-9 {
+               right: 75%;
+       }
+       .col-lg-pull-8 {
+               right: 66.66666667%;
+       }
+       .col-lg-pull-7 {
+               right: 58.33333333%;
+       }
+       .col-lg-pull-6 {
+               right: 50%;
+       }
+       .col-lg-pull-5 {
+               right: 41.66666667%;
+       }
+       .col-lg-pull-4 {
+               right: 33.33333333%;
+       }
+       .col-lg-pull-3 {
+               right: 25%;
+       }
+       .col-lg-pull-2 {
+               right: 16.66666667%;
+       }
+       .col-lg-pull-1 {
+               right: 8.33333333%;
+       }
+       .col-lg-pull-0 {
+               right: auto;
+       }
+       .col-lg-push-12 {
+               left: 100%;
+       }
+       .col-lg-push-11 {
+               left: 91.66666667%;
+       }
+       .col-lg-push-10 {
+               left: 83.33333333%;
+       }
+       .col-lg-push-9 {
+               left: 75%;
+       }
+       .col-lg-push-8 {
+               left: 66.66666667%;
+       }
+       .col-lg-push-7 {
+               left: 58.33333333%;
+       }
+       .col-lg-push-6 {
+               left: 50%;
+       }
+       .col-lg-push-5 {
+               left: 41.66666667%;
+       }
+       .col-lg-push-4 {
+               left: 33.33333333%;
+       }
+       .col-lg-push-3 {
+               left: 25%;
+       }
+       .col-lg-push-2 {
+               left: 16.66666667%;
+       }
+       .col-lg-push-1 {
+               left: 8.33333333%;
+       }
+       .col-lg-push-0 {
+               left: auto;
+       }
+       .col-lg-offset-12 {
+               margin-left: 100%;
+       }
+       .col-lg-offset-11 {
+               margin-left: 91.66666667%;
+       }
+       .col-lg-offset-10 {
+               margin-left: 83.33333333%;
+       }
+       .col-lg-offset-9 {
+               margin-left: 75%;
+       }
+       .col-lg-offset-8 {
+               margin-left: 66.66666667%;
+       }
+       .col-lg-offset-7 {
+               margin-left: 58.33333333%;
+       }
+       .col-lg-offset-6 {
+               margin-left: 50%;
+       }
+       .col-lg-offset-5 {
+               margin-left: 41.66666667%;
+       }
+       .col-lg-offset-4 {
+               margin-left: 33.33333333%;
+       }
+       .col-lg-offset-3 {
+               margin-left: 25%;
+       }
+       .col-lg-offset-2 {
+               margin-left: 16.66666667%;
+       }
+       .col-lg-offset-1 {
+               margin-left: 8.33333333%;
+       }
+       .col-lg-offset-0 {
+               margin-left: 0;
+       }
+}
+table {
+       background-color: transparent;
+}
+caption {
+       padding-top: 8px;
+       padding-bottom: 8px;
+       color: #777;
+       text-align: left;
+}
+th {
+       text-align: left;
+}
+.table {
+       width: 100%;
+       max-width: 100%;
+       margin-bottom: 20px;
+}
+.table > thead > tr > th,
+.table > tbody > tr > th,
+.table > tfoot > tr > th,
+.table > thead > tr > td,
+.table > tbody > tr > td,
+.table > tfoot > tr > td {
+       padding: 8px;
+       line-height: 1.42857143;
+       vertical-align: top;
+       border-top: 1px solid #ddd;
+}
+.table > thead > tr > th {
+       vertical-align: bottom;
+       border-bottom: 2px solid #ddd;
+}
+.table > caption + thead > tr:first-child > th,
+.table > colgroup + thead > tr:first-child > th,
+.table > thead:first-child > tr:first-child > th,
+.table > caption + thead > tr:first-child > td,
+.table > colgroup + thead > tr:first-child > td,
+.table > thead:first-child > tr:first-child > td {
+       border-top: 0;
+}
+.table > tbody + tbody {
+       border-top: 2px solid #ddd;
+}
+.table .table {
+       background-color: #fff;
+}
+.table-condensed > thead > tr > th,
+.table-condensed > tbody > tr > th,
+.table-condensed > tfoot > tr > th,
+.table-condensed > thead > tr > td,
+.table-condensed > tbody > tr > td,
+.table-condensed > tfoot > tr > td {
+       padding: 5px;
+}
+.table-bordered {
+       border: 1px solid #ddd;
+}
+.table-bordered > thead > tr > th,
+.table-bordered > tbody > tr > th,
+.table-bordered > tfoot > tr > th,
+.table-bordered > thead > tr > td,
+.table-bordered > tbody > tr > td,
+.table-bordered > tfoot > tr > td {
+       border: 1px solid #ddd;
+}
+.table-bordered > thead > tr > th,
+.table-bordered > thead > tr > td {
+       border-bottom-width: 2px;
+}
+.table-striped > tbody > tr:nth-of-type(odd) {
+       background-color: #f9f9f9;
+}
+.table-hover > tbody > tr:hover {
+       background-color: #f5f5f5;
+}
+table col[class*="col-"] {
+       position: static;
+       display: table-column;
+       float: none;
+}
+table td[class*="col-"],
+table th[class*="col-"] {
+       position: static;
+       display: table-cell;
+       float: none;
+}
+.table > thead > tr > td.active,
+.table > tbody > tr > td.active,
+.table > tfoot > tr > td.active,
+.table > thead > tr > th.active,
+.table > tbody > tr > th.active,
+.table > tfoot > tr > th.active,
+.table > thead > tr.active > td,
+.table > tbody > tr.active > td,
+.table > tfoot > tr.active > td,
+.table > thead > tr.active > th,
+.table > tbody > tr.active > th,
+.table > tfoot > tr.active > th {
+       background-color: #f5f5f5;
+}
+.table-hover > tbody > tr > td.active:hover,
+.table-hover > tbody > tr > th.active:hover,
+.table-hover > tbody > tr.active:hover > td,
+.table-hover > tbody > tr:hover > .active,
+.table-hover > tbody > tr.active:hover > th {
+       background-color: #e8e8e8;
+}
+.table > thead > tr > td.success,
+.table > tbody > tr > td.success,
+.table > tfoot > tr > td.success,
+.table > thead > tr > th.success,
+.table > tbody > tr > th.success,
+.table > tfoot > tr > th.success,
+.table > thead > tr.success > td,
+.table > tbody > tr.success > td,
+.table > tfoot > tr.success > td,
+.table > thead > tr.success > th,
+.table > tbody > tr.success > th,
+.table > tfoot > tr.success > th {
+       background-color: #dff0d8;
+}
+.table-hover > tbody > tr > td.success:hover,
+.table-hover > tbody > tr > th.success:hover,
+.table-hover > tbody > tr.success:hover > td,
+.table-hover > tbody > tr:hover > .success,
+.table-hover > tbody > tr.success:hover > th {
+       background-color: #d0e9c6;
+}
+.table > thead > tr > td.info,
+.table > tbody > tr > td.info,
+.table > tfoot > tr > td.info,
+.table > thead > tr > th.info,
+.table > tbody > tr > th.info,
+.table > tfoot > tr > th.info,
+.table > thead > tr.info > td,
+.table > tbody > tr.info > td,
+.table > tfoot > tr.info > td,
+.table > thead > tr.info > th,
+.table > tbody > tr.info > th,
+.table > tfoot > tr.info > th {
+       background-color: #d9edf7;
+}
+.table-hover > tbody > tr > td.info:hover,
+.table-hover > tbody > tr > th.info:hover,
+.table-hover > tbody > tr.info:hover > td,
+.table-hover > tbody > tr:hover > .info,
+.table-hover > tbody > tr.info:hover > th {
+       background-color: #c4e3f3;
+}
+.table > thead > tr > td.warning,
+.table > tbody > tr > td.warning,
+.table > tfoot > tr > td.warning,
+.table > thead > tr > th.warning,
+.table > tbody > tr > th.warning,
+.table > tfoot > tr > th.warning,
+.table > thead > tr.warning > td,
+.table > tbody > tr.warning > td,
+.table > tfoot > tr.warning > td,
+.table > thead > tr.warning > th,
+.table > tbody > tr.warning > th,
+.table > tfoot > tr.warning > th {
+       background-color: #fcf8e3;
+}
+.table-hover > tbody > tr > td.warning:hover,
+.table-hover > tbody > tr > th.warning:hover,
+.table-hover > tbody > tr.warning:hover > td,
+.table-hover > tbody > tr:hover > .warning,
+.table-hover > tbody > tr.warning:hover > th {
+       background-color: #faf2cc;
+}
+.table > thead > tr > td.danger,
+.table > tbody > tr > td.danger,
+.table > tfoot > tr > td.danger,
+.table > thead > tr > th.danger,
+.table > tbody > tr > th.danger,
+.table > tfoot > tr > th.danger,
+.table > thead > tr.danger > td,
+.table > tbody > tr.danger > td,
+.table > tfoot > tr.danger > td,
+.table > thead > tr.danger > th,
+.table > tbody > tr.danger > th,
+.table > tfoot > tr.danger > th {
+       background-color: #f2dede;
+}
+.table-hover > tbody > tr > td.danger:hover,
+.table-hover > tbody > tr > th.danger:hover,
+.table-hover > tbody > tr.danger:hover > td,
+.table-hover > tbody > tr:hover > .danger,
+.table-hover > tbody > tr.danger:hover > th {
+       background-color: #ebcccc;
+}
+.table-responsive {
+       min-height: .01%;
+       overflow-x: auto;
+}
+@media screen and (max-width: 767px) {
+       .table-responsive {
+               width: 100%;
+               margin-bottom: 15px;
+               overflow-y: hidden;
+               -ms-overflow-style: -ms-autohiding-scrollbar;
+               border: 1px solid #ddd;
+       }
+       .table-responsive > .table {
+               margin-bottom: 0;
+       }
+       .table-responsive > .table > thead > tr > th,
+       .table-responsive > .table > tbody > tr > th,
+       .table-responsive > .table > tfoot > tr > th,
+       .table-responsive > .table > thead > tr > td,
+       .table-responsive > .table > tbody > tr > td,
+       .table-responsive > .table > tfoot > tr > td {
+               white-space: nowrap;
+       }
+       .table-responsive > .table-bordered {
+               border: 0;
+       }
+       .table-responsive > .table-bordered > thead > tr > th:first-child,
+       .table-responsive > .table-bordered > tbody > tr > th:first-child,
+       .table-responsive > .table-bordered > tfoot > tr > th:first-child,
+       .table-responsive > .table-bordered > thead > tr > td:first-child,
+       .table-responsive > .table-bordered > tbody > tr > td:first-child,
+       .table-responsive > .table-bordered > tfoot > tr > td:first-child {
+               border-left: 0;
+       }
+       .table-responsive > .table-bordered > thead > tr > th:last-child,
+       .table-responsive > .table-bordered > tbody > tr > th:last-child,
+       .table-responsive > .table-bordered > tfoot > tr > th:last-child,
+       .table-responsive > .table-bordered > thead > tr > td:last-child,
+       .table-responsive > .table-bordered > tbody > tr > td:last-child,
+       .table-responsive > .table-bordered > tfoot > tr > td:last-child {
+               border-right: 0;
+       }
+       .table-responsive > .table-bordered > tbody > tr:last-child > th,
+       .table-responsive > .table-bordered > tfoot > tr:last-child > th,
+       .table-responsive > .table-bordered > tbody > tr:last-child > td,
+       .table-responsive > .table-bordered > tfoot > tr:last-child > td {
+               border-bottom: 0;
+       }
+}
+fieldset {
+       min-width: 0;
+       padding: 0;
+       margin: 0;
+       border: 0;
+}
+legend {
+       display: block;
+       width: 100%;
+       padding: 0;
+       margin-bottom: 20px;
+       font-size: 21px;
+       line-height: inherit;
+       color: #333;
+       border: 0;
+       border-bottom: 1px solid #e5e5e5;
+}
+label {
+       display: inline-block;
+       max-width: 100%;
+       margin-bottom: 5px;
+       font-weight: bold;
+}
+input[type="search"] {
+       -webkit-box-sizing: border-box;
+       -moz-box-sizing: border-box;
+       box-sizing: border-box;
+}
+input[type="radio"],
+input[type="checkbox"] {
+       margin: 4px 0 0;
+       margin-top: 1px \9;
+       line-height: normal;
+}
+input[type="file"] {
+       display: block;
+}
+input[type="range"] {
+       display: block;
+       width: 100%;
+}
+select[multiple],
+select[size] {
+       height: auto;
+}
+input[type="file"]:focus,
+input[type="radio"]:focus,
+input[type="checkbox"]:focus {
+       outline: thin dotted;
+       outline: 5px auto -webkit-focus-ring-color;
+       outline-offset: -2px;
+}
+output {
+       display: block;
+       padding-top: 7px;
+       font-size: 14px;
+       line-height: 1.42857143;
+       color: #555;
+}
+.form-control {
+       display: block;
+       width: 100%;
+       height: 34px;
+       padding: 6px 12px;
+       font-size: 14px;
+       line-height: 1.42857143;
+       color: #555;
+       background-color: #fff;
+       background-image: none;
+       border: 1px solid #ccc;
+       border-radius: 4px;
+       -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075);
+       box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075);
+       -webkit-transition: border-color ease-in-out .15s, -webkit-box-shadow ease-in-out .15s;
+       -o-transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s;
+       transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s;
+}
+.form-control:focus {
+       border-color: #66afe9;
+       outline: 0;
+       -webkit-box-shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px rgba(102, 175, 233, .6);
+       box-shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px rgba(102, 175, 233, .6);
+}
+.form-control::-moz-placeholder {
+       color: #999;
+       opacity: 1;
+}
+.form-control:-ms-input-placeholder {
+       color: #999;
+}
+.form-control::-webkit-input-placeholder {
+       color: #999;
+}
+.form-control[disabled],
+.form-control[readonly],
+fieldset[disabled] .form-control {
+       background-color: #eee;
+       opacity: 1;
+}
+.form-control[disabled],
+fieldset[disabled] .form-control {
+       cursor: not-allowed;
+}
+textarea.form-control {
+       height: auto;
+}
+input[type="search"] {
+       -webkit-appearance: none;
+}
+@media screen and (-webkit-min-device-pixel-ratio: 0) {
+       input[type="date"],
+       input[type="time"],
+       input[type="datetime-local"],
+       input[type="month"] {
+               line-height: 34px;
+       }
+       input[type="date"].input-sm,
+       input[type="time"].input-sm,
+       input[type="datetime-local"].input-sm,
+       input[type="month"].input-sm,
+       .input-group-sm input[type="date"],
+       .input-group-sm input[type="time"],
+       .input-group-sm input[type="datetime-local"],
+       .input-group-sm input[type="month"] {
+               line-height: 30px;
+       }
+       input[type="date"].input-lg,
+       input[type="time"].input-lg,
+       input[type="datetime-local"].input-lg,
+       input[type="month"].input-lg,
+       .input-group-lg input[type="date"],
+       .input-group-lg input[type="time"],
+       .input-group-lg input[type="datetime-local"],
+       .input-group-lg input[type="month"] {
+               line-height: 46px;
+       }
+}
+.form-group {
+       margin-bottom: 15px;
+}
+.radio,
+.checkbox {
+       position: relative;
+       display: block;
+       margin-top: 10px;
+       margin-bottom: 10px;
+}
+.radio label,
+.checkbox label {
+       min-height: 20px;
+       padding-left: 20px;
+       margin-bottom: 0;
+       font-weight: normal;
+       cursor: pointer;
+}
+.radio input[type="radio"],
+.radio-inline input[type="radio"],
+.checkbox input[type="checkbox"],
+.checkbox-inline input[type="checkbox"] {
+       position: absolute;
+       margin-top: 4px \9;
+       margin-left: -20px;
+}
+.radio + .radio,
+.checkbox + .checkbox {
+       margin-top: -5px;
+}
+.radio-inline,
+.checkbox-inline {
+       position: relative;
+       display: inline-block;
+       padding-left: 20px;
+       margin-bottom: 0;
+       font-weight: normal;
+       vertical-align: middle;
+       cursor: pointer;
+}
+.radio-inline + .radio-inline,
+.checkbox-inline + .checkbox-inline {
+       margin-top: 0;
+       margin-left: 10px;
+}
+input[type="radio"][disabled],
+input[type="checkbox"][disabled],
+input[type="radio"].disabled,
+input[type="checkbox"].disabled,
+fieldset[disabled] input[type="radio"],
+fieldset[disabled] input[type="checkbox"] {
+       cursor: not-allowed;
+}
+.radio-inline.disabled,
+.checkbox-inline.disabled,
+fieldset[disabled] .radio-inline,
+fieldset[disabled] .checkbox-inline {
+       cursor: not-allowed;
+}
+.radio.disabled label,
+.checkbox.disabled label,
+fieldset[disabled] .radio label,
+fieldset[disabled] .checkbox label {
+       cursor: not-allowed;
+}
+.form-control-static {
+       min-height: 34px;
+       padding-top: 7px;
+       padding-bottom: 7px;
+       margin-bottom: 0;
+}
+.form-control-static.input-lg,
+.form-control-static.input-sm {
+       padding-right: 0;
+       padding-left: 0;
+}
+.input-sm {
+       height: 30px;
+       padding: 5px 10px;
+       font-size: 12px;
+       line-height: 1.5;
+       border-radius: 3px;
+}
+select.input-sm {
+       height: 30px;
+       line-height: 30px;
+}
+textarea.input-sm,
+select[multiple].input-sm {
+       height: auto;
+}
+.form-group-sm .form-control {
+       height: 30px;
+       padding: 5px 10px;
+       font-size: 12px;
+       line-height: 1.5;
+       border-radius: 3px;
+}
+select.form-group-sm .form-control {
+       height: 30px;
+       line-height: 30px;
+}
+textarea.form-group-sm .form-control,
+select[multiple].form-group-sm .form-control {
+       height: auto;
+}
+.form-group-sm .form-control-static {
+       height: 30px;
+       min-height: 32px;
+       padding: 5px 10px;
+       font-size: 12px;
+       line-height: 1.5;
+}
+.input-lg {
+       height: 46px;
+       padding: 10px 16px;
+       font-size: 18px;
+       line-height: 1.3333333;
+       border-radius: 6px;
+}
+select.input-lg {
+       height: 46px;
+       line-height: 46px;
+}
+textarea.input-lg,
+select[multiple].input-lg {
+       height: auto;
+}
+.form-group-lg .form-control {
+       height: 46px;
+       padding: 10px 16px;
+       font-size: 18px;
+       line-height: 1.3333333;
+       border-radius: 6px;
+}
+select.form-group-lg .form-control {
+       height: 46px;
+       line-height: 46px;
+}
+textarea.form-group-lg .form-control,
+select[multiple].form-group-lg .form-control {
+       height: auto;
+}
+.form-group-lg .form-control-static {
+       height: 46px;
+       min-height: 38px;
+       padding: 10px 16px;
+       font-size: 18px;
+       line-height: 1.3333333;
+}
+.has-feedback {
+       position: relative;
+}
+.has-feedback .form-control {
+       padding-right: 42.5px;
+}
+.form-control-feedback {
+       position: absolute;
+       top: 0;
+       right: 0;
+       z-index: 2;
+       display: block;
+       width: 34px;
+       height: 34px;
+       line-height: 34px;
+       text-align: center;
+       pointer-events: none;
+}
+.input-lg + .form-control-feedback {
+       width: 46px;
+       height: 46px;
+       line-height: 46px;
+}
+.input-sm + .form-control-feedback {
+       width: 30px;
+       height: 30px;
+       line-height: 30px;
+}
+.has-success .help-block,
+.has-success .control-label,
+.has-success .radio,
+.has-success .checkbox,
+.has-success .radio-inline,
+.has-success .checkbox-inline,
+.has-success.radio label,
+.has-success.checkbox label,
+.has-success.radio-inline label,
+.has-success.checkbox-inline label {
+       color: #3c763d;
+}
+.has-success .form-control {
+       border-color: #3c763d;
+       -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075);
+       box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075);
+}
+.has-success .form-control:focus {
+       border-color: #2b542c;
+       -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075), 0 0 6px #67b168;
+       box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075), 0 0 6px #67b168;
+}
+.has-success .input-group-addon {
+       color: #3c763d;
+       background-color: #dff0d8;
+       border-color: #3c763d;
+}
+.has-success .form-control-feedback {
+       color: #3c763d;
+}
+.has-warning .help-block,
+.has-warning .control-label,
+.has-warning .radio,
+.has-warning .checkbox,
+.has-warning .radio-inline,
+.has-warning .checkbox-inline,
+.has-warning.radio label,
+.has-warning.checkbox label,
+.has-warning.radio-inline label,
+.has-warning.checkbox-inline label {
+       color: #8a6d3b;
+}
+.has-warning .form-control {
+       border-color: #8a6d3b;
+       -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075);
+       box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075);
+}
+.has-warning .form-control:focus {
+       border-color: #66512c;
+       -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075), 0 0 6px #c0a16b;
+       box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075), 0 0 6px #c0a16b;
+}
+.has-warning .input-group-addon {
+       color: #8a6d3b;
+       background-color: #fcf8e3;
+       border-color: #8a6d3b;
+}
+.has-warning .form-control-feedback {
+       color: #8a6d3b;
+}
+.has-error .help-block,
+.has-error .control-label,
+.has-error .radio,
+.has-error .checkbox,
+.has-error .radio-inline,
+.has-error .checkbox-inline,
+.has-error.radio label,
+.has-error.checkbox label,
+.has-error.radio-inline label,
+.has-error.checkbox-inline label {
+       color: #a94442;
+}
+.has-error .form-control {
+       border-color: #a94442;
+       -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075);
+       box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075);
+}
+.has-error .form-control:focus {
+       border-color: #843534;
+       -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075), 0 0 6px #ce8483;
+       box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075), 0 0 6px #ce8483;
+}
+.has-error .input-group-addon {
+       color: #a94442;
+       background-color: #f2dede;
+       border-color: #a94442;
+}
+.has-error .form-control-feedback {
+       color: #a94442;
+}
+.has-feedback label ~ .form-control-feedback {
+       top: 25px;
+}
+.has-feedback label.sr-only ~ .form-control-feedback {
+       top: 0;
+}
+.help-block {
+       display: block;
+       margin-top: 5px;
+       margin-bottom: 10px;
+       color: #737373;
+}
+@media (min-width: 768px) {
+       .form-inline .form-group {
+               display: inline-block;
+               margin-bottom: 0;
+               vertical-align: middle;
+       }
+       .form-inline .form-control {
+               display: inline-block;
+               width: auto;
+               vertical-align: middle;
+       }
+       .form-inline .form-control-static {
+               display: inline-block;
+       }
+       .form-inline .input-group {
+               display: inline-table;
+               vertical-align: middle;
+       }
+       .form-inline .input-group .input-group-addon,
+       .form-inline .input-group .input-group-btn,
+       .form-inline .input-group .form-control {
+               width: auto;
+       }
+       .form-inline .input-group > .form-control {
+               width: 100%;
+       }
+       .form-inline .control-label {
+               margin-bottom: 0;
+               vertical-align: middle;
+       }
+       .form-inline .radio,
+       .form-inline .checkbox {
+               display: inline-block;
+               margin-top: 0;
+               margin-bottom: 0;
+               vertical-align: middle;
+       }
+       .form-inline .radio label,
+       .form-inline .checkbox label {
+               padding-left: 0;
+       }
+       .form-inline .radio input[type="radio"],
+       .form-inline .checkbox input[type="checkbox"] {
+               position: relative;
+               margin-left: 0;
+       }
+       .form-inline .has-feedback .form-control-feedback {
+               top: 0;
+       }
+}
+.form-horizontal .radio,
+.form-horizontal .checkbox,
+.form-horizontal .radio-inline,
+.form-horizontal .checkbox-inline {
+       padding-top: 7px;
+       margin-top: 0;
+       margin-bottom: 0;
+}
+.form-horizontal .radio,
+.form-horizontal .checkbox {
+       min-height: 27px;
+}
+.form-horizontal .form-group {
+       margin-right: -15px;
+       margin-left: -15px;
+}
+@media (min-width: 768px) {
+       .form-horizontal .control-label {
+               padding-top: 7px;
+               margin-bottom: 0;
+               text-align: right;
+       }
+}
+.form-horizontal .has-feedback .form-control-feedback {
+       right: 15px;
+}
+@media (min-width: 768px) {
+       .form-horizontal .form-group-lg .control-label {
+               padding-top: 14.333333px;
+       }
+}
+@media (min-width: 768px) {
+       .form-horizontal .form-group-sm .control-label {
+               padding-top: 6px;
+       }
+}
+.btn {
+       display: inline-block;
+       padding: 6px 12px;
+       margin-bottom: 0;
+       font-size: 14px;
+       font-weight: normal;
+       line-height: 1.42857143;
+       text-align: center;
+       white-space: nowrap;
+       vertical-align: middle;
+       -ms-touch-action: manipulation;
+       touch-action: manipulation;
+       cursor: pointer;
+       -webkit-user-select: none;
+       -moz-user-select: none;
+       -ms-user-select: none;
+       user-select: none;
+       background-image: none;
+       border: 1px solid transparent;
+       border-radius: 4px;
+}
+.btn:focus,
+.btn:active:focus,
+.btn.active:focus,
+.btn.focus,
+.btn:active.focus,
+.btn.active.focus {
+       outline: thin dotted;
+       outline: 5px auto -webkit-focus-ring-color;
+       outline-offset: -2px;
+}
+.btn:hover,
+.btn:focus,
+.btn.focus {
+       color: #333;
+       text-decoration: none;
+}
+.btn:active,
+.btn.active {
+       background-image: none;
+       outline: 0;
+       -webkit-box-shadow: inset 0 3px 5px rgba(0, 0, 0, .125);
+       box-shadow: inset 0 3px 5px rgba(0, 0, 0, .125);
+}
+.btn.disabled,
+.btn[disabled],
+fieldset[disabled] .btn {
+       pointer-events: none;
+       cursor: not-allowed;
+       filter: alpha(opacity=65);
+       -webkit-box-shadow: none;
+       box-shadow: none;
+       opacity: .65;
+}
+.btn-default {
+       color: #333;
+       background-color: #fff;
+       border-color: #ccc;
+}
+.btn-default:hover,
+.btn-default:focus,
+.btn-default.focus,
+.btn-default:active,
+.btn-default.active,
+.open > .dropdown-toggle.btn-default {
+       color: #333;
+       background-color: #e6e6e6;
+       border-color: #adadad;
+}
+.btn-default:active,
+.btn-default.active,
+.open > .dropdown-toggle.btn-default {
+       background-image: none;
+}
+.btn-default.disabled,
+.btn-default[disabled],
+fieldset[disabled] .btn-default,
+.btn-default.disabled:hover,
+.btn-default[disabled]:hover,
+fieldset[disabled] .btn-default:hover,
+.btn-default.disabled:focus,
+.btn-default[disabled]:focus,
+fieldset[disabled] .btn-default:focus,
+.btn-default.disabled.focus,
+.btn-default[disabled].focus,
+fieldset[disabled] .btn-default.focus,
+.btn-default.disabled:active,
+.btn-default[disabled]:active,
+fieldset[disabled] .btn-default:active,
+.btn-default.disabled.active,
+.btn-default[disabled].active,
+fieldset[disabled] .btn-default.active {
+       background-color: #fff;
+       border-color: #ccc;
+}
+.btn-default .badge {
+       color: #fff;
+       background-color: #333;
+}
+.btn-primary {
+       color: #fff;
+       background-color: #337ab7;
+       border-color: #2e6da4;
+}
+.btn-primary:hover,
+.btn-primary:focus,
+.btn-primary.focus,
+.btn-primary:active,
+.btn-primary.active,
+.open > .dropdown-toggle.btn-primary {
+       color: #fff;
+       background-color: #286090;
+       border-color: #204d74;
+}
+.btn-primary:active,
+.btn-primary.active,
+.open > .dropdown-toggle.btn-primary {
+       background-image: none;
+}
+.btn-primary.disabled,
+.btn-primary[disabled],
+fieldset[disabled] .btn-primary,
+.btn-primary.disabled:hover,
+.btn-primary[disabled]:hover,
+fieldset[disabled] .btn-primary:hover,
+.btn-primary.disabled:focus,
+.btn-primary[disabled]:focus,
+fieldset[disabled] .btn-primary:focus,
+.btn-primary.disabled.focus,
+.btn-primary[disabled].focus,
+fieldset[disabled] .btn-primary.focus,
+.btn-primary.disabled:active,
+.btn-primary[disabled]:active,
+fieldset[disabled] .btn-primary:active,
+.btn-primary.disabled.active,
+.btn-primary[disabled].active,
+fieldset[disabled] .btn-primary.active {
+       background-color: #337ab7;
+       border-color: #2e6da4;
+}
+.btn-primary .badge {
+       color: #337ab7;
+       background-color: #fff;
+}
+.btn-success {
+       color: #fff;
+       background-color: #5cb85c;
+       border-color: #4cae4c;
+}
+.btn-success:hover,
+.btn-success:focus,
+.btn-success.focus,
+.btn-success:active,
+.btn-success.active,
+.open > .dropdown-toggle.btn-success {
+       color: #fff;
+       background-color: #449d44;
+       border-color: #398439;
+}
+.btn-success:active,
+.btn-success.active,
+.open > .dropdown-toggle.btn-success {
+       background-image: none;
+}
+.btn-success.disabled,
+.btn-success[disabled],
+fieldset[disabled] .btn-success,
+.btn-success.disabled:hover,
+.btn-success[disabled]:hover,
+fieldset[disabled] .btn-success:hover,
+.btn-success.disabled:focus,
+.btn-success[disabled]:focus,
+fieldset[disabled] .btn-success:focus,
+.btn-success.disabled.focus,
+.btn-success[disabled].focus,
+fieldset[disabled] .btn-success.focus,
+.btn-success.disabled:active,
+.btn-success[disabled]:active,
+fieldset[disabled] .btn-success:active,
+.btn-success.disabled.active,
+.btn-success[disabled].active,
+fieldset[disabled] .btn-success.active {
+       background-color: #5cb85c;
+       border-color: #4cae4c;
+}
+.btn-success .badge {
+       color: #5cb85c;
+       background-color: #fff;
+}
+.btn-info {
+       color: #fff;
+       background-color: #5bc0de;
+       border-color: #46b8da;
+}
+.btn-info:hover,
+.btn-info:focus,
+.btn-info.focus,
+.btn-info:active,
+.btn-info.active,
+.open > .dropdown-toggle.btn-info {
+       color: #fff;
+       background-color: #31b0d5;
+       border-color: #269abc;
+}
+.btn-info:active,
+.btn-info.active,
+.open > .dropdown-toggle.btn-info {
+       background-image: none;
+}
+.btn-info.disabled,
+.btn-info[disabled],
+fieldset[disabled] .btn-info,
+.btn-info.disabled:hover,
+.btn-info[disabled]:hover,
+fieldset[disabled] .btn-info:hover,
+.btn-info.disabled:focus,
+.btn-info[disabled]:focus,
+fieldset[disabled] .btn-info:focus,
+.btn-info.disabled.focus,
+.btn-info[disabled].focus,
+fieldset[disabled] .btn-info.focus,
+.btn-info.disabled:active,
+.btn-info[disabled]:active,
+fieldset[disabled] .btn-info:active,
+.btn-info.disabled.active,
+.btn-info[disabled].active,
+fieldset[disabled] .btn-info.active {
+       background-color: #5bc0de;
+       border-color: #46b8da;
+}
+.btn-info .badge {
+       color: #5bc0de;
+       background-color: #fff;
+}
+.btn-warning {
+       color: #fff;
+       background-color: #f0ad4e;
+       border-color: #eea236;
+}
+.btn-warning:hover,
+.btn-warning:focus,
+.btn-warning.focus,
+.btn-warning:active,
+.btn-warning.active,
+.open > .dropdown-toggle.btn-warning {
+       color: #fff;
+       background-color: #ec971f;
+       border-color: #d58512;
+}
+.btn-warning:active,
+.btn-warning.active,
+.open > .dropdown-toggle.btn-warning {
+       background-image: none;
+}
+.btn-warning.disabled,
+.btn-warning[disabled],
+fieldset[disabled] .btn-warning,
+.btn-warning.disabled:hover,
+.btn-warning[disabled]:hover,
+fieldset[disabled] .btn-warning:hover,
+.btn-warning.disabled:focus,
+.btn-warning[disabled]:focus,
+fieldset[disabled] .btn-warning:focus,
+.btn-warning.disabled.focus,
+.btn-warning[disabled].focus,
+fieldset[disabled] .btn-warning.focus,
+.btn-warning.disabled:active,
+.btn-warning[disabled]:active,
+fieldset[disabled] .btn-warning:active,
+.btn-warning.disabled.active,
+.btn-warning[disabled].active,
+fieldset[disabled] .btn-warning.active {
+       background-color: #f0ad4e;
+       border-color: #eea236;
+}
+.btn-warning .badge {
+       color: #f0ad4e;
+       background-color: #fff;
+}
+.btn-danger {
+       color: #fff;
+       background-color: #d9534f;
+       border-color: #d43f3a;
+}
+.btn-danger:hover,
+.btn-danger:focus,
+.btn-danger.focus,
+.btn-danger:active,
+.btn-danger.active,
+.open > .dropdown-toggle.btn-danger {
+       color: #fff;
+       background-color: #c9302c;
+       border-color: #ac2925;
+}
+.btn-danger:active,
+.btn-danger.active,
+.open > .dropdown-toggle.btn-danger {
+       background-image: none;
+}
+.btn-danger.disabled,
+.btn-danger[disabled],
+fieldset[disabled] .btn-danger,
+.btn-danger.disabled:hover,
+.btn-danger[disabled]:hover,
+fieldset[disabled] .btn-danger:hover,
+.btn-danger.disabled:focus,
+.btn-danger[disabled]:focus,
+fieldset[disabled] .btn-danger:focus,
+.btn-danger.disabled.focus,
+.btn-danger[disabled].focus,
+fieldset[disabled] .btn-danger.focus,
+.btn-danger.disabled:active,
+.btn-danger[disabled]:active,
+fieldset[disabled] .btn-danger:active,
+.btn-danger.disabled.active,
+.btn-danger[disabled].active,
+fieldset[disabled] .btn-danger.active {
+       background-color: #d9534f;
+       border-color: #d43f3a;
+}
+.btn-danger .badge {
+       color: #d9534f;
+       background-color: #fff;
+}
+.btn-link {
+       font-weight: normal;
+       color: #337ab7;
+       border-radius: 0;
+}
+.btn-link,
+.btn-link:active,
+.btn-link.active,
+.btn-link[disabled],
+fieldset[disabled] .btn-link {
+       background-color: transparent;
+       -webkit-box-shadow: none;
+       box-shadow: none;
+}
+.btn-link,
+.btn-link:hover,
+.btn-link:focus,
+.btn-link:active {
+       border-color: transparent;
+}
+.btn-link:hover,
+.btn-link:focus {
+       color: #23527c;
+       text-decoration: underline;
+       background-color: transparent;
+}
+.btn-link[disabled]:hover,
+fieldset[disabled] .btn-link:hover,
+.btn-link[disabled]:focus,
+fieldset[disabled] .btn-link:focus {
+       color: #777;
+       text-decoration: none;
+}
+.btn-lg,
+.btn-group-lg > .btn {
+       padding: 10px 16px;
+       font-size: 18px;
+       line-height: 1.3333333;
+       border-radius: 6px;
+}
+.btn-sm,
+.btn-group-sm > .btn {
+       padding: 5px 10px;
+       font-size: 12px;
+       line-height: 1.5;
+       border-radius: 3px;
+}
+.btn-xs,
+.btn-group-xs > .btn {
+       padding: 1px 5px;
+       font-size: 12px;
+       line-height: 1.5;
+       border-radius: 3px;
+}
+.btn-block {
+       display: block;
+       width: 100%;
+}
+.btn-block + .btn-block {
+       margin-top: 5px;
+}
+input[type="submit"].btn-block,
+input[type="reset"].btn-block,
+input[type="button"].btn-block {
+       width: 100%;
+}
+.fade {
+       opacity: 0;
+       -webkit-transition: opacity .15s linear;
+       -o-transition: opacity .15s linear;
+       transition: opacity .15s linear;
+}
+.fade.in {
+       opacity: 1;
+}
+.collapse {
+       display: none;
+}
+.collapse.in {
+       display: block;
+}
+tr.collapse.in {
+       display: table-row;
+}
+tbody.collapse.in {
+       display: table-row-group;
+}
+.collapsing {
+       position: relative;
+       height: 0;
+       overflow: hidden;
+       -webkit-transition-timing-function: ease;
+       -o-transition-timing-function: ease;
+       transition-timing-function: ease;
+       -webkit-transition-duration: .35s;
+       -o-transition-duration: .35s;
+       transition-duration: .35s;
+       -webkit-transition-property: height, visibility;
+       -o-transition-property: height, visibility;
+       transition-property: height, visibility;
+}
+.caret {
+       display: inline-block;
+       width: 0;
+       height: 0;
+       margin-left: 2px;
+       vertical-align: middle;
+       border-top: 4px dashed;
+       border-right: 4px solid transparent;
+       border-left: 4px solid transparent;
+}
+.dropup,
+.dropdown {
+       position: relative;
+}
+.dropdown-toggle:focus {
+       outline: 0;
+}
+.dropdown-menu {
+       position: absolute;
+       top: 100%;
+       left: 0;
+       z-index: 1000;
+       display: none;
+       float: left;
+       min-width: 160px;
+       padding: 5px 0;
+       margin: 2px 0 0;
+       font-size: 14px;
+       text-align: left;
+       list-style: none;
+       background-color: #fff;
+       -webkit-background-clip: padding-box;
+       background-clip: padding-box;
+       border: 1px solid #ccc;
+       border: 1px solid rgba(0, 0, 0, .15);
+       border-radius: 4px;
+       -webkit-box-shadow: 0 6px 12px rgba(0, 0, 0, .175);
+       box-shadow: 0 6px 12px rgba(0, 0, 0, .175);
+}
+.dropdown-menu.pull-right {
+       right: 0;
+       left: auto;
+}
+.dropdown-menu .divider {
+       height: 1px;
+       margin: 9px 0;
+       overflow: hidden;
+       background-color: #e5e5e5;
+}
+.dropdown-menu > li > a {
+       display: block;
+       padding: 3px 20px;
+       clear: both;
+       font-weight: normal;
+       line-height: 1.42857143;
+       color: #333;
+       white-space: nowrap;
+}
+.dropdown-menu > li > a:hover,
+.dropdown-menu > li > a:focus {
+       color: #262626;
+       text-decoration: none;
+       background-color: #f5f5f5;
+}
+.dropdown-menu > .active > a,
+.dropdown-menu > .active > a:hover,
+.dropdown-menu > .active > a:focus {
+       color: #fff;
+       text-decoration: none;
+       background-color: #337ab7;
+       outline: 0;
+}
+.dropdown-menu > .disabled > a,
+.dropdown-menu > .disabled > a:hover,
+.dropdown-menu > .disabled > a:focus {
+       color: #777;
+}
+.dropdown-menu > .disabled > a:hover,
+.dropdown-menu > .disabled > a:focus {
+       text-decoration: none;
+       cursor: not-allowed;
+       background-color: transparent;
+       background-image: none;
+       filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);
+}
+.open > .dropdown-menu {
+       display: block;
+}
+.open > a {
+       outline: 0;
+}
+.dropdown-menu-right {
+       right: 0;
+       left: auto;
+}
+.dropdown-menu-left {
+       right: auto;
+       left: 0;
+}
+.dropdown-header {
+       display: block;
+       padding: 3px 20px;
+       font-size: 12px;
+       line-height: 1.42857143;
+       color: #777;
+       white-space: nowrap;
+}
+.dropdown-backdrop {
+       position: fixed;
+       top: 0;
+       right: 0;
+       bottom: 0;
+       left: 0;
+       z-index: 990;
+}
+.pull-right > .dropdown-menu {
+       right: 0;
+       left: auto;
+}
+.dropup .caret,
+.navbar-fixed-bottom .dropdown .caret {
+       content: "";
+       border-top: 0;
+       border-bottom: 4px solid;
+}
+.dropup .dropdown-menu,
+.navbar-fixed-bottom .dropdown .dropdown-menu {
+       top: auto;
+       bottom: 100%;
+       margin-bottom: 2px;
+}
+@media (min-width: 768px) {
+       .navbar-right .dropdown-menu {
+               right: 0;
+               left: auto;
+       }
+       .navbar-right .dropdown-menu-left {
+               right: auto;
+               left: 0;
+       }
+}
+.btn-group,
+.btn-group-vertical {
+       position: relative;
+       display: inline-block;
+       vertical-align: middle;
+}
+.btn-group > .btn,
+.btn-group-vertical > .btn {
+       position: relative;
+       float: left;
+}
+.btn-group > .btn:hover,
+.btn-group-vertical > .btn:hover,
+.btn-group > .btn:focus,
+.btn-group-vertical > .btn:focus,
+.btn-group > .btn:active,
+.btn-group-vertical > .btn:active,
+.btn-group > .btn.active,
+.btn-group-vertical > .btn.active {
+       z-index: 2;
+}
+.btn-group .btn + .btn,
+.btn-group .btn + .btn-group,
+.btn-group .btn-group + .btn,
+.btn-group .btn-group + .btn-group {
+       margin-left: -1px;
+}
+.btn-toolbar {
+       margin-left: -5px;
+}
+.btn-toolbar .btn-group,
+.btn-toolbar .input-group {
+       float: left;
+}
+.btn-toolbar > .btn,
+.btn-toolbar > .btn-group,
+.btn-toolbar > .input-group {
+       margin-left: 5px;
+}
+.btn-group > .btn:not(:first-child):not(:last-child):not(.dropdown-toggle) {
+       border-radius: 0;
+}
+.btn-group > .btn:first-child {
+       margin-left: 0;
+}
+.btn-group > .btn:first-child:not(:last-child):not(.dropdown-toggle) {
+       border-top-right-radius: 0;
+       border-bottom-right-radius: 0;
+}
+.btn-group > .btn:last-child:not(:first-child),
+.btn-group > .dropdown-toggle:not(:first-child) {
+       border-top-left-radius: 0;
+       border-bottom-left-radius: 0;
+}
+.btn-group > .btn-group {
+       float: left;
+}
+.btn-group > .btn-group:not(:first-child):not(:last-child) > .btn {
+       border-radius: 0;
+}
+.btn-group > .btn-group:first-child:not(:last-child) > .btn:last-child,
+.btn-group > .btn-group:first-child:not(:last-child) > .dropdown-toggle {
+       border-top-right-radius: 0;
+       border-bottom-right-radius: 0;
+}
+.btn-group > .btn-group:last-child:not(:first-child) > .btn:first-child {
+       border-top-left-radius: 0;
+       border-bottom-left-radius: 0;
+}
+.btn-group .dropdown-toggle:active,
+.btn-group.open .dropdown-toggle {
+       outline: 0;
+}
+.btn-group > .btn + .dropdown-toggle {
+       padding-right: 8px;
+       padding-left: 8px;
+}
+.btn-group > .btn-lg + .dropdown-toggle {
+       padding-right: 12px;
+       padding-left: 12px;
+}
+.btn-group.open .dropdown-toggle {
+       -webkit-box-shadow: inset 0 3px 5px rgba(0, 0, 0, .125);
+       box-shadow: inset 0 3px 5px rgba(0, 0, 0, .125);
+}
+.btn-group.open .dropdown-toggle.btn-link {
+       -webkit-box-shadow: none;
+       box-shadow: none;
+}
+.btn .caret {
+       margin-left: 0;
+}
+.btn-lg .caret {
+       border-width: 5px 5px 0;
+       border-bottom-width: 0;
+}
+.dropup .btn-lg .caret {
+       border-width: 0 5px 5px;
+}
+.btn-group-vertical > .btn,
+.btn-group-vertical > .btn-group,
+.btn-group-vertical > .btn-group > .btn {
+       display: block;
+       float: none;
+       width: 100%;
+       max-width: 100%;
+}
+.btn-group-vertical > .btn-group > .btn {
+       float: none;
+}
+.btn-group-vertical > .btn + .btn,
+.btn-group-vertical > .btn + .btn-group,
+.btn-group-vertical > .btn-group + .btn,
+.btn-group-vertical > .btn-group + .btn-group {
+       margin-top: -1px;
+       margin-left: 0;
+}
+.btn-group-vertical > .btn:not(:first-child):not(:last-child) {
+       border-radius: 0;
+}
+.btn-group-vertical > .btn:first-child:not(:last-child) {
+       border-top-right-radius: 4px;
+       border-bottom-right-radius: 0;
+       border-bottom-left-radius: 0;
+}
+.btn-group-vertical > .btn:last-child:not(:first-child) {
+       border-top-left-radius: 0;
+       border-top-right-radius: 0;
+       border-bottom-left-radius: 4px;
+}
+.btn-group-vertical > .btn-group:not(:first-child):not(:last-child) > .btn {
+       border-radius: 0;
+}
+.btn-group-vertical > .btn-group:first-child:not(:last-child) > .btn:last-child,
+.btn-group-vertical > .btn-group:first-child:not(:last-child) > .dropdown-toggle {
+       border-bottom-right-radius: 0;
+       border-bottom-left-radius: 0;
+}
+.btn-group-vertical > .btn-group:last-child:not(:first-child) > .btn:first-child {
+       border-top-left-radius: 0;
+       border-top-right-radius: 0;
+}
+.btn-group-justified {
+       display: table;
+       width: 100%;
+       table-layout: fixed;
+       border-collapse: separate;
+}
+.btn-group-justified > .btn,
+.btn-group-justified > .btn-group {
+       display: table-cell;
+       float: none;
+       width: 1%;
+}
+.btn-group-justified > .btn-group .btn {
+       width: 100%;
+}
+.btn-group-justified > .btn-group .dropdown-menu {
+       left: auto;
+}
+[data-toggle="buttons"] > .btn input[type="radio"],
+[data-toggle="buttons"] > .btn-group > .btn input[type="radio"],
+[data-toggle="buttons"] > .btn input[type="checkbox"],
+[data-toggle="buttons"] > .btn-group > .btn input[type="checkbox"] {
+       position: absolute;
+       clip: rect(0, 0, 0, 0);
+       pointer-events: none;
+}
+.input-group {
+       position: relative;
+       display: table;
+       border-collapse: separate;
+}
+.input-group[class*="col-"] {
+       float: none;
+       padding-right: 0;
+       padding-left: 0;
+}
+.input-group .form-control {
+       position: relative;
+       z-index: 2;
+       float: left;
+       width: 100%;
+       margin-bottom: 0;
+}
+.input-group-lg > .form-control,
+.input-group-lg > .input-group-addon,
+.input-group-lg > .input-group-btn > .btn {
+       height: 46px;
+       padding: 10px 16px;
+       font-size: 18px;
+       line-height: 1.3333333;
+       border-radius: 6px;
+}
+select.input-group-lg > .form-control,
+select.input-group-lg > .input-group-addon,
+select.input-group-lg > .input-group-btn > .btn {
+       height: 46px;
+       line-height: 46px;
+}
+textarea.input-group-lg > .form-control,
+textarea.input-group-lg > .input-group-addon,
+textarea.input-group-lg > .input-group-btn > .btn,
+select[multiple].input-group-lg > .form-control,
+select[multiple].input-group-lg > .input-group-addon,
+select[multiple].input-group-lg > .input-group-btn > .btn {
+       height: auto;
+}
+.input-group-sm > .form-control,
+.input-group-sm > .input-group-addon,
+.input-group-sm > .input-group-btn > .btn {
+       height: 30px;
+       padding: 5px 10px;
+       font-size: 12px;
+       line-height: 1.5;
+       border-radius: 3px;
+}
+select.input-group-sm > .form-control,
+select.input-group-sm > .input-group-addon,
+select.input-group-sm > .input-group-btn > .btn {
+       height: 30px;
+       line-height: 30px;
+}
+textarea.input-group-sm > .form-control,
+textarea.input-group-sm > .input-group-addon,
+textarea.input-group-sm > .input-group-btn > .btn,
+select[multiple].input-group-sm > .form-control,
+select[multiple].input-group-sm > .input-group-addon,
+select[multiple].input-group-sm > .input-group-btn > .btn {
+       height: auto;
+}
+.input-group-addon,
+.input-group-btn,
+.input-group .form-control {
+       display: table-cell;
+}
+.input-group-addon:not(:first-child):not(:last-child),
+.input-group-btn:not(:first-child):not(:last-child),
+.input-group .form-control:not(:first-child):not(:last-child) {
+       border-radius: 0;
+}
+.input-group-addon,
+.input-group-btn {
+       width: 1%;
+       white-space: nowrap;
+       vertical-align: middle;
+}
+.input-group-addon {
+       padding: 6px 12px;
+       font-size: 14px;
+       font-weight: normal;
+       line-height: 1;
+       color: #555;
+       text-align: center;
+       background-color: #eee;
+       border: 1px solid #ccc;
+       border-radius: 4px;
+}
+.input-group-addon.input-sm {
+       padding: 5px 10px;
+       font-size: 12px;
+       border-radius: 3px;
+}
+.input-group-addon.input-lg {
+       padding: 10px 16px;
+       font-size: 18px;
+       border-radius: 6px;
+}
+.input-group-addon input[type="radio"],
+.input-group-addon input[type="checkbox"] {
+       margin-top: 0;
+}
+.input-group .form-control:first-child,
+.input-group-addon:first-child,
+.input-group-btn:first-child > .btn,
+.input-group-btn:first-child > .btn-group > .btn,
+.input-group-btn:first-child > .dropdown-toggle,
+.input-group-btn:last-child > .btn:not(:last-child):not(.dropdown-toggle),
+.input-group-btn:last-child > .btn-group:not(:last-child) > .btn {
+       border-top-right-radius: 0;
+       border-bottom-right-radius: 0;
+}
+.input-group-addon:first-child {
+       border-right: 0;
+}
+.input-group .form-control:last-child,
+.input-group-addon:last-child,
+.input-group-btn:last-child > .btn,
+.input-group-btn:last-child > .btn-group > .btn,
+.input-group-btn:last-child > .dropdown-toggle,
+.input-group-btn:first-child > .btn:not(:first-child),
+.input-group-btn:first-child > .btn-group:not(:first-child) > .btn {
+       border-top-left-radius: 0;
+       border-bottom-left-radius: 0;
+}
+.input-group-addon:last-child {
+       border-left: 0;
+}
+.input-group-btn {
+       position: relative;
+       font-size: 0;
+       white-space: nowrap;
+}
+.input-group-btn > .btn {
+       position: relative;
+}
+.input-group-btn > .btn + .btn {
+       margin-left: -1px;
+}
+.input-group-btn > .btn:hover,
+.input-group-btn > .btn:focus,
+.input-group-btn > .btn:active {
+       z-index: 2;
+}
+.input-group-btn:first-child > .btn,
+.input-group-btn:first-child > .btn-group {
+       margin-right: -1px;
+}
+.input-group-btn:last-child > .btn,
+.input-group-btn:last-child > .btn-group {
+       margin-left: -1px;
+}
+.nav {
+       padding-left: 0;
+       margin-bottom: 0;
+       list-style: none;
+}
+.nav > li {
+       position: relative;
+       display: block;
+}
+.nav > li > a {
+       position: relative;
+       display: block;
+       padding: 10px 15px;
+}
+.nav > li > a:hover,
+.nav > li > a:focus {
+       text-decoration: none;
+       background-color: #eee;
+}
+.nav > li.disabled > a {
+       color: #777;
+}
+.nav > li.disabled > a:hover,
+.nav > li.disabled > a:focus {
+       color: #777;
+       text-decoration: none;
+       cursor: not-allowed;
+       background-color: transparent;
+}
+.nav .open > a,
+.nav .open > a:hover,
+.nav .open > a:focus {
+       background-color: #eee;
+       border-color: #337ab7;
+}
+.nav .nav-divider {
+       height: 1px;
+       margin: 9px 0;
+       overflow: hidden;
+       background-color: #e5e5e5;
+}
+.nav > li > a > img {
+       max-width: none;
+}
+.nav-tabs {
+       border-bottom: 1px solid #ddd;
+}
+.nav-tabs > li {
+       float: left;
+       margin-bottom: -1px;
+}
+.nav-tabs > li > a {
+       margin-right: 2px;
+       line-height: 1.42857143;
+       border: 1px solid transparent;
+       border-radius: 4px 4px 0 0;
+}
+.nav-tabs > li > a:hover {
+       border-color: #eee #eee #ddd;
+}
+.nav-tabs > li.active > a,
+.nav-tabs > li.active > a:hover,
+.nav-tabs > li.active > a:focus {
+       color: #555;
+       cursor: default;
+       background-color: #fff;
+       border: 1px solid #ddd;
+       border-bottom-color: transparent;
+}
+.nav-tabs.nav-justified {
+       width: 100%;
+       border-bottom: 0;
+}
+.nav-tabs.nav-justified > li {
+       float: none;
+}
+.nav-tabs.nav-justified > li > a {
+       margin-bottom: 5px;
+       text-align: center;
+}
+.nav-tabs.nav-justified > .dropdown .dropdown-menu {
+       top: auto;
+       left: auto;
+}
+@media (min-width: 768px) {
+       .nav-tabs.nav-justified > li {
+               display: table-cell;
+               width: 1%;
+       }
+       .nav-tabs.nav-justified > li > a {
+               margin-bottom: 0;
+       }
+}
+.nav-tabs.nav-justified > li > a {
+       margin-right: 0;
+       border-radius: 4px;
+}
+.nav-tabs.nav-justified > .active > a,
+.nav-tabs.nav-justified > .active > a:hover,
+.nav-tabs.nav-justified > .active > a:focus {
+       border: 1px solid #ddd;
+}
+@media (min-width: 768px) {
+       .nav-tabs.nav-justified > li > a {
+               border-bottom: 1px solid #ddd;
+               border-radius: 4px 4px 0 0;
+       }
+       .nav-tabs.nav-justified > .active > a,
+       .nav-tabs.nav-justified > .active > a:hover,
+       .nav-tabs.nav-justified > .active > a:focus {
+               border-bottom-color: #fff;
+       }
+}
+.nav-pills > li {
+       float: left;
+}
+.nav-pills > li > a {
+       border-radius: 4px;
+}
+.nav-pills > li + li {
+       margin-left: 2px;
+}
+.nav-pills > li.active > a,
+.nav-pills > li.active > a:hover,
+.nav-pills > li.active > a:focus {
+       color: #fff;
+       background-color: #337ab7;
+}
+.nav-stacked > li {
+       float: none;
+}
+.nav-stacked > li + li {
+       margin-top: 2px;
+       margin-left: 0;
+}
+.nav-justified {
+       width: 100%;
+}
+.nav-justified > li {
+       float: none;
+}
+.nav-justified > li > a {
+       margin-bottom: 5px;
+       text-align: center;
+}
+.nav-justified > .dropdown .dropdown-menu {
+       top: auto;
+       left: auto;
+}
+@media (min-width: 768px) {
+       .nav-justified > li {
+               display: table-cell;
+               width: 1%;
+       }
+       .nav-justified > li > a {
+               margin-bottom: 0;
+       }
+}
+.nav-tabs-justified {
+       border-bottom: 0;
+}
+.nav-tabs-justified > li > a {
+       margin-right: 0;
+       border-radius: 4px;
+}
+.nav-tabs-justified > .active > a,
+.nav-tabs-justified > .active > a:hover,
+.nav-tabs-justified > .active > a:focus {
+       border: 1px solid #ddd;
+}
+@media (min-width: 768px) {
+       .nav-tabs-justified > li > a {
+               border-bottom: 1px solid #ddd;
+               border-radius: 4px 4px 0 0;
+       }
+       .nav-tabs-justified > .active > a,
+       .nav-tabs-justified > .active > a:hover,
+       .nav-tabs-justified > .active > a:focus {
+               border-bottom-color: #fff;
+       }
+}
+.tab-content > .tab-pane {
+       display: none;
+}
+.tab-content > .active {
+       display: block;
+}
+.nav-tabs .dropdown-menu {
+       margin-top: -1px;
+       border-top-left-radius: 0;
+       border-top-right-radius: 0;
+}
+.navbar {
+       position: relative;
+       min-height: 50px;
+       margin-bottom: 20px;
+       border: 1px solid transparent;
+}
+@media (min-width: 768px) {
+       .navbar {
+               border-radius: 4px;
+       }
+}
+@media (min-width: 768px) {
+       .navbar-header {
+               float: left;
+       }
+}
+.navbar-collapse {
+       padding-right: 15px;
+       padding-left: 15px;
+       overflow-x: visible;
+       -webkit-overflow-scrolling: touch;
+       border-top: 1px solid transparent;
+       -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, .1);
+       box-shadow: inset 0 1px 0 rgba(255, 255, 255, .1);
+}
+.navbar-collapse.in {
+       overflow-y: auto;
+}
+@media (min-width: 768px) {
+       .navbar-collapse {
+               width: auto;
+               border-top: 0;
+               -webkit-box-shadow: none;
+               box-shadow: none;
+       }
+       .navbar-collapse.collapse {
+               display: block !important;
+               height: auto !important;
+               padding-bottom: 0;
+               overflow: visible !important;
+       }
+       .navbar-collapse.in {
+               overflow-y: visible;
+       }
+       .navbar-fixed-top .navbar-collapse,
+       .navbar-static-top .navbar-collapse,
+       .navbar-fixed-bottom .navbar-collapse {
+               padding-right: 0;
+               padding-left: 0;
+       }
+}
+.navbar-fixed-top .navbar-collapse,
+.navbar-fixed-bottom .navbar-collapse {
+       max-height: 340px;
+}
+@media (max-device-width: 480px) and (orientation: landscape) {
+       .navbar-fixed-top .navbar-collapse,
+       .navbar-fixed-bottom .navbar-collapse {
+               max-height: 200px;
+       }
+}
+.container > .navbar-header,
+.container-fluid > .navbar-header,
+.container > .navbar-collapse,
+.container-fluid > .navbar-collapse {
+       margin-right: -15px;
+       margin-left: -15px;
+}
+@media (min-width: 768px) {
+       .container > .navbar-header,
+       .container-fluid > .navbar-header,
+       .container > .navbar-collapse,
+       .container-fluid > .navbar-collapse {
+               margin-right: 0;
+               margin-left: 0;
+       }
+}
+.navbar-static-top {
+       z-index: 1000;
+       border-width: 0 0 1px;
+}
+@media (min-width: 768px) {
+       .navbar-static-top {
+               border-radius: 0;
+       }
+}
+.navbar-fixed-top,
+.navbar-fixed-bottom {
+       position: fixed;
+       right: 0;
+       left: 0;
+       z-index: 1030;
+}
+@media (min-width: 768px) {
+       .navbar-fixed-top,
+       .navbar-fixed-bottom {
+               border-radius: 0;
+       }
+}
+.navbar-fixed-top {
+       top: 0;
+       border-width: 0 0 1px;
+}
+.navbar-fixed-bottom {
+       bottom: 0;
+       margin-bottom: 0;
+       border-width: 1px 0 0;
+}
+.navbar-brand {
+       float: left;
+       height: 50px;
+       padding: 15px 15px;
+       font-size: 18px;
+       line-height: 20px;
+}
+.navbar-brand:hover,
+.navbar-brand:focus {
+       text-decoration: none;
+}
+.navbar-brand > img {
+       display: block;
+}
+@media (min-width: 768px) {
+       .navbar > .container .navbar-brand,
+       .navbar > .container-fluid .navbar-brand {
+               margin-left: -15px;
+       }
+}
+.navbar-toggle {
+       position: relative;
+       float: right;
+       padding: 9px 10px;
+       margin-top: 8px;
+       margin-right: 15px;
+       margin-bottom: 8px;
+       background-color: transparent;
+       background-image: none;
+       border: 1px solid transparent;
+       border-radius: 4px;
+}
+.navbar-toggle:focus {
+       outline: 0;
+}
+.navbar-toggle .icon-bar {
+       display: block;
+       width: 22px;
+       height: 2px;
+       border-radius: 1px;
+}
+.navbar-toggle .icon-bar + .icon-bar {
+       margin-top: 4px;
+}
+@media (min-width: 768px) {
+       .navbar-toggle {
+               display: none;
+       }
+}
+.navbar-nav {
+       margin: 7.5px -15px;
+}
+.navbar-nav > li > a {
+       padding-top: 10px;
+       padding-bottom: 10px;
+       line-height: 20px;
+}
+@media (max-width: 767px) {
+       .navbar-nav .open .dropdown-menu {
+               position: static;
+               float: none;
+               width: auto;
+               margin-top: 0;
+               background-color: transparent;
+               border: 0;
+               -webkit-box-shadow: none;
+               box-shadow: none;
+       }
+       .navbar-nav .open .dropdown-menu > li > a,
+       .navbar-nav .open .dropdown-menu .dropdown-header {
+               padding: 5px 15px 5px 25px;
+       }
+       .navbar-nav .open .dropdown-menu > li > a {
+               line-height: 20px;
+       }
+       .navbar-nav .open .dropdown-menu > li > a:hover,
+       .navbar-nav .open .dropdown-menu > li > a:focus {
+               background-image: none;
+       }
+}
+@media (min-width: 768px) {
+       .navbar-nav {
+               float: left;
+               margin: 0;
+       }
+       .navbar-nav > li {
+               float: left;
+       }
+       .navbar-nav > li > a {
+               padding-top: 15px;
+               padding-bottom: 15px;
+       }
+}
+.navbar-form {
+       padding: 10px 15px;
+       margin-top: 8px;
+       margin-right: -15px;
+       margin-bottom: 8px;
+       margin-left: -15px;
+       border-top: 1px solid transparent;
+       border-bottom: 1px solid transparent;
+       -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, .1), 0 1px 0 rgba(255, 255, 255, .1);
+       box-shadow: inset 0 1px 0 rgba(255, 255, 255, .1), 0 1px 0 rgba(255, 255, 255, .1);
+}
+@media (min-width: 768px) {
+       .navbar-form .form-group {
+               display: inline-block;
+               margin-bottom: 0;
+               vertical-align: middle;
+       }
+       .navbar-form .form-control {
+               display: inline-block;
+               width: auto;
+               vertical-align: middle;
+       }
+       .navbar-form .form-control-static {
+               display: inline-block;
+       }
+       .navbar-form .input-group {
+               display: inline-table;
+               vertical-align: middle;
+       }
+       .navbar-form .input-group .input-group-addon,
+       .navbar-form .input-group .input-group-btn,
+       .navbar-form .input-group .form-control {
+               width: auto;
+       }
+       .navbar-form .input-group > .form-control {
+               width: 100%;
+       }
+       .navbar-form .control-label {
+               margin-bottom: 0;
+               vertical-align: middle;
+       }
+       .navbar-form .radio,
+       .navbar-form .checkbox {
+               display: inline-block;
+               margin-top: 0;
+               margin-bottom: 0;
+               vertical-align: middle;
+       }
+       .navbar-form .radio label,
+       .navbar-form .checkbox label {
+               padding-left: 0;
+       }
+       .navbar-form .radio input[type="radio"],
+       .navbar-form .checkbox input[type="checkbox"] {
+               position: relative;
+               margin-left: 0;
+       }
+       .navbar-form .has-feedback .form-control-feedback {
+               top: 0;
+       }
+}
+@media (max-width: 767px) {
+       .navbar-form .form-group {
+               margin-bottom: 5px;
+       }
+       .navbar-form .form-group:last-child {
+               margin-bottom: 0;
+       }
+}
+@media (min-width: 768px) {
+       .navbar-form {
+               width: auto;
+               padding-top: 0;
+               padding-bottom: 0;
+               margin-right: 0;
+               margin-left: 0;
+               border: 0;
+               -webkit-box-shadow: none;
+               box-shadow: none;
+       }
+}
+.navbar-nav > li > .dropdown-menu {
+       margin-top: 0;
+       border-top-left-radius: 0;
+       border-top-right-radius: 0;
+}
+.navbar-fixed-bottom .navbar-nav > li > .dropdown-menu {
+       margin-bottom: 0;
+       border-top-left-radius: 4px;
+       border-top-right-radius: 4px;
+       border-bottom-right-radius: 0;
+       border-bottom-left-radius: 0;
+}
+.navbar-btn {
+       margin-top: 8px;
+       margin-bottom: 8px;
+}
+.navbar-btn.btn-sm {
+       margin-top: 10px;
+       margin-bottom: 10px;
+}
+.navbar-btn.btn-xs {
+       margin-top: 14px;
+       margin-bottom: 14px;
+}
+.navbar-text {
+       margin-top: 15px;
+       margin-bottom: 15px;
+}
+@media (min-width: 768px) {
+       .navbar-text {
+               float: left;
+               margin-right: 15px;
+               margin-left: 15px;
+       }
+}
+@media (min-width: 768px) {
+       .navbar-left {
+               float: left !important;
+       }
+       .navbar-right {
+               float: right !important;
+               margin-right: -15px;
+       }
+       .navbar-right ~ .navbar-right {
+               margin-right: 0;
+       }
+}
+.navbar-default {
+       background-color: #f8f8f8;
+       border-color: #e7e7e7;
+}
+.navbar-default .navbar-brand {
+       color: #777;
+}
+.navbar-default .navbar-brand:hover,
+.navbar-default .navbar-brand:focus {
+       color: #5e5e5e;
+       background-color: transparent;
+}
+.navbar-default .navbar-text {
+       color: #777;
+}
+.navbar-default .navbar-nav > li > a {
+       color: #777;
+}
+.navbar-default .navbar-nav > li > a:hover,
+.navbar-default .navbar-nav > li > a:focus {
+       color: #333;
+       background-color: transparent;
+}
+.navbar-default .navbar-nav > .active > a,
+.navbar-default .navbar-nav > .active > a:hover,
+.navbar-default .navbar-nav > .active > a:focus {
+       color: #555;
+       background-color: #e7e7e7;
+}
+.navbar-default .navbar-nav > .disabled > a,
+.navbar-default .navbar-nav > .disabled > a:hover,
+.navbar-default .navbar-nav > .disabled > a:focus {
+       color: #ccc;
+       background-color: transparent;
+}
+.navbar-default .navbar-toggle {
+       border-color: #ddd;
+}
+.navbar-default .navbar-toggle:hover,
+.navbar-default .navbar-toggle:focus {
+       background-color: #ddd;
+}
+.navbar-default .navbar-toggle .icon-bar {
+       background-color: #888;
+}
+.navbar-default .navbar-collapse,
+.navbar-default .navbar-form {
+       border-color: #e7e7e7;
+}
+.navbar-default .navbar-nav > .open > a,
+.navbar-default .navbar-nav > .open > a:hover,
+.navbar-default .navbar-nav > .open > a:focus {
+       color: #555;
+       background-color: #e7e7e7;
+}
+@media (max-width: 767px) {
+       .navbar-default .navbar-nav .open .dropdown-menu > li > a {
+               color: #777;
+       }
+       .navbar-default .navbar-nav .open .dropdown-menu > li > a:hover,
+       .navbar-default .navbar-nav .open .dropdown-menu > li > a:focus {
+               color: #333;
+               background-color: transparent;
+       }
+       .navbar-default .navbar-nav .open .dropdown-menu > .active > a,
+       .navbar-default .navbar-nav .open .dropdown-menu > .active > a:hover,
+       .navbar-default .navbar-nav .open .dropdown-menu > .active > a:focus {
+               color: #555;
+               background-color: #e7e7e7;
+       }
+       .navbar-default .navbar-nav .open .dropdown-menu > .disabled > a,
+       .navbar-default .navbar-nav .open .dropdown-menu > .disabled > a:hover,
+       .navbar-default .navbar-nav .open .dropdown-menu > .disabled > a:focus {
+               color: #ccc;
+               background-color: transparent;
+       }
+}
+.navbar-default .navbar-link {
+       color: #777;
+}
+.navbar-default .navbar-link:hover {
+       color: #333;
+}
+.navbar-default .btn-link {
+       color: #777;
+}
+.navbar-default .btn-link:hover,
+.navbar-default .btn-link:focus {
+       color: #333;
+}
+.navbar-default .btn-link[disabled]:hover,
+fieldset[disabled] .navbar-default .btn-link:hover,
+.navbar-default .btn-link[disabled]:focus,
+fieldset[disabled] .navbar-default .btn-link:focus {
+       color: #ccc;
+}
+.navbar-inverse {
+       background-color: #222;
+       border-color: #080808;
+}
+.navbar-inverse .navbar-brand {
+       color: #9d9d9d;
+}
+.navbar-inverse .navbar-brand:hover,
+.navbar-inverse .navbar-brand:focus {
+       color: #fff;
+       background-color: transparent;
+}
+.navbar-inverse .navbar-text {
+       color: #9d9d9d;
+}
+.navbar-inverse .navbar-nav > li > a {
+       color: #9d9d9d;
+}
+.navbar-inverse .navbar-nav > li > a:hover,
+.navbar-inverse .navbar-nav > li > a:focus {
+       color: #fff;
+       background-color: transparent;
+}
+.navbar-inverse .navbar-nav > .active > a,
+.navbar-inverse .navbar-nav > .active > a:hover,
+.navbar-inverse .navbar-nav > .active > a:focus {
+       color: #fff;
+       background-color: #080808;
+}
+.navbar-inverse .navbar-nav > .disabled > a,
+.navbar-inverse .navbar-nav > .disabled > a:hover,
+.navbar-inverse .navbar-nav > .disabled > a:focus {
+       color: #444;
+       background-color: transparent;
+}
+.navbar-inverse .navbar-toggle {
+       border-color: #333;
+}
+.navbar-inverse .navbar-toggle:hover,
+.navbar-inverse .navbar-toggle:focus {
+       background-color: #333;
+}
+.navbar-inverse .navbar-toggle .icon-bar {
+       background-color: #fff;
+}
+.navbar-inverse .navbar-collapse,
+.navbar-inverse .navbar-form {
+       border-color: #101010;
+}
+.navbar-inverse .navbar-nav > .open > a,
+.navbar-inverse .navbar-nav > .open > a:hover,
+.navbar-inverse .navbar-nav > .open > a:focus {
+       color: #fff;
+       background-color: #080808;
+}
+@media (max-width: 767px) {
+       .navbar-inverse .navbar-nav .open .dropdown-menu > .dropdown-header {
+               border-color: #080808;
+       }
+       .navbar-inverse .navbar-nav .open .dropdown-menu .divider {
+               background-color: #080808;
+       }
+       .navbar-inverse .navbar-nav .open .dropdown-menu > li > a {
+               color: #9d9d9d;
+       }
+       .navbar-inverse .navbar-nav .open .dropdown-menu > li > a:hover,
+       .navbar-inverse .navbar-nav .open .dropdown-menu > li > a:focus {
+               color: #fff;
+               background-color: transparent;
+       }
+       .navbar-inverse .navbar-nav .open .dropdown-menu > .active > a,
+       .navbar-inverse .navbar-nav .open .dropdown-menu > .active > a:hover,
+       .navbar-inverse .navbar-nav .open .dropdown-menu > .active > a:focus {
+               color: #fff;
+               background-color: #080808;
+       }
+       .navbar-inverse .navbar-nav .open .dropdown-menu > .disabled > a,
+       .navbar-inverse .navbar-nav .open .dropdown-menu > .disabled > a:hover,
+       .navbar-inverse .navbar-nav .open .dropdown-menu > .disabled > a:focus {
+               color: #444;
+               background-color: transparent;
+       }
+}
+.navbar-inverse .navbar-link {
+       color: #9d9d9d;
+}
+.navbar-inverse .navbar-link:hover {
+       color: #fff;
+}
+.navbar-inverse .btn-link {
+       color: #9d9d9d;
+}
+.navbar-inverse .btn-link:hover,
+.navbar-inverse .btn-link:focus {
+       color: #fff;
+}
+.navbar-inverse .btn-link[disabled]:hover,
+fieldset[disabled] .navbar-inverse .btn-link:hover,
+.navbar-inverse .btn-link[disabled]:focus,
+fieldset[disabled] .navbar-inverse .btn-link:focus {
+       color: #444;
+}
+.breadcrumb {
+       padding: 8px 15px;
+       margin-bottom: 20px;
+       list-style: none;
+       background-color: #f5f5f5;
+       border-radius: 4px;
+}
+.breadcrumb > li {
+       display: inline-block;
+}
+.breadcrumb > li + li:before {
+       padding: 0 5px;
+       color: #ccc;
+       content: "/\00a0";
+}
+.breadcrumb > .active {
+       color: #777;
+}
+.pagination {
+       display: inline-block;
+       padding-left: 0;
+       margin: 20px 0;
+       border-radius: 4px;
+}
+.pagination > li {
+       display: inline;
+}
+.pagination > li > a,
+.pagination > li > span {
+       position: relative;
+       float: left;
+       padding: 6px 12px;
+       margin-left: -1px;
+       line-height: 1.42857143;
+       color: #337ab7;
+       text-decoration: none;
+       background-color: #fff;
+       border: 1px solid #ddd;
+}
+.pagination > li:first-child > a,
+.pagination > li:first-child > span {
+       margin-left: 0;
+       border-top-left-radius: 4px;
+       border-bottom-left-radius: 4px;
+}
+.pagination > li:last-child > a,
+.pagination > li:last-child > span {
+       border-top-right-radius: 4px;
+       border-bottom-right-radius: 4px;
+}
+.pagination > li > a:hover,
+.pagination > li > span:hover,
+.pagination > li > a:focus,
+.pagination > li > span:focus {
+       color: #23527c;
+       background-color: #eee;
+       border-color: #ddd;
+}
+.pagination > .active > a,
+.pagination > .active > span,
+.pagination > .active > a:hover,
+.pagination > .active > span:hover,
+.pagination > .active > a:focus,
+.pagination > .active > span:focus {
+       z-index: 2;
+       color: #fff;
+       cursor: default;
+       background-color: #337ab7;
+       border-color: #337ab7;
+}
+.pagination > .disabled > span,
+.pagination > .disabled > span:hover,
+.pagination > .disabled > span:focus,
+.pagination > .disabled > a,
+.pagination > .disabled > a:hover,
+.pagination > .disabled > a:focus {
+       color: #777;
+       cursor: not-allowed;
+       background-color: #fff;
+       border-color: #ddd;
+}
+.pagination-lg > li > a,
+.pagination-lg > li > span {
+       padding: 10px 16px;
+       font-size: 18px;
+}
+.pagination-lg > li:first-child > a,
+.pagination-lg > li:first-child > span {
+       border-top-left-radius: 6px;
+       border-bottom-left-radius: 6px;
+}
+.pagination-lg > li:last-child > a,
+.pagination-lg > li:last-child > span {
+       border-top-right-radius: 6px;
+       border-bottom-right-radius: 6px;
+}
+.pagination-sm > li > a,
+.pagination-sm > li > span {
+       padding: 5px 10px;
+       font-size: 12px;
+}
+.pagination-sm > li:first-child > a,
+.pagination-sm > li:first-child > span {
+       border-top-left-radius: 3px;
+       border-bottom-left-radius: 3px;
+}
+.pagination-sm > li:last-child > a,
+.pagination-sm > li:last-child > span {
+       border-top-right-radius: 3px;
+       border-bottom-right-radius: 3px;
+}
+.pager {
+       padding-left: 0;
+       margin: 20px 0;
+       text-align: center;
+       list-style: none;
+}
+.pager li {
+       display: inline;
+}
+.pager li > a,
+.pager li > span {
+       display: inline-block;
+       padding: 5px 14px;
+       background-color: #fff;
+       border: 1px solid #ddd;
+       border-radius: 15px;
+}
+.pager li > a:hover,
+.pager li > a:focus {
+       text-decoration: none;
+       background-color: #eee;
+}
+.pager .next > a,
+.pager .next > span {
+       float: right;
+}
+.pager .previous > a,
+.pager .previous > span {
+       float: left;
+}
+.pager .disabled > a,
+.pager .disabled > a:hover,
+.pager .disabled > a:focus,
+.pager .disabled > span {
+       color: #777;
+       cursor: not-allowed;
+       background-color: #fff;
+}
+.label {
+       display: inline;
+       padding: .2em .6em .3em;
+       font-size: 75%;
+       font-weight: bold;
+       line-height: 1;
+       color: #fff;
+       text-align: center;
+       white-space: nowrap;
+       vertical-align: baseline;
+       border-radius: .25em;
+}
+a.label:hover,
+a.label:focus {
+       color: #fff;
+       text-decoration: none;
+       cursor: pointer;
+}
+.label:empty {
+       display: none;
+}
+.btn .label {
+       position: relative;
+       top: -1px;
+}
+.label-default {
+       background-color: #777;
+}
+.label-default[href]:hover,
+.label-default[href]:focus {
+       background-color: #5e5e5e;
+}
+.label-primary {
+       background-color: #337ab7;
+}
+.label-primary[href]:hover,
+.label-primary[href]:focus {
+       background-color: #286090;
+}
+.label-success {
+       background-color: #5cb85c;
+}
+.label-success[href]:hover,
+.label-success[href]:focus {
+       background-color: #449d44;
+}
+.label-info {
+       background-color: #5bc0de;
+}
+.label-info[href]:hover,
+.label-info[href]:focus {
+       background-color: #31b0d5;
+}
+.label-warning {
+       background-color: #f0ad4e;
+}
+.label-warning[href]:hover,
+.label-warning[href]:focus {
+       background-color: #ec971f;
+}
+.label-danger {
+       background-color: #d9534f;
+}
+.label-danger[href]:hover,
+.label-danger[href]:focus {
+       background-color: #c9302c;
+}
+.badge {
+       display: inline-block;
+       min-width: 10px;
+       padding: 3px 7px;
+       font-size: 12px;
+       font-weight: bold;
+       line-height: 1;
+       color: #fff;
+       text-align: center;
+       white-space: nowrap;
+       vertical-align: baseline;
+       background-color: #777;
+       border-radius: 10px;
+}
+.badge:empty {
+       display: none;
+}
+.btn .badge {
+       position: relative;
+       top: -1px;
+}
+.btn-xs .badge,
+.btn-group-xs > .btn .badge {
+       top: 0;
+       padding: 1px 5px;
+}
+a.badge:hover,
+a.badge:focus {
+       color: #fff;
+       text-decoration: none;
+       cursor: pointer;
+}
+.list-group-item.active > .badge,
+.nav-pills > .active > a > .badge {
+       color: #337ab7;
+       background-color: #fff;
+}
+.list-group-item > .badge {
+       float: right;
+}
+.list-group-item > .badge + .badge {
+       margin-right: 5px;
+}
+.nav-pills > li > a > .badge {
+       margin-left: 3px;
+}
+.jumbotron {
+       padding: 30px 15px;
+       margin-bottom: 30px;
+       color: inherit;
+       background-color: #eee;
+}
+.jumbotron h1,
+.jumbotron .h1 {
+       color: inherit;
+}
+.jumbotron p {
+       margin-bottom: 15px;
+       font-size: 21px;
+       font-weight: 200;
+}
+.jumbotron > hr {
+       border-top-color: #d5d5d5;
+}
+.container .jumbotron,
+.container-fluid .jumbotron {
+       border-radius: 6px;
+}
+.jumbotron .container {
+       max-width: 100%;
+}
+@media screen and (min-width: 768px) {
+       .jumbotron {
+               padding: 48px 0;
+       }
+       .container .jumbotron,
+       .container-fluid .jumbotron {
+               padding-right: 60px;
+               padding-left: 60px;
+       }
+       .jumbotron h1,
+       .jumbotron .h1 {
+               font-size: 63px;
+       }
+}
+.thumbnail {
+       display: block;
+       padding: 4px;
+       margin-bottom: 20px;
+       line-height: 1.42857143;
+       background-color: #fff;
+       border: 1px solid #ddd;
+       border-radius: 4px;
+       -webkit-transition: border .2s ease-in-out;
+       -o-transition: border .2s ease-in-out;
+       transition: border .2s ease-in-out;
+}
+.thumbnail > img,
+.thumbnail a > img {
+       margin-right: auto;
+       margin-left: auto;
+}
+a.thumbnail:hover,
+a.thumbnail:focus,
+a.thumbnail.active {
+       border-color: #337ab7;
+}
+.thumbnail .caption {
+       padding: 9px;
+       color: #333;
+}
+.alert {
+       padding: 15px;
+       margin-bottom: 20px;
+       border: 1px solid transparent;
+       border-radius: 4px;
+}
+.alert h4 {
+       margin-top: 0;
+       color: inherit;
+}
+.alert .alert-link {
+       font-weight: bold;
+}
+.alert > p,
+.alert > ul {
+       margin-bottom: 0;
+}
+.alert > p + p {
+       margin-top: 5px;
+}
+.alert-dismissable,
+.alert-dismissible {
+       padding-right: 35px;
+}
+.alert-dismissable .close,
+.alert-dismissible .close {
+       position: relative;
+       top: -2px;
+       right: -21px;
+       color: inherit;
+}
+.alert-success {
+       color: #3c763d;
+       background-color: #dff0d8;
+       border-color: #d6e9c6;
+}
+.alert-success hr {
+       border-top-color: #c9e2b3;
+}
+.alert-success .alert-link {
+       color: #2b542c;
+}
+.alert-info {
+       color: #31708f;
+       background-color: #d9edf7;
+       border-color: #bce8f1;
+}
+.alert-info hr {
+       border-top-color: #a6e1ec;
+}
+.alert-info .alert-link {
+       color: #245269;
+}
+.alert-warning {
+       color: #8a6d3b;
+       background-color: #fcf8e3;
+       border-color: #faebcc;
+}
+.alert-warning hr {
+       border-top-color: #f7e1b5;
+}
+.alert-warning .alert-link {
+       color: #66512c;
+}
+.alert-danger {
+       color: #a94442;
+       background-color: #f2dede;
+       border-color: #ebccd1;
+}
+.alert-danger hr {
+       border-top-color: #e4b9c0;
+}
+.alert-danger .alert-link {
+       color: #843534;
+}
+@-webkit-keyframes progress-bar-stripes {
+       from {
+               background-position: 40px 0;
+       }
+       to {
+               background-position: 0 0;
+       }
+}
+@-o-keyframes progress-bar-stripes {
+       from {
+               background-position: 40px 0;
+       }
+       to {
+               background-position: 0 0;
+       }
+}
+@keyframes progress-bar-stripes {
+       from {
+               background-position: 40px 0;
+       }
+       to {
+               background-position: 0 0;
+       }
+}
+.progress {
+       height: 20px;
+       margin-bottom: 20px;
+       overflow: hidden;
+       background-color: #f5f5f5;
+       border-radius: 4px;
+       -webkit-box-shadow: inset 0 1px 2px rgba(0, 0, 0, .1);
+       box-shadow: inset 0 1px 2px rgba(0, 0, 0, .1);
+}
+.progress-bar {
+       float: left;
+       width: 0;
+       height: 100%;
+       font-size: 12px;
+       line-height: 20px;
+       color: #fff;
+       text-align: center;
+       background-color: #337ab7;
+       -webkit-box-shadow: inset 0 -1px 0 rgba(0, 0, 0, .15);
+       box-shadow: inset 0 -1px 0 rgba(0, 0, 0, .15);
+       -webkit-transition: width .6s ease;
+       -o-transition: width .6s ease;
+       transition: width .6s ease;
+}
+.progress-striped .progress-bar,
+.progress-bar-striped {
+       background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent);
+       background-image:      -o-linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent);
+       background-image:         linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent);
+       -webkit-background-size: 40px 40px;
+       background-size: 40px 40px;
+}
+.progress.active .progress-bar,
+.progress-bar.active {
+       -webkit-animation: progress-bar-stripes 2s linear infinite;
+       -o-animation: progress-bar-stripes 2s linear infinite;
+       animation: progress-bar-stripes 2s linear infinite;
+}
+.progress-bar-success {
+       background-color: #5cb85c;
+}
+.progress-striped .progress-bar-success {
+       background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent);
+       background-image:      -o-linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent);
+       background-image:         linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent);
+}
+.progress-bar-info {
+       background-color: #5bc0de;
+}
+.progress-striped .progress-bar-info {
+       background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent);
+       background-image:      -o-linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent);
+       background-image:         linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent);
+}
+.progress-bar-warning {
+       background-color: #f0ad4e;
+}
+.progress-striped .progress-bar-warning {
+       background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent);
+       background-image:      -o-linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent);
+       background-image:         linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent);
+}
+.progress-bar-danger {
+       background-color: #d9534f;
+}
+.progress-striped .progress-bar-danger {
+       background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent);
+       background-image:      -o-linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent);
+       background-image:         linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent);
+}
+.media {
+       margin-top: 15px;
+}
+.media:first-child {
+       margin-top: 0;
+}
+.media,
+.media-body {
+       overflow: hidden;
+       zoom: 1;
+}
+.media-body {
+       width: 10000px;
+}
+.media-object {
+       display: block;
+}
+.media-right,
+.media > .pull-right {
+       padding-left: 10px;
+}
+.media-left,
+.media > .pull-left {
+       padding-right: 10px;
+}
+.media-left,
+.media-right,
+.media-body {
+       display: table-cell;
+       vertical-align: top;
+}
+.media-middle {
+       vertical-align: middle;
+}
+.media-bottom {
+       vertical-align: bottom;
+}
+.media-heading {
+       margin-top: 0;
+       margin-bottom: 5px;
+}
+.media-list {
+       padding-left: 0;
+       list-style: none;
+}
+.list-group {
+       padding-left: 0;
+       margin-bottom: 20px;
+}
+.list-group-item {
+       position: relative;
+       display: block;
+       padding: 10px 15px;
+       margin-bottom: -1px;
+       background-color: #fff;
+       border: 1px solid #ddd;
+}
+.list-group-item:first-child {
+       border-top-left-radius: 4px;
+       border-top-right-radius: 4px;
+}
+.list-group-item:last-child {
+       margin-bottom: 0;
+       border-bottom-right-radius: 4px;
+       border-bottom-left-radius: 4px;
+}
+a.list-group-item {
+       color: #555;
+}
+a.list-group-item .list-group-item-heading {
+       color: #333;
+}
+a.list-group-item:hover,
+a.list-group-item:focus {
+       color: #555;
+       text-decoration: none;
+       background-color: #f5f5f5;
+}
+.list-group-item.disabled,
+.list-group-item.disabled:hover,
+.list-group-item.disabled:focus {
+       color: #777;
+       cursor: not-allowed;
+       background-color: #eee;
+}
+.list-group-item.disabled .list-group-item-heading,
+.list-group-item.disabled:hover .list-group-item-heading,
+.list-group-item.disabled:focus .list-group-item-heading {
+       color: inherit;
+}
+.list-group-item.disabled .list-group-item-text,
+.list-group-item.disabled:hover .list-group-item-text,
+.list-group-item.disabled:focus .list-group-item-text {
+       color: #777;
+}
+.list-group-item.active,
+.list-group-item.active:hover,
+.list-group-item.active:focus {
+       z-index: 2;
+       color: #fff;
+       background-color: #337ab7;
+       border-color: #337ab7;
+}
+.list-group-item.active .list-group-item-heading,
+.list-group-item.active:hover .list-group-item-heading,
+.list-group-item.active:focus .list-group-item-heading,
+.list-group-item.active .list-group-item-heading > small,
+.list-group-item.active:hover .list-group-item-heading > small,
+.list-group-item.active:focus .list-group-item-heading > small,
+.list-group-item.active .list-group-item-heading > .small,
+.list-group-item.active:hover .list-group-item-heading > .small,
+.list-group-item.active:focus .list-group-item-heading > .small {
+       color: inherit;
+}
+.list-group-item.active .list-group-item-text,
+.list-group-item.active:hover .list-group-item-text,
+.list-group-item.active:focus .list-group-item-text {
+       color: #c7ddef;
+}
+.list-group-item-success {
+       color: #3c763d;
+       background-color: #dff0d8;
+}
+a.list-group-item-success {
+       color: #3c763d;
+}
+a.list-group-item-success .list-group-item-heading {
+       color: inherit;
+}
+a.list-group-item-success:hover,
+a.list-group-item-success:focus {
+       color: #3c763d;
+       background-color: #d0e9c6;
+}
+a.list-group-item-success.active,
+a.list-group-item-success.active:hover,
+a.list-group-item-success.active:focus {
+       color: #fff;
+       background-color: #3c763d;
+       border-color: #3c763d;
+}
+.list-group-item-info {
+       color: #31708f;
+       background-color: #d9edf7;
+}
+a.list-group-item-info {
+       color: #31708f;
+}
+a.list-group-item-info .list-group-item-heading {
+       color: inherit;
+}
+a.list-group-item-info:hover,
+a.list-group-item-info:focus {
+       color: #31708f;
+       background-color: #c4e3f3;
+}
+a.list-group-item-info.active,
+a.list-group-item-info.active:hover,
+a.list-group-item-info.active:focus {
+       color: #fff;
+       background-color: #31708f;
+       border-color: #31708f;
+}
+.list-group-item-warning {
+       color: #8a6d3b;
+       background-color: #fcf8e3;
+}
+a.list-group-item-warning {
+       color: #8a6d3b;
+}
+a.list-group-item-warning .list-group-item-heading {
+       color: inherit;
+}
+a.list-group-item-warning:hover,
+a.list-group-item-warning:focus {
+       color: #8a6d3b;
+       background-color: #faf2cc;
+}
+a.list-group-item-warning.active,
+a.list-group-item-warning.active:hover,
+a.list-group-item-warning.active:focus {
+       color: #fff;
+       background-color: #8a6d3b;
+       border-color: #8a6d3b;
+}
+.list-group-item-danger {
+       color: #a94442;
+       background-color: #f2dede;
+}
+a.list-group-item-danger {
+       color: #a94442;
+}
+a.list-group-item-danger .list-group-item-heading {
+       color: inherit;
+}
+a.list-group-item-danger:hover,
+a.list-group-item-danger:focus {
+       color: #a94442;
+       background-color: #ebcccc;
+}
+a.list-group-item-danger.active,
+a.list-group-item-danger.active:hover,
+a.list-group-item-danger.active:focus {
+       color: #fff;
+       background-color: #a94442;
+       border-color: #a94442;
+}
+.list-group-item-heading {
+       margin-top: 0;
+       margin-bottom: 5px;
+}
+.list-group-item-text {
+       margin-bottom: 0;
+       line-height: 1.3;
+}
+.panel {
+       margin-bottom: 20px;
+       background-color: #fff;
+       border: 1px solid transparent;
+       border-radius: 4px;
+       -webkit-box-shadow: 0 1px 1px rgba(0, 0, 0, .05);
+       box-shadow: 0 1px 1px rgba(0, 0, 0, .05);
+}
+.panel-body {
+       padding: 15px;
+}
+.panel-heading {
+       padding: 10px 15px;
+       border-bottom: 1px solid transparent;
+       border-top-left-radius: 3px;
+       border-top-right-radius: 3px;
+}
+.panel-heading > .dropdown .dropdown-toggle {
+       color: inherit;
+}
+.panel-title {
+       margin-top: 0;
+       margin-bottom: 0;
+       font-size: 16px;
+       color: inherit;
+}
+.panel-title > a,
+.panel-title > small,
+.panel-title > .small,
+.panel-title > small > a,
+.panel-title > .small > a {
+       color: inherit;
+}
+.panel-footer {
+       padding: 10px 15px;
+       background-color: #f5f5f5;
+       border-top: 1px solid #ddd;
+       border-bottom-right-radius: 3px;
+       border-bottom-left-radius: 3px;
+}
+.panel > .list-group,
+.panel > .panel-collapse > .list-group {
+       margin-bottom: 0;
+}
+.panel > .list-group .list-group-item,
+.panel > .panel-collapse > .list-group .list-group-item {
+       border-width: 1px 0;
+       border-radius: 0;
+}
+.panel > .list-group:first-child .list-group-item:first-child,
+.panel > .panel-collapse > .list-group:first-child .list-group-item:first-child {
+       border-top: 0;
+       border-top-left-radius: 3px;
+       border-top-right-radius: 3px;
+}
+.panel > .list-group:last-child .list-group-item:last-child,
+.panel > .panel-collapse > .list-group:last-child .list-group-item:last-child {
+       border-bottom: 0;
+       border-bottom-right-radius: 3px;
+       border-bottom-left-radius: 3px;
+}
+.panel-heading + .list-group .list-group-item:first-child {
+       border-top-width: 0;
+}
+.list-group + .panel-footer {
+       border-top-width: 0;
+}
+.panel > .table,
+.panel > .table-responsive > .table,
+.panel > .panel-collapse > .table {
+       margin-bottom: 0;
+}
+.panel > .table caption,
+.panel > .table-responsive > .table caption,
+.panel > .panel-collapse > .table caption {
+       padding-right: 15px;
+       padding-left: 15px;
+}
+.panel > .table:first-child,
+.panel > .table-responsive:first-child > .table:first-child {
+       border-top-left-radius: 3px;
+       border-top-right-radius: 3px;
+}
+.panel > .table:first-child > thead:first-child > tr:first-child,
+.panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child,
+.panel > .table:first-child > tbody:first-child > tr:first-child,
+.panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child {
+       border-top-left-radius: 3px;
+       border-top-right-radius: 3px;
+}
+.panel > .table:first-child > thead:first-child > tr:first-child td:first-child,
+.panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child td:first-child,
+.panel > .table:first-child > tbody:first-child > tr:first-child td:first-child,
+.panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child td:first-child,
+.panel > .table:first-child > thead:first-child > tr:first-child th:first-child,
+.panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child th:first-child,
+.panel > .table:first-child > tbody:first-child > tr:first-child th:first-child,
+.panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child th:first-child {
+       border-top-left-radius: 3px;
+}
+.panel > .table:first-child > thead:first-child > tr:first-child td:last-child,
+.panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child td:last-child,
+.panel > .table:first-child > tbody:first-child > tr:first-child td:last-child,
+.panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child td:last-child,
+.panel > .table:first-child > thead:first-child > tr:first-child th:last-child,
+.panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child th:last-child,
+.panel > .table:first-child > tbody:first-child > tr:first-child th:last-child,
+.panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child th:last-child {
+       border-top-right-radius: 3px;
+}
+.panel > .table:last-child,
+.panel > .table-responsive:last-child > .table:last-child {
+       border-bottom-right-radius: 3px;
+       border-bottom-left-radius: 3px;
+}
+.panel > .table:last-child > tbody:last-child > tr:last-child,
+.panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child,
+.panel > .table:last-child > tfoot:last-child > tr:last-child,
+.panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child {
+       border-bottom-right-radius: 3px;
+       border-bottom-left-radius: 3px;
+}
+.panel > .table:last-child > tbody:last-child > tr:last-child td:first-child,
+.panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child td:first-child,
+.panel > .table:last-child > tfoot:last-child > tr:last-child td:first-child,
+.panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child td:first-child,
+.panel > .table:last-child > tbody:last-child > tr:last-child th:first-child,
+.panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child th:first-child,
+.panel > .table:last-child > tfoot:last-child > tr:last-child th:first-child,
+.panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child th:first-child {
+       border-bottom-left-radius: 3px;
+}
+.panel > .table:last-child > tbody:last-child > tr:last-child td:last-child,
+.panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child td:last-child,
+.panel > .table:last-child > tfoot:last-child > tr:last-child td:last-child,
+.panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child td:last-child,
+.panel > .table:last-child > tbody:last-child > tr:last-child th:last-child,
+.panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child th:last-child,
+.panel > .table:last-child > tfoot:last-child > tr:last-child th:last-child,
+.panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child th:last-child {
+       border-bottom-right-radius: 3px;
+}
+.panel > .panel-body + .table,
+.panel > .panel-body + .table-responsive,
+.panel > .table + .panel-body,
+.panel > .table-responsive + .panel-body {
+       border-top: 1px solid #ddd;
+}
+.panel > .table > tbody:first-child > tr:first-child th,
+.panel > .table > tbody:first-child > tr:first-child td {
+       border-top: 0;
+}
+.panel > .table-bordered,
+.panel > .table-responsive > .table-bordered {
+       border: 0;
+}
+.panel > .table-bordered > thead > tr > th:first-child,
+.panel > .table-responsive > .table-bordered > thead > tr > th:first-child,
+.panel > .table-bordered > tbody > tr > th:first-child,
+.panel > .table-responsive > .table-bordered > tbody > tr > th:first-child,
+.panel > .table-bordered > tfoot > tr > th:first-child,
+.panel > .table-responsive > .table-bordered > tfoot > tr > th:first-child,
+.panel > .table-bordered > thead > tr > td:first-child,
+.panel > .table-responsive > .table-bordered > thead > tr > td:first-child,
+.panel > .table-bordered > tbody > tr > td:first-child,
+.panel > .table-responsive > .table-bordered > tbody > tr > td:first-child,
+.panel > .table-bordered > tfoot > tr > td:first-child,
+.panel > .table-responsive > .table-bordered > tfoot > tr > td:first-child {
+       border-left: 0;
+}
+.panel > .table-bordered > thead > tr > th:last-child,
+.panel > .table-responsive > .table-bordered > thead > tr > th:last-child,
+.panel > .table-bordered > tbody > tr > th:last-child,
+.panel > .table-responsive > .table-bordered > tbody > tr > th:last-child,
+.panel > .table-bordered > tfoot > tr > th:last-child,
+.panel > .table-responsive > .table-bordered > tfoot > tr > th:last-child,
+.panel > .table-bordered > thead > tr > td:last-child,
+.panel > .table-responsive > .table-bordered > thead > tr > td:last-child,
+.panel > .table-bordered > tbody > tr > td:last-child,
+.panel > .table-responsive > .table-bordered > tbody > tr > td:last-child,
+.panel > .table-bordered > tfoot > tr > td:last-child,
+.panel > .table-responsive > .table-bordered > tfoot > tr > td:last-child {
+       border-right: 0;
+}
+.panel > .table-bordered > thead > tr:first-child > td,
+.panel > .table-responsive > .table-bordered > thead > tr:first-child > td,
+.panel > .table-bordered > tbody > tr:first-child > td,
+.panel > .table-responsive > .table-bordered > tbody > tr:first-child > td,
+.panel > .table-bordered > thead > tr:first-child > th,
+.panel > .table-responsive > .table-bordered > thead > tr:first-child > th,
+.panel > .table-bordered > tbody > tr:first-child > th,
+.panel > .table-responsive > .table-bordered > tbody > tr:first-child > th {
+       border-bottom: 0;
+}
+.panel > .table-bordered > tbody > tr:last-child > td,
+.panel > .table-responsive > .table-bordered > tbody > tr:last-child > td,
+.panel > .table-bordered > tfoot > tr:last-child > td,
+.panel > .table-responsive > .table-bordered > tfoot > tr:last-child > td,
+.panel > .table-bordered > tbody > tr:last-child > th,
+.panel > .table-responsive > .table-bordered > tbody > tr:last-child > th,
+.panel > .table-bordered > tfoot > tr:last-child > th,
+.panel > .table-responsive > .table-bordered > tfoot > tr:last-child > th {
+       border-bottom: 0;
+}
+.panel > .table-responsive {
+       margin-bottom: 0;
+       border: 0;
+}
+.panel-group {
+       margin-bottom: 20px;
+}
+.panel-group .panel {
+       margin-bottom: 0;
+       border-radius: 4px;
+}
+.panel-group .panel + .panel {
+       margin-top: 5px;
+}
+.panel-group .panel-heading {
+       border-bottom: 0;
+}
+.panel-group .panel-heading + .panel-collapse > .panel-body,
+.panel-group .panel-heading + .panel-collapse > .list-group {
+       border-top: 1px solid #ddd;
+}
+.panel-group .panel-footer {
+       border-top: 0;
+}
+.panel-group .panel-footer + .panel-collapse .panel-body {
+       border-bottom: 1px solid #ddd;
+}
+.panel-default {
+       border-color: #ddd;
+}
+.panel-default > .panel-heading {
+       color: #333;
+       background-color: #f5f5f5;
+       border-color: #ddd;
+}
+.panel-default > .panel-heading + .panel-collapse > .panel-body {
+       border-top-color: #ddd;
+}
+.panel-default > .panel-heading .badge {
+       color: #f5f5f5;
+       background-color: #333;
+}
+.panel-default > .panel-footer + .panel-collapse > .panel-body {
+       border-bottom-color: #ddd;
+}
+.panel-primary {
+       border-color: #337ab7;
+}
+.panel-primary > .panel-heading {
+       color: #fff;
+       background-color: #337ab7;
+       border-color: #337ab7;
+}
+.panel-primary > .panel-heading + .panel-collapse > .panel-body {
+       border-top-color: #337ab7;
+}
+.panel-primary > .panel-heading .badge {
+       color: #337ab7;
+       background-color: #fff;
+}
+.panel-primary > .panel-footer + .panel-collapse > .panel-body {
+       border-bottom-color: #337ab7;
+}
+.panel-success {
+       border-color: #d6e9c6;
+}
+.panel-success > .panel-heading {
+       color: #3c763d;
+       background-color: #dff0d8;
+       border-color: #d6e9c6;
+}
+.panel-success > .panel-heading + .panel-collapse > .panel-body {
+       border-top-color: #d6e9c6;
+}
+.panel-success > .panel-heading .badge {
+       color: #dff0d8;
+       background-color: #3c763d;
+}
+.panel-success > .panel-footer + .panel-collapse > .panel-body {
+       border-bottom-color: #d6e9c6;
+}
+.panel-info {
+       border-color: #bce8f1;
+}
+.panel-info > .panel-heading {
+       color: #31708f;
+       background-color: #d9edf7;
+       border-color: #bce8f1;
+}
+.panel-info > .panel-heading + .panel-collapse > .panel-body {
+       border-top-color: #bce8f1;
+}
+.panel-info > .panel-heading .badge {
+       color: #d9edf7;
+       background-color: #31708f;
+}
+.panel-info > .panel-footer + .panel-collapse > .panel-body {
+       border-bottom-color: #bce8f1;
+}
+.panel-warning {
+       border-color: #faebcc;
+}
+.panel-warning > .panel-heading {
+       color: #8a6d3b;
+       background-color: #fcf8e3;
+       border-color: #faebcc;
+}
+.panel-warning > .panel-heading + .panel-collapse > .panel-body {
+       border-top-color: #faebcc;
+}
+.panel-warning > .panel-heading .badge {
+       color: #fcf8e3;
+       background-color: #8a6d3b;
+}
+.panel-warning > .panel-footer + .panel-collapse > .panel-body {
+       border-bottom-color: #faebcc;
+}
+.panel-danger {
+       border-color: #ebccd1;
+}
+.panel-danger > .panel-heading {
+       color: #a94442;
+       background-color: #f2dede;
+       border-color: #ebccd1;
+}
+.panel-danger > .panel-heading + .panel-collapse > .panel-body {
+       border-top-color: #ebccd1;
+}
+.panel-danger > .panel-heading .badge {
+       color: #f2dede;
+       background-color: #a94442;
+}
+.panel-danger > .panel-footer + .panel-collapse > .panel-body {
+       border-bottom-color: #ebccd1;
+}
+.embed-responsive {
+       position: relative;
+       display: block;
+       height: 0;
+       padding: 0;
+       overflow: hidden;
+}
+.embed-responsive .embed-responsive-item,
+.embed-responsive iframe,
+.embed-responsive embed,
+.embed-responsive object,
+.embed-responsive video {
+       position: absolute;
+       top: 0;
+       bottom: 0;
+       left: 0;
+       width: 100%;
+       height: 100%;
+       border: 0;
+}
+.embed-responsive-16by9 {
+       padding-bottom: 56.25%;
+}
+.embed-responsive-4by3 {
+       padding-bottom: 75%;
+}
+.well {
+       min-height: 20px;
+       padding: 19px;
+       margin-bottom: 20px;
+       background-color: #f5f5f5;
+       border: 1px solid #e3e3e3;
+       border-radius: 4px;
+       -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, .05);
+       box-shadow: inset 0 1px 1px rgba(0, 0, 0, .05);
+}
+.well blockquote {
+       border-color: #ddd;
+       border-color: rgba(0, 0, 0, .15);
+}
+.well-lg {
+       padding: 24px;
+       border-radius: 6px;
+}
+.well-sm {
+       padding: 9px;
+       border-radius: 3px;
+}
+.close {
+       float: right;
+       font-size: 21px;
+       font-weight: bold;
+       line-height: 1;
+       color: #000;
+       text-shadow: 0 1px 0 #fff;
+       filter: alpha(opacity=20);
+       opacity: .2;
+}
+.close:hover,
+.close:focus {
+       color: #000;
+       text-decoration: none;
+       cursor: pointer;
+       filter: alpha(opacity=50);
+       opacity: .5;
+}
+button.close {
+       -webkit-appearance: none;
+       padding: 0;
+       cursor: pointer;
+       background: transparent;
+       border: 0;
+}
+.modal-open {
+       overflow: hidden;
+}
+.modal {
+       position: fixed;
+       top: 0;
+       right: 0;
+       bottom: 0;
+       left: 0;
+       z-index: 1050;
+       display: none;
+       overflow: hidden;
+       -webkit-overflow-scrolling: touch;
+       outline: 0;
+}
+.modal.fade .modal-dialog {
+       -webkit-transition: -webkit-transform .3s ease-out;
+       -o-transition:      -o-transform .3s ease-out;
+       transition:         transform .3s ease-out;
+       -webkit-transform: translate(0, -25%);
+       -ms-transform: translate(0, -25%);
+       -o-transform: translate(0, -25%);
+       transform: translate(0, -25%);
+}
+.modal.in .modal-dialog {
+       -webkit-transform: translate(0, 0);
+       -ms-transform: translate(0, 0);
+       -o-transform: translate(0, 0);
+       transform: translate(0, 0);
+}
+.modal-open .modal {
+       overflow-x: hidden;
+       overflow-y: auto;
+}
+.modal-dialog {
+       position: relative;
+       width: auto;
+       margin: 10px;
+}
+.modal-content {
+       position: relative;
+       background-color: #fff;
+       -webkit-background-clip: padding-box;
+       background-clip: padding-box;
+       border: 1px solid #999;
+       border: 1px solid rgba(0, 0, 0, .2);
+       border-radius: 6px;
+       outline: 0;
+       -webkit-box-shadow: 0 3px 9px rgba(0, 0, 0, .5);
+       box-shadow: 0 3px 9px rgba(0, 0, 0, .5);
+}
+.modal-backdrop {
+       position: fixed;
+       top: 0;
+       right: 0;
+       bottom: 0;
+       left: 0;
+       z-index: 1040;
+       background-color: #000;
+}
+.modal-backdrop.fade {
+       filter: alpha(opacity=0);
+       opacity: 0;
+}
+.modal-backdrop.in {
+       filter: alpha(opacity=50);
+       opacity: .5;
+}
+.modal-header {
+       min-height: 16.42857143px;
+       padding: 15px;
+       border-bottom: 1px solid #e5e5e5;
+}
+.modal-header .close {
+       margin-top: -2px;
+}
+.modal-title {
+       margin: 0;
+       line-height: 1.42857143;
+}
+.modal-body {
+       position: relative;
+       padding: 15px;
+}
+.modal-footer {
+       padding: 15px;
+       text-align: right;
+       border-top: 1px solid #e5e5e5;
+}
+.modal-footer .btn + .btn {
+       margin-bottom: 0;
+       margin-left: 5px;
+}
+.modal-footer .btn-group .btn + .btn {
+       margin-left: -1px;
+}
+.modal-footer .btn-block + .btn-block {
+       margin-left: 0;
+}
+.modal-scrollbar-measure {
+       position: absolute;
+       top: -9999px;
+       width: 50px;
+       height: 50px;
+       overflow: scroll;
+}
+@media (min-width: 768px) {
+       .modal-dialog {
+               width: 600px;
+               margin: 30px auto;
+       }
+       .modal-content {
+               -webkit-box-shadow: 0 5px 15px rgba(0, 0, 0, .5);
+               box-shadow: 0 5px 15px rgba(0, 0, 0, .5);
+       }
+       .modal-sm {
+               width: 300px;
+       }
+}
+@media (min-width: 992px) {
+       .modal-lg {
+               width: 900px;
+       }
+}
+.tooltip {
+       position: absolute;
+       z-index: 1070;
+       display: block;
+       font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
+       font-size: 12px;
+       font-weight: normal;
+       line-height: 1.4;
+       filter: alpha(opacity=0);
+       opacity: 0;
+}
+.tooltip.in {
+       filter: alpha(opacity=90);
+       opacity: .9;
+}
+.tooltip.top {
+       padding: 5px 0;
+       margin-top: -3px;
+}
+.tooltip.right {
+       padding: 0 5px;
+       margin-left: 3px;
+}
+.tooltip.bottom {
+       padding: 5px 0;
+       margin-top: 3px;
+}
+.tooltip.left {
+       padding: 0 5px;
+       margin-left: -3px;
+}
+.tooltip-inner {
+       max-width: 200px;
+       padding: 3px 8px;
+       color: #fff;
+       text-align: center;
+       text-decoration: none;
+       background-color: #000;
+       border-radius: 4px;
+}
+.tooltip-arrow {
+       position: absolute;
+       width: 0;
+       height: 0;
+       border-color: transparent;
+       border-style: solid;
+}
+.tooltip.top .tooltip-arrow {
+       bottom: 0;
+       left: 50%;
+       margin-left: -5px;
+       border-width: 5px 5px 0;
+       border-top-color: #000;
+}
+.tooltip.top-left .tooltip-arrow {
+       right: 5px;
+       bottom: 0;
+       margin-bottom: -5px;
+       border-width: 5px 5px 0;
+       border-top-color: #000;
+}
+.tooltip.top-right .tooltip-arrow {
+       bottom: 0;
+       left: 5px;
+       margin-bottom: -5px;
+       border-width: 5px 5px 0;
+       border-top-color: #000;
+}
+.tooltip.right .tooltip-arrow {
+       top: 50%;
+       left: 0;
+       margin-top: -5px;
+       border-width: 5px 5px 5px 0;
+       border-right-color: #000;
+}
+.tooltip.left .tooltip-arrow {
+       top: 50%;
+       right: 0;
+       margin-top: -5px;
+       border-width: 5px 0 5px 5px;
+       border-left-color: #000;
+}
+.tooltip.bottom .tooltip-arrow {
+       top: 0;
+       left: 50%;
+       margin-left: -5px;
+       border-width: 0 5px 5px;
+       border-bottom-color: #000;
+}
+.tooltip.bottom-left .tooltip-arrow {
+       top: 0;
+       right: 5px;
+       margin-top: -5px;
+       border-width: 0 5px 5px;
+       border-bottom-color: #000;
+}
+.tooltip.bottom-right .tooltip-arrow {
+       top: 0;
+       left: 5px;
+       margin-top: -5px;
+       border-width: 0 5px 5px;
+       border-bottom-color: #000;
+}
+.popover {
+       position: absolute;
+       top: 0;
+       left: 0;
+       z-index: 1060;
+       display: none;
+       max-width: 276px;
+       padding: 1px;
+       font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
+       font-size: 14px;
+       font-weight: normal;
+       line-height: 1.42857143;
+       text-align: left;
+       white-space: normal;
+       background-color: #fff;
+       -webkit-background-clip: padding-box;
+       background-clip: padding-box;
+       border: 1px solid #ccc;
+       border: 1px solid rgba(0, 0, 0, .2);
+       border-radius: 6px;
+       -webkit-box-shadow: 0 5px 10px rgba(0, 0, 0, .2);
+       box-shadow: 0 5px 10px rgba(0, 0, 0, .2);
+}
+.popover.top {
+       margin-top: -10px;
+}
+.popover.right {
+       margin-left: 10px;
+}
+.popover.bottom {
+       margin-top: 10px;
+}
+.popover.left {
+       margin-left: -10px;
+}
+.popover-title {
+       padding: 8px 14px;
+       margin: 0;
+       font-size: 14px;
+       background-color: #f7f7f7;
+       border-bottom: 1px solid #ebebeb;
+       border-radius: 5px 5px 0 0;
+}
+.popover-content {
+       padding: 9px 14px;
+}
+.popover > .arrow,
+.popover > .arrow:after {
+       position: absolute;
+       display: block;
+       width: 0;
+       height: 0;
+       border-color: transparent;
+       border-style: solid;
+}
+.popover > .arrow {
+       border-width: 11px;
+}
+.popover > .arrow:after {
+       content: "";
+       border-width: 10px;
+}
+.popover.top > .arrow {
+       bottom: -11px;
+       left: 50%;
+       margin-left: -11px;
+       border-top-color: #999;
+       border-top-color: rgba(0, 0, 0, .25);
+       border-bottom-width: 0;
+}
+.popover.top > .arrow:after {
+       bottom: 1px;
+       margin-left: -10px;
+       content: " ";
+       border-top-color: #fff;
+       border-bottom-width: 0;
+}
+.popover.right > .arrow {
+       top: 50%;
+       left: -11px;
+       margin-top: -11px;
+       border-right-color: #999;
+       border-right-color: rgba(0, 0, 0, .25);
+       border-left-width: 0;
+}
+.popover.right > .arrow:after {
+       bottom: -10px;
+       left: 1px;
+       content: " ";
+       border-right-color: #fff;
+       border-left-width: 0;
+}
+.popover.bottom > .arrow {
+       top: -11px;
+       left: 50%;
+       margin-left: -11px;
+       border-top-width: 0;
+       border-bottom-color: #999;
+       border-bottom-color: rgba(0, 0, 0, .25);
+}
+.popover.bottom > .arrow:after {
+       top: 1px;
+       margin-left: -10px;
+       content: " ";
+       border-top-width: 0;
+       border-bottom-color: #fff;
+}
+.popover.left > .arrow {
+       top: 50%;
+       right: -11px;
+       margin-top: -11px;
+       border-right-width: 0;
+       border-left-color: #999;
+       border-left-color: rgba(0, 0, 0, .25);
+}
+.popover.left > .arrow:after {
+       right: 1px;
+       bottom: -10px;
+       content: " ";
+       border-right-width: 0;
+       border-left-color: #fff;
+}
+.carousel {
+       position: relative;
+}
+.carousel-inner {
+       position: relative;
+       width: 100%;
+       overflow: hidden;
+}
+.carousel-inner > .item {
+       position: relative;
+       display: none;
+       -webkit-transition: .6s ease-in-out left;
+       -o-transition: .6s ease-in-out left;
+       transition: .6s ease-in-out left;
+}
+.carousel-inner > .item > img,
+.carousel-inner > .item > a > img {
+       line-height: 1;
+}
+@media all and (transform-3d), (-webkit-transform-3d) {
+       .carousel-inner > .item {
+               -webkit-transition: -webkit-transform .6s ease-in-out;
+               -o-transition:      -o-transform .6s ease-in-out;
+               transition:         transform .6s ease-in-out;
+
+               -webkit-backface-visibility: hidden;
+               backface-visibility: hidden;
+               -webkit-perspective: 1000;
+               perspective: 1000;
+       }
+       .carousel-inner > .item.next,
+       .carousel-inner > .item.active.right {
+               left: 0;
+               -webkit-transform: translate3d(100%, 0, 0);
+               transform: translate3d(100%, 0, 0);
+       }
+       .carousel-inner > .item.prev,
+       .carousel-inner > .item.active.left {
+               left: 0;
+               -webkit-transform: translate3d(-100%, 0, 0);
+               transform: translate3d(-100%, 0, 0);
+       }
+       .carousel-inner > .item.next.left,
+       .carousel-inner > .item.prev.right,
+       .carousel-inner > .item.active {
+               left: 0;
+               -webkit-transform: translate3d(0, 0, 0);
+               transform: translate3d(0, 0, 0);
+       }
+}
+.carousel-inner > .active,
+.carousel-inner > .next,
+.carousel-inner > .prev {
+       display: block;
+}
+.carousel-inner > .active {
+       left: 0;
+}
+.carousel-inner > .next,
+.carousel-inner > .prev {
+       position: absolute;
+       top: 0;
+       width: 100%;
+}
+.carousel-inner > .next {
+       left: 100%;
+}
+.carousel-inner > .prev {
+       left: -100%;
+}
+.carousel-inner > .next.left,
+.carousel-inner > .prev.right {
+       left: 0;
+}
+.carousel-inner > .active.left {
+       left: -100%;
+}
+.carousel-inner > .active.right {
+       left: 100%;
+}
+.carousel-control {
+       position: absolute;
+       top: 0;
+       bottom: 0;
+       left: 0;
+       width: 15%;
+       font-size: 20px;
+       color: #fff;
+       text-align: center;
+       text-shadow: 0 1px 2px rgba(0, 0, 0, .6);
+       filter: alpha(opacity=50);
+       opacity: .5;
+}
+.carousel-control.left {
+       background-image: -webkit-linear-gradient(left, rgba(0, 0, 0, .5) 0%, rgba(0, 0, 0, .0001) 100%);
+       background-image:      -o-linear-gradient(left, rgba(0, 0, 0, .5) 0%, rgba(0, 0, 0, .0001) 100%);
+       background-image: -webkit-gradient(linear, left top, right top, from(rgba(0, 0, 0, .5)), to(rgba(0, 0, 0, .0001)));
+       background-image:         linear-gradient(to right, rgba(0, 0, 0, .5) 0%, rgba(0, 0, 0, .0001) 100%);
+       filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#80000000', endColorstr='#00000000', GradientType=1);
+       background-repeat: repeat-x;
+}
+.carousel-control.right {
+       right: 0;
+       left: auto;
+       background-image: -webkit-linear-gradient(left, rgba(0, 0, 0, .0001) 0%, rgba(0, 0, 0, .5) 100%);
+       background-image:      -o-linear-gradient(left, rgba(0, 0, 0, .0001) 0%, rgba(0, 0, 0, .5) 100%);
+       background-image: -webkit-gradient(linear, left top, right top, from(rgba(0, 0, 0, .0001)), to(rgba(0, 0, 0, .5)));
+       background-image:         linear-gradient(to right, rgba(0, 0, 0, .0001) 0%, rgba(0, 0, 0, .5) 100%);
+       filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#00000000', endColorstr='#80000000', GradientType=1);
+       background-repeat: repeat-x;
+}
+.carousel-control:hover,
+.carousel-control:focus {
+       color: #fff;
+       text-decoration: none;
+       filter: alpha(opacity=90);
+       outline: 0;
+       opacity: .9;
+}
+.carousel-control .icon-prev,
+.carousel-control .icon-next,
+.carousel-control .glyphicon-chevron-left,
+.carousel-control .glyphicon-chevron-right {
+       position: absolute;
+       top: 50%;
+       z-index: 5;
+       display: inline-block;
+}
+.carousel-control .icon-prev,
+.carousel-control .glyphicon-chevron-left {
+       left: 50%;
+       margin-left: -10px;
+}
+.carousel-control .icon-next,
+.carousel-control .glyphicon-chevron-right {
+       right: 50%;
+       margin-right: -10px;
+}
+.carousel-control .icon-prev,
+.carousel-control .icon-next {
+       width: 20px;
+       height: 20px;
+       margin-top: -10px;
+       font-family: serif;
+       line-height: 1;
+}
+.carousel-control .icon-prev:before {
+       content: '\2039';
+}
+.carousel-control .icon-next:before {
+       content: '\203a';
+}
+.carousel-indicators {
+       position: absolute;
+       bottom: 10px;
+       left: 50%;
+       z-index: 15;
+       width: 60%;
+       padding-left: 0;
+       margin-left: -30%;
+       text-align: center;
+       list-style: none;
+}
+.carousel-indicators li {
+       display: inline-block;
+       width: 10px;
+       height: 10px;
+       margin: 1px;
+       text-indent: -999px;
+       cursor: pointer;
+       background-color: #000 \9;
+       background-color: rgba(0, 0, 0, 0);
+       border: 1px solid #fff;
+       border-radius: 10px;
+}
+.carousel-indicators .active {
+       width: 12px;
+       height: 12px;
+       margin: 0;
+       background-color: #fff;
+}
+.carousel-caption {
+       position: absolute;
+       right: 15%;
+       bottom: 20px;
+       left: 15%;
+       z-index: 10;
+       padding-top: 20px;
+       padding-bottom: 20px;
+       color: #fff;
+       text-align: center;
+       text-shadow: 0 1px 2px rgba(0, 0, 0, .6);
+}
+.carousel-caption .btn {
+       text-shadow: none;
+}
+@media screen and (min-width: 768px) {
+       .carousel-control .glyphicon-chevron-left,
+       .carousel-control .glyphicon-chevron-right,
+       .carousel-control .icon-prev,
+       .carousel-control .icon-next {
+               width: 30px;
+               height: 30px;
+               margin-top: -15px;
+               font-size: 30px;
+       }
+       .carousel-control .glyphicon-chevron-left,
+       .carousel-control .icon-prev {
+               margin-left: -15px;
+       }
+       .carousel-control .glyphicon-chevron-right,
+       .carousel-control .icon-next {
+               margin-right: -15px;
+       }
+       .carousel-caption {
+               right: 20%;
+               left: 20%;
+               padding-bottom: 30px;
+       }
+       .carousel-indicators {
+               bottom: 20px;
+       }
+}
+.clearfix:before,
+.clearfix:after,
+.dl-horizontal dd:before,
+.dl-horizontal dd:after,
+.container:before,
+.container:after,
+.container-fluid:before,
+.container-fluid:after,
+.row:before,
+.row:after,
+.form-horizontal .form-group:before,
+.form-horizontal .form-group:after,
+.btn-toolbar:before,
+.btn-toolbar:after,
+.btn-group-vertical > .btn-group:before,
+.btn-group-vertical > .btn-group:after,
+.nav:before,
+.nav:after,
+.navbar:before,
+.navbar:after,
+.navbar-header:before,
+.navbar-header:after,
+.navbar-collapse:before,
+.navbar-collapse:after,
+.pager:before,
+.pager:after,
+.panel-body:before,
+.panel-body:after,
+.modal-footer:before,
+.modal-footer:after {
+       display: table;
+       content: " ";
+}
+.clearfix:after,
+.dl-horizontal dd:after,
+.container:after,
+.container-fluid:after,
+.row:after,
+.form-horizontal .form-group:after,
+.btn-toolbar:after,
+.btn-group-vertical > .btn-group:after,
+.nav:after,
+.navbar:after,
+.navbar-header:after,
+.navbar-collapse:after,
+.pager:after,
+.panel-body:after,
+.modal-footer:after {
+       clear: both;
+}
+.center-block {
+       display: block;
+       margin-right: auto;
+       margin-left: auto;
+}
+.pull-right {
+       float: right !important;
+}
+.pull-left {
+       float: left !important;
+}
+.hide {
+       display: none !important;
+}
+.show {
+       display: block !important;
+}
+.invisible {
+       visibility: hidden;
+}
+.text-hide {
+       font: 0/0 a;
+       color: transparent;
+       text-shadow: none;
+       background-color: transparent;
+       border: 0;
+}
+.hidden {
+       display: none !important;
+}
+.affix {
+       position: fixed;
+}
+@-ms-viewport {
+       width: device-width;
+}
+.visible-xs,
+.visible-sm,
+.visible-md,
+.visible-lg {
+       display: none !important;
+}
+.visible-xs-block,
+.visible-xs-inline,
+.visible-xs-inline-block,
+.visible-sm-block,
+.visible-sm-inline,
+.visible-sm-inline-block,
+.visible-md-block,
+.visible-md-inline,
+.visible-md-inline-block,
+.visible-lg-block,
+.visible-lg-inline,
+.visible-lg-inline-block {
+       display: none !important;
+}
+@media (max-width: 767px) {
+       .visible-xs {
+               display: block !important;
+       }
+       table.visible-xs {
+               display: table;
+       }
+       tr.visible-xs {
+               display: table-row !important;
+       }
+       th.visible-xs,
+       td.visible-xs {
+               display: table-cell !important;
+       }
+}
+@media (max-width: 767px) {
+       .visible-xs-block {
+               display: block !important;
+       }
+}
+@media (max-width: 767px) {
+       .visible-xs-inline {
+               display: inline !important;
+       }
+}
+@media (max-width: 767px) {
+       .visible-xs-inline-block {
+               display: inline-block !important;
+       }
+}
+@media (min-width: 768px) and (max-width: 991px) {
+       .visible-sm {
+               display: block !important;
+       }
+       table.visible-sm {
+               display: table;
+       }
+       tr.visible-sm {
+               display: table-row !important;
+       }
+       th.visible-sm,
+       td.visible-sm {
+               display: table-cell !important;
+       }
+}
+@media (min-width: 768px) and (max-width: 991px) {
+       .visible-sm-block {
+               display: block !important;
+       }
+}
+@media (min-width: 768px) and (max-width: 991px) {
+       .visible-sm-inline {
+               display: inline !important;
+       }
+}
+@media (min-width: 768px) and (max-width: 991px) {
+       .visible-sm-inline-block {
+               display: inline-block !important;
+       }
+}
+@media (min-width: 992px) and (max-width: 1199px) {
+       .visible-md {
+               display: block !important;
+       }
+       table.visible-md {
+               display: table;
+       }
+       tr.visible-md {
+               display: table-row !important;
+       }
+       th.visible-md,
+       td.visible-md {
+               display: table-cell !important;
+       }
+}
+@media (min-width: 992px) and (max-width: 1199px) {
+       .visible-md-block {
+               display: block !important;
+       }
+}
+@media (min-width: 992px) and (max-width: 1199px) {
+       .visible-md-inline {
+               display: inline !important;
+       }
+}
+@media (min-width: 992px) and (max-width: 1199px) {
+       .visible-md-inline-block {
+               display: inline-block !important;
+       }
+}
+@media (min-width: 1200px) {
+       .visible-lg {
+               display: block !important;
+       }
+       table.visible-lg {
+               display: table;
+       }
+       tr.visible-lg {
+               display: table-row !important;
+       }
+       th.visible-lg,
+       td.visible-lg {
+               display: table-cell !important;
+       }
+}
+@media (min-width: 1200px) {
+       .visible-lg-block {
+               display: block !important;
+       }
+}
+@media (min-width: 1200px) {
+       .visible-lg-inline {
+               display: inline !important;
+       }
+}
+@media (min-width: 1200px) {
+       .visible-lg-inline-block {
+               display: inline-block !important;
+       }
+}
+@media (max-width: 767px) {
+       .hidden-xs {
+               display: none !important;
+       }
+}
+@media (min-width: 768px) and (max-width: 991px) {
+       .hidden-sm {
+               display: none !important;
+       }
+}
+@media (min-width: 992px) and (max-width: 1199px) {
+       .hidden-md {
+               display: none !important;
+       }
+}
+@media (min-width: 1200px) {
+       .hidden-lg {
+               display: none !important;
+       }
+}
+.visible-print {
+       display: none !important;
+}
+@media print {
+       .visible-print {
+               display: block !important;
+       }
+       table.visible-print {
+               display: table;
+       }
+       tr.visible-print {
+               display: table-row !important;
+       }
+       th.visible-print,
+       td.visible-print {
+               display: table-cell !important;
+       }
+}
+.visible-print-block {
+       display: none !important;
+}
+@media print {
+       .visible-print-block {
+               display: block !important;
+       }
+}
+.visible-print-inline {
+       display: none !important;
+}
+@media print {
+       .visible-print-inline {
+               display: inline !important;
+       }
+}
+.visible-print-inline-block {
+       display: none !important;
+}
+@media print {
+       .visible-print-inline-block {
+               display: inline-block !important;
+       }
+}
+@media print {
+       .hidden-print {
+               display: none !important;
+       }
+}
+/*# sourceMappingURL=bootstrap.css.map */
\ No newline at end of file
diff --git a/templates/shop-isle/assets/bootstrap/css/bootstrap.css.map b/templates/shop-isle/assets/bootstrap/css/bootstrap.css.map
new file mode 100644 (file)
index 0000000..2fd84f3
--- /dev/null
@@ -0,0 +1 @@
+{"version":3,"sources":["bootstrap.css","less/normalize.less","less/print.less","less/glyphicons.less","less/scaffolding.less","less/mixins/vendor-prefixes.less","less/mixins/tab-focus.less","less/mixins/image.less","less/type.less","less/mixins/text-emphasis.less","less/mixins/background-variant.less","less/mixins/text-overflow.less","less/code.less","less/grid.less","less/mixins/grid.less","less/mixins/grid-framework.less","less/tables.less","less/mixins/table-row.less","less/forms.less","less/mixins/forms.less","less/buttons.less","less/mixins/buttons.less","less/mixins/opacity.less","less/component-animations.less","less/dropdowns.less","less/mixins/nav-divider.less","less/mixins/reset-filter.less","less/button-groups.less","less/mixins/border-radius.less","less/input-groups.less","less/navs.less","less/navbar.less","less/mixins/nav-vertical-align.less","less/utilities.less","less/breadcrumbs.less","less/pagination.less","less/mixins/pagination.less","less/pager.less","less/labels.less","less/mixins/labels.less","less/badges.less","less/jumbotron.less","less/thumbnails.less","less/alerts.less","less/mixins/alerts.less","less/progress-bars.less","less/mixins/gradients.less","less/mixins/progress-bar.less","less/media.less","less/list-group.less","less/mixins/list-group.less","less/panels.less","less/mixins/panels.less","less/responsive-embed.less","less/wells.less","less/close.less","less/modals.less","less/tooltip.less","less/popovers.less","less/carousel.less","less/mixins/clearfix.less","less/mixins/center-block.less","less/mixins/hide-text.less","less/responsive-utilities.less","less/mixins/responsive-visibility.less"],"names":[],"mappings":"AAAA,6DAA4D;ACQ5D;EACE,yBAAA;EACA,4BAAA;EACA,gCAAA;EDND;ACaD;EACE,WAAA;EDXD;ACwBD;;;;;;;;;;;;;EAaE,gBAAA;EDtBD;AC8BD;;;;EAIE,uBAAA;EACA,0BAAA;ED5BD;ACoCD;EACE,eAAA;EACA,WAAA;EDlCD;AC0CD;;EAEE,eAAA;EDxCD;ACkDD;EACE,+BAAA;EDhDD;ACuDD;;EAEE,YAAA;EDrDD;AC+DD;EACE,2BAAA;ED7DD;ACoED;;EAEE,mBAAA;EDlED;ACyED;EACE,oBAAA;EDvED;AC+ED;EACE,gBAAA;EACA,kBAAA;ED7ED;ACoFD;EACE,kBAAA;EACA,aAAA;EDlFD;ACyFD;EACE,gBAAA;EDvFD;AC8FD;;EAEE,gBAAA;EACA,gBAAA;EACA,oBAAA;EACA,0BAAA;ED5FD;AC+FD;EACE,aAAA;ED7FD;ACgGD;EACE,iBAAA;ED9FD;ACwGD;EACE,WAAA;EDtGD;AC6GD;EACE,kBAAA;ED3GD;ACqHD;EACE,kBAAA;EDnHD;AC0HD;EACE,8BAAA;EACA,iCAAA;UAAA,yBAAA;EACA,WAAA;EDxHD;AC+HD;EACE,gBAAA;ED7HD;ACoID;;;;EAIE,mCAAA;EACA,gBAAA;EDlID;ACoJD;;;;;EAKE,gBAAA;EACA,eAAA;EACA,WAAA;EDlJD;ACyJD;EACE,mBAAA;EDvJD;ACiKD;;EAEE,sBAAA;ED/JD;AC0KD;;;;EAIE,4BAAA;EACA,iBAAA;EDxKD;AC+KD;;EAEE,iBAAA;ED7KD;ACoLD;;EAEE,WAAA;EACA,YAAA;EDlLD;AC0LD;EACE,qBAAA;EDxLD;ACmMD;;EAEE,gCAAA;KAAA,6BAAA;UAAA,wBAAA;EACA,YAAA;EDjMD;AC0MD;;EAEE,cAAA;EDxMD;ACiND;EACE,+BAAA;EACA,8BAAA;EACA,iCAAA;EACA,yBAAA;ED/MD;ACwND;;EAEE,0BAAA;EDtND;AC6ND;EACE,2BAAA;EACA,eAAA;EACA,gCAAA;ED3ND;ACmOD;EACE,WAAA;EACA,YAAA;EDjOD;ACwOD;EACE,gBAAA;EDtOD;AC8OD;EACE,mBAAA;ED5OD;ACsPD;EACE,2BAAA;EACA,mBAAA;EDpPD;ACuPD;;EAEE,YAAA;EDrPD;AACD,sFAAqF;AE1ErF;EAnGI;;;IAGI,oCAAA;IACA,wBAAA;IACA,qCAAA;YAAA,6BAAA;IACA,8BAAA;IFgLL;EE7KC;;IAEI,4BAAA;IF+KL;EE5KC;IACI,8BAAA;IF8KL;EE3KC;IACI,+BAAA;IF6KL;EExKC;;IAEI,aAAA;IF0KL;EEvKC;;IAEI,wBAAA;IACA,0BAAA;IFyKL;EEtKC;IACI,6BAAA;IFwKL;EErKC;;IAEI,0BAAA;IFuKL;EEpKC;IACI,4BAAA;IFsKL;EEnKC;;;IAGI,YAAA;IACA,WAAA;IFqKL;EElKC;;IAEI,yBAAA;IFoKL;EE7JC;IACI,6BAAA;IF+JL;EE3JC;IACI,eAAA;IF6JL;EE3JC;;IAGQ,mCAAA;IF4JT;EEzJC;IACI,wBAAA;IF2JL;EExJC;IACI,sCAAA;IF0JL;EE3JC;;IAKQ,mCAAA;IF0JT;EEvJC;;IAGQ,mCAAA;IFwJT;EACF;AGpPD;EACE,qCAAA;EACA,uDAAA;EACA,iYAAA;EHsPD;AG9OD;EACE,oBAAA;EACA,UAAA;EACA,uBAAA;EACA,qCAAA;EACA,oBAAA;EACA,qBAAA;EACA,gBAAA;EACA,qCAAA;EACA,oCAAA;EHgPD;AG5OmC;EAAW,gBAAA;EH+O9C;AG9OmC;EAAW,gBAAA;EHiP9C;AG/OmC;;EAAW,kBAAA;EHmP9C;AGlPmC;EAAW,kBAAA;EHqP9C;AGpPmC;EAAW,kBAAA;EHuP9C;AGtPmC;EAAW,kBAAA;EHyP9C;AGxPmC;EAAW,kBAAA;EH2P9C;AG1PmC;EAAW,kBAAA;EH6P9C;AG5PmC;EAAW,kBAAA;EH+P9C;AG9PmC;EAAW,kBAAA;EHiQ9C;AGhQmC;EAAW,kBAAA;EHmQ9C;AGlQmC;EAAW,kBAAA;EHqQ9C;AGpQmC;EAAW,kBAAA;EHuQ9C;AGtQmC;EAAW,kBAAA;EHyQ9C;AGxQmC;EAAW,kBAAA;EH2Q9C;AG1QmC;EAAW,kBAAA;EH6Q9C;AG5QmC;EAAW,kBAAA;EH+Q9C;AG9QmC;EAAW,kBAAA;EHiR9C;AGhRmC;EAAW,kBAAA;EHmR9C;AGlRmC;EAAW,kBAAA;EHqR9C;AGpRmC;EAAW,kBAAA;EHuR9C;AGtRmC;EAAW,kBAAA;EHyR9C;AGxRmC;EAAW,kBAAA;EH2R9C;AG1RmC;EAAW,kBAAA;EH6R9C;AG5RmC;EAAW,kBAAA;EH+R9C;AG9RmC;EAAW,kBAAA;EHiS9C;AGhSmC;EAAW,kBAAA;EHmS9C;AGlSmC;EAAW,kBAAA;EHqS9C;AGpSmC;EAAW,kBAAA;EHuS9C;AGtSmC;EAAW,kBAAA;EHyS9C;AGxSmC;EAAW,kBAAA;EH2S9C;AG1SmC;EAAW,kBAAA;EH6S9C;AG5SmC;EAAW,kBAAA;EH+S9C;AG9SmC;EAAW,kBAAA;EHiT9C;AGhTmC;EAAW,kBAAA;EHmT9C;AGlTmC;EAAW,kBAAA;EHqT9C;AGpTmC;EAAW,kBAAA;EHuT9C;AGtTmC;EAAW,kBAAA;EHyT9C;AGxTmC;EAAW,kBAAA;EH2T9C;AG1TmC;EAAW,kBAAA;EH6T9C;AG5TmC;EAAW,kBAAA;EH+T9C;AG9TmC;EAAW,kBAAA;EHiU9C;AGhUmC;EAAW,kBAAA;EHmU9C;AGlUmC;EAAW,kBAAA;EHqU9C;AGpUmC;EAAW,kBAAA;EHuU9C;AGtUmC;EAAW,kBAAA;EHyU9C;AGxUmC;EAAW,kBAAA;EH2U9C;AG1UmC;EAAW,kBAAA;EH6U9C;AG5UmC;EAAW,kBAAA;EH+U9C;AG9UmC;EAAW,kBAAA;EHiV9C;AGhVmC;EAAW,kBAAA;EHmV9C;AGlVmC;EAAW,kBAAA;EHqV9C;AGpVmC;EAAW,kBAAA;EHuV9C;AGtVmC;EAAW,kBAAA;EHyV9C;AGxVmC;EAAW,kBAAA;EH2V9C;AG1VmC;EAAW,kBAAA;EH6V9C;AG5VmC;EAAW,kBAAA;EH+V9C;AG9VmC;EAAW,kBAAA;EHiW9C;AGhWmC;EAAW,kBAAA;EHmW9C;AGlWmC;EAAW,kBAAA;EHqW9C;AGpWmC;EAAW,kBAAA;EHuW9C;AGtWmC;EAAW,kBAAA;EHyW9C;AGxWmC;EAAW,kBAAA;EH2W9C;AG1WmC;EAAW,kBAAA;EH6W9C;AG5WmC;EAAW,kBAAA;EH+W9C;AG9WmC;EAAW,kBAAA;EHiX9C;AGhXmC;EAAW,kBAAA;EHmX9C;AGlXmC;EAAW,kBAAA;EHqX9C;AGpXmC;EAAW,kBAAA;EHuX9C;AGtXmC;EAAW,kBAAA;EHyX9C;AGxXmC;EAAW,kBAAA;EH2X9C;AG1XmC;EAAW,kBAAA;EH6X9C;AG5XmC;EAAW,kBAAA;EH+X9C;AG9XmC;EAAW,kBAAA;EHiY9C;AGhYmC;EAAW,kBAAA;EHmY9C;AGlYmC;EAAW,kBAAA;EHqY9C;AGpYmC;EAAW,kBAAA;EHuY9C;AGtYmC;EAAW,kBAAA;EHyY9C;AGxYmC;EAAW,kBAAA;EH2Y9C;AG1YmC;EAAW,kBAAA;EH6Y9C;AG5YmC;EAAW,kBAAA;EH+Y9C;AG9YmC;EAAW,kBAAA;EHiZ9C;AGhZmC;EAAW,kBAAA;EHmZ9C;AGlZmC;EAAW,kBAAA;EHqZ9C;AGpZmC;EAAW,kBAAA;EHuZ9C;AGtZmC;EAAW,kBAAA;EHyZ9C;AGxZmC;EAAW,kBAAA;EH2Z9C;AG1ZmC;EAAW,kBAAA;EH6Z9C;AG5ZmC;EAAW,kBAAA;EH+Z9C;AG9ZmC;EAAW,kBAAA;EHia9C;AGhamC;EAAW,kBAAA;EHma9C;AGlamC;EAAW,kBAAA;EHqa9C;AGpamC;EAAW,kBAAA;EHua9C;AGtamC;EAAW,kBAAA;EHya9C;AGxamC;EAAW,kBAAA;EH2a9C;AG1amC;EAAW,kBAAA;EH6a9C;AG5amC;EAAW,kBAAA;EH+a9C;AG9amC;EAAW,kBAAA;EHib9C;AGhbmC;EAAW,kBAAA;EHmb9C;AGlbmC;EAAW,kBAAA;EHqb9C;AGpbmC;EAAW,kBAAA;EHub9C;AGtbmC;EAAW,kBAAA;EHyb9C;AGxbmC;EAAW,kBAAA;EH2b9C;AG1bmC;EAAW,kBAAA;EH6b9C;AG5bmC;EAAW,kBAAA;EH+b9C;AG9bmC;EAAW,kBAAA;EHic9C;AGhcmC;EAAW,kBAAA;EHmc9C;AGlcmC;EAAW,kBAAA;EHqc9C;AGpcmC;EAAW,kBAAA;EHuc9C;AGtcmC;EAAW,kBAAA;EHyc9C;AGxcmC;EAAW,kBAAA;EH2c9C;AG1cmC;EAAW,kBAAA;EH6c9C;AG5cmC;EAAW,kBAAA;EH+c9C;AG9cmC;EAAW,kBAAA;EHid9C;AGhdmC;EAAW,kBAAA;EHmd9C;AGldmC;EAAW,kBAAA;EHqd9C;AGpdmC;EAAW,kBAAA;EHud9C;AGtdmC;EAAW,kBAAA;EHyd9C;AGxdmC;EAAW,kBAAA;EH2d9C;AG1dmC;EAAW,kBAAA;EH6d9C;AG5dmC;EAAW,kBAAA;EH+d9C;AG9dmC;EAAW,kBAAA;EHie9C;AGhemC;EAAW,kBAAA;EHme9C;AGlemC;EAAW,kBAAA;EHqe9C;AGpemC;EAAW,kBAAA;EHue9C;AGtemC;EAAW,kBAAA;EHye9C;AGxemC;EAAW,kBAAA;EH2e9C;AG1emC;EAAW,kBAAA;EH6e9C;AG5emC;EAAW,kBAAA;EH+e9C;AG9emC;EAAW,kBAAA;EHif9C;AGhfmC;EAAW,kBAAA;EHmf9C;AGlfmC;EAAW,kBAAA;EHqf9C;AGpfmC;EAAW,kBAAA;EHuf9C;AGtfmC;EAAW,kBAAA;EHyf9C;AGxfmC;EAAW,kBAAA;EH2f9C;AG1fmC;EAAW,kBAAA;EH6f9C;AG5fmC;EAAW,kBAAA;EH+f9C;AG9fmC;EAAW,kBAAA;EHigB9C;AGhgBmC;EAAW,kBAAA;EHmgB9C;AGlgBmC;EAAW,kBAAA;EHqgB9C;AGpgBmC;EAAW,kBAAA;EHugB9C;AGtgBmC;EAAW,kBAAA;EHygB9C;AGxgBmC;EAAW,kBAAA;EH2gB9C;AG1gBmC;EAAW,kBAAA;EH6gB9C;AG5gBmC;EAAW,kBAAA;EH+gB9C;AG9gBmC;EAAW,kBAAA;EHihB9C;AGhhBmC;EAAW,kBAAA;EHmhB9C;AGlhBmC;EAAW,kBAAA;EHqhB9C;AGphBmC;EAAW,kBAAA;EHuhB9C;AGthBmC;EAAW,kBAAA;EHyhB9C;AGxhBmC;EAAW,kBAAA;EH2hB9C;AG1hBmC;EAAW,kBAAA;EH6hB9C;AG5hBmC;EAAW,kBAAA;EH+hB9C;AG9hBmC;EAAW,kBAAA;EHiiB9C;AGhiBmC;EAAW,kBAAA;EHmiB9C;AGliBmC;EAAW,kBAAA;EHqiB9C;AGpiBmC;EAAW,kBAAA;EHuiB9C;AGtiBmC;EAAW,kBAAA;EHyiB9C;AGxiBmC;EAAW,kBAAA;EH2iB9C;AG1iBmC;EAAW,kBAAA;EH6iB9C;AG5iBmC;EAAW,kBAAA;EH+iB9C;AG9iBmC;EAAW,kBAAA;EHijB9C;AGhjBmC;EAAW,kBAAA;EHmjB9C;AGljBmC;EAAW,kBAAA;EHqjB9C;AGpjBmC;EAAW,kBAAA;EHujB9C;AGtjBmC;EAAW,kBAAA;EHyjB9C;AGxjBmC;EAAW,kBAAA;EH2jB9C;AG1jBmC;EAAW,kBAAA;EH6jB9C;AG5jBmC;EAAW,kBAAA;EH+jB9C;AG9jBmC;EAAW,kBAAA;EHikB9C;AGhkBmC;EAAW,kBAAA;EHmkB9C;AGlkBmC;EAAW,kBAAA;EHqkB9C;AGpkBmC;EAAW,kBAAA;EHukB9C;AGtkBmC;EAAW,kBAAA;EHykB9C;AGxkBmC;EAAW,kBAAA;EH2kB9C;AG1kBmC;EAAW,kBAAA;EH6kB9C;AG5kBmC;EAAW,kBAAA;EH+kB9C;AG9kBmC;EAAW,kBAAA;EHilB9C;AGhlBmC;EAAW,kBAAA;EHmlB9C;AGllBmC;EAAW,kBAAA;EHqlB9C;AGplBmC;EAAW,kBAAA;EHulB9C;AGtlBmC;EAAW,kBAAA;EHylB9C;AGxlBmC;EAAW,kBAAA;EH2lB9C;AG1lBmC;EAAW,kBAAA;EH6lB9C;AG5lBmC;EAAW,kBAAA;EH+lB9C;AG9lBmC;EAAW,kBAAA;EHimB9C;AGhmBmC;EAAW,kBAAA;EHmmB9C;AGlmBmC;EAAW,kBAAA;EHqmB9C;AGpmBmC;EAAW,kBAAA;EHumB9C;AGtmBmC;EAAW,kBAAA;EHymB9C;AGxmBmC;EAAW,kBAAA;EH2mB9C;AG1mBmC;EAAW,kBAAA;EH6mB9C;AG5mBmC;EAAW,kBAAA;EH+mB9C;AG9mBmC;EAAW,kBAAA;EHinB9C;AGhnBmC;EAAW,kBAAA;EHmnB9C;AGlnBmC;EAAW,kBAAA;EHqnB9C;AGpnBmC;EAAW,kBAAA;EHunB9C;AGtnBmC;EAAW,kBAAA;EHynB9C;AGxnBmC;EAAW,kBAAA;EH2nB9C;AG1nBmC;EAAW,kBAAA;EH6nB9C;AG5nBmC;EAAW,kBAAA;EH+nB9C;AG9nBmC;EAAW,kBAAA;EHioB9C;AGhoBmC;EAAW,kBAAA;EHmoB9C;AGloBmC;EAAW,kBAAA;EHqoB9C;AGpoBmC;EAAW,kBAAA;EHuoB9C;AGtoBmC;EAAW,kBAAA;EHyoB9C;AGhoBmC;EAAW,kBAAA;EHmoB9C;AGloBmC;EAAW,kBAAA;EHqoB9C;AGpoBmC;EAAW,kBAAA;EHuoB9C;AGtoBmC;EAAW,kBAAA;EHyoB9C;AGxoBmC;EAAW,kBAAA;EH2oB9C;AG1oBmC;EAAW,kBAAA;EH6oB9C;AG5oBmC;EAAW,kBAAA;EH+oB9C;AG9oBmC;EAAW,kBAAA;EHipB9C;AGhpBmC;EAAW,kBAAA;EHmpB9C;AGlpBmC;EAAW,kBAAA;EHqpB9C;AGppBmC;EAAW,kBAAA;EHupB9C;AGtpBmC;EAAW,kBAAA;EHypB9C;AGxpBmC;EAAW,kBAAA;EH2pB9C;AG1pBmC;EAAW,kBAAA;EH6pB9C;AG5pBmC;EAAW,kBAAA;EH+pB9C;AG9pBmC;EAAW,kBAAA;EHiqB9C;AGhqBmC;EAAW,kBAAA;EHmqB9C;AGlqBmC;EAAW,kBAAA;EHqqB9C;AGpqBmC;EAAW,kBAAA;EHuqB9C;AGtqBmC;EAAW,kBAAA;EHyqB9C;AGxqBmC;EAAW,kBAAA;EH2qB9C;AG1qBmC;EAAW,kBAAA;EH6qB9C;AG5qBmC;EAAW,kBAAA;EH+qB9C;AG9qBmC;EAAW,kBAAA;EHirB9C;AGhrBmC;EAAW,kBAAA;EHmrB9C;AGlrBmC;EAAW,kBAAA;EHqrB9C;AGprBmC;EAAW,kBAAA;EHurB9C;AGtrBmC;EAAW,kBAAA;EHyrB9C;AGxrBmC;EAAW,kBAAA;EH2rB9C;AG1rBmC;EAAW,kBAAA;EH6rB9C;AG5rBmC;EAAW,kBAAA;EH+rB9C;AG9rBmC;EAAW,kBAAA;EHisB9C;AGhsBmC;EAAW,kBAAA;EHmsB9C;AGlsBmC;EAAW,kBAAA;EHqsB9C;AGpsBmC;EAAW,kBAAA;EHusB9C;AGtsBmC;EAAW,kBAAA;EHysB9C;AGxsBmC;EAAW,kBAAA;EH2sB9C;AG1sBmC;EAAW,kBAAA;EH6sB9C;AG5sBmC;EAAW,kBAAA;EH+sB9C;AG9sBmC;EAAW,kBAAA;EHitB9C;AGhtBmC;EAAW,kBAAA;EHmtB9C;AGltBmC;EAAW,kBAAA;EHqtB9C;AGptBmC;EAAW,kBAAA;EHutB9C;AGttBmC;EAAW,kBAAA;EHytB9C;AGxtBmC;EAAW,kBAAA;EH2tB9C;AG1tBmC;EAAW,kBAAA;EH6tB9C;AG5tBmC;EAAW,kBAAA;EH+tB9C;AG9tBmC;EAAW,kBAAA;EHiuB9C;AGhuBmC;EAAW,kBAAA;EHmuB9C;AGluBmC;EAAW,kBAAA;EHquB9C;AGpuBmC;EAAW,kBAAA;EHuuB9C;AGtuBmC;EAAW,kBAAA;EHyuB9C;AGxuBmC;EAAW,kBAAA;EH2uB9C;AG1uBmC;EAAW,kBAAA;EH6uB9C;AG5uBmC;EAAW,kBAAA;EH+uB9C;AG9uBmC;EAAW,kBAAA;EHivB9C;AIvhCD;ECgEE,gCAAA;EACG,6BAAA;EACK,wBAAA;EL09BT;AIzhCD;;EC6DE,gCAAA;EACG,6BAAA;EACK,wBAAA;ELg+BT;AIvhCD;EACE,iBAAA;EACA,+CAAA;EJyhCD;AIthCD;EACE,6DAAA;EACA,iBAAA;EACA,yBAAA;EACA,gBAAA;EACA,2BAAA;EJwhCD;AIphCD;;;;EAIE,sBAAA;EACA,oBAAA;EACA,sBAAA;EJshCD;AIhhCD;EACE,gBAAA;EACA,uBAAA;EJkhCD;AIhhCC;;EAEE,gBAAA;EACA,4BAAA;EJkhCH;AI/gCC;EErDA,sBAAA;EAEA,4CAAA;EACA,sBAAA;ENskCD;AIzgCD;EACE,WAAA;EJ2gCD;AIrgCD;EACE,wBAAA;EJugCD;AIngCD;;;;;EGvEE,gBAAA;EACA,iBAAA;EACA,cAAA;EPilCD;AIvgCD;EACE,oBAAA;EJygCD;AIngCD;EACE,cAAA;EACA,yBAAA;EACA,2BAAA;EACA,2BAAA;EACA,oBAAA;EC6FA,0CAAA;EACK,qCAAA;EACG,kCAAA;EEvLR,uBAAA;EACA,iBAAA;EACA,cAAA;EPimCD;AIngCD;EACE,oBAAA;EJqgCD;AI//BD;EACE,kBAAA;EACA,qBAAA;EACA,WAAA;EACA,+BAAA;EJigCD;AIz/BD;EACE,oBAAA;EACA,YAAA;EACA,aAAA;EACA,cAAA;EACA,YAAA;EACA,kBAAA;EACA,wBAAA;EACA,WAAA;EJ2/BD;AIn/BC;;EAEE,kBAAA;EACA,aAAA;EACA,cAAA;EACA,WAAA;EACA,mBAAA;EACA,YAAA;EJq/BH;AIz+BD;EACE,iBAAA;EJ2+BD;AQnoCD;;;;;;;;;;;;EAEE,sBAAA;EACA,kBAAA;EACA,kBAAA;EACA,gBAAA;ER+oCD;AQppCD;;;;;;;;;;;;;;;;;;;;;;;;EASI,qBAAA;EACA,gBAAA;EACA,gBAAA;ERqqCH;AQjqCD;;;;;;EAGE,kBAAA;EACA,qBAAA;ERsqCD;AQ1qCD;;;;;;;;;;;;EAQI,gBAAA;ERgrCH;AQ7qCD;;;;;;EAGE,kBAAA;EACA,qBAAA;ERkrCD;AQtrCD;;;;;;;;;;;;EAQI,gBAAA;ER4rCH;AQxrCD;;EAAU,iBAAA;ER4rCT;AQ3rCD;;EAAU,iBAAA;ER+rCT;AQ9rCD;;EAAU,iBAAA;ERksCT;AQjsCD;;EAAU,iBAAA;ERqsCT;AQpsCD;;EAAU,iBAAA;ERwsCT;AQvsCD;;EAAU,iBAAA;ER2sCT;AQrsCD;EACE,kBAAA;ERusCD;AQpsCD;EACE,qBAAA;EACA,iBAAA;EACA,kBAAA;EACA,kBAAA;ERssCD;AQjsCD;EAAA;IAFI,iBAAA;IRusCD;EACF;AQ/rCD;;EAEE,gBAAA;ERisCD;AQ9rCD;;EAEE,2BAAA;EACA,eAAA;ERgsCD;AQ5rCD;EAAuB,kBAAA;ER+rCtB;AQ9rCD;EAAuB,mBAAA;ERisCtB;AQhsCD;EAAuB,oBAAA;ERmsCtB;AQlsCD;EAAuB,qBAAA;ERqsCtB;AQpsCD;EAAuB,qBAAA;ERusCtB;AQpsCD;EAAuB,2BAAA;ERusCtB;AQtsCD;EAAuB,2BAAA;ERysCtB;AQxsCD;EAAuB,4BAAA;ER2sCtB;AQxsCD;EACE,gBAAA;ER0sCD;AQxsCD;ECrGE,gBAAA;ETgzCD;AS/yCC;EACE,gBAAA;ETizCH;AQ3sCD;ECxGE,gBAAA;ETszCD;ASrzCC;EACE,gBAAA;ETuzCH;AQ9sCD;EC3GE,gBAAA;ET4zCD;AS3zCC;EACE,gBAAA;ET6zCH;AQjtCD;EC9GE,gBAAA;ETk0CD;ASj0CC;EACE,gBAAA;ETm0CH;AQptCD;ECjHE,gBAAA;ETw0CD;ASv0CC;EACE,gBAAA;ETy0CH;AQntCD;EAGE,aAAA;EE3HA,2BAAA;EV+0CD;AU90CC;EACE,2BAAA;EVg1CH;AQptCD;EE9HE,2BAAA;EVq1CD;AUp1CC;EACE,2BAAA;EVs1CH;AQvtCD;EEjIE,2BAAA;EV21CD;AU11CC;EACE,2BAAA;EV41CH;AQ1tCD;EEpIE,2BAAA;EVi2CD;AUh2CC;EACE,2BAAA;EVk2CH;AQ7tCD;EEvIE,2BAAA;EVu2CD;AUt2CC;EACE,2BAAA;EVw2CH;AQ3tCD;EACE,qBAAA;EACA,qBAAA;EACA,kCAAA;ER6tCD;AQrtCD;;EAEE,eAAA;EACA,qBAAA;ERutCD;AQ1tCD;;;;EAMI,kBAAA;ER0tCH;AQntCD;EACE,iBAAA;EACA,kBAAA;ERqtCD;AQjtCD;EALE,iBAAA;EACA,kBAAA;EAMA,mBAAA;ERotCD;AQttCD;EAKI,uBAAA;EACA,mBAAA;EACA,oBAAA;ERotCH;AQ/sCD;EACE,eAAA;EACA,qBAAA;ERitCD;AQ/sCD;;EAEE,yBAAA;ERitCD;AQ/sCD;EACE,mBAAA;ERitCD;AQ/sCD;EACE,gBAAA;ERitCD;AQxrCD;EAAA;IAVM,aAAA;IACA,cAAA;IACA,aAAA;IACA,mBAAA;IGtNJ,kBAAA;IACA,yBAAA;IACA,qBAAA;IX65CC;EQlsCH;IAHM,oBAAA;IRwsCH;EACF;AQ/rCD;;EAGE,cAAA;EACA,mCAAA;ERgsCD;AQ9rCD;EACE,gBAAA;EA9IqB,2BAAA;ER+0CtB;AQ5rCD;EACE,oBAAA;EACA,kBAAA;EACA,mBAAA;EACA,gCAAA;ER8rCD;AQzrCG;;;EACE,kBAAA;ER6rCL;AQvsCD;;;EAmBI,gBAAA;EACA,gBAAA;EACA,yBAAA;EACA,gBAAA;ERyrCH;AQvrCG;;;EACE,wBAAA;ER2rCL;AQnrCD;;EAEE,qBAAA;EACA,iBAAA;EACA,iCAAA;EACA,gBAAA;EACA,mBAAA;ERqrCD;AQ/qCG;;;;;;EAAW,aAAA;ERurCd;AQtrCG;;;;;;EACE,wBAAA;ER6rCL;AQvrCD;EACE,qBAAA;EACA,oBAAA;EACA,yBAAA;ERyrCD;AY/9CD;;;;EAIE,gEAAA;EZi+CD;AY79CD;EACE,kBAAA;EACA,gBAAA;EACA,gBAAA;EACA,2BAAA;EACA,oBAAA;EZ+9CD;AY39CD;EACE,kBAAA;EACA,gBAAA;EACA,gBAAA;EACA,2BAAA;EACA,oBAAA;EACA,wDAAA;UAAA,gDAAA;EZ69CD;AYn+CD;EASI,YAAA;EACA,iBAAA;EACA,mBAAA;EACA,0BAAA;UAAA,kBAAA;EZ69CH;AYx9CD;EACE,gBAAA;EACA,gBAAA;EACA,kBAAA;EACA,iBAAA;EACA,yBAAA;EACA,uBAAA;EACA,uBAAA;EACA,gBAAA;EACA,2BAAA;EACA,2BAAA;EACA,oBAAA;EZ09CD;AYr+CD;EAeI,YAAA;EACA,oBAAA;EACA,gBAAA;EACA,uBAAA;EACA,+BAAA;EACA,kBAAA;EZy9CH;AYp9CD;EACE,mBAAA;EACA,oBAAA;EZs9CD;AahhDD;ECHE,oBAAA;EACA,mBAAA;EACA,oBAAA;EACA,qBAAA;EdshDD;AahhDC;EAAA;IAFE,cAAA;IbshDD;EACF;AalhDC;EAAA;IAFE,cAAA;IbwhDD;EACF;AaphDD;EAAA;IAFI,eAAA;Ib0hDD;EACF;AajhDD;ECvBE,oBAAA;EACA,mBAAA;EACA,oBAAA;EACA,qBAAA;Ed2iDD;Aa9gDD;ECvBE,oBAAA;EACA,qBAAA;EdwiDD;AexiDG;EACE,oBAAA;EAEA,iBAAA;EAEA,oBAAA;EACA,qBAAA;EfwiDL;AexhDG;EACE,aAAA;Ef0hDL;AenhDC;EACE,aAAA;EfqhDH;AethDC;EACE,qBAAA;EfwhDH;AezhDC;EACE,qBAAA;Ef2hDH;Ae5hDC;EACE,YAAA;Ef8hDH;Ae/hDC;EACE,qBAAA;EfiiDH;AeliDC;EACE,qBAAA;EfoiDH;AeriDC;EACE,YAAA;EfuiDH;AexiDC;EACE,qBAAA;Ef0iDH;Ae3iDC;EACE,qBAAA;Ef6iDH;Ae9iDC;EACE,YAAA;EfgjDH;AejjDC;EACE,qBAAA;EfmjDH;AepjDC;EACE,oBAAA;EfsjDH;AexiDC;EACE,aAAA;Ef0iDH;Ae3iDC;EACE,qBAAA;Ef6iDH;Ae9iDC;EACE,qBAAA;EfgjDH;AejjDC;EACE,YAAA;EfmjDH;AepjDC;EACE,qBAAA;EfsjDH;AevjDC;EACE,qBAAA;EfyjDH;Ae1jDC;EACE,YAAA;Ef4jDH;Ae7jDC;EACE,qBAAA;Ef+jDH;AehkDC;EACE,qBAAA;EfkkDH;AenkDC;EACE,YAAA;EfqkDH;AetkDC;EACE,qBAAA;EfwkDH;AezkDC;EACE,oBAAA;Ef2kDH;AevkDC;EACE,aAAA;EfykDH;AezlDC;EACE,YAAA;Ef2lDH;Ae5lDC;EACE,oBAAA;Ef8lDH;Ae/lDC;EACE,oBAAA;EfimDH;AelmDC;EACE,WAAA;EfomDH;AermDC;EACE,oBAAA;EfumDH;AexmDC;EACE,oBAAA;Ef0mDH;Ae3mDC;EACE,WAAA;Ef6mDH;Ae9mDC;EACE,oBAAA;EfgnDH;AejnDC;EACE,oBAAA;EfmnDH;AepnDC;EACE,WAAA;EfsnDH;AevnDC;EACE,oBAAA;EfynDH;Ae1nDC;EACE,mBAAA;Ef4nDH;AexnDC;EACE,YAAA;Ef0nDH;Ae5mDC;EACE,mBAAA;Ef8mDH;Ae/mDC;EACE,2BAAA;EfinDH;AelnDC;EACE,2BAAA;EfonDH;AernDC;EACE,kBAAA;EfunDH;AexnDC;EACE,2BAAA;Ef0nDH;Ae3nDC;EACE,2BAAA;Ef6nDH;Ae9nDC;EACE,kBAAA;EfgoDH;AejoDC;EACE,2BAAA;EfmoDH;AepoDC;EACE,2BAAA;EfsoDH;AevoDC;EACE,kBAAA;EfyoDH;Ae1oDC;EACE,2BAAA;Ef4oDH;Ae7oDC;EACE,0BAAA;Ef+oDH;AehpDC;EACE,iBAAA;EfkpDH;AalpDD;EElCI;IACE,aAAA;IfurDH;EehrDD;IACE,aAAA;IfkrDD;EenrDD;IACE,qBAAA;IfqrDD;EetrDD;IACE,qBAAA;IfwrDD;EezrDD;IACE,YAAA;If2rDD;Ee5rDD;IACE,qBAAA;If8rDD;Ee/rDD;IACE,qBAAA;IfisDD;EelsDD;IACE,YAAA;IfosDD;EersDD;IACE,qBAAA;IfusDD;EexsDD;IACE,qBAAA;If0sDD;Ee3sDD;IACE,YAAA;If6sDD;Ee9sDD;IACE,qBAAA;IfgtDD;EejtDD;IACE,oBAAA;IfmtDD;EersDD;IACE,aAAA;IfusDD;EexsDD;IACE,qBAAA;If0sDD;Ee3sDD;IACE,qBAAA;If6sDD;Ee9sDD;IACE,YAAA;IfgtDD;EejtDD;IACE,qBAAA;IfmtDD;EeptDD;IACE,qBAAA;IfstDD;EevtDD;IACE,YAAA;IfytDD;Ee1tDD;IACE,qBAAA;If4tDD;Ee7tDD;IACE,qBAAA;If+tDD;EehuDD;IACE,YAAA;IfkuDD;EenuDD;IACE,qBAAA;IfquDD;EetuDD;IACE,oBAAA;IfwuDD;EepuDD;IACE,aAAA;IfsuDD;EetvDD;IACE,YAAA;IfwvDD;EezvDD;IACE,oBAAA;If2vDD;Ee5vDD;IACE,oBAAA;If8vDD;Ee/vDD;IACE,WAAA;IfiwDD;EelwDD;IACE,oBAAA;IfowDD;EerwDD;IACE,oBAAA;IfuwDD;EexwDD;IACE,WAAA;If0wDD;Ee3wDD;IACE,oBAAA;If6wDD;Ee9wDD;IACE,oBAAA;IfgxDD;EejxDD;IACE,WAAA;IfmxDD;EepxDD;IACE,oBAAA;IfsxDD;EevxDD;IACE,mBAAA;IfyxDD;EerxDD;IACE,YAAA;IfuxDD;EezwDD;IACE,mBAAA;If2wDD;Ee5wDD;IACE,2BAAA;If8wDD;Ee/wDD;IACE,2BAAA;IfixDD;EelxDD;IACE,kBAAA;IfoxDD;EerxDD;IACE,2BAAA;IfuxDD;EexxDD;IACE,2BAAA;If0xDD;Ee3xDD;IACE,kBAAA;If6xDD;Ee9xDD;IACE,2BAAA;IfgyDD;EejyDD;IACE,2BAAA;IfmyDD;EepyDD;IACE,kBAAA;IfsyDD;EevyDD;IACE,2BAAA;IfyyDD;Ee1yDD;IACE,0BAAA;If4yDD;Ee7yDD;IACE,iBAAA;If+yDD;EACF;AavyDD;EE3CI;IACE,aAAA;Ifq1DH;Ee90DD;IACE,aAAA;Ifg1DD;Eej1DD;IACE,qBAAA;Ifm1DD;Eep1DD;IACE,qBAAA;Ifs1DD;Eev1DD;IACE,YAAA;Ify1DD;Ee11DD;IACE,qBAAA;If41DD;Ee71DD;IACE,qBAAA;If+1DD;Eeh2DD;IACE,YAAA;Ifk2DD;Een2DD;IACE,qBAAA;Ifq2DD;Eet2DD;IACE,qBAAA;Ifw2DD;Eez2DD;IACE,YAAA;If22DD;Ee52DD;IACE,qBAAA;If82DD;Ee/2DD;IACE,oBAAA;Ifi3DD;Een2DD;IACE,aAAA;Ifq2DD;Eet2DD;IACE,qBAAA;Ifw2DD;Eez2DD;IACE,qBAAA;If22DD;Ee52DD;IACE,YAAA;If82DD;Ee/2DD;IACE,qBAAA;Ifi3DD;Eel3DD;IACE,qBAAA;Ifo3DD;Eer3DD;IACE,YAAA;Ifu3DD;Eex3DD;IACE,qBAAA;If03DD;Ee33DD;IACE,qBAAA;If63DD;Ee93DD;IACE,YAAA;Ifg4DD;Eej4DD;IACE,qBAAA;Ifm4DD;Eep4DD;IACE,oBAAA;Ifs4DD;Eel4DD;IACE,aAAA;Ifo4DD;Eep5DD;IACE,YAAA;Ifs5DD;Eev5DD;IACE,oBAAA;Ify5DD;Ee15DD;IACE,oBAAA;If45DD;Ee75DD;IACE,WAAA;If+5DD;Eeh6DD;IACE,oBAAA;Ifk6DD;Een6DD;IACE,oBAAA;Ifq6DD;Eet6DD;IACE,WAAA;Ifw6DD;Eez6DD;IACE,oBAAA;If26DD;Ee56DD;IACE,oBAAA;If86DD;Ee/6DD;IACE,WAAA;Ifi7DD;Eel7DD;IACE,oBAAA;Ifo7DD;Eer7DD;IACE,mBAAA;Ifu7DD;Een7DD;IACE,YAAA;Ifq7DD;Eev6DD;IACE,mBAAA;Ify6DD;Ee16DD;IACE,2BAAA;If46DD;Ee76DD;IACE,2BAAA;If+6DD;Eeh7DD;IACE,kBAAA;Ifk7DD;Een7DD;IACE,2BAAA;Ifq7DD;Eet7DD;IACE,2BAAA;Ifw7DD;Eez7DD;IACE,kBAAA;If27DD;Ee57DD;IACE,2BAAA;If87DD;Ee/7DD;IACE,2BAAA;Ifi8DD;Eel8DD;IACE,kBAAA;Ifo8DD;Eer8DD;IACE,2BAAA;Ifu8DD;Eex8DD;IACE,0BAAA;If08DD;Ee38DD;IACE,iBAAA;If68DD;EACF;Aal8DD;EE9CI;IACE,aAAA;Ifm/DH;Ee5+DD;IACE,aAAA;If8+DD;Ee/+DD;IACE,qBAAA;Ifi/DD;Eel/DD;IACE,qBAAA;Ifo/DD;Eer/DD;IACE,YAAA;Ifu/DD;Eex/DD;IACE,qBAAA;If0/DD;Ee3/DD;IACE,qBAAA;If6/DD;Ee9/DD;IACE,YAAA;IfggED;EejgED;IACE,qBAAA;IfmgED;EepgED;IACE,qBAAA;IfsgED;EevgED;IACE,YAAA;IfygED;Ee1gED;IACE,qBAAA;If4gED;Ee7gED;IACE,oBAAA;If+gED;EejgED;IACE,aAAA;IfmgED;EepgED;IACE,qBAAA;IfsgED;EevgED;IACE,qBAAA;IfygED;Ee1gED;IACE,YAAA;If4gED;Ee7gED;IACE,qBAAA;If+gED;EehhED;IACE,qBAAA;IfkhED;EenhED;IACE,YAAA;IfqhED;EethED;IACE,qBAAA;IfwhED;EezhED;IACE,qBAAA;If2hED;Ee5hED;IACE,YAAA;If8hED;Ee/hED;IACE,qBAAA;IfiiED;EeliED;IACE,oBAAA;IfoiED;EehiED;IACE,aAAA;IfkiED;EeljED;IACE,YAAA;IfojED;EerjED;IACE,oBAAA;IfujED;EexjED;IACE,oBAAA;If0jED;Ee3jED;IACE,WAAA;If6jED;Ee9jED;IACE,oBAAA;IfgkED;EejkED;IACE,oBAAA;IfmkED;EepkED;IACE,WAAA;IfskED;EevkED;IACE,oBAAA;IfykED;Ee1kED;IACE,oBAAA;If4kED;Ee7kED;IACE,WAAA;If+kED;EehlED;IACE,oBAAA;IfklED;EenlED;IACE,mBAAA;IfqlED;EejlED;IACE,YAAA;IfmlED;EerkED;IACE,mBAAA;IfukED;EexkED;IACE,2BAAA;If0kED;Ee3kED;IACE,2BAAA;If6kED;Ee9kED;IACE,kBAAA;IfglED;EejlED;IACE,2BAAA;IfmlED;EeplED;IACE,2BAAA;IfslED;EevlED;IACE,kBAAA;IfylED;Ee1lED;IACE,2BAAA;If4lED;Ee7lED;IACE,2BAAA;If+lED;EehmED;IACE,kBAAA;IfkmED;EenmED;IACE,2BAAA;IfqmED;EetmED;IACE,0BAAA;IfwmED;EezmED;IACE,iBAAA;If2mED;EACF;AgB/qED;EACE,+BAAA;EhBirED;AgB/qED;EACE,kBAAA;EACA,qBAAA;EACA,gBAAA;EACA,kBAAA;EhBirED;AgB/qED;EACE,kBAAA;EhBirED;AgB3qED;EACE,aAAA;EACA,iBAAA;EACA,qBAAA;EhB6qED;AgBhrED;;;;;;EAWQ,cAAA;EACA,yBAAA;EACA,qBAAA;EACA,+BAAA;EhB6qEP;AgB3rED;EAoBI,wBAAA;EACA,kCAAA;EhB0qEH;AgB/rED;;;;;;EA8BQ,eAAA;EhByqEP;AgBvsED;EAoCI,+BAAA;EhBsqEH;AgB1sED;EAyCI,2BAAA;EhBoqEH;AgB7pED;;;;;;EAOQ,cAAA;EhB8pEP;AgBnpED;EACE,2BAAA;EhBqpED;AgBtpED;;;;;;EAQQ,2BAAA;EhBspEP;AgB9pED;;EAeM,0BAAA;EhBmpEL;AgBzoED;EAEI,2BAAA;EhB0oEH;AgBjoED;EAEI,2BAAA;EhBkoEH;AgBznED;EACE,kBAAA;EACA,aAAA;EACA,uBAAA;EhB2nED;AgBtnEG;;EACE,kBAAA;EACA,aAAA;EACA,qBAAA;EhBynEL;AiBrwEC;;;;;;;;;;;;EAOI,2BAAA;EjB4wEL;AiBtwEC;;;;;EAMI,2BAAA;EjBuwEL;AiB1xEC;;;;;;;;;;;;EAOI,2BAAA;EjBiyEL;AiB3xEC;;;;;EAMI,2BAAA;EjB4xEL;AiB/yEC;;;;;;;;;;;;EAOI,2BAAA;EjBszEL;AiBhzEC;;;;;EAMI,2BAAA;EjBizEL;AiBp0EC;;;;;;;;;;;;EAOI,2BAAA;EjB20EL;AiBr0EC;;;;;EAMI,2BAAA;EjBs0EL;AiBz1EC;;;;;;;;;;;;EAOI,2BAAA;EjBg2EL;AiB11EC;;;;;EAMI,2BAAA;EjB21EL;AgBzsED;EACE,kBAAA;EACA,mBAAA;EhB2sED;AgB9oED;EAAA;IA1DI,aAAA;IACA,qBAAA;IACA,oBAAA;IACA,8CAAA;IACA,2BAAA;IhB4sED;EgBtpEH;IAlDM,kBAAA;IhB2sEH;EgBzpEH;;;;;;IAzCY,qBAAA;IhB0sET;EgBjqEH;IAjCM,WAAA;IhBqsEH;EgBpqEH;;;;;;IAxBY,gBAAA;IhBosET;EgB5qEH;;;;;;IApBY,iBAAA;IhBwsET;EgBprEH;;;;IAPY,kBAAA;IhBisET;EACF;AkB35ED;EACE,YAAA;EACA,WAAA;EACA,WAAA;EAIA,cAAA;ElB05ED;AkBv5ED;EACE,gBAAA;EACA,aAAA;EACA,YAAA;EACA,qBAAA;EACA,iBAAA;EACA,sBAAA;EACA,gBAAA;EACA,WAAA;EACA,kCAAA;ElBy5ED;AkBt5ED;EACE,uBAAA;EACA,iBAAA;EACA,oBAAA;EACA,mBAAA;ElBw5ED;AkB74ED;Eb4BE,gCAAA;EACG,6BAAA;EACK,wBAAA;ELo3ET;AkB74ED;;EAEE,iBAAA;EACA,oBAAA;EACA,qBAAA;ElB+4ED;AkB34ED;EACE,gBAAA;ElB64ED;AkBz4ED;EACE,gBAAA;EACA,aAAA;ElB24ED;AkBv4ED;;EAEE,cAAA;ElBy4ED;AkBr4ED;;;EZxEE,sBAAA;EAEA,4CAAA;EACA,sBAAA;ENi9ED;AkBr4ED;EACE,gBAAA;EACA,kBAAA;EACA,iBAAA;EACA,yBAAA;EACA,gBAAA;ElBu4ED;AkB72ED;EACE,gBAAA;EACA,aAAA;EACA,cAAA;EACA,mBAAA;EACA,iBAAA;EACA,yBAAA;EACA,gBAAA;EACA,2BAAA;EACA,wBAAA;EACA,2BAAA;EACA,oBAAA;EbzDA,0DAAA;EACQ,kDAAA;EAyHR,wFAAA;EACK,2EAAA;EACG,wEAAA;ELizET;AmBz7EC;EACE,uBAAA;EACA,YAAA;EdUF,wFAAA;EACQ,gFAAA;ELk7ET;AKj5EC;EACE,gBAAA;EACA,YAAA;ELm5EH;AKj5EC;EAA0B,gBAAA;ELo5E3B;AKn5EC;EAAgC,gBAAA;ELs5EjC;AkBr3EC;;;EAGE,2BAAA;EACA,YAAA;ElBu3EH;AkBp3EC;;EAEE,qBAAA;ElBs3EH;AkBl3EC;EACE,cAAA;ElBo3EH;AkBx2ED;EACE,0BAAA;ElB02ED;AkBt0ED;EAxBE;;;;IAIE,mBAAA;IlBi2ED;EkB/1EC;;;;;;;;IAEE,mBAAA;IlBu2EH;EkBp2EC;;;;;;;;IAEE,mBAAA;IlB42EH;EACF;AkBl2ED;EACE,qBAAA;ElBo2ED;AkB51ED;;EAEE,oBAAA;EACA,gBAAA;EACA,kBAAA;EACA,qBAAA;ElB81ED;AkBn2ED;;EAQI,kBAAA;EACA,oBAAA;EACA,kBAAA;EACA,qBAAA;EACA,iBAAA;ElB+1EH;AkB51ED;;;;EAIE,oBAAA;EACA,oBAAA;EACA,oBAAA;ElB81ED;AkB31ED;;EAEE,kBAAA;ElB61ED;AkBz1ED;;EAEE,oBAAA;EACA,uBAAA;EACA,oBAAA;EACA,kBAAA;EACA,wBAAA;EACA,qBAAA;EACA,iBAAA;ElB21ED;AkBz1ED;;EAEE,eAAA;EACA,mBAAA;ElB21ED;AkBl1EC;;;;;;EAGE,qBAAA;ElBu1EH;AkBj1EC;;;;EAEE,qBAAA;ElBq1EH;AkB/0EC;;;;EAGI,qBAAA;ElBk1EL;AkBv0ED;EAEE,kBAAA;EACA,qBAAA;EAEA,kBAAA;EACA,kBAAA;ElBu0ED;AkBr0EC;;EAEE,iBAAA;EACA,kBAAA;ElBu0EH;AkB1zED;EC1PE,cAAA;EACA,mBAAA;EACA,iBAAA;EACA,kBAAA;EACA,oBAAA;EnBujFD;AmBrjFC;EACE,cAAA;EACA,mBAAA;EnBujFH;AmBpjFC;;EAEE,cAAA;EnBsjFH;AkBt0ED;EC7PE,cAAA;EACA,mBAAA;EACA,iBAAA;EACA,kBAAA;EACA,oBAAA;EnBskFD;AmBpkFC;EACE,cAAA;EACA,mBAAA;EnBskFH;AmBnkFC;;EAEE,cAAA;EnBqkFH;AkBr1ED;EAKI,cAAA;EACA,mBAAA;EACA,iBAAA;EACA,kBAAA;EACA,kBAAA;ElBm1EH;AkB/0ED;EC1QE,cAAA;EACA,oBAAA;EACA,iBAAA;EACA,wBAAA;EACA,oBAAA;EnB4lFD;AmB1lFC;EACE,cAAA;EACA,mBAAA;EnB4lFH;AmBzlFC;;EAEE,cAAA;EnB2lFH;AkB31ED;EC7QE,cAAA;EACA,oBAAA;EACA,iBAAA;EACA,wBAAA;EACA,oBAAA;EnB2mFD;AmBzmFC;EACE,cAAA;EACA,mBAAA;EnB2mFH;AmBxmFC;;EAEE,cAAA;EnB0mFH;AkB12ED;EAKI,cAAA;EACA,oBAAA;EACA,iBAAA;EACA,wBAAA;EACA,kBAAA;ElBw2EH;AkB/1ED;EAEE,oBAAA;ElBg2ED;AkBl2ED;EAMI,uBAAA;ElB+1EH;AkB31ED;EACE,oBAAA;EACA,QAAA;EACA,UAAA;EACA,YAAA;EACA,gBAAA;EACA,aAAA;EACA,cAAA;EACA,mBAAA;EACA,oBAAA;EACA,sBAAA;ElB61ED;AkB31ED;EACE,aAAA;EACA,cAAA;EACA,mBAAA;ElB61ED;AkB31ED;EACE,aAAA;EACA,cAAA;EACA,mBAAA;ElB61ED;AkBz1ED;;;;;;;;;;ECrXI,gBAAA;EnB0tFH;AkBr2ED;ECjXI,uBAAA;Ed+CF,0DAAA;EACQ,kDAAA;EL2qFT;AmBztFG;EACE,uBAAA;Ed4CJ,2EAAA;EACQ,mEAAA;ELgrFT;AkB/2ED;ECvWI,gBAAA;EACA,uBAAA;EACA,2BAAA;EnBytFH;AkBp3ED;ECjWI,gBAAA;EnBwtFH;AkBp3ED;;;;;;;;;;ECxXI,gBAAA;EnBwvFH;AkBh4ED;ECpXI,uBAAA;Ed+CF,0DAAA;EACQ,kDAAA;ELysFT;AmBvvFG;EACE,uBAAA;Ed4CJ,2EAAA;EACQ,mEAAA;EL8sFT;AkB14ED;EC1WI,gBAAA;EACA,uBAAA;EACA,2BAAA;EnBuvFH;AkB/4ED;ECpWI,gBAAA;EnBsvFH;AkB/4ED;;;;;;;;;;EC3XI,gBAAA;EnBsxFH;AkB35ED;ECvXI,uBAAA;Ed+CF,0DAAA;EACQ,kDAAA;ELuuFT;AmBrxFG;EACE,uBAAA;Ed4CJ,2EAAA;EACQ,mEAAA;EL4uFT;AkBr6ED;EC7WI,gBAAA;EACA,uBAAA;EACA,2BAAA;EnBqxFH;AkB16ED;ECvWI,gBAAA;EnBoxFH;AkBt6EC;EACG,WAAA;ElBw6EJ;AkBt6EC;EACG,QAAA;ElBw6EJ;AkB95ED;EACE,gBAAA;EACA,iBAAA;EACA,qBAAA;EACA,gBAAA;ElBg6ED;AkB70ED;EAAA;IA9DM,uBAAA;IACA,kBAAA;IACA,wBAAA;IlB+4EH;EkBn1EH;IAvDM,uBAAA;IACA,aAAA;IACA,wBAAA;IlB64EH;EkBx1EH;IAhDM,uBAAA;IlB24EH;EkB31EH;IA5CM,uBAAA;IACA,wBAAA;IlB04EH;EkB/1EH;;;IAtCQ,aAAA;IlB04EL;EkBp2EH;IAhCM,aAAA;IlBu4EH;EkBv2EH;IA5BM,kBAAA;IACA,wBAAA;IlBs4EH;EkB32EH;;IApBM,uBAAA;IACA,eAAA;IACA,kBAAA;IACA,wBAAA;IlBm4EH;EkBl3EH;;IAdQ,iBAAA;IlBo4EL;EkBt3EH;;IATM,oBAAA;IACA,gBAAA;IlBm4EH;EkB33EH;IAHM,QAAA;IlBi4EH;EACF;AkBv3ED;;;;EASI,eAAA;EACA,kBAAA;EACA,kBAAA;ElBo3EH;AkB/3ED;;EAiBI,kBAAA;ElBk3EH;AkBn4ED;EJjfE,oBAAA;EACA,qBAAA;Edu3FD;AkBh2EC;EAAA;IAVI,mBAAA;IACA,kBAAA;IACA,kBAAA;IlB82EH;EACF;AkB94ED;EAwCI,aAAA;ElBy2EH;AkB51EC;EAAA;IAHM,0BAAA;IlBm2EL;EACF;AkB11EC;EAAA;IAHM,kBAAA;IlBi2EL;EACF;AoBn5FD;EACE,uBAAA;EACA,kBAAA;EACA,qBAAA;EACA,oBAAA;EACA,wBAAA;EACA,gCAAA;MAAA,4BAAA;EACA,iBAAA;EACA,wBAAA;EACA,+BAAA;EACA,qBAAA;EC6BA,mBAAA;EACA,iBAAA;EACA,yBAAA;EACA,oBAAA;EhB4KA,2BAAA;EACG,wBAAA;EACC,uBAAA;EACI,mBAAA;EL8sFT;AoBt5FG;;;;;;EdrBF,sBAAA;EAEA,4CAAA;EACA,sBAAA;ENk7FD;AoB15FC;;;EAGE,gBAAA;EACA,uBAAA;EpB45FH;AoBz5FC;;EAEE,YAAA;EACA,wBAAA;Ef2BF,0DAAA;EACQ,kDAAA;ELi4FT;AoBz5FC;;;EAGE,qBAAA;EACA,sBAAA;EE9CF,eAAA;EAGA,2BAAA;EjB8DA,0BAAA;EACQ,kBAAA;EL24FT;AoBr5FD;ECrDE,gBAAA;EACA,2BAAA;EACA,uBAAA;ErB68FD;AqB38FC;;;;;;EAME,gBAAA;EACA,2BAAA;EACI,uBAAA;ErB68FP;AqB38FC;;;EAGE,wBAAA;ErB68FH;AqBx8FG;;;;;;;;;;;;;;;;;;EAME,2BAAA;EACI,uBAAA;ErBs9FT;AoB97FD;ECnBI,gBAAA;EACA,2BAAA;ErBo9FH;AoB/7FD;ECxDE,gBAAA;EACA,2BAAA;EACA,uBAAA;ErB0/FD;AqBx/FC;;;;;;EAME,gBAAA;EACA,2BAAA;EACI,uBAAA;ErB0/FP;AqBx/FC;;;EAGE,wBAAA;ErB0/FH;AqBr/FG;;;;;;;;;;;;;;;;;;EAME,2BAAA;EACI,uBAAA;ErBmgGT;AoBx+FD;ECtBI,gBAAA;EACA,2BAAA;ErBigGH;AoBx+FD;EC5DE,gBAAA;EACA,2BAAA;EACA,uBAAA;ErBuiGD;AqBriGC;;;;;;EAME,gBAAA;EACA,2BAAA;EACI,uBAAA;ErBuiGP;AqBriGC;;;EAGE,wBAAA;ErBuiGH;AqBliGG;;;;;;;;;;;;;;;;;;EAME,2BAAA;EACI,uBAAA;ErBgjGT;AoBjhGD;EC1BI,gBAAA;EACA,2BAAA;ErB8iGH;AoBjhGD;EChEE,gBAAA;EACA,2BAAA;EACA,uBAAA;ErBolGD;AqBllGC;;;;;;EAME,gBAAA;EACA,2BAAA;EACI,uBAAA;ErBolGP;AqBllGC;;;EAGE,wBAAA;ErBolGH;AqB/kGG;;;;;;;;;;;;;;;;;;EAME,2BAAA;EACI,uBAAA;ErB6lGT;AoB1jGD;EC9BI,gBAAA;EACA,2BAAA;ErB2lGH;AoB1jGD;ECpEE,gBAAA;EACA,2BAAA;EACA,uBAAA;ErBioGD;AqB/nGC;;;;;;EAME,gBAAA;EACA,2BAAA;EACI,uBAAA;ErBioGP;AqB/nGC;;;EAGE,wBAAA;ErBioGH;AqB5nGG;;;;;;;;;;;;;;;;;;EAME,2BAAA;EACI,uBAAA;ErB0oGT;AoBnmGD;EClCI,gBAAA;EACA,2BAAA;ErBwoGH;AoBnmGD;ECxEE,gBAAA;EACA,2BAAA;EACA,uBAAA;ErB8qGD;AqB5qGC;;;;;;EAME,gBAAA;EACA,2BAAA;EACI,uBAAA;ErB8qGP;AqB5qGC;;;EAGE,wBAAA;ErB8qGH;AqBzqGG;;;;;;;;;;;;;;;;;;EAME,2BAAA;EACI,uBAAA;ErBurGT;AoB5oGD;ECtCI,gBAAA;EACA,2BAAA;ErBqrGH;AoBvoGD;EACE,gBAAA;EACA,qBAAA;EACA,kBAAA;EpByoGD;AoBvoGC;;;;;EAKE,+BAAA;Ef7BF,0BAAA;EACQ,kBAAA;ELuqGT;AoBxoGC;;;;EAIE,2BAAA;EpB0oGH;AoBxoGC;;EAEE,gBAAA;EACA,4BAAA;EACA,+BAAA;EpB0oGH;AoBtoGG;;;;EAEE,gBAAA;EACA,uBAAA;EpB0oGL;AoBjoGD;;EC/EE,oBAAA;EACA,iBAAA;EACA,wBAAA;EACA,oBAAA;ErBotGD;AoBpoGD;;ECnFE,mBAAA;EACA,iBAAA;EACA,kBAAA;EACA,oBAAA;ErB2tGD;AoBvoGD;;ECvFE,kBAAA;EACA,iBAAA;EACA,kBAAA;EACA,oBAAA;ErBkuGD;AoBtoGD;EACE,gBAAA;EACA,aAAA;EpBwoGD;AoBpoGD;EACE,iBAAA;EpBsoGD;AoB/nGC;;;EACE,aAAA;EpBmoGH;AuBvxGD;EACE,YAAA;ElBoLA,0CAAA;EACK,qCAAA;EACG,kCAAA;ELsmGT;AuB1xGC;EACE,YAAA;EvB4xGH;AuBxxGD;EACE,eAAA;EvB0xGD;AuBxxGC;EAAY,gBAAA;EvB2xGb;AuB1xGC;EAAY,oBAAA;EvB6xGb;AuB5xGC;EAAY,0BAAA;EvB+xGb;AuB5xGD;EACE,oBAAA;EACA,WAAA;EACA,kBAAA;ElBuKA,iDAAA;EACQ,4CAAA;KAAA,yCAAA;EAOR,oCAAA;EACQ,+BAAA;KAAA,4BAAA;EAGR,0CAAA;EACQ,qCAAA;KAAA,kCAAA;ELgnGT;AwB1zGD;EACE,uBAAA;EACA,UAAA;EACA,WAAA;EACA,kBAAA;EACA,wBAAA;EACA,wBAAA;EACA,qCAAA;EACA,oCAAA;ExB4zGD;AwBxzGD;;EAEE,oBAAA;ExB0zGD;AwBtzGD;EACE,YAAA;ExBwzGD;AwBpzGD;EACE,oBAAA;EACA,WAAA;EACA,SAAA;EACA,eAAA;EACA,eAAA;EACA,aAAA;EACA,kBAAA;EACA,gBAAA;EACA,iBAAA;EACA,kBAAA;EACA,iBAAA;EACA,kBAAA;EACA,2BAAA;EACA,2BAAA;EACA,uCAAA;EACA,oBAAA;EnBuBA,qDAAA;EACQ,6CAAA;EmBtBR,sCAAA;UAAA,8BAAA;ExBuzGD;AwBlzGC;EACE,UAAA;EACA,YAAA;ExBozGH;AwB70GD;ECxBE,aAAA;EACA,eAAA;EACA,kBAAA;EACA,2BAAA;EzBw2GD;AwBn1GD;EAmCI,gBAAA;EACA,mBAAA;EACA,aAAA;EACA,qBAAA;EACA,yBAAA;EACA,gBAAA;EACA,qBAAA;ExBmzGH;AwB7yGC;;EAEE,uBAAA;EACA,gBAAA;EACA,2BAAA;ExB+yGH;AwBzyGC;;;EAGE,gBAAA;EACA,uBAAA;EACA,YAAA;EACA,2BAAA;ExB2yGH;AwBlyGC;;;EAGE,gBAAA;ExBoyGH;AwBhyGC;;EAEE,uBAAA;EACA,+BAAA;EACA,wBAAA;EE1GF,qEAAA;EF4GE,qBAAA;ExBkyGH;AwB7xGD;EAGI,gBAAA;ExB6xGH;AwBhyGD;EAQI,YAAA;ExB2xGH;AwBnxGD;EACE,YAAA;EACA,UAAA;ExBqxGD;AwB7wGD;EACE,SAAA;EACA,aAAA;ExB+wGD;AwB3wGD;EACE,gBAAA;EACA,mBAAA;EACA,iBAAA;EACA,yBAAA;EACA,gBAAA;EACA,qBAAA;ExB6wGD;AwBzwGD;EACE,iBAAA;EACA,SAAA;EACA,UAAA;EACA,WAAA;EACA,QAAA;EACA,cAAA;ExB2wGD;AwBvwGD;EACE,UAAA;EACA,YAAA;ExBywGD;AwBjwGD;;EAII,eAAA;EACA,0BAAA;EACA,aAAA;ExBiwGH;AwBvwGD;;EAUI,WAAA;EACA,cAAA;EACA,oBAAA;ExBiwGH;AwB5uGD;EAXE;IAnEA,YAAA;IACA,UAAA;IxB8zGC;EwB5vGD;IAzDA,SAAA;IACA,aAAA;IxBwzGC;EACF;A2Bv8GD;;EAEE,oBAAA;EACA,uBAAA;EACA,wBAAA;E3By8GD;A2B78GD;;EAMI,oBAAA;EACA,aAAA;E3B28GH;A2Bz8GG;;;;;;;;EAIE,YAAA;E3B+8GL;A2Bz8GD;;;;EAKI,mBAAA;E3B08GH;A2Br8GD;EACE,mBAAA;E3Bu8GD;A2Bx8GD;;EAMI,aAAA;E3Bs8GH;A2B58GD;;;EAWI,kBAAA;E3Bs8GH;A2Bl8GD;EACE,kBAAA;E3Bo8GD;A2Bh8GD;EACE,gBAAA;E3Bk8GD;A2Bj8GC;ECjDA,+BAAA;EACG,4BAAA;E5Bq/GJ;A2Bh8GD;;EC9CE,8BAAA;EACG,2BAAA;E5Bk/GJ;A2B/7GD;EACE,aAAA;E3Bi8GD;A2B/7GD;EACE,kBAAA;E3Bi8GD;A2B/7GD;;EClEE,+BAAA;EACG,4BAAA;E5BqgHJ;A2B97GD;EChEE,8BAAA;EACG,2BAAA;E5BigHJ;A2B77GD;;EAEE,YAAA;E3B+7GD;A2B96GD;EACE,mBAAA;EACA,oBAAA;E3Bg7GD;A2B96GD;EACE,oBAAA;EACA,qBAAA;E3Bg7GD;A2B36GD;EtB9CE,0DAAA;EACQ,kDAAA;EL49GT;A2B36GC;EtBlDA,0BAAA;EACQ,kBAAA;ELg+GT;A2Bx6GD;EACE,gBAAA;E3B06GD;A2Bv6GD;EACE,yBAAA;EACA,wBAAA;E3By6GD;A2Bt6GD;EACE,yBAAA;E3Bw6GD;A2Bj6GD;;;EAII,gBAAA;EACA,aAAA;EACA,aAAA;EACA,iBAAA;E3Bk6GH;A2Bz6GD;EAcM,aAAA;E3B85GL;A2B56GD;;;;EAsBI,kBAAA;EACA,gBAAA;E3B45GH;A2Bv5GC;EACE,kBAAA;E3By5GH;A2Bv5GC;EACE,8BAAA;ECnKF,+BAAA;EACC,8BAAA;E5B6jHF;A2Bx5GC;EACE,gCAAA;EC/KF,4BAAA;EACC,2BAAA;E5B0kHF;A2Bx5GD;EACE,kBAAA;E3B05GD;A2Bx5GD;;EC9KE,+BAAA;EACC,8BAAA;E5B0kHF;A2Bv5GD;EC5LE,4BAAA;EACC,2BAAA;E5BslHF;A2Bn5GD;EACE,gBAAA;EACA,aAAA;EACA,qBAAA;EACA,2BAAA;E3Bq5GD;A2Bz5GD;;EAOI,aAAA;EACA,qBAAA;EACA,WAAA;E3Bs5GH;A2B/5GD;EAYI,aAAA;E3Bs5GH;A2Bl6GD;EAgBI,YAAA;E3Bq5GH;A2Bp4GD;;;;EAKM,oBAAA;EACA,wBAAA;EACA,sBAAA;E3Bq4GL;A6B9mHD;EACE,oBAAA;EACA,gBAAA;EACA,2BAAA;E7BgnHD;A6B7mHC;EACE,aAAA;EACA,iBAAA;EACA,kBAAA;E7B+mHH;A6BxnHD;EAeI,oBAAA;EACA,YAAA;EAKA,aAAA;EAEA,aAAA;EACA,kBAAA;E7BumHH;A6B9lHD;;;EV8BE,cAAA;EACA,oBAAA;EACA,iBAAA;EACA,wBAAA;EACA,oBAAA;EnBqkHD;AmBnkHC;;;EACE,cAAA;EACA,mBAAA;EnBukHH;AmBpkHC;;;;;;EAEE,cAAA;EnB0kHH;A6BhnHD;;;EVyBE,cAAA;EACA,mBAAA;EACA,iBAAA;EACA,kBAAA;EACA,oBAAA;EnB4lHD;AmB1lHC;;;EACE,cAAA;EACA,mBAAA;EnB8lHH;AmB3lHC;;;;;;EAEE,cAAA;EnBimHH;A6B9nHD;;;EAGE,qBAAA;E7BgoHD;A6B9nHC;;;EACE,kBAAA;E7BkoHH;A6B9nHD;;EAEE,WAAA;EACA,qBAAA;EACA,wBAAA;E7BgoHD;A6B3nHD;EACE,mBAAA;EACA,iBAAA;EACA,qBAAA;EACA,gBAAA;EACA,gBAAA;EACA,oBAAA;EACA,2BAAA;EACA,2BAAA;EACA,oBAAA;E7B6nHD;A6B1nHC;EACE,mBAAA;EACA,iBAAA;EACA,oBAAA;E7B4nHH;A6B1nHC;EACE,oBAAA;EACA,iBAAA;EACA,oBAAA;E7B4nHH;A6BhpHD;;EA0BI,eAAA;E7B0nHH;A6BrnHD;;;;;;;EDhGE,+BAAA;EACG,4BAAA;E5B8tHJ;A6BtnHD;EACE,iBAAA;E7BwnHD;A6BtnHD;;;;;;;EDpGE,8BAAA;EACG,2BAAA;E5BmuHJ;A6BvnHD;EACE,gBAAA;E7BynHD;A6BpnHD;EACE,oBAAA;EAGA,cAAA;EACA,qBAAA;E7BonHD;A6BznHD;EAUI,oBAAA;E7BknHH;A6B5nHD;EAYM,mBAAA;E7BmnHL;A6BhnHG;;;EAGE,YAAA;E7BknHL;A6B7mHC;;EAGI,oBAAA;E7B8mHL;A6B3mHC;;EAGI,mBAAA;E7B4mHL;A8BtwHD;EACE,kBAAA;EACA,iBAAA;EACA,kBAAA;E9BwwHD;A8B3wHD;EAOI,oBAAA;EACA,gBAAA;E9BuwHH;A8B/wHD;EAWM,oBAAA;EACA,gBAAA;EACA,oBAAA;E9BuwHL;A8BtwHK;;EAEE,uBAAA;EACA,2BAAA;E9BwwHP;A8BnwHG;EACE,gBAAA;E9BqwHL;A8BnwHK;;EAEE,gBAAA;EACA,uBAAA;EACA,+BAAA;EACA,qBAAA;E9BqwHP;A8B9vHG;;;EAGE,2BAAA;EACA,uBAAA;E9BgwHL;A8BzyHD;ELHE,aAAA;EACA,eAAA;EACA,kBAAA;EACA,2BAAA;EzB+yHD;A8B/yHD;EA0DI,iBAAA;E9BwvHH;A8B/uHD;EACE,kCAAA;E9BivHD;A8BlvHD;EAGI,aAAA;EAEA,qBAAA;E9BivHH;A8BtvHD;EASM,mBAAA;EACA,yBAAA;EACA,+BAAA;EACA,4BAAA;E9BgvHL;A8B/uHK;EACE,uCAAA;E9BivHP;A8B3uHK;;;EAGE,gBAAA;EACA,2BAAA;EACA,2BAAA;EACA,kCAAA;EACA,iBAAA;E9B6uHP;A8BxuHC;EAqDA,aAAA;EA8BA,kBAAA;E9BypHD;A8B5uHC;EAwDE,aAAA;E9BurHH;A8B/uHC;EA0DI,oBAAA;EACA,oBAAA;E9BwrHL;A8BnvHC;EAgEE,WAAA;EACA,YAAA;E9BsrHH;A8B1qHD;EAAA;IAPM,qBAAA;IACA,WAAA;I9BqrHH;E8B/qHH;IAJQ,kBAAA;I9BsrHL;EACF;A8BhwHC;EAuFE,iBAAA;EACA,oBAAA;E9B4qHH;A8BpwHC;;;EA8FE,2BAAA;E9B2qHH;A8B7pHD;EAAA;IATM,kCAAA;IACA,4BAAA;I9B0qHH;E8BlqHH;;;IAHM,8BAAA;I9B0qHH;EACF;A8B3wHD;EAEI,aAAA;E9B4wHH;A8B9wHD;EAMM,oBAAA;E9B2wHL;A8BjxHD;EASM,kBAAA;E9B2wHL;A8BtwHK;;;EAGE,gBAAA;EACA,2BAAA;E9BwwHP;A8BhwHD;EAEI,aAAA;E9BiwHH;A8BnwHD;EAIM,iBAAA;EACA,gBAAA;E9BkwHL;A8BtvHD;EACE,aAAA;E9BwvHD;A8BzvHD;EAII,aAAA;E9BwvHH;A8B5vHD;EAMM,oBAAA;EACA,oBAAA;E9ByvHL;A8BhwHD;EAYI,WAAA;EACA,YAAA;E9BuvHH;A8B3uHD;EAAA;IAPM,qBAAA;IACA,WAAA;I9BsvHH;E8BhvHH;IAJQ,kBAAA;I9BuvHL;EACF;A8B/uHD;EACE,kBAAA;E9BivHD;A8BlvHD;EAKI,iBAAA;EACA,oBAAA;E9BgvHH;A8BtvHD;;;EAYI,2BAAA;E9B+uHH;A8BjuHD;EAAA;IATM,kCAAA;IACA,4BAAA;I9B8uHH;E8BtuHH;;;IAHM,8BAAA;I9B8uHH;EACF;A8BruHD;EAEI,eAAA;E9BsuHH;A8BxuHD;EAKI,gBAAA;E9BsuHH;A8B7tHD;EAEE,kBAAA;EF3OA,4BAAA;EACC,2BAAA;E5B08HF;A+Bp8HD;EACE,oBAAA;EACA,kBAAA;EACA,qBAAA;EACA,+BAAA;E/Bs8HD;A+B97HD;EAAA;IAFI,oBAAA;I/Bo8HD;EACF;A+Br7HD;EAAA;IAFI,aAAA;I/B27HD;EACF;A+B76HD;EACE,qBAAA;EACA,qBAAA;EACA,oBAAA;EACA,mCAAA;EACA,4DAAA;UAAA,oDAAA;EAEA,mCAAA;E/B86HD;A+B56HC;EACE,kBAAA;E/B86HH;A+Bl5HD;EAAA;IAxBI,aAAA;IACA,eAAA;IACA,0BAAA;YAAA,kBAAA;I/B86HD;E+B56HC;IACE,2BAAA;IACA,yBAAA;IACA,mBAAA;IACA,8BAAA;I/B86HH;E+B36HC;IACE,qBAAA;I/B66HH;E+Bx6HC;;;IAGE,iBAAA;IACA,kBAAA;I/B06HH;EACF;A+Bt6HD;;EAGI,mBAAA;E/Bu6HH;A+Bl6HC;EAAA;;IAFI,mBAAA;I/By6HH;EACF;A+Bh6HD;;;;EAII,qBAAA;EACA,oBAAA;E/Bk6HH;A+B55HC;EAAA;;;;IAHI,iBAAA;IACA,gBAAA;I/Bs6HH;EACF;A+B15HD;EACE,eAAA;EACA,uBAAA;E/B45HD;A+Bv5HD;EAAA;IAFI,kBAAA;I/B65HD;EACF;A+Bz5HD;;EAEE,iBAAA;EACA,UAAA;EACA,SAAA;EACA,eAAA;E/B25HD;A+Br5HD;EAAA;;IAFI,kBAAA;I/B45HD;EACF;A+B15HD;EACE,QAAA;EACA,uBAAA;E/B45HD;A+B15HD;EACE,WAAA;EACA,kBAAA;EACA,uBAAA;E/B45HD;A+Bt5HD;EACE,aAAA;EACA,oBAAA;EACA,iBAAA;EACA,mBAAA;EACA,cAAA;E/Bw5HD;A+Bt5HC;;EAEE,uBAAA;E/Bw5HH;A+Bj6HD;EAaI,gBAAA;E/Bu5HH;A+B94HD;EALI;;IAEE,oBAAA;I/Bs5HH;EACF;A+B54HD;EACE,oBAAA;EACA,cAAA;EACA,oBAAA;EACA,mBAAA;EC9LA,iBAAA;EACA,oBAAA;ED+LA,+BAAA;EACA,wBAAA;EACA,+BAAA;EACA,oBAAA;E/B+4HD;A+B34HC;EACE,YAAA;E/B64HH;A+B35HD;EAmBI,gBAAA;EACA,aAAA;EACA,aAAA;EACA,oBAAA;E/B24HH;A+Bj6HD;EAyBI,iBAAA;E/B24HH;A+Br4HD;EAAA;IAFI,eAAA;I/B24HD;EACF;A+Bl4HD;EACE,qBAAA;E/Bo4HD;A+Br4HD;EAII,mBAAA;EACA,sBAAA;EACA,mBAAA;E/Bo4HH;A+Bx2HC;EAAA;IAtBI,kBAAA;IACA,aAAA;IACA,aAAA;IACA,eAAA;IACA,+BAAA;IACA,WAAA;IACA,0BAAA;YAAA,kBAAA;I/Bk4HH;E+Bl3HD;;IAbM,4BAAA;I/Bm4HL;E+Bt3HD;IAVM,mBAAA;I/Bm4HL;E+Bl4HK;;IAEE,wBAAA;I/Bo4HP;EACF;A+Bl3HD;EAAA;IAXI,aAAA;IACA,WAAA;I/Bi4HD;E+Bv3HH;IAPM,aAAA;I/Bi4HH;E+B13HH;IALQ,mBAAA;IACA,sBAAA;I/Bk4HL;EACF;A+Bv3HD;EACE,oBAAA;EACA,qBAAA;EACA,oBAAA;EACA,mCAAA;EACA,sCAAA;E1B9NA,8FAAA;EACQ,sFAAA;E2B/DR,iBAAA;EACA,oBAAA;EhCwpID;AkBvqHD;EAAA;IA9DM,uBAAA;IACA,kBAAA;IACA,wBAAA;IlByuHH;EkB7qHH;IAvDM,uBAAA;IACA,aAAA;IACA,wBAAA;IlBuuHH;EkBlrHH;IAhDM,uBAAA;IlBquHH;EkBrrHH;IA5CM,uBAAA;IACA,wBAAA;IlBouHH;EkBzrHH;;;IAtCQ,aAAA;IlBouHL;EkB9rHH;IAhCM,aAAA;IlBiuHH;EkBjsHH;IA5BM,kBAAA;IACA,wBAAA;IlBguHH;EkBrsHH;;IApBM,uBAAA;IACA,eAAA;IACA,kBAAA;IACA,wBAAA;IlB6tHH;EkB5sHH;;IAdQ,iBAAA;IlB8tHL;EkBhtHH;;IATM,oBAAA;IACA,gBAAA;IlB6tHH;EkBrtHH;IAHM,QAAA;IlB2tHH;EACF;A+Bh6HC;EAAA;IANI,oBAAA;I/B06HH;E+Bx6HG;IACE,kBAAA;I/B06HL;EACF;A+Bz5HD;EAAA;IARI,aAAA;IACA,WAAA;IACA,gBAAA;IACA,iBAAA;IACA,gBAAA;IACA,mBAAA;I1BzPF,0BAAA;IACQ,kBAAA;IL+pIP;EACF;A+B/5HD;EACE,eAAA;EHpUA,4BAAA;EACC,2BAAA;E5BsuIF;A+B/5HD;EACE,kBAAA;EHzUA,8BAAA;EACC,6BAAA;EAOD,+BAAA;EACC,8BAAA;E5BquIF;A+B35HD;EChVE,iBAAA;EACA,oBAAA;EhC8uID;A+B55HC;ECnVA,kBAAA;EACA,qBAAA;EhCkvID;A+B75HC;ECtVA,kBAAA;EACA,qBAAA;EhCsvID;A+Bv5HD;EChWE,kBAAA;EACA,qBAAA;EhC0vID;A+Bn5HD;EAAA;IAJI,aAAA;IACA,mBAAA;IACA,oBAAA;I/B25HD;EACF;A+B93HD;EAhBE;IExWA,wBAAA;IjC0vIC;E+Bj5HD;IE5WA,yBAAA;IF8WE,qBAAA;I/Bm5HD;E+Br5HD;IAKI,iBAAA;I/Bm5HH;EACF;A+B14HD;EACE,2BAAA;EACA,uBAAA;E/B44HD;A+B94HD;EAKI,gBAAA;E/B44HH;A+B34HG;;EAEE,gBAAA;EACA,+BAAA;E/B64HL;A+Bt5HD;EAcI,gBAAA;E/B24HH;A+Bz5HD;EAmBM,gBAAA;E/By4HL;A+Bv4HK;;EAEE,gBAAA;EACA,+BAAA;E/By4HP;A+Br4HK;;;EAGE,gBAAA;EACA,2BAAA;E/Bu4HP;A+Bn4HK;;;EAGE,gBAAA;EACA,+BAAA;E/Bq4HP;A+B76HD;EA8CI,uBAAA;E/Bk4HH;A+Bj4HG;;EAEE,2BAAA;E/Bm4HL;A+Bp7HD;EAoDM,2BAAA;E/Bm4HL;A+Bv7HD;;EA0DI,uBAAA;E/Bi4HH;A+B13HK;;;EAGE,2BAAA;EACA,gBAAA;E/B43HP;A+B31HC;EAAA;IAzBQ,gBAAA;I/Bw3HP;E+Bv3HO;;IAEE,gBAAA;IACA,+BAAA;I/By3HT;E+Br3HO;;;IAGE,gBAAA;IACA,2BAAA;I/Bu3HT;E+Bn3HO;;;IAGE,gBAAA;IACA,+BAAA;I/Bq3HT;EACF;A+Bv9HD;EA8GI,gBAAA;E/B42HH;A+B32HG;EACE,gBAAA;E/B62HL;A+B79HD;EAqHI,gBAAA;E/B22HH;A+B12HG;;EAEE,gBAAA;E/B42HL;A+Bx2HK;;;;EAEE,gBAAA;E/B42HP;A+Bp2HD;EACE,2BAAA;EACA,uBAAA;E/Bs2HD;A+Bx2HD;EAKI,gBAAA;E/Bs2HH;A+Br2HG;;EAEE,gBAAA;EACA,+BAAA;E/Bu2HL;A+Bh3HD;EAcI,gBAAA;E/Bq2HH;A+Bn3HD;EAmBM,gBAAA;E/Bm2HL;A+Bj2HK;;EAEE,gBAAA;EACA,+BAAA;E/Bm2HP;A+B/1HK;;;EAGE,gBAAA;EACA,2BAAA;E/Bi2HP;A+B71HK;;;EAGE,gBAAA;EACA,+BAAA;E/B+1HP;A+Bv4HD;EA+CI,uBAAA;E/B21HH;A+B11HG;;EAEE,2BAAA;E/B41HL;A+B94HD;EAqDM,2BAAA;E/B41HL;A+Bj5HD;;EA2DI,uBAAA;E/B01HH;A+Bp1HK;;;EAGE,2BAAA;EACA,gBAAA;E/Bs1HP;A+B/yHC;EAAA;IA/BQ,uBAAA;I/Bk1HP;E+BnzHD;IA5BQ,2BAAA;I/Bk1HP;E+BtzHD;IAzBQ,gBAAA;I/Bk1HP;E+Bj1HO;;IAEE,gBAAA;IACA,+BAAA;I/Bm1HT;E+B/0HO;;;IAGE,gBAAA;IACA,2BAAA;I/Bi1HT;E+B70HO;;;IAGE,gBAAA;IACA,+BAAA;I/B+0HT;EACF;A+Bv7HD;EA+GI,gBAAA;E/B20HH;A+B10HG;EACE,gBAAA;E/B40HL;A+B77HD;EAsHI,gBAAA;E/B00HH;A+Bz0HG;;EAEE,gBAAA;E/B20HL;A+Bv0HK;;;;EAEE,gBAAA;E/B20HP;AkCr9ID;EACE,mBAAA;EACA,qBAAA;EACA,kBAAA;EACA,2BAAA;EACA,oBAAA;ElCu9ID;AkC59ID;EAQI,uBAAA;ElCu9IH;AkC/9ID;EAWM,mBAAA;EACA,gBAAA;EACA,gBAAA;ElCu9IL;AkCp+ID;EAkBI,gBAAA;ElCq9IH;AmCz+ID;EACE,uBAAA;EACA,iBAAA;EACA,gBAAA;EACA,oBAAA;EnC2+ID;AmC/+ID;EAOI,iBAAA;EnC2+IH;AmCl/ID;;EAUM,oBAAA;EACA,aAAA;EACA,mBAAA;EACA,yBAAA;EACA,uBAAA;EACA,gBAAA;EACA,2BAAA;EACA,2BAAA;EACA,mBAAA;EnC4+IL;AmC1+IG;;EAGI,gBAAA;EPXN,gCAAA;EACG,6BAAA;E5Bu/IJ;AmCz+IG;;EPvBF,iCAAA;EACG,8BAAA;E5BogJJ;AmCp+IG;;;;EAEE,gBAAA;EACA,2BAAA;EACA,uBAAA;EnCw+IL;AmCl+IG;;;;;;EAGE,YAAA;EACA,gBAAA;EACA,2BAAA;EACA,uBAAA;EACA,iBAAA;EnCu+IL;AmC7hJD;;;;;;EAiEM,gBAAA;EACA,2BAAA;EACA,uBAAA;EACA,qBAAA;EnCo+IL;AmC39ID;;EC1EM,oBAAA;EACA,iBAAA;EpCyiJL;AoCviJG;;ERMF,gCAAA;EACG,6BAAA;E5BqiJJ;AoCtiJG;;ERRF,iCAAA;EACG,8BAAA;E5BkjJJ;AmCr+ID;;EC/EM,mBAAA;EACA,iBAAA;EpCwjJL;AoCtjJG;;ERMF,gCAAA;EACG,6BAAA;E5BojJJ;AoCrjJG;;ERRF,iCAAA;EACG,8BAAA;E5BikJJ;AqCpkJD;EACE,iBAAA;EACA,gBAAA;EACA,kBAAA;EACA,oBAAA;ErCskJD;AqC1kJD;EAOI,iBAAA;ErCskJH;AqC7kJD;;EAUM,uBAAA;EACA,mBAAA;EACA,2BAAA;EACA,2BAAA;EACA,qBAAA;ErCukJL;AqCrlJD;;EAmBM,uBAAA;EACA,2BAAA;ErCskJL;AqC1lJD;;EA2BM,cAAA;ErCmkJL;AqC9lJD;;EAkCM,aAAA;ErCgkJL;AqClmJD;;;;EA2CM,gBAAA;EACA,2BAAA;EACA,qBAAA;ErC6jJL;AsC3mJD;EACE,iBAAA;EACA,yBAAA;EACA,gBAAA;EACA,mBAAA;EACA,gBAAA;EACA,gBAAA;EACA,oBAAA;EACA,qBAAA;EACA,0BAAA;EACA,sBAAA;EtC6mJD;AsCzmJG;;EAEE,gBAAA;EACA,uBAAA;EACA,iBAAA;EtC2mJL;AsCtmJC;EACE,eAAA;EtCwmJH;AsCpmJC;EACE,oBAAA;EACA,WAAA;EtCsmJH;AsC/lJD;ECtCE,2BAAA;EvCwoJD;AuCroJG;;EAEE,2BAAA;EvCuoJL;AsClmJD;EC1CE,2BAAA;EvC+oJD;AuC5oJG;;EAEE,2BAAA;EvC8oJL;AsCrmJD;EC9CE,2BAAA;EvCspJD;AuCnpJG;;EAEE,2BAAA;EvCqpJL;AsCxmJD;EClDE,2BAAA;EvC6pJD;AuC1pJG;;EAEE,2BAAA;EvC4pJL;AsC3mJD;ECtDE,2BAAA;EvCoqJD;AuCjqJG;;EAEE,2BAAA;EvCmqJL;AsC9mJD;EC1DE,2BAAA;EvC2qJD;AuCxqJG;;EAEE,2BAAA;EvC0qJL;AwC5qJD;EACE,uBAAA;EACA,iBAAA;EACA,kBAAA;EACA,iBAAA;EACA,mBAAA;EACA,gBAAA;EACA,gBAAA;EACA,0BAAA;EACA,qBAAA;EACA,oBAAA;EACA,2BAAA;EACA,qBAAA;ExC8qJD;AwC3qJC;EACE,eAAA;ExC6qJH;AwCzqJC;EACE,oBAAA;EACA,WAAA;ExC2qJH;AwCxqJC;;EAEE,QAAA;EACA,kBAAA;ExC0qJH;AwCrqJG;;EAEE,gBAAA;EACA,uBAAA;EACA,iBAAA;ExCuqJL;AwClqJC;;EAEE,gBAAA;EACA,2BAAA;ExCoqJH;AwCjqJC;EACE,cAAA;ExCmqJH;AwChqJC;EACE,mBAAA;ExCkqJH;AwC/pJC;EACE,kBAAA;ExCiqJH;AyC3tJD;EACE,oBAAA;EACA,qBAAA;EACA,gBAAA;EACA,2BAAA;EzC6tJD;AyCjuJD;;EAQI,gBAAA;EzC6tJH;AyCruJD;EAYI,qBAAA;EACA,iBAAA;EACA,kBAAA;EzC4tJH;AyC1uJD;EAkBI,2BAAA;EzC2tJH;AyCxtJC;;EAEE,oBAAA;EzC0tJH;AyCjvJD;EA2BI,iBAAA;EzCytJH;AyCxsJD;EAAA;IAbI,iBAAA;IzCytJD;EyCvtJC;;IAEE,oBAAA;IACA,qBAAA;IzCytJH;EyCjtJH;;IAHM,iBAAA;IzCwtJH;EACF;A0CjwJD;EACE,gBAAA;EACA,cAAA;EACA,qBAAA;EACA,yBAAA;EACA,2BAAA;EACA,2BAAA;EACA,oBAAA;ErCiLA,6CAAA;EACK,wCAAA;EACG,qCAAA;ELmlJT;A0C7wJD;;EAaI,mBAAA;EACA,oBAAA;E1CowJH;A0ChwJC;;;EAGE,uBAAA;E1CkwJH;A0CvxJD;EA0BI,cAAA;EACA,gBAAA;E1CgwJH;A2CzxJD;EACE,eAAA;EACA,qBAAA;EACA,+BAAA;EACA,oBAAA;E3C2xJD;A2C/xJD;EAQI,eAAA;EAEA,gBAAA;E3CyxJH;A2CnyJD;EAeI,mBAAA;E3CuxJH;A2CtyJD;;EAqBI,kBAAA;E3CqxJH;A2C1yJD;EAyBI,iBAAA;E3CoxJH;A2C5wJD;;EAEE,qBAAA;E3C8wJD;A2ChxJD;;EAMI,oBAAA;EACA,WAAA;EACA,cAAA;EACA,gBAAA;E3C8wJH;A2CtwJD;ECvDE,2BAAA;EACA,uBAAA;EACA,gBAAA;E5Cg0JD;A2C3wJD;EClDI,2BAAA;E5Cg0JH;A2C9wJD;EC/CI,gBAAA;E5Cg0JH;A2C7wJD;EC3DE,2BAAA;EACA,uBAAA;EACA,gBAAA;E5C20JD;A2ClxJD;ECtDI,2BAAA;E5C20JH;A2CrxJD;ECnDI,gBAAA;E5C20JH;A2CpxJD;EC/DE,2BAAA;EACA,uBAAA;EACA,gBAAA;E5Cs1JD;A2CzxJD;EC1DI,2BAAA;E5Cs1JH;A2C5xJD;ECvDI,gBAAA;E5Cs1JH;A2C3xJD;ECnEE,2BAAA;EACA,uBAAA;EACA,gBAAA;E5Ci2JD;A2ChyJD;EC9DI,2BAAA;E5Ci2JH;A2CnyJD;EC3DI,gBAAA;E5Ci2JH;A6Cn2JD;EACE;IAAQ,6BAAA;I7Cs2JP;E6Cr2JD;IAAQ,0BAAA;I7Cw2JP;EACF;A6Cr2JD;EACE;IAAQ,6BAAA;I7Cw2JP;E6Cv2JD;IAAQ,0BAAA;I7C02JP;EACF;A6C72JD;EACE;IAAQ,6BAAA;I7Cw2JP;E6Cv2JD;IAAQ,0BAAA;I7C02JP;EACF;A6Cn2JD;EACE,kBAAA;EACA,cAAA;EACA,qBAAA;EACA,2BAAA;EACA,oBAAA;ExCsCA,wDAAA;EACQ,gDAAA;ELg0JT;A6Cl2JD;EACE,aAAA;EACA,WAAA;EACA,cAAA;EACA,iBAAA;EACA,mBAAA;EACA,gBAAA;EACA,oBAAA;EACA,2BAAA;ExCyBA,wDAAA;EACQ,gDAAA;EAyHR,qCAAA;EACK,gCAAA;EACG,6BAAA;ELotJT;A6C/1JD;;ECCI,+MAAA;EACA,0MAAA;EACA,uMAAA;EDAF,oCAAA;UAAA,4BAAA;E7Cm2JD;A6C51JD;;ExC5CE,4DAAA;EACK,uDAAA;EACG,oDAAA;EL44JT;A6Cz1JD;EErEE,2BAAA;E/Ci6JD;A+C95JC;EDgDE,+MAAA;EACA,0MAAA;EACA,uMAAA;E9Ci3JH;A6C71JD;EEzEE,2BAAA;E/Cy6JD;A+Ct6JC;EDgDE,+MAAA;EACA,0MAAA;EACA,uMAAA;E9Cy3JH;A6Cj2JD;EE7EE,2BAAA;E/Ci7JD;A+C96JC;EDgDE,+MAAA;EACA,0MAAA;EACA,uMAAA;E9Ci4JH;A6Cr2JD;EEjFE,2BAAA;E/Cy7JD;A+Ct7JC;EDgDE,+MAAA;EACA,0MAAA;EACA,uMAAA;E9Cy4JH;AgDj8JD;EAEE,kBAAA;EhDk8JD;AgDh8JC;EACE,eAAA;EhDk8JH;AgD97JD;;EAEE,SAAA;EACA,kBAAA;EhDg8JD;AgD77JD;EACE,gBAAA;EhD+7JD;AgD57JD;EACE,gBAAA;EhD87JD;AgD37JD;;EAEE,oBAAA;EhD67JD;AgD17JD;;EAEE,qBAAA;EhD47JD;AgDz7JD;;;EAGE,qBAAA;EACA,qBAAA;EhD27JD;AgDx7JD;EACE,wBAAA;EhD07JD;AgDv7JD;EACE,wBAAA;EhDy7JD;AgDr7JD;EACE,eAAA;EACA,oBAAA;EhDu7JD;AgDj7JD;EACE,iBAAA;EACA,kBAAA;EhDm7JD;AiDr+JD;EAEE,qBAAA;EACA,iBAAA;EjDs+JD;AiD99JD;EACE,oBAAA;EACA,gBAAA;EACA,oBAAA;EAEA,qBAAA;EACA,2BAAA;EACA,2BAAA;EjD+9JD;AiD59JC;ErB3BA,8BAAA;EACC,6BAAA;E5B0/JF;AiD79JC;EACE,kBAAA;ErBvBF,iCAAA;EACC,gCAAA;E5Bu/JF;AiDt9JD;EACE,gBAAA;EjDw9JD;AiDz9JD;EAII,gBAAA;EjDw9JH;AiDp9JC;;EAEE,uBAAA;EACA,gBAAA;EACA,2BAAA;EjDs9JH;AiDh9JC;;;EAGE,2BAAA;EACA,gBAAA;EACA,qBAAA;EjDk9JH;AiDv9JC;;;EASI,gBAAA;EjDm9JL;AiD59JC;;;EAYI,gBAAA;EjDq9JL;AiDh9JC;;;EAGE,YAAA;EACA,gBAAA;EACA,2BAAA;EACA,uBAAA;EjDk9JH;AiDx9JC;;;;;;;;;EAYI,gBAAA;EjDu9JL;AiDn+JC;;;EAeI,gBAAA;EjDy9JL;AkDrjKC;EACE,gBAAA;EACA,2BAAA;ElDujKH;AkDrjKG;EACE,gBAAA;ElDujKL;AkDxjKG;EAII,gBAAA;ElDujKP;AkDpjKK;;EAEE,gBAAA;EACA,2BAAA;ElDsjKP;AkDpjKK;;;EAGE,aAAA;EACA,2BAAA;EACA,uBAAA;ElDsjKP;AkD3kKC;EACE,gBAAA;EACA,2BAAA;ElD6kKH;AkD3kKG;EACE,gBAAA;ElD6kKL;AkD9kKG;EAII,gBAAA;ElD6kKP;AkD1kKK;;EAEE,gBAAA;EACA,2BAAA;ElD4kKP;AkD1kKK;;;EAGE,aAAA;EACA,2BAAA;EACA,uBAAA;ElD4kKP;AkDjmKC;EACE,gBAAA;EACA,2BAAA;ElDmmKH;AkDjmKG;EACE,gBAAA;ElDmmKL;AkDpmKG;EAII,gBAAA;ElDmmKP;AkDhmKK;;EAEE,gBAAA;EACA,2BAAA;ElDkmKP;AkDhmKK;;;EAGE,aAAA;EACA,2BAAA;EACA,uBAAA;ElDkmKP;AkDvnKC;EACE,gBAAA;EACA,2BAAA;ElDynKH;AkDvnKG;EACE,gBAAA;ElDynKL;AkD1nKG;EAII,gBAAA;ElDynKP;AkDtnKK;;EAEE,gBAAA;EACA,2BAAA;ElDwnKP;AkDtnKK;;;EAGE,aAAA;EACA,2BAAA;EACA,uBAAA;ElDwnKP;AiD5hKD;EACE,eAAA;EACA,oBAAA;EjD8hKD;AiD5hKD;EACE,kBAAA;EACA,kBAAA;EjD8hKD;AmDlpKD;EACE,qBAAA;EACA,2BAAA;EACA,+BAAA;EACA,oBAAA;E9C0DA,mDAAA;EACQ,2CAAA;EL2lKT;AmDjpKD;EACE,eAAA;EnDmpKD;AmD9oKD;EACE,oBAAA;EACA,sCAAA;EvBpBA,8BAAA;EACC,6BAAA;E5BqqKF;AmDppKD;EAMI,gBAAA;EnDipKH;AmD5oKD;EACE,eAAA;EACA,kBAAA;EACA,iBAAA;EACA,gBAAA;EnD8oKD;AmDlpKD;;;;;EAWI,gBAAA;EnD8oKH;AmDzoKD;EACE,oBAAA;EACA,2BAAA;EACA,+BAAA;EvBxCA,iCAAA;EACC,gCAAA;E5BorKF;AmDnoKD;;EAGI,kBAAA;EnDooKH;AmDvoKD;;EAMM,qBAAA;EACA,kBAAA;EnDqoKL;AmDjoKG;;EAEI,eAAA;EvBvEN,8BAAA;EACC,6BAAA;E5B2sKF;AmDhoKG;;EAEI,kBAAA;EvBtEN,iCAAA;EACC,gCAAA;E5BysKF;AmD7nKD;EAEI,qBAAA;EnD8nKH;AmD3nKD;EACE,qBAAA;EnD6nKD;AmDrnKD;;;EAII,kBAAA;EnDsnKH;AmD1nKD;;;EAOM,oBAAA;EACA,qBAAA;EnDwnKL;AmDhoKD;;EvBnGE,8BAAA;EACC,6BAAA;E5BuuKF;AmDroKD;;;;EAmBQ,6BAAA;EACA,8BAAA;EnDwnKP;AmD5oKD;;;;;;;;EAwBU,6BAAA;EnD8nKT;AmDtpKD;;;;;;;;EA4BU,8BAAA;EnDooKT;AmDhqKD;;EvB3FE,iCAAA;EACC,gCAAA;E5B+vKF;AmDrqKD;;;;EAyCQ,gCAAA;EACA,iCAAA;EnDkoKP;AmD5qKD;;;;;;;;EA8CU,gCAAA;EnDwoKT;AmDtrKD;;;;;;;;EAkDU,iCAAA;EnD8oKT;AmDhsKD;;;;EA2DI,+BAAA;EnD2oKH;AmDtsKD;;EA+DI,eAAA;EnD2oKH;AmD1sKD;;EAmEI,WAAA;EnD2oKH;AmD9sKD;;;;;;;;;;;;EA0EU,gBAAA;EnDkpKT;AmD5tKD;;;;;;;;;;;;EA8EU,iBAAA;EnD4pKT;AmD1uKD;;;;;;;;EAuFU,kBAAA;EnD6pKT;AmDpvKD;;;;;;;;EAgGU,kBAAA;EnD8pKT;AmD9vKD;EAsGI,WAAA;EACA,kBAAA;EnD2pKH;AmDjpKD;EACE,qBAAA;EnDmpKD;AmDppKD;EAKI,kBAAA;EACA,oBAAA;EnDkpKH;AmDxpKD;EASM,iBAAA;EnDkpKL;AmD3pKD;EAcI,kBAAA;EnDgpKH;AmD9pKD;;EAkBM,+BAAA;EnDgpKL;AmDlqKD;EAuBI,eAAA;EnD8oKH;AmDrqKD;EAyBM,kCAAA;EnD+oKL;AmDxoKD;ECpPE,uBAAA;EpD+3KD;AoD73KC;EACE,gBAAA;EACA,2BAAA;EACA,uBAAA;EpD+3KH;AoDl4KC;EAMI,2BAAA;EpD+3KL;AoDr4KC;EASI,gBAAA;EACA,2BAAA;EpD+3KL;AoD53KC;EAEI,8BAAA;EpD63KL;AmDvpKD;ECvPE,uBAAA;EpDi5KD;AoD/4KC;EACE,gBAAA;EACA,2BAAA;EACA,uBAAA;EpDi5KH;AoDp5KC;EAMI,2BAAA;EpDi5KL;AoDv5KC;EASI,gBAAA;EACA,2BAAA;EpDi5KL;AoD94KC;EAEI,8BAAA;EpD+4KL;AmDtqKD;EC1PE,uBAAA;EpDm6KD;AoDj6KC;EACE,gBAAA;EACA,2BAAA;EACA,uBAAA;EpDm6KH;AoDt6KC;EAMI,2BAAA;EpDm6KL;AoDz6KC;EASI,gBAAA;EACA,2BAAA;EpDm6KL;AoDh6KC;EAEI,8BAAA;EpDi6KL;AmDrrKD;EC7PE,uBAAA;EpDq7KD;AoDn7KC;EACE,gBAAA;EACA,2BAAA;EACA,uBAAA;EpDq7KH;AoDx7KC;EAMI,2BAAA;EpDq7KL;AoD37KC;EASI,gBAAA;EACA,2BAAA;EpDq7KL;AoDl7KC;EAEI,8BAAA;EpDm7KL;AmDpsKD;EChQE,uBAAA;EpDu8KD;AoDr8KC;EACE,gBAAA;EACA,2BAAA;EACA,uBAAA;EpDu8KH;AoD18KC;EAMI,2BAAA;EpDu8KL;AoD78KC;EASI,gBAAA;EACA,2BAAA;EpDu8KL;AoDp8KC;EAEI,8BAAA;EpDq8KL;AmDntKD;ECnQE,uBAAA;EpDy9KD;AoDv9KC;EACE,gBAAA;EACA,2BAAA;EACA,uBAAA;EpDy9KH;AoD59KC;EAMI,2BAAA;EpDy9KL;AoD/9KC;EASI,gBAAA;EACA,2BAAA;EpDy9KL;AoDt9KC;EAEI,8BAAA;EpDu9KL;AqDv+KD;EACE,oBAAA;EACA,gBAAA;EACA,WAAA;EACA,YAAA;EACA,kBAAA;ErDy+KD;AqD9+KD;;;;;EAYI,oBAAA;EACA,QAAA;EACA,SAAA;EACA,WAAA;EACA,cAAA;EACA,aAAA;EACA,WAAA;ErDy+KH;AqDp+KD;EACE,wBAAA;ErDs+KD;AqDl+KD;EACE,qBAAA;ErDo+KD;AsD//KD;EACE,kBAAA;EACA,eAAA;EACA,qBAAA;EACA,2BAAA;EACA,2BAAA;EACA,oBAAA;EjDwDA,yDAAA;EACQ,iDAAA;EL08KT;AsDzgLD;EASI,oBAAA;EACA,mCAAA;EtDmgLH;AsD9/KD;EACE,eAAA;EACA,oBAAA;EtDggLD;AsD9/KD;EACE,cAAA;EACA,oBAAA;EtDggLD;AuDthLD;EACE,cAAA;EACA,iBAAA;EACA,mBAAA;EACA,gBAAA;EACA,gBAAA;EACA,8BAAA;EjCRA,cAAA;EAGA,2BAAA;EtB+hLD;AuDvhLC;;EAEE,gBAAA;EACA,uBAAA;EACA,iBAAA;EjCfF,cAAA;EAGA,2BAAA;EtBuiLD;AuDnhLC;EACE,YAAA;EACA,iBAAA;EACA,yBAAA;EACA,WAAA;EACA,0BAAA;EvDqhLH;AwD1iLD;EACE,kBAAA;ExD4iLD;AwDxiLD;EACE,eAAA;EACA,kBAAA;EACA,iBAAA;EACA,QAAA;EACA,UAAA;EACA,WAAA;EACA,SAAA;EACA,eAAA;EACA,mCAAA;EAIA,YAAA;ExDuiLD;AwDpiLC;EnD+GA,uCAAA;EACI,mCAAA;EACC,kCAAA;EACG,+BAAA;EAkER,qDAAA;EAEK,2CAAA;EACG,qCAAA;ELu3KT;AwD1iLC;EnD2GA,oCAAA;EACI,gCAAA;EACC,+BAAA;EACG,4BAAA;ELk8KT;AwD9iLD;EACE,oBAAA;EACA,kBAAA;ExDgjLD;AwD5iLD;EACE,oBAAA;EACA,aAAA;EACA,cAAA;ExD8iLD;AwD1iLD;EACE,oBAAA;EACA,2BAAA;EACA,2BAAA;EACA,sCAAA;EACA,oBAAA;EnDaA,kDAAA;EACQ,0CAAA;EmDZR,sCAAA;UAAA,8BAAA;EAEA,YAAA;ExD4iLD;AwDxiLD;EACE,iBAAA;EACA,QAAA;EACA,UAAA;EACA,WAAA;EACA,SAAA;EACA,eAAA;EACA,2BAAA;ExD0iLD;AwDxiLC;ElCrEA,YAAA;EAGA,0BAAA;EtB8mLD;AwD3iLC;ElCtEA,cAAA;EAGA,2BAAA;EtBknLD;AwD1iLD;EACE,eAAA;EACA,kCAAA;EACA,2BAAA;ExD4iLD;AwDziLD;EACE,kBAAA;ExD2iLD;AwDviLD;EACE,WAAA;EACA,yBAAA;ExDyiLD;AwDpiLD;EACE,oBAAA;EACA,eAAA;ExDsiLD;AwDliLD;EACE,eAAA;EACA,mBAAA;EACA,+BAAA;ExDoiLD;AwDviLD;EAQI,kBAAA;EACA,kBAAA;ExDkiLH;AwD3iLD;EAaI,mBAAA;ExDiiLH;AwD9iLD;EAiBI,gBAAA;ExDgiLH;AwD3hLD;EACE,oBAAA;EACA,cAAA;EACA,aAAA;EACA,cAAA;EACA,kBAAA;ExD6hLD;AwD3gLD;EAZE;IACE,cAAA;IACA,mBAAA;IxD0hLD;EwDxhLD;InDvEA,mDAAA;IACQ,2CAAA;ILkmLP;EwDvhLD;IAAY,cAAA;IxD0hLX;EACF;AwDrhLD;EAFE;IAAY,cAAA;IxD2hLX;EACF;AyD1qLD;EACE,oBAAA;EACA,eAAA;EACA,gBAAA;EAEA,6DAAA;EACA,iBAAA;EACA,qBAAA;EACA,kBAAA;EnCXA,YAAA;EAGA,0BAAA;EtBqrLD;AyD1qLC;EnCdA,cAAA;EAGA,2BAAA;EtByrLD;AyD7qLC;EAAW,kBAAA;EAAmB,gBAAA;EzDirL/B;AyDhrLC;EAAW,kBAAA;EAAmB,gBAAA;EzDorL/B;AyDnrLC;EAAW,iBAAA;EAAmB,gBAAA;EzDurL/B;AyDtrLC;EAAW,mBAAA;EAAmB,gBAAA;EzD0rL/B;AyDtrLD;EACE,kBAAA;EACA,kBAAA;EACA,gBAAA;EACA,oBAAA;EACA,uBAAA;EACA,2BAAA;EACA,oBAAA;EzDwrLD;AyDprLD;EACE,oBAAA;EACA,UAAA;EACA,WAAA;EACA,2BAAA;EACA,qBAAA;EzDsrLD;AyDlrLC;EACE,WAAA;EACA,WAAA;EACA,mBAAA;EACA,yBAAA;EACA,2BAAA;EzDorLH;AyDlrLC;EACE,WAAA;EACA,YAAA;EACA,qBAAA;EACA,yBAAA;EACA,2BAAA;EzDorLH;AyDlrLC;EACE,WAAA;EACA,WAAA;EACA,qBAAA;EACA,yBAAA;EACA,2BAAA;EzDorLH;AyDlrLC;EACE,UAAA;EACA,SAAA;EACA,kBAAA;EACA,6BAAA;EACA,6BAAA;EzDorLH;AyDlrLC;EACE,UAAA;EACA,UAAA;EACA,kBAAA;EACA,6BAAA;EACA,4BAAA;EzDorLH;AyDlrLC;EACE,QAAA;EACA,WAAA;EACA,mBAAA;EACA,yBAAA;EACA,8BAAA;EzDorLH;AyDlrLC;EACE,QAAA;EACA,YAAA;EACA,kBAAA;EACA,yBAAA;EACA,8BAAA;EzDorLH;AyDlrLC;EACE,QAAA;EACA,WAAA;EACA,kBAAA;EACA,yBAAA;EACA,8BAAA;EzDorLH;A0DlxLD;EACE,oBAAA;EACA,QAAA;EACA,SAAA;EACA,eAAA;EACA,eAAA;EACA,kBAAA;EACA,cAAA;EAEA,6DAAA;EACA,iBAAA;EACA,qBAAA;EACA,yBAAA;EACA,kBAAA;EACA,2BAAA;EACA,sCAAA;UAAA,8BAAA;EACA,2BAAA;EACA,sCAAA;EACA,oBAAA;ErD6CA,mDAAA;EACQ,2CAAA;EqD1CR,qBAAA;E1DkxLD;A0D/wLC;EAAY,mBAAA;E1DkxLb;A0DjxLC;EAAY,mBAAA;E1DoxLb;A0DnxLC;EAAY,kBAAA;E1DsxLb;A0DrxLC;EAAY,oBAAA;E1DwxLb;A0DrxLD;EACE,WAAA;EACA,mBAAA;EACA,iBAAA;EACA,2BAAA;EACA,kCAAA;EACA,4BAAA;E1DuxLD;A0DpxLD;EACE,mBAAA;E1DsxLD;A0D9wLC;;EAEE,oBAAA;EACA,gBAAA;EACA,UAAA;EACA,WAAA;EACA,2BAAA;EACA,qBAAA;E1DgxLH;A0D7wLD;EACE,oBAAA;E1D+wLD;A0D7wLD;EACE,oBAAA;EACA,aAAA;E1D+wLD;A0D3wLC;EACE,WAAA;EACA,oBAAA;EACA,wBAAA;EACA,2BAAA;EACA,uCAAA;EACA,eAAA;E1D6wLH;A0D5wLG;EACE,cAAA;EACA,aAAA;EACA,oBAAA;EACA,wBAAA;EACA,2BAAA;E1D8wLL;A0D3wLC;EACE,UAAA;EACA,aAAA;EACA,mBAAA;EACA,sBAAA;EACA,6BAAA;EACA,yCAAA;E1D6wLH;A0D5wLG;EACE,cAAA;EACA,WAAA;EACA,eAAA;EACA,sBAAA;EACA,6BAAA;E1D8wLL;A0D3wLC;EACE,WAAA;EACA,oBAAA;EACA,qBAAA;EACA,8BAAA;EACA,0CAAA;EACA,YAAA;E1D6wLH;A0D5wLG;EACE,cAAA;EACA,UAAA;EACA,oBAAA;EACA,qBAAA;EACA,8BAAA;E1D8wLL;A0D1wLC;EACE,UAAA;EACA,cAAA;EACA,mBAAA;EACA,uBAAA;EACA,4BAAA;EACA,wCAAA;E1D4wLH;A0D3wLG;EACE,cAAA;EACA,YAAA;EACA,uBAAA;EACA,4BAAA;EACA,eAAA;E1D6wLL;A2D14LD;EACE,oBAAA;E3D44LD;A2Dz4LD;EACE,oBAAA;EACA,kBAAA;EACA,aAAA;E3D24LD;A2D94LD;EAMI,eAAA;EACA,oBAAA;EtD6KF,2CAAA;EACK,sCAAA;EACG,mCAAA;EL+tLT;A2Dr5LD;;EAcM,gBAAA;E3D24LL;A2Dj3LC;EAAA;ItDiKA,wDAAA;IAEK,8CAAA;IACG,wCAAA;IA7JR,qCAAA;IAEQ,6BAAA;IA+GR,2BAAA;IAEQ,mBAAA;ILowLP;E2D/4LG;;ItDmHJ,4CAAA;IACQ,oCAAA;IsDjHF,SAAA;I3Dk5LL;E2Dh5LG;;ItD8GJ,6CAAA;IACQ,qCAAA;IsD5GF,SAAA;I3Dm5LL;E2Dj5LG;;;ItDyGJ,yCAAA;IACQ,iCAAA;IsDtGF,SAAA;I3Do5LL;EACF;A2D17LD;;;EA6CI,gBAAA;E3Dk5LH;A2D/7LD;EAiDI,SAAA;E3Di5LH;A2Dl8LD;;EAsDI,oBAAA;EACA,QAAA;EACA,aAAA;E3Dg5LH;A2Dx8LD;EA4DI,YAAA;E3D+4LH;A2D38LD;EA+DI,aAAA;E3D+4LH;A2D98LD;;EAmEI,SAAA;E3D+4LH;A2Dl9LD;EAuEI,aAAA;E3D84LH;A2Dr9LD;EA0EI,YAAA;E3D84LH;A2Dt4LD;EACE,oBAAA;EACA,QAAA;EACA,SAAA;EACA,WAAA;EACA,YAAA;ErC9FA,cAAA;EAGA,2BAAA;EqC6FA,iBAAA;EACA,gBAAA;EACA,oBAAA;EACA,2CAAA;E3Dy4LD;A2Dp4LC;EblGE,oGAAA;EACA,+FAAA;EACA,sHAAA;EAAA,gGAAA;EACA,6BAAA;EACA,wHAAA;E9Cy+LH;A2Dx4LC;EACE,YAAA;EACA,UAAA;EbvGA,oGAAA;EACA,+FAAA;EACA,sHAAA;EAAA,gGAAA;EACA,6BAAA;EACA,wHAAA;E9Ck/LH;A2D14LC;;EAEE,YAAA;EACA,gBAAA;EACA,uBAAA;ErCtHF,cAAA;EAGA,2BAAA;EtBigMD;A2D36LD;;;;EAsCI,oBAAA;EACA,UAAA;EACA,YAAA;EACA,uBAAA;E3D24LH;A2Dp7LD;;EA6CI,WAAA;EACA,oBAAA;E3D24LH;A2Dz7LD;;EAkDI,YAAA;EACA,qBAAA;E3D24LH;A2D97LD;;EAuDI,aAAA;EACA,cAAA;EACA,mBAAA;EACA,gBAAA;EACA,oBAAA;E3D24LH;A2Dt4LG;EACE,kBAAA;E3Dw4LL;A2Dp4LG;EACE,kBAAA;E3Ds4LL;A2D53LD;EACE,oBAAA;EACA,cAAA;EACA,WAAA;EACA,aAAA;EACA,YAAA;EACA,mBAAA;EACA,iBAAA;EACA,kBAAA;EACA,oBAAA;E3D83LD;A2Dv4LD;EAYI,uBAAA;EACA,aAAA;EACA,cAAA;EACA,aAAA;EACA,qBAAA;EACA,2BAAA;EACA,qBAAA;EACA,iBAAA;EAWA,2BAAA;EACA,oCAAA;E3Do3LH;A2Dn5LD;EAkCI,WAAA;EACA,aAAA;EACA,cAAA;EACA,2BAAA;E3Do3LH;A2D72LD;EACE,oBAAA;EACA,WAAA;EACA,YAAA;EACA,cAAA;EACA,aAAA;EACA,mBAAA;EACA,sBAAA;EACA,gBAAA;EACA,oBAAA;EACA,2CAAA;E3D+2LD;A2D92LC;EACE,mBAAA;E3Dg3LH;A2Dv0LD;EAhCE;;;;IAKI,aAAA;IACA,cAAA;IACA,mBAAA;IACA,iBAAA;I3Dy2LH;E2Dj3LD;;IAYI,oBAAA;I3Dy2LH;E2Dr3LD;;IAgBI,qBAAA;I3Dy2LH;E2Dp2LD;IACE,WAAA;IACA,YAAA;IACA,sBAAA;I3Ds2LD;E2Dl2LD;IACE,cAAA;I3Do2LD;EACF;A4DlmMC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAEE,cAAA;EACA,gBAAA;E5DgoMH;A4D9nMC;;;;;;;;;;;;;;;EACE,aAAA;E5D8oMH;AiCtpMD;E4BRE,gBAAA;EACA,mBAAA;EACA,oBAAA;E7DiqMD;AiCxpMD;EACE,yBAAA;EjC0pMD;AiCxpMD;EACE,wBAAA;EjC0pMD;AiClpMD;EACE,0BAAA;EjCopMD;AiClpMD;EACE,2BAAA;EjCopMD;AiClpMD;EACE,oBAAA;EjCopMD;AiClpMD;E6BzBE,aAAA;EACA,oBAAA;EACA,mBAAA;EACA,+BAAA;EACA,WAAA;E9D8qMD;AiChpMD;EACE,0BAAA;EjCkpMD;AiC3oMD;EACE,iBAAA;EjC6oMD;A+D9qMD;EACE,qBAAA;E/DgrMD;A+D1qMD;;;;ECdE,0BAAA;EhE8rMD;A+DzqMD;;;;;;;;;;;;EAYE,0BAAA;E/D2qMD;A+DpqMD;EAAA;IChDE,2BAAA;IhEwtMC;EgEvtMD;IAAU,gBAAA;IhE0tMT;EgEztMD;IAAU,+BAAA;IhE4tMT;EgE3tMD;;IACU,gCAAA;IhE8tMT;EACF;A+D9qMD;EAAA;IAFI,2BAAA;I/DorMD;EACF;A+D9qMD;EAAA;IAFI,4BAAA;I/DorMD;EACF;A+D9qMD;EAAA;IAFI,kCAAA;I/DorMD;EACF;A+D7qMD;EAAA;ICrEE,2BAAA;IhEsvMC;EgErvMD;IAAU,gBAAA;IhEwvMT;EgEvvMD;IAAU,+BAAA;IhE0vMT;EgEzvMD;;IACU,gCAAA;IhE4vMT;EACF;A+DvrMD;EAAA;IAFI,2BAAA;I/D6rMD;EACF;A+DvrMD;EAAA;IAFI,4BAAA;I/D6rMD;EACF;A+DvrMD;EAAA;IAFI,kCAAA;I/D6rMD;EACF;A+DtrMD;EAAA;IC1FE,2BAAA;IhEoxMC;EgEnxMD;IAAU,gBAAA;IhEsxMT;EgErxMD;IAAU,+BAAA;IhEwxMT;EgEvxMD;;IACU,gCAAA;IhE0xMT;EACF;A+DhsMD;EAAA;IAFI,2BAAA;I/DssMD;EACF;A+DhsMD;EAAA;IAFI,4BAAA;I/DssMD;EACF;A+DhsMD;EAAA;IAFI,kCAAA;I/DssMD;EACF;A+D/rMD;EAAA;IC/GE,2BAAA;IhEkzMC;EgEjzMD;IAAU,gBAAA;IhEozMT;EgEnzMD;IAAU,+BAAA;IhEszMT;EgErzMD;;IACU,gCAAA;IhEwzMT;EACF;A+DzsMD;EAAA;IAFI,2BAAA;I/D+sMD;EACF;A+DzsMD;EAAA;IAFI,4BAAA;I/D+sMD;EACF;A+DzsMD;EAAA;IAFI,kCAAA;I/D+sMD;EACF;A+DxsMD;EAAA;IC5HE,0BAAA;IhEw0MC;EACF;A+DxsMD;EAAA;ICjIE,0BAAA;IhE60MC;EACF;A+DxsMD;EAAA;ICtIE,0BAAA;IhEk1MC;EACF;A+DxsMD;EAAA;IC3IE,0BAAA;IhEu1MC;EACF;A+DrsMD;ECnJE,0BAAA;EhE21MD;A+DlsMD;EAAA;ICjKE,2BAAA;IhEu2MC;EgEt2MD;IAAU,gBAAA;IhEy2MT;EgEx2MD;IAAU,+BAAA;IhE22MT;EgE12MD;;IACU,gCAAA;IhE62MT;EACF;A+DhtMD;EACE,0BAAA;E/DktMD;A+D7sMD;EAAA;IAFI,2BAAA;I/DmtMD;EACF;A+DjtMD;EACE,0BAAA;E/DmtMD;A+D9sMD;EAAA;IAFI,4BAAA;I/DotMD;EACF;A+DltMD;EACE,0BAAA;E/DotMD;A+D/sMD;EAAA;IAFI,kCAAA;I/DqtMD;EACF;A+D9sMD;EAAA;ICpLE,0BAAA;IhEs4MC;EACF","file":"bootstrap.css","sourcesContent":["/*! normalize.css v3.0.2 | MIT License | git.io/normalize */\nhtml {\n  font-family: sans-serif;\n  -ms-text-size-adjust: 100%;\n  -webkit-text-size-adjust: 100%;\n}\nbody {\n  margin: 0;\n}\narticle,\naside,\ndetails,\nfigcaption,\nfigure,\nfooter,\nheader,\nhgroup,\nmain,\nmenu,\nnav,\nsection,\nsummary {\n  display: block;\n}\naudio,\ncanvas,\nprogress,\nvideo {\n  display: inline-block;\n  vertical-align: baseline;\n}\naudio:not([controls]) {\n  display: none;\n  height: 0;\n}\n[hidden],\ntemplate {\n  display: none;\n}\na {\n  background-color: transparent;\n}\na:active,\na:hover {\n  outline: 0;\n}\nabbr[title] {\n  border-bottom: 1px dotted;\n}\nb,\nstrong {\n  font-weight: bold;\n}\ndfn {\n  font-style: italic;\n}\nh1 {\n  font-size: 2em;\n  margin: 0.67em 0;\n}\nmark {\n  background: #ff0;\n  color: #000;\n}\nsmall {\n  font-size: 80%;\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}\nimg {\n  border: 0;\n}\nsvg:not(:root) {\n  overflow: hidden;\n}\nfigure {\n  margin: 1em 40px;\n}\nhr {\n  -moz-box-sizing: content-box;\n  box-sizing: content-box;\n  height: 0;\n}\npre {\n  overflow: auto;\n}\ncode,\nkbd,\npre,\nsamp {\n  font-family: monospace, monospace;\n  font-size: 1em;\n}\nbutton,\ninput,\noptgroup,\nselect,\ntextarea {\n  color: inherit;\n  font: inherit;\n  margin: 0;\n}\nbutton {\n  overflow: visible;\n}\nbutton,\nselect {\n  text-transform: none;\n}\nbutton,\nhtml input[type=\"button\"],\ninput[type=\"reset\"],\ninput[type=\"submit\"] {\n  -webkit-appearance: button;\n  cursor: pointer;\n}\nbutton[disabled],\nhtml input[disabled] {\n  cursor: default;\n}\nbutton::-moz-focus-inner,\ninput::-moz-focus-inner {\n  border: 0;\n  padding: 0;\n}\ninput {\n  line-height: normal;\n}\ninput[type=\"checkbox\"],\ninput[type=\"radio\"] {\n  box-sizing: border-box;\n  padding: 0;\n}\ninput[type=\"number\"]::-webkit-inner-spin-button,\ninput[type=\"number\"]::-webkit-outer-spin-button {\n  height: auto;\n}\ninput[type=\"search\"] {\n  -webkit-appearance: textfield;\n  -moz-box-sizing: content-box;\n  -webkit-box-sizing: content-box;\n  box-sizing: content-box;\n}\ninput[type=\"search\"]::-webkit-search-cancel-button,\ninput[type=\"search\"]::-webkit-search-decoration {\n  -webkit-appearance: none;\n}\nfieldset {\n  border: 1px solid #c0c0c0;\n  margin: 0 2px;\n  padding: 0.35em 0.625em 0.75em;\n}\nlegend {\n  border: 0;\n  padding: 0;\n}\ntextarea {\n  overflow: auto;\n}\noptgroup {\n  font-weight: bold;\n}\ntable {\n  border-collapse: collapse;\n  border-spacing: 0;\n}\ntd,\nth {\n  padding: 0;\n}\n/*! Source: https://github.com/h5bp/html5-boilerplate/blob/master/src/css/main.css */\n@media print {\n  *,\n  *:before,\n  *:after {\n    background: transparent !important;\n    color: #000 !important;\n    box-shadow: none !important;\n    text-shadow: none !important;\n  }\n  a,\n  a:visited {\n    text-decoration: underline;\n  }\n  a[href]:after {\n    content: \" (\" attr(href) \")\";\n  }\n  abbr[title]:after {\n    content: \" (\" attr(title) \")\";\n  }\n  a[href^=\"#\"]:after,\n  a[href^=\"javascript:\"]:after {\n    content: \"\";\n  }\n  pre,\n  blockquote {\n    border: 1px solid #999;\n    page-break-inside: avoid;\n  }\n  thead {\n    display: table-header-group;\n  }\n  tr,\n  img {\n    page-break-inside: avoid;\n  }\n  img {\n    max-width: 100% !important;\n  }\n  p,\n  h2,\n  h3 {\n    orphans: 3;\n    widows: 3;\n  }\n  h2,\n  h3 {\n    page-break-after: avoid;\n  }\n  select {\n    background: #fff !important;\n  }\n  .navbar {\n    display: none;\n  }\n  .btn > .caret,\n  .dropup > .btn > .caret {\n    border-top-color: #000 !important;\n  }\n  .label {\n    border: 1px solid #000;\n  }\n  .table {\n    border-collapse: collapse !important;\n  }\n  .table td,\n  .table th {\n    background-color: #fff !important;\n  }\n  .table-bordered th,\n  .table-bordered td {\n    border: 1px solid #ddd !important;\n  }\n}\n@font-face {\n  font-family: 'Glyphicons Halflings';\n  src: url('../fonts/glyphicons-halflings-regular.eot');\n  src: url('../fonts/glyphicons-halflings-regular.eot?#iefix') format('embedded-opentype'), url('../fonts/glyphicons-halflings-regular.woff2') format('woff2'), url('../fonts/glyphicons-halflings-regular.woff') format('woff'), url('../fonts/glyphicons-halflings-regular.ttf') format('truetype'), url('../fonts/glyphicons-halflings-regular.svg#glyphicons_halflingsregular') format('svg');\n}\n.glyphicon {\n  position: relative;\n  top: 1px;\n  display: inline-block;\n  font-family: 'Glyphicons Halflings';\n  font-style: normal;\n  font-weight: normal;\n  line-height: 1;\n  -webkit-font-smoothing: antialiased;\n  -moz-osx-font-smoothing: grayscale;\n}\n.glyphicon-asterisk:before {\n  content: \"\\2a\";\n}\n.glyphicon-plus:before {\n  content: \"\\2b\";\n}\n.glyphicon-euro:before,\n.glyphicon-eur:before {\n  content: \"\\20ac\";\n}\n.glyphicon-minus:before {\n  content: \"\\2212\";\n}\n.glyphicon-cloud:before {\n  content: \"\\2601\";\n}\n.glyphicon-envelope:before {\n  content: \"\\2709\";\n}\n.glyphicon-pencil:before {\n  content: \"\\270f\";\n}\n.glyphicon-glass:before {\n  content: \"\\e001\";\n}\n.glyphicon-music:before {\n  content: \"\\e002\";\n}\n.glyphicon-search:before {\n  content: \"\\e003\";\n}\n.glyphicon-heart:before {\n  content: \"\\e005\";\n}\n.glyphicon-star:before {\n  content: \"\\e006\";\n}\n.glyphicon-star-empty:before {\n  content: \"\\e007\";\n}\n.glyphicon-user:before {\n  content: \"\\e008\";\n}\n.glyphicon-film:before {\n  content: \"\\e009\";\n}\n.glyphicon-th-large:before {\n  content: \"\\e010\";\n}\n.glyphicon-th:before {\n  content: \"\\e011\";\n}\n.glyphicon-th-list:before {\n  content: \"\\e012\";\n}\n.glyphicon-ok:before {\n  content: \"\\e013\";\n}\n.glyphicon-remove:before {\n  content: \"\\e014\";\n}\n.glyphicon-zoom-in:before {\n  content: \"\\e015\";\n}\n.glyphicon-zoom-out:before {\n  content: \"\\e016\";\n}\n.glyphicon-off:before {\n  content: \"\\e017\";\n}\n.glyphicon-signal:before {\n  content: \"\\e018\";\n}\n.glyphicon-cog:before {\n  content: \"\\e019\";\n}\n.glyphicon-trash:before {\n  content: \"\\e020\";\n}\n.glyphicon-home:before {\n  content: \"\\e021\";\n}\n.glyphicon-file:before {\n  content: \"\\e022\";\n}\n.glyphicon-time:before {\n  content: \"\\e023\";\n}\n.glyphicon-road:before {\n  content: \"\\e024\";\n}\n.glyphicon-download-alt:before {\n  content: \"\\e025\";\n}\n.glyphicon-download:before {\n  content: \"\\e026\";\n}\n.glyphicon-upload:before {\n  content: \"\\e027\";\n}\n.glyphicon-inbox:before {\n  content: \"\\e028\";\n}\n.glyphicon-play-circle:before {\n  content: \"\\e029\";\n}\n.glyphicon-repeat:before {\n  content: \"\\e030\";\n}\n.glyphicon-refresh:before {\n  content: \"\\e031\";\n}\n.glyphicon-list-alt:before {\n  content: \"\\e032\";\n}\n.glyphicon-lock:before {\n  content: \"\\e033\";\n}\n.glyphicon-flag:before {\n  content: \"\\e034\";\n}\n.glyphicon-headphones:before {\n  content: \"\\e035\";\n}\n.glyphicon-volume-off:before {\n  content: \"\\e036\";\n}\n.glyphicon-volume-down:before {\n  content: \"\\e037\";\n}\n.glyphicon-volume-up:before {\n  content: \"\\e038\";\n}\n.glyphicon-qrcode:before {\n  content: \"\\e039\";\n}\n.glyphicon-barcode:before {\n  content: \"\\e040\";\n}\n.glyphicon-tag:before {\n  content: \"\\e041\";\n}\n.glyphicon-tags:before {\n  content: \"\\e042\";\n}\n.glyphicon-book:before {\n  content: \"\\e043\";\n}\n.glyphicon-bookmark:before {\n  content: \"\\e044\";\n}\n.glyphicon-print:before {\n  content: \"\\e045\";\n}\n.glyphicon-camera:before {\n  content: \"\\e046\";\n}\n.glyphicon-font:before {\n  content: \"\\e047\";\n}\n.glyphicon-bold:before {\n  content: \"\\e048\";\n}\n.glyphicon-italic:before {\n  content: \"\\e049\";\n}\n.glyphicon-text-height:before {\n  content: \"\\e050\";\n}\n.glyphicon-text-width:before {\n  content: \"\\e051\";\n}\n.glyphicon-align-left:before {\n  content: \"\\e052\";\n}\n.glyphicon-align-center:before {\n  content: \"\\e053\";\n}\n.glyphicon-align-right:before {\n  content: \"\\e054\";\n}\n.glyphicon-align-justify:before {\n  content: \"\\e055\";\n}\n.glyphicon-list:before {\n  content: \"\\e056\";\n}\n.glyphicon-indent-left:before {\n  content: \"\\e057\";\n}\n.glyphicon-indent-right:before {\n  content: \"\\e058\";\n}\n.glyphicon-facetime-video:before {\n  content: \"\\e059\";\n}\n.glyphicon-picture:before {\n  content: \"\\e060\";\n}\n.glyphicon-map-marker:before {\n  content: \"\\e062\";\n}\n.glyphicon-adjust:before {\n  content: \"\\e063\";\n}\n.glyphicon-tint:before {\n  content: \"\\e064\";\n}\n.glyphicon-edit:before {\n  content: \"\\e065\";\n}\n.glyphicon-share:before {\n  content: \"\\e066\";\n}\n.glyphicon-check:before {\n  content: \"\\e067\";\n}\n.glyphicon-move:before {\n  content: \"\\e068\";\n}\n.glyphicon-step-backward:before {\n  content: \"\\e069\";\n}\n.glyphicon-fast-backward:before {\n  content: \"\\e070\";\n}\n.glyphicon-backward:before {\n  content: \"\\e071\";\n}\n.glyphicon-play:before {\n  content: \"\\e072\";\n}\n.glyphicon-pause:before {\n  content: \"\\e073\";\n}\n.glyphicon-stop:before {\n  content: \"\\e074\";\n}\n.glyphicon-forward:before {\n  content: \"\\e075\";\n}\n.glyphicon-fast-forward:before {\n  content: \"\\e076\";\n}\n.glyphicon-step-forward:before {\n  content: \"\\e077\";\n}\n.glyphicon-eject:before {\n  content: \"\\e078\";\n}\n.glyphicon-chevron-left:before {\n  content: \"\\e079\";\n}\n.glyphicon-chevron-right:before {\n  content: \"\\e080\";\n}\n.glyphicon-plus-sign:before {\n  content: \"\\e081\";\n}\n.glyphicon-minus-sign:before {\n  content: \"\\e082\";\n}\n.glyphicon-remove-sign:before {\n  content: \"\\e083\";\n}\n.glyphicon-ok-sign:before {\n  content: \"\\e084\";\n}\n.glyphicon-question-sign:before {\n  content: \"\\e085\";\n}\n.glyphicon-info-sign:before {\n  content: \"\\e086\";\n}\n.glyphicon-screenshot:before {\n  content: \"\\e087\";\n}\n.glyphicon-remove-circle:before {\n  content: \"\\e088\";\n}\n.glyphicon-ok-circle:before {\n  content: \"\\e089\";\n}\n.glyphicon-ban-circle:before {\n  content: \"\\e090\";\n}\n.glyphicon-arrow-left:before {\n  content: \"\\e091\";\n}\n.glyphicon-arrow-right:before {\n  content: \"\\e092\";\n}\n.glyphicon-arrow-up:before {\n  content: \"\\e093\";\n}\n.glyphicon-arrow-down:before {\n  content: \"\\e094\";\n}\n.glyphicon-share-alt:before {\n  content: \"\\e095\";\n}\n.glyphicon-resize-full:before {\n  content: \"\\e096\";\n}\n.glyphicon-resize-small:before {\n  content: \"\\e097\";\n}\n.glyphicon-exclamation-sign:before {\n  content: \"\\e101\";\n}\n.glyphicon-gift:before {\n  content: \"\\e102\";\n}\n.glyphicon-leaf:before {\n  content: \"\\e103\";\n}\n.glyphicon-fire:before {\n  content: \"\\e104\";\n}\n.glyphicon-eye-open:before {\n  content: \"\\e105\";\n}\n.glyphicon-eye-close:before {\n  content: \"\\e106\";\n}\n.glyphicon-warning-sign:before {\n  content: \"\\e107\";\n}\n.glyphicon-plane:before {\n  content: \"\\e108\";\n}\n.glyphicon-calendar:before {\n  content: \"\\e109\";\n}\n.glyphicon-random:before {\n  content: \"\\e110\";\n}\n.glyphicon-comment:before {\n  content: \"\\e111\";\n}\n.glyphicon-magnet:before {\n  content: \"\\e112\";\n}\n.glyphicon-chevron-up:before {\n  content: \"\\e113\";\n}\n.glyphicon-chevron-down:before {\n  content: \"\\e114\";\n}\n.glyphicon-retweet:before {\n  content: \"\\e115\";\n}\n.glyphicon-shopping-cart:before {\n  content: \"\\e116\";\n}\n.glyphicon-folder-close:before {\n  content: \"\\e117\";\n}\n.glyphicon-folder-open:before {\n  content: \"\\e118\";\n}\n.glyphicon-resize-vertical:before {\n  content: \"\\e119\";\n}\n.glyphicon-resize-horizontal:before {\n  content: \"\\e120\";\n}\n.glyphicon-hdd:before {\n  content: \"\\e121\";\n}\n.glyphicon-bullhorn:before {\n  content: \"\\e122\";\n}\n.glyphicon-bell:before {\n  content: \"\\e123\";\n}\n.glyphicon-certificate:before {\n  content: \"\\e124\";\n}\n.glyphicon-thumbs-up:before {\n  content: \"\\e125\";\n}\n.glyphicon-thumbs-down:before {\n  content: \"\\e126\";\n}\n.glyphicon-hand-right:before {\n  content: \"\\e127\";\n}\n.glyphicon-hand-left:before {\n  content: \"\\e128\";\n}\n.glyphicon-hand-up:before {\n  content: \"\\e129\";\n}\n.glyphicon-hand-down:before {\n  content: \"\\e130\";\n}\n.glyphicon-circle-arrow-right:before {\n  content: \"\\e131\";\n}\n.glyphicon-circle-arrow-left:before {\n  content: \"\\e132\";\n}\n.glyphicon-circle-arrow-up:before {\n  content: \"\\e133\";\n}\n.glyphicon-circle-arrow-down:before {\n  content: \"\\e134\";\n}\n.glyphicon-globe:before {\n  content: \"\\e135\";\n}\n.glyphicon-wrench:before {\n  content: \"\\e136\";\n}\n.glyphicon-tasks:before {\n  content: \"\\e137\";\n}\n.glyphicon-filter:before {\n  content: \"\\e138\";\n}\n.glyphicon-briefcase:before {\n  content: \"\\e139\";\n}\n.glyphicon-fullscreen:before {\n  content: \"\\e140\";\n}\n.glyphicon-dashboard:before {\n  content: \"\\e141\";\n}\n.glyphicon-paperclip:before {\n  content: \"\\e142\";\n}\n.glyphicon-heart-empty:before {\n  content: \"\\e143\";\n}\n.glyphicon-link:before {\n  content: \"\\e144\";\n}\n.glyphicon-phone:before {\n  content: \"\\e145\";\n}\n.glyphicon-pushpin:before {\n  content: \"\\e146\";\n}\n.glyphicon-usd:before {\n  content: \"\\e148\";\n}\n.glyphicon-gbp:before {\n  content: \"\\e149\";\n}\n.glyphicon-sort:before {\n  content: \"\\e150\";\n}\n.glyphicon-sort-by-alphabet:before {\n  content: \"\\e151\";\n}\n.glyphicon-sort-by-alphabet-alt:before {\n  content: \"\\e152\";\n}\n.glyphicon-sort-by-order:before {\n  content: \"\\e153\";\n}\n.glyphicon-sort-by-order-alt:before {\n  content: \"\\e154\";\n}\n.glyphicon-sort-by-attributes:before {\n  content: \"\\e155\";\n}\n.glyphicon-sort-by-attributes-alt:before {\n  content: \"\\e156\";\n}\n.glyphicon-unchecked:before {\n  content: \"\\e157\";\n}\n.glyphicon-expand:before {\n  content: \"\\e158\";\n}\n.glyphicon-collapse-down:before {\n  content: \"\\e159\";\n}\n.glyphicon-collapse-up:before {\n  content: \"\\e160\";\n}\n.glyphicon-log-in:before {\n  content: \"\\e161\";\n}\n.glyphicon-flash:before {\n  content: \"\\e162\";\n}\n.glyphicon-log-out:before {\n  content: \"\\e163\";\n}\n.glyphicon-new-window:before {\n  content: \"\\e164\";\n}\n.glyphicon-record:before {\n  content: \"\\e165\";\n}\n.glyphicon-save:before {\n  content: \"\\e166\";\n}\n.glyphicon-open:before {\n  content: \"\\e167\";\n}\n.glyphicon-saved:before {\n  content: \"\\e168\";\n}\n.glyphicon-import:before {\n  content: \"\\e169\";\n}\n.glyphicon-export:before {\n  content: \"\\e170\";\n}\n.glyphicon-send:before {\n  content: \"\\e171\";\n}\n.glyphicon-floppy-disk:before {\n  content: \"\\e172\";\n}\n.glyphicon-floppy-saved:before {\n  content: \"\\e173\";\n}\n.glyphicon-floppy-remove:before {\n  content: \"\\e174\";\n}\n.glyphicon-floppy-save:before {\n  content: \"\\e175\";\n}\n.glyphicon-floppy-open:before {\n  content: \"\\e176\";\n}\n.glyphicon-credit-card:before {\n  content: \"\\e177\";\n}\n.glyphicon-transfer:before {\n  content: \"\\e178\";\n}\n.glyphicon-cutlery:before {\n  content: \"\\e179\";\n}\n.glyphicon-header:before {\n  content: \"\\e180\";\n}\n.glyphicon-compressed:before {\n  content: \"\\e181\";\n}\n.glyphicon-earphone:before {\n  content: \"\\e182\";\n}\n.glyphicon-phone-alt:before {\n  content: \"\\e183\";\n}\n.glyphicon-tower:before {\n  content: \"\\e184\";\n}\n.glyphicon-stats:before {\n  content: \"\\e185\";\n}\n.glyphicon-sd-video:before {\n  content: \"\\e186\";\n}\n.glyphicon-hd-video:before {\n  content: \"\\e187\";\n}\n.glyphicon-subtitles:before {\n  content: \"\\e188\";\n}\n.glyphicon-sound-stereo:before {\n  content: \"\\e189\";\n}\n.glyphicon-sound-dolby:before {\n  content: \"\\e190\";\n}\n.glyphicon-sound-5-1:before {\n  content: \"\\e191\";\n}\n.glyphicon-sound-6-1:before {\n  content: \"\\e192\";\n}\n.glyphicon-sound-7-1:before {\n  content: \"\\e193\";\n}\n.glyphicon-copyright-mark:before {\n  content: \"\\e194\";\n}\n.glyphicon-registration-mark:before {\n  content: \"\\e195\";\n}\n.glyphicon-cloud-download:before {\n  content: \"\\e197\";\n}\n.glyphicon-cloud-upload:before {\n  content: \"\\e198\";\n}\n.glyphicon-tree-conifer:before {\n  content: \"\\e199\";\n}\n.glyphicon-tree-deciduous:before {\n  content: \"\\e200\";\n}\n.glyphicon-cd:before {\n  content: \"\\e201\";\n}\n.glyphicon-save-file:before {\n  content: \"\\e202\";\n}\n.glyphicon-open-file:before {\n  content: \"\\e203\";\n}\n.glyphicon-level-up:before {\n  content: \"\\e204\";\n}\n.glyphicon-copy:before {\n  content: \"\\e205\";\n}\n.glyphicon-paste:before {\n  content: \"\\e206\";\n}\n.glyphicon-alert:before {\n  content: \"\\e209\";\n}\n.glyphicon-equalizer:before {\n  content: \"\\e210\";\n}\n.glyphicon-king:before {\n  content: \"\\e211\";\n}\n.glyphicon-queen:before {\n  content: \"\\e212\";\n}\n.glyphicon-pawn:before {\n  content: \"\\e213\";\n}\n.glyphicon-bishop:before {\n  content: \"\\e214\";\n}\n.glyphicon-knight:before {\n  content: \"\\e215\";\n}\n.glyphicon-baby-formula:before {\n  content: \"\\e216\";\n}\n.glyphicon-tent:before {\n  content: \"\\26fa\";\n}\n.glyphicon-blackboard:before {\n  content: \"\\e218\";\n}\n.glyphicon-bed:before {\n  content: \"\\e219\";\n}\n.glyphicon-apple:before {\n  content: \"\\f8ff\";\n}\n.glyphicon-erase:before {\n  content: \"\\e221\";\n}\n.glyphicon-hourglass:before {\n  content: \"\\231b\";\n}\n.glyphicon-lamp:before {\n  content: \"\\e223\";\n}\n.glyphicon-duplicate:before {\n  content: \"\\e224\";\n}\n.glyphicon-piggy-bank:before {\n  content: \"\\e225\";\n}\n.glyphicon-scissors:before {\n  content: \"\\e226\";\n}\n.glyphicon-bitcoin:before {\n  content: \"\\e227\";\n}\n.glyphicon-btc:before {\n  content: \"\\e227\";\n}\n.glyphicon-xbt:before {\n  content: \"\\e227\";\n}\n.glyphicon-yen:before {\n  content: \"\\00a5\";\n}\n.glyphicon-jpy:before {\n  content: \"\\00a5\";\n}\n.glyphicon-ruble:before {\n  content: \"\\20bd\";\n}\n.glyphicon-rub:before {\n  content: \"\\20bd\";\n}\n.glyphicon-scale:before {\n  content: \"\\e230\";\n}\n.glyphicon-ice-lolly:before {\n  content: \"\\e231\";\n}\n.glyphicon-ice-lolly-tasted:before {\n  content: \"\\e232\";\n}\n.glyphicon-education:before {\n  content: \"\\e233\";\n}\n.glyphicon-option-horizontal:before {\n  content: \"\\e234\";\n}\n.glyphicon-option-vertical:before {\n  content: \"\\e235\";\n}\n.glyphicon-menu-hamburger:before {\n  content: \"\\e236\";\n}\n.glyphicon-modal-window:before {\n  content: \"\\e237\";\n}\n.glyphicon-oil:before {\n  content: \"\\e238\";\n}\n.glyphicon-grain:before {\n  content: \"\\e239\";\n}\n.glyphicon-sunglasses:before {\n  content: \"\\e240\";\n}\n.glyphicon-text-size:before {\n  content: \"\\e241\";\n}\n.glyphicon-text-color:before {\n  content: \"\\e242\";\n}\n.glyphicon-text-background:before {\n  content: \"\\e243\";\n}\n.glyphicon-object-align-top:before {\n  content: \"\\e244\";\n}\n.glyphicon-object-align-bottom:before {\n  content: \"\\e245\";\n}\n.glyphicon-object-align-horizontal:before {\n  content: \"\\e246\";\n}\n.glyphicon-object-align-left:before {\n  content: \"\\e247\";\n}\n.glyphicon-object-align-vertical:before {\n  content: \"\\e248\";\n}\n.glyphicon-object-align-right:before {\n  content: \"\\e249\";\n}\n.glyphicon-triangle-right:before {\n  content: \"\\e250\";\n}\n.glyphicon-triangle-left:before {\n  content: \"\\e251\";\n}\n.glyphicon-triangle-bottom:before {\n  content: \"\\e252\";\n}\n.glyphicon-triangle-top:before {\n  content: \"\\e253\";\n}\n.glyphicon-console:before {\n  content: \"\\e254\";\n}\n.glyphicon-superscript:before {\n  content: \"\\e255\";\n}\n.glyphicon-subscript:before {\n  content: \"\\e256\";\n}\n.glyphicon-menu-left:before {\n  content: \"\\e257\";\n}\n.glyphicon-menu-right:before {\n  content: \"\\e258\";\n}\n.glyphicon-menu-down:before {\n  content: \"\\e259\";\n}\n.glyphicon-menu-up:before {\n  content: \"\\e260\";\n}\n* {\n  -webkit-box-sizing: border-box;\n  -moz-box-sizing: border-box;\n  box-sizing: border-box;\n}\n*:before,\n*:after {\n  -webkit-box-sizing: border-box;\n  -moz-box-sizing: border-box;\n  box-sizing: border-box;\n}\nhtml {\n  font-size: 10px;\n  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);\n}\nbody {\n  font-family: \"Helvetica Neue\", Helvetica, Arial, sans-serif;\n  font-size: 14px;\n  line-height: 1.42857143;\n  color: #333333;\n  background-color: #ffffff;\n}\ninput,\nbutton,\nselect,\ntextarea {\n  font-family: inherit;\n  font-size: inherit;\n  line-height: inherit;\n}\na {\n  color: #337ab7;\n  text-decoration: none;\n}\na:hover,\na:focus {\n  color: #23527c;\n  text-decoration: underline;\n}\na:focus {\n  outline: thin dotted;\n  outline: 5px auto -webkit-focus-ring-color;\n  outline-offset: -2px;\n}\nfigure {\n  margin: 0;\n}\nimg {\n  vertical-align: middle;\n}\n.img-responsive,\n.thumbnail > img,\n.thumbnail a > img,\n.carousel-inner > .item > img,\n.carousel-inner > .item > a > img {\n  display: block;\n  max-width: 100%;\n  height: auto;\n}\n.img-rounded {\n  border-radius: 6px;\n}\n.img-thumbnail {\n  padding: 4px;\n  line-height: 1.42857143;\n  background-color: #ffffff;\n  border: 1px solid #dddddd;\n  border-radius: 4px;\n  -webkit-transition: all 0.2s ease-in-out;\n  -o-transition: all 0.2s ease-in-out;\n  transition: all 0.2s ease-in-out;\n  display: inline-block;\n  max-width: 100%;\n  height: auto;\n}\n.img-circle {\n  border-radius: 50%;\n}\nhr {\n  margin-top: 20px;\n  margin-bottom: 20px;\n  border: 0;\n  border-top: 1px solid #eeeeee;\n}\n.sr-only {\n  position: absolute;\n  width: 1px;\n  height: 1px;\n  margin: -1px;\n  padding: 0;\n  overflow: hidden;\n  clip: rect(0, 0, 0, 0);\n  border: 0;\n}\n.sr-only-focusable:active,\n.sr-only-focusable:focus {\n  position: static;\n  width: auto;\n  height: auto;\n  margin: 0;\n  overflow: visible;\n  clip: auto;\n}\n[role=\"button\"] {\n  cursor: pointer;\n}\nh1,\nh2,\nh3,\nh4,\nh5,\nh6,\n.h1,\n.h2,\n.h3,\n.h4,\n.h5,\n.h6 {\n  font-family: inherit;\n  font-weight: 500;\n  line-height: 1.1;\n  color: inherit;\n}\nh1 small,\nh2 small,\nh3 small,\nh4 small,\nh5 small,\nh6 small,\n.h1 small,\n.h2 small,\n.h3 small,\n.h4 small,\n.h5 small,\n.h6 small,\nh1 .small,\nh2 .small,\nh3 .small,\nh4 .small,\nh5 .small,\nh6 .small,\n.h1 .small,\n.h2 .small,\n.h3 .small,\n.h4 .small,\n.h5 .small,\n.h6 .small {\n  font-weight: normal;\n  line-height: 1;\n  color: #777777;\n}\nh1,\n.h1,\nh2,\n.h2,\nh3,\n.h3 {\n  margin-top: 20px;\n  margin-bottom: 10px;\n}\nh1 small,\n.h1 small,\nh2 small,\n.h2 small,\nh3 small,\n.h3 small,\nh1 .small,\n.h1 .small,\nh2 .small,\n.h2 .small,\nh3 .small,\n.h3 .small {\n  font-size: 65%;\n}\nh4,\n.h4,\nh5,\n.h5,\nh6,\n.h6 {\n  margin-top: 10px;\n  margin-bottom: 10px;\n}\nh4 small,\n.h4 small,\nh5 small,\n.h5 small,\nh6 small,\n.h6 small,\nh4 .small,\n.h4 .small,\nh5 .small,\n.h5 .small,\nh6 .small,\n.h6 .small {\n  font-size: 75%;\n}\nh1,\n.h1 {\n  font-size: 36px;\n}\nh2,\n.h2 {\n  font-size: 30px;\n}\nh3,\n.h3 {\n  font-size: 24px;\n}\nh4,\n.h4 {\n  font-size: 18px;\n}\nh5,\n.h5 {\n  font-size: 14px;\n}\nh6,\n.h6 {\n  font-size: 12px;\n}\np {\n  margin: 0 0 10px;\n}\n.lead {\n  margin-bottom: 20px;\n  font-size: 16px;\n  font-weight: 300;\n  line-height: 1.4;\n}\n@media (min-width: 768px) {\n  .lead {\n    font-size: 21px;\n  }\n}\nsmall,\n.small {\n  font-size: 85%;\n}\nmark,\n.mark {\n  background-color: #fcf8e3;\n  padding: .2em;\n}\n.text-left {\n  text-align: left;\n}\n.text-right {\n  text-align: right;\n}\n.text-center {\n  text-align: center;\n}\n.text-justify {\n  text-align: justify;\n}\n.text-nowrap {\n  white-space: nowrap;\n}\n.text-lowercase {\n  text-transform: lowercase;\n}\n.text-uppercase {\n  text-transform: uppercase;\n}\n.text-capitalize {\n  text-transform: capitalize;\n}\n.text-muted {\n  color: #777777;\n}\n.text-primary {\n  color: #337ab7;\n}\na.text-primary:hover {\n  color: #286090;\n}\n.text-success {\n  color: #3c763d;\n}\na.text-success:hover {\n  color: #2b542c;\n}\n.text-info {\n  color: #31708f;\n}\na.text-info:hover {\n  color: #245269;\n}\n.text-warning {\n  color: #8a6d3b;\n}\na.text-warning:hover {\n  color: #66512c;\n}\n.text-danger {\n  color: #a94442;\n}\na.text-danger:hover {\n  color: #843534;\n}\n.bg-primary {\n  color: #fff;\n  background-color: #337ab7;\n}\na.bg-primary:hover {\n  background-color: #286090;\n}\n.bg-success {\n  background-color: #dff0d8;\n}\na.bg-success:hover {\n  background-color: #c1e2b3;\n}\n.bg-info {\n  background-color: #d9edf7;\n}\na.bg-info:hover {\n  background-color: #afd9ee;\n}\n.bg-warning {\n  background-color: #fcf8e3;\n}\na.bg-warning:hover {\n  background-color: #f7ecb5;\n}\n.bg-danger {\n  background-color: #f2dede;\n}\na.bg-danger:hover {\n  background-color: #e4b9b9;\n}\n.page-header {\n  padding-bottom: 9px;\n  margin: 40px 0 20px;\n  border-bottom: 1px solid #eeeeee;\n}\nul,\nol {\n  margin-top: 0;\n  margin-bottom: 10px;\n}\nul ul,\nol ul,\nul ol,\nol ol {\n  margin-bottom: 0;\n}\n.list-unstyled {\n  padding-left: 0;\n  list-style: none;\n}\n.list-inline {\n  padding-left: 0;\n  list-style: none;\n  margin-left: -5px;\n}\n.list-inline > li {\n  display: inline-block;\n  padding-left: 5px;\n  padding-right: 5px;\n}\ndl {\n  margin-top: 0;\n  margin-bottom: 20px;\n}\ndt,\ndd {\n  line-height: 1.42857143;\n}\ndt {\n  font-weight: bold;\n}\ndd {\n  margin-left: 0;\n}\n@media (min-width: 768px) {\n  .dl-horizontal dt {\n    float: left;\n    width: 160px;\n    clear: left;\n    text-align: right;\n    overflow: hidden;\n    text-overflow: ellipsis;\n    white-space: nowrap;\n  }\n  .dl-horizontal dd {\n    margin-left: 180px;\n  }\n}\nabbr[title],\nabbr[data-original-title] {\n  cursor: help;\n  border-bottom: 1px dotted #777777;\n}\n.initialism {\n  font-size: 90%;\n  text-transform: uppercase;\n}\nblockquote {\n  padding: 10px 20px;\n  margin: 0 0 20px;\n  font-size: 17.5px;\n  border-left: 5px solid #eeeeee;\n}\nblockquote p:last-child,\nblockquote ul:last-child,\nblockquote ol:last-child {\n  margin-bottom: 0;\n}\nblockquote footer,\nblockquote small,\nblockquote .small {\n  display: block;\n  font-size: 80%;\n  line-height: 1.42857143;\n  color: #777777;\n}\nblockquote footer:before,\nblockquote small:before,\nblockquote .small:before {\n  content: '\\2014 \\00A0';\n}\n.blockquote-reverse,\nblockquote.pull-right {\n  padding-right: 15px;\n  padding-left: 0;\n  border-right: 5px solid #eeeeee;\n  border-left: 0;\n  text-align: right;\n}\n.blockquote-reverse footer:before,\nblockquote.pull-right footer:before,\n.blockquote-reverse small:before,\nblockquote.pull-right small:before,\n.blockquote-reverse .small:before,\nblockquote.pull-right .small:before {\n  content: '';\n}\n.blockquote-reverse footer:after,\nblockquote.pull-right footer:after,\n.blockquote-reverse small:after,\nblockquote.pull-right small:after,\n.blockquote-reverse .small:after,\nblockquote.pull-right .small:after {\n  content: '\\00A0 \\2014';\n}\naddress {\n  margin-bottom: 20px;\n  font-style: normal;\n  line-height: 1.42857143;\n}\ncode,\nkbd,\npre,\nsamp {\n  font-family: Menlo, Monaco, Consolas, \"Courier New\", monospace;\n}\ncode {\n  padding: 2px 4px;\n  font-size: 90%;\n  color: #c7254e;\n  background-color: #f9f2f4;\n  border-radius: 4px;\n}\nkbd {\n  padding: 2px 4px;\n  font-size: 90%;\n  color: #ffffff;\n  background-color: #333333;\n  border-radius: 3px;\n  box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.25);\n}\nkbd kbd {\n  padding: 0;\n  font-size: 100%;\n  font-weight: bold;\n  box-shadow: none;\n}\npre {\n  display: block;\n  padding: 9.5px;\n  margin: 0 0 10px;\n  font-size: 13px;\n  line-height: 1.42857143;\n  word-break: break-all;\n  word-wrap: break-word;\n  color: #333333;\n  background-color: #f5f5f5;\n  border: 1px solid #cccccc;\n  border-radius: 4px;\n}\npre code {\n  padding: 0;\n  font-size: inherit;\n  color: inherit;\n  white-space: pre-wrap;\n  background-color: transparent;\n  border-radius: 0;\n}\n.pre-scrollable {\n  max-height: 340px;\n  overflow-y: scroll;\n}\n.container {\n  margin-right: auto;\n  margin-left: auto;\n  padding-left: 15px;\n  padding-right: 15px;\n}\n@media (min-width: 768px) {\n  .container {\n    width: 750px;\n  }\n}\n@media (min-width: 992px) {\n  .container {\n    width: 970px;\n  }\n}\n@media (min-width: 1200px) {\n  .container {\n    width: 1170px;\n  }\n}\n.container-fluid {\n  margin-right: auto;\n  margin-left: auto;\n  padding-left: 15px;\n  padding-right: 15px;\n}\n.row {\n  margin-left: -15px;\n  margin-right: -15px;\n}\n.col-xs-1, .col-sm-1, .col-md-1, .col-lg-1, .col-xs-2, .col-sm-2, .col-md-2, .col-lg-2, .col-xs-3, .col-sm-3, .col-md-3, .col-lg-3, .col-xs-4, .col-sm-4, .col-md-4, .col-lg-4, .col-xs-5, .col-sm-5, .col-md-5, .col-lg-5, .col-xs-6, .col-sm-6, .col-md-6, .col-lg-6, .col-xs-7, .col-sm-7, .col-md-7, .col-lg-7, .col-xs-8, .col-sm-8, .col-md-8, .col-lg-8, .col-xs-9, .col-sm-9, .col-md-9, .col-lg-9, .col-xs-10, .col-sm-10, .col-md-10, .col-lg-10, .col-xs-11, .col-sm-11, .col-md-11, .col-lg-11, .col-xs-12, .col-sm-12, .col-md-12, .col-lg-12 {\n  position: relative;\n  min-height: 1px;\n  padding-left: 15px;\n  padding-right: 15px;\n}\n.col-xs-1, .col-xs-2, .col-xs-3, .col-xs-4, .col-xs-5, .col-xs-6, .col-xs-7, .col-xs-8, .col-xs-9, .col-xs-10, .col-xs-11, .col-xs-12 {\n  float: left;\n}\n.col-xs-12 {\n  width: 100%;\n}\n.col-xs-11 {\n  width: 91.66666667%;\n}\n.col-xs-10 {\n  width: 83.33333333%;\n}\n.col-xs-9 {\n  width: 75%;\n}\n.col-xs-8 {\n  width: 66.66666667%;\n}\n.col-xs-7 {\n  width: 58.33333333%;\n}\n.col-xs-6 {\n  width: 50%;\n}\n.col-xs-5 {\n  width: 41.66666667%;\n}\n.col-xs-4 {\n  width: 33.33333333%;\n}\n.col-xs-3 {\n  width: 25%;\n}\n.col-xs-2 {\n  width: 16.66666667%;\n}\n.col-xs-1 {\n  width: 8.33333333%;\n}\n.col-xs-pull-12 {\n  right: 100%;\n}\n.col-xs-pull-11 {\n  right: 91.66666667%;\n}\n.col-xs-pull-10 {\n  right: 83.33333333%;\n}\n.col-xs-pull-9 {\n  right: 75%;\n}\n.col-xs-pull-8 {\n  right: 66.66666667%;\n}\n.col-xs-pull-7 {\n  right: 58.33333333%;\n}\n.col-xs-pull-6 {\n  right: 50%;\n}\n.col-xs-pull-5 {\n  right: 41.66666667%;\n}\n.col-xs-pull-4 {\n  right: 33.33333333%;\n}\n.col-xs-pull-3 {\n  right: 25%;\n}\n.col-xs-pull-2 {\n  right: 16.66666667%;\n}\n.col-xs-pull-1 {\n  right: 8.33333333%;\n}\n.col-xs-pull-0 {\n  right: auto;\n}\n.col-xs-push-12 {\n  left: 100%;\n}\n.col-xs-push-11 {\n  left: 91.66666667%;\n}\n.col-xs-push-10 {\n  left: 83.33333333%;\n}\n.col-xs-push-9 {\n  left: 75%;\n}\n.col-xs-push-8 {\n  left: 66.66666667%;\n}\n.col-xs-push-7 {\n  left: 58.33333333%;\n}\n.col-xs-push-6 {\n  left: 50%;\n}\n.col-xs-push-5 {\n  left: 41.66666667%;\n}\n.col-xs-push-4 {\n  left: 33.33333333%;\n}\n.col-xs-push-3 {\n  left: 25%;\n}\n.col-xs-push-2 {\n  left: 16.66666667%;\n}\n.col-xs-push-1 {\n  left: 8.33333333%;\n}\n.col-xs-push-0 {\n  left: auto;\n}\n.col-xs-offset-12 {\n  margin-left: 100%;\n}\n.col-xs-offset-11 {\n  margin-left: 91.66666667%;\n}\n.col-xs-offset-10 {\n  margin-left: 83.33333333%;\n}\n.col-xs-offset-9 {\n  margin-left: 75%;\n}\n.col-xs-offset-8 {\n  margin-left: 66.66666667%;\n}\n.col-xs-offset-7 {\n  margin-left: 58.33333333%;\n}\n.col-xs-offset-6 {\n  margin-left: 50%;\n}\n.col-xs-offset-5 {\n  margin-left: 41.66666667%;\n}\n.col-xs-offset-4 {\n  margin-left: 33.33333333%;\n}\n.col-xs-offset-3 {\n  margin-left: 25%;\n}\n.col-xs-offset-2 {\n  margin-left: 16.66666667%;\n}\n.col-xs-offset-1 {\n  margin-left: 8.33333333%;\n}\n.col-xs-offset-0 {\n  margin-left: 0%;\n}\n@media (min-width: 768px) {\n  .col-sm-1, .col-sm-2, .col-sm-3, .col-sm-4, .col-sm-5, .col-sm-6, .col-sm-7, .col-sm-8, .col-sm-9, .col-sm-10, .col-sm-11, .col-sm-12 {\n    float: left;\n  }\n  .col-sm-12 {\n    width: 100%;\n  }\n  .col-sm-11 {\n    width: 91.66666667%;\n  }\n  .col-sm-10 {\n    width: 83.33333333%;\n  }\n  .col-sm-9 {\n    width: 75%;\n  }\n  .col-sm-8 {\n    width: 66.66666667%;\n  }\n  .col-sm-7 {\n    width: 58.33333333%;\n  }\n  .col-sm-6 {\n    width: 50%;\n  }\n  .col-sm-5 {\n    width: 41.66666667%;\n  }\n  .col-sm-4 {\n    width: 33.33333333%;\n  }\n  .col-sm-3 {\n    width: 25%;\n  }\n  .col-sm-2 {\n    width: 16.66666667%;\n  }\n  .col-sm-1 {\n    width: 8.33333333%;\n  }\n  .col-sm-pull-12 {\n    right: 100%;\n  }\n  .col-sm-pull-11 {\n    right: 91.66666667%;\n  }\n  .col-sm-pull-10 {\n    right: 83.33333333%;\n  }\n  .col-sm-pull-9 {\n    right: 75%;\n  }\n  .col-sm-pull-8 {\n    right: 66.66666667%;\n  }\n  .col-sm-pull-7 {\n    right: 58.33333333%;\n  }\n  .col-sm-pull-6 {\n    right: 50%;\n  }\n  .col-sm-pull-5 {\n    right: 41.66666667%;\n  }\n  .col-sm-pull-4 {\n    right: 33.33333333%;\n  }\n  .col-sm-pull-3 {\n    right: 25%;\n  }\n  .col-sm-pull-2 {\n    right: 16.66666667%;\n  }\n  .col-sm-pull-1 {\n    right: 8.33333333%;\n  }\n  .col-sm-pull-0 {\n    right: auto;\n  }\n  .col-sm-push-12 {\n    left: 100%;\n  }\n  .col-sm-push-11 {\n    left: 91.66666667%;\n  }\n  .col-sm-push-10 {\n    left: 83.33333333%;\n  }\n  .col-sm-push-9 {\n    left: 75%;\n  }\n  .col-sm-push-8 {\n    left: 66.66666667%;\n  }\n  .col-sm-push-7 {\n    left: 58.33333333%;\n  }\n  .col-sm-push-6 {\n    left: 50%;\n  }\n  .col-sm-push-5 {\n    left: 41.66666667%;\n  }\n  .col-sm-push-4 {\n    left: 33.33333333%;\n  }\n  .col-sm-push-3 {\n    left: 25%;\n  }\n  .col-sm-push-2 {\n    left: 16.66666667%;\n  }\n  .col-sm-push-1 {\n    left: 8.33333333%;\n  }\n  .col-sm-push-0 {\n    left: auto;\n  }\n  .col-sm-offset-12 {\n    margin-left: 100%;\n  }\n  .col-sm-offset-11 {\n    margin-left: 91.66666667%;\n  }\n  .col-sm-offset-10 {\n    margin-left: 83.33333333%;\n  }\n  .col-sm-offset-9 {\n    margin-left: 75%;\n  }\n  .col-sm-offset-8 {\n    margin-left: 66.66666667%;\n  }\n  .col-sm-offset-7 {\n    margin-left: 58.33333333%;\n  }\n  .col-sm-offset-6 {\n    margin-left: 50%;\n  }\n  .col-sm-offset-5 {\n    margin-left: 41.66666667%;\n  }\n  .col-sm-offset-4 {\n    margin-left: 33.33333333%;\n  }\n  .col-sm-offset-3 {\n    margin-left: 25%;\n  }\n  .col-sm-offset-2 {\n    margin-left: 16.66666667%;\n  }\n  .col-sm-offset-1 {\n    margin-left: 8.33333333%;\n  }\n  .col-sm-offset-0 {\n    margin-left: 0%;\n  }\n}\n@media (min-width: 992px) {\n  .col-md-1, .col-md-2, .col-md-3, .col-md-4, .col-md-5, .col-md-6, .col-md-7, .col-md-8, .col-md-9, .col-md-10, .col-md-11, .col-md-12 {\n    float: left;\n  }\n  .col-md-12 {\n    width: 100%;\n  }\n  .col-md-11 {\n    width: 91.66666667%;\n  }\n  .col-md-10 {\n    width: 83.33333333%;\n  }\n  .col-md-9 {\n    width: 75%;\n  }\n  .col-md-8 {\n    width: 66.66666667%;\n  }\n  .col-md-7 {\n    width: 58.33333333%;\n  }\n  .col-md-6 {\n    width: 50%;\n  }\n  .col-md-5 {\n    width: 41.66666667%;\n  }\n  .col-md-4 {\n    width: 33.33333333%;\n  }\n  .col-md-3 {\n    width: 25%;\n  }\n  .col-md-2 {\n    width: 16.66666667%;\n  }\n  .col-md-1 {\n    width: 8.33333333%;\n  }\n  .col-md-pull-12 {\n    right: 100%;\n  }\n  .col-md-pull-11 {\n    right: 91.66666667%;\n  }\n  .col-md-pull-10 {\n    right: 83.33333333%;\n  }\n  .col-md-pull-9 {\n    right: 75%;\n  }\n  .col-md-pull-8 {\n    right: 66.66666667%;\n  }\n  .col-md-pull-7 {\n    right: 58.33333333%;\n  }\n  .col-md-pull-6 {\n    right: 50%;\n  }\n  .col-md-pull-5 {\n    right: 41.66666667%;\n  }\n  .col-md-pull-4 {\n    right: 33.33333333%;\n  }\n  .col-md-pull-3 {\n    right: 25%;\n  }\n  .col-md-pull-2 {\n    right: 16.66666667%;\n  }\n  .col-md-pull-1 {\n    right: 8.33333333%;\n  }\n  .col-md-pull-0 {\n    right: auto;\n  }\n  .col-md-push-12 {\n    left: 100%;\n  }\n  .col-md-push-11 {\n    left: 91.66666667%;\n  }\n  .col-md-push-10 {\n    left: 83.33333333%;\n  }\n  .col-md-push-9 {\n    left: 75%;\n  }\n  .col-md-push-8 {\n    left: 66.66666667%;\n  }\n  .col-md-push-7 {\n    left: 58.33333333%;\n  }\n  .col-md-push-6 {\n    left: 50%;\n  }\n  .col-md-push-5 {\n    left: 41.66666667%;\n  }\n  .col-md-push-4 {\n    left: 33.33333333%;\n  }\n  .col-md-push-3 {\n    left: 25%;\n  }\n  .col-md-push-2 {\n    left: 16.66666667%;\n  }\n  .col-md-push-1 {\n    left: 8.33333333%;\n  }\n  .col-md-push-0 {\n    left: auto;\n  }\n  .col-md-offset-12 {\n    margin-left: 100%;\n  }\n  .col-md-offset-11 {\n    margin-left: 91.66666667%;\n  }\n  .col-md-offset-10 {\n    margin-left: 83.33333333%;\n  }\n  .col-md-offset-9 {\n    margin-left: 75%;\n  }\n  .col-md-offset-8 {\n    margin-left: 66.66666667%;\n  }\n  .col-md-offset-7 {\n    margin-left: 58.33333333%;\n  }\n  .col-md-offset-6 {\n    margin-left: 50%;\n  }\n  .col-md-offset-5 {\n    margin-left: 41.66666667%;\n  }\n  .col-md-offset-4 {\n    margin-left: 33.33333333%;\n  }\n  .col-md-offset-3 {\n    margin-left: 25%;\n  }\n  .col-md-offset-2 {\n    margin-left: 16.66666667%;\n  }\n  .col-md-offset-1 {\n    margin-left: 8.33333333%;\n  }\n  .col-md-offset-0 {\n    margin-left: 0%;\n  }\n}\n@media (min-width: 1200px) {\n  .col-lg-1, .col-lg-2, .col-lg-3, .col-lg-4, .col-lg-5, .col-lg-6, .col-lg-7, .col-lg-8, .col-lg-9, .col-lg-10, .col-lg-11, .col-lg-12 {\n    float: left;\n  }\n  .col-lg-12 {\n    width: 100%;\n  }\n  .col-lg-11 {\n    width: 91.66666667%;\n  }\n  .col-lg-10 {\n    width: 83.33333333%;\n  }\n  .col-lg-9 {\n    width: 75%;\n  }\n  .col-lg-8 {\n    width: 66.66666667%;\n  }\n  .col-lg-7 {\n    width: 58.33333333%;\n  }\n  .col-lg-6 {\n    width: 50%;\n  }\n  .col-lg-5 {\n    width: 41.66666667%;\n  }\n  .col-lg-4 {\n    width: 33.33333333%;\n  }\n  .col-lg-3 {\n    width: 25%;\n  }\n  .col-lg-2 {\n    width: 16.66666667%;\n  }\n  .col-lg-1 {\n    width: 8.33333333%;\n  }\n  .col-lg-pull-12 {\n    right: 100%;\n  }\n  .col-lg-pull-11 {\n    right: 91.66666667%;\n  }\n  .col-lg-pull-10 {\n    right: 83.33333333%;\n  }\n  .col-lg-pull-9 {\n    right: 75%;\n  }\n  .col-lg-pull-8 {\n    right: 66.66666667%;\n  }\n  .col-lg-pull-7 {\n    right: 58.33333333%;\n  }\n  .col-lg-pull-6 {\n    right: 50%;\n  }\n  .col-lg-pull-5 {\n    right: 41.66666667%;\n  }\n  .col-lg-pull-4 {\n    right: 33.33333333%;\n  }\n  .col-lg-pull-3 {\n    right: 25%;\n  }\n  .col-lg-pull-2 {\n    right: 16.66666667%;\n  }\n  .col-lg-pull-1 {\n    right: 8.33333333%;\n  }\n  .col-lg-pull-0 {\n    right: auto;\n  }\n  .col-lg-push-12 {\n    left: 100%;\n  }\n  .col-lg-push-11 {\n    left: 91.66666667%;\n  }\n  .col-lg-push-10 {\n    left: 83.33333333%;\n  }\n  .col-lg-push-9 {\n    left: 75%;\n  }\n  .col-lg-push-8 {\n    left: 66.66666667%;\n  }\n  .col-lg-push-7 {\n    left: 58.33333333%;\n  }\n  .col-lg-push-6 {\n    left: 50%;\n  }\n  .col-lg-push-5 {\n    left: 41.66666667%;\n  }\n  .col-lg-push-4 {\n    left: 33.33333333%;\n  }\n  .col-lg-push-3 {\n    left: 25%;\n  }\n  .col-lg-push-2 {\n    left: 16.66666667%;\n  }\n  .col-lg-push-1 {\n    left: 8.33333333%;\n  }\n  .col-lg-push-0 {\n    left: auto;\n  }\n  .col-lg-offset-12 {\n    margin-left: 100%;\n  }\n  .col-lg-offset-11 {\n    margin-left: 91.66666667%;\n  }\n  .col-lg-offset-10 {\n    margin-left: 83.33333333%;\n  }\n  .col-lg-offset-9 {\n    margin-left: 75%;\n  }\n  .col-lg-offset-8 {\n    margin-left: 66.66666667%;\n  }\n  .col-lg-offset-7 {\n    margin-left: 58.33333333%;\n  }\n  .col-lg-offset-6 {\n    margin-left: 50%;\n  }\n  .col-lg-offset-5 {\n    margin-left: 41.66666667%;\n  }\n  .col-lg-offset-4 {\n    margin-left: 33.33333333%;\n  }\n  .col-lg-offset-3 {\n    margin-left: 25%;\n  }\n  .col-lg-offset-2 {\n    margin-left: 16.66666667%;\n  }\n  .col-lg-offset-1 {\n    margin-left: 8.33333333%;\n  }\n  .col-lg-offset-0 {\n    margin-left: 0%;\n  }\n}\ntable {\n  background-color: transparent;\n}\ncaption {\n  padding-top: 8px;\n  padding-bottom: 8px;\n  color: #777777;\n  text-align: left;\n}\nth {\n  text-align: left;\n}\n.table {\n  width: 100%;\n  max-width: 100%;\n  margin-bottom: 20px;\n}\n.table > thead > tr > th,\n.table > tbody > tr > th,\n.table > tfoot > tr > th,\n.table > thead > tr > td,\n.table > tbody > tr > td,\n.table > tfoot > tr > td {\n  padding: 8px;\n  line-height: 1.42857143;\n  vertical-align: top;\n  border-top: 1px solid #dddddd;\n}\n.table > thead > tr > th {\n  vertical-align: bottom;\n  border-bottom: 2px solid #dddddd;\n}\n.table > caption + thead > tr:first-child > th,\n.table > colgroup + thead > tr:first-child > th,\n.table > thead:first-child > tr:first-child > th,\n.table > caption + thead > tr:first-child > td,\n.table > colgroup + thead > tr:first-child > td,\n.table > thead:first-child > tr:first-child > td {\n  border-top: 0;\n}\n.table > tbody + tbody {\n  border-top: 2px solid #dddddd;\n}\n.table .table {\n  background-color: #ffffff;\n}\n.table-condensed > thead > tr > th,\n.table-condensed > tbody > tr > th,\n.table-condensed > tfoot > tr > th,\n.table-condensed > thead > tr > td,\n.table-condensed > tbody > tr > td,\n.table-condensed > tfoot > tr > td {\n  padding: 5px;\n}\n.table-bordered {\n  border: 1px solid #dddddd;\n}\n.table-bordered > thead > tr > th,\n.table-bordered > tbody > tr > th,\n.table-bordered > tfoot > tr > th,\n.table-bordered > thead > tr > td,\n.table-bordered > tbody > tr > td,\n.table-bordered > tfoot > tr > td {\n  border: 1px solid #dddddd;\n}\n.table-bordered > thead > tr > th,\n.table-bordered > thead > tr > td {\n  border-bottom-width: 2px;\n}\n.table-striped > tbody > tr:nth-of-type(odd) {\n  background-color: #f9f9f9;\n}\n.table-hover > tbody > tr:hover {\n  background-color: #f5f5f5;\n}\ntable col[class*=\"col-\"] {\n  position: static;\n  float: none;\n  display: table-column;\n}\ntable td[class*=\"col-\"],\ntable th[class*=\"col-\"] {\n  position: static;\n  float: none;\n  display: table-cell;\n}\n.table > thead > tr > td.active,\n.table > tbody > tr > td.active,\n.table > tfoot > tr > td.active,\n.table > thead > tr > th.active,\n.table > tbody > tr > th.active,\n.table > tfoot > tr > th.active,\n.table > thead > tr.active > td,\n.table > tbody > tr.active > td,\n.table > tfoot > tr.active > td,\n.table > thead > tr.active > th,\n.table > tbody > tr.active > th,\n.table > tfoot > tr.active > th {\n  background-color: #f5f5f5;\n}\n.table-hover > tbody > tr > td.active:hover,\n.table-hover > tbody > tr > th.active:hover,\n.table-hover > tbody > tr.active:hover > td,\n.table-hover > tbody > tr:hover > .active,\n.table-hover > tbody > tr.active:hover > th {\n  background-color: #e8e8e8;\n}\n.table > thead > tr > td.success,\n.table > tbody > tr > td.success,\n.table > tfoot > tr > td.success,\n.table > thead > tr > th.success,\n.table > tbody > tr > th.success,\n.table > tfoot > tr > th.success,\n.table > thead > tr.success > td,\n.table > tbody > tr.success > td,\n.table > tfoot > tr.success > td,\n.table > thead > tr.success > th,\n.table > tbody > tr.success > th,\n.table > tfoot > tr.success > th {\n  background-color: #dff0d8;\n}\n.table-hover > tbody > tr > td.success:hover,\n.table-hover > tbody > tr > th.success:hover,\n.table-hover > tbody > tr.success:hover > td,\n.table-hover > tbody > tr:hover > .success,\n.table-hover > tbody > tr.success:hover > th {\n  background-color: #d0e9c6;\n}\n.table > thead > tr > td.info,\n.table > tbody > tr > td.info,\n.table > tfoot > tr > td.info,\n.table > thead > tr > th.info,\n.table > tbody > tr > th.info,\n.table > tfoot > tr > th.info,\n.table > thead > tr.info > td,\n.table > tbody > tr.info > td,\n.table > tfoot > tr.info > td,\n.table > thead > tr.info > th,\n.table > tbody > tr.info > th,\n.table > tfoot > tr.info > th {\n  background-color: #d9edf7;\n}\n.table-hover > tbody > tr > td.info:hover,\n.table-hover > tbody > tr > th.info:hover,\n.table-hover > tbody > tr.info:hover > td,\n.table-hover > tbody > tr:hover > .info,\n.table-hover > tbody > tr.info:hover > th {\n  background-color: #c4e3f3;\n}\n.table > thead > tr > td.warning,\n.table > tbody > tr > td.warning,\n.table > tfoot > tr > td.warning,\n.table > thead > tr > th.warning,\n.table > tbody > tr > th.warning,\n.table > tfoot > tr > th.warning,\n.table > thead > tr.warning > td,\n.table > tbody > tr.warning > td,\n.table > tfoot > tr.warning > td,\n.table > thead > tr.warning > th,\n.table > tbody > tr.warning > th,\n.table > tfoot > tr.warning > th {\n  background-color: #fcf8e3;\n}\n.table-hover > tbody > tr > td.warning:hover,\n.table-hover > tbody > tr > th.warning:hover,\n.table-hover > tbody > tr.warning:hover > td,\n.table-hover > tbody > tr:hover > .warning,\n.table-hover > tbody > tr.warning:hover > th {\n  background-color: #faf2cc;\n}\n.table > thead > tr > td.danger,\n.table > tbody > tr > td.danger,\n.table > tfoot > tr > td.danger,\n.table > thead > tr > th.danger,\n.table > tbody > tr > th.danger,\n.table > tfoot > tr > th.danger,\n.table > thead > tr.danger > td,\n.table > tbody > tr.danger > td,\n.table > tfoot > tr.danger > td,\n.table > thead > tr.danger > th,\n.table > tbody > tr.danger > th,\n.table > tfoot > tr.danger > th {\n  background-color: #f2dede;\n}\n.table-hover > tbody > tr > td.danger:hover,\n.table-hover > tbody > tr > th.danger:hover,\n.table-hover > tbody > tr.danger:hover > td,\n.table-hover > tbody > tr:hover > .danger,\n.table-hover > tbody > tr.danger:hover > th {\n  background-color: #ebcccc;\n}\n.table-responsive {\n  overflow-x: auto;\n  min-height: 0.01%;\n}\n@media screen and (max-width: 767px) {\n  .table-responsive {\n    width: 100%;\n    margin-bottom: 15px;\n    overflow-y: hidden;\n    -ms-overflow-style: -ms-autohiding-scrollbar;\n    border: 1px solid #dddddd;\n  }\n  .table-responsive > .table {\n    margin-bottom: 0;\n  }\n  .table-responsive > .table > thead > tr > th,\n  .table-responsive > .table > tbody > tr > th,\n  .table-responsive > .table > tfoot > tr > th,\n  .table-responsive > .table > thead > tr > td,\n  .table-responsive > .table > tbody > tr > td,\n  .table-responsive > .table > tfoot > tr > td {\n    white-space: nowrap;\n  }\n  .table-responsive > .table-bordered {\n    border: 0;\n  }\n  .table-responsive > .table-bordered > thead > tr > th:first-child,\n  .table-responsive > .table-bordered > tbody > tr > th:first-child,\n  .table-responsive > .table-bordered > tfoot > tr > th:first-child,\n  .table-responsive > .table-bordered > thead > tr > td:first-child,\n  .table-responsive > .table-bordered > tbody > tr > td:first-child,\n  .table-responsive > .table-bordered > tfoot > tr > td:first-child {\n    border-left: 0;\n  }\n  .table-responsive > .table-bordered > thead > tr > th:last-child,\n  .table-responsive > .table-bordered > tbody > tr > th:last-child,\n  .table-responsive > .table-bordered > tfoot > tr > th:last-child,\n  .table-responsive > .table-bordered > thead > tr > td:last-child,\n  .table-responsive > .table-bordered > tbody > tr > td:last-child,\n  .table-responsive > .table-bordered > tfoot > tr > td:last-child {\n    border-right: 0;\n  }\n  .table-responsive > .table-bordered > tbody > tr:last-child > th,\n  .table-responsive > .table-bordered > tfoot > tr:last-child > th,\n  .table-responsive > .table-bordered > tbody > tr:last-child > td,\n  .table-responsive > .table-bordered > tfoot > tr:last-child > td {\n    border-bottom: 0;\n  }\n}\nfieldset {\n  padding: 0;\n  margin: 0;\n  border: 0;\n  min-width: 0;\n}\nlegend {\n  display: block;\n  width: 100%;\n  padding: 0;\n  margin-bottom: 20px;\n  font-size: 21px;\n  line-height: inherit;\n  color: #333333;\n  border: 0;\n  border-bottom: 1px solid #e5e5e5;\n}\nlabel {\n  display: inline-block;\n  max-width: 100%;\n  margin-bottom: 5px;\n  font-weight: bold;\n}\ninput[type=\"search\"] {\n  -webkit-box-sizing: border-box;\n  -moz-box-sizing: border-box;\n  box-sizing: border-box;\n}\ninput[type=\"radio\"],\ninput[type=\"checkbox\"] {\n  margin: 4px 0 0;\n  margin-top: 1px \\9;\n  line-height: normal;\n}\ninput[type=\"file\"] {\n  display: block;\n}\ninput[type=\"range\"] {\n  display: block;\n  width: 100%;\n}\nselect[multiple],\nselect[size] {\n  height: auto;\n}\ninput[type=\"file\"]:focus,\ninput[type=\"radio\"]:focus,\ninput[type=\"checkbox\"]:focus {\n  outline: thin dotted;\n  outline: 5px auto -webkit-focus-ring-color;\n  outline-offset: -2px;\n}\noutput {\n  display: block;\n  padding-top: 7px;\n  font-size: 14px;\n  line-height: 1.42857143;\n  color: #555555;\n}\n.form-control {\n  display: block;\n  width: 100%;\n  height: 34px;\n  padding: 6px 12px;\n  font-size: 14px;\n  line-height: 1.42857143;\n  color: #555555;\n  background-color: #ffffff;\n  background-image: none;\n  border: 1px solid #cccccc;\n  border-radius: 4px;\n  -webkit-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-color ease-in-out .15s, box-shadow ease-in-out .15s;\n  -o-transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s;\n  transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s;\n}\n.form-control:focus {\n  border-color: #66afe9;\n  outline: 0;\n  -webkit-box-shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px rgba(102, 175, 233, 0.6);\n  box-shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px rgba(102, 175, 233, 0.6);\n}\n.form-control::-moz-placeholder {\n  color: #999999;\n  opacity: 1;\n}\n.form-control:-ms-input-placeholder {\n  color: #999999;\n}\n.form-control::-webkit-input-placeholder {\n  color: #999999;\n}\n.form-control[disabled],\n.form-control[readonly],\nfieldset[disabled] .form-control {\n  background-color: #eeeeee;\n  opacity: 1;\n}\n.form-control[disabled],\nfieldset[disabled] .form-control {\n  cursor: not-allowed;\n}\ntextarea.form-control {\n  height: auto;\n}\ninput[type=\"search\"] {\n  -webkit-appearance: none;\n}\n@media screen and (-webkit-min-device-pixel-ratio: 0) {\n  input[type=\"date\"],\n  input[type=\"time\"],\n  input[type=\"datetime-local\"],\n  input[type=\"month\"] {\n    line-height: 34px;\n  }\n  input[type=\"date\"].input-sm,\n  input[type=\"time\"].input-sm,\n  input[type=\"datetime-local\"].input-sm,\n  input[type=\"month\"].input-sm,\n  .input-group-sm input[type=\"date\"],\n  .input-group-sm input[type=\"time\"],\n  .input-group-sm input[type=\"datetime-local\"],\n  .input-group-sm input[type=\"month\"] {\n    line-height: 30px;\n  }\n  input[type=\"date\"].input-lg,\n  input[type=\"time\"].input-lg,\n  input[type=\"datetime-local\"].input-lg,\n  input[type=\"month\"].input-lg,\n  .input-group-lg input[type=\"date\"],\n  .input-group-lg input[type=\"time\"],\n  .input-group-lg input[type=\"datetime-local\"],\n  .input-group-lg input[type=\"month\"] {\n    line-height: 46px;\n  }\n}\n.form-group {\n  margin-bottom: 15px;\n}\n.radio,\n.checkbox {\n  position: relative;\n  display: block;\n  margin-top: 10px;\n  margin-bottom: 10px;\n}\n.radio label,\n.checkbox label {\n  min-height: 20px;\n  padding-left: 20px;\n  margin-bottom: 0;\n  font-weight: normal;\n  cursor: pointer;\n}\n.radio input[type=\"radio\"],\n.radio-inline input[type=\"radio\"],\n.checkbox input[type=\"checkbox\"],\n.checkbox-inline input[type=\"checkbox\"] {\n  position: absolute;\n  margin-left: -20px;\n  margin-top: 4px \\9;\n}\n.radio + .radio,\n.checkbox + .checkbox {\n  margin-top: -5px;\n}\n.radio-inline,\n.checkbox-inline {\n  position: relative;\n  display: inline-block;\n  padding-left: 20px;\n  margin-bottom: 0;\n  vertical-align: middle;\n  font-weight: normal;\n  cursor: pointer;\n}\n.radio-inline + .radio-inline,\n.checkbox-inline + .checkbox-inline {\n  margin-top: 0;\n  margin-left: 10px;\n}\ninput[type=\"radio\"][disabled],\ninput[type=\"checkbox\"][disabled],\ninput[type=\"radio\"].disabled,\ninput[type=\"checkbox\"].disabled,\nfieldset[disabled] input[type=\"radio\"],\nfieldset[disabled] input[type=\"checkbox\"] {\n  cursor: not-allowed;\n}\n.radio-inline.disabled,\n.checkbox-inline.disabled,\nfieldset[disabled] .radio-inline,\nfieldset[disabled] .checkbox-inline {\n  cursor: not-allowed;\n}\n.radio.disabled label,\n.checkbox.disabled label,\nfieldset[disabled] .radio label,\nfieldset[disabled] .checkbox label {\n  cursor: not-allowed;\n}\n.form-control-static {\n  padding-top: 7px;\n  padding-bottom: 7px;\n  margin-bottom: 0;\n  min-height: 34px;\n}\n.form-control-static.input-lg,\n.form-control-static.input-sm {\n  padding-left: 0;\n  padding-right: 0;\n}\n.input-sm {\n  height: 30px;\n  padding: 5px 10px;\n  font-size: 12px;\n  line-height: 1.5;\n  border-radius: 3px;\n}\nselect.input-sm {\n  height: 30px;\n  line-height: 30px;\n}\ntextarea.input-sm,\nselect[multiple].input-sm {\n  height: auto;\n}\n.form-group-sm .form-control {\n  height: 30px;\n  padding: 5px 10px;\n  font-size: 12px;\n  line-height: 1.5;\n  border-radius: 3px;\n}\nselect.form-group-sm .form-control {\n  height: 30px;\n  line-height: 30px;\n}\ntextarea.form-group-sm .form-control,\nselect[multiple].form-group-sm .form-control {\n  height: auto;\n}\n.form-group-sm .form-control-static {\n  height: 30px;\n  padding: 5px 10px;\n  font-size: 12px;\n  line-height: 1.5;\n  min-height: 32px;\n}\n.input-lg {\n  height: 46px;\n  padding: 10px 16px;\n  font-size: 18px;\n  line-height: 1.3333333;\n  border-radius: 6px;\n}\nselect.input-lg {\n  height: 46px;\n  line-height: 46px;\n}\ntextarea.input-lg,\nselect[multiple].input-lg {\n  height: auto;\n}\n.form-group-lg .form-control {\n  height: 46px;\n  padding: 10px 16px;\n  font-size: 18px;\n  line-height: 1.3333333;\n  border-radius: 6px;\n}\nselect.form-group-lg .form-control {\n  height: 46px;\n  line-height: 46px;\n}\ntextarea.form-group-lg .form-control,\nselect[multiple].form-group-lg .form-control {\n  height: auto;\n}\n.form-group-lg .form-control-static {\n  height: 46px;\n  padding: 10px 16px;\n  font-size: 18px;\n  line-height: 1.3333333;\n  min-height: 38px;\n}\n.has-feedback {\n  position: relative;\n}\n.has-feedback .form-control {\n  padding-right: 42.5px;\n}\n.form-control-feedback {\n  position: absolute;\n  top: 0;\n  right: 0;\n  z-index: 2;\n  display: block;\n  width: 34px;\n  height: 34px;\n  line-height: 34px;\n  text-align: center;\n  pointer-events: none;\n}\n.input-lg + .form-control-feedback {\n  width: 46px;\n  height: 46px;\n  line-height: 46px;\n}\n.input-sm + .form-control-feedback {\n  width: 30px;\n  height: 30px;\n  line-height: 30px;\n}\n.has-success .help-block,\n.has-success .control-label,\n.has-success .radio,\n.has-success .checkbox,\n.has-success .radio-inline,\n.has-success .checkbox-inline,\n.has-success.radio label,\n.has-success.checkbox label,\n.has-success.radio-inline label,\n.has-success.checkbox-inline label {\n  color: #3c763d;\n}\n.has-success .form-control {\n  border-color: #3c763d;\n  -webkit-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}\n.has-success .form-control:focus {\n  border-color: #2b542c;\n  -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #67b168;\n  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #67b168;\n}\n.has-success .input-group-addon {\n  color: #3c763d;\n  border-color: #3c763d;\n  background-color: #dff0d8;\n}\n.has-success .form-control-feedback {\n  color: #3c763d;\n}\n.has-warning .help-block,\n.has-warning .control-label,\n.has-warning .radio,\n.has-warning .checkbox,\n.has-warning .radio-inline,\n.has-warning .checkbox-inline,\n.has-warning.radio label,\n.has-warning.checkbox label,\n.has-warning.radio-inline label,\n.has-warning.checkbox-inline label {\n  color: #8a6d3b;\n}\n.has-warning .form-control {\n  border-color: #8a6d3b;\n  -webkit-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}\n.has-warning .form-control:focus {\n  border-color: #66512c;\n  -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #c0a16b;\n  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #c0a16b;\n}\n.has-warning .input-group-addon {\n  color: #8a6d3b;\n  border-color: #8a6d3b;\n  background-color: #fcf8e3;\n}\n.has-warning .form-control-feedback {\n  color: #8a6d3b;\n}\n.has-error .help-block,\n.has-error .control-label,\n.has-error .radio,\n.has-error .checkbox,\n.has-error .radio-inline,\n.has-error .checkbox-inline,\n.has-error.radio label,\n.has-error.checkbox label,\n.has-error.radio-inline label,\n.has-error.checkbox-inline label {\n  color: #a94442;\n}\n.has-error .form-control {\n  border-color: #a94442;\n  -webkit-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}\n.has-error .form-control:focus {\n  border-color: #843534;\n  -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #ce8483;\n  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #ce8483;\n}\n.has-error .input-group-addon {\n  color: #a94442;\n  border-color: #a94442;\n  background-color: #f2dede;\n}\n.has-error .form-control-feedback {\n  color: #a94442;\n}\n.has-feedback label ~ .form-control-feedback {\n  top: 25px;\n}\n.has-feedback label.sr-only ~ .form-control-feedback {\n  top: 0;\n}\n.help-block {\n  display: block;\n  margin-top: 5px;\n  margin-bottom: 10px;\n  color: #737373;\n}\n@media (min-width: 768px) {\n  .form-inline .form-group {\n    display: inline-block;\n    margin-bottom: 0;\n    vertical-align: middle;\n  }\n  .form-inline .form-control {\n    display: inline-block;\n    width: auto;\n    vertical-align: middle;\n  }\n  .form-inline .form-control-static {\n    display: inline-block;\n  }\n  .form-inline .input-group {\n    display: inline-table;\n    vertical-align: middle;\n  }\n  .form-inline .input-group .input-group-addon,\n  .form-inline .input-group .input-group-btn,\n  .form-inline .input-group .form-control {\n    width: auto;\n  }\n  .form-inline .input-group > .form-control {\n    width: 100%;\n  }\n  .form-inline .control-label {\n    margin-bottom: 0;\n    vertical-align: middle;\n  }\n  .form-inline .radio,\n  .form-inline .checkbox {\n    display: inline-block;\n    margin-top: 0;\n    margin-bottom: 0;\n    vertical-align: middle;\n  }\n  .form-inline .radio label,\n  .form-inline .checkbox label {\n    padding-left: 0;\n  }\n  .form-inline .radio input[type=\"radio\"],\n  .form-inline .checkbox input[type=\"checkbox\"] {\n    position: relative;\n    margin-left: 0;\n  }\n  .form-inline .has-feedback .form-control-feedback {\n    top: 0;\n  }\n}\n.form-horizontal .radio,\n.form-horizontal .checkbox,\n.form-horizontal .radio-inline,\n.form-horizontal .checkbox-inline {\n  margin-top: 0;\n  margin-bottom: 0;\n  padding-top: 7px;\n}\n.form-horizontal .radio,\n.form-horizontal .checkbox {\n  min-height: 27px;\n}\n.form-horizontal .form-group {\n  margin-left: -15px;\n  margin-right: -15px;\n}\n@media (min-width: 768px) {\n  .form-horizontal .control-label {\n    text-align: right;\n    margin-bottom: 0;\n    padding-top: 7px;\n  }\n}\n.form-horizontal .has-feedback .form-control-feedback {\n  right: 15px;\n}\n@media (min-width: 768px) {\n  .form-horizontal .form-group-lg .control-label {\n    padding-top: 14.333333px;\n  }\n}\n@media (min-width: 768px) {\n  .form-horizontal .form-group-sm .control-label {\n    padding-top: 6px;\n  }\n}\n.btn {\n  display: inline-block;\n  margin-bottom: 0;\n  font-weight: normal;\n  text-align: center;\n  vertical-align: middle;\n  touch-action: manipulation;\n  cursor: pointer;\n  background-image: none;\n  border: 1px solid transparent;\n  white-space: nowrap;\n  padding: 6px 12px;\n  font-size: 14px;\n  line-height: 1.42857143;\n  border-radius: 4px;\n  -webkit-user-select: none;\n  -moz-user-select: none;\n  -ms-user-select: none;\n  user-select: none;\n}\n.btn:focus,\n.btn:active:focus,\n.btn.active:focus,\n.btn.focus,\n.btn:active.focus,\n.btn.active.focus {\n  outline: thin dotted;\n  outline: 5px auto -webkit-focus-ring-color;\n  outline-offset: -2px;\n}\n.btn:hover,\n.btn:focus,\n.btn.focus {\n  color: #333333;\n  text-decoration: none;\n}\n.btn:active,\n.btn.active {\n  outline: 0;\n  background-image: none;\n  -webkit-box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);\n  box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);\n}\n.btn.disabled,\n.btn[disabled],\nfieldset[disabled] .btn {\n  cursor: not-allowed;\n  pointer-events: none;\n  opacity: 0.65;\n  filter: alpha(opacity=65);\n  -webkit-box-shadow: none;\n  box-shadow: none;\n}\n.btn-default {\n  color: #333333;\n  background-color: #ffffff;\n  border-color: #cccccc;\n}\n.btn-default:hover,\n.btn-default:focus,\n.btn-default.focus,\n.btn-default:active,\n.btn-default.active,\n.open > .dropdown-toggle.btn-default {\n  color: #333333;\n  background-color: #e6e6e6;\n  border-color: #adadad;\n}\n.btn-default:active,\n.btn-default.active,\n.open > .dropdown-toggle.btn-default {\n  background-image: none;\n}\n.btn-default.disabled,\n.btn-default[disabled],\nfieldset[disabled] .btn-default,\n.btn-default.disabled:hover,\n.btn-default[disabled]:hover,\nfieldset[disabled] .btn-default:hover,\n.btn-default.disabled:focus,\n.btn-default[disabled]:focus,\nfieldset[disabled] .btn-default:focus,\n.btn-default.disabled.focus,\n.btn-default[disabled].focus,\nfieldset[disabled] .btn-default.focus,\n.btn-default.disabled:active,\n.btn-default[disabled]:active,\nfieldset[disabled] .btn-default:active,\n.btn-default.disabled.active,\n.btn-default[disabled].active,\nfieldset[disabled] .btn-default.active {\n  background-color: #ffffff;\n  border-color: #cccccc;\n}\n.btn-default .badge {\n  color: #ffffff;\n  background-color: #333333;\n}\n.btn-primary {\n  color: #ffffff;\n  background-color: #337ab7;\n  border-color: #2e6da4;\n}\n.btn-primary:hover,\n.btn-primary:focus,\n.btn-primary.focus,\n.btn-primary:active,\n.btn-primary.active,\n.open > .dropdown-toggle.btn-primary {\n  color: #ffffff;\n  background-color: #286090;\n  border-color: #204d74;\n}\n.btn-primary:active,\n.btn-primary.active,\n.open > .dropdown-toggle.btn-primary {\n  background-image: none;\n}\n.btn-primary.disabled,\n.btn-primary[disabled],\nfieldset[disabled] .btn-primary,\n.btn-primary.disabled:hover,\n.btn-primary[disabled]:hover,\nfieldset[disabled] .btn-primary:hover,\n.btn-primary.disabled:focus,\n.btn-primary[disabled]:focus,\nfieldset[disabled] .btn-primary:focus,\n.btn-primary.disabled.focus,\n.btn-primary[disabled].focus,\nfieldset[disabled] .btn-primary.focus,\n.btn-primary.disabled:active,\n.btn-primary[disabled]:active,\nfieldset[disabled] .btn-primary:active,\n.btn-primary.disabled.active,\n.btn-primary[disabled].active,\nfieldset[disabled] .btn-primary.active {\n  background-color: #337ab7;\n  border-color: #2e6da4;\n}\n.btn-primary .badge {\n  color: #337ab7;\n  background-color: #ffffff;\n}\n.btn-success {\n  color: #ffffff;\n  background-color: #5cb85c;\n  border-color: #4cae4c;\n}\n.btn-success:hover,\n.btn-success:focus,\n.btn-success.focus,\n.btn-success:active,\n.btn-success.active,\n.open > .dropdown-toggle.btn-success {\n  color: #ffffff;\n  background-color: #449d44;\n  border-color: #398439;\n}\n.btn-success:active,\n.btn-success.active,\n.open > .dropdown-toggle.btn-success {\n  background-image: none;\n}\n.btn-success.disabled,\n.btn-success[disabled],\nfieldset[disabled] .btn-success,\n.btn-success.disabled:hover,\n.btn-success[disabled]:hover,\nfieldset[disabled] .btn-success:hover,\n.btn-success.disabled:focus,\n.btn-success[disabled]:focus,\nfieldset[disabled] .btn-success:focus,\n.btn-success.disabled.focus,\n.btn-success[disabled].focus,\nfieldset[disabled] .btn-success.focus,\n.btn-success.disabled:active,\n.btn-success[disabled]:active,\nfieldset[disabled] .btn-success:active,\n.btn-success.disabled.active,\n.btn-success[disabled].active,\nfieldset[disabled] .btn-success.active {\n  background-color: #5cb85c;\n  border-color: #4cae4c;\n}\n.btn-success .badge {\n  color: #5cb85c;\n  background-color: #ffffff;\n}\n.btn-info {\n  color: #ffffff;\n  background-color: #5bc0de;\n  border-color: #46b8da;\n}\n.btn-info:hover,\n.btn-info:focus,\n.btn-info.focus,\n.btn-info:active,\n.btn-info.active,\n.open > .dropdown-toggle.btn-info {\n  color: #ffffff;\n  background-color: #31b0d5;\n  border-color: #269abc;\n}\n.btn-info:active,\n.btn-info.active,\n.open > .dropdown-toggle.btn-info {\n  background-image: none;\n}\n.btn-info.disabled,\n.btn-info[disabled],\nfieldset[disabled] .btn-info,\n.btn-info.disabled:hover,\n.btn-info[disabled]:hover,\nfieldset[disabled] .btn-info:hover,\n.btn-info.disabled:focus,\n.btn-info[disabled]:focus,\nfieldset[disabled] .btn-info:focus,\n.btn-info.disabled.focus,\n.btn-info[disabled].focus,\nfieldset[disabled] .btn-info.focus,\n.btn-info.disabled:active,\n.btn-info[disabled]:active,\nfieldset[disabled] .btn-info:active,\n.btn-info.disabled.active,\n.btn-info[disabled].active,\nfieldset[disabled] .btn-info.active {\n  background-color: #5bc0de;\n  border-color: #46b8da;\n}\n.btn-info .badge {\n  color: #5bc0de;\n  background-color: #ffffff;\n}\n.btn-warning {\n  color: #ffffff;\n  background-color: #f0ad4e;\n  border-color: #eea236;\n}\n.btn-warning:hover,\n.btn-warning:focus,\n.btn-warning.focus,\n.btn-warning:active,\n.btn-warning.active,\n.open > .dropdown-toggle.btn-warning {\n  color: #ffffff;\n  background-color: #ec971f;\n  border-color: #d58512;\n}\n.btn-warning:active,\n.btn-warning.active,\n.open > .dropdown-toggle.btn-warning {\n  background-image: none;\n}\n.btn-warning.disabled,\n.btn-warning[disabled],\nfieldset[disabled] .btn-warning,\n.btn-warning.disabled:hover,\n.btn-warning[disabled]:hover,\nfieldset[disabled] .btn-warning:hover,\n.btn-warning.disabled:focus,\n.btn-warning[disabled]:focus,\nfieldset[disabled] .btn-warning:focus,\n.btn-warning.disabled.focus,\n.btn-warning[disabled].focus,\nfieldset[disabled] .btn-warning.focus,\n.btn-warning.disabled:active,\n.btn-warning[disabled]:active,\nfieldset[disabled] .btn-warning:active,\n.btn-warning.disabled.active,\n.btn-warning[disabled].active,\nfieldset[disabled] .btn-warning.active {\n  background-color: #f0ad4e;\n  border-color: #eea236;\n}\n.btn-warning .badge {\n  color: #f0ad4e;\n  background-color: #ffffff;\n}\n.btn-danger {\n  color: #ffffff;\n  background-color: #d9534f;\n  border-color: #d43f3a;\n}\n.btn-danger:hover,\n.btn-danger:focus,\n.btn-danger.focus,\n.btn-danger:active,\n.btn-danger.active,\n.open > .dropdown-toggle.btn-danger {\n  color: #ffffff;\n  background-color: #c9302c;\n  border-color: #ac2925;\n}\n.btn-danger:active,\n.btn-danger.active,\n.open > .dropdown-toggle.btn-danger {\n  background-image: none;\n}\n.btn-danger.disabled,\n.btn-danger[disabled],\nfieldset[disabled] .btn-danger,\n.btn-danger.disabled:hover,\n.btn-danger[disabled]:hover,\nfieldset[disabled] .btn-danger:hover,\n.btn-danger.disabled:focus,\n.btn-danger[disabled]:focus,\nfieldset[disabled] .btn-danger:focus,\n.btn-danger.disabled.focus,\n.btn-danger[disabled].focus,\nfieldset[disabled] .btn-danger.focus,\n.btn-danger.disabled:active,\n.btn-danger[disabled]:active,\nfieldset[disabled] .btn-danger:active,\n.btn-danger.disabled.active,\n.btn-danger[disabled].active,\nfieldset[disabled] .btn-danger.active {\n  background-color: #d9534f;\n  border-color: #d43f3a;\n}\n.btn-danger .badge {\n  color: #d9534f;\n  background-color: #ffffff;\n}\n.btn-link {\n  color: #337ab7;\n  font-weight: normal;\n  border-radius: 0;\n}\n.btn-link,\n.btn-link:active,\n.btn-link.active,\n.btn-link[disabled],\nfieldset[disabled] .btn-link {\n  background-color: transparent;\n  -webkit-box-shadow: none;\n  box-shadow: none;\n}\n.btn-link,\n.btn-link:hover,\n.btn-link:focus,\n.btn-link:active {\n  border-color: transparent;\n}\n.btn-link:hover,\n.btn-link:focus {\n  color: #23527c;\n  text-decoration: underline;\n  background-color: transparent;\n}\n.btn-link[disabled]:hover,\nfieldset[disabled] .btn-link:hover,\n.btn-link[disabled]:focus,\nfieldset[disabled] .btn-link:focus {\n  color: #777777;\n  text-decoration: none;\n}\n.btn-lg,\n.btn-group-lg > .btn {\n  padding: 10px 16px;\n  font-size: 18px;\n  line-height: 1.3333333;\n  border-radius: 6px;\n}\n.btn-sm,\n.btn-group-sm > .btn {\n  padding: 5px 10px;\n  font-size: 12px;\n  line-height: 1.5;\n  border-radius: 3px;\n}\n.btn-xs,\n.btn-group-xs > .btn {\n  padding: 1px 5px;\n  font-size: 12px;\n  line-height: 1.5;\n  border-radius: 3px;\n}\n.btn-block {\n  display: block;\n  width: 100%;\n}\n.btn-block + .btn-block {\n  margin-top: 5px;\n}\ninput[type=\"submit\"].btn-block,\ninput[type=\"reset\"].btn-block,\ninput[type=\"button\"].btn-block {\n  width: 100%;\n}\n.fade {\n  opacity: 0;\n  -webkit-transition: opacity 0.15s linear;\n  -o-transition: opacity 0.15s linear;\n  transition: opacity 0.15s linear;\n}\n.fade.in {\n  opacity: 1;\n}\n.collapse {\n  display: none;\n}\n.collapse.in {\n  display: block;\n}\ntr.collapse.in {\n  display: table-row;\n}\ntbody.collapse.in {\n  display: table-row-group;\n}\n.collapsing {\n  position: relative;\n  height: 0;\n  overflow: hidden;\n  -webkit-transition-property: height, visibility;\n  transition-property: height, visibility;\n  -webkit-transition-duration: 0.35s;\n  transition-duration: 0.35s;\n  -webkit-transition-timing-function: ease;\n  transition-timing-function: ease;\n}\n.caret {\n  display: inline-block;\n  width: 0;\n  height: 0;\n  margin-left: 2px;\n  vertical-align: middle;\n  border-top: 4px dashed;\n  border-right: 4px solid transparent;\n  border-left: 4px solid transparent;\n}\n.dropup,\n.dropdown {\n  position: relative;\n}\n.dropdown-toggle:focus {\n  outline: 0;\n}\n.dropdown-menu {\n  position: absolute;\n  top: 100%;\n  left: 0;\n  z-index: 1000;\n  display: none;\n  float: left;\n  min-width: 160px;\n  padding: 5px 0;\n  margin: 2px 0 0;\n  list-style: none;\n  font-size: 14px;\n  text-align: left;\n  background-color: #ffffff;\n  border: 1px solid #cccccc;\n  border: 1px solid rgba(0, 0, 0, 0.15);\n  border-radius: 4px;\n  -webkit-box-shadow: 0 6px 12px rgba(0, 0, 0, 0.175);\n  box-shadow: 0 6px 12px rgba(0, 0, 0, 0.175);\n  background-clip: padding-box;\n}\n.dropdown-menu.pull-right {\n  right: 0;\n  left: auto;\n}\n.dropdown-menu .divider {\n  height: 1px;\n  margin: 9px 0;\n  overflow: hidden;\n  background-color: #e5e5e5;\n}\n.dropdown-menu > li > a {\n  display: block;\n  padding: 3px 20px;\n  clear: both;\n  font-weight: normal;\n  line-height: 1.42857143;\n  color: #333333;\n  white-space: nowrap;\n}\n.dropdown-menu > li > a:hover,\n.dropdown-menu > li > a:focus {\n  text-decoration: none;\n  color: #262626;\n  background-color: #f5f5f5;\n}\n.dropdown-menu > .active > a,\n.dropdown-menu > .active > a:hover,\n.dropdown-menu > .active > a:focus {\n  color: #ffffff;\n  text-decoration: none;\n  outline: 0;\n  background-color: #337ab7;\n}\n.dropdown-menu > .disabled > a,\n.dropdown-menu > .disabled > a:hover,\n.dropdown-menu > .disabled > a:focus {\n  color: #777777;\n}\n.dropdown-menu > .disabled > a:hover,\n.dropdown-menu > .disabled > a:focus {\n  text-decoration: none;\n  background-color: transparent;\n  background-image: none;\n  filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);\n  cursor: not-allowed;\n}\n.open > .dropdown-menu {\n  display: block;\n}\n.open > a {\n  outline: 0;\n}\n.dropdown-menu-right {\n  left: auto;\n  right: 0;\n}\n.dropdown-menu-left {\n  left: 0;\n  right: auto;\n}\n.dropdown-header {\n  display: block;\n  padding: 3px 20px;\n  font-size: 12px;\n  line-height: 1.42857143;\n  color: #777777;\n  white-space: nowrap;\n}\n.dropdown-backdrop {\n  position: fixed;\n  left: 0;\n  right: 0;\n  bottom: 0;\n  top: 0;\n  z-index: 990;\n}\n.pull-right > .dropdown-menu {\n  right: 0;\n  left: auto;\n}\n.dropup .caret,\n.navbar-fixed-bottom .dropdown .caret {\n  border-top: 0;\n  border-bottom: 4px solid;\n  content: \"\";\n}\n.dropup .dropdown-menu,\n.navbar-fixed-bottom .dropdown .dropdown-menu {\n  top: auto;\n  bottom: 100%;\n  margin-bottom: 2px;\n}\n@media (min-width: 768px) {\n  .navbar-right .dropdown-menu {\n    left: auto;\n    right: 0;\n  }\n  .navbar-right .dropdown-menu-left {\n    left: 0;\n    right: auto;\n  }\n}\n.btn-group,\n.btn-group-vertical {\n  position: relative;\n  display: inline-block;\n  vertical-align: middle;\n}\n.btn-group > .btn,\n.btn-group-vertical > .btn {\n  position: relative;\n  float: left;\n}\n.btn-group > .btn:hover,\n.btn-group-vertical > .btn:hover,\n.btn-group > .btn:focus,\n.btn-group-vertical > .btn:focus,\n.btn-group > .btn:active,\n.btn-group-vertical > .btn:active,\n.btn-group > .btn.active,\n.btn-group-vertical > .btn.active {\n  z-index: 2;\n}\n.btn-group .btn + .btn,\n.btn-group .btn + .btn-group,\n.btn-group .btn-group + .btn,\n.btn-group .btn-group + .btn-group {\n  margin-left: -1px;\n}\n.btn-toolbar {\n  margin-left: -5px;\n}\n.btn-toolbar .btn-group,\n.btn-toolbar .input-group {\n  float: left;\n}\n.btn-toolbar > .btn,\n.btn-toolbar > .btn-group,\n.btn-toolbar > .input-group {\n  margin-left: 5px;\n}\n.btn-group > .btn:not(:first-child):not(:last-child):not(.dropdown-toggle) {\n  border-radius: 0;\n}\n.btn-group > .btn:first-child {\n  margin-left: 0;\n}\n.btn-group > .btn:first-child:not(:last-child):not(.dropdown-toggle) {\n  border-bottom-right-radius: 0;\n  border-top-right-radius: 0;\n}\n.btn-group > .btn:last-child:not(:first-child),\n.btn-group > .dropdown-toggle:not(:first-child) {\n  border-bottom-left-radius: 0;\n  border-top-left-radius: 0;\n}\n.btn-group > .btn-group {\n  float: left;\n}\n.btn-group > .btn-group:not(:first-child):not(:last-child) > .btn {\n  border-radius: 0;\n}\n.btn-group > .btn-group:first-child:not(:last-child) > .btn:last-child,\n.btn-group > .btn-group:first-child:not(:last-child) > .dropdown-toggle {\n  border-bottom-right-radius: 0;\n  border-top-right-radius: 0;\n}\n.btn-group > .btn-group:last-child:not(:first-child) > .btn:first-child {\n  border-bottom-left-radius: 0;\n  border-top-left-radius: 0;\n}\n.btn-group .dropdown-toggle:active,\n.btn-group.open .dropdown-toggle {\n  outline: 0;\n}\n.btn-group > .btn + .dropdown-toggle {\n  padding-left: 8px;\n  padding-right: 8px;\n}\n.btn-group > .btn-lg + .dropdown-toggle {\n  padding-left: 12px;\n  padding-right: 12px;\n}\n.btn-group.open .dropdown-toggle {\n  -webkit-box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);\n  box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);\n}\n.btn-group.open .dropdown-toggle.btn-link {\n  -webkit-box-shadow: none;\n  box-shadow: none;\n}\n.btn .caret {\n  margin-left: 0;\n}\n.btn-lg .caret {\n  border-width: 5px 5px 0;\n  border-bottom-width: 0;\n}\n.dropup .btn-lg .caret {\n  border-width: 0 5px 5px;\n}\n.btn-group-vertical > .btn,\n.btn-group-vertical > .btn-group,\n.btn-group-vertical > .btn-group > .btn {\n  display: block;\n  float: none;\n  width: 100%;\n  max-width: 100%;\n}\n.btn-group-vertical > .btn-group > .btn {\n  float: none;\n}\n.btn-group-vertical > .btn + .btn,\n.btn-group-vertical > .btn + .btn-group,\n.btn-group-vertical > .btn-group + .btn,\n.btn-group-vertical > .btn-group + .btn-group {\n  margin-top: -1px;\n  margin-left: 0;\n}\n.btn-group-vertical > .btn:not(:first-child):not(:last-child) {\n  border-radius: 0;\n}\n.btn-group-vertical > .btn:first-child:not(:last-child) {\n  border-top-right-radius: 4px;\n  border-bottom-right-radius: 0;\n  border-bottom-left-radius: 0;\n}\n.btn-group-vertical > .btn:last-child:not(:first-child) {\n  border-bottom-left-radius: 4px;\n  border-top-right-radius: 0;\n  border-top-left-radius: 0;\n}\n.btn-group-vertical > .btn-group:not(:first-child):not(:last-child) > .btn {\n  border-radius: 0;\n}\n.btn-group-vertical > .btn-group:first-child:not(:last-child) > .btn:last-child,\n.btn-group-vertical > .btn-group:first-child:not(:last-child) > .dropdown-toggle {\n  border-bottom-right-radius: 0;\n  border-bottom-left-radius: 0;\n}\n.btn-group-vertical > .btn-group:last-child:not(:first-child) > .btn:first-child {\n  border-top-right-radius: 0;\n  border-top-left-radius: 0;\n}\n.btn-group-justified {\n  display: table;\n  width: 100%;\n  table-layout: fixed;\n  border-collapse: separate;\n}\n.btn-group-justified > .btn,\n.btn-group-justified > .btn-group {\n  float: none;\n  display: table-cell;\n  width: 1%;\n}\n.btn-group-justified > .btn-group .btn {\n  width: 100%;\n}\n.btn-group-justified > .btn-group .dropdown-menu {\n  left: auto;\n}\n[data-toggle=\"buttons\"] > .btn input[type=\"radio\"],\n[data-toggle=\"buttons\"] > .btn-group > .btn input[type=\"radio\"],\n[data-toggle=\"buttons\"] > .btn input[type=\"checkbox\"],\n[data-toggle=\"buttons\"] > .btn-group > .btn input[type=\"checkbox\"] {\n  position: absolute;\n  clip: rect(0, 0, 0, 0);\n  pointer-events: none;\n}\n.input-group {\n  position: relative;\n  display: table;\n  border-collapse: separate;\n}\n.input-group[class*=\"col-\"] {\n  float: none;\n  padding-left: 0;\n  padding-right: 0;\n}\n.input-group .form-control {\n  position: relative;\n  z-index: 2;\n  float: left;\n  width: 100%;\n  margin-bottom: 0;\n}\n.input-group-lg > .form-control,\n.input-group-lg > .input-group-addon,\n.input-group-lg > .input-group-btn > .btn {\n  height: 46px;\n  padding: 10px 16px;\n  font-size: 18px;\n  line-height: 1.3333333;\n  border-radius: 6px;\n}\nselect.input-group-lg > .form-control,\nselect.input-group-lg > .input-group-addon,\nselect.input-group-lg > .input-group-btn > .btn {\n  height: 46px;\n  line-height: 46px;\n}\ntextarea.input-group-lg > .form-control,\ntextarea.input-group-lg > .input-group-addon,\ntextarea.input-group-lg > .input-group-btn > .btn,\nselect[multiple].input-group-lg > .form-control,\nselect[multiple].input-group-lg > .input-group-addon,\nselect[multiple].input-group-lg > .input-group-btn > .btn {\n  height: auto;\n}\n.input-group-sm > .form-control,\n.input-group-sm > .input-group-addon,\n.input-group-sm > .input-group-btn > .btn {\n  height: 30px;\n  padding: 5px 10px;\n  font-size: 12px;\n  line-height: 1.5;\n  border-radius: 3px;\n}\nselect.input-group-sm > .form-control,\nselect.input-group-sm > .input-group-addon,\nselect.input-group-sm > .input-group-btn > .btn {\n  height: 30px;\n  line-height: 30px;\n}\ntextarea.input-group-sm > .form-control,\ntextarea.input-group-sm > .input-group-addon,\ntextarea.input-group-sm > .input-group-btn > .btn,\nselect[multiple].input-group-sm > .form-control,\nselect[multiple].input-group-sm > .input-group-addon,\nselect[multiple].input-group-sm > .input-group-btn > .btn {\n  height: auto;\n}\n.input-group-addon,\n.input-group-btn,\n.input-group .form-control {\n  display: table-cell;\n}\n.input-group-addon:not(:first-child):not(:last-child),\n.input-group-btn:not(:first-child):not(:last-child),\n.input-group .form-control:not(:first-child):not(:last-child) {\n  border-radius: 0;\n}\n.input-group-addon,\n.input-group-btn {\n  width: 1%;\n  white-space: nowrap;\n  vertical-align: middle;\n}\n.input-group-addon {\n  padding: 6px 12px;\n  font-size: 14px;\n  font-weight: normal;\n  line-height: 1;\n  color: #555555;\n  text-align: center;\n  background-color: #eeeeee;\n  border: 1px solid #cccccc;\n  border-radius: 4px;\n}\n.input-group-addon.input-sm {\n  padding: 5px 10px;\n  font-size: 12px;\n  border-radius: 3px;\n}\n.input-group-addon.input-lg {\n  padding: 10px 16px;\n  font-size: 18px;\n  border-radius: 6px;\n}\n.input-group-addon input[type=\"radio\"],\n.input-group-addon input[type=\"checkbox\"] {\n  margin-top: 0;\n}\n.input-group .form-control:first-child,\n.input-group-addon:first-child,\n.input-group-btn:first-child > .btn,\n.input-group-btn:first-child > .btn-group > .btn,\n.input-group-btn:first-child > .dropdown-toggle,\n.input-group-btn:last-child > .btn:not(:last-child):not(.dropdown-toggle),\n.input-group-btn:last-child > .btn-group:not(:last-child) > .btn {\n  border-bottom-right-radius: 0;\n  border-top-right-radius: 0;\n}\n.input-group-addon:first-child {\n  border-right: 0;\n}\n.input-group .form-control:last-child,\n.input-group-addon:last-child,\n.input-group-btn:last-child > .btn,\n.input-group-btn:last-child > .btn-group > .btn,\n.input-group-btn:last-child > .dropdown-toggle,\n.input-group-btn:first-child > .btn:not(:first-child),\n.input-group-btn:first-child > .btn-group:not(:first-child) > .btn {\n  border-bottom-left-radius: 0;\n  border-top-left-radius: 0;\n}\n.input-group-addon:last-child {\n  border-left: 0;\n}\n.input-group-btn {\n  position: relative;\n  font-size: 0;\n  white-space: nowrap;\n}\n.input-group-btn > .btn {\n  position: relative;\n}\n.input-group-btn > .btn + .btn {\n  margin-left: -1px;\n}\n.input-group-btn > .btn:hover,\n.input-group-btn > .btn:focus,\n.input-group-btn > .btn:active {\n  z-index: 2;\n}\n.input-group-btn:first-child > .btn,\n.input-group-btn:first-child > .btn-group {\n  margin-right: -1px;\n}\n.input-group-btn:last-child > .btn,\n.input-group-btn:last-child > .btn-group {\n  margin-left: -1px;\n}\n.nav {\n  margin-bottom: 0;\n  padding-left: 0;\n  list-style: none;\n}\n.nav > li {\n  position: relative;\n  display: block;\n}\n.nav > li > a {\n  position: relative;\n  display: block;\n  padding: 10px 15px;\n}\n.nav > li > a:hover,\n.nav > li > a:focus {\n  text-decoration: none;\n  background-color: #eeeeee;\n}\n.nav > li.disabled > a {\n  color: #777777;\n}\n.nav > li.disabled > a:hover,\n.nav > li.disabled > a:focus {\n  color: #777777;\n  text-decoration: none;\n  background-color: transparent;\n  cursor: not-allowed;\n}\n.nav .open > a,\n.nav .open > a:hover,\n.nav .open > a:focus {\n  background-color: #eeeeee;\n  border-color: #337ab7;\n}\n.nav .nav-divider {\n  height: 1px;\n  margin: 9px 0;\n  overflow: hidden;\n  background-color: #e5e5e5;\n}\n.nav > li > a > img {\n  max-width: none;\n}\n.nav-tabs {\n  border-bottom: 1px solid #dddddd;\n}\n.nav-tabs > li {\n  float: left;\n  margin-bottom: -1px;\n}\n.nav-tabs > li > a {\n  margin-right: 2px;\n  line-height: 1.42857143;\n  border: 1px solid transparent;\n  border-radius: 4px 4px 0 0;\n}\n.nav-tabs > li > a:hover {\n  border-color: #eeeeee #eeeeee #dddddd;\n}\n.nav-tabs > li.active > a,\n.nav-tabs > li.active > a:hover,\n.nav-tabs > li.active > a:focus {\n  color: #555555;\n  background-color: #ffffff;\n  border: 1px solid #dddddd;\n  border-bottom-color: transparent;\n  cursor: default;\n}\n.nav-tabs.nav-justified {\n  width: 100%;\n  border-bottom: 0;\n}\n.nav-tabs.nav-justified > li {\n  float: none;\n}\n.nav-tabs.nav-justified > li > a {\n  text-align: center;\n  margin-bottom: 5px;\n}\n.nav-tabs.nav-justified > .dropdown .dropdown-menu {\n  top: auto;\n  left: auto;\n}\n@media (min-width: 768px) {\n  .nav-tabs.nav-justified > li {\n    display: table-cell;\n    width: 1%;\n  }\n  .nav-tabs.nav-justified > li > a {\n    margin-bottom: 0;\n  }\n}\n.nav-tabs.nav-justified > li > a {\n  margin-right: 0;\n  border-radius: 4px;\n}\n.nav-tabs.nav-justified > .active > a,\n.nav-tabs.nav-justified > .active > a:hover,\n.nav-tabs.nav-justified > .active > a:focus {\n  border: 1px solid #dddddd;\n}\n@media (min-width: 768px) {\n  .nav-tabs.nav-justified > li > a {\n    border-bottom: 1px solid #dddddd;\n    border-radius: 4px 4px 0 0;\n  }\n  .nav-tabs.nav-justified > .active > a,\n  .nav-tabs.nav-justified > .active > a:hover,\n  .nav-tabs.nav-justified > .active > a:focus {\n    border-bottom-color: #ffffff;\n  }\n}\n.nav-pills > li {\n  float: left;\n}\n.nav-pills > li > a {\n  border-radius: 4px;\n}\n.nav-pills > li + li {\n  margin-left: 2px;\n}\n.nav-pills > li.active > a,\n.nav-pills > li.active > a:hover,\n.nav-pills > li.active > a:focus {\n  color: #ffffff;\n  background-color: #337ab7;\n}\n.nav-stacked > li {\n  float: none;\n}\n.nav-stacked > li + li {\n  margin-top: 2px;\n  margin-left: 0;\n}\n.nav-justified {\n  width: 100%;\n}\n.nav-justified > li {\n  float: none;\n}\n.nav-justified > li > a {\n  text-align: center;\n  margin-bottom: 5px;\n}\n.nav-justified > .dropdown .dropdown-menu {\n  top: auto;\n  left: auto;\n}\n@media (min-width: 768px) {\n  .nav-justified > li {\n    display: table-cell;\n    width: 1%;\n  }\n  .nav-justified > li > a {\n    margin-bottom: 0;\n  }\n}\n.nav-tabs-justified {\n  border-bottom: 0;\n}\n.nav-tabs-justified > li > a {\n  margin-right: 0;\n  border-radius: 4px;\n}\n.nav-tabs-justified > .active > a,\n.nav-tabs-justified > .active > a:hover,\n.nav-tabs-justified > .active > a:focus {\n  border: 1px solid #dddddd;\n}\n@media (min-width: 768px) {\n  .nav-tabs-justified > li > a {\n    border-bottom: 1px solid #dddddd;\n    border-radius: 4px 4px 0 0;\n  }\n  .nav-tabs-justified > .active > a,\n  .nav-tabs-justified > .active > a:hover,\n  .nav-tabs-justified > .active > a:focus {\n    border-bottom-color: #ffffff;\n  }\n}\n.tab-content > .tab-pane {\n  display: none;\n}\n.tab-content > .active {\n  display: block;\n}\n.nav-tabs .dropdown-menu {\n  margin-top: -1px;\n  border-top-right-radius: 0;\n  border-top-left-radius: 0;\n}\n.navbar {\n  position: relative;\n  min-height: 50px;\n  margin-bottom: 20px;\n  border: 1px solid transparent;\n}\n@media (min-width: 768px) {\n  .navbar {\n    border-radius: 4px;\n  }\n}\n@media (min-width: 768px) {\n  .navbar-header {\n    float: left;\n  }\n}\n.navbar-collapse {\n  overflow-x: visible;\n  padding-right: 15px;\n  padding-left: 15px;\n  border-top: 1px solid transparent;\n  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1);\n  -webkit-overflow-scrolling: touch;\n}\n.navbar-collapse.in {\n  overflow-y: auto;\n}\n@media (min-width: 768px) {\n  .navbar-collapse {\n    width: auto;\n    border-top: 0;\n    box-shadow: none;\n  }\n  .navbar-collapse.collapse {\n    display: block !important;\n    height: auto !important;\n    padding-bottom: 0;\n    overflow: visible !important;\n  }\n  .navbar-collapse.in {\n    overflow-y: visible;\n  }\n  .navbar-fixed-top .navbar-collapse,\n  .navbar-static-top .navbar-collapse,\n  .navbar-fixed-bottom .navbar-collapse {\n    padding-left: 0;\n    padding-right: 0;\n  }\n}\n.navbar-fixed-top .navbar-collapse,\n.navbar-fixed-bottom .navbar-collapse {\n  max-height: 340px;\n}\n@media (max-device-width: 480px) and (orientation: landscape) {\n  .navbar-fixed-top .navbar-collapse,\n  .navbar-fixed-bottom .navbar-collapse {\n    max-height: 200px;\n  }\n}\n.container > .navbar-header,\n.container-fluid > .navbar-header,\n.container > .navbar-collapse,\n.container-fluid > .navbar-collapse {\n  margin-right: -15px;\n  margin-left: -15px;\n}\n@media (min-width: 768px) {\n  .container > .navbar-header,\n  .container-fluid > .navbar-header,\n  .container > .navbar-collapse,\n  .container-fluid > .navbar-collapse {\n    margin-right: 0;\n    margin-left: 0;\n  }\n}\n.navbar-static-top {\n  z-index: 1000;\n  border-width: 0 0 1px;\n}\n@media (min-width: 768px) {\n  .navbar-static-top {\n    border-radius: 0;\n  }\n}\n.navbar-fixed-top,\n.navbar-fixed-bottom {\n  position: fixed;\n  right: 0;\n  left: 0;\n  z-index: 1030;\n}\n@media (min-width: 768px) {\n  .navbar-fixed-top,\n  .navbar-fixed-bottom {\n    border-radius: 0;\n  }\n}\n.navbar-fixed-top {\n  top: 0;\n  border-width: 0 0 1px;\n}\n.navbar-fixed-bottom {\n  bottom: 0;\n  margin-bottom: 0;\n  border-width: 1px 0 0;\n}\n.navbar-brand {\n  float: left;\n  padding: 15px 15px;\n  font-size: 18px;\n  line-height: 20px;\n  height: 50px;\n}\n.navbar-brand:hover,\n.navbar-brand:focus {\n  text-decoration: none;\n}\n.navbar-brand > img {\n  display: block;\n}\n@media (min-width: 768px) {\n  .navbar > .container .navbar-brand,\n  .navbar > .container-fluid .navbar-brand {\n    margin-left: -15px;\n  }\n}\n.navbar-toggle {\n  position: relative;\n  float: right;\n  margin-right: 15px;\n  padding: 9px 10px;\n  margin-top: 8px;\n  margin-bottom: 8px;\n  background-color: transparent;\n  background-image: none;\n  border: 1px solid transparent;\n  border-radius: 4px;\n}\n.navbar-toggle:focus {\n  outline: 0;\n}\n.navbar-toggle .icon-bar {\n  display: block;\n  width: 22px;\n  height: 2px;\n  border-radius: 1px;\n}\n.navbar-toggle .icon-bar + .icon-bar {\n  margin-top: 4px;\n}\n@media (min-width: 768px) {\n  .navbar-toggle {\n    display: none;\n  }\n}\n.navbar-nav {\n  margin: 7.5px -15px;\n}\n.navbar-nav > li > a {\n  padding-top: 10px;\n  padding-bottom: 10px;\n  line-height: 20px;\n}\n@media (max-width: 767px) {\n  .navbar-nav .open .dropdown-menu {\n    position: static;\n    float: none;\n    width: auto;\n    margin-top: 0;\n    background-color: transparent;\n    border: 0;\n    box-shadow: none;\n  }\n  .navbar-nav .open .dropdown-menu > li > a,\n  .navbar-nav .open .dropdown-menu .dropdown-header {\n    padding: 5px 15px 5px 25px;\n  }\n  .navbar-nav .open .dropdown-menu > li > a {\n    line-height: 20px;\n  }\n  .navbar-nav .open .dropdown-menu > li > a:hover,\n  .navbar-nav .open .dropdown-menu > li > a:focus {\n    background-image: none;\n  }\n}\n@media (min-width: 768px) {\n  .navbar-nav {\n    float: left;\n    margin: 0;\n  }\n  .navbar-nav > li {\n    float: left;\n  }\n  .navbar-nav > li > a {\n    padding-top: 15px;\n    padding-bottom: 15px;\n  }\n}\n.navbar-form {\n  margin-left: -15px;\n  margin-right: -15px;\n  padding: 10px 15px;\n  border-top: 1px solid transparent;\n  border-bottom: 1px solid transparent;\n  -webkit-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  margin-top: 8px;\n  margin-bottom: 8px;\n}\n@media (min-width: 768px) {\n  .navbar-form .form-group {\n    display: inline-block;\n    margin-bottom: 0;\n    vertical-align: middle;\n  }\n  .navbar-form .form-control {\n    display: inline-block;\n    width: auto;\n    vertical-align: middle;\n  }\n  .navbar-form .form-control-static {\n    display: inline-block;\n  }\n  .navbar-form .input-group {\n    display: inline-table;\n    vertical-align: middle;\n  }\n  .navbar-form .input-group .input-group-addon,\n  .navbar-form .input-group .input-group-btn,\n  .navbar-form .input-group .form-control {\n    width: auto;\n  }\n  .navbar-form .input-group > .form-control {\n    width: 100%;\n  }\n  .navbar-form .control-label {\n    margin-bottom: 0;\n    vertical-align: middle;\n  }\n  .navbar-form .radio,\n  .navbar-form .checkbox {\n    display: inline-block;\n    margin-top: 0;\n    margin-bottom: 0;\n    vertical-align: middle;\n  }\n  .navbar-form .radio label,\n  .navbar-form .checkbox label {\n    padding-left: 0;\n  }\n  .navbar-form .radio input[type=\"radio\"],\n  .navbar-form .checkbox input[type=\"checkbox\"] {\n    position: relative;\n    margin-left: 0;\n  }\n  .navbar-form .has-feedback .form-control-feedback {\n    top: 0;\n  }\n}\n@media (max-width: 767px) {\n  .navbar-form .form-group {\n    margin-bottom: 5px;\n  }\n  .navbar-form .form-group:last-child {\n    margin-bottom: 0;\n  }\n}\n@media (min-width: 768px) {\n  .navbar-form {\n    width: auto;\n    border: 0;\n    margin-left: 0;\n    margin-right: 0;\n    padding-top: 0;\n    padding-bottom: 0;\n    -webkit-box-shadow: none;\n    box-shadow: none;\n  }\n}\n.navbar-nav > li > .dropdown-menu {\n  margin-top: 0;\n  border-top-right-radius: 0;\n  border-top-left-radius: 0;\n}\n.navbar-fixed-bottom .navbar-nav > li > .dropdown-menu {\n  margin-bottom: 0;\n  border-top-right-radius: 4px;\n  border-top-left-radius: 4px;\n  border-bottom-right-radius: 0;\n  border-bottom-left-radius: 0;\n}\n.navbar-btn {\n  margin-top: 8px;\n  margin-bottom: 8px;\n}\n.navbar-btn.btn-sm {\n  margin-top: 10px;\n  margin-bottom: 10px;\n}\n.navbar-btn.btn-xs {\n  margin-top: 14px;\n  margin-bottom: 14px;\n}\n.navbar-text {\n  margin-top: 15px;\n  margin-bottom: 15px;\n}\n@media (min-width: 768px) {\n  .navbar-text {\n    float: left;\n    margin-left: 15px;\n    margin-right: 15px;\n  }\n}\n@media (min-width: 768px) {\n  .navbar-left {\n    float: left !important;\n  }\n  .navbar-right {\n    float: right !important;\n    margin-right: -15px;\n  }\n  .navbar-right ~ .navbar-right {\n    margin-right: 0;\n  }\n}\n.navbar-default {\n  background-color: #f8f8f8;\n  border-color: #e7e7e7;\n}\n.navbar-default .navbar-brand {\n  color: #777777;\n}\n.navbar-default .navbar-brand:hover,\n.navbar-default .navbar-brand:focus {\n  color: #5e5e5e;\n  background-color: transparent;\n}\n.navbar-default .navbar-text {\n  color: #777777;\n}\n.navbar-default .navbar-nav > li > a {\n  color: #777777;\n}\n.navbar-default .navbar-nav > li > a:hover,\n.navbar-default .navbar-nav > li > a:focus {\n  color: #333333;\n  background-color: transparent;\n}\n.navbar-default .navbar-nav > .active > a,\n.navbar-default .navbar-nav > .active > a:hover,\n.navbar-default .navbar-nav > .active > a:focus {\n  color: #555555;\n  background-color: #e7e7e7;\n}\n.navbar-default .navbar-nav > .disabled > a,\n.navbar-default .navbar-nav > .disabled > a:hover,\n.navbar-default .navbar-nav > .disabled > a:focus {\n  color: #cccccc;\n  background-color: transparent;\n}\n.navbar-default .navbar-toggle {\n  border-color: #dddddd;\n}\n.navbar-default .navbar-toggle:hover,\n.navbar-default .navbar-toggle:focus {\n  background-color: #dddddd;\n}\n.navbar-default .navbar-toggle .icon-bar {\n  background-color: #888888;\n}\n.navbar-default .navbar-collapse,\n.navbar-default .navbar-form {\n  border-color: #e7e7e7;\n}\n.navbar-default .navbar-nav > .open > a,\n.navbar-default .navbar-nav > .open > a:hover,\n.navbar-default .navbar-nav > .open > a:focus {\n  background-color: #e7e7e7;\n  color: #555555;\n}\n@media (max-width: 767px) {\n  .navbar-default .navbar-nav .open .dropdown-menu > li > a {\n    color: #777777;\n  }\n  .navbar-default .navbar-nav .open .dropdown-menu > li > a:hover,\n  .navbar-default .navbar-nav .open .dropdown-menu > li > a:focus {\n    color: #333333;\n    background-color: transparent;\n  }\n  .navbar-default .navbar-nav .open .dropdown-menu > .active > a,\n  .navbar-default .navbar-nav .open .dropdown-menu > .active > a:hover,\n  .navbar-default .navbar-nav .open .dropdown-menu > .active > a:focus {\n    color: #555555;\n    background-color: #e7e7e7;\n  }\n  .navbar-default .navbar-nav .open .dropdown-menu > .disabled > a,\n  .navbar-default .navbar-nav .open .dropdown-menu > .disabled > a:hover,\n  .navbar-default .navbar-nav .open .dropdown-menu > .disabled > a:focus {\n    color: #cccccc;\n    background-color: transparent;\n  }\n}\n.navbar-default .navbar-link {\n  color: #777777;\n}\n.navbar-default .navbar-link:hover {\n  color: #333333;\n}\n.navbar-default .btn-link {\n  color: #777777;\n}\n.navbar-default .btn-link:hover,\n.navbar-default .btn-link:focus {\n  color: #333333;\n}\n.navbar-default .btn-link[disabled]:hover,\nfieldset[disabled] .navbar-default .btn-link:hover,\n.navbar-default .btn-link[disabled]:focus,\nfieldset[disabled] .navbar-default .btn-link:focus {\n  color: #cccccc;\n}\n.navbar-inverse {\n  background-color: #222222;\n  border-color: #080808;\n}\n.navbar-inverse .navbar-brand {\n  color: #9d9d9d;\n}\n.navbar-inverse .navbar-brand:hover,\n.navbar-inverse .navbar-brand:focus {\n  color: #ffffff;\n  background-color: transparent;\n}\n.navbar-inverse .navbar-text {\n  color: #9d9d9d;\n}\n.navbar-inverse .navbar-nav > li > a {\n  color: #9d9d9d;\n}\n.navbar-inverse .navbar-nav > li > a:hover,\n.navbar-inverse .navbar-nav > li > a:focus {\n  color: #ffffff;\n  background-color: transparent;\n}\n.navbar-inverse .navbar-nav > .active > a,\n.navbar-inverse .navbar-nav > .active > a:hover,\n.navbar-inverse .navbar-nav > .active > a:focus {\n  color: #ffffff;\n  background-color: #080808;\n}\n.navbar-inverse .navbar-nav > .disabled > a,\n.navbar-inverse .navbar-nav > .disabled > a:hover,\n.navbar-inverse .navbar-nav > .disabled > a:focus {\n  color: #444444;\n  background-color: transparent;\n}\n.navbar-inverse .navbar-toggle {\n  border-color: #333333;\n}\n.navbar-inverse .navbar-toggle:hover,\n.navbar-inverse .navbar-toggle:focus {\n  background-color: #333333;\n}\n.navbar-inverse .navbar-toggle .icon-bar {\n  background-color: #ffffff;\n}\n.navbar-inverse .navbar-collapse,\n.navbar-inverse .navbar-form {\n  border-color: #101010;\n}\n.navbar-inverse .navbar-nav > .open > a,\n.navbar-inverse .navbar-nav > .open > a:hover,\n.navbar-inverse .navbar-nav > .open > a:focus {\n  background-color: #080808;\n  color: #ffffff;\n}\n@media (max-width: 767px) {\n  .navbar-inverse .navbar-nav .open .dropdown-menu > .dropdown-header {\n    border-color: #080808;\n  }\n  .navbar-inverse .navbar-nav .open .dropdown-menu .divider {\n    background-color: #080808;\n  }\n  .navbar-inverse .navbar-nav .open .dropdown-menu > li > a {\n    color: #9d9d9d;\n  }\n  .navbar-inverse .navbar-nav .open .dropdown-menu > li > a:hover,\n  .navbar-inverse .navbar-nav .open .dropdown-menu > li > a:focus {\n    color: #ffffff;\n    background-color: transparent;\n  }\n  .navbar-inverse .navbar-nav .open .dropdown-menu > .active > a,\n  .navbar-inverse .navbar-nav .open .dropdown-menu > .active > a:hover,\n  .navbar-inverse .navbar-nav .open .dropdown-menu > .active > a:focus {\n    color: #ffffff;\n    background-color: #080808;\n  }\n  .navbar-inverse .navbar-nav .open .dropdown-menu > .disabled > a,\n  .navbar-inverse .navbar-nav .open .dropdown-menu > .disabled > a:hover,\n  .navbar-inverse .navbar-nav .open .dropdown-menu > .disabled > a:focus {\n    color: #444444;\n    background-color: transparent;\n  }\n}\n.navbar-inverse .navbar-link {\n  color: #9d9d9d;\n}\n.navbar-inverse .navbar-link:hover {\n  color: #ffffff;\n}\n.navbar-inverse .btn-link {\n  color: #9d9d9d;\n}\n.navbar-inverse .btn-link:hover,\n.navbar-inverse .btn-link:focus {\n  color: #ffffff;\n}\n.navbar-inverse .btn-link[disabled]:hover,\nfieldset[disabled] .navbar-inverse .btn-link:hover,\n.navbar-inverse .btn-link[disabled]:focus,\nfieldset[disabled] .navbar-inverse .btn-link:focus {\n  color: #444444;\n}\n.breadcrumb {\n  padding: 8px 15px;\n  margin-bottom: 20px;\n  list-style: none;\n  background-color: #f5f5f5;\n  border-radius: 4px;\n}\n.breadcrumb > li {\n  display: inline-block;\n}\n.breadcrumb > li + li:before {\n  content: \"/\\00a0\";\n  padding: 0 5px;\n  color: #cccccc;\n}\n.breadcrumb > .active {\n  color: #777777;\n}\n.pagination {\n  display: inline-block;\n  padding-left: 0;\n  margin: 20px 0;\n  border-radius: 4px;\n}\n.pagination > li {\n  display: inline;\n}\n.pagination > li > a,\n.pagination > li > span {\n  position: relative;\n  float: left;\n  padding: 6px 12px;\n  line-height: 1.42857143;\n  text-decoration: none;\n  color: #337ab7;\n  background-color: #ffffff;\n  border: 1px solid #dddddd;\n  margin-left: -1px;\n}\n.pagination > li:first-child > a,\n.pagination > li:first-child > span {\n  margin-left: 0;\n  border-bottom-left-radius: 4px;\n  border-top-left-radius: 4px;\n}\n.pagination > li:last-child > a,\n.pagination > li:last-child > span {\n  border-bottom-right-radius: 4px;\n  border-top-right-radius: 4px;\n}\n.pagination > li > a:hover,\n.pagination > li > span:hover,\n.pagination > li > a:focus,\n.pagination > li > span:focus {\n  color: #23527c;\n  background-color: #eeeeee;\n  border-color: #dddddd;\n}\n.pagination > .active > a,\n.pagination > .active > span,\n.pagination > .active > a:hover,\n.pagination > .active > span:hover,\n.pagination > .active > a:focus,\n.pagination > .active > span:focus {\n  z-index: 2;\n  color: #ffffff;\n  background-color: #337ab7;\n  border-color: #337ab7;\n  cursor: default;\n}\n.pagination > .disabled > span,\n.pagination > .disabled > span:hover,\n.pagination > .disabled > span:focus,\n.pagination > .disabled > a,\n.pagination > .disabled > a:hover,\n.pagination > .disabled > a:focus {\n  color: #777777;\n  background-color: #ffffff;\n  border-color: #dddddd;\n  cursor: not-allowed;\n}\n.pagination-lg > li > a,\n.pagination-lg > li > span {\n  padding: 10px 16px;\n  font-size: 18px;\n}\n.pagination-lg > li:first-child > a,\n.pagination-lg > li:first-child > span {\n  border-bottom-left-radius: 6px;\n  border-top-left-radius: 6px;\n}\n.pagination-lg > li:last-child > a,\n.pagination-lg > li:last-child > span {\n  border-bottom-right-radius: 6px;\n  border-top-right-radius: 6px;\n}\n.pagination-sm > li > a,\n.pagination-sm > li > span {\n  padding: 5px 10px;\n  font-size: 12px;\n}\n.pagination-sm > li:first-child > a,\n.pagination-sm > li:first-child > span {\n  border-bottom-left-radius: 3px;\n  border-top-left-radius: 3px;\n}\n.pagination-sm > li:last-child > a,\n.pagination-sm > li:last-child > span {\n  border-bottom-right-radius: 3px;\n  border-top-right-radius: 3px;\n}\n.pager {\n  padding-left: 0;\n  margin: 20px 0;\n  list-style: none;\n  text-align: center;\n}\n.pager li {\n  display: inline;\n}\n.pager li > a,\n.pager li > span {\n  display: inline-block;\n  padding: 5px 14px;\n  background-color: #ffffff;\n  border: 1px solid #dddddd;\n  border-radius: 15px;\n}\n.pager li > a:hover,\n.pager li > a:focus {\n  text-decoration: none;\n  background-color: #eeeeee;\n}\n.pager .next > a,\n.pager .next > span {\n  float: right;\n}\n.pager .previous > a,\n.pager .previous > span {\n  float: left;\n}\n.pager .disabled > a,\n.pager .disabled > a:hover,\n.pager .disabled > a:focus,\n.pager .disabled > span {\n  color: #777777;\n  background-color: #ffffff;\n  cursor: not-allowed;\n}\n.label {\n  display: inline;\n  padding: .2em .6em .3em;\n  font-size: 75%;\n  font-weight: bold;\n  line-height: 1;\n  color: #ffffff;\n  text-align: center;\n  white-space: nowrap;\n  vertical-align: baseline;\n  border-radius: .25em;\n}\na.label:hover,\na.label:focus {\n  color: #ffffff;\n  text-decoration: none;\n  cursor: pointer;\n}\n.label:empty {\n  display: none;\n}\n.btn .label {\n  position: relative;\n  top: -1px;\n}\n.label-default {\n  background-color: #777777;\n}\n.label-default[href]:hover,\n.label-default[href]:focus {\n  background-color: #5e5e5e;\n}\n.label-primary {\n  background-color: #337ab7;\n}\n.label-primary[href]:hover,\n.label-primary[href]:focus {\n  background-color: #286090;\n}\n.label-success {\n  background-color: #5cb85c;\n}\n.label-success[href]:hover,\n.label-success[href]:focus {\n  background-color: #449d44;\n}\n.label-info {\n  background-color: #5bc0de;\n}\n.label-info[href]:hover,\n.label-info[href]:focus {\n  background-color: #31b0d5;\n}\n.label-warning {\n  background-color: #f0ad4e;\n}\n.label-warning[href]:hover,\n.label-warning[href]:focus {\n  background-color: #ec971f;\n}\n.label-danger {\n  background-color: #d9534f;\n}\n.label-danger[href]:hover,\n.label-danger[href]:focus {\n  background-color: #c9302c;\n}\n.badge {\n  display: inline-block;\n  min-width: 10px;\n  padding: 3px 7px;\n  font-size: 12px;\n  font-weight: bold;\n  color: #ffffff;\n  line-height: 1;\n  vertical-align: baseline;\n  white-space: nowrap;\n  text-align: center;\n  background-color: #777777;\n  border-radius: 10px;\n}\n.badge:empty {\n  display: none;\n}\n.btn .badge {\n  position: relative;\n  top: -1px;\n}\n.btn-xs .badge,\n.btn-group-xs > .btn .badge {\n  top: 0;\n  padding: 1px 5px;\n}\na.badge:hover,\na.badge:focus {\n  color: #ffffff;\n  text-decoration: none;\n  cursor: pointer;\n}\n.list-group-item.active > .badge,\n.nav-pills > .active > a > .badge {\n  color: #337ab7;\n  background-color: #ffffff;\n}\n.list-group-item > .badge {\n  float: right;\n}\n.list-group-item > .badge + .badge {\n  margin-right: 5px;\n}\n.nav-pills > li > a > .badge {\n  margin-left: 3px;\n}\n.jumbotron {\n  padding: 30px 15px;\n  margin-bottom: 30px;\n  color: inherit;\n  background-color: #eeeeee;\n}\n.jumbotron h1,\n.jumbotron .h1 {\n  color: inherit;\n}\n.jumbotron p {\n  margin-bottom: 15px;\n  font-size: 21px;\n  font-weight: 200;\n}\n.jumbotron > hr {\n  border-top-color: #d5d5d5;\n}\n.container .jumbotron,\n.container-fluid .jumbotron {\n  border-radius: 6px;\n}\n.jumbotron .container {\n  max-width: 100%;\n}\n@media screen and (min-width: 768px) {\n  .jumbotron {\n    padding: 48px 0;\n  }\n  .container .jumbotron,\n  .container-fluid .jumbotron {\n    padding-left: 60px;\n    padding-right: 60px;\n  }\n  .jumbotron h1,\n  .jumbotron .h1 {\n    font-size: 63px;\n  }\n}\n.thumbnail {\n  display: block;\n  padding: 4px;\n  margin-bottom: 20px;\n  line-height: 1.42857143;\n  background-color: #ffffff;\n  border: 1px solid #dddddd;\n  border-radius: 4px;\n  -webkit-transition: border 0.2s ease-in-out;\n  -o-transition: border 0.2s ease-in-out;\n  transition: border 0.2s ease-in-out;\n}\n.thumbnail > img,\n.thumbnail a > img {\n  margin-left: auto;\n  margin-right: auto;\n}\na.thumbnail:hover,\na.thumbnail:focus,\na.thumbnail.active {\n  border-color: #337ab7;\n}\n.thumbnail .caption {\n  padding: 9px;\n  color: #333333;\n}\n.alert {\n  padding: 15px;\n  margin-bottom: 20px;\n  border: 1px solid transparent;\n  border-radius: 4px;\n}\n.alert h4 {\n  margin-top: 0;\n  color: inherit;\n}\n.alert .alert-link {\n  font-weight: bold;\n}\n.alert > p,\n.alert > ul {\n  margin-bottom: 0;\n}\n.alert > p + p {\n  margin-top: 5px;\n}\n.alert-dismissable,\n.alert-dismissible {\n  padding-right: 35px;\n}\n.alert-dismissable .close,\n.alert-dismissible .close {\n  position: relative;\n  top: -2px;\n  right: -21px;\n  color: inherit;\n}\n.alert-success {\n  background-color: #dff0d8;\n  border-color: #d6e9c6;\n  color: #3c763d;\n}\n.alert-success hr {\n  border-top-color: #c9e2b3;\n}\n.alert-success .alert-link {\n  color: #2b542c;\n}\n.alert-info {\n  background-color: #d9edf7;\n  border-color: #bce8f1;\n  color: #31708f;\n}\n.alert-info hr {\n  border-top-color: #a6e1ec;\n}\n.alert-info .alert-link {\n  color: #245269;\n}\n.alert-warning {\n  background-color: #fcf8e3;\n  border-color: #faebcc;\n  color: #8a6d3b;\n}\n.alert-warning hr {\n  border-top-color: #f7e1b5;\n}\n.alert-warning .alert-link {\n  color: #66512c;\n}\n.alert-danger {\n  background-color: #f2dede;\n  border-color: #ebccd1;\n  color: #a94442;\n}\n.alert-danger hr {\n  border-top-color: #e4b9c0;\n}\n.alert-danger .alert-link {\n  color: #843534;\n}\n@-webkit-keyframes progress-bar-stripes {\n  from {\n    background-position: 40px 0;\n  }\n  to {\n    background-position: 0 0;\n  }\n}\n@keyframes progress-bar-stripes {\n  from {\n    background-position: 40px 0;\n  }\n  to {\n    background-position: 0 0;\n  }\n}\n.progress {\n  overflow: hidden;\n  height: 20px;\n  margin-bottom: 20px;\n  background-color: #f5f5f5;\n  border-radius: 4px;\n  -webkit-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}\n.progress-bar {\n  float: left;\n  width: 0%;\n  height: 100%;\n  font-size: 12px;\n  line-height: 20px;\n  color: #ffffff;\n  text-align: center;\n  background-color: #337ab7;\n  -webkit-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-transition: width 0.6s ease;\n  -o-transition: width 0.6s ease;\n  transition: width 0.6s ease;\n}\n.progress-striped .progress-bar,\n.progress-bar-striped {\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: -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  background-size: 40px 40px;\n}\n.progress.active .progress-bar,\n.progress-bar.active {\n  -webkit-animation: progress-bar-stripes 2s linear infinite;\n  -o-animation: progress-bar-stripes 2s linear infinite;\n  animation: progress-bar-stripes 2s linear infinite;\n}\n.progress-bar-success {\n  background-color: #5cb85c;\n}\n.progress-striped .progress-bar-success {\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: -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-bar-info {\n  background-color: #5bc0de;\n}\n.progress-striped .progress-bar-info {\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: -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-bar-warning {\n  background-color: #f0ad4e;\n}\n.progress-striped .progress-bar-warning {\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: -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-bar-danger {\n  background-color: #d9534f;\n}\n.progress-striped .progress-bar-danger {\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: -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.media {\n  margin-top: 15px;\n}\n.media:first-child {\n  margin-top: 0;\n}\n.media,\n.media-body {\n  zoom: 1;\n  overflow: hidden;\n}\n.media-body {\n  width: 10000px;\n}\n.media-object {\n  display: block;\n}\n.media-right,\n.media > .pull-right {\n  padding-left: 10px;\n}\n.media-left,\n.media > .pull-left {\n  padding-right: 10px;\n}\n.media-left,\n.media-right,\n.media-body {\n  display: table-cell;\n  vertical-align: top;\n}\n.media-middle {\n  vertical-align: middle;\n}\n.media-bottom {\n  vertical-align: bottom;\n}\n.media-heading {\n  margin-top: 0;\n  margin-bottom: 5px;\n}\n.media-list {\n  padding-left: 0;\n  list-style: none;\n}\n.list-group {\n  margin-bottom: 20px;\n  padding-left: 0;\n}\n.list-group-item {\n  position: relative;\n  display: block;\n  padding: 10px 15px;\n  margin-bottom: -1px;\n  background-color: #ffffff;\n  border: 1px solid #dddddd;\n}\n.list-group-item:first-child {\n  border-top-right-radius: 4px;\n  border-top-left-radius: 4px;\n}\n.list-group-item:last-child {\n  margin-bottom: 0;\n  border-bottom-right-radius: 4px;\n  border-bottom-left-radius: 4px;\n}\na.list-group-item {\n  color: #555555;\n}\na.list-group-item .list-group-item-heading {\n  color: #333333;\n}\na.list-group-item:hover,\na.list-group-item:focus {\n  text-decoration: none;\n  color: #555555;\n  background-color: #f5f5f5;\n}\n.list-group-item.disabled,\n.list-group-item.disabled:hover,\n.list-group-item.disabled:focus {\n  background-color: #eeeeee;\n  color: #777777;\n  cursor: not-allowed;\n}\n.list-group-item.disabled .list-group-item-heading,\n.list-group-item.disabled:hover .list-group-item-heading,\n.list-group-item.disabled:focus .list-group-item-heading {\n  color: inherit;\n}\n.list-group-item.disabled .list-group-item-text,\n.list-group-item.disabled:hover .list-group-item-text,\n.list-group-item.disabled:focus .list-group-item-text {\n  color: #777777;\n}\n.list-group-item.active,\n.list-group-item.active:hover,\n.list-group-item.active:focus {\n  z-index: 2;\n  color: #ffffff;\n  background-color: #337ab7;\n  border-color: #337ab7;\n}\n.list-group-item.active .list-group-item-heading,\n.list-group-item.active:hover .list-group-item-heading,\n.list-group-item.active:focus .list-group-item-heading,\n.list-group-item.active .list-group-item-heading > small,\n.list-group-item.active:hover .list-group-item-heading > small,\n.list-group-item.active:focus .list-group-item-heading > small,\n.list-group-item.active .list-group-item-heading > .small,\n.list-group-item.active:hover .list-group-item-heading > .small,\n.list-group-item.active:focus .list-group-item-heading > .small {\n  color: inherit;\n}\n.list-group-item.active .list-group-item-text,\n.list-group-item.active:hover .list-group-item-text,\n.list-group-item.active:focus .list-group-item-text {\n  color: #c7ddef;\n}\n.list-group-item-success {\n  color: #3c763d;\n  background-color: #dff0d8;\n}\na.list-group-item-success {\n  color: #3c763d;\n}\na.list-group-item-success .list-group-item-heading {\n  color: inherit;\n}\na.list-group-item-success:hover,\na.list-group-item-success:focus {\n  color: #3c763d;\n  background-color: #d0e9c6;\n}\na.list-group-item-success.active,\na.list-group-item-success.active:hover,\na.list-group-item-success.active:focus {\n  color: #fff;\n  background-color: #3c763d;\n  border-color: #3c763d;\n}\n.list-group-item-info {\n  color: #31708f;\n  background-color: #d9edf7;\n}\na.list-group-item-info {\n  color: #31708f;\n}\na.list-group-item-info .list-group-item-heading {\n  color: inherit;\n}\na.list-group-item-info:hover,\na.list-group-item-info:focus {\n  color: #31708f;\n  background-color: #c4e3f3;\n}\na.list-group-item-info.active,\na.list-group-item-info.active:hover,\na.list-group-item-info.active:focus {\n  color: #fff;\n  background-color: #31708f;\n  border-color: #31708f;\n}\n.list-group-item-warning {\n  color: #8a6d3b;\n  background-color: #fcf8e3;\n}\na.list-group-item-warning {\n  color: #8a6d3b;\n}\na.list-group-item-warning .list-group-item-heading {\n  color: inherit;\n}\na.list-group-item-warning:hover,\na.list-group-item-warning:focus {\n  color: #8a6d3b;\n  background-color: #faf2cc;\n}\na.list-group-item-warning.active,\na.list-group-item-warning.active:hover,\na.list-group-item-warning.active:focus {\n  color: #fff;\n  background-color: #8a6d3b;\n  border-color: #8a6d3b;\n}\n.list-group-item-danger {\n  color: #a94442;\n  background-color: #f2dede;\n}\na.list-group-item-danger {\n  color: #a94442;\n}\na.list-group-item-danger .list-group-item-heading {\n  color: inherit;\n}\na.list-group-item-danger:hover,\na.list-group-item-danger:focus {\n  color: #a94442;\n  background-color: #ebcccc;\n}\na.list-group-item-danger.active,\na.list-group-item-danger.active:hover,\na.list-group-item-danger.active:focus {\n  color: #fff;\n  background-color: #a94442;\n  border-color: #a94442;\n}\n.list-group-item-heading {\n  margin-top: 0;\n  margin-bottom: 5px;\n}\n.list-group-item-text {\n  margin-bottom: 0;\n  line-height: 1.3;\n}\n.panel {\n  margin-bottom: 20px;\n  background-color: #ffffff;\n  border: 1px solid transparent;\n  border-radius: 4px;\n  -webkit-box-shadow: 0 1px 1px rgba(0, 0, 0, 0.05);\n  box-shadow: 0 1px 1px rgba(0, 0, 0, 0.05);\n}\n.panel-body {\n  padding: 15px;\n}\n.panel-heading {\n  padding: 10px 15px;\n  border-bottom: 1px solid transparent;\n  border-top-right-radius: 3px;\n  border-top-left-radius: 3px;\n}\n.panel-heading > .dropdown .dropdown-toggle {\n  color: inherit;\n}\n.panel-title {\n  margin-top: 0;\n  margin-bottom: 0;\n  font-size: 16px;\n  color: inherit;\n}\n.panel-title > a,\n.panel-title > small,\n.panel-title > .small,\n.panel-title > small > a,\n.panel-title > .small > a {\n  color: inherit;\n}\n.panel-footer {\n  padding: 10px 15px;\n  background-color: #f5f5f5;\n  border-top: 1px solid #dddddd;\n  border-bottom-right-radius: 3px;\n  border-bottom-left-radius: 3px;\n}\n.panel > .list-group,\n.panel > .panel-collapse > .list-group {\n  margin-bottom: 0;\n}\n.panel > .list-group .list-group-item,\n.panel > .panel-collapse > .list-group .list-group-item {\n  border-width: 1px 0;\n  border-radius: 0;\n}\n.panel > .list-group:first-child .list-group-item:first-child,\n.panel > .panel-collapse > .list-group:first-child .list-group-item:first-child {\n  border-top: 0;\n  border-top-right-radius: 3px;\n  border-top-left-radius: 3px;\n}\n.panel > .list-group:last-child .list-group-item:last-child,\n.panel > .panel-collapse > .list-group:last-child .list-group-item:last-child {\n  border-bottom: 0;\n  border-bottom-right-radius: 3px;\n  border-bottom-left-radius: 3px;\n}\n.panel-heading + .list-group .list-group-item:first-child {\n  border-top-width: 0;\n}\n.list-group + .panel-footer {\n  border-top-width: 0;\n}\n.panel > .table,\n.panel > .table-responsive > .table,\n.panel > .panel-collapse > .table {\n  margin-bottom: 0;\n}\n.panel > .table caption,\n.panel > .table-responsive > .table caption,\n.panel > .panel-collapse > .table caption {\n  padding-left: 15px;\n  padding-right: 15px;\n}\n.panel > .table:first-child,\n.panel > .table-responsive:first-child > .table:first-child {\n  border-top-right-radius: 3px;\n  border-top-left-radius: 3px;\n}\n.panel > .table:first-child > thead:first-child > tr:first-child,\n.panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child,\n.panel > .table:first-child > tbody:first-child > tr:first-child,\n.panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child {\n  border-top-left-radius: 3px;\n  border-top-right-radius: 3px;\n}\n.panel > .table:first-child > thead:first-child > tr:first-child td:first-child,\n.panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child td:first-child,\n.panel > .table:first-child > tbody:first-child > tr:first-child td:first-child,\n.panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child td:first-child,\n.panel > .table:first-child > thead:first-child > tr:first-child th:first-child,\n.panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child th:first-child,\n.panel > .table:first-child > tbody:first-child > tr:first-child th:first-child,\n.panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child th:first-child {\n  border-top-left-radius: 3px;\n}\n.panel > .table:first-child > thead:first-child > tr:first-child td:last-child,\n.panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child td:last-child,\n.panel > .table:first-child > tbody:first-child > tr:first-child td:last-child,\n.panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child td:last-child,\n.panel > .table:first-child > thead:first-child > tr:first-child th:last-child,\n.panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child th:last-child,\n.panel > .table:first-child > tbody:first-child > tr:first-child th:last-child,\n.panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child th:last-child {\n  border-top-right-radius: 3px;\n}\n.panel > .table:last-child,\n.panel > .table-responsive:last-child > .table:last-child {\n  border-bottom-right-radius: 3px;\n  border-bottom-left-radius: 3px;\n}\n.panel > .table:last-child > tbody:last-child > tr:last-child,\n.panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child,\n.panel > .table:last-child > tfoot:last-child > tr:last-child,\n.panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child {\n  border-bottom-left-radius: 3px;\n  border-bottom-right-radius: 3px;\n}\n.panel > .table:last-child > tbody:last-child > tr:last-child td:first-child,\n.panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child td:first-child,\n.panel > .table:last-child > tfoot:last-child > tr:last-child td:first-child,\n.panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child td:first-child,\n.panel > .table:last-child > tbody:last-child > tr:last-child th:first-child,\n.panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child th:first-child,\n.panel > .table:last-child > tfoot:last-child > tr:last-child th:first-child,\n.panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child th:first-child {\n  border-bottom-left-radius: 3px;\n}\n.panel > .table:last-child > tbody:last-child > tr:last-child td:last-child,\n.panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child td:last-child,\n.panel > .table:last-child > tfoot:last-child > tr:last-child td:last-child,\n.panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child td:last-child,\n.panel > .table:last-child > tbody:last-child > tr:last-child th:last-child,\n.panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child th:last-child,\n.panel > .table:last-child > tfoot:last-child > tr:last-child th:last-child,\n.panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child th:last-child {\n  border-bottom-right-radius: 3px;\n}\n.panel > .panel-body + .table,\n.panel > .panel-body + .table-responsive,\n.panel > .table + .panel-body,\n.panel > .table-responsive + .panel-body {\n  border-top: 1px solid #dddddd;\n}\n.panel > .table > tbody:first-child > tr:first-child th,\n.panel > .table > tbody:first-child > tr:first-child td {\n  border-top: 0;\n}\n.panel > .table-bordered,\n.panel > .table-responsive > .table-bordered {\n  border: 0;\n}\n.panel > .table-bordered > thead > tr > th:first-child,\n.panel > .table-responsive > .table-bordered > thead > tr > th:first-child,\n.panel > .table-bordered > tbody > tr > th:first-child,\n.panel > .table-responsive > .table-bordered > tbody > tr > th:first-child,\n.panel > .table-bordered > tfoot > tr > th:first-child,\n.panel > .table-responsive > .table-bordered > tfoot > tr > th:first-child,\n.panel > .table-bordered > thead > tr > td:first-child,\n.panel > .table-responsive > .table-bordered > thead > tr > td:first-child,\n.panel > .table-bordered > tbody > tr > td:first-child,\n.panel > .table-responsive > .table-bordered > tbody > tr > td:first-child,\n.panel > .table-bordered > tfoot > tr > td:first-child,\n.panel > .table-responsive > .table-bordered > tfoot > tr > td:first-child {\n  border-left: 0;\n}\n.panel > .table-bordered > thead > tr > th:last-child,\n.panel > .table-responsive > .table-bordered > thead > tr > th:last-child,\n.panel > .table-bordered > tbody > tr > th:last-child,\n.panel > .table-responsive > .table-bordered > tbody > tr > th:last-child,\n.panel > .table-bordered > tfoot > tr > th:last-child,\n.panel > .table-responsive > .table-bordered > tfoot > tr > th:last-child,\n.panel > .table-bordered > thead > tr > td:last-child,\n.panel > .table-responsive > .table-bordered > thead > tr > td:last-child,\n.panel > .table-bordered > tbody > tr > td:last-child,\n.panel > .table-responsive > .table-bordered > tbody > tr > td:last-child,\n.panel > .table-bordered > tfoot > tr > td:last-child,\n.panel > .table-responsive > .table-bordered > tfoot > tr > td:last-child {\n  border-right: 0;\n}\n.panel > .table-bordered > thead > tr:first-child > td,\n.panel > .table-responsive > .table-bordered > thead > tr:first-child > td,\n.panel > .table-bordered > tbody > tr:first-child > td,\n.panel > .table-responsive > .table-bordered > tbody > tr:first-child > td,\n.panel > .table-bordered > thead > tr:first-child > th,\n.panel > .table-responsive > .table-bordered > thead > tr:first-child > th,\n.panel > .table-bordered > tbody > tr:first-child > th,\n.panel > .table-responsive > .table-bordered > tbody > tr:first-child > th {\n  border-bottom: 0;\n}\n.panel > .table-bordered > tbody > tr:last-child > td,\n.panel > .table-responsive > .table-bordered > tbody > tr:last-child > td,\n.panel > .table-bordered > tfoot > tr:last-child > td,\n.panel > .table-responsive > .table-bordered > tfoot > tr:last-child > td,\n.panel > .table-bordered > tbody > tr:last-child > th,\n.panel > .table-responsive > .table-bordered > tbody > tr:last-child > th,\n.panel > .table-bordered > tfoot > tr:last-child > th,\n.panel > .table-responsive > .table-bordered > tfoot > tr:last-child > th {\n  border-bottom: 0;\n}\n.panel > .table-responsive {\n  border: 0;\n  margin-bottom: 0;\n}\n.panel-group {\n  margin-bottom: 20px;\n}\n.panel-group .panel {\n  margin-bottom: 0;\n  border-radius: 4px;\n}\n.panel-group .panel + .panel {\n  margin-top: 5px;\n}\n.panel-group .panel-heading {\n  border-bottom: 0;\n}\n.panel-group .panel-heading + .panel-collapse > .panel-body,\n.panel-group .panel-heading + .panel-collapse > .list-group {\n  border-top: 1px solid #dddddd;\n}\n.panel-group .panel-footer {\n  border-top: 0;\n}\n.panel-group .panel-footer + .panel-collapse .panel-body {\n  border-bottom: 1px solid #dddddd;\n}\n.panel-default {\n  border-color: #dddddd;\n}\n.panel-default > .panel-heading {\n  color: #333333;\n  background-color: #f5f5f5;\n  border-color: #dddddd;\n}\n.panel-default > .panel-heading + .panel-collapse > .panel-body {\n  border-top-color: #dddddd;\n}\n.panel-default > .panel-heading .badge {\n  color: #f5f5f5;\n  background-color: #333333;\n}\n.panel-default > .panel-footer + .panel-collapse > .panel-body {\n  border-bottom-color: #dddddd;\n}\n.panel-primary {\n  border-color: #337ab7;\n}\n.panel-primary > .panel-heading {\n  color: #ffffff;\n  background-color: #337ab7;\n  border-color: #337ab7;\n}\n.panel-primary > .panel-heading + .panel-collapse > .panel-body {\n  border-top-color: #337ab7;\n}\n.panel-primary > .panel-heading .badge {\n  color: #337ab7;\n  background-color: #ffffff;\n}\n.panel-primary > .panel-footer + .panel-collapse > .panel-body {\n  border-bottom-color: #337ab7;\n}\n.panel-success {\n  border-color: #d6e9c6;\n}\n.panel-success > .panel-heading {\n  color: #3c763d;\n  background-color: #dff0d8;\n  border-color: #d6e9c6;\n}\n.panel-success > .panel-heading + .panel-collapse > .panel-body {\n  border-top-color: #d6e9c6;\n}\n.panel-success > .panel-heading .badge {\n  color: #dff0d8;\n  background-color: #3c763d;\n}\n.panel-success > .panel-footer + .panel-collapse > .panel-body {\n  border-bottom-color: #d6e9c6;\n}\n.panel-info {\n  border-color: #bce8f1;\n}\n.panel-info > .panel-heading {\n  color: #31708f;\n  background-color: #d9edf7;\n  border-color: #bce8f1;\n}\n.panel-info > .panel-heading + .panel-collapse > .panel-body {\n  border-top-color: #bce8f1;\n}\n.panel-info > .panel-heading .badge {\n  color: #d9edf7;\n  background-color: #31708f;\n}\n.panel-info > .panel-footer + .panel-collapse > .panel-body {\n  border-bottom-color: #bce8f1;\n}\n.panel-warning {\n  border-color: #faebcc;\n}\n.panel-warning > .panel-heading {\n  color: #8a6d3b;\n  background-color: #fcf8e3;\n  border-color: #faebcc;\n}\n.panel-warning > .panel-heading + .panel-collapse > .panel-body {\n  border-top-color: #faebcc;\n}\n.panel-warning > .panel-heading .badge {\n  color: #fcf8e3;\n  background-color: #8a6d3b;\n}\n.panel-warning > .panel-footer + .panel-collapse > .panel-body {\n  border-bottom-color: #faebcc;\n}\n.panel-danger {\n  border-color: #ebccd1;\n}\n.panel-danger > .panel-heading {\n  color: #a94442;\n  background-color: #f2dede;\n  border-color: #ebccd1;\n}\n.panel-danger > .panel-heading + .panel-collapse > .panel-body {\n  border-top-color: #ebccd1;\n}\n.panel-danger > .panel-heading .badge {\n  color: #f2dede;\n  background-color: #a94442;\n}\n.panel-danger > .panel-footer + .panel-collapse > .panel-body {\n  border-bottom-color: #ebccd1;\n}\n.embed-responsive {\n  position: relative;\n  display: block;\n  height: 0;\n  padding: 0;\n  overflow: hidden;\n}\n.embed-responsive .embed-responsive-item,\n.embed-responsive iframe,\n.embed-responsive embed,\n.embed-responsive object,\n.embed-responsive video {\n  position: absolute;\n  top: 0;\n  left: 0;\n  bottom: 0;\n  height: 100%;\n  width: 100%;\n  border: 0;\n}\n.embed-responsive-16by9 {\n  padding-bottom: 56.25%;\n}\n.embed-responsive-4by3 {\n  padding-bottom: 75%;\n}\n.well {\n  min-height: 20px;\n  padding: 19px;\n  margin-bottom: 20px;\n  background-color: #f5f5f5;\n  border: 1px solid #e3e3e3;\n  border-radius: 4px;\n  -webkit-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.well-lg {\n  padding: 24px;\n  border-radius: 6px;\n}\n.well-sm {\n  padding: 9px;\n  border-radius: 3px;\n}\n.close {\n  float: right;\n  font-size: 21px;\n  font-weight: bold;\n  line-height: 1;\n  color: #000000;\n  text-shadow: 0 1px 0 #ffffff;\n  opacity: 0.2;\n  filter: alpha(opacity=20);\n}\n.close:hover,\n.close:focus {\n  color: #000000;\n  text-decoration: none;\n  cursor: pointer;\n  opacity: 0.5;\n  filter: alpha(opacity=50);\n}\nbutton.close {\n  padding: 0;\n  cursor: pointer;\n  background: transparent;\n  border: 0;\n  -webkit-appearance: none;\n}\n.modal-open {\n  overflow: hidden;\n}\n.modal {\n  display: none;\n  overflow: hidden;\n  position: fixed;\n  top: 0;\n  right: 0;\n  bottom: 0;\n  left: 0;\n  z-index: 1050;\n  -webkit-overflow-scrolling: touch;\n  outline: 0;\n}\n.modal.fade .modal-dialog {\n  -webkit-transform: translate(0, -25%);\n  -ms-transform: translate(0, -25%);\n  -o-transform: translate(0, -25%);\n  transform: translate(0, -25%);\n  -webkit-transition: -webkit-transform 0.3s ease-out;\n  -moz-transition: -moz-transform 0.3s ease-out;\n  -o-transition: -o-transform 0.3s ease-out;\n  transition: transform 0.3s ease-out;\n}\n.modal.in .modal-dialog {\n  -webkit-transform: translate(0, 0);\n  -ms-transform: translate(0, 0);\n  -o-transform: translate(0, 0);\n  transform: translate(0, 0);\n}\n.modal-open .modal {\n  overflow-x: hidden;\n  overflow-y: auto;\n}\n.modal-dialog {\n  position: relative;\n  width: auto;\n  margin: 10px;\n}\n.modal-content {\n  position: relative;\n  background-color: #ffffff;\n  border: 1px solid #999999;\n  border: 1px solid rgba(0, 0, 0, 0.2);\n  border-radius: 6px;\n  -webkit-box-shadow: 0 3px 9px rgba(0, 0, 0, 0.5);\n  box-shadow: 0 3px 9px rgba(0, 0, 0, 0.5);\n  background-clip: padding-box;\n  outline: 0;\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  filter: alpha(opacity=0);\n}\n.modal-backdrop.in {\n  opacity: 0.5;\n  filter: alpha(opacity=50);\n}\n.modal-header {\n  padding: 15px;\n  border-bottom: 1px solid #e5e5e5;\n  min-height: 16.42857143px;\n}\n.modal-header .close {\n  margin-top: -2px;\n}\n.modal-title {\n  margin: 0;\n  line-height: 1.42857143;\n}\n.modal-body {\n  position: relative;\n  padding: 15px;\n}\n.modal-footer {\n  padding: 15px;\n  text-align: right;\n  border-top: 1px solid #e5e5e5;\n}\n.modal-footer .btn + .btn {\n  margin-left: 5px;\n  margin-bottom: 0;\n}\n.modal-footer .btn-group .btn + .btn {\n  margin-left: -1px;\n}\n.modal-footer .btn-block + .btn-block {\n  margin-left: 0;\n}\n.modal-scrollbar-measure {\n  position: absolute;\n  top: -9999px;\n  width: 50px;\n  height: 50px;\n  overflow: scroll;\n}\n@media (min-width: 768px) {\n  .modal-dialog {\n    width: 600px;\n    margin: 30px auto;\n  }\n  .modal-content {\n    -webkit-box-shadow: 0 5px 15px rgba(0, 0, 0, 0.5);\n    box-shadow: 0 5px 15px rgba(0, 0, 0, 0.5);\n  }\n  .modal-sm {\n    width: 300px;\n  }\n}\n@media (min-width: 992px) {\n  .modal-lg {\n    width: 900px;\n  }\n}\n.tooltip {\n  position: absolute;\n  z-index: 1070;\n  display: block;\n  font-family: \"Helvetica Neue\", Helvetica, Arial, sans-serif;\n  font-size: 12px;\n  font-weight: normal;\n  line-height: 1.4;\n  opacity: 0;\n  filter: alpha(opacity=0);\n}\n.tooltip.in {\n  opacity: 0.9;\n  filter: alpha(opacity=90);\n}\n.tooltip.top {\n  margin-top: -3px;\n  padding: 5px 0;\n}\n.tooltip.right {\n  margin-left: 3px;\n  padding: 0 5px;\n}\n.tooltip.bottom {\n  margin-top: 3px;\n  padding: 5px 0;\n}\n.tooltip.left {\n  margin-left: -3px;\n  padding: 0 5px;\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  border-radius: 4px;\n}\n.tooltip-arrow {\n  position: absolute;\n  width: 0;\n  height: 0;\n  border-color: transparent;\n  border-style: solid;\n}\n.tooltip.top .tooltip-arrow {\n  bottom: 0;\n  left: 50%;\n  margin-left: -5px;\n  border-width: 5px 5px 0;\n  border-top-color: #000000;\n}\n.tooltip.top-left .tooltip-arrow {\n  bottom: 0;\n  right: 5px;\n  margin-bottom: -5px;\n  border-width: 5px 5px 0;\n  border-top-color: #000000;\n}\n.tooltip.top-right .tooltip-arrow {\n  bottom: 0;\n  left: 5px;\n  margin-bottom: -5px;\n  border-width: 5px 5px 0;\n  border-top-color: #000000;\n}\n.tooltip.right .tooltip-arrow {\n  top: 50%;\n  left: 0;\n  margin-top: -5px;\n  border-width: 5px 5px 5px 0;\n  border-right-color: #000000;\n}\n.tooltip.left .tooltip-arrow {\n  top: 50%;\n  right: 0;\n  margin-top: -5px;\n  border-width: 5px 0 5px 5px;\n  border-left-color: #000000;\n}\n.tooltip.bottom .tooltip-arrow {\n  top: 0;\n  left: 50%;\n  margin-left: -5px;\n  border-width: 0 5px 5px;\n  border-bottom-color: #000000;\n}\n.tooltip.bottom-left .tooltip-arrow {\n  top: 0;\n  right: 5px;\n  margin-top: -5px;\n  border-width: 0 5px 5px;\n  border-bottom-color: #000000;\n}\n.tooltip.bottom-right .tooltip-arrow {\n  top: 0;\n  left: 5px;\n  margin-top: -5px;\n  border-width: 0 5px 5px;\n  border-bottom-color: #000000;\n}\n.popover {\n  position: absolute;\n  top: 0;\n  left: 0;\n  z-index: 1060;\n  display: none;\n  max-width: 276px;\n  padding: 1px;\n  font-family: \"Helvetica Neue\", Helvetica, Arial, sans-serif;\n  font-size: 14px;\n  font-weight: normal;\n  line-height: 1.42857143;\n  text-align: left;\n  background-color: #ffffff;\n  background-clip: padding-box;\n  border: 1px solid #cccccc;\n  border: 1px solid rgba(0, 0, 0, 0.2);\n  border-radius: 6px;\n  -webkit-box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2);\n  box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2);\n  white-space: normal;\n}\n.popover.top {\n  margin-top: -10px;\n}\n.popover.right {\n  margin-left: 10px;\n}\n.popover.bottom {\n  margin-top: 10px;\n}\n.popover.left {\n  margin-left: -10px;\n}\n.popover-title {\n  margin: 0;\n  padding: 8px 14px;\n  font-size: 14px;\n  background-color: #f7f7f7;\n  border-bottom: 1px solid #ebebeb;\n  border-radius: 5px 5px 0 0;\n}\n.popover-content {\n  padding: 9px 14px;\n}\n.popover > .arrow,\n.popover > .arrow:after {\n  position: absolute;\n  display: block;\n  width: 0;\n  height: 0;\n  border-color: transparent;\n  border-style: solid;\n}\n.popover > .arrow {\n  border-width: 11px;\n}\n.popover > .arrow:after {\n  border-width: 10px;\n  content: \"\";\n}\n.popover.top > .arrow {\n  left: 50%;\n  margin-left: -11px;\n  border-bottom-width: 0;\n  border-top-color: #999999;\n  border-top-color: rgba(0, 0, 0, 0.25);\n  bottom: -11px;\n}\n.popover.top > .arrow:after {\n  content: \" \";\n  bottom: 1px;\n  margin-left: -10px;\n  border-bottom-width: 0;\n  border-top-color: #ffffff;\n}\n.popover.right > .arrow {\n  top: 50%;\n  left: -11px;\n  margin-top: -11px;\n  border-left-width: 0;\n  border-right-color: #999999;\n  border-right-color: rgba(0, 0, 0, 0.25);\n}\n.popover.right > .arrow:after {\n  content: \" \";\n  left: 1px;\n  bottom: -10px;\n  border-left-width: 0;\n  border-right-color: #ffffff;\n}\n.popover.bottom > .arrow {\n  left: 50%;\n  margin-left: -11px;\n  border-top-width: 0;\n  border-bottom-color: #999999;\n  border-bottom-color: rgba(0, 0, 0, 0.25);\n  top: -11px;\n}\n.popover.bottom > .arrow:after {\n  content: \" \";\n  top: 1px;\n  margin-left: -10px;\n  border-top-width: 0;\n  border-bottom-color: #ffffff;\n}\n.popover.left > .arrow {\n  top: 50%;\n  right: -11px;\n  margin-top: -11px;\n  border-right-width: 0;\n  border-left-color: #999999;\n  border-left-color: rgba(0, 0, 0, 0.25);\n}\n.popover.left > .arrow:after {\n  content: \" \";\n  right: 1px;\n  border-right-width: 0;\n  border-left-color: #ffffff;\n  bottom: -10px;\n}\n.carousel {\n  position: relative;\n}\n.carousel-inner {\n  position: relative;\n  overflow: hidden;\n  width: 100%;\n}\n.carousel-inner > .item {\n  display: none;\n  position: relative;\n  -webkit-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-inner > .item > img,\n.carousel-inner > .item > a > img {\n  line-height: 1;\n}\n@media all and (transform-3d), (-webkit-transform-3d) {\n  .carousel-inner > .item {\n    -webkit-transition: -webkit-transform 0.6s ease-in-out;\n    -moz-transition: -moz-transform 0.6s ease-in-out;\n    -o-transition: -o-transform 0.6s ease-in-out;\n    transition: transform 0.6s ease-in-out;\n    -webkit-backface-visibility: hidden;\n    -moz-backface-visibility: hidden;\n    backface-visibility: hidden;\n    -webkit-perspective: 1000;\n    -moz-perspective: 1000;\n    perspective: 1000;\n  }\n  .carousel-inner > .item.next,\n  .carousel-inner > .item.active.right {\n    -webkit-transform: translate3d(100%, 0, 0);\n    transform: translate3d(100%, 0, 0);\n    left: 0;\n  }\n  .carousel-inner > .item.prev,\n  .carousel-inner > .item.active.left {\n    -webkit-transform: translate3d(-100%, 0, 0);\n    transform: translate3d(-100%, 0, 0);\n    left: 0;\n  }\n  .carousel-inner > .item.next.left,\n  .carousel-inner > .item.prev.right,\n  .carousel-inner > .item.active {\n    -webkit-transform: translate3d(0, 0, 0);\n    transform: translate3d(0, 0, 0);\n    left: 0;\n  }\n}\n.carousel-inner > .active,\n.carousel-inner > .next,\n.carousel-inner > .prev {\n  display: block;\n}\n.carousel-inner > .active {\n  left: 0;\n}\n.carousel-inner > .next,\n.carousel-inner > .prev {\n  position: absolute;\n  top: 0;\n  width: 100%;\n}\n.carousel-inner > .next {\n  left: 100%;\n}\n.carousel-inner > .prev {\n  left: -100%;\n}\n.carousel-inner > .next.left,\n.carousel-inner > .prev.right {\n  left: 0;\n}\n.carousel-inner > .active.left {\n  left: -100%;\n}\n.carousel-inner > .active.right {\n  left: 100%;\n}\n.carousel-control {\n  position: absolute;\n  top: 0;\n  left: 0;\n  bottom: 0;\n  width: 15%;\n  opacity: 0.5;\n  filter: alpha(opacity=50);\n  font-size: 20px;\n  color: #ffffff;\n  text-align: center;\n  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.6);\n}\n.carousel-control.left {\n  background-image: -webkit-linear-gradient(left, rgba(0, 0, 0, 0.5) 0%, rgba(0, 0, 0, 0.0001) 100%);\n  background-image: -o-linear-gradient(left, rgba(0, 0, 0, 0.5) 0%, rgba(0, 0, 0, 0.0001) 100%);\n  background-image: linear-gradient(to right, rgba(0, 0, 0, 0.5) 0%, rgba(0, 0, 0, 0.0001) 100%);\n  background-repeat: repeat-x;\n  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#80000000', endColorstr='#00000000', GradientType=1);\n}\n.carousel-control.right {\n  left: auto;\n  right: 0;\n  background-image: -webkit-linear-gradient(left, rgba(0, 0, 0, 0.0001) 0%, rgba(0, 0, 0, 0.5) 100%);\n  background-image: -o-linear-gradient(left, rgba(0, 0, 0, 0.0001) 0%, rgba(0, 0, 0, 0.5) 100%);\n  background-image: linear-gradient(to right, rgba(0, 0, 0, 0.0001) 0%, rgba(0, 0, 0, 0.5) 100%);\n  background-repeat: repeat-x;\n  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#00000000', endColorstr='#80000000', GradientType=1);\n}\n.carousel-control:hover,\n.carousel-control:focus {\n  outline: 0;\n  color: #ffffff;\n  text-decoration: none;\n  opacity: 0.9;\n  filter: alpha(opacity=90);\n}\n.carousel-control .icon-prev,\n.carousel-control .icon-next,\n.carousel-control .glyphicon-chevron-left,\n.carousel-control .glyphicon-chevron-right {\n  position: absolute;\n  top: 50%;\n  z-index: 5;\n  display: inline-block;\n}\n.carousel-control .icon-prev,\n.carousel-control .glyphicon-chevron-left {\n  left: 50%;\n  margin-left: -10px;\n}\n.carousel-control .icon-next,\n.carousel-control .glyphicon-chevron-right {\n  right: 50%;\n  margin-right: -10px;\n}\n.carousel-control .icon-prev,\n.carousel-control .icon-next {\n  width: 20px;\n  height: 20px;\n  margin-top: -10px;\n  line-height: 1;\n  font-family: serif;\n}\n.carousel-control .icon-prev:before {\n  content: '\\2039';\n}\n.carousel-control .icon-next:before {\n  content: '\\203a';\n}\n.carousel-indicators {\n  position: absolute;\n  bottom: 10px;\n  left: 50%;\n  z-index: 15;\n  width: 60%;\n  margin-left: -30%;\n  padding-left: 0;\n  list-style: none;\n  text-align: center;\n}\n.carousel-indicators li {\n  display: inline-block;\n  width: 10px;\n  height: 10px;\n  margin: 1px;\n  text-indent: -999px;\n  border: 1px solid #ffffff;\n  border-radius: 10px;\n  cursor: pointer;\n  background-color: #000 \\9;\n  background-color: rgba(0, 0, 0, 0);\n}\n.carousel-indicators .active {\n  margin: 0;\n  width: 12px;\n  height: 12px;\n  background-color: #ffffff;\n}\n.carousel-caption {\n  position: absolute;\n  left: 15%;\n  right: 15%;\n  bottom: 20px;\n  z-index: 10;\n  padding-top: 20px;\n  padding-bottom: 20px;\n  color: #ffffff;\n  text-align: center;\n  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.6);\n}\n.carousel-caption .btn {\n  text-shadow: none;\n}\n@media screen and (min-width: 768px) {\n  .carousel-control .glyphicon-chevron-left,\n  .carousel-control .glyphicon-chevron-right,\n  .carousel-control .icon-prev,\n  .carousel-control .icon-next {\n    width: 30px;\n    height: 30px;\n    margin-top: -15px;\n    font-size: 30px;\n  }\n  .carousel-control .glyphicon-chevron-left,\n  .carousel-control .icon-prev {\n    margin-left: -15px;\n  }\n  .carousel-control .glyphicon-chevron-right,\n  .carousel-control .icon-next {\n    margin-right: -15px;\n  }\n  .carousel-caption {\n    left: 20%;\n    right: 20%;\n    padding-bottom: 30px;\n  }\n  .carousel-indicators {\n    bottom: 20px;\n  }\n}\n.clearfix:before,\n.clearfix:after,\n.dl-horizontal dd:before,\n.dl-horizontal dd:after,\n.container:before,\n.container:after,\n.container-fluid:before,\n.container-fluid:after,\n.row:before,\n.row:after,\n.form-horizontal .form-group:before,\n.form-horizontal .form-group:after,\n.btn-toolbar:before,\n.btn-toolbar:after,\n.btn-group-vertical > .btn-group:before,\n.btn-group-vertical > .btn-group:after,\n.nav:before,\n.nav:after,\n.navbar:before,\n.navbar:after,\n.navbar-header:before,\n.navbar-header:after,\n.navbar-collapse:before,\n.navbar-collapse:after,\n.pager:before,\n.pager:after,\n.panel-body:before,\n.panel-body:after,\n.modal-footer:before,\n.modal-footer:after {\n  content: \" \";\n  display: table;\n}\n.clearfix:after,\n.dl-horizontal dd:after,\n.container:after,\n.container-fluid:after,\n.row:after,\n.form-horizontal .form-group:after,\n.btn-toolbar:after,\n.btn-group-vertical > .btn-group:after,\n.nav:after,\n.navbar:after,\n.navbar-header:after,\n.navbar-collapse:after,\n.pager:after,\n.panel-body:after,\n.modal-footer:after {\n  clear: both;\n}\n.center-block {\n  display: block;\n  margin-left: auto;\n  margin-right: auto;\n}\n.pull-right {\n  float: right !important;\n}\n.pull-left {\n  float: left !important;\n}\n.hide {\n  display: none !important;\n}\n.show {\n  display: block !important;\n}\n.invisible {\n  visibility: hidden;\n}\n.text-hide {\n  font: 0/0 a;\n  color: transparent;\n  text-shadow: none;\n  background-color: transparent;\n  border: 0;\n}\n.hidden {\n  display: none !important;\n}\n.affix {\n  position: fixed;\n}\n@-ms-viewport {\n  width: device-width;\n}\n.visible-xs,\n.visible-sm,\n.visible-md,\n.visible-lg {\n  display: none !important;\n}\n.visible-xs-block,\n.visible-xs-inline,\n.visible-xs-inline-block,\n.visible-sm-block,\n.visible-sm-inline,\n.visible-sm-inline-block,\n.visible-md-block,\n.visible-md-inline,\n.visible-md-inline-block,\n.visible-lg-block,\n.visible-lg-inline,\n.visible-lg-inline-block {\n  display: none !important;\n}\n@media (max-width: 767px) {\n  .visible-xs {\n    display: block !important;\n  }\n  table.visible-xs {\n    display: table;\n  }\n  tr.visible-xs {\n    display: table-row !important;\n  }\n  th.visible-xs,\n  td.visible-xs {\n    display: table-cell !important;\n  }\n}\n@media (max-width: 767px) {\n  .visible-xs-block {\n    display: block !important;\n  }\n}\n@media (max-width: 767px) {\n  .visible-xs-inline {\n    display: inline !important;\n  }\n}\n@media (max-width: 767px) {\n  .visible-xs-inline-block {\n    display: inline-block !important;\n  }\n}\n@media (min-width: 768px) and (max-width: 991px) {\n  .visible-sm {\n    display: block !important;\n  }\n  table.visible-sm {\n    display: table;\n  }\n  tr.visible-sm {\n    display: table-row !important;\n  }\n  th.visible-sm,\n  td.visible-sm {\n    display: table-cell !important;\n  }\n}\n@media (min-width: 768px) and (max-width: 991px) {\n  .visible-sm-block {\n    display: block !important;\n  }\n}\n@media (min-width: 768px) and (max-width: 991px) {\n  .visible-sm-inline {\n    display: inline !important;\n  }\n}\n@media (min-width: 768px) and (max-width: 991px) {\n  .visible-sm-inline-block {\n    display: inline-block !important;\n  }\n}\n@media (min-width: 992px) and (max-width: 1199px) {\n  .visible-md {\n    display: block !important;\n  }\n  table.visible-md {\n    display: table;\n  }\n  tr.visible-md {\n    display: table-row !important;\n  }\n  th.visible-md,\n  td.visible-md {\n    display: table-cell !important;\n  }\n}\n@media (min-width: 992px) and (max-width: 1199px) {\n  .visible-md-block {\n    display: block !important;\n  }\n}\n@media (min-width: 992px) and (max-width: 1199px) {\n  .visible-md-inline {\n    display: inline !important;\n  }\n}\n@media (min-width: 992px) and (max-width: 1199px) {\n  .visible-md-inline-block {\n    display: inline-block !important;\n  }\n}\n@media (min-width: 1200px) {\n  .visible-lg {\n    display: block !important;\n  }\n  table.visible-lg {\n    display: table;\n  }\n  tr.visible-lg {\n    display: table-row !important;\n  }\n  th.visible-lg,\n  td.visible-lg {\n    display: table-cell !important;\n  }\n}\n@media (min-width: 1200px) {\n  .visible-lg-block {\n    display: block !important;\n  }\n}\n@media (min-width: 1200px) {\n  .visible-lg-inline {\n    display: inline !important;\n  }\n}\n@media (min-width: 1200px) {\n  .visible-lg-inline-block {\n    display: inline-block !important;\n  }\n}\n@media (max-width: 767px) {\n  .hidden-xs {\n    display: none !important;\n  }\n}\n@media (min-width: 768px) and (max-width: 991px) {\n  .hidden-sm {\n    display: none !important;\n  }\n}\n@media (min-width: 992px) and (max-width: 1199px) {\n  .hidden-md {\n    display: none !important;\n  }\n}\n@media (min-width: 1200px) {\n  .hidden-lg {\n    display: none !important;\n  }\n}\n.visible-print {\n  display: none !important;\n}\n@media print {\n  .visible-print {\n    display: block !important;\n  }\n  table.visible-print {\n    display: table;\n  }\n  tr.visible-print {\n    display: table-row !important;\n  }\n  th.visible-print,\n  td.visible-print {\n    display: table-cell !important;\n  }\n}\n.visible-print-block {\n  display: none !important;\n}\n@media print {\n  .visible-print-block {\n    display: block !important;\n  }\n}\n.visible-print-inline {\n  display: none !important;\n}\n@media print {\n  .visible-print-inline {\n    display: inline !important;\n  }\n}\n.visible-print-inline-block {\n  display: none !important;\n}\n@media print {\n  .visible-print-inline-block {\n    display: inline-block !important;\n  }\n}\n@media print {\n  .hidden-print {\n    display: none !important;\n  }\n}\n/*# sourceMappingURL=bootstrap.css.map */","/*! normalize.css v3.0.2 | 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; // 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/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 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  -moz-box-sizing: content-box;\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//    (include `-moz` to future-proof).\n//\n\ninput[type=\"search\"] {\n  -webkit-appearance: textfield; // 1\n  -moz-box-sizing: content-box;\n  -webkit-box-sizing: content-box; // 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; // 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","/*! Source: https://github.com/h5bp/html5-boilerplate/blob/master/src/css/main.css */\n\n// ==========================================================================\n// Print styles.\n// Inlined to avoid the additional HTTP request: h5bp.com/r\n// ==========================================================================\n\n@media print {\n    *,\n    *:before,\n    *:after {\n        background: transparent !important;\n        color: #000 !important; // Black prints faster: h5bp.com/s\n        box-shadow: none !important;\n        text-shadow: none !important;\n    }\n\n    a,\n    a:visited {\n        text-decoration: underline;\n    }\n\n    a[href]:after {\n        content: \" (\" attr(href) \")\";\n    }\n\n    abbr[title]:after {\n        content: \" (\" attr(title) \")\";\n    }\n\n    // Don't show links that are fragment identifiers,\n    // or use the `javascript:` pseudo protocol\n    a[href^=\"#\"]:after,\n    a[href^=\"javascript:\"]:after {\n        content: \"\";\n    }\n\n    pre,\n    blockquote {\n        border: 1px solid #999;\n        page-break-inside: avoid;\n    }\n\n    thead {\n        display: table-header-group; // h5bp.com/t\n    }\n\n    tr,\n    img {\n        page-break-inside: avoid;\n    }\n\n    img {\n        max-width: 100% !important;\n    }\n\n    p,\n    h2,\n    h3 {\n        orphans: 3;\n        widows: 3;\n    }\n\n    h2,\n    h3 {\n        page-break-after: avoid;\n    }\n\n    // Bootstrap specific changes start\n    //\n    // Chrome (OSX) fix for https://github.com/twbs/bootstrap/issues/11245\n    // Once fixed, we can just straight up remove this.\n    select {\n        background: #fff !important;\n    }\n\n    // Bootstrap components\n    .navbar {\n        display: none;\n    }\n    .btn,\n    .dropup > .btn {\n        > .caret {\n            border-top-color: #000 !important;\n        }\n    }\n    .label {\n        border: 1px solid #000;\n    }\n\n    .table {\n        border-collapse: collapse !important;\n\n        td,\n        th {\n            background-color: #fff !important;\n        }\n    }\n    .table-bordered {\n        th,\n        td {\n            border: 1px solid #ddd !important;\n        }\n    }\n\n    // Bootstrap specific changes end\n}\n","//\n// Glyphicons for Bootstrap\n//\n// Since icons are fonts, they can be placed anywhere text is placed and are\n// thus automatically sized to match the surrounding child. To use, create an\n// inline element with the appropriate classes, like so:\n//\n// <a href=\"#\"><span class=\"glyphicon glyphicon-star\"></span> Star</a>\n\n// Import the fonts\n@font-face {\n  font-family: 'Glyphicons Halflings';\n  src: url('@{icon-font-path}@{icon-font-name}.eot');\n  src: url('@{icon-font-path}@{icon-font-name}.eot?#iefix') format('embedded-opentype'),\n       url('@{icon-font-path}@{icon-font-name}.woff2') format('woff2'),\n       url('@{icon-font-path}@{icon-font-name}.woff') format('woff'),\n       url('@{icon-font-path}@{icon-font-name}.ttf') format('truetype'),\n       url('@{icon-font-path}@{icon-font-name}.svg#@{icon-font-svg-id}') format('svg');\n}\n\n// Catchall baseclass\n.glyphicon {\n  position: relative;\n  top: 1px;\n  display: inline-block;\n  font-family: 'Glyphicons Halflings';\n  font-style: normal;\n  font-weight: normal;\n  line-height: 1;\n  -webkit-font-smoothing: antialiased;\n  -moz-osx-font-smoothing: grayscale;\n}\n\n// Individual icons\n.glyphicon-asterisk               { &:before { content: \"\\2a\"; } }\n.glyphicon-plus                   { &:before { content: \"\\2b\"; } }\n.glyphicon-euro,\n.glyphicon-eur                    { &:before { content: \"\\20ac\"; } }\n.glyphicon-minus                  { &:before { content: \"\\2212\"; } }\n.glyphicon-cloud                  { &:before { content: \"\\2601\"; } }\n.glyphicon-envelope               { &:before { content: \"\\2709\"; } }\n.glyphicon-pencil                 { &:before { content: \"\\270f\"; } }\n.glyphicon-glass                  { &:before { content: \"\\e001\"; } }\n.glyphicon-music                  { &:before { content: \"\\e002\"; } }\n.glyphicon-search                 { &:before { content: \"\\e003\"; } }\n.glyphicon-heart                  { &:before { content: \"\\e005\"; } }\n.glyphicon-star                   { &:before { content: \"\\e006\"; } }\n.glyphicon-star-empty             { &:before { content: \"\\e007\"; } }\n.glyphicon-user                   { &:before { content: \"\\e008\"; } }\n.glyphicon-film                   { &:before { content: \"\\e009\"; } }\n.glyphicon-th-large               { &:before { content: \"\\e010\"; } }\n.glyphicon-th                     { &:before { content: \"\\e011\"; } }\n.glyphicon-th-list                { &:before { content: \"\\e012\"; } }\n.glyphicon-ok                     { &:before { content: \"\\e013\"; } }\n.glyphicon-remove                 { &:before { content: \"\\e014\"; } }\n.glyphicon-zoom-in                { &:before { content: \"\\e015\"; } }\n.glyphicon-zoom-out               { &:before { content: \"\\e016\"; } }\n.glyphicon-off                    { &:before { content: \"\\e017\"; } }\n.glyphicon-signal                 { &:before { content: \"\\e018\"; } }\n.glyphicon-cog                    { &:before { content: \"\\e019\"; } }\n.glyphicon-trash                  { &:before { content: \"\\e020\"; } }\n.glyphicon-home                   { &:before { content: \"\\e021\"; } }\n.glyphicon-file                   { &:before { content: \"\\e022\"; } }\n.glyphicon-time                   { &:before { content: \"\\e023\"; } }\n.glyphicon-road                   { &:before { content: \"\\e024\"; } }\n.glyphicon-download-alt           { &:before { content: \"\\e025\"; } }\n.glyphicon-download               { &:before { content: \"\\e026\"; } }\n.glyphicon-upload                 { &:before { content: \"\\e027\"; } }\n.glyphicon-inbox                  { &:before { content: \"\\e028\"; } }\n.glyphicon-play-circle            { &:before { content: \"\\e029\"; } }\n.glyphicon-repeat                 { &:before { content: \"\\e030\"; } }\n.glyphicon-refresh                { &:before { content: \"\\e031\"; } }\n.glyphicon-list-alt               { &:before { content: \"\\e032\"; } }\n.glyphicon-lock                   { &:before { content: \"\\e033\"; } }\n.glyphicon-flag                   { &:before { content: \"\\e034\"; } }\n.glyphicon-headphones             { &:before { content: \"\\e035\"; } }\n.glyphicon-volume-off             { &:before { content: \"\\e036\"; } }\n.glyphicon-volume-down            { &:before { content: \"\\e037\"; } }\n.glyphicon-volume-up              { &:before { content: \"\\e038\"; } }\n.glyphicon-qrcode                 { &:before { content: \"\\e039\"; } }\n.glyphicon-barcode                { &:before { content: \"\\e040\"; } }\n.glyphicon-tag                    { &:before { content: \"\\e041\"; } }\n.glyphicon-tags                   { &:before { content: \"\\e042\"; } }\n.glyphicon-book                   { &:before { content: \"\\e043\"; } }\n.glyphicon-bookmark               { &:before { content: \"\\e044\"; } }\n.glyphicon-print                  { &:before { content: \"\\e045\"; } }\n.glyphicon-camera                 { &:before { content: \"\\e046\"; } }\n.glyphicon-font                   { &:before { content: \"\\e047\"; } }\n.glyphicon-bold                   { &:before { content: \"\\e048\"; } }\n.glyphicon-italic                 { &:before { content: \"\\e049\"; } }\n.glyphicon-text-height            { &:before { content: \"\\e050\"; } }\n.glyphicon-text-width             { &:before { content: \"\\e051\"; } }\n.glyphicon-align-left             { &:before { content: \"\\e052\"; } }\n.glyphicon-align-center           { &:before { content: \"\\e053\"; } }\n.glyphicon-align-right            { &:before { content: \"\\e054\"; } }\n.glyphicon-align-justify          { &:before { content: \"\\e055\"; } }\n.glyphicon-list                   { &:before { content: \"\\e056\"; } }\n.glyphicon-indent-left            { &:before { content: \"\\e057\"; } }\n.glyphicon-indent-right           { &:before { content: \"\\e058\"; } }\n.glyphicon-facetime-video         { &:before { content: \"\\e059\"; } }\n.glyphicon-picture                { &:before { content: \"\\e060\"; } }\n.glyphicon-map-marker             { &:before { content: \"\\e062\"; } }\n.glyphicon-adjust                 { &:before { content: \"\\e063\"; } }\n.glyphicon-tint                   { &:before { content: \"\\e064\"; } }\n.glyphicon-edit                   { &:before { content: \"\\e065\"; } }\n.glyphicon-share                  { &:before { content: \"\\e066\"; } }\n.glyphicon-check                  { &:before { content: \"\\e067\"; } }\n.glyphicon-move                   { &:before { content: \"\\e068\"; } }\n.glyphicon-step-backward          { &:before { content: \"\\e069\"; } }\n.glyphicon-fast-backward          { &:before { content: \"\\e070\"; } }\n.glyphicon-backward               { &:before { content: \"\\e071\"; } }\n.glyphicon-play                   { &:before { content: \"\\e072\"; } }\n.glyphicon-pause                  { &:before { content: \"\\e073\"; } }\n.glyphicon-stop                   { &:before { content: \"\\e074\"; } }\n.glyphicon-forward                { &:before { content: \"\\e075\"; } }\n.glyphicon-fast-forward           { &:before { content: \"\\e076\"; } }\n.glyphicon-step-forward           { &:before { content: \"\\e077\"; } }\n.glyphicon-eject                  { &:before { content: \"\\e078\"; } }\n.glyphicon-chevron-left           { &:before { content: \"\\e079\"; } }\n.glyphicon-chevron-right          { &:before { content: \"\\e080\"; } }\n.glyphicon-plus-sign              { &:before { content: \"\\e081\"; } }\n.glyphicon-minus-sign             { &:before { content: \"\\e082\"; } }\n.glyphicon-remove-sign            { &:before { content: \"\\e083\"; } }\n.glyphicon-ok-sign                { &:before { content: \"\\e084\"; } }\n.glyphicon-question-sign          { &:before { content: \"\\e085\"; } }\n.glyphicon-info-sign              { &:before { content: \"\\e086\"; } }\n.glyphicon-screenshot             { &:before { content: \"\\e087\"; } }\n.glyphicon-remove-circle          { &:before { content: \"\\e088\"; } }\n.glyphicon-ok-circle              { &:before { content: \"\\e089\"; } }\n.glyphicon-ban-circle             { &:before { content: \"\\e090\"; } }\n.glyphicon-arrow-left             { &:before { content: \"\\e091\"; } }\n.glyphicon-arrow-right            { &:before { content: \"\\e092\"; } }\n.glyphicon-arrow-up               { &:before { content: \"\\e093\"; } }\n.glyphicon-arrow-down             { &:before { content: \"\\e094\"; } }\n.glyphicon-share-alt              { &:before { content: \"\\e095\"; } }\n.glyphicon-resize-full            { &:before { content: \"\\e096\"; } }\n.glyphicon-resize-small           { &:before { content: \"\\e097\"; } }\n.glyphicon-exclamation-sign       { &:before { content: \"\\e101\"; } }\n.glyphicon-gift                   { &:before { content: \"\\e102\"; } }\n.glyphicon-leaf                   { &:before { content: \"\\e103\"; } }\n.glyphicon-fire                   { &:before { content: \"\\e104\"; } }\n.glyphicon-eye-open               { &:before { content: \"\\e105\"; } }\n.glyphicon-eye-close              { &:before { content: \"\\e106\"; } }\n.glyphicon-warning-sign           { &:before { content: \"\\e107\"; } }\n.glyphicon-plane                  { &:before { content: \"\\e108\"; } }\n.glyphicon-calendar               { &:before { content: \"\\e109\"; } }\n.glyphicon-random                 { &:before { content: \"\\e110\"; } }\n.glyphicon-comment                { &:before { content: \"\\e111\"; } }\n.glyphicon-magnet                 { &:before { content: \"\\e112\"; } }\n.glyphicon-chevron-up             { &:before { content: \"\\e113\"; } }\n.glyphicon-chevron-down           { &:before { content: \"\\e114\"; } }\n.glyphicon-retweet                { &:before { content: \"\\e115\"; } }\n.glyphicon-shopping-cart          { &:before { content: \"\\e116\"; } }\n.glyphicon-folder-close           { &:before { content: \"\\e117\"; } }\n.glyphicon-folder-open            { &:before { content: \"\\e118\"; } }\n.glyphicon-resize-vertical        { &:before { content: \"\\e119\"; } }\n.glyphicon-resize-horizontal      { &:before { content: \"\\e120\"; } }\n.glyphicon-hdd                    { &:before { content: \"\\e121\"; } }\n.glyphicon-bullhorn               { &:before { content: \"\\e122\"; } }\n.glyphicon-bell                   { &:before { content: \"\\e123\"; } }\n.glyphicon-certificate            { &:before { content: \"\\e124\"; } }\n.glyphicon-thumbs-up              { &:before { content: \"\\e125\"; } }\n.glyphicon-thumbs-down            { &:before { content: \"\\e126\"; } }\n.glyphicon-hand-right             { &:before { content: \"\\e127\"; } }\n.glyphicon-hand-left              { &:before { content: \"\\e128\"; } }\n.glyphicon-hand-up                { &:before { content: \"\\e129\"; } }\n.glyphicon-hand-down              { &:before { content: \"\\e130\"; } }\n.glyphicon-circle-arrow-right     { &:before { content: \"\\e131\"; } }\n.glyphicon-circle-arrow-left      { &:before { content: \"\\e132\"; } }\n.glyphicon-circle-arrow-up        { &:before { content: \"\\e133\"; } }\n.glyphicon-circle-arrow-down      { &:before { content: \"\\e134\"; } }\n.glyphicon-globe                  { &:before { content: \"\\e135\"; } }\n.glyphicon-wrench                 { &:before { content: \"\\e136\"; } }\n.glyphicon-tasks                  { &:before { content: \"\\e137\"; } }\n.glyphicon-filter                 { &:before { content: \"\\e138\"; } }\n.glyphicon-briefcase              { &:before { content: \"\\e139\"; } }\n.glyphicon-fullscreen             { &:before { content: \"\\e140\"; } }\n.glyphicon-dashboard              { &:before { content: \"\\e141\"; } }\n.glyphicon-paperclip              { &:before { content: \"\\e142\"; } }\n.glyphicon-heart-empty            { &:before { content: \"\\e143\"; } }\n.glyphicon-link                   { &:before { content: \"\\e144\"; } }\n.glyphicon-phone                  { &:before { content: \"\\e145\"; } }\n.glyphicon-pushpin                { &:before { content: \"\\e146\"; } }\n.glyphicon-usd                    { &:before { content: \"\\e148\"; } }\n.glyphicon-gbp                    { &:before { content: \"\\e149\"; } }\n.glyphicon-sort                   { &:before { content: \"\\e150\"; } }\n.glyphicon-sort-by-alphabet       { &:before { content: \"\\e151\"; } }\n.glyphicon-sort-by-alphabet-alt   { &:before { content: \"\\e152\"; } }\n.glyphicon-sort-by-order          { &:before { content: \"\\e153\"; } }\n.glyphicon-sort-by-order-alt      { &:before { content: \"\\e154\"; } }\n.glyphicon-sort-by-attributes     { &:before { content: \"\\e155\"; } }\n.glyphicon-sort-by-attributes-alt { &:before { content: \"\\e156\"; } }\n.glyphicon-unchecked              { &:before { content: \"\\e157\"; } }\n.glyphicon-expand                 { &:before { content: \"\\e158\"; } }\n.glyphicon-collapse-down          { &:before { content: \"\\e159\"; } }\n.glyphicon-collapse-up            { &:before { content: \"\\e160\"; } }\n.glyphicon-log-in                 { &:before { content: \"\\e161\"; } }\n.glyphicon-flash                  { &:before { content: \"\\e162\"; } }\n.glyphicon-log-out                { &:before { content: \"\\e163\"; } }\n.glyphicon-new-window             { &:before { content: \"\\e164\"; } }\n.glyphicon-record                 { &:before { content: \"\\e165\"; } }\n.glyphicon-save                   { &:before { content: \"\\e166\"; } }\n.glyphicon-open                   { &:before { content: \"\\e167\"; } }\n.glyphicon-saved                  { &:before { content: \"\\e168\"; } }\n.glyphicon-import                 { &:before { content: \"\\e169\"; } }\n.glyphicon-export                 { &:before { content: \"\\e170\"; } }\n.glyphicon-send                   { &:before { content: \"\\e171\"; } }\n.glyphicon-floppy-disk            { &:before { content: \"\\e172\"; } }\n.glyphicon-floppy-saved           { &:before { content: \"\\e173\"; } }\n.glyphicon-floppy-remove          { &:before { content: \"\\e174\"; } }\n.glyphicon-floppy-save            { &:before { content: \"\\e175\"; } }\n.glyphicon-floppy-open            { &:before { content: \"\\e176\"; } }\n.glyphicon-credit-card            { &:before { content: \"\\e177\"; } }\n.glyphicon-transfer               { &:before { content: \"\\e178\"; } }\n.glyphicon-cutlery                { &:before { content: \"\\e179\"; } }\n.glyphicon-header                 { &:before { content: \"\\e180\"; } }\n.glyphicon-compressed             { &:before { content: \"\\e181\"; } }\n.glyphicon-earphone               { &:before { content: \"\\e182\"; } }\n.glyphicon-phone-alt              { &:before { content: \"\\e183\"; } }\n.glyphicon-tower                  { &:before { content: \"\\e184\"; } }\n.glyphicon-stats                  { &:before { content: \"\\e185\"; } }\n.glyphicon-sd-video               { &:before { content: \"\\e186\"; } }\n.glyphicon-hd-video               { &:before { content: \"\\e187\"; } }\n.glyphicon-subtitles              { &:before { content: \"\\e188\"; } }\n.glyphicon-sound-stereo           { &:before { content: \"\\e189\"; } }\n.glyphicon-sound-dolby            { &:before { content: \"\\e190\"; } }\n.glyphicon-sound-5-1              { &:before { content: \"\\e191\"; } }\n.glyphicon-sound-6-1              { &:before { content: \"\\e192\"; } }\n.glyphicon-sound-7-1              { &:before { content: \"\\e193\"; } }\n.glyphicon-copyright-mark         { &:before { content: \"\\e194\"; } }\n.glyphicon-registration-mark      { &:before { content: \"\\e195\"; } }\n.glyphicon-cloud-download         { &:before { content: \"\\e197\"; } }\n.glyphicon-cloud-upload           { &:before { content: \"\\e198\"; } }\n.glyphicon-tree-conifer           { &:before { content: \"\\e199\"; } }\n.glyphicon-tree-deciduous         { &:before { content: \"\\e200\"; } }\n.glyphicon-cd                     { &:before { content: \"\\e201\"; } }\n.glyphicon-save-file              { &:before { content: \"\\e202\"; } }\n.glyphicon-open-file              { &:before { content: \"\\e203\"; } }\n.glyphicon-level-up               { &:before { content: \"\\e204\"; } }\n.glyphicon-copy                   { &:before { content: \"\\e205\"; } }\n.glyphicon-paste                  { &:before { content: \"\\e206\"; } }\n// The following 2 Glyphicons are omitted for the time being because\n// they currently use Unicode codepoints that are outside the\n// Basic Multilingual Plane (BMP). Older buggy versions of WebKit can't handle\n// non-BMP codepoints in CSS string escapes, and thus can't display these two icons.\n// Notably, the bug affects some older versions of the Android Browser.\n// More info: https://github.com/twbs/bootstrap/issues/10106\n// .glyphicon-door                   { &:before { content: \"\\1f6aa\"; } }\n// .glyphicon-key                    { &:before { content: \"\\1f511\"; } }\n.glyphicon-alert                  { &:before { content: \"\\e209\"; } }\n.glyphicon-equalizer              { &:before { content: \"\\e210\"; } }\n.glyphicon-king                   { &:before { content: \"\\e211\"; } }\n.glyphicon-queen                  { &:before { content: \"\\e212\"; } }\n.glyphicon-pawn                   { &:before { content: \"\\e213\"; } }\n.glyphicon-bishop                 { &:before { content: \"\\e214\"; } }\n.glyphicon-knight                 { &:before { content: \"\\e215\"; } }\n.glyphicon-baby-formula           { &:before { content: \"\\e216\"; } }\n.glyphicon-tent                   { &:before { content: \"\\26fa\"; } }\n.glyphicon-blackboard             { &:before { content: \"\\e218\"; } }\n.glyphicon-bed                    { &:before { content: \"\\e219\"; } }\n.glyphicon-apple                  { &:before { content: \"\\f8ff\"; } }\n.glyphicon-erase                  { &:before { content: \"\\e221\"; } }\n.glyphicon-hourglass              { &:before { content: \"\\231b\"; } }\n.glyphicon-lamp                   { &:before { content: \"\\e223\"; } }\n.glyphicon-duplicate              { &:before { content: \"\\e224\"; } }\n.glyphicon-piggy-bank             { &:before { content: \"\\e225\"; } }\n.glyphicon-scissors               { &:before { content: \"\\e226\"; } }\n.glyphicon-bitcoin                { &:before { content: \"\\e227\"; } }\n.glyphicon-btc                    { &:before { content: \"\\e227\"; } }\n.glyphicon-xbt                    { &:before { content: \"\\e227\"; } }\n.glyphicon-yen                    { &:before { content: \"\\00a5\"; } }\n.glyphicon-jpy                    { &:before { content: \"\\00a5\"; } }\n.glyphicon-ruble                  { &:before { content: \"\\20bd\"; } }\n.glyphicon-rub                    { &:before { content: \"\\20bd\"; } }\n.glyphicon-scale                  { &:before { content: \"\\e230\"; } }\n.glyphicon-ice-lolly              { &:before { content: \"\\e231\"; } }\n.glyphicon-ice-lolly-tasted       { &:before { content: \"\\e232\"; } }\n.glyphicon-education              { &:before { content: \"\\e233\"; } }\n.glyphicon-option-horizontal      { &:before { content: \"\\e234\"; } }\n.glyphicon-option-vertical        { &:before { content: \"\\e235\"; } }\n.glyphicon-menu-hamburger         { &:before { content: \"\\e236\"; } }\n.glyphicon-modal-window           { &:before { content: \"\\e237\"; } }\n.glyphicon-oil                    { &:before { content: \"\\e238\"; } }\n.glyphicon-grain                  { &:before { content: \"\\e239\"; } }\n.glyphicon-sunglasses             { &:before { content: \"\\e240\"; } }\n.glyphicon-text-size              { &:before { content: \"\\e241\"; } }\n.glyphicon-text-color             { &:before { content: \"\\e242\"; } }\n.glyphicon-text-background        { &:before { content: \"\\e243\"; } }\n.glyphicon-object-align-top       { &:before { content: \"\\e244\"; } }\n.glyphicon-object-align-bottom    { &:before { content: \"\\e245\"; } }\n.glyphicon-object-align-horizontal{ &:before { content: \"\\e246\"; } }\n.glyphicon-object-align-left      { &:before { content: \"\\e247\"; } }\n.glyphicon-object-align-vertical  { &:before { content: \"\\e248\"; } }\n.glyphicon-object-align-right     { &:before { content: \"\\e249\"; } }\n.glyphicon-triangle-right         { &:before { content: \"\\e250\"; } }\n.glyphicon-triangle-left          { &:before { content: \"\\e251\"; } }\n.glyphicon-triangle-bottom        { &:before { content: \"\\e252\"; } }\n.glyphicon-triangle-top           { &:before { content: \"\\e253\"; } }\n.glyphicon-console                { &:before { content: \"\\e254\"; } }\n.glyphicon-superscript            { &:before { content: \"\\e255\"; } }\n.glyphicon-subscript              { &:before { content: \"\\e256\"; } }\n.glyphicon-menu-left              { &:before { content: \"\\e257\"; } }\n.glyphicon-menu-right             { &:before { content: \"\\e258\"; } }\n.glyphicon-menu-down              { &:before { content: \"\\e259\"; } }\n.glyphicon-menu-up                { &:before { content: \"\\e260\"; } }\n","//\n// Scaffolding\n// --------------------------------------------------\n\n\n// Reset the box-sizing\n//\n// Heads up! This reset may cause conflicts with some third-party widgets.\n// For recommendations on resolving such conflicts, see\n// http://getbootstrap.com/getting-started/#third-box-sizing\n* {\n  .box-sizing(border-box);\n}\n*:before,\n*:after {\n  .box-sizing(border-box);\n}\n\n\n// Body reset\n\nhtml {\n  font-size: 10px;\n  -webkit-tap-highlight-color: rgba(0,0,0,0);\n}\n\nbody {\n  font-family: @font-family-base;\n  font-size: @font-size-base;\n  line-height: @line-height-base;\n  color: @text-color;\n  background-color: @body-bg;\n}\n\n// Reset fonts for relevant elements\ninput,\nbutton,\nselect,\ntextarea {\n  font-family: inherit;\n  font-size: inherit;\n  line-height: inherit;\n}\n\n\n// Links\n\na {\n  color: @link-color;\n  text-decoration: none;\n\n  &:hover,\n  &:focus {\n    color: @link-hover-color;\n    text-decoration: @link-hover-decoration;\n  }\n\n  &:focus {\n    .tab-focus();\n  }\n}\n\n\n// Figures\n//\n// We reset this here because previously Normalize had no `figure` margins. This\n// ensures we don't break anyone's use of the element.\n\nfigure {\n  margin: 0;\n}\n\n\n// Images\n\nimg {\n  vertical-align: middle;\n}\n\n// Responsive images (ensure images don't scale beyond their parents)\n.img-responsive {\n  .img-responsive();\n}\n\n// Rounded corners\n.img-rounded {\n  border-radius: @border-radius-large;\n}\n\n// Image thumbnails\n//\n// Heads up! This is mixin-ed into thumbnails.less for `.thumbnail`.\n.img-thumbnail {\n  padding: @thumbnail-padding;\n  line-height: @line-height-base;\n  background-color: @thumbnail-bg;\n  border: 1px solid @thumbnail-border;\n  border-radius: @thumbnail-border-radius;\n  .transition(all .2s ease-in-out);\n\n  // Keep them at most 100% wide\n  .img-responsive(inline-block);\n}\n\n// Perfect circle\n.img-circle {\n  border-radius: 50%; // set radius in percents\n}\n\n\n// Horizontal rules\n\nhr {\n  margin-top:    @line-height-computed;\n  margin-bottom: @line-height-computed;\n  border: 0;\n  border-top: 1px solid @hr-border;\n}\n\n\n// Only display content to screen readers\n//\n// See: http://a11yproject.com/posts/how-to-hide-content/\n\n.sr-only {\n  position: absolute;\n  width: 1px;\n  height: 1px;\n  margin: -1px;\n  padding: 0;\n  overflow: hidden;\n  clip: rect(0,0,0,0);\n  border: 0;\n}\n\n// Use in conjunction with .sr-only to only display content when it's focused.\n// Useful for \"Skip to main content\" links; see http://www.w3.org/TR/2013/NOTE-WCAG20-TECHS-20130905/G1\n// Credit: HTML5 Boilerplate\n\n.sr-only-focusable {\n  &:active,\n  &:focus {\n    position: static;\n    width: auto;\n    height: auto;\n    margin: 0;\n    overflow: visible;\n    clip: auto;\n  }\n}\n\n\n// iOS \"clickable elements\" fix for role=\"button\"\n//\n// Fixes \"clickability\" issue (and more generally, the firing of events such as focus as well)\n// for traditionally non-focusable elements with role=\"button\"\n// see https://developer.mozilla.org/en-US/docs/Web/Events/click#Safari_Mobile\n// Upstream patch for normalize.css submitted: https://github.com/necolas/normalize.css/pull/379 - remove this fix once that is merged\n\n[role=\"button\"] {\n  cursor: pointer;\n}","// Vendor Prefixes\n//\n// All vendor mixins are deprecated as of v3.2.0 due to the introduction of\n// Autoprefixer in our Gruntfile. They will be removed in v4.\n\n// - Animations\n// - Backface visibility\n// - Box shadow\n// - Box sizing\n// - Content columns\n// - Hyphens\n// - Placeholder text\n// - Transformations\n// - Transitions\n// - User Select\n\n\n// Animations\n.animation(@animation) {\n  -webkit-animation: @animation;\n       -o-animation: @animation;\n          animation: @animation;\n}\n.animation-name(@name) {\n  -webkit-animation-name: @name;\n          animation-name: @name;\n}\n.animation-duration(@duration) {\n  -webkit-animation-duration: @duration;\n          animation-duration: @duration;\n}\n.animation-timing-function(@timing-function) {\n  -webkit-animation-timing-function: @timing-function;\n          animation-timing-function: @timing-function;\n}\n.animation-delay(@delay) {\n  -webkit-animation-delay: @delay;\n          animation-delay: @delay;\n}\n.animation-iteration-count(@iteration-count) {\n  -webkit-animation-iteration-count: @iteration-count;\n          animation-iteration-count: @iteration-count;\n}\n.animation-direction(@direction) {\n  -webkit-animation-direction: @direction;\n          animation-direction: @direction;\n}\n.animation-fill-mode(@fill-mode) {\n  -webkit-animation-fill-mode: @fill-mode;\n          animation-fill-mode: @fill-mode;\n}\n\n// Backface visibility\n// Prevent browsers from flickering when using CSS 3D transforms.\n// Default value is `visible`, but can be changed to `hidden`\n\n.backface-visibility(@visibility){\n  -webkit-backface-visibility: @visibility;\n     -moz-backface-visibility: @visibility;\n          backface-visibility: @visibility;\n}\n\n// Drop shadows\n//\n// Note: Deprecated `.box-shadow()` as of v3.1.0 since all of Bootstrap's\n// supported browsers that have box shadow capabilities now support it.\n\n.box-shadow(@shadow) {\n  -webkit-box-shadow: @shadow; // iOS <4.3 & Android <4.1\n          box-shadow: @shadow;\n}\n\n// Box sizing\n.box-sizing(@boxmodel) {\n  -webkit-box-sizing: @boxmodel;\n     -moz-box-sizing: @boxmodel;\n          box-sizing: @boxmodel;\n}\n\n// CSS3 Content Columns\n.content-columns(@column-count; @column-gap: @grid-gutter-width) {\n  -webkit-column-count: @column-count;\n     -moz-column-count: @column-count;\n          column-count: @column-count;\n  -webkit-column-gap: @column-gap;\n     -moz-column-gap: @column-gap;\n          column-gap: @column-gap;\n}\n\n// Optional hyphenation\n.hyphens(@mode: auto) {\n  word-wrap: break-word;\n  -webkit-hyphens: @mode;\n     -moz-hyphens: @mode;\n      -ms-hyphens: @mode; // IE10+\n       -o-hyphens: @mode;\n          hyphens: @mode;\n}\n\n// Placeholder text\n.placeholder(@color: @input-color-placeholder) {\n  // Firefox\n  &::-moz-placeholder {\n    color: @color;\n    opacity: 1; // Override Firefox's unusual default opacity; see https://github.com/twbs/bootstrap/pull/11526\n  }\n  &:-ms-input-placeholder { color: @color; } // Internet Explorer 10+\n  &::-webkit-input-placeholder  { color: @color; } // Safari and Chrome\n}\n\n// Transformations\n.scale(@ratio) {\n  -webkit-transform: scale(@ratio);\n      -ms-transform: scale(@ratio); // IE9 only\n       -o-transform: scale(@ratio);\n          transform: scale(@ratio);\n}\n.scale(@ratioX; @ratioY) {\n  -webkit-transform: scale(@ratioX, @ratioY);\n      -ms-transform: scale(@ratioX, @ratioY); // IE9 only\n       -o-transform: scale(@ratioX, @ratioY);\n          transform: scale(@ratioX, @ratioY);\n}\n.scaleX(@ratio) {\n  -webkit-transform: scaleX(@ratio);\n      -ms-transform: scaleX(@ratio); // IE9 only\n       -o-transform: scaleX(@ratio);\n          transform: scaleX(@ratio);\n}\n.scaleY(@ratio) {\n  -webkit-transform: scaleY(@ratio);\n      -ms-transform: scaleY(@ratio); // IE9 only\n       -o-transform: scaleY(@ratio);\n          transform: scaleY(@ratio);\n}\n.skew(@x; @y) {\n  -webkit-transform: skewX(@x) skewY(@y);\n      -ms-transform: skewX(@x) skewY(@y); // See https://github.com/twbs/bootstrap/issues/4885; IE9+\n       -o-transform: skewX(@x) skewY(@y);\n          transform: skewX(@x) skewY(@y);\n}\n.translate(@x; @y) {\n  -webkit-transform: translate(@x, @y);\n      -ms-transform: translate(@x, @y); // IE9 only\n       -o-transform: translate(@x, @y);\n          transform: translate(@x, @y);\n}\n.translate3d(@x; @y; @z) {\n  -webkit-transform: translate3d(@x, @y, @z);\n          transform: translate3d(@x, @y, @z);\n}\n.rotate(@degrees) {\n  -webkit-transform: rotate(@degrees);\n      -ms-transform: rotate(@degrees); // IE9 only\n       -o-transform: rotate(@degrees);\n          transform: rotate(@degrees);\n}\n.rotateX(@degrees) {\n  -webkit-transform: rotateX(@degrees);\n      -ms-transform: rotateX(@degrees); // IE9 only\n       -o-transform: rotateX(@degrees);\n          transform: rotateX(@degrees);\n}\n.rotateY(@degrees) {\n  -webkit-transform: rotateY(@degrees);\n      -ms-transform: rotateY(@degrees); // IE9 only\n       -o-transform: rotateY(@degrees);\n          transform: rotateY(@degrees);\n}\n.perspective(@perspective) {\n  -webkit-perspective: @perspective;\n     -moz-perspective: @perspective;\n          perspective: @perspective;\n}\n.perspective-origin(@perspective) {\n  -webkit-perspective-origin: @perspective;\n     -moz-perspective-origin: @perspective;\n          perspective-origin: @perspective;\n}\n.transform-origin(@origin) {\n  -webkit-transform-origin: @origin;\n     -moz-transform-origin: @origin;\n      -ms-transform-origin: @origin; // IE9 only\n          transform-origin: @origin;\n}\n\n\n// Transitions\n\n.transition(@transition) {\n  -webkit-transition: @transition;\n       -o-transition: @transition;\n          transition: @transition;\n}\n.transition-property(@transition-property) {\n  -webkit-transition-property: @transition-property;\n          transition-property: @transition-property;\n}\n.transition-delay(@transition-delay) {\n  -webkit-transition-delay: @transition-delay;\n          transition-delay: @transition-delay;\n}\n.transition-duration(@transition-duration) {\n  -webkit-transition-duration: @transition-duration;\n          transition-duration: @transition-duration;\n}\n.transition-timing-function(@timing-function) {\n  -webkit-transition-timing-function: @timing-function;\n          transition-timing-function: @timing-function;\n}\n.transition-transform(@transition) {\n  -webkit-transition: -webkit-transform @transition;\n     -moz-transition: -moz-transform @transition;\n       -o-transition: -o-transform @transition;\n          transition: transform @transition;\n}\n\n\n// User select\n// For selecting text on the page\n\n.user-select(@select) {\n  -webkit-user-select: @select;\n     -moz-user-select: @select;\n      -ms-user-select: @select; // IE10+\n          user-select: @select;\n}\n","// WebKit-style focus\n\n.tab-focus() {\n  // Default\n  outline: thin dotted;\n  // WebKit\n  outline: 5px auto -webkit-focus-ring-color;\n  outline-offset: -2px;\n}\n","// Image Mixins\n// - Responsive image\n// - Retina image\n\n\n// Responsive image\n//\n// Keep images from scaling beyond the width of their parents.\n.img-responsive(@display: block) {\n  display: @display;\n  max-width: 100%; // Part 1: Set a maximum relative to the parent\n  height: auto; // Part 2: Scale the height according to the width, otherwise you get stretching\n}\n\n\n// Retina image\n//\n// Short retina mixin for setting background-image and -size. Note that the\n// spelling of `min--moz-device-pixel-ratio` is intentional.\n.img-retina(@file-1x; @file-2x; @width-1x; @height-1x) {\n  background-image: url(\"@{file-1x}\");\n\n  @media\n  only screen and (-webkit-min-device-pixel-ratio: 2),\n  only screen and (   min--moz-device-pixel-ratio: 2),\n  only screen and (     -o-min-device-pixel-ratio: 2/1),\n  only screen and (        min-device-pixel-ratio: 2),\n  only screen and (                min-resolution: 192dpi),\n  only screen and (                min-resolution: 2dppx) {\n    background-image: url(\"@{file-2x}\");\n    background-size: @width-1x @height-1x;\n  }\n}\n","//\n// Typography\n// --------------------------------------------------\n\n\n// Headings\n// -------------------------\n\nh1, h2, h3, h4, h5, h6,\n.h1, .h2, .h3, .h4, .h5, .h6 {\n  font-family: @headings-font-family;\n  font-weight: @headings-font-weight;\n  line-height: @headings-line-height;\n  color: @headings-color;\n\n  small,\n  .small {\n    font-weight: normal;\n    line-height: 1;\n    color: @headings-small-color;\n  }\n}\n\nh1, .h1,\nh2, .h2,\nh3, .h3 {\n  margin-top: @line-height-computed;\n  margin-bottom: (@line-height-computed / 2);\n\n  small,\n  .small {\n    font-size: 65%;\n  }\n}\nh4, .h4,\nh5, .h5,\nh6, .h6 {\n  margin-top: (@line-height-computed / 2);\n  margin-bottom: (@line-height-computed / 2);\n\n  small,\n  .small {\n    font-size: 75%;\n  }\n}\n\nh1, .h1 { font-size: @font-size-h1; }\nh2, .h2 { font-size: @font-size-h2; }\nh3, .h3 { font-size: @font-size-h3; }\nh4, .h4 { font-size: @font-size-h4; }\nh5, .h5 { font-size: @font-size-h5; }\nh6, .h6 { font-size: @font-size-h6; }\n\n\n// Body text\n// -------------------------\n\np {\n  margin: 0 0 (@line-height-computed / 2);\n}\n\n.lead {\n  margin-bottom: @line-height-computed;\n  font-size: floor((@font-size-base * 1.15));\n  font-weight: 300;\n  line-height: 1.4;\n\n  @media (min-width: @screen-sm-min) {\n    font-size: (@font-size-base * 1.5);\n  }\n}\n\n\n// Emphasis & misc\n// -------------------------\n\n// Ex: (12px small font / 14px base font) * 100% = about 85%\nsmall,\n.small {\n  font-size: floor((100% * @font-size-small / @font-size-base));\n}\n\nmark,\n.mark {\n  background-color: @state-warning-bg;\n  padding: .2em;\n}\n\n// Alignment\n.text-left           { text-align: left; }\n.text-right          { text-align: right; }\n.text-center         { text-align: center; }\n.text-justify        { text-align: justify; }\n.text-nowrap         { white-space: nowrap; }\n\n// Transformation\n.text-lowercase      { text-transform: lowercase; }\n.text-uppercase      { text-transform: uppercase; }\n.text-capitalize     { text-transform: capitalize; }\n\n// Contextual colors\n.text-muted {\n  color: @text-muted;\n}\n.text-primary {\n  .text-emphasis-variant(@brand-primary);\n}\n.text-success {\n  .text-emphasis-variant(@state-success-text);\n}\n.text-info {\n  .text-emphasis-variant(@state-info-text);\n}\n.text-warning {\n  .text-emphasis-variant(@state-warning-text);\n}\n.text-danger {\n  .text-emphasis-variant(@state-danger-text);\n}\n\n// Contextual backgrounds\n// For now we'll leave these alongside the text classes until v4 when we can\n// safely shift things around (per SemVer rules).\n.bg-primary {\n  // Given the contrast here, this is the only class to have its color inverted\n  // automatically.\n  color: #fff;\n  .bg-variant(@brand-primary);\n}\n.bg-success {\n  .bg-variant(@state-success-bg);\n}\n.bg-info {\n  .bg-variant(@state-info-bg);\n}\n.bg-warning {\n  .bg-variant(@state-warning-bg);\n}\n.bg-danger {\n  .bg-variant(@state-danger-bg);\n}\n\n\n// Page header\n// -------------------------\n\n.page-header {\n  padding-bottom: ((@line-height-computed / 2) - 1);\n  margin: (@line-height-computed * 2) 0 @line-height-computed;\n  border-bottom: 1px solid @page-header-border-color;\n}\n\n\n// Lists\n// -------------------------\n\n// Unordered and Ordered lists\nul,\nol {\n  margin-top: 0;\n  margin-bottom: (@line-height-computed / 2);\n  ul,\n  ol {\n    margin-bottom: 0;\n  }\n}\n\n// List options\n\n// Unstyled keeps list items block level, just removes default browser padding and list-style\n.list-unstyled {\n  padding-left: 0;\n  list-style: none;\n}\n\n// Inline turns list items into inline-block\n.list-inline {\n  .list-unstyled();\n  margin-left: -5px;\n\n  > li {\n    display: inline-block;\n    padding-left: 5px;\n    padding-right: 5px;\n  }\n}\n\n// Description Lists\ndl {\n  margin-top: 0; // Remove browser default\n  margin-bottom: @line-height-computed;\n}\ndt,\ndd {\n  line-height: @line-height-base;\n}\ndt {\n  font-weight: bold;\n}\ndd {\n  margin-left: 0; // Undo browser default\n}\n\n// Horizontal description lists\n//\n// Defaults to being stacked without any of the below styles applied, until the\n// grid breakpoint is reached (default of ~768px).\n\n.dl-horizontal {\n  dd {\n    &:extend(.clearfix all); // Clear the floated `dt` if an empty `dd` is present\n  }\n\n  @media (min-width: @grid-float-breakpoint) {\n    dt {\n      float: left;\n      width: (@dl-horizontal-offset - 20);\n      clear: left;\n      text-align: right;\n      .text-overflow();\n    }\n    dd {\n      margin-left: @dl-horizontal-offset;\n    }\n  }\n}\n\n\n// Misc\n// -------------------------\n\n// Abbreviations and acronyms\nabbr[title],\n// Add data-* attribute to help out our tooltip plugin, per https://github.com/twbs/bootstrap/issues/5257\nabbr[data-original-title] {\n  cursor: help;\n  border-bottom: 1px dotted @abbr-border-color;\n}\n.initialism {\n  font-size: 90%;\n  .text-uppercase();\n}\n\n// Blockquotes\nblockquote {\n  padding: (@line-height-computed / 2) @line-height-computed;\n  margin: 0 0 @line-height-computed;\n  font-size: @blockquote-font-size;\n  border-left: 5px solid @blockquote-border-color;\n\n  p,\n  ul,\n  ol {\n    &:last-child {\n      margin-bottom: 0;\n    }\n  }\n\n  // Note: Deprecated small and .small as of v3.1.0\n  // Context: https://github.com/twbs/bootstrap/issues/11660\n  footer,\n  small,\n  .small {\n    display: block;\n    font-size: 80%; // back to default font-size\n    line-height: @line-height-base;\n    color: @blockquote-small-color;\n\n    &:before {\n      content: '\\2014 \\00A0'; // em dash, nbsp\n    }\n  }\n}\n\n// Opposite alignment of blockquote\n//\n// Heads up: `blockquote.pull-right` has been deprecated as of v3.1.0.\n.blockquote-reverse,\nblockquote.pull-right {\n  padding-right: 15px;\n  padding-left: 0;\n  border-right: 5px solid @blockquote-border-color;\n  border-left: 0;\n  text-align: right;\n\n  // Account for citation\n  footer,\n  small,\n  .small {\n    &:before { content: ''; }\n    &:after {\n      content: '\\00A0 \\2014'; // nbsp, em dash\n    }\n  }\n}\n\n// Addresses\naddress {\n  margin-bottom: @line-height-computed;\n  font-style: normal;\n  line-height: @line-height-base;\n}\n","// Typography\n\n.text-emphasis-variant(@color) {\n  color: @color;\n  a&:hover {\n    color: darken(@color, 10%);\n  }\n}\n","// Contextual backgrounds\n\n.bg-variant(@color) {\n  background-color: @color;\n  a&:hover {\n    background-color: darken(@color, 10%);\n  }\n}\n","// Text overflow\n// Requires inline-block or block for proper styling\n\n.text-overflow() {\n  overflow: hidden;\n  text-overflow: ellipsis;\n  white-space: nowrap;\n}\n","//\n// Code (inline and block)\n// --------------------------------------------------\n\n\n// Inline and block code styles\ncode,\nkbd,\npre,\nsamp {\n  font-family: @font-family-monospace;\n}\n\n// Inline code\ncode {\n  padding: 2px 4px;\n  font-size: 90%;\n  color: @code-color;\n  background-color: @code-bg;\n  border-radius: @border-radius-base;\n}\n\n// User input typically entered via keyboard\nkbd {\n  padding: 2px 4px;\n  font-size: 90%;\n  color: @kbd-color;\n  background-color: @kbd-bg;\n  border-radius: @border-radius-small;\n  box-shadow: inset 0 -1px 0 rgba(0,0,0,.25);\n\n  kbd {\n    padding: 0;\n    font-size: 100%;\n    font-weight: bold;\n    box-shadow: none;\n  }\n}\n\n// Blocks of code\npre {\n  display: block;\n  padding: ((@line-height-computed - 1) / 2);\n  margin: 0 0 (@line-height-computed / 2);\n  font-size: (@font-size-base - 1); // 14px to 13px\n  line-height: @line-height-base;\n  word-break: break-all;\n  word-wrap: break-word;\n  color: @pre-color;\n  background-color: @pre-bg;\n  border: 1px solid @pre-border-color;\n  border-radius: @border-radius-base;\n\n  // Account for some code outputs that place code tags in pre tags\n  code {\n    padding: 0;\n    font-size: inherit;\n    color: inherit;\n    white-space: pre-wrap;\n    background-color: transparent;\n    border-radius: 0;\n  }\n}\n\n// Enable scrollable blocks of code\n.pre-scrollable {\n  max-height: @pre-scrollable-max-height;\n  overflow-y: scroll;\n}\n","//\n// Grid system\n// --------------------------------------------------\n\n\n// Container widths\n//\n// Set the container width, and override it for fixed navbars in media queries.\n\n.container {\n  .container-fixed();\n\n  @media (min-width: @screen-sm-min) {\n    width: @container-sm;\n  }\n  @media (min-width: @screen-md-min) {\n    width: @container-md;\n  }\n  @media (min-width: @screen-lg-min) {\n    width: @container-lg;\n  }\n}\n\n\n// Fluid container\n//\n// Utilizes the mixin meant for fixed width containers, but without any defined\n// width for fluid, full width layouts.\n\n.container-fluid {\n  .container-fixed();\n}\n\n\n// Row\n//\n// Rows contain and clear the floats of your columns.\n\n.row {\n  .make-row();\n}\n\n\n// Columns\n//\n// Common styles for small and large grid columns\n\n.make-grid-columns();\n\n\n// Extra small grid\n//\n// Columns, offsets, pushes, and pulls for extra small devices like\n// smartphones.\n\n.make-grid(xs);\n\n\n// Small grid\n//\n// Columns, offsets, pushes, and pulls for the small device range, from phones\n// to tablets.\n\n@media (min-width: @screen-sm-min) {\n  .make-grid(sm);\n}\n\n\n// Medium grid\n//\n// Columns, offsets, pushes, and pulls for the desktop device range.\n\n@media (min-width: @screen-md-min) {\n  .make-grid(md);\n}\n\n\n// Large grid\n//\n// Columns, offsets, pushes, and pulls for the large desktop device range.\n\n@media (min-width: @screen-lg-min) {\n  .make-grid(lg);\n}\n","// Grid system\n//\n// Generate semantic grid columns with these mixins.\n\n// Centered container element\n.container-fixed(@gutter: @grid-gutter-width) {\n  margin-right: auto;\n  margin-left: auto;\n  padding-left:  (@gutter / 2);\n  padding-right: (@gutter / 2);\n  &:extend(.clearfix all);\n}\n\n// Creates a wrapper for a series of columns\n.make-row(@gutter: @grid-gutter-width) {\n  margin-left:  (@gutter / -2);\n  margin-right: (@gutter / -2);\n  &:extend(.clearfix all);\n}\n\n// Generate the extra small columns\n.make-xs-column(@columns; @gutter: @grid-gutter-width) {\n  position: relative;\n  float: left;\n  width: percentage((@columns / @grid-columns));\n  min-height: 1px;\n  padding-left:  (@gutter / 2);\n  padding-right: (@gutter / 2);\n}\n.make-xs-column-offset(@columns) {\n  margin-left: percentage((@columns / @grid-columns));\n}\n.make-xs-column-push(@columns) {\n  left: percentage((@columns / @grid-columns));\n}\n.make-xs-column-pull(@columns) {\n  right: percentage((@columns / @grid-columns));\n}\n\n// Generate the small columns\n.make-sm-column(@columns; @gutter: @grid-gutter-width) {\n  position: relative;\n  min-height: 1px;\n  padding-left:  (@gutter / 2);\n  padding-right: (@gutter / 2);\n\n  @media (min-width: @screen-sm-min) {\n    float: left;\n    width: percentage((@columns / @grid-columns));\n  }\n}\n.make-sm-column-offset(@columns) {\n  @media (min-width: @screen-sm-min) {\n    margin-left: percentage((@columns / @grid-columns));\n  }\n}\n.make-sm-column-push(@columns) {\n  @media (min-width: @screen-sm-min) {\n    left: percentage((@columns / @grid-columns));\n  }\n}\n.make-sm-column-pull(@columns) {\n  @media (min-width: @screen-sm-min) {\n    right: percentage((@columns / @grid-columns));\n  }\n}\n\n// Generate the medium columns\n.make-md-column(@columns; @gutter: @grid-gutter-width) {\n  position: relative;\n  min-height: 1px;\n  padding-left:  (@gutter / 2);\n  padding-right: (@gutter / 2);\n\n  @media (min-width: @screen-md-min) {\n    float: left;\n    width: percentage((@columns / @grid-columns));\n  }\n}\n.make-md-column-offset(@columns) {\n  @media (min-width: @screen-md-min) {\n    margin-left: percentage((@columns / @grid-columns));\n  }\n}\n.make-md-column-push(@columns) {\n  @media (min-width: @screen-md-min) {\n    left: percentage((@columns / @grid-columns));\n  }\n}\n.make-md-column-pull(@columns) {\n  @media (min-width: @screen-md-min) {\n    right: percentage((@columns / @grid-columns));\n  }\n}\n\n// Generate the large columns\n.make-lg-column(@columns; @gutter: @grid-gutter-width) {\n  position: relative;\n  min-height: 1px;\n  padding-left:  (@gutter / 2);\n  padding-right: (@gutter / 2);\n\n  @media (min-width: @screen-lg-min) {\n    float: left;\n    width: percentage((@columns / @grid-columns));\n  }\n}\n.make-lg-column-offset(@columns) {\n  @media (min-width: @screen-lg-min) {\n    margin-left: percentage((@columns / @grid-columns));\n  }\n}\n.make-lg-column-push(@columns) {\n  @media (min-width: @screen-lg-min) {\n    left: percentage((@columns / @grid-columns));\n  }\n}\n.make-lg-column-pull(@columns) {\n  @media (min-width: @screen-lg-min) {\n    right: percentage((@columns / @grid-columns));\n  }\n}\n","// Framework grid generation\n//\n// Used only by Bootstrap to generate the correct number of grid classes given\n// any value of `@grid-columns`.\n\n.make-grid-columns() {\n  // Common styles for all sizes of grid columns, widths 1-12\n  .col(@index) { // initial\n    @item: ~\".col-xs-@{index}, .col-sm-@{index}, .col-md-@{index}, .col-lg-@{index}\";\n    .col((@index + 1), @item);\n  }\n  .col(@index, @list) when (@index =< @grid-columns) { // general; \"=<\" isn't a typo\n    @item: ~\".col-xs-@{index}, .col-sm-@{index}, .col-md-@{index}, .col-lg-@{index}\";\n    .col((@index + 1), ~\"@{list}, @{item}\");\n  }\n  .col(@index, @list) when (@index > @grid-columns) { // terminal\n    @{list} {\n      position: relative;\n      // Prevent columns from collapsing when empty\n      min-height: 1px;\n      // Inner gutter via padding\n      padding-left:  (@grid-gutter-width / 2);\n      padding-right: (@grid-gutter-width / 2);\n    }\n  }\n  .col(1); // kickstart it\n}\n\n.float-grid-columns(@class) {\n  .col(@index) { // initial\n    @item: ~\".col-@{class}-@{index}\";\n    .col((@index + 1), @item);\n  }\n  .col(@index, @list) when (@index =< @grid-columns) { // general\n    @item: ~\".col-@{class}-@{index}\";\n    .col((@index + 1), ~\"@{list}, @{item}\");\n  }\n  .col(@index, @list) when (@index > @grid-columns) { // terminal\n    @{list} {\n      float: left;\n    }\n  }\n  .col(1); // kickstart it\n}\n\n.calc-grid-column(@index, @class, @type) when (@type = width) and (@index > 0) {\n  .col-@{class}-@{index} {\n    width: percentage((@index / @grid-columns));\n  }\n}\n.calc-grid-column(@index, @class, @type) when (@type = push) and (@index > 0) {\n  .col-@{class}-push-@{index} {\n    left: percentage((@index / @grid-columns));\n  }\n}\n.calc-grid-column(@index, @class, @type) when (@type = push) and (@index = 0) {\n  .col-@{class}-push-0 {\n    left: auto;\n  }\n}\n.calc-grid-column(@index, @class, @type) when (@type = pull) and (@index > 0) {\n  .col-@{class}-pull-@{index} {\n    right: percentage((@index / @grid-columns));\n  }\n}\n.calc-grid-column(@index, @class, @type) when (@type = pull) and (@index = 0) {\n  .col-@{class}-pull-0 {\n    right: auto;\n  }\n}\n.calc-grid-column(@index, @class, @type) when (@type = offset) {\n  .col-@{class}-offset-@{index} {\n    margin-left: percentage((@index / @grid-columns));\n  }\n}\n\n// Basic looping in LESS\n.loop-grid-columns(@index, @class, @type) when (@index >= 0) {\n  .calc-grid-column(@index, @class, @type);\n  // next iteration\n  .loop-grid-columns((@index - 1), @class, @type);\n}\n\n// Create grid for specific class\n.make-grid(@class) {\n  .float-grid-columns(@class);\n  .loop-grid-columns(@grid-columns, @class, width);\n  .loop-grid-columns(@grid-columns, @class, pull);\n  .loop-grid-columns(@grid-columns, @class, push);\n  .loop-grid-columns(@grid-columns, @class, offset);\n}\n","//\n// Tables\n// --------------------------------------------------\n\n\ntable {\n  background-color: @table-bg;\n}\ncaption {\n  padding-top: @table-cell-padding;\n  padding-bottom: @table-cell-padding;\n  color: @text-muted;\n  text-align: left;\n}\nth {\n  text-align: left;\n}\n\n\n// Baseline styles\n\n.table {\n  width: 100%;\n  max-width: 100%;\n  margin-bottom: @line-height-computed;\n  // Cells\n  > thead,\n  > tbody,\n  > tfoot {\n    > tr {\n      > th,\n      > td {\n        padding: @table-cell-padding;\n        line-height: @line-height-base;\n        vertical-align: top;\n        border-top: 1px solid @table-border-color;\n      }\n    }\n  }\n  // Bottom align for column headings\n  > thead > tr > th {\n    vertical-align: bottom;\n    border-bottom: 2px solid @table-border-color;\n  }\n  // Remove top border from thead by default\n  > caption + thead,\n  > colgroup + thead,\n  > thead:first-child {\n    > tr:first-child {\n      > th,\n      > td {\n        border-top: 0;\n      }\n    }\n  }\n  // Account for multiple tbody instances\n  > tbody + tbody {\n    border-top: 2px solid @table-border-color;\n  }\n\n  // Nesting\n  .table {\n    background-color: @body-bg;\n  }\n}\n\n\n// Condensed table w/ half padding\n\n.table-condensed {\n  > thead,\n  > tbody,\n  > tfoot {\n    > tr {\n      > th,\n      > td {\n        padding: @table-condensed-cell-padding;\n      }\n    }\n  }\n}\n\n\n// Bordered version\n//\n// Add borders all around the table and between all the columns.\n\n.table-bordered {\n  border: 1px solid @table-border-color;\n  > thead,\n  > tbody,\n  > tfoot {\n    > tr {\n      > th,\n      > td {\n        border: 1px solid @table-border-color;\n      }\n    }\n  }\n  > thead > tr {\n    > th,\n    > td {\n      border-bottom-width: 2px;\n    }\n  }\n}\n\n\n// Zebra-striping\n//\n// Default zebra-stripe styles (alternating gray and transparent backgrounds)\n\n.table-striped {\n  > tbody > tr:nth-of-type(odd) {\n    background-color: @table-bg-accent;\n  }\n}\n\n\n// Hover effect\n//\n// Placed here since it has to come after the potential zebra striping\n\n.table-hover {\n  > tbody > tr:hover {\n    background-color: @table-bg-hover;\n  }\n}\n\n\n// Table cell sizing\n//\n// Reset default table behavior\n\ntable col[class*=\"col-\"] {\n  position: static; // Prevent border hiding in Firefox and IE9-11 (see https://github.com/twbs/bootstrap/issues/11623)\n  float: none;\n  display: table-column;\n}\ntable {\n  td,\n  th {\n    &[class*=\"col-\"] {\n      position: static; // Prevent border hiding in Firefox and IE9-11 (see https://github.com/twbs/bootstrap/issues/11623)\n      float: none;\n      display: table-cell;\n    }\n  }\n}\n\n\n// Table backgrounds\n//\n// Exact selectors below required to override `.table-striped` and prevent\n// inheritance to nested tables.\n\n// Generate the contextual variants\n.table-row-variant(active; @table-bg-active);\n.table-row-variant(success; @state-success-bg);\n.table-row-variant(info; @state-info-bg);\n.table-row-variant(warning; @state-warning-bg);\n.table-row-variant(danger; @state-danger-bg);\n\n\n// Responsive tables\n//\n// Wrap your tables in `.table-responsive` and we'll make them mobile friendly\n// by enabling horizontal scrolling. Only applies <768px. Everything above that\n// will display normally.\n\n.table-responsive {\n  overflow-x: auto;\n  min-height: 0.01%; // Workaround for IE9 bug (see https://github.com/twbs/bootstrap/issues/14837)\n\n  @media screen and (max-width: @screen-xs-max) {\n    width: 100%;\n    margin-bottom: (@line-height-computed * 0.75);\n    overflow-y: hidden;\n    -ms-overflow-style: -ms-autohiding-scrollbar;\n    border: 1px solid @table-border-color;\n\n    // Tighten up spacing\n    > .table {\n      margin-bottom: 0;\n\n      // Ensure the content doesn't wrap\n      > thead,\n      > tbody,\n      > tfoot {\n        > tr {\n          > th,\n          > td {\n            white-space: nowrap;\n          }\n        }\n      }\n    }\n\n    // Special overrides for the bordered tables\n    > .table-bordered {\n      border: 0;\n\n      // Nuke the appropriate borders so that the parent can handle them\n      > thead,\n      > tbody,\n      > tfoot {\n        > tr {\n          > th:first-child,\n          > td:first-child {\n            border-left: 0;\n          }\n          > th:last-child,\n          > td:last-child {\n            border-right: 0;\n          }\n        }\n      }\n\n      // Only nuke the last row's bottom-border in `tbody` and `tfoot` since\n      // chances are there will be only one `tr` in a `thead` and that would\n      // remove the border altogether.\n      > tbody,\n      > tfoot {\n        > tr:last-child {\n          > th,\n          > td {\n            border-bottom: 0;\n          }\n        }\n      }\n\n    }\n  }\n}\n","// Tables\n\n.table-row-variant(@state; @background) {\n  // Exact selectors below required to override `.table-striped` and prevent\n  // inheritance to nested tables.\n  .table > thead > tr,\n  .table > tbody > tr,\n  .table > tfoot > tr {\n    > td.@{state},\n    > th.@{state},\n    &.@{state} > td,\n    &.@{state} > th {\n      background-color: @background;\n    }\n  }\n\n  // Hover states for `.table-hover`\n  // Note: this is not available for cells or rows within `thead` or `tfoot`.\n  .table-hover > tbody > tr {\n    > td.@{state}:hover,\n    > th.@{state}:hover,\n    &.@{state}:hover > td,\n    &:hover > .@{state},\n    &.@{state}:hover > th {\n      background-color: darken(@background, 5%);\n    }\n  }\n}\n","//\n// Forms\n// --------------------------------------------------\n\n\n// Normalize non-controls\n//\n// Restyle and baseline non-control form elements.\n\nfieldset {\n  padding: 0;\n  margin: 0;\n  border: 0;\n  // Chrome and Firefox set a `min-width: min-content;` on fieldsets,\n  // so we reset that to ensure it behaves more like a standard block element.\n  // See https://github.com/twbs/bootstrap/issues/12359.\n  min-width: 0;\n}\n\nlegend {\n  display: block;\n  width: 100%;\n  padding: 0;\n  margin-bottom: @line-height-computed;\n  font-size: (@font-size-base * 1.5);\n  line-height: inherit;\n  color: @legend-color;\n  border: 0;\n  border-bottom: 1px solid @legend-border-color;\n}\n\nlabel {\n  display: inline-block;\n  max-width: 100%; // Force IE8 to wrap long content (see https://github.com/twbs/bootstrap/issues/13141)\n  margin-bottom: 5px;\n  font-weight: bold;\n}\n\n\n// Normalize form controls\n//\n// While most of our form styles require extra classes, some basic normalization\n// is required to ensure optimum display with or without those classes to better\n// address browser inconsistencies.\n\n// Override content-box in Normalize (* isn't specific enough)\ninput[type=\"search\"] {\n  .box-sizing(border-box);\n}\n\n// Position radios and checkboxes better\ninput[type=\"radio\"],\ninput[type=\"checkbox\"] {\n  margin: 4px 0 0;\n  margin-top: 1px \\9; // IE8-9\n  line-height: normal;\n}\n\n// Set the height of file controls to match text inputs\ninput[type=\"file\"] {\n  display: block;\n}\n\n// Make range inputs behave like textual form controls\ninput[type=\"range\"] {\n  display: block;\n  width: 100%;\n}\n\n// Make multiple select elements height not fixed\nselect[multiple],\nselect[size] {\n  height: auto;\n}\n\n// Focus for file, radio, and checkbox\ninput[type=\"file\"]:focus,\ninput[type=\"radio\"]:focus,\ninput[type=\"checkbox\"]:focus {\n  .tab-focus();\n}\n\n// Adjust output element\noutput {\n  display: block;\n  padding-top: (@padding-base-vertical + 1);\n  font-size: @font-size-base;\n  line-height: @line-height-base;\n  color: @input-color;\n}\n\n\n// Common form controls\n//\n// Shared size and type resets for form controls. Apply `.form-control` to any\n// of the following form controls:\n//\n// select\n// textarea\n// input[type=\"text\"]\n// input[type=\"password\"]\n// input[type=\"datetime\"]\n// input[type=\"datetime-local\"]\n// input[type=\"date\"]\n// input[type=\"month\"]\n// input[type=\"time\"]\n// input[type=\"week\"]\n// input[type=\"number\"]\n// input[type=\"email\"]\n// input[type=\"url\"]\n// input[type=\"search\"]\n// input[type=\"tel\"]\n// input[type=\"color\"]\n\n.form-control {\n  display: block;\n  width: 100%;\n  height: @input-height-base; // Make inputs at least the height of their button counterpart (base line-height + padding + border)\n  padding: @padding-base-vertical @padding-base-horizontal;\n  font-size: @font-size-base;\n  line-height: @line-height-base;\n  color: @input-color;\n  background-color: @input-bg;\n  background-image: none; // Reset unusual Firefox-on-Android default style; see https://github.com/necolas/normalize.css/issues/214\n  border: 1px solid @input-border;\n  border-radius: @input-border-radius; // Note: This has no effect on <select>s in some browsers, due to the limited stylability of <select>s in CSS.\n  .box-shadow(inset 0 1px 1px rgba(0,0,0,.075));\n  .transition(~\"border-color ease-in-out .15s, box-shadow ease-in-out .15s\");\n\n  // Customize the `:focus` state to imitate native WebKit styles.\n  .form-control-focus();\n\n  // Placeholder\n  .placeholder();\n\n  // Disabled and read-only inputs\n  //\n  // HTML5 says that controls under a fieldset > legend:first-child won't be\n  // disabled if the fieldset is disabled. Due to implementation difficulty, we\n  // don't honor that edge case; we style them as disabled anyway.\n  &[disabled],\n  &[readonly],\n  fieldset[disabled] & {\n    background-color: @input-bg-disabled;\n    opacity: 1; // iOS fix for unreadable disabled content; see https://github.com/twbs/bootstrap/issues/11655\n  }\n\n  &[disabled],\n  fieldset[disabled] & {\n    cursor: @cursor-disabled;\n  }\n\n  // Reset height for `textarea`s\n  textarea& {\n    height: auto;\n  }\n}\n\n\n// Search inputs in iOS\n//\n// This overrides the extra rounded corners on search inputs in iOS so that our\n// `.form-control` class can properly style them. Note that this cannot simply\n// be added to `.form-control` as it's not specific enough. For details, see\n// https://github.com/twbs/bootstrap/issues/11586.\n\ninput[type=\"search\"] {\n  -webkit-appearance: none;\n}\n\n\n// Special styles for iOS temporal inputs\n//\n// In Mobile Safari, setting `display: block` on temporal inputs causes the\n// text within the input to become vertically misaligned. As a workaround, we\n// set a pixel line-height that matches the given height of the input, but only\n// for Safari. See https://bugs.webkit.org/show_bug.cgi?id=139848\n\n@media screen and (-webkit-min-device-pixel-ratio: 0) {\n  input[type=\"date\"],\n  input[type=\"time\"],\n  input[type=\"datetime-local\"],\n  input[type=\"month\"] {\n    line-height: @input-height-base;\n\n    &.input-sm,\n    .input-group-sm & {\n      line-height: @input-height-small;\n    }\n\n    &.input-lg,\n    .input-group-lg & {\n      line-height: @input-height-large;\n    }\n  }\n}\n\n\n// Form groups\n//\n// Designed to help with the organization and spacing of vertical forms. For\n// horizontal forms, use the predefined grid classes.\n\n.form-group {\n  margin-bottom: @form-group-margin-bottom;\n}\n\n\n// Checkboxes and radios\n//\n// Indent the labels to position radios/checkboxes as hanging controls.\n\n.radio,\n.checkbox {\n  position: relative;\n  display: block;\n  margin-top: 10px;\n  margin-bottom: 10px;\n\n  label {\n    min-height: @line-height-computed; // Ensure the input doesn't jump when there is no text\n    padding-left: 20px;\n    margin-bottom: 0;\n    font-weight: normal;\n    cursor: pointer;\n  }\n}\n.radio input[type=\"radio\"],\n.radio-inline input[type=\"radio\"],\n.checkbox input[type=\"checkbox\"],\n.checkbox-inline input[type=\"checkbox\"] {\n  position: absolute;\n  margin-left: -20px;\n  margin-top: 4px \\9;\n}\n\n.radio + .radio,\n.checkbox + .checkbox {\n  margin-top: -5px; // Move up sibling radios or checkboxes for tighter spacing\n}\n\n// Radios and checkboxes on same line\n.radio-inline,\n.checkbox-inline {\n  position: relative;\n  display: inline-block;\n  padding-left: 20px;\n  margin-bottom: 0;\n  vertical-align: middle;\n  font-weight: normal;\n  cursor: pointer;\n}\n.radio-inline + .radio-inline,\n.checkbox-inline + .checkbox-inline {\n  margin-top: 0;\n  margin-left: 10px; // space out consecutive inline controls\n}\n\n// Apply same disabled cursor tweak as for inputs\n// Some special care is needed because <label>s don't inherit their parent's `cursor`.\n//\n// Note: Neither radios nor checkboxes can be readonly.\ninput[type=\"radio\"],\ninput[type=\"checkbox\"] {\n  &[disabled],\n  &.disabled,\n  fieldset[disabled] & {\n    cursor: @cursor-disabled;\n  }\n}\n// These classes are used directly on <label>s\n.radio-inline,\n.checkbox-inline {\n  &.disabled,\n  fieldset[disabled] & {\n    cursor: @cursor-disabled;\n  }\n}\n// These classes are used on elements with <label> descendants\n.radio,\n.checkbox {\n  &.disabled,\n  fieldset[disabled] & {\n    label {\n      cursor: @cursor-disabled;\n    }\n  }\n}\n\n\n// Static form control text\n//\n// Apply class to a `p` element to make any string of text align with labels in\n// a horizontal form layout.\n\n.form-control-static {\n  // Size it appropriately next to real form controls\n  padding-top: (@padding-base-vertical + 1);\n  padding-bottom: (@padding-base-vertical + 1);\n  // Remove default margin from `p`\n  margin-bottom: 0;\n  min-height: (@line-height-computed + @font-size-base);\n\n  &.input-lg,\n  &.input-sm {\n    padding-left: 0;\n    padding-right: 0;\n  }\n}\n\n\n// Form control sizing\n//\n// Build on `.form-control` with modifier classes to decrease or increase the\n// height and font-size of form controls.\n//\n// The `.form-group-* form-control` variations are sadly duplicated to avoid the\n// issue documented in https://github.com/twbs/bootstrap/issues/15074.\n\n.input-sm {\n  .input-size(@input-height-small; @padding-small-vertical; @padding-small-horizontal; @font-size-small; @line-height-small; @input-border-radius-small);\n}\n.form-group-sm {\n  .form-control {\n    .input-size(@input-height-small; @padding-small-vertical; @padding-small-horizontal; @font-size-small; @line-height-small; @input-border-radius-small);\n  }\n  .form-control-static {\n    height: @input-height-small;\n    padding: @padding-small-vertical @padding-small-horizontal;\n    font-size: @font-size-small;\n    line-height: @line-height-small;\n    min-height: (@line-height-computed + @font-size-small);\n  }\n}\n\n.input-lg {\n  .input-size(@input-height-large; @padding-large-vertical; @padding-large-horizontal; @font-size-large; @line-height-large; @input-border-radius-large);\n}\n.form-group-lg {\n  .form-control {\n    .input-size(@input-height-large; @padding-large-vertical; @padding-large-horizontal; @font-size-large; @line-height-large; @input-border-radius-large);\n  }\n  .form-control-static {\n    height: @input-height-large;\n    padding: @padding-large-vertical @padding-large-horizontal;\n    font-size: @font-size-large;\n    line-height: @line-height-large;\n    min-height: (@line-height-computed + @font-size-large);\n  }\n}\n\n\n// Form control feedback states\n//\n// Apply contextual and semantic states to individual form controls.\n\n.has-feedback {\n  // Enable absolute positioning\n  position: relative;\n\n  // Ensure icons don't overlap text\n  .form-control {\n    padding-right: (@input-height-base * 1.25);\n  }\n}\n// Feedback icon (requires .glyphicon classes)\n.form-control-feedback {\n  position: absolute;\n  top: 0;\n  right: 0;\n  z-index: 2; // Ensure icon is above input groups\n  display: block;\n  width: @input-height-base;\n  height: @input-height-base;\n  line-height: @input-height-base;\n  text-align: center;\n  pointer-events: none;\n}\n.input-lg + .form-control-feedback {\n  width: @input-height-large;\n  height: @input-height-large;\n  line-height: @input-height-large;\n}\n.input-sm + .form-control-feedback {\n  width: @input-height-small;\n  height: @input-height-small;\n  line-height: @input-height-small;\n}\n\n// Feedback states\n.has-success {\n  .form-control-validation(@state-success-text; @state-success-text; @state-success-bg);\n}\n.has-warning {\n  .form-control-validation(@state-warning-text; @state-warning-text; @state-warning-bg);\n}\n.has-error {\n  .form-control-validation(@state-danger-text; @state-danger-text; @state-danger-bg);\n}\n\n// Reposition feedback icon if input has visible label above\n.has-feedback label {\n\n  & ~ .form-control-feedback {\n     top: (@line-height-computed + 5); // Height of the `label` and its margin\n  }\n  &.sr-only ~ .form-control-feedback {\n     top: 0;\n  }\n}\n\n\n// Help text\n//\n// Apply to any element you wish to create light text for placement immediately\n// below a form control. Use for general help, formatting, or instructional text.\n\n.help-block {\n  display: block; // account for any element using help-block\n  margin-top: 5px;\n  margin-bottom: 10px;\n  color: lighten(@text-color, 25%); // lighten the text some for contrast\n}\n\n\n// Inline forms\n//\n// Make forms appear inline(-block) by adding the `.form-inline` class. Inline\n// forms begin stacked on extra small (mobile) devices and then go inline when\n// viewports reach <768px.\n//\n// Requires wrapping inputs and labels with `.form-group` for proper display of\n// default HTML form controls and our custom form controls (e.g., input groups).\n//\n// Heads up! This is mixin-ed into `.navbar-form` in navbars.less.\n\n.form-inline {\n\n  // Kick in the inline\n  @media (min-width: @screen-sm-min) {\n    // Inline-block all the things for \"inline\"\n    .form-group {\n      display: inline-block;\n      margin-bottom: 0;\n      vertical-align: middle;\n    }\n\n    // In navbar-form, allow folks to *not* use `.form-group`\n    .form-control {\n      display: inline-block;\n      width: auto; // Prevent labels from stacking above inputs in `.form-group`\n      vertical-align: middle;\n    }\n\n    // Make static controls behave like regular ones\n    .form-control-static {\n      display: inline-block;\n    }\n\n    .input-group {\n      display: inline-table;\n      vertical-align: middle;\n\n      .input-group-addon,\n      .input-group-btn,\n      .form-control {\n        width: auto;\n      }\n    }\n\n    // Input groups need that 100% width though\n    .input-group > .form-control {\n      width: 100%;\n    }\n\n    .control-label {\n      margin-bottom: 0;\n      vertical-align: middle;\n    }\n\n    // Remove default margin on radios/checkboxes that were used for stacking, and\n    // then undo the floating of radios and checkboxes to match.\n    .radio,\n    .checkbox {\n      display: inline-block;\n      margin-top: 0;\n      margin-bottom: 0;\n      vertical-align: middle;\n\n      label {\n        padding-left: 0;\n      }\n    }\n    .radio input[type=\"radio\"],\n    .checkbox input[type=\"checkbox\"] {\n      position: relative;\n      margin-left: 0;\n    }\n\n    // Re-override the feedback icon.\n    .has-feedback .form-control-feedback {\n      top: 0;\n    }\n  }\n}\n\n\n// Horizontal forms\n//\n// Horizontal forms are built on grid classes and allow you to create forms with\n// labels on the left and inputs on the right.\n\n.form-horizontal {\n\n  // Consistent vertical alignment of radios and checkboxes\n  //\n  // Labels also get some reset styles, but that is scoped to a media query below.\n  .radio,\n  .checkbox,\n  .radio-inline,\n  .checkbox-inline {\n    margin-top: 0;\n    margin-bottom: 0;\n    padding-top: (@padding-base-vertical + 1); // Default padding plus a border\n  }\n  // Account for padding we're adding to ensure the alignment and of help text\n  // and other content below items\n  .radio,\n  .checkbox {\n    min-height: (@line-height-computed + (@padding-base-vertical + 1));\n  }\n\n  // Make form groups behave like rows\n  .form-group {\n    .make-row();\n  }\n\n  // Reset spacing and right align labels, but scope to media queries so that\n  // labels on narrow viewports stack the same as a default form example.\n  @media (min-width: @screen-sm-min) {\n    .control-label {\n      text-align: right;\n      margin-bottom: 0;\n      padding-top: (@padding-base-vertical + 1); // Default padding plus a border\n    }\n  }\n\n  // Validation states\n  //\n  // Reposition the icon because it's now within a grid column and columns have\n  // `position: relative;` on them. Also accounts for the grid gutter padding.\n  .has-feedback .form-control-feedback {\n    right: (@grid-gutter-width / 2);\n  }\n\n  // Form group sizes\n  //\n  // Quick utility class for applying `.input-lg` and `.input-sm` styles to the\n  // inputs and labels within a `.form-group`.\n  .form-group-lg {\n    @media (min-width: @screen-sm-min) {\n      .control-label {\n        padding-top: ((@padding-large-vertical * @line-height-large) + 1);\n      }\n    }\n  }\n  .form-group-sm {\n    @media (min-width: @screen-sm-min) {\n      .control-label {\n        padding-top: (@padding-small-vertical + 1);\n      }\n    }\n  }\n}\n","// Form validation states\n//\n// Used in forms.less to generate the form validation CSS for warnings, errors,\n// and successes.\n\n.form-control-validation(@text-color: #555; @border-color: #ccc; @background-color: #f5f5f5) {\n  // Color the label and help text\n  .help-block,\n  .control-label,\n  .radio,\n  .checkbox,\n  .radio-inline,\n  .checkbox-inline,\n  &.radio label,\n  &.checkbox label,\n  &.radio-inline label,\n  &.checkbox-inline label  {\n    color: @text-color;\n  }\n  // Set the border and box shadow on specific inputs to match\n  .form-control {\n    border-color: @border-color;\n    .box-shadow(inset 0 1px 1px rgba(0,0,0,.075)); // Redeclare so transitions work\n    &:focus {\n      border-color: darken(@border-color, 10%);\n      @shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 6px lighten(@border-color, 20%);\n      .box-shadow(@shadow);\n    }\n  }\n  // Set validation states also for addons\n  .input-group-addon {\n    color: @text-color;\n    border-color: @border-color;\n    background-color: @background-color;\n  }\n  // Optional feedback icon\n  .form-control-feedback {\n    color: @text-color;\n  }\n}\n\n\n// Form control focus state\n//\n// Generate a customized focus state and for any input with the specified color,\n// which defaults to the `@input-border-focus` variable.\n//\n// We highly encourage you to not customize the default value, but instead use\n// this to tweak colors on an as-needed basis. This aesthetic change is based on\n// WebKit's default styles, but applicable to a wider range of browsers. Its\n// usability and accessibility should be taken into account with any change.\n//\n// Example usage: change the default blue border and shadow to white for better\n// contrast against a dark gray background.\n.form-control-focus(@color: @input-border-focus) {\n  @color-rgba: rgba(red(@color), green(@color), blue(@color), .6);\n  &:focus {\n    border-color: @color;\n    outline: 0;\n    .box-shadow(~\"inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px @{color-rgba}\");\n  }\n}\n\n// Form control sizing\n//\n// Relative text size, padding, and border-radii changes for form controls. For\n// horizontal sizing, wrap controls in the predefined grid classes. `<select>`\n// element gets special love because it's special, and that's a fact!\n.input-size(@input-height; @padding-vertical; @padding-horizontal; @font-size; @line-height; @border-radius) {\n  height: @input-height;\n  padding: @padding-vertical @padding-horizontal;\n  font-size: @font-size;\n  line-height: @line-height;\n  border-radius: @border-radius;\n\n  select& {\n    height: @input-height;\n    line-height: @input-height;\n  }\n\n  textarea&,\n  select[multiple]& {\n    height: auto;\n  }\n}\n","//\n// Buttons\n// --------------------------------------------------\n\n\n// Base styles\n// --------------------------------------------------\n\n.btn {\n  display: inline-block;\n  margin-bottom: 0; // For input.btn\n  font-weight: @btn-font-weight;\n  text-align: center;\n  vertical-align: middle;\n  touch-action: manipulation;\n  cursor: pointer;\n  background-image: none; // Reset unusual Firefox-on-Android default style; see https://github.com/necolas/normalize.css/issues/214\n  border: 1px solid transparent;\n  white-space: nowrap;\n  .button-size(@padding-base-vertical; @padding-base-horizontal; @font-size-base; @line-height-base; @border-radius-base);\n  .user-select(none);\n\n  &,\n  &:active,\n  &.active {\n    &:focus,\n    &.focus {\n      .tab-focus();\n    }\n  }\n\n  &:hover,\n  &:focus,\n  &.focus {\n    color: @btn-default-color;\n    text-decoration: none;\n  }\n\n  &:active,\n  &.active {\n    outline: 0;\n    background-image: none;\n    .box-shadow(inset 0 3px 5px rgba(0,0,0,.125));\n  }\n\n  &.disabled,\n  &[disabled],\n  fieldset[disabled] & {\n    cursor: @cursor-disabled;\n    pointer-events: none; // Future-proof disabling of clicks\n    .opacity(.65);\n    .box-shadow(none);\n  }\n}\n\n\n// Alternate buttons\n// --------------------------------------------------\n\n.btn-default {\n  .button-variant(@btn-default-color; @btn-default-bg; @btn-default-border);\n}\n.btn-primary {\n  .button-variant(@btn-primary-color; @btn-primary-bg; @btn-primary-border);\n}\n// Success appears as green\n.btn-success {\n  .button-variant(@btn-success-color; @btn-success-bg; @btn-success-border);\n}\n// Info appears as blue-green\n.btn-info {\n  .button-variant(@btn-info-color; @btn-info-bg; @btn-info-border);\n}\n// Warning appears as orange\n.btn-warning {\n  .button-variant(@btn-warning-color; @btn-warning-bg; @btn-warning-border);\n}\n// Danger and error appear as red\n.btn-danger {\n  .button-variant(@btn-danger-color; @btn-danger-bg; @btn-danger-border);\n}\n\n\n// Link buttons\n// -------------------------\n\n// Make a button look and behave like a link\n.btn-link {\n  color: @link-color;\n  font-weight: normal;\n  border-radius: 0;\n\n  &,\n  &:active,\n  &.active,\n  &[disabled],\n  fieldset[disabled] & {\n    background-color: transparent;\n    .box-shadow(none);\n  }\n  &,\n  &:hover,\n  &:focus,\n  &:active {\n    border-color: transparent;\n  }\n  &:hover,\n  &:focus {\n    color: @link-hover-color;\n    text-decoration: @link-hover-decoration;\n    background-color: transparent;\n  }\n  &[disabled],\n  fieldset[disabled] & {\n    &:hover,\n    &:focus {\n      color: @btn-link-disabled-color;\n      text-decoration: none;\n    }\n  }\n}\n\n\n// Button Sizes\n// --------------------------------------------------\n\n.btn-lg {\n  // line-height: ensure even-numbered height of button next to large input\n  .button-size(@padding-large-vertical; @padding-large-horizontal; @font-size-large; @line-height-large; @border-radius-large);\n}\n.btn-sm {\n  // line-height: ensure proper height of button next to small input\n  .button-size(@padding-small-vertical; @padding-small-horizontal; @font-size-small; @line-height-small; @border-radius-small);\n}\n.btn-xs {\n  .button-size(@padding-xs-vertical; @padding-xs-horizontal; @font-size-small; @line-height-small; @border-radius-small);\n}\n\n\n// Block button\n// --------------------------------------------------\n\n.btn-block {\n  display: block;\n  width: 100%;\n}\n\n// Vertically space out multiple block buttons\n.btn-block + .btn-block {\n  margin-top: 5px;\n}\n\n// Specificity overrides\ninput[type=\"submit\"],\ninput[type=\"reset\"],\ninput[type=\"button\"] {\n  &.btn-block {\n    width: 100%;\n  }\n}\n","// Button variants\n//\n// Easily pump out default styles, as well as :hover, :focus, :active,\n// and disabled options for all buttons\n\n.button-variant(@color; @background; @border) {\n  color: @color;\n  background-color: @background;\n  border-color: @border;\n\n  &:hover,\n  &:focus,\n  &.focus,\n  &:active,\n  &.active,\n  .open > .dropdown-toggle& {\n    color: @color;\n    background-color: darken(@background, 10%);\n        border-color: darken(@border, 12%);\n  }\n  &:active,\n  &.active,\n  .open > .dropdown-toggle& {\n    background-image: none;\n  }\n  &.disabled,\n  &[disabled],\n  fieldset[disabled] & {\n    &,\n    &:hover,\n    &:focus,\n    &.focus,\n    &:active,\n    &.active {\n      background-color: @background;\n          border-color: @border;\n    }\n  }\n\n  .badge {\n    color: @background;\n    background-color: @color;\n  }\n}\n\n// Button sizes\n.button-size(@padding-vertical; @padding-horizontal; @font-size; @line-height; @border-radius) {\n  padding: @padding-vertical @padding-horizontal;\n  font-size: @font-size;\n  line-height: @line-height;\n  border-radius: @border-radius;\n}\n","// Opacity\n\n.opacity(@opacity) {\n  opacity: @opacity;\n  // IE8 filter\n  @opacity-ie: (@opacity * 100);\n  filter: ~\"alpha(opacity=@{opacity-ie})\";\n}\n","//\n// Component animations\n// --------------------------------------------------\n\n// Heads up!\n//\n// We don't use the `.opacity()` mixin here since it causes a bug with text\n// fields in IE7-8. Source: https://github.com/twbs/bootstrap/pull/3552.\n\n.fade {\n  opacity: 0;\n  .transition(opacity .15s linear);\n  &.in {\n    opacity: 1;\n  }\n}\n\n.collapse {\n  display: none;\n\n  &.in      { display: block; }\n  tr&.in    { display: table-row; }\n  tbody&.in { display: table-row-group; }\n}\n\n.collapsing {\n  position: relative;\n  height: 0;\n  overflow: hidden;\n  .transition-property(~\"height, visibility\");\n  .transition-duration(.35s);\n  .transition-timing-function(ease);\n}\n","//\n// Dropdown menus\n// --------------------------------------------------\n\n\n// Dropdown arrow/caret\n.caret {\n  display: inline-block;\n  width: 0;\n  height: 0;\n  margin-left: 2px;\n  vertical-align: middle;\n  border-top:   @caret-width-base dashed;\n  border-right: @caret-width-base solid transparent;\n  border-left:  @caret-width-base solid transparent;\n}\n\n// The dropdown wrapper (div)\n.dropup,\n.dropdown {\n  position: relative;\n}\n\n// Prevent the focus on the dropdown toggle when closing dropdowns\n.dropdown-toggle:focus {\n  outline: 0;\n}\n\n// The dropdown menu (ul)\n.dropdown-menu {\n  position: absolute;\n  top: 100%;\n  left: 0;\n  z-index: @zindex-dropdown;\n  display: none; // none by default, but block on \"open\" of the menu\n  float: left;\n  min-width: 160px;\n  padding: 5px 0;\n  margin: 2px 0 0; // override default ul\n  list-style: none;\n  font-size: @font-size-base;\n  text-align: left; // Ensures proper alignment if parent has it changed (e.g., modal footer)\n  background-color: @dropdown-bg;\n  border: 1px solid @dropdown-fallback-border; // IE8 fallback\n  border: 1px solid @dropdown-border;\n  border-radius: @border-radius-base;\n  .box-shadow(0 6px 12px rgba(0,0,0,.175));\n  background-clip: padding-box;\n\n  // Aligns the dropdown menu to right\n  //\n  // Deprecated as of 3.1.0 in favor of `.dropdown-menu-[dir]`\n  &.pull-right {\n    right: 0;\n    left: auto;\n  }\n\n  // Dividers (basically an hr) within the dropdown\n  .divider {\n    .nav-divider(@dropdown-divider-bg);\n  }\n\n  // Links within the dropdown menu\n  > li > a {\n    display: block;\n    padding: 3px 20px;\n    clear: both;\n    font-weight: normal;\n    line-height: @line-height-base;\n    color: @dropdown-link-color;\n    white-space: nowrap; // prevent links from randomly breaking onto new lines\n  }\n}\n\n// Hover/Focus state\n.dropdown-menu > li > a {\n  &:hover,\n  &:focus {\n    text-decoration: none;\n    color: @dropdown-link-hover-color;\n    background-color: @dropdown-link-hover-bg;\n  }\n}\n\n// Active state\n.dropdown-menu > .active > a {\n  &,\n  &:hover,\n  &:focus {\n    color: @dropdown-link-active-color;\n    text-decoration: none;\n    outline: 0;\n    background-color: @dropdown-link-active-bg;\n  }\n}\n\n// Disabled state\n//\n// Gray out text and ensure the hover/focus state remains gray\n\n.dropdown-menu > .disabled > a {\n  &,\n  &:hover,\n  &:focus {\n    color: @dropdown-link-disabled-color;\n  }\n\n  // Nuke hover/focus effects\n  &:hover,\n  &:focus {\n    text-decoration: none;\n    background-color: transparent;\n    background-image: none; // Remove CSS gradient\n    .reset-filter();\n    cursor: @cursor-disabled;\n  }\n}\n\n// Open state for the dropdown\n.open {\n  // Show the menu\n  > .dropdown-menu {\n    display: block;\n  }\n\n  // Remove the outline when :focus is triggered\n  > a {\n    outline: 0;\n  }\n}\n\n// Menu positioning\n//\n// Add extra class to `.dropdown-menu` to flip the alignment of the dropdown\n// menu with the parent.\n.dropdown-menu-right {\n  left: auto; // Reset the default from `.dropdown-menu`\n  right: 0;\n}\n// With v3, we enabled auto-flipping if you have a dropdown within a right\n// aligned nav component. To enable the undoing of that, we provide an override\n// to restore the default dropdown menu alignment.\n//\n// This is only for left-aligning a dropdown menu within a `.navbar-right` or\n// `.pull-right` nav component.\n.dropdown-menu-left {\n  left: 0;\n  right: auto;\n}\n\n// Dropdown section headers\n.dropdown-header {\n  display: block;\n  padding: 3px 20px;\n  font-size: @font-size-small;\n  line-height: @line-height-base;\n  color: @dropdown-header-color;\n  white-space: nowrap; // as with > li > a\n}\n\n// Backdrop to catch body clicks on mobile, etc.\n.dropdown-backdrop {\n  position: fixed;\n  left: 0;\n  right: 0;\n  bottom: 0;\n  top: 0;\n  z-index: (@zindex-dropdown - 10);\n}\n\n// Right aligned dropdowns\n.pull-right > .dropdown-menu {\n  right: 0;\n  left: auto;\n}\n\n// Allow for dropdowns to go bottom up (aka, dropup-menu)\n//\n// Just add .dropup after the standard .dropdown class and you're set, bro.\n// TODO: abstract this so that the navbar fixed styles are not placed here?\n\n.dropup,\n.navbar-fixed-bottom .dropdown {\n  // Reverse the caret\n  .caret {\n    border-top: 0;\n    border-bottom: @caret-width-base solid;\n    content: \"\";\n  }\n  // Different positioning for bottom up menu\n  .dropdown-menu {\n    top: auto;\n    bottom: 100%;\n    margin-bottom: 2px;\n  }\n}\n\n\n// Component alignment\n//\n// Reiterate per navbar.less and the modified component alignment there.\n\n@media (min-width: @grid-float-breakpoint) {\n  .navbar-right {\n    .dropdown-menu {\n      .dropdown-menu-right();\n    }\n    // Necessary for overrides of the default right aligned menu.\n    // Will remove come v4 in all likelihood.\n    .dropdown-menu-left {\n      .dropdown-menu-left();\n    }\n  }\n}\n","// Horizontal dividers\n//\n// Dividers (basically an hr) within dropdowns and nav lists\n\n.nav-divider(@color: #e5e5e5) {\n  height: 1px;\n  margin: ((@line-height-computed / 2) - 1) 0;\n  overflow: hidden;\n  background-color: @color;\n}\n","// Reset filters for IE\n//\n// When you need to remove a gradient background, do not forget to use this to reset\n// the IE filter for IE9 and below.\n\n.reset-filter() {\n  filter: e(%(\"progid:DXImageTransform.Microsoft.gradient(enabled = false)\"));\n}\n","//\n// Button groups\n// --------------------------------------------------\n\n// Make the div behave like a button\n.btn-group,\n.btn-group-vertical {\n  position: relative;\n  display: inline-block;\n  vertical-align: middle; // match .btn alignment given font-size hack above\n  > .btn {\n    position: relative;\n    float: left;\n    // Bring the \"active\" button to the front\n    &:hover,\n    &:focus,\n    &:active,\n    &.active {\n      z-index: 2;\n    }\n  }\n}\n\n// Prevent double borders when buttons are next to each other\n.btn-group {\n  .btn + .btn,\n  .btn + .btn-group,\n  .btn-group + .btn,\n  .btn-group + .btn-group {\n    margin-left: -1px;\n  }\n}\n\n// Optional: Group multiple button groups together for a toolbar\n.btn-toolbar {\n  margin-left: -5px; // Offset the first child's margin\n  &:extend(.clearfix all);\n\n  .btn-group,\n  .input-group {\n    float: left;\n  }\n  > .btn,\n  > .btn-group,\n  > .input-group {\n    margin-left: 5px;\n  }\n}\n\n.btn-group > .btn:not(:first-child):not(:last-child):not(.dropdown-toggle) {\n  border-radius: 0;\n}\n\n// Set corners individual because sometimes a single button can be in a .btn-group and we need :first-child and :last-child to both match\n.btn-group > .btn:first-child {\n  margin-left: 0;\n  &:not(:last-child):not(.dropdown-toggle) {\n    .border-right-radius(0);\n  }\n}\n// Need .dropdown-toggle since :last-child doesn't apply given a .dropdown-menu immediately after it\n.btn-group > .btn:last-child:not(:first-child),\n.btn-group > .dropdown-toggle:not(:first-child) {\n  .border-left-radius(0);\n}\n\n// Custom edits for including btn-groups within btn-groups (useful for including dropdown buttons within a btn-group)\n.btn-group > .btn-group {\n  float: left;\n}\n.btn-group > .btn-group:not(:first-child):not(:last-child) > .btn {\n  border-radius: 0;\n}\n.btn-group > .btn-group:first-child:not(:last-child) {\n  > .btn:last-child,\n  > .dropdown-toggle {\n    .border-right-radius(0);\n  }\n}\n.btn-group > .btn-group:last-child:not(:first-child) > .btn:first-child {\n  .border-left-radius(0);\n}\n\n// On active and open, don't show outline\n.btn-group .dropdown-toggle:active,\n.btn-group.open .dropdown-toggle {\n  outline: 0;\n}\n\n\n// Sizing\n//\n// Remix the default button sizing classes into new ones for easier manipulation.\n\n.btn-group-xs > .btn { &:extend(.btn-xs); }\n.btn-group-sm > .btn { &:extend(.btn-sm); }\n.btn-group-lg > .btn { &:extend(.btn-lg); }\n\n\n// Split button dropdowns\n// ----------------------\n\n// Give the line between buttons some depth\n.btn-group > .btn + .dropdown-toggle {\n  padding-left: 8px;\n  padding-right: 8px;\n}\n.btn-group > .btn-lg + .dropdown-toggle {\n  padding-left: 12px;\n  padding-right: 12px;\n}\n\n// The clickable button for toggling the menu\n// Remove the gradient and set the same inset shadow as the :active state\n.btn-group.open .dropdown-toggle {\n  .box-shadow(inset 0 3px 5px rgba(0,0,0,.125));\n\n  // Show no shadow for `.btn-link` since it has no other button styles.\n  &.btn-link {\n    .box-shadow(none);\n  }\n}\n\n\n// Reposition the caret\n.btn .caret {\n  margin-left: 0;\n}\n// Carets in other button sizes\n.btn-lg .caret {\n  border-width: @caret-width-large @caret-width-large 0;\n  border-bottom-width: 0;\n}\n// Upside down carets for .dropup\n.dropup .btn-lg .caret {\n  border-width: 0 @caret-width-large @caret-width-large;\n}\n\n\n// Vertical button groups\n// ----------------------\n\n.btn-group-vertical {\n  > .btn,\n  > .btn-group,\n  > .btn-group > .btn {\n    display: block;\n    float: none;\n    width: 100%;\n    max-width: 100%;\n  }\n\n  // Clear floats so dropdown menus can be properly placed\n  > .btn-group {\n    &:extend(.clearfix all);\n    > .btn {\n      float: none;\n    }\n  }\n\n  > .btn + .btn,\n  > .btn + .btn-group,\n  > .btn-group + .btn,\n  > .btn-group + .btn-group {\n    margin-top: -1px;\n    margin-left: 0;\n  }\n}\n\n.btn-group-vertical > .btn {\n  &:not(:first-child):not(:last-child) {\n    border-radius: 0;\n  }\n  &:first-child:not(:last-child) {\n    border-top-right-radius: @border-radius-base;\n    .border-bottom-radius(0);\n  }\n  &:last-child:not(:first-child) {\n    border-bottom-left-radius: @border-radius-base;\n    .border-top-radius(0);\n  }\n}\n.btn-group-vertical > .btn-group:not(:first-child):not(:last-child) > .btn {\n  border-radius: 0;\n}\n.btn-group-vertical > .btn-group:first-child:not(:last-child) {\n  > .btn:last-child,\n  > .dropdown-toggle {\n    .border-bottom-radius(0);\n  }\n}\n.btn-group-vertical > .btn-group:last-child:not(:first-child) > .btn:first-child {\n  .border-top-radius(0);\n}\n\n\n// Justified button groups\n// ----------------------\n\n.btn-group-justified {\n  display: table;\n  width: 100%;\n  table-layout: fixed;\n  border-collapse: separate;\n  > .btn,\n  > .btn-group {\n    float: none;\n    display: table-cell;\n    width: 1%;\n  }\n  > .btn-group .btn {\n    width: 100%;\n  }\n\n  > .btn-group .dropdown-menu {\n    left: auto;\n  }\n}\n\n\n// Checkbox and radio options\n//\n// In order to support the browser's form validation feedback, powered by the\n// `required` attribute, we have to \"hide\" the inputs via `clip`. We cannot use\n// `display: none;` or `visibility: hidden;` as that also hides the popover.\n// Simply visually hiding the inputs via `opacity` would leave them clickable in\n// certain cases which is prevented by using `clip` and `pointer-events`.\n// This way, we ensure a DOM element is visible to position the popover from.\n//\n// See https://github.com/twbs/bootstrap/pull/12794 and\n// https://github.com/twbs/bootstrap/pull/14559 for more information.\n\n[data-toggle=\"buttons\"] {\n  > .btn,\n  > .btn-group > .btn {\n    input[type=\"radio\"],\n    input[type=\"checkbox\"] {\n      position: absolute;\n      clip: rect(0,0,0,0);\n      pointer-events: none;\n    }\n  }\n}\n","// Single side border-radius\n\n.border-top-radius(@radius) {\n  border-top-right-radius: @radius;\n   border-top-left-radius: @radius;\n}\n.border-right-radius(@radius) {\n  border-bottom-right-radius: @radius;\n     border-top-right-radius: @radius;\n}\n.border-bottom-radius(@radius) {\n  border-bottom-right-radius: @radius;\n   border-bottom-left-radius: @radius;\n}\n.border-left-radius(@radius) {\n  border-bottom-left-radius: @radius;\n     border-top-left-radius: @radius;\n}\n","//\n// Input groups\n// --------------------------------------------------\n\n// Base styles\n// -------------------------\n.input-group {\n  position: relative; // For dropdowns\n  display: table;\n  border-collapse: separate; // prevent input groups from inheriting border styles from table cells when placed within a table\n\n  // Undo padding and float of grid classes\n  &[class*=\"col-\"] {\n    float: none;\n    padding-left: 0;\n    padding-right: 0;\n  }\n\n  .form-control {\n    // Ensure that the input is always above the *appended* addon button for\n    // proper border colors.\n    position: relative;\n    z-index: 2;\n\n    // IE9 fubars the placeholder attribute in text inputs and the arrows on\n    // select elements in input groups. To fix it, we float the input. Details:\n    // https://github.com/twbs/bootstrap/issues/11561#issuecomment-28936855\n    float: left;\n\n    width: 100%;\n    margin-bottom: 0;\n  }\n}\n\n// Sizing options\n//\n// Remix the default form control sizing classes into new ones for easier\n// manipulation.\n\n.input-group-lg > .form-control,\n.input-group-lg > .input-group-addon,\n.input-group-lg > .input-group-btn > .btn {\n  .input-lg();\n}\n.input-group-sm > .form-control,\n.input-group-sm > .input-group-addon,\n.input-group-sm > .input-group-btn > .btn {\n  .input-sm();\n}\n\n\n// Display as table-cell\n// -------------------------\n.input-group-addon,\n.input-group-btn,\n.input-group .form-control {\n  display: table-cell;\n\n  &:not(:first-child):not(:last-child) {\n    border-radius: 0;\n  }\n}\n// Addon and addon wrapper for buttons\n.input-group-addon,\n.input-group-btn {\n  width: 1%;\n  white-space: nowrap;\n  vertical-align: middle; // Match the inputs\n}\n\n// Text input groups\n// -------------------------\n.input-group-addon {\n  padding: @padding-base-vertical @padding-base-horizontal;\n  font-size: @font-size-base;\n  font-weight: normal;\n  line-height: 1;\n  color: @input-color;\n  text-align: center;\n  background-color: @input-group-addon-bg;\n  border: 1px solid @input-group-addon-border-color;\n  border-radius: @border-radius-base;\n\n  // Sizing\n  &.input-sm {\n    padding: @padding-small-vertical @padding-small-horizontal;\n    font-size: @font-size-small;\n    border-radius: @border-radius-small;\n  }\n  &.input-lg {\n    padding: @padding-large-vertical @padding-large-horizontal;\n    font-size: @font-size-large;\n    border-radius: @border-radius-large;\n  }\n\n  // Nuke default margins from checkboxes and radios to vertically center within.\n  input[type=\"radio\"],\n  input[type=\"checkbox\"] {\n    margin-top: 0;\n  }\n}\n\n// Reset rounded corners\n.input-group .form-control:first-child,\n.input-group-addon:first-child,\n.input-group-btn:first-child > .btn,\n.input-group-btn:first-child > .btn-group > .btn,\n.input-group-btn:first-child > .dropdown-toggle,\n.input-group-btn:last-child > .btn:not(:last-child):not(.dropdown-toggle),\n.input-group-btn:last-child > .btn-group:not(:last-child) > .btn {\n  .border-right-radius(0);\n}\n.input-group-addon:first-child {\n  border-right: 0;\n}\n.input-group .form-control:last-child,\n.input-group-addon:last-child,\n.input-group-btn:last-child > .btn,\n.input-group-btn:last-child > .btn-group > .btn,\n.input-group-btn:last-child > .dropdown-toggle,\n.input-group-btn:first-child > .btn:not(:first-child),\n.input-group-btn:first-child > .btn-group:not(:first-child) > .btn {\n  .border-left-radius(0);\n}\n.input-group-addon:last-child {\n  border-left: 0;\n}\n\n// Button input groups\n// -------------------------\n.input-group-btn {\n  position: relative;\n  // Jankily prevent input button groups from wrapping with `white-space` and\n  // `font-size` in combination with `inline-block` on buttons.\n  font-size: 0;\n  white-space: nowrap;\n\n  // Negative margin for spacing, position for bringing hovered/focused/actived\n  // element above the siblings.\n  > .btn {\n    position: relative;\n    + .btn {\n      margin-left: -1px;\n    }\n    // Bring the \"active\" button to the front\n    &:hover,\n    &:focus,\n    &:active {\n      z-index: 2;\n    }\n  }\n\n  // Negative margin to only have a 1px border between the two\n  &:first-child {\n    > .btn,\n    > .btn-group {\n      margin-right: -1px;\n    }\n  }\n  &:last-child {\n    > .btn,\n    > .btn-group {\n      margin-left: -1px;\n    }\n  }\n}\n","//\n// Navs\n// --------------------------------------------------\n\n\n// Base class\n// --------------------------------------------------\n\n.nav {\n  margin-bottom: 0;\n  padding-left: 0; // Override default ul/ol\n  list-style: none;\n  &:extend(.clearfix all);\n\n  > li {\n    position: relative;\n    display: block;\n\n    > a {\n      position: relative;\n      display: block;\n      padding: @nav-link-padding;\n      &:hover,\n      &:focus {\n        text-decoration: none;\n        background-color: @nav-link-hover-bg;\n      }\n    }\n\n    // Disabled state sets text to gray and nukes hover/tab effects\n    &.disabled > a {\n      color: @nav-disabled-link-color;\n\n      &:hover,\n      &:focus {\n        color: @nav-disabled-link-hover-color;\n        text-decoration: none;\n        background-color: transparent;\n        cursor: @cursor-disabled;\n      }\n    }\n  }\n\n  // Open dropdowns\n  .open > a {\n    &,\n    &:hover,\n    &:focus {\n      background-color: @nav-link-hover-bg;\n      border-color: @link-color;\n    }\n  }\n\n  // Nav dividers (deprecated with v3.0.1)\n  //\n  // This should have been removed in v3 with the dropping of `.nav-list`, but\n  // we missed it. We don't currently support this anywhere, but in the interest\n  // of maintaining backward compatibility in case you use it, it's deprecated.\n  .nav-divider {\n    .nav-divider();\n  }\n\n  // Prevent IE8 from misplacing imgs\n  //\n  // See https://github.com/h5bp/html5-boilerplate/issues/984#issuecomment-3985989\n  > li > a > img {\n    max-width: none;\n  }\n}\n\n\n// Tabs\n// -------------------------\n\n// Give the tabs something to sit on\n.nav-tabs {\n  border-bottom: 1px solid @nav-tabs-border-color;\n  > li {\n    float: left;\n    // Make the list-items overlay the bottom border\n    margin-bottom: -1px;\n\n    // Actual tabs (as links)\n    > a {\n      margin-right: 2px;\n      line-height: @line-height-base;\n      border: 1px solid transparent;\n      border-radius: @border-radius-base @border-radius-base 0 0;\n      &:hover {\n        border-color: @nav-tabs-link-hover-border-color @nav-tabs-link-hover-border-color @nav-tabs-border-color;\n      }\n    }\n\n    // Active state, and its :hover to override normal :hover\n    &.active > a {\n      &,\n      &:hover,\n      &:focus {\n        color: @nav-tabs-active-link-hover-color;\n        background-color: @nav-tabs-active-link-hover-bg;\n        border: 1px solid @nav-tabs-active-link-hover-border-color;\n        border-bottom-color: transparent;\n        cursor: default;\n      }\n    }\n  }\n  // pulling this in mainly for less shorthand\n  &.nav-justified {\n    .nav-justified();\n    .nav-tabs-justified();\n  }\n}\n\n\n// Pills\n// -------------------------\n.nav-pills {\n  > li {\n    float: left;\n\n    // Links rendered as pills\n    > a {\n      border-radius: @nav-pills-border-radius;\n    }\n    + li {\n      margin-left: 2px;\n    }\n\n    // Active state\n    &.active > a {\n      &,\n      &:hover,\n      &:focus {\n        color: @nav-pills-active-link-hover-color;\n        background-color: @nav-pills-active-link-hover-bg;\n      }\n    }\n  }\n}\n\n\n// Stacked pills\n.nav-stacked {\n  > li {\n    float: none;\n    + li {\n      margin-top: 2px;\n      margin-left: 0; // no need for this gap between nav items\n    }\n  }\n}\n\n\n// Nav variations\n// --------------------------------------------------\n\n// Justified nav links\n// -------------------------\n\n.nav-justified {\n  width: 100%;\n\n  > li {\n    float: none;\n    > a {\n      text-align: center;\n      margin-bottom: 5px;\n    }\n  }\n\n  > .dropdown .dropdown-menu {\n    top: auto;\n    left: auto;\n  }\n\n  @media (min-width: @screen-sm-min) {\n    > li {\n      display: table-cell;\n      width: 1%;\n      > a {\n        margin-bottom: 0;\n      }\n    }\n  }\n}\n\n// Move borders to anchors instead of bottom of list\n//\n// Mixin for adding on top the shared `.nav-justified` styles for our tabs\n.nav-tabs-justified {\n  border-bottom: 0;\n\n  > li > a {\n    // Override margin from .nav-tabs\n    margin-right: 0;\n    border-radius: @border-radius-base;\n  }\n\n  > .active > a,\n  > .active > a:hover,\n  > .active > a:focus {\n    border: 1px solid @nav-tabs-justified-link-border-color;\n  }\n\n  @media (min-width: @screen-sm-min) {\n    > li > a {\n      border-bottom: 1px solid @nav-tabs-justified-link-border-color;\n      border-radius: @border-radius-base @border-radius-base 0 0;\n    }\n    > .active > a,\n    > .active > a:hover,\n    > .active > a:focus {\n      border-bottom-color: @nav-tabs-justified-active-link-border-color;\n    }\n  }\n}\n\n\n// Tabbable tabs\n// -------------------------\n\n// Hide tabbable panes to start, show them when `.active`\n.tab-content {\n  > .tab-pane {\n    display: none;\n  }\n  > .active {\n    display: block;\n  }\n}\n\n\n// Dropdowns\n// -------------------------\n\n// Specific dropdowns\n.nav-tabs .dropdown-menu {\n  // make dropdown border overlap tab border\n  margin-top: -1px;\n  // Remove the top rounded corners here since there is a hard edge above the menu\n  .border-top-radius(0);\n}\n","//\n// Navbars\n// --------------------------------------------------\n\n\n// Wrapper and base class\n//\n// Provide a static navbar from which we expand to create full-width, fixed, and\n// other navbar variations.\n\n.navbar {\n  position: relative;\n  min-height: @navbar-height; // Ensure a navbar always shows (e.g., without a .navbar-brand in collapsed mode)\n  margin-bottom: @navbar-margin-bottom;\n  border: 1px solid transparent;\n\n  // Prevent floats from breaking the navbar\n  &:extend(.clearfix all);\n\n  @media (min-width: @grid-float-breakpoint) {\n    border-radius: @navbar-border-radius;\n  }\n}\n\n\n// Navbar heading\n//\n// Groups `.navbar-brand` and `.navbar-toggle` into a single component for easy\n// styling of responsive aspects.\n\n.navbar-header {\n  &:extend(.clearfix all);\n\n  @media (min-width: @grid-float-breakpoint) {\n    float: left;\n  }\n}\n\n\n// Navbar collapse (body)\n//\n// Group your navbar content into this for easy collapsing and expanding across\n// various device sizes. By default, this content is collapsed when <768px, but\n// will expand past that for a horizontal display.\n//\n// To start (on mobile devices) the navbar links, forms, and buttons are stacked\n// vertically and include a `max-height` to overflow in case you have too much\n// content for the user's viewport.\n\n.navbar-collapse {\n  overflow-x: visible;\n  padding-right: @navbar-padding-horizontal;\n  padding-left:  @navbar-padding-horizontal;\n  border-top: 1px solid transparent;\n  box-shadow: inset 0 1px 0 rgba(255,255,255,.1);\n  &:extend(.clearfix all);\n  -webkit-overflow-scrolling: touch;\n\n  &.in {\n    overflow-y: auto;\n  }\n\n  @media (min-width: @grid-float-breakpoint) {\n    width: auto;\n    border-top: 0;\n    box-shadow: none;\n\n    &.collapse {\n      display: block !important;\n      height: auto !important;\n      padding-bottom: 0; // Override default setting\n      overflow: visible !important;\n    }\n\n    &.in {\n      overflow-y: visible;\n    }\n\n    // Undo the collapse side padding for navbars with containers to ensure\n    // alignment of right-aligned contents.\n    .navbar-fixed-top &,\n    .navbar-static-top &,\n    .navbar-fixed-bottom & {\n      padding-left: 0;\n      padding-right: 0;\n    }\n  }\n}\n\n.navbar-fixed-top,\n.navbar-fixed-bottom {\n  .navbar-collapse {\n    max-height: @navbar-collapse-max-height;\n\n    @media (max-device-width: @screen-xs-min) and (orientation: landscape) {\n      max-height: 200px;\n    }\n  }\n}\n\n\n// Both navbar header and collapse\n//\n// When a container is present, change the behavior of the header and collapse.\n\n.container,\n.container-fluid {\n  > .navbar-header,\n  > .navbar-collapse {\n    margin-right: -@navbar-padding-horizontal;\n    margin-left:  -@navbar-padding-horizontal;\n\n    @media (min-width: @grid-float-breakpoint) {\n      margin-right: 0;\n      margin-left:  0;\n    }\n  }\n}\n\n\n//\n// Navbar alignment options\n//\n// Display the navbar across the entirety of the page or fixed it to the top or\n// bottom of the page.\n\n// Static top (unfixed, but 100% wide) navbar\n.navbar-static-top {\n  z-index: @zindex-navbar;\n  border-width: 0 0 1px;\n\n  @media (min-width: @grid-float-breakpoint) {\n    border-radius: 0;\n  }\n}\n\n// Fix the top/bottom navbars when screen real estate supports it\n.navbar-fixed-top,\n.navbar-fixed-bottom {\n  position: fixed;\n  right: 0;\n  left: 0;\n  z-index: @zindex-navbar-fixed;\n\n  // Undo the rounded corners\n  @media (min-width: @grid-float-breakpoint) {\n    border-radius: 0;\n  }\n}\n.navbar-fixed-top {\n  top: 0;\n  border-width: 0 0 1px;\n}\n.navbar-fixed-bottom {\n  bottom: 0;\n  margin-bottom: 0; // override .navbar defaults\n  border-width: 1px 0 0;\n}\n\n\n// Brand/project name\n\n.navbar-brand {\n  float: left;\n  padding: @navbar-padding-vertical @navbar-padding-horizontal;\n  font-size: @font-size-large;\n  line-height: @line-height-computed;\n  height: @navbar-height;\n\n  &:hover,\n  &:focus {\n    text-decoration: none;\n  }\n\n  > img {\n    display: block;\n  }\n\n  @media (min-width: @grid-float-breakpoint) {\n    .navbar > .container &,\n    .navbar > .container-fluid & {\n      margin-left: -@navbar-padding-horizontal;\n    }\n  }\n}\n\n\n// Navbar toggle\n//\n// Custom button for toggling the `.navbar-collapse`, powered by the collapse\n// JavaScript plugin.\n\n.navbar-toggle {\n  position: relative;\n  float: right;\n  margin-right: @navbar-padding-horizontal;\n  padding: 9px 10px;\n  .navbar-vertical-align(34px);\n  background-color: transparent;\n  background-image: none; // Reset unusual Firefox-on-Android default style; see https://github.com/necolas/normalize.css/issues/214\n  border: 1px solid transparent;\n  border-radius: @border-radius-base;\n\n  // We remove the `outline` here, but later compensate by attaching `:hover`\n  // styles to `:focus`.\n  &:focus {\n    outline: 0;\n  }\n\n  // Bars\n  .icon-bar {\n    display: block;\n    width: 22px;\n    height: 2px;\n    border-radius: 1px;\n  }\n  .icon-bar + .icon-bar {\n    margin-top: 4px;\n  }\n\n  @media (min-width: @grid-float-breakpoint) {\n    display: none;\n  }\n}\n\n\n// Navbar nav links\n//\n// Builds on top of the `.nav` components with its own modifier class to make\n// the nav the full height of the horizontal nav (above 768px).\n\n.navbar-nav {\n  margin: (@navbar-padding-vertical / 2) -@navbar-padding-horizontal;\n\n  > li > a {\n    padding-top:    10px;\n    padding-bottom: 10px;\n    line-height: @line-height-computed;\n  }\n\n  @media (max-width: @grid-float-breakpoint-max) {\n    // Dropdowns get custom display when collapsed\n    .open .dropdown-menu {\n      position: static;\n      float: none;\n      width: auto;\n      margin-top: 0;\n      background-color: transparent;\n      border: 0;\n      box-shadow: none;\n      > li > a,\n      .dropdown-header {\n        padding: 5px 15px 5px 25px;\n      }\n      > li > a {\n        line-height: @line-height-computed;\n        &:hover,\n        &:focus {\n          background-image: none;\n        }\n      }\n    }\n  }\n\n  // Uncollapse the nav\n  @media (min-width: @grid-float-breakpoint) {\n    float: left;\n    margin: 0;\n\n    > li {\n      float: left;\n      > a {\n        padding-top:    @navbar-padding-vertical;\n        padding-bottom: @navbar-padding-vertical;\n      }\n    }\n  }\n}\n\n\n// Navbar form\n//\n// Extension of the `.form-inline` with some extra flavor for optimum display in\n// our navbars.\n\n.navbar-form {\n  margin-left: -@navbar-padding-horizontal;\n  margin-right: -@navbar-padding-horizontal;\n  padding: 10px @navbar-padding-horizontal;\n  border-top: 1px solid transparent;\n  border-bottom: 1px solid transparent;\n  @shadow: inset 0 1px 0 rgba(255,255,255,.1), 0 1px 0 rgba(255,255,255,.1);\n  .box-shadow(@shadow);\n\n  // Mixin behavior for optimum display\n  .form-inline();\n\n  .form-group {\n    @media (max-width: @grid-float-breakpoint-max) {\n      margin-bottom: 5px;\n\n      &:last-child {\n        margin-bottom: 0;\n      }\n    }\n  }\n\n  // Vertically center in expanded, horizontal navbar\n  .navbar-vertical-align(@input-height-base);\n\n  // Undo 100% width for pull classes\n  @media (min-width: @grid-float-breakpoint) {\n    width: auto;\n    border: 0;\n    margin-left: 0;\n    margin-right: 0;\n    padding-top: 0;\n    padding-bottom: 0;\n    .box-shadow(none);\n  }\n}\n\n\n// Dropdown menus\n\n// Menu position and menu carets\n.navbar-nav > li > .dropdown-menu {\n  margin-top: 0;\n  .border-top-radius(0);\n}\n// Menu position and menu caret support for dropups via extra dropup class\n.navbar-fixed-bottom .navbar-nav > li > .dropdown-menu {\n  margin-bottom: 0;\n  .border-top-radius(@navbar-border-radius);\n  .border-bottom-radius(0);\n}\n\n\n// Buttons in navbars\n//\n// Vertically center a button within a navbar (when *not* in a form).\n\n.navbar-btn {\n  .navbar-vertical-align(@input-height-base);\n\n  &.btn-sm {\n    .navbar-vertical-align(@input-height-small);\n  }\n  &.btn-xs {\n    .navbar-vertical-align(22);\n  }\n}\n\n\n// Text in navbars\n//\n// Add a class to make any element properly align itself vertically within the navbars.\n\n.navbar-text {\n  .navbar-vertical-align(@line-height-computed);\n\n  @media (min-width: @grid-float-breakpoint) {\n    float: left;\n    margin-left: @navbar-padding-horizontal;\n    margin-right: @navbar-padding-horizontal;\n  }\n}\n\n\n// Component alignment\n//\n// Repurpose the pull utilities as their own navbar utilities to avoid specificity\n// issues with parents and chaining. Only do this when the navbar is uncollapsed\n// though so that navbar contents properly stack and align in mobile.\n//\n// Declared after the navbar components to ensure more specificity on the margins.\n\n@media (min-width: @grid-float-breakpoint) {\n  .navbar-left  { .pull-left(); }\n  .navbar-right {\n    .pull-right();\n    margin-right: -@navbar-padding-horizontal;\n\n    ~ .navbar-right {\n      margin-right: 0;\n    }\n  }\n}\n\n\n// Alternate navbars\n// --------------------------------------------------\n\n// Default navbar\n.navbar-default {\n  background-color: @navbar-default-bg;\n  border-color: @navbar-default-border;\n\n  .navbar-brand {\n    color: @navbar-default-brand-color;\n    &:hover,\n    &:focus {\n      color: @navbar-default-brand-hover-color;\n      background-color: @navbar-default-brand-hover-bg;\n    }\n  }\n\n  .navbar-text {\n    color: @navbar-default-color;\n  }\n\n  .navbar-nav {\n    > li > a {\n      color: @navbar-default-link-color;\n\n      &:hover,\n      &:focus {\n        color: @navbar-default-link-hover-color;\n        background-color: @navbar-default-link-hover-bg;\n      }\n    }\n    > .active > a {\n      &,\n      &:hover,\n      &:focus {\n        color: @navbar-default-link-active-color;\n        background-color: @navbar-default-link-active-bg;\n      }\n    }\n    > .disabled > a {\n      &,\n      &:hover,\n      &:focus {\n        color: @navbar-default-link-disabled-color;\n        background-color: @navbar-default-link-disabled-bg;\n      }\n    }\n  }\n\n  .navbar-toggle {\n    border-color: @navbar-default-toggle-border-color;\n    &:hover,\n    &:focus {\n      background-color: @navbar-default-toggle-hover-bg;\n    }\n    .icon-bar {\n      background-color: @navbar-default-toggle-icon-bar-bg;\n    }\n  }\n\n  .navbar-collapse,\n  .navbar-form {\n    border-color: @navbar-default-border;\n  }\n\n  // Dropdown menu items\n  .navbar-nav {\n    // Remove background color from open dropdown\n    > .open > a {\n      &,\n      &:hover,\n      &:focus {\n        background-color: @navbar-default-link-active-bg;\n        color: @navbar-default-link-active-color;\n      }\n    }\n\n    @media (max-width: @grid-float-breakpoint-max) {\n      // Dropdowns get custom display when collapsed\n      .open .dropdown-menu {\n        > li > a {\n          color: @navbar-default-link-color;\n          &:hover,\n          &:focus {\n            color: @navbar-default-link-hover-color;\n            background-color: @navbar-default-link-hover-bg;\n          }\n        }\n        > .active > a {\n          &,\n          &:hover,\n          &:focus {\n            color: @navbar-default-link-active-color;\n            background-color: @navbar-default-link-active-bg;\n          }\n        }\n        > .disabled > a {\n          &,\n          &:hover,\n          &:focus {\n            color: @navbar-default-link-disabled-color;\n            background-color: @navbar-default-link-disabled-bg;\n          }\n        }\n      }\n    }\n  }\n\n\n  // Links in navbars\n  //\n  // Add a class to ensure links outside the navbar nav are colored correctly.\n\n  .navbar-link {\n    color: @navbar-default-link-color;\n    &:hover {\n      color: @navbar-default-link-hover-color;\n    }\n  }\n\n  .btn-link {\n    color: @navbar-default-link-color;\n    &:hover,\n    &:focus {\n      color: @navbar-default-link-hover-color;\n    }\n    &[disabled],\n    fieldset[disabled] & {\n      &:hover,\n      &:focus {\n        color: @navbar-default-link-disabled-color;\n      }\n    }\n  }\n}\n\n// Inverse navbar\n\n.navbar-inverse {\n  background-color: @navbar-inverse-bg;\n  border-color: @navbar-inverse-border;\n\n  .navbar-brand {\n    color: @navbar-inverse-brand-color;\n    &:hover,\n    &:focus {\n      color: @navbar-inverse-brand-hover-color;\n      background-color: @navbar-inverse-brand-hover-bg;\n    }\n  }\n\n  .navbar-text {\n    color: @navbar-inverse-color;\n  }\n\n  .navbar-nav {\n    > li > a {\n      color: @navbar-inverse-link-color;\n\n      &:hover,\n      &:focus {\n        color: @navbar-inverse-link-hover-color;\n        background-color: @navbar-inverse-link-hover-bg;\n      }\n    }\n    > .active > a {\n      &,\n      &:hover,\n      &:focus {\n        color: @navbar-inverse-link-active-color;\n        background-color: @navbar-inverse-link-active-bg;\n      }\n    }\n    > .disabled > a {\n      &,\n      &:hover,\n      &:focus {\n        color: @navbar-inverse-link-disabled-color;\n        background-color: @navbar-inverse-link-disabled-bg;\n      }\n    }\n  }\n\n  // Darken the responsive nav toggle\n  .navbar-toggle {\n    border-color: @navbar-inverse-toggle-border-color;\n    &:hover,\n    &:focus {\n      background-color: @navbar-inverse-toggle-hover-bg;\n    }\n    .icon-bar {\n      background-color: @navbar-inverse-toggle-icon-bar-bg;\n    }\n  }\n\n  .navbar-collapse,\n  .navbar-form {\n    border-color: darken(@navbar-inverse-bg, 7%);\n  }\n\n  // Dropdowns\n  .navbar-nav {\n    > .open > a {\n      &,\n      &:hover,\n      &:focus {\n        background-color: @navbar-inverse-link-active-bg;\n        color: @navbar-inverse-link-active-color;\n      }\n    }\n\n    @media (max-width: @grid-float-breakpoint-max) {\n      // Dropdowns get custom display\n      .open .dropdown-menu {\n        > .dropdown-header {\n          border-color: @navbar-inverse-border;\n        }\n        .divider {\n          background-color: @navbar-inverse-border;\n        }\n        > li > a {\n          color: @navbar-inverse-link-color;\n          &:hover,\n          &:focus {\n            color: @navbar-inverse-link-hover-color;\n            background-color: @navbar-inverse-link-hover-bg;\n          }\n        }\n        > .active > a {\n          &,\n          &:hover,\n          &:focus {\n            color: @navbar-inverse-link-active-color;\n            background-color: @navbar-inverse-link-active-bg;\n          }\n        }\n        > .disabled > a {\n          &,\n          &:hover,\n          &:focus {\n            color: @navbar-inverse-link-disabled-color;\n            background-color: @navbar-inverse-link-disabled-bg;\n          }\n        }\n      }\n    }\n  }\n\n  .navbar-link {\n    color: @navbar-inverse-link-color;\n    &:hover {\n      color: @navbar-inverse-link-hover-color;\n    }\n  }\n\n  .btn-link {\n    color: @navbar-inverse-link-color;\n    &:hover,\n    &:focus {\n      color: @navbar-inverse-link-hover-color;\n    }\n    &[disabled],\n    fieldset[disabled] & {\n      &:hover,\n      &:focus {\n        color: @navbar-inverse-link-disabled-color;\n      }\n    }\n  }\n}\n","// Navbar vertical align\n//\n// Vertically center elements in the navbar.\n// Example: an element has a height of 30px, so write out `.navbar-vertical-align(30px);` to calculate the appropriate top margin.\n\n.navbar-vertical-align(@element-height) {\n  margin-top: ((@navbar-height - @element-height) / 2);\n  margin-bottom: ((@navbar-height - @element-height) / 2);\n}\n","//\n// Utility classes\n// --------------------------------------------------\n\n\n// Floats\n// -------------------------\n\n.clearfix {\n  .clearfix();\n}\n.center-block {\n  .center-block();\n}\n.pull-right {\n  float: right !important;\n}\n.pull-left {\n  float: left !important;\n}\n\n\n// Toggling content\n// -------------------------\n\n// Note: Deprecated .hide in favor of .hidden or .sr-only (as appropriate) in v3.0.1\n.hide {\n  display: none !important;\n}\n.show {\n  display: block !important;\n}\n.invisible {\n  visibility: hidden;\n}\n.text-hide {\n  .text-hide();\n}\n\n\n// Hide from screenreaders and browsers\n//\n// Credit: HTML5 Boilerplate\n\n.hidden {\n  display: none !important;\n}\n\n\n// For Affix plugin\n// -------------------------\n\n.affix {\n  position: fixed;\n}\n","//\n// Breadcrumbs\n// --------------------------------------------------\n\n\n.breadcrumb {\n  padding: @breadcrumb-padding-vertical @breadcrumb-padding-horizontal;\n  margin-bottom: @line-height-computed;\n  list-style: none;\n  background-color: @breadcrumb-bg;\n  border-radius: @border-radius-base;\n\n  > li {\n    display: inline-block;\n\n    + li:before {\n      content: \"@{breadcrumb-separator}\\00a0\"; // Unicode space added since inline-block means non-collapsing white-space\n      padding: 0 5px;\n      color: @breadcrumb-color;\n    }\n  }\n\n  > .active {\n    color: @breadcrumb-active-color;\n  }\n}\n","//\n// Pagination (multiple pages)\n// --------------------------------------------------\n.pagination {\n  display: inline-block;\n  padding-left: 0;\n  margin: @line-height-computed 0;\n  border-radius: @border-radius-base;\n\n  > li {\n    display: inline; // Remove list-style and block-level defaults\n    > a,\n    > span {\n      position: relative;\n      float: left; // Collapse white-space\n      padding: @padding-base-vertical @padding-base-horizontal;\n      line-height: @line-height-base;\n      text-decoration: none;\n      color: @pagination-color;\n      background-color: @pagination-bg;\n      border: 1px solid @pagination-border;\n      margin-left: -1px;\n    }\n    &:first-child {\n      > a,\n      > span {\n        margin-left: 0;\n        .border-left-radius(@border-radius-base);\n      }\n    }\n    &:last-child {\n      > a,\n      > span {\n        .border-right-radius(@border-radius-base);\n      }\n    }\n  }\n\n  > li > a,\n  > li > span {\n    &:hover,\n    &:focus {\n      color: @pagination-hover-color;\n      background-color: @pagination-hover-bg;\n      border-color: @pagination-hover-border;\n    }\n  }\n\n  > .active > a,\n  > .active > span {\n    &,\n    &:hover,\n    &:focus {\n      z-index: 2;\n      color: @pagination-active-color;\n      background-color: @pagination-active-bg;\n      border-color: @pagination-active-border;\n      cursor: default;\n    }\n  }\n\n  > .disabled {\n    > span,\n    > span:hover,\n    > span:focus,\n    > a,\n    > a:hover,\n    > a:focus {\n      color: @pagination-disabled-color;\n      background-color: @pagination-disabled-bg;\n      border-color: @pagination-disabled-border;\n      cursor: @cursor-disabled;\n    }\n  }\n}\n\n// Sizing\n// --------------------------------------------------\n\n// Large\n.pagination-lg {\n  .pagination-size(@padding-large-vertical; @padding-large-horizontal; @font-size-large; @border-radius-large);\n}\n\n// Small\n.pagination-sm {\n  .pagination-size(@padding-small-vertical; @padding-small-horizontal; @font-size-small; @border-radius-small);\n}\n","// Pagination\n\n.pagination-size(@padding-vertical; @padding-horizontal; @font-size; @border-radius) {\n  > li {\n    > a,\n    > span {\n      padding: @padding-vertical @padding-horizontal;\n      font-size: @font-size;\n    }\n    &:first-child {\n      > a,\n      > span {\n        .border-left-radius(@border-radius);\n      }\n    }\n    &:last-child {\n      > a,\n      > span {\n        .border-right-radius(@border-radius);\n      }\n    }\n  }\n}\n","//\n// Pager pagination\n// --------------------------------------------------\n\n\n.pager {\n  padding-left: 0;\n  margin: @line-height-computed 0;\n  list-style: none;\n  text-align: center;\n  &:extend(.clearfix all);\n  li {\n    display: inline;\n    > a,\n    > span {\n      display: inline-block;\n      padding: 5px 14px;\n      background-color: @pager-bg;\n      border: 1px solid @pager-border;\n      border-radius: @pager-border-radius;\n    }\n\n    > a:hover,\n    > a:focus {\n      text-decoration: none;\n      background-color: @pager-hover-bg;\n    }\n  }\n\n  .next {\n    > a,\n    > span {\n      float: right;\n    }\n  }\n\n  .previous {\n    > a,\n    > span {\n      float: left;\n    }\n  }\n\n  .disabled {\n    > a,\n    > a:hover,\n    > a:focus,\n    > span {\n      color: @pager-disabled-color;\n      background-color: @pager-bg;\n      cursor: @cursor-disabled;\n    }\n  }\n}\n","//\n// Labels\n// --------------------------------------------------\n\n.label {\n  display: inline;\n  padding: .2em .6em .3em;\n  font-size: 75%;\n  font-weight: bold;\n  line-height: 1;\n  color: @label-color;\n  text-align: center;\n  white-space: nowrap;\n  vertical-align: baseline;\n  border-radius: .25em;\n\n  // Add hover effects, but only for links\n  a& {\n    &:hover,\n    &:focus {\n      color: @label-link-hover-color;\n      text-decoration: none;\n      cursor: pointer;\n    }\n  }\n\n  // Empty labels collapse automatically (not available in IE8)\n  &:empty {\n    display: none;\n  }\n\n  // Quick fix for labels in buttons\n  .btn & {\n    position: relative;\n    top: -1px;\n  }\n}\n\n// Colors\n// Contextual variations (linked labels get darker on :hover)\n\n.label-default {\n  .label-variant(@label-default-bg);\n}\n\n.label-primary {\n  .label-variant(@label-primary-bg);\n}\n\n.label-success {\n  .label-variant(@label-success-bg);\n}\n\n.label-info {\n  .label-variant(@label-info-bg);\n}\n\n.label-warning {\n  .label-variant(@label-warning-bg);\n}\n\n.label-danger {\n  .label-variant(@label-danger-bg);\n}\n","// Labels\n\n.label-variant(@color) {\n  background-color: @color;\n\n  &[href] {\n    &:hover,\n    &:focus {\n      background-color: darken(@color, 10%);\n    }\n  }\n}\n","//\n// Badges\n// --------------------------------------------------\n\n\n// Base class\n.badge {\n  display: inline-block;\n  min-width: 10px;\n  padding: 3px 7px;\n  font-size: @font-size-small;\n  font-weight: @badge-font-weight;\n  color: @badge-color;\n  line-height: @badge-line-height;\n  vertical-align: baseline;\n  white-space: nowrap;\n  text-align: center;\n  background-color: @badge-bg;\n  border-radius: @badge-border-radius;\n\n  // Empty badges collapse automatically (not available in IE8)\n  &:empty {\n    display: none;\n  }\n\n  // Quick fix for badges in buttons\n  .btn & {\n    position: relative;\n    top: -1px;\n  }\n\n  .btn-xs &,\n  .btn-group-xs > .btn & {\n    top: 0;\n    padding: 1px 5px;\n  }\n\n  // Hover state, but only for links\n  a& {\n    &:hover,\n    &:focus {\n      color: @badge-link-hover-color;\n      text-decoration: none;\n      cursor: pointer;\n    }\n  }\n\n  // Account for badges in navs\n  .list-group-item.active > &,\n  .nav-pills > .active > a > & {\n    color: @badge-active-color;\n    background-color: @badge-active-bg;\n  }\n\n  .list-group-item > & {\n    float: right;\n  }\n\n  .list-group-item > & + & {\n    margin-right: 5px;\n  }\n\n  .nav-pills > li > a > & {\n    margin-left: 3px;\n  }\n}\n","//\n// Jumbotron\n// --------------------------------------------------\n\n\n.jumbotron {\n  padding: @jumbotron-padding (@jumbotron-padding / 2);\n  margin-bottom: @jumbotron-padding;\n  color: @jumbotron-color;\n  background-color: @jumbotron-bg;\n\n  h1,\n  .h1 {\n    color: @jumbotron-heading-color;\n  }\n\n  p {\n    margin-bottom: (@jumbotron-padding / 2);\n    font-size: @jumbotron-font-size;\n    font-weight: 200;\n  }\n\n  > hr {\n    border-top-color: darken(@jumbotron-bg, 10%);\n  }\n\n  .container &,\n  .container-fluid & {\n    border-radius: @border-radius-large; // Only round corners at higher resolutions if contained in a container\n  }\n\n  .container {\n    max-width: 100%;\n  }\n\n  @media screen and (min-width: @screen-sm-min) {\n    padding: (@jumbotron-padding * 1.6) 0;\n\n    .container &,\n    .container-fluid & {\n      padding-left:  (@jumbotron-padding * 2);\n      padding-right: (@jumbotron-padding * 2);\n    }\n\n    h1,\n    .h1 {\n      font-size: (@font-size-base * 4.5);\n    }\n  }\n}\n","//\n// Thumbnails\n// --------------------------------------------------\n\n\n// Mixin and adjust the regular image class\n.thumbnail {\n  display: block;\n  padding: @thumbnail-padding;\n  margin-bottom: @line-height-computed;\n  line-height: @line-height-base;\n  background-color: @thumbnail-bg;\n  border: 1px solid @thumbnail-border;\n  border-radius: @thumbnail-border-radius;\n  .transition(border .2s ease-in-out);\n\n  > img,\n  a > img {\n    &:extend(.img-responsive);\n    margin-left: auto;\n    margin-right: auto;\n  }\n\n  // Add a hover state for linked versions only\n  a&:hover,\n  a&:focus,\n  a&.active {\n    border-color: @link-color;\n  }\n\n  // Image captions\n  .caption {\n    padding: @thumbnail-caption-padding;\n    color: @thumbnail-caption-color;\n  }\n}\n","//\n// Alerts\n// --------------------------------------------------\n\n\n// Base styles\n// -------------------------\n\n.alert {\n  padding: @alert-padding;\n  margin-bottom: @line-height-computed;\n  border: 1px solid transparent;\n  border-radius: @alert-border-radius;\n\n  // Headings for larger alerts\n  h4 {\n    margin-top: 0;\n    // Specified for the h4 to prevent conflicts of changing @headings-color\n    color: inherit;\n  }\n\n  // Provide class for links that match alerts\n  .alert-link {\n    font-weight: @alert-link-font-weight;\n  }\n\n  // Improve alignment and spacing of inner content\n  > p,\n  > ul {\n    margin-bottom: 0;\n  }\n\n  > p + p {\n    margin-top: 5px;\n  }\n}\n\n// Dismissible alerts\n//\n// Expand the right padding and account for the close button's positioning.\n\n.alert-dismissable, // The misspelled .alert-dismissable was deprecated in 3.2.0.\n.alert-dismissible {\n  padding-right: (@alert-padding + 20);\n\n  // Adjust close link position\n  .close {\n    position: relative;\n    top: -2px;\n    right: -21px;\n    color: inherit;\n  }\n}\n\n// Alternate styles\n//\n// Generate contextual modifier classes for colorizing the alert.\n\n.alert-success {\n  .alert-variant(@alert-success-bg; @alert-success-border; @alert-success-text);\n}\n\n.alert-info {\n  .alert-variant(@alert-info-bg; @alert-info-border; @alert-info-text);\n}\n\n.alert-warning {\n  .alert-variant(@alert-warning-bg; @alert-warning-border; @alert-warning-text);\n}\n\n.alert-danger {\n  .alert-variant(@alert-danger-bg; @alert-danger-border; @alert-danger-text);\n}\n","// Alerts\n\n.alert-variant(@background; @border; @text-color) {\n  background-color: @background;\n  border-color: @border;\n  color: @text-color;\n\n  hr {\n    border-top-color: darken(@border, 5%);\n  }\n  .alert-link {\n    color: darken(@text-color, 10%);\n  }\n}\n","//\n// Progress bars\n// --------------------------------------------------\n\n\n// Bar animations\n// -------------------------\n\n// WebKit\n@-webkit-keyframes progress-bar-stripes {\n  from  { background-position: 40px 0; }\n  to    { background-position: 0 0; }\n}\n\n// Spec and IE10+\n@keyframes progress-bar-stripes {\n  from  { background-position: 40px 0; }\n  to    { background-position: 0 0; }\n}\n\n\n// Bar itself\n// -------------------------\n\n// Outer container\n.progress {\n  overflow: hidden;\n  height: @line-height-computed;\n  margin-bottom: @line-height-computed;\n  background-color: @progress-bg;\n  border-radius: @progress-border-radius;\n  .box-shadow(inset 0 1px 2px rgba(0,0,0,.1));\n}\n\n// Bar of progress\n.progress-bar {\n  float: left;\n  width: 0%;\n  height: 100%;\n  font-size: @font-size-small;\n  line-height: @line-height-computed;\n  color: @progress-bar-color;\n  text-align: center;\n  background-color: @progress-bar-bg;\n  .box-shadow(inset 0 -1px 0 rgba(0,0,0,.15));\n  .transition(width .6s ease);\n}\n\n// Striped bars\n//\n// `.progress-striped .progress-bar` is deprecated as of v3.2.0 in favor of the\n// `.progress-bar-striped` class, which you just add to an existing\n// `.progress-bar`.\n.progress-striped .progress-bar,\n.progress-bar-striped {\n  #gradient > .striped();\n  background-size: 40px 40px;\n}\n\n// Call animation for the active one\n//\n// `.progress.active .progress-bar` is deprecated as of v3.2.0 in favor of the\n// `.progress-bar.active` approach.\n.progress.active .progress-bar,\n.progress-bar.active {\n  .animation(progress-bar-stripes 2s linear infinite);\n}\n\n\n// Variations\n// -------------------------\n\n.progress-bar-success {\n  .progress-bar-variant(@progress-bar-success-bg);\n}\n\n.progress-bar-info {\n  .progress-bar-variant(@progress-bar-info-bg);\n}\n\n.progress-bar-warning {\n  .progress-bar-variant(@progress-bar-warning-bg);\n}\n\n.progress-bar-danger {\n  .progress-bar-variant(@progress-bar-danger-bg);\n}\n","// Gradients\n\n#gradient {\n\n  // Horizontal gradient, from left to right\n  //\n  // Creates two color stops, start and end, by specifying a color and position for each color stop.\n  // Color stops are not available in IE9 and below.\n  .horizontal(@start-color: #555; @end-color: #333; @start-percent: 0%; @end-percent: 100%) {\n    background-image: -webkit-linear-gradient(left, @start-color @start-percent, @end-color @end-percent); // Safari 5.1-6, Chrome 10+\n    background-image: -o-linear-gradient(left, @start-color @start-percent, @end-color @end-percent); // Opera 12\n    background-image: linear-gradient(to right, @start-color @start-percent, @end-color @end-percent); // Standard, IE10, Firefox 16+, Opera 12.10+, Safari 7+, Chrome 26+\n    background-repeat: repeat-x;\n    filter: e(%(\"progid:DXImageTransform.Microsoft.gradient(startColorstr='%d', endColorstr='%d', GradientType=1)\",argb(@start-color),argb(@end-color))); // IE9 and down\n  }\n\n  // Vertical gradient, from top to bottom\n  //\n  // Creates two color stops, start and end, by specifying a color and position for each color stop.\n  // Color stops are not available in IE9 and below.\n  .vertical(@start-color: #555; @end-color: #333; @start-percent: 0%; @end-percent: 100%) {\n    background-image: -webkit-linear-gradient(top, @start-color @start-percent, @end-color @end-percent);  // Safari 5.1-6, Chrome 10+\n    background-image: -o-linear-gradient(top, @start-color @start-percent, @end-color @end-percent);  // Opera 12\n    background-image: linear-gradient(to bottom, @start-color @start-percent, @end-color @end-percent); // Standard, IE10, Firefox 16+, Opera 12.10+, Safari 7+, Chrome 26+\n    background-repeat: repeat-x;\n    filter: e(%(\"progid:DXImageTransform.Microsoft.gradient(startColorstr='%d', endColorstr='%d', GradientType=0)\",argb(@start-color),argb(@end-color))); // IE9 and down\n  }\n\n  .directional(@start-color: #555; @end-color: #333; @deg: 45deg) {\n    background-repeat: repeat-x;\n    background-image: -webkit-linear-gradient(@deg, @start-color, @end-color); // Safari 5.1-6, Chrome 10+\n    background-image: -o-linear-gradient(@deg, @start-color, @end-color); // Opera 12\n    background-image: linear-gradient(@deg, @start-color, @end-color); // Standard, IE10, Firefox 16+, Opera 12.10+, Safari 7+, Chrome 26+\n  }\n  .horizontal-three-colors(@start-color: #00b3ee; @mid-color: #7a43b6; @color-stop: 50%; @end-color: #c3325f) {\n    background-image: -webkit-linear-gradient(left, @start-color, @mid-color @color-stop, @end-color);\n    background-image: -o-linear-gradient(left, @start-color, @mid-color @color-stop, @end-color);\n    background-image: linear-gradient(to right, @start-color, @mid-color @color-stop, @end-color);\n    background-repeat: no-repeat;\n    filter: e(%(\"progid:DXImageTransform.Microsoft.gradient(startColorstr='%d', endColorstr='%d', GradientType=1)\",argb(@start-color),argb(@end-color))); // IE9 and down, gets no color-stop at all for proper fallback\n  }\n  .vertical-three-colors(@start-color: #00b3ee; @mid-color: #7a43b6; @color-stop: 50%; @end-color: #c3325f) {\n    background-image: -webkit-linear-gradient(@start-color, @mid-color @color-stop, @end-color);\n    background-image: -o-linear-gradient(@start-color, @mid-color @color-stop, @end-color);\n    background-image: linear-gradient(@start-color, @mid-color @color-stop, @end-color);\n    background-repeat: no-repeat;\n    filter: e(%(\"progid:DXImageTransform.Microsoft.gradient(startColorstr='%d', endColorstr='%d', GradientType=0)\",argb(@start-color),argb(@end-color))); // IE9 and down, gets no color-stop at all for proper fallback\n  }\n  .radial(@inner-color: #555; @outer-color: #333) {\n    background-image: -webkit-radial-gradient(circle, @inner-color, @outer-color);\n    background-image: radial-gradient(circle, @inner-color, @outer-color);\n    background-repeat: no-repeat;\n  }\n  .striped(@color: rgba(255,255,255,.15); @angle: 45deg) {\n    background-image: -webkit-linear-gradient(@angle, @color 25%, transparent 25%, transparent 50%, @color 50%, @color 75%, transparent 75%, transparent);\n    background-image: -o-linear-gradient(@angle, @color 25%, transparent 25%, transparent 50%, @color 50%, @color 75%, transparent 75%, transparent);\n    background-image: linear-gradient(@angle, @color 25%, transparent 25%, transparent 50%, @color 50%, @color 75%, transparent 75%, transparent);\n  }\n}\n","// Progress bars\n\n.progress-bar-variant(@color) {\n  background-color: @color;\n\n  // Deprecated parent class requirement as of v3.2.0\n  .progress-striped & {\n    #gradient > .striped();\n  }\n}\n",".media {\n  // Proper spacing between instances of .media\n  margin-top: 15px;\n\n  &:first-child {\n    margin-top: 0;\n  }\n}\n\n.media,\n.media-body {\n  zoom: 1;\n  overflow: hidden;\n}\n\n.media-body {\n  width: 10000px;\n}\n\n.media-object {\n  display: block;\n}\n\n.media-right,\n.media > .pull-right {\n  padding-left: 10px;\n}\n\n.media-left,\n.media > .pull-left {\n  padding-right: 10px;\n}\n\n.media-left,\n.media-right,\n.media-body {\n  display: table-cell;\n  vertical-align: top;\n}\n\n.media-middle {\n  vertical-align: middle;\n}\n\n.media-bottom {\n  vertical-align: bottom;\n}\n\n// Reset margins on headings for tighter default spacing\n.media-heading {\n  margin-top: 0;\n  margin-bottom: 5px;\n}\n\n// Media list variation\n//\n// Undo default ul/ol styles\n.media-list {\n  padding-left: 0;\n  list-style: none;\n}\n","//\n// List groups\n// --------------------------------------------------\n\n\n// Base class\n//\n// Easily usable on <ul>, <ol>, or <div>.\n\n.list-group {\n  // No need to set list-style: none; since .list-group-item is block level\n  margin-bottom: 20px;\n  padding-left: 0; // reset padding because ul and ol\n}\n\n\n// Individual list items\n//\n// Use on `li`s or `div`s within the `.list-group` parent.\n\n.list-group-item {\n  position: relative;\n  display: block;\n  padding: 10px 15px;\n  // Place the border on the list items and negative margin up for better styling\n  margin-bottom: -1px;\n  background-color: @list-group-bg;\n  border: 1px solid @list-group-border;\n\n  // Round the first and last items\n  &:first-child {\n    .border-top-radius(@list-group-border-radius);\n  }\n  &:last-child {\n    margin-bottom: 0;\n    .border-bottom-radius(@list-group-border-radius);\n  }\n}\n\n\n// Linked list items\n//\n// Use anchor elements instead of `li`s or `div`s to create linked list items.\n// Includes an extra `.active` modifier class for showing selected items.\n\na.list-group-item {\n  color: @list-group-link-color;\n\n  .list-group-item-heading {\n    color: @list-group-link-heading-color;\n  }\n\n  // Hover state\n  &:hover,\n  &:focus {\n    text-decoration: none;\n    color: @list-group-link-hover-color;\n    background-color: @list-group-hover-bg;\n  }\n}\n\n.list-group-item {\n  // Disabled state\n  &.disabled,\n  &.disabled:hover,\n  &.disabled:focus {\n    background-color: @list-group-disabled-bg;\n    color: @list-group-disabled-color;\n    cursor: @cursor-disabled;\n\n    // Force color to inherit for custom content\n    .list-group-item-heading {\n      color: inherit;\n    }\n    .list-group-item-text {\n      color: @list-group-disabled-text-color;\n    }\n  }\n\n  // Active class on item itself, not parent\n  &.active,\n  &.active:hover,\n  &.active:focus {\n    z-index: 2; // Place active items above their siblings for proper border styling\n    color: @list-group-active-color;\n    background-color: @list-group-active-bg;\n    border-color: @list-group-active-border;\n\n    // Force color to inherit for custom content\n    .list-group-item-heading,\n    .list-group-item-heading > small,\n    .list-group-item-heading > .small {\n      color: inherit;\n    }\n    .list-group-item-text {\n      color: @list-group-active-text-color;\n    }\n  }\n}\n\n\n// Contextual variants\n//\n// Add modifier classes to change text and background color on individual items.\n// Organizationally, this must come after the `:hover` states.\n\n.list-group-item-variant(success; @state-success-bg; @state-success-text);\n.list-group-item-variant(info; @state-info-bg; @state-info-text);\n.list-group-item-variant(warning; @state-warning-bg; @state-warning-text);\n.list-group-item-variant(danger; @state-danger-bg; @state-danger-text);\n\n\n// Custom content options\n//\n// Extra classes for creating well-formatted content within `.list-group-item`s.\n\n.list-group-item-heading {\n  margin-top: 0;\n  margin-bottom: 5px;\n}\n.list-group-item-text {\n  margin-bottom: 0;\n  line-height: 1.3;\n}\n","// List Groups\n\n.list-group-item-variant(@state; @background; @color) {\n  .list-group-item-@{state} {\n    color: @color;\n    background-color: @background;\n\n    a& {\n      color: @color;\n\n      .list-group-item-heading {\n        color: inherit;\n      }\n\n      &:hover,\n      &:focus {\n        color: @color;\n        background-color: darken(@background, 5%);\n      }\n      &.active,\n      &.active:hover,\n      &.active:focus {\n        color: #fff;\n        background-color: @color;\n        border-color: @color;\n      }\n    }\n  }\n}\n","//\n// Panels\n// --------------------------------------------------\n\n\n// Base class\n.panel {\n  margin-bottom: @line-height-computed;\n  background-color: @panel-bg;\n  border: 1px solid transparent;\n  border-radius: @panel-border-radius;\n  .box-shadow(0 1px 1px rgba(0,0,0,.05));\n}\n\n// Panel contents\n.panel-body {\n  padding: @panel-body-padding;\n  &:extend(.clearfix all);\n}\n\n// Optional heading\n.panel-heading {\n  padding: @panel-heading-padding;\n  border-bottom: 1px solid transparent;\n  .border-top-radius((@panel-border-radius - 1));\n\n  > .dropdown .dropdown-toggle {\n    color: inherit;\n  }\n}\n\n// Within heading, strip any `h*` tag of its default margins for spacing.\n.panel-title {\n  margin-top: 0;\n  margin-bottom: 0;\n  font-size: ceil((@font-size-base * 1.125));\n  color: inherit;\n\n  > a,\n  > small,\n  > .small,\n  > small > a,\n  > .small > a {\n    color: inherit;\n  }\n}\n\n// Optional footer (stays gray in every modifier class)\n.panel-footer {\n  padding: @panel-footer-padding;\n  background-color: @panel-footer-bg;\n  border-top: 1px solid @panel-inner-border;\n  .border-bottom-radius((@panel-border-radius - 1));\n}\n\n\n// List groups in panels\n//\n// By default, space out list group content from panel headings to account for\n// any kind of custom content between the two.\n\n.panel {\n  > .list-group,\n  > .panel-collapse > .list-group {\n    margin-bottom: 0;\n\n    .list-group-item {\n      border-width: 1px 0;\n      border-radius: 0;\n    }\n\n    // Add border top radius for first one\n    &:first-child {\n      .list-group-item:first-child {\n        border-top: 0;\n        .border-top-radius((@panel-border-radius - 1));\n      }\n    }\n    // Add border bottom radius for last one\n    &:last-child {\n      .list-group-item:last-child {\n        border-bottom: 0;\n        .border-bottom-radius((@panel-border-radius - 1));\n      }\n    }\n  }\n}\n// Collapse space between when there's no additional content.\n.panel-heading + .list-group {\n  .list-group-item:first-child {\n    border-top-width: 0;\n  }\n}\n.list-group + .panel-footer {\n  border-top-width: 0;\n}\n\n// Tables in panels\n//\n// Place a non-bordered `.table` within a panel (not within a `.panel-body`) and\n// watch it go full width.\n\n.panel {\n  > .table,\n  > .table-responsive > .table,\n  > .panel-collapse > .table {\n    margin-bottom: 0;\n\n    caption {\n      padding-left: @panel-body-padding;\n      padding-right: @panel-body-padding;\n    }\n  }\n  // Add border top radius for first one\n  > .table:first-child,\n  > .table-responsive:first-child > .table:first-child {\n    .border-top-radius((@panel-border-radius - 1));\n\n    > thead:first-child,\n    > tbody:first-child {\n      > tr:first-child {\n        border-top-left-radius: (@panel-border-radius - 1);\n        border-top-right-radius: (@panel-border-radius - 1);\n\n        td:first-child,\n        th:first-child {\n          border-top-left-radius: (@panel-border-radius - 1);\n        }\n        td:last-child,\n        th:last-child {\n          border-top-right-radius: (@panel-border-radius - 1);\n        }\n      }\n    }\n  }\n  // Add border bottom radius for last one\n  > .table:last-child,\n  > .table-responsive:last-child > .table:last-child {\n    .border-bottom-radius((@panel-border-radius - 1));\n\n    > tbody:last-child,\n    > tfoot:last-child {\n      > tr:last-child {\n        border-bottom-left-radius: (@panel-border-radius - 1);\n        border-bottom-right-radius: (@panel-border-radius - 1);\n\n        td:first-child,\n        th:first-child {\n          border-bottom-left-radius: (@panel-border-radius - 1);\n        }\n        td:last-child,\n        th:last-child {\n          border-bottom-right-radius: (@panel-border-radius - 1);\n        }\n      }\n    }\n  }\n  > .panel-body + .table,\n  > .panel-body + .table-responsive,\n  > .table + .panel-body,\n  > .table-responsive + .panel-body {\n    border-top: 1px solid @table-border-color;\n  }\n  > .table > tbody:first-child > tr:first-child th,\n  > .table > tbody:first-child > tr:first-child td {\n    border-top: 0;\n  }\n  > .table-bordered,\n  > .table-responsive > .table-bordered {\n    border: 0;\n    > thead,\n    > tbody,\n    > tfoot {\n      > tr {\n        > th:first-child,\n        > td:first-child {\n          border-left: 0;\n        }\n        > th:last-child,\n        > td:last-child {\n          border-right: 0;\n        }\n      }\n    }\n    > thead,\n    > tbody {\n      > tr:first-child {\n        > td,\n        > th {\n          border-bottom: 0;\n        }\n      }\n    }\n    > tbody,\n    > tfoot {\n      > tr:last-child {\n        > td,\n        > th {\n          border-bottom: 0;\n        }\n      }\n    }\n  }\n  > .table-responsive {\n    border: 0;\n    margin-bottom: 0;\n  }\n}\n\n\n// Collapsable panels (aka, accordion)\n//\n// Wrap a series of panels in `.panel-group` to turn them into an accordion with\n// the help of our collapse JavaScript plugin.\n\n.panel-group {\n  margin-bottom: @line-height-computed;\n\n  // Tighten up margin so it's only between panels\n  .panel {\n    margin-bottom: 0;\n    border-radius: @panel-border-radius;\n\n    + .panel {\n      margin-top: 5px;\n    }\n  }\n\n  .panel-heading {\n    border-bottom: 0;\n\n    + .panel-collapse > .panel-body,\n    + .panel-collapse > .list-group {\n      border-top: 1px solid @panel-inner-border;\n    }\n  }\n\n  .panel-footer {\n    border-top: 0;\n    + .panel-collapse .panel-body {\n      border-bottom: 1px solid @panel-inner-border;\n    }\n  }\n}\n\n\n// Contextual variations\n.panel-default {\n  .panel-variant(@panel-default-border; @panel-default-text; @panel-default-heading-bg; @panel-default-border);\n}\n.panel-primary {\n  .panel-variant(@panel-primary-border; @panel-primary-text; @panel-primary-heading-bg; @panel-primary-border);\n}\n.panel-success {\n  .panel-variant(@panel-success-border; @panel-success-text; @panel-success-heading-bg; @panel-success-border);\n}\n.panel-info {\n  .panel-variant(@panel-info-border; @panel-info-text; @panel-info-heading-bg; @panel-info-border);\n}\n.panel-warning {\n  .panel-variant(@panel-warning-border; @panel-warning-text; @panel-warning-heading-bg; @panel-warning-border);\n}\n.panel-danger {\n  .panel-variant(@panel-danger-border; @panel-danger-text; @panel-danger-heading-bg; @panel-danger-border);\n}\n","// Panels\n\n.panel-variant(@border; @heading-text-color; @heading-bg-color; @heading-border) {\n  border-color: @border;\n\n  & > .panel-heading {\n    color: @heading-text-color;\n    background-color: @heading-bg-color;\n    border-color: @heading-border;\n\n    + .panel-collapse > .panel-body {\n      border-top-color: @border;\n    }\n    .badge {\n      color: @heading-bg-color;\n      background-color: @heading-text-color;\n    }\n  }\n  & > .panel-footer {\n    + .panel-collapse > .panel-body {\n      border-bottom-color: @border;\n    }\n  }\n}\n","// Embeds responsive\n//\n// Credit: Nicolas Gallagher and SUIT CSS.\n\n.embed-responsive {\n  position: relative;\n  display: block;\n  height: 0;\n  padding: 0;\n  overflow: hidden;\n\n  .embed-responsive-item,\n  iframe,\n  embed,\n  object,\n  video {\n    position: absolute;\n    top: 0;\n    left: 0;\n    bottom: 0;\n    height: 100%;\n    width: 100%;\n    border: 0;\n  }\n}\n\n// Modifier class for 16:9 aspect ratio\n.embed-responsive-16by9 {\n  padding-bottom: 56.25%;\n}\n\n// Modifier class for 4:3 aspect ratio\n.embed-responsive-4by3 {\n  padding-bottom: 75%;\n}\n","//\n// Wells\n// --------------------------------------------------\n\n\n// Base class\n.well {\n  min-height: 20px;\n  padding: 19px;\n  margin-bottom: 20px;\n  background-color: @well-bg;\n  border: 1px solid @well-border;\n  border-radius: @border-radius-base;\n  .box-shadow(inset 0 1px 1px rgba(0,0,0,.05));\n  blockquote {\n    border-color: #ddd;\n    border-color: rgba(0,0,0,.15);\n  }\n}\n\n// Sizes\n.well-lg {\n  padding: 24px;\n  border-radius: @border-radius-large;\n}\n.well-sm {\n  padding: 9px;\n  border-radius: @border-radius-small;\n}\n","//\n// Close icons\n// --------------------------------------------------\n\n\n.close {\n  float: right;\n  font-size: (@font-size-base * 1.5);\n  font-weight: @close-font-weight;\n  line-height: 1;\n  color: @close-color;\n  text-shadow: @close-text-shadow;\n  .opacity(.2);\n\n  &:hover,\n  &:focus {\n    color: @close-color;\n    text-decoration: none;\n    cursor: pointer;\n    .opacity(.5);\n  }\n\n  // Additional properties for button version\n  // iOS requires the button element instead of an anchor tag.\n  // If you want the anchor version, it requires `href=\"#\"`.\n  // See https://developer.mozilla.org/en-US/docs/Web/Events/click#Safari_Mobile\n  button& {\n    padding: 0;\n    cursor: pointer;\n    background: transparent;\n    border: 0;\n    -webkit-appearance: none;\n  }\n}\n","//\n// Modals\n// --------------------------------------------------\n\n// .modal-open      - body class for killing the scroll\n// .modal           - container to scroll within\n// .modal-dialog    - positioning shell for the actual modal\n// .modal-content   - actual modal w/ bg and corners and shit\n\n// Kill the scroll on the body\n.modal-open {\n  overflow: hidden;\n}\n\n// Container that the modal scrolls within\n.modal {\n  display: none;\n  overflow: hidden;\n  position: fixed;\n  top: 0;\n  right: 0;\n  bottom: 0;\n  left: 0;\n  z-index: @zindex-modal;\n  -webkit-overflow-scrolling: touch;\n\n  // Prevent Chrome on Windows from adding a focus outline. For details, see\n  // https://github.com/twbs/bootstrap/pull/10951.\n  outline: 0;\n\n  // When fading in the modal, animate it to slide down\n  &.fade .modal-dialog {\n    .translate(0, -25%);\n    .transition-transform(~\"0.3s ease-out\");\n  }\n  &.in .modal-dialog { .translate(0, 0) }\n}\n.modal-open .modal {\n  overflow-x: hidden;\n  overflow-y: auto;\n}\n\n// Shell div to position the modal with bottom padding\n.modal-dialog {\n  position: relative;\n  width: auto;\n  margin: 10px;\n}\n\n// Actual modal\n.modal-content {\n  position: relative;\n  background-color: @modal-content-bg;\n  border: 1px solid @modal-content-fallback-border-color; //old browsers fallback (ie8 etc)\n  border: 1px solid @modal-content-border-color;\n  border-radius: @border-radius-large;\n  .box-shadow(0 3px 9px rgba(0,0,0,.5));\n  background-clip: padding-box;\n  // Remove focus outline from opened modal\n  outline: 0;\n}\n\n// Modal background\n.modal-backdrop {\n  position: fixed;\n  top: 0;\n  right: 0;\n  bottom: 0;\n  left: 0;\n  z-index: @zindex-modal-background;\n  background-color: @modal-backdrop-bg;\n  // Fade for backdrop\n  &.fade { .opacity(0); }\n  &.in { .opacity(@modal-backdrop-opacity); }\n}\n\n// Modal header\n// Top section of the modal w/ title and dismiss\n.modal-header {\n  padding: @modal-title-padding;\n  border-bottom: 1px solid @modal-header-border-color;\n  min-height: (@modal-title-padding + @modal-title-line-height);\n}\n// Close icon\n.modal-header .close {\n  margin-top: -2px;\n}\n\n// Title text within header\n.modal-title {\n  margin: 0;\n  line-height: @modal-title-line-height;\n}\n\n// Modal body\n// Where all modal content resides (sibling of .modal-header and .modal-footer)\n.modal-body {\n  position: relative;\n  padding: @modal-inner-padding;\n}\n\n// Footer (for actions)\n.modal-footer {\n  padding: @modal-inner-padding;\n  text-align: right; // right align buttons\n  border-top: 1px solid @modal-footer-border-color;\n  &:extend(.clearfix all); // clear it in case folks use .pull-* classes on buttons\n\n  // Properly space out buttons\n  .btn + .btn {\n    margin-left: 5px;\n    margin-bottom: 0; // account for input[type=\"submit\"] which gets the bottom margin like all other inputs\n  }\n  // but override that for button groups\n  .btn-group .btn + .btn {\n    margin-left: -1px;\n  }\n  // and override it for block buttons as well\n  .btn-block + .btn-block {\n    margin-left: 0;\n  }\n}\n\n// Measure scrollbar width for padding body during modal show/hide\n.modal-scrollbar-measure {\n  position: absolute;\n  top: -9999px;\n  width: 50px;\n  height: 50px;\n  overflow: scroll;\n}\n\n// Scale up the modal\n@media (min-width: @screen-sm-min) {\n  // Automatically set modal's width for larger viewports\n  .modal-dialog {\n    width: @modal-md;\n    margin: 30px auto;\n  }\n  .modal-content {\n    .box-shadow(0 5px 15px rgba(0,0,0,.5));\n  }\n\n  // Modal sizes\n  .modal-sm { width: @modal-sm; }\n}\n\n@media (min-width: @screen-md-min) {\n  .modal-lg { width: @modal-lg; }\n}\n","//\n// Tooltips\n// --------------------------------------------------\n\n\n// Base class\n.tooltip {\n  position: absolute;\n  z-index: @zindex-tooltip;\n  display: block;\n  // Reset font and text properties given new insertion method\n  font-family: @font-family-base;\n  font-size: @font-size-small;\n  font-weight: normal;\n  line-height: 1.4;\n  .opacity(0);\n\n  &.in     { .opacity(@tooltip-opacity); }\n  &.top    { margin-top:  -3px; padding: @tooltip-arrow-width 0; }\n  &.right  { margin-left:  3px; padding: 0 @tooltip-arrow-width; }\n  &.bottom { margin-top:   3px; padding: @tooltip-arrow-width 0; }\n  &.left   { margin-left: -3px; padding: 0 @tooltip-arrow-width; }\n}\n\n// Wrapper for the tooltip content\n.tooltip-inner {\n  max-width: @tooltip-max-width;\n  padding: 3px 8px;\n  color: @tooltip-color;\n  text-align: center;\n  text-decoration: none;\n  background-color: @tooltip-bg;\n  border-radius: @border-radius-base;\n}\n\n// Arrows\n.tooltip-arrow {\n  position: absolute;\n  width: 0;\n  height: 0;\n  border-color: transparent;\n  border-style: solid;\n}\n// Note: Deprecated .top-left, .top-right, .bottom-left, and .bottom-right as of v3.3.1\n.tooltip {\n  &.top .tooltip-arrow {\n    bottom: 0;\n    left: 50%;\n    margin-left: -@tooltip-arrow-width;\n    border-width: @tooltip-arrow-width @tooltip-arrow-width 0;\n    border-top-color: @tooltip-arrow-color;\n  }\n  &.top-left .tooltip-arrow {\n    bottom: 0;\n    right: @tooltip-arrow-width;\n    margin-bottom: -@tooltip-arrow-width;\n    border-width: @tooltip-arrow-width @tooltip-arrow-width 0;\n    border-top-color: @tooltip-arrow-color;\n  }\n  &.top-right .tooltip-arrow {\n    bottom: 0;\n    left: @tooltip-arrow-width;\n    margin-bottom: -@tooltip-arrow-width;\n    border-width: @tooltip-arrow-width @tooltip-arrow-width 0;\n    border-top-color: @tooltip-arrow-color;\n  }\n  &.right .tooltip-arrow {\n    top: 50%;\n    left: 0;\n    margin-top: -@tooltip-arrow-width;\n    border-width: @tooltip-arrow-width @tooltip-arrow-width @tooltip-arrow-width 0;\n    border-right-color: @tooltip-arrow-color;\n  }\n  &.left .tooltip-arrow {\n    top: 50%;\n    right: 0;\n    margin-top: -@tooltip-arrow-width;\n    border-width: @tooltip-arrow-width 0 @tooltip-arrow-width @tooltip-arrow-width;\n    border-left-color: @tooltip-arrow-color;\n  }\n  &.bottom .tooltip-arrow {\n    top: 0;\n    left: 50%;\n    margin-left: -@tooltip-arrow-width;\n    border-width: 0 @tooltip-arrow-width @tooltip-arrow-width;\n    border-bottom-color: @tooltip-arrow-color;\n  }\n  &.bottom-left .tooltip-arrow {\n    top: 0;\n    right: @tooltip-arrow-width;\n    margin-top: -@tooltip-arrow-width;\n    border-width: 0 @tooltip-arrow-width @tooltip-arrow-width;\n    border-bottom-color: @tooltip-arrow-color;\n  }\n  &.bottom-right .tooltip-arrow {\n    top: 0;\n    left: @tooltip-arrow-width;\n    margin-top: -@tooltip-arrow-width;\n    border-width: 0 @tooltip-arrow-width @tooltip-arrow-width;\n    border-bottom-color: @tooltip-arrow-color;\n  }\n}\n","//\n// Popovers\n// --------------------------------------------------\n\n\n.popover {\n  position: absolute;\n  top: 0;\n  left: 0;\n  z-index: @zindex-popover;\n  display: none;\n  max-width: @popover-max-width;\n  padding: 1px;\n  // Reset font and text properties given new insertion method\n  font-family: @font-family-base;\n  font-size: @font-size-base;\n  font-weight: normal;\n  line-height: @line-height-base;\n  text-align: left;\n  background-color: @popover-bg;\n  background-clip: padding-box;\n  border: 1px solid @popover-fallback-border-color;\n  border: 1px solid @popover-border-color;\n  border-radius: @border-radius-large;\n  .box-shadow(0 5px 10px rgba(0,0,0,.2));\n\n  // Overrides for proper insertion\n  white-space: normal;\n\n  // Offset the popover to account for the popover arrow\n  &.top     { margin-top: -@popover-arrow-width; }\n  &.right   { margin-left: @popover-arrow-width; }\n  &.bottom  { margin-top: @popover-arrow-width; }\n  &.left    { margin-left: -@popover-arrow-width; }\n}\n\n.popover-title {\n  margin: 0; // reset heading margin\n  padding: 8px 14px;\n  font-size: @font-size-base;\n  background-color: @popover-title-bg;\n  border-bottom: 1px solid darken(@popover-title-bg, 5%);\n  border-radius: (@border-radius-large - 1) (@border-radius-large - 1) 0 0;\n}\n\n.popover-content {\n  padding: 9px 14px;\n}\n\n// Arrows\n//\n// .arrow is outer, .arrow:after is inner\n\n.popover > .arrow {\n  &,\n  &:after {\n    position: absolute;\n    display: block;\n    width: 0;\n    height: 0;\n    border-color: transparent;\n    border-style: solid;\n  }\n}\n.popover > .arrow {\n  border-width: @popover-arrow-outer-width;\n}\n.popover > .arrow:after {\n  border-width: @popover-arrow-width;\n  content: \"\";\n}\n\n.popover {\n  &.top > .arrow {\n    left: 50%;\n    margin-left: -@popover-arrow-outer-width;\n    border-bottom-width: 0;\n    border-top-color: @popover-arrow-outer-fallback-color; // IE8 fallback\n    border-top-color: @popover-arrow-outer-color;\n    bottom: -@popover-arrow-outer-width;\n    &:after {\n      content: \" \";\n      bottom: 1px;\n      margin-left: -@popover-arrow-width;\n      border-bottom-width: 0;\n      border-top-color: @popover-arrow-color;\n    }\n  }\n  &.right > .arrow {\n    top: 50%;\n    left: -@popover-arrow-outer-width;\n    margin-top: -@popover-arrow-outer-width;\n    border-left-width: 0;\n    border-right-color: @popover-arrow-outer-fallback-color; // IE8 fallback\n    border-right-color: @popover-arrow-outer-color;\n    &:after {\n      content: \" \";\n      left: 1px;\n      bottom: -@popover-arrow-width;\n      border-left-width: 0;\n      border-right-color: @popover-arrow-color;\n    }\n  }\n  &.bottom > .arrow {\n    left: 50%;\n    margin-left: -@popover-arrow-outer-width;\n    border-top-width: 0;\n    border-bottom-color: @popover-arrow-outer-fallback-color; // IE8 fallback\n    border-bottom-color: @popover-arrow-outer-color;\n    top: -@popover-arrow-outer-width;\n    &:after {\n      content: \" \";\n      top: 1px;\n      margin-left: -@popover-arrow-width;\n      border-top-width: 0;\n      border-bottom-color: @popover-arrow-color;\n    }\n  }\n\n  &.left > .arrow {\n    top: 50%;\n    right: -@popover-arrow-outer-width;\n    margin-top: -@popover-arrow-outer-width;\n    border-right-width: 0;\n    border-left-color: @popover-arrow-outer-fallback-color; // IE8 fallback\n    border-left-color: @popover-arrow-outer-color;\n    &:after {\n      content: \" \";\n      right: 1px;\n      border-right-width: 0;\n      border-left-color: @popover-arrow-color;\n      bottom: -@popover-arrow-width;\n    }\n  }\n}\n","//\n// Carousel\n// --------------------------------------------------\n\n\n// Wrapper for the slide container and indicators\n.carousel {\n  position: relative;\n}\n\n.carousel-inner {\n  position: relative;\n  overflow: hidden;\n  width: 100%;\n\n  > .item {\n    display: none;\n    position: relative;\n    .transition(.6s ease-in-out left);\n\n    // Account for jankitude on images\n    > img,\n    > a > img {\n      &:extend(.img-responsive);\n      line-height: 1;\n    }\n\n    // WebKit CSS3 transforms for supported devices\n    @media all and (transform-3d), (-webkit-transform-3d) {\n      .transition-transform(~'0.6s ease-in-out');\n      .backface-visibility(~'hidden');\n      .perspective(1000);\n\n      &.next,\n      &.active.right {\n        .translate3d(100%, 0, 0);\n        left: 0;\n      }\n      &.prev,\n      &.active.left {\n        .translate3d(-100%, 0, 0);\n        left: 0;\n      }\n      &.next.left,\n      &.prev.right,\n      &.active {\n        .translate3d(0, 0, 0);\n        left: 0;\n      }\n    }\n  }\n\n  > .active,\n  > .next,\n  > .prev {\n    display: block;\n  }\n\n  > .active {\n    left: 0;\n  }\n\n  > .next,\n  > .prev {\n    position: absolute;\n    top: 0;\n    width: 100%;\n  }\n\n  > .next {\n    left: 100%;\n  }\n  > .prev {\n    left: -100%;\n  }\n  > .next.left,\n  > .prev.right {\n    left: 0;\n  }\n\n  > .active.left {\n    left: -100%;\n  }\n  > .active.right {\n    left: 100%;\n  }\n\n}\n\n// Left/right controls for nav\n// ---------------------------\n\n.carousel-control {\n  position: absolute;\n  top: 0;\n  left: 0;\n  bottom: 0;\n  width: @carousel-control-width;\n  .opacity(@carousel-control-opacity);\n  font-size: @carousel-control-font-size;\n  color: @carousel-control-color;\n  text-align: center;\n  text-shadow: @carousel-text-shadow;\n  // We can't have this transition here because WebKit cancels the carousel\n  // animation if you trip this while in the middle of another animation.\n\n  // Set gradients for backgrounds\n  &.left {\n    #gradient > .horizontal(@start-color: rgba(0,0,0,.5); @end-color: rgba(0,0,0,.0001));\n  }\n  &.right {\n    left: auto;\n    right: 0;\n    #gradient > .horizontal(@start-color: rgba(0,0,0,.0001); @end-color: rgba(0,0,0,.5));\n  }\n\n  // Hover/focus state\n  &:hover,\n  &:focus {\n    outline: 0;\n    color: @carousel-control-color;\n    text-decoration: none;\n    .opacity(.9);\n  }\n\n  // Toggles\n  .icon-prev,\n  .icon-next,\n  .glyphicon-chevron-left,\n  .glyphicon-chevron-right {\n    position: absolute;\n    top: 50%;\n    z-index: 5;\n    display: inline-block;\n  }\n  .icon-prev,\n  .glyphicon-chevron-left {\n    left: 50%;\n    margin-left: -10px;\n  }\n  .icon-next,\n  .glyphicon-chevron-right {\n    right: 50%;\n    margin-right: -10px;\n  }\n  .icon-prev,\n  .icon-next {\n    width:  20px;\n    height: 20px;\n    margin-top: -10px;\n    line-height: 1;\n    font-family: serif;\n  }\n\n\n  .icon-prev {\n    &:before {\n      content: '\\2039';// SINGLE LEFT-POINTING ANGLE QUOTATION MARK (U+2039)\n    }\n  }\n  .icon-next {\n    &:before {\n      content: '\\203a';// SINGLE RIGHT-POINTING ANGLE QUOTATION MARK (U+203A)\n    }\n  }\n}\n\n// Optional indicator pips\n//\n// Add an unordered list with the following class and add a list item for each\n// slide your carousel holds.\n\n.carousel-indicators {\n  position: absolute;\n  bottom: 10px;\n  left: 50%;\n  z-index: 15;\n  width: 60%;\n  margin-left: -30%;\n  padding-left: 0;\n  list-style: none;\n  text-align: center;\n\n  li {\n    display: inline-block;\n    width:  10px;\n    height: 10px;\n    margin: 1px;\n    text-indent: -999px;\n    border: 1px solid @carousel-indicator-border-color;\n    border-radius: 10px;\n    cursor: pointer;\n\n    // IE8-9 hack for event handling\n    //\n    // Internet Explorer 8-9 does not support clicks on elements without a set\n    // `background-color`. We cannot use `filter` since that's not viewed as a\n    // background color by the browser. Thus, a hack is needed.\n    // See https://developer.mozilla.org/en-US/docs/Web/Events/click#Internet_Explorer\n    //\n    // For IE8, we set solid black as it doesn't support `rgba()`. For IE9, we\n    // set alpha transparency for the best results possible.\n    background-color: #000 \\9; // IE8\n    background-color: rgba(0,0,0,0); // IE9\n  }\n  .active {\n    margin: 0;\n    width:  12px;\n    height: 12px;\n    background-color: @carousel-indicator-active-bg;\n  }\n}\n\n// Optional captions\n// -----------------------------\n// Hidden by default for smaller viewports\n.carousel-caption {\n  position: absolute;\n  left: 15%;\n  right: 15%;\n  bottom: 20px;\n  z-index: 10;\n  padding-top: 20px;\n  padding-bottom: 20px;\n  color: @carousel-caption-color;\n  text-align: center;\n  text-shadow: @carousel-text-shadow;\n  & .btn {\n    text-shadow: none; // No shadow for button elements in carousel-caption\n  }\n}\n\n\n// Scale up controls for tablets and up\n@media screen and (min-width: @screen-sm-min) {\n\n  // Scale up the controls a smidge\n  .carousel-control {\n    .glyphicon-chevron-left,\n    .glyphicon-chevron-right,\n    .icon-prev,\n    .icon-next {\n      width: 30px;\n      height: 30px;\n      margin-top: -15px;\n      font-size: 30px;\n    }\n    .glyphicon-chevron-left,\n    .icon-prev {\n      margin-left: -15px;\n    }\n    .glyphicon-chevron-right,\n    .icon-next {\n      margin-right: -15px;\n    }\n  }\n\n  // Show and left align the captions\n  .carousel-caption {\n    left: 20%;\n    right: 20%;\n    padding-bottom: 30px;\n  }\n\n  // Move up the indicators\n  .carousel-indicators {\n    bottom: 20px;\n  }\n}\n","// Clearfix\n//\n// For modern browsers\n// 1. The space content is one way to avoid an Opera bug when the\n//    contenteditable attribute is included anywhere else in the document.\n//    Otherwise it causes space to appear at the top and bottom of elements\n//    that are clearfixed.\n// 2. The use of `table` rather than `block` is only necessary if using\n//    `:before` to contain the top-margins of child elements.\n//\n// Source: http://nicolasgallagher.com/micro-clearfix-hack/\n\n.clearfix() {\n  &:before,\n  &:after {\n    content: \" \"; // 1\n    display: table; // 2\n  }\n  &:after {\n    clear: both;\n  }\n}\n","// Center-align a block level element\n\n.center-block() {\n  display: block;\n  margin-left: auto;\n  margin-right: auto;\n}\n","// CSS image replacement\n//\n// Heads up! v3 launched with with only `.hide-text()`, but per our pattern for\n// mixins being reused as classes with the same name, this doesn't hold up. As\n// of v3.0.1 we have added `.text-hide()` and deprecated `.hide-text()`.\n//\n// Source: https://github.com/h5bp/html5-boilerplate/commit/aa0396eae757\n\n// Deprecated as of v3.0.1 (will be removed in v4)\n.hide-text() {\n  font: ~\"0/0\" a;\n  color: transparent;\n  text-shadow: none;\n  background-color: transparent;\n  border: 0;\n}\n\n// New mixin to use as of v3.0.1\n.text-hide() {\n  .hide-text();\n}\n","//\n// Responsive: Utility classes\n// --------------------------------------------------\n\n\n// IE10 in Windows (Phone) 8\n//\n// Support for responsive views via media queries is kind of borked in IE10, for\n// Surface/desktop in split view and for Windows Phone 8. This particular fix\n// must be accompanied by a snippet of JavaScript to sniff the user agent and\n// apply some conditional CSS to *only* the Surface/desktop Windows 8. Look at\n// our Getting Started page for more information on this bug.\n//\n// For more information, see the following:\n//\n// Issue: https://github.com/twbs/bootstrap/issues/10497\n// Docs: http://getbootstrap.com/getting-started/#support-ie10-width\n// Source: http://timkadlec.com/2013/01/windows-phone-8-and-device-width/\n// Source: http://timkadlec.com/2012/10/ie10-snap-mode-and-responsive-design/\n\n@-ms-viewport {\n  width: device-width;\n}\n\n\n// Visibility utilities\n// Note: Deprecated .visible-xs, .visible-sm, .visible-md, and .visible-lg as of v3.2.0\n.visible-xs,\n.visible-sm,\n.visible-md,\n.visible-lg {\n  .responsive-invisibility();\n}\n\n.visible-xs-block,\n.visible-xs-inline,\n.visible-xs-inline-block,\n.visible-sm-block,\n.visible-sm-inline,\n.visible-sm-inline-block,\n.visible-md-block,\n.visible-md-inline,\n.visible-md-inline-block,\n.visible-lg-block,\n.visible-lg-inline,\n.visible-lg-inline-block {\n  display: none !important;\n}\n\n.visible-xs {\n  @media (max-width: @screen-xs-max) {\n    .responsive-visibility();\n  }\n}\n.visible-xs-block {\n  @media (max-width: @screen-xs-max) {\n    display: block !important;\n  }\n}\n.visible-xs-inline {\n  @media (max-width: @screen-xs-max) {\n    display: inline !important;\n  }\n}\n.visible-xs-inline-block {\n  @media (max-width: @screen-xs-max) {\n    display: inline-block !important;\n  }\n}\n\n.visible-sm {\n  @media (min-width: @screen-sm-min) and (max-width: @screen-sm-max) {\n    .responsive-visibility();\n  }\n}\n.visible-sm-block {\n  @media (min-width: @screen-sm-min) and (max-width: @screen-sm-max) {\n    display: block !important;\n  }\n}\n.visible-sm-inline {\n  @media (min-width: @screen-sm-min) and (max-width: @screen-sm-max) {\n    display: inline !important;\n  }\n}\n.visible-sm-inline-block {\n  @media (min-width: @screen-sm-min) and (max-width: @screen-sm-max) {\n    display: inline-block !important;\n  }\n}\n\n.visible-md {\n  @media (min-width: @screen-md-min) and (max-width: @screen-md-max) {\n    .responsive-visibility();\n  }\n}\n.visible-md-block {\n  @media (min-width: @screen-md-min) and (max-width: @screen-md-max) {\n    display: block !important;\n  }\n}\n.visible-md-inline {\n  @media (min-width: @screen-md-min) and (max-width: @screen-md-max) {\n    display: inline !important;\n  }\n}\n.visible-md-inline-block {\n  @media (min-width: @screen-md-min) and (max-width: @screen-md-max) {\n    display: inline-block !important;\n  }\n}\n\n.visible-lg {\n  @media (min-width: @screen-lg-min) {\n    .responsive-visibility();\n  }\n}\n.visible-lg-block {\n  @media (min-width: @screen-lg-min) {\n    display: block !important;\n  }\n}\n.visible-lg-inline {\n  @media (min-width: @screen-lg-min) {\n    display: inline !important;\n  }\n}\n.visible-lg-inline-block {\n  @media (min-width: @screen-lg-min) {\n    display: inline-block !important;\n  }\n}\n\n.hidden-xs {\n  @media (max-width: @screen-xs-max) {\n    .responsive-invisibility();\n  }\n}\n.hidden-sm {\n  @media (min-width: @screen-sm-min) and (max-width: @screen-sm-max) {\n    .responsive-invisibility();\n  }\n}\n.hidden-md {\n  @media (min-width: @screen-md-min) and (max-width: @screen-md-max) {\n    .responsive-invisibility();\n  }\n}\n.hidden-lg {\n  @media (min-width: @screen-lg-min) {\n    .responsive-invisibility();\n  }\n}\n\n\n// Print utilities\n//\n// Media queries are placed on the inside to be mixin-friendly.\n\n// Note: Deprecated .visible-print as of v3.2.0\n.visible-print {\n  .responsive-invisibility();\n\n  @media print {\n    .responsive-visibility();\n  }\n}\n.visible-print-block {\n  display: none !important;\n\n  @media print {\n    display: block !important;\n  }\n}\n.visible-print-inline {\n  display: none !important;\n\n  @media print {\n    display: inline !important;\n  }\n}\n.visible-print-inline-block {\n  display: none !important;\n\n  @media print {\n    display: inline-block !important;\n  }\n}\n\n.hidden-print {\n  @media print {\n    .responsive-invisibility();\n  }\n}\n","// Responsive utilities\n\n//\n// More easily include all the states for responsive-utilities.less.\n.responsive-visibility() {\n  display: block !important;\n  table&  { display: table; }\n  tr&     { display: table-row !important; }\n  th&,\n  td&     { display: table-cell !important; }\n}\n\n.responsive-invisibility() {\n  display: none !important;\n}\n"]}
\ No newline at end of file
diff --git a/templates/shop-isle/assets/bootstrap/css/bootstrap.min.css b/templates/shop-isle/assets/bootstrap/css/bootstrap.min.css
new file mode 100644 (file)
index 0000000..cd1c616
--- /dev/null
@@ -0,0 +1,5 @@
+/*!
+ * Bootstrap v3.3.4 (http://getbootstrap.com)
+ * Copyright 2011-2015 Twitter, Inc.
+ * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
+ *//*! normalize.css v3.0.2 | MIT License | git.io/normalize */html{font-family:sans-serif;-webkit-text-size-adjust:100%;-ms-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,strong{font-weight:700}dfn{font-style:italic}h1{margin:.67em 0;font-size:2em}mark{color:#000;background:#ff0}small{font-size:80%}sub,sup{position:relative;font-size:75%;line-height:0;vertical-align:baseline}sup{top:-.5em}sub{bottom:-.25em}img{border:0}svg:not(:root){overflow:hidden}figure{margin:1em 40px}hr{height:0;-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box}pre{overflow:auto}code,kbd,pre,samp{font-family:monospace,monospace;font-size:1em}button,input,optgroup,select,textarea{margin:0;font:inherit;color:inherit}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{padding:0;border:0}input{line-height:normal}input[type=checkbox],input[type=radio]{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;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-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box;-webkit-appearance:textfield}input[type=search]::-webkit-search-cancel-button,input[type=search]::-webkit-search-decoration{-webkit-appearance:none}fieldset{padding:.35em .625em .75em;margin:0 2px;border:1px solid silver}legend{padding:0;border:0}textarea{overflow:auto}optgroup{font-weight:700}table{border-spacing:0;border-collapse:collapse}td,th{padding:0}/*! Source: https://github.com/h5bp/html5-boilerplate/blob/master/src/css/main.css */@media print{*,:after,:before{color:#000!important;text-shadow:none!important;background:0 0!important;-webkit-box-shadow:none!important;box-shadow:none!important}a,a:visited{text-decoration:underline}a[href]:after{content:" (" attr(href) ")"}abbr[title]:after{content:" (" attr(title) ")"}a[href^="javascript:"]:after,a[href^="#"]:after{content:""}blockquote,pre{border:1px solid #999;page-break-inside:avoid}thead{display:table-header-group}img,tr{page-break-inside:avoid}img{max-width:100%!important}h2,h3,p{orphans:3;widows:3}h2,h3{page-break-after:avoid}select{background:#fff!important}.navbar{display:none}.btn>.caret,.dropup>.btn>.caret{border-top-color:#000!important}.label{border:1px solid #000}.table{border-collapse:collapse!important}.table td,.table th{background-color:#fff!important}.table-bordered td,.table-bordered th{border:1px solid #ddd!important}}@font-face{font-family:'Glyphicons Halflings';src:url(../fonts/glyphicons-halflings-regular.eot);src:url(../fonts/glyphicons-halflings-regular.eot?#iefix) format('embedded-opentype'),url(../fonts/glyphicons-halflings-regular.woff2) format('woff2'),url(../fonts/glyphicons-halflings-regular.woff) format('woff'),url(../fonts/glyphicons-halflings-regular.ttf) format('truetype'),url(../fonts/glyphicons-halflings-regular.svg#glyphicons_halflingsregular) format('svg')}.glyphicon{position:relative;top:1px;display:inline-block;font-family:'Glyphicons Halflings';font-style:normal;font-weight:400;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.glyphicon-asterisk:before{content:"\2a"}.glyphicon-plus:before{content:"\2b"}.glyphicon-eur:before,.glyphicon-euro:before{content:"\20ac"}.glyphicon-minus:before{content:"\2212"}.glyphicon-cloud:before{content:"\2601"}.glyphicon-envelope:before{content:"\2709"}.glyphicon-pencil:before{content:"\270f"}.glyphicon-glass:before{content:"\e001"}.glyphicon-music:before{content:"\e002"}.glyphicon-search:before{content:"\e003"}.glyphicon-heart:before{content:"\e005"}.glyphicon-star:before{content:"\e006"}.glyphicon-star-empty:before{content:"\e007"}.glyphicon-user:before{content:"\e008"}.glyphicon-film:before{content:"\e009"}.glyphicon-th-large:before{content:"\e010"}.glyphicon-th:before{content:"\e011"}.glyphicon-th-list:before{content:"\e012"}.glyphicon-ok:before{content:"\e013"}.glyphicon-remove:before{content:"\e014"}.glyphicon-zoom-in:before{content:"\e015"}.glyphicon-zoom-out:before{content:"\e016"}.glyphicon-off:before{content:"\e017"}.glyphicon-signal:before{content:"\e018"}.glyphicon-cog:before{content:"\e019"}.glyphicon-trash:before{content:"\e020"}.glyphicon-home:before{content:"\e021"}.glyphicon-file:before{content:"\e022"}.glyphicon-time:before{content:"\e023"}.glyphicon-road:before{content:"\e024"}.glyphicon-download-alt:before{content:"\e025"}.glyphicon-download:before{content:"\e026"}.glyphicon-upload:before{content:"\e027"}.glyphicon-inbox:before{content:"\e028"}.glyphicon-play-circle:before{content:"\e029"}.glyphicon-repeat:before{content:"\e030"}.glyphicon-refresh:before{content:"\e031"}.glyphicon-list-alt:before{content:"\e032"}.glyphicon-lock:before{content:"\e033"}.glyphicon-flag:before{content:"\e034"}.glyphicon-headphones:before{content:"\e035"}.glyphicon-volume-off:before{content:"\e036"}.glyphicon-volume-down:before{content:"\e037"}.glyphicon-volume-up:before{content:"\e038"}.glyphicon-qrcode:before{content:"\e039"}.glyphicon-barcode:before{content:"\e040"}.glyphicon-tag:before{content:"\e041"}.glyphicon-tags:before{content:"\e042"}.glyphicon-book:before{content:"\e043"}.glyphicon-bookmark:before{content:"\e044"}.glyphicon-print:before{content:"\e045"}.glyphicon-camera:before{content:"\e046"}.glyphicon-font:before{content:"\e047"}.glyphicon-bold:before{content:"\e048"}.glyphicon-italic:before{content:"\e049"}.glyphicon-text-height:before{content:"\e050"}.glyphicon-text-width:before{content:"\e051"}.glyphicon-align-left:before{content:"\e052"}.glyphicon-align-center:before{content:"\e053"}.glyphicon-align-right:before{content:"\e054"}.glyphicon-align-justify:before{content:"\e055"}.glyphicon-list:before{content:"\e056"}.glyphicon-indent-left:before{content:"\e057"}.glyphicon-indent-right:before{content:"\e058"}.glyphicon-facetime-video:before{content:"\e059"}.glyphicon-picture:before{content:"\e060"}.glyphicon-map-marker:before{content:"\e062"}.glyphicon-adjust:before{content:"\e063"}.glyphicon-tint:before{content:"\e064"}.glyphicon-edit:before{content:"\e065"}.glyphicon-share:before{content:"\e066"}.glyphicon-check:before{content:"\e067"}.glyphicon-move:before{content:"\e068"}.glyphicon-step-backward:before{content:"\e069"}.glyphicon-fast-backward:before{content:"\e070"}.glyphicon-backward:before{content:"\e071"}.glyphicon-play:before{content:"\e072"}.glyphicon-pause:before{content:"\e073"}.glyphicon-stop:before{content:"\e074"}.glyphicon-forward:before{content:"\e075"}.glyphicon-fast-forward:before{content:"\e076"}.glyphicon-step-forward:before{content:"\e077"}.glyphicon-eject:before{content:"\e078"}.glyphicon-chevron-left:before{content:"\e079"}.glyphicon-chevron-right:before{content:"\e080"}.glyphicon-plus-sign:before{content:"\e081"}.glyphicon-minus-sign:before{content:"\e082"}.glyphicon-remove-sign:before{content:"\e083"}.glyphicon-ok-sign:before{content:"\e084"}.glyphicon-question-sign:before{content:"\e085"}.glyphicon-info-sign:before{content:"\e086"}.glyphicon-screenshot:before{content:"\e087"}.glyphicon-remove-circle:before{content:"\e088"}.glyphicon-ok-circle:before{content:"\e089"}.glyphicon-ban-circle:before{content:"\e090"}.glyphicon-arrow-left:before{content:"\e091"}.glyphicon-arrow-right:before{content:"\e092"}.glyphicon-arrow-up:before{content:"\e093"}.glyphicon-arrow-down:before{content:"\e094"}.glyphicon-share-alt:before{content:"\e095"}.glyphicon-resize-full:before{content:"\e096"}.glyphicon-resize-small:before{content:"\e097"}.glyphicon-exclamation-sign:before{content:"\e101"}.glyphicon-gift:before{content:"\e102"}.glyphicon-leaf:before{content:"\e103"}.glyphicon-fire:before{content:"\e104"}.glyphicon-eye-open:before{content:"\e105"}.glyphicon-eye-close:before{content:"\e106"}.glyphicon-warning-sign:before{content:"\e107"}.glyphicon-plane:before{content:"\e108"}.glyphicon-calendar:before{content:"\e109"}.glyphicon-random:before{content:"\e110"}.glyphicon-comment:before{content:"\e111"}.glyphicon-magnet:before{content:"\e112"}.glyphicon-chevron-up:before{content:"\e113"}.glyphicon-chevron-down:before{content:"\e114"}.glyphicon-retweet:before{content:"\e115"}.glyphicon-shopping-cart:before{content:"\e116"}.glyphicon-folder-close:before{content:"\e117"}.glyphicon-folder-open:before{content:"\e118"}.glyphicon-resize-vertical:before{content:"\e119"}.glyphicon-resize-horizontal:before{content:"\e120"}.glyphicon-hdd:before{content:"\e121"}.glyphicon-bullhorn:before{content:"\e122"}.glyphicon-bell:before{content:"\e123"}.glyphicon-certificate:before{content:"\e124"}.glyphicon-thumbs-up:before{content:"\e125"}.glyphicon-thumbs-down:before{content:"\e126"}.glyphicon-hand-right:before{content:"\e127"}.glyphicon-hand-left:before{content:"\e128"}.glyphicon-hand-up:before{content:"\e129"}.glyphicon-hand-down:before{content:"\e130"}.glyphicon-circle-arrow-right:before{content:"\e131"}.glyphicon-circle-arrow-left:before{content:"\e132"}.glyphicon-circle-arrow-up:before{content:"\e133"}.glyphicon-circle-arrow-down:before{content:"\e134"}.glyphicon-globe:before{content:"\e135"}.glyphicon-wrench:before{content:"\e136"}.glyphicon-tasks:before{content:"\e137"}.glyphicon-filter:before{content:"\e138"}.glyphicon-briefcase:before{content:"\e139"}.glyphicon-fullscreen:before{content:"\e140"}.glyphicon-dashboard:before{content:"\e141"}.glyphicon-paperclip:before{content:"\e142"}.glyphicon-heart-empty:before{content:"\e143"}.glyphicon-link:before{content:"\e144"}.glyphicon-phone:before{content:"\e145"}.glyphicon-pushpin:before{content:"\e146"}.glyphicon-usd:before{content:"\e148"}.glyphicon-gbp:before{content:"\e149"}.glyphicon-sort:before{content:"\e150"}.glyphicon-sort-by-alphabet:before{content:"\e151"}.glyphicon-sort-by-alphabet-alt:before{content:"\e152"}.glyphicon-sort-by-order:before{content:"\e153"}.glyphicon-sort-by-order-alt:before{content:"\e154"}.glyphicon-sort-by-attributes:before{content:"\e155"}.glyphicon-sort-by-attributes-alt:before{content:"\e156"}.glyphicon-unchecked:before{content:"\e157"}.glyphicon-expand:before{content:"\e158"}.glyphicon-collapse-down:before{content:"\e159"}.glyphicon-collapse-up:before{content:"\e160"}.glyphicon-log-in:before{content:"\e161"}.glyphicon-flash:before{content:"\e162"}.glyphicon-log-out:before{content:"\e163"}.glyphicon-new-window:before{content:"\e164"}.glyphicon-record:before{content:"\e165"}.glyphicon-save:before{content:"\e166"}.glyphicon-open:before{content:"\e167"}.glyphicon-saved:before{content:"\e168"}.glyphicon-import:before{content:"\e169"}.glyphicon-export:before{content:"\e170"}.glyphicon-send:before{content:"\e171"}.glyphicon-floppy-disk:before{content:"\e172"}.glyphicon-floppy-saved:before{content:"\e173"}.glyphicon-floppy-remove:before{content:"\e174"}.glyphicon-floppy-save:before{content:"\e175"}.glyphicon-floppy-open:before{content:"\e176"}.glyphicon-credit-card:before{content:"\e177"}.glyphicon-transfer:before{content:"\e178"}.glyphicon-cutlery:before{content:"\e179"}.glyphicon-header:before{content:"\e180"}.glyphicon-compressed:before{content:"\e181"}.glyphicon-earphone:before{content:"\e182"}.glyphicon-phone-alt:before{content:"\e183"}.glyphicon-tower:before{content:"\e184"}.glyphicon-stats:before{content:"\e185"}.glyphicon-sd-video:before{content:"\e186"}.glyphicon-hd-video:before{content:"\e187"}.glyphicon-subtitles:before{content:"\e188"}.glyphicon-sound-stereo:before{content:"\e189"}.glyphicon-sound-dolby:before{content:"\e190"}.glyphicon-sound-5-1:before{content:"\e191"}.glyphicon-sound-6-1:before{content:"\e192"}.glyphicon-sound-7-1:before{content:"\e193"}.glyphicon-copyright-mark:before{content:"\e194"}.glyphicon-registration-mark:before{content:"\e195"}.glyphicon-cloud-download:before{content:"\e197"}.glyphicon-cloud-upload:before{content:"\e198"}.glyphicon-tree-conifer:before{content:"\e199"}.glyphicon-tree-deciduous:before{content:"\e200"}.glyphicon-cd:before{content:"\e201"}.glyphicon-save-file:before{content:"\e202"}.glyphicon-open-file:before{content:"\e203"}.glyphicon-level-up:before{content:"\e204"}.glyphicon-copy:before{content:"\e205"}.glyphicon-paste:before{content:"\e206"}.glyphicon-alert:before{content:"\e209"}.glyphicon-equalizer:before{content:"\e210"}.glyphicon-king:before{content:"\e211"}.glyphicon-queen:before{content:"\e212"}.glyphicon-pawn:before{content:"\e213"}.glyphicon-bishop:before{content:"\e214"}.glyphicon-knight:before{content:"\e215"}.glyphicon-baby-formula:before{content:"\e216"}.glyphicon-tent:before{content:"\26fa"}.glyphicon-blackboard:before{content:"\e218"}.glyphicon-bed:before{content:"\e219"}.glyphicon-apple:before{content:"\f8ff"}.glyphicon-erase:before{content:"\e221"}.glyphicon-hourglass:before{content:"\231b"}.glyphicon-lamp:before{content:"\e223"}.glyphicon-duplicate:before{content:"\e224"}.glyphicon-piggy-bank:before{content:"\e225"}.glyphicon-scissors:before{content:"\e226"}.glyphicon-bitcoin:before{content:"\e227"}.glyphicon-btc:before{content:"\e227"}.glyphicon-xbt:before{content:"\e227"}.glyphicon-yen:before{content:"\00a5"}.glyphicon-jpy:before{content:"\00a5"}.glyphicon-ruble:before{content:"\20bd"}.glyphicon-rub:before{content:"\20bd"}.glyphicon-scale:before{content:"\e230"}.glyphicon-ice-lolly:before{content:"\e231"}.glyphicon-ice-lolly-tasted:before{content:"\e232"}.glyphicon-education:before{content:"\e233"}.glyphicon-option-horizontal:before{content:"\e234"}.glyphicon-option-vertical:before{content:"\e235"}.glyphicon-menu-hamburger:before{content:"\e236"}.glyphicon-modal-window:before{content:"\e237"}.glyphicon-oil:before{content:"\e238"}.glyphicon-grain:before{content:"\e239"}.glyphicon-sunglasses:before{content:"\e240"}.glyphicon-text-size:before{content:"\e241"}.glyphicon-text-color:before{content:"\e242"}.glyphicon-text-background:before{content:"\e243"}.glyphicon-object-align-top:before{content:"\e244"}.glyphicon-object-align-bottom:before{content:"\e245"}.glyphicon-object-align-horizontal:before{content:"\e246"}.glyphicon-object-align-left:before{content:"\e247"}.glyphicon-object-align-vertical:before{content:"\e248"}.glyphicon-object-align-right:before{content:"\e249"}.glyphicon-triangle-right:before{content:"\e250"}.glyphicon-triangle-left:before{content:"\e251"}.glyphicon-triangle-bottom:before{content:"\e252"}.glyphicon-triangle-top:before{content:"\e253"}.glyphicon-console:before{content:"\e254"}.glyphicon-superscript:before{content:"\e255"}.glyphicon-subscript:before{content:"\e256"}.glyphicon-menu-left:before{content:"\e257"}.glyphicon-menu-right:before{content:"\e258"}.glyphicon-menu-down:before{content:"\e259"}.glyphicon-menu-up:before{content:"\e260"}*{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}:after,:before{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}html{font-size:10px;-webkit-tap-highlight-color:rgba(0,0,0,0)}body{font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:14px;line-height:1.42857143;color:#333;background-color:#fff}button,input,select,textarea{font-family:inherit;font-size:inherit;line-height:inherit}a{color:#337ab7;text-decoration:none}a:focus,a:hover{color:#23527c;text-decoration:underline}a:focus{outline:thin dotted;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}figure{margin:0}img{vertical-align:middle}.carousel-inner>.item>a>img,.carousel-inner>.item>img,.img-responsive,.thumbnail a>img,.thumbnail>img{display:block;max-width:100%;height:auto}.img-rounded{border-radius:6px}.img-thumbnail{display:inline-block;max-width:100%;height:auto;padding:4px;line-height:1.42857143;background-color:#fff;border:1px solid #ddd;border-radius:4px;-webkit-transition:all .2s ease-in-out;-o-transition:all .2s ease-in-out;transition:all .2s ease-in-out}.img-circle{border-radius:50%}hr{margin-top:20px;margin-bottom:20px;border:0;border-top:1px solid #eee}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}.sr-only-focusable:active,.sr-only-focusable:focus{position:static;width:auto;height:auto;margin:0;overflow:visible;clip:auto}[role=button]{cursor:pointer}.h1,.h2,.h3,.h4,.h5,.h6,h1,h2,h3,h4,h5,h6{font-family:inherit;font-weight:500;line-height:1.1;color:inherit}.h1 .small,.h1 small,.h2 .small,.h2 small,.h3 .small,.h3 small,.h4 .small,.h4 small,.h5 .small,.h5 small,.h6 .small,.h6 small,h1 .small,h1 small,h2 .small,h2 small,h3 .small,h3 small,h4 .small,h4 small,h5 .small,h5 small,h6 .small,h6 small{font-weight:400;line-height:1;color:#777}.h1,.h2,.h3,h1,h2,h3{margin-top:20px;margin-bottom:10px}.h1 .small,.h1 small,.h2 .small,.h2 small,.h3 .small,.h3 small,h1 .small,h1 small,h2 .small,h2 small,h3 .small,h3 small{font-size:65%}.h4,.h5,.h6,h4,h5,h6{margin-top:10px;margin-bottom:10px}.h4 .small,.h4 small,.h5 .small,.h5 small,.h6 .small,.h6 small,h4 .small,h4 small,h5 .small,h5 small,h6 .small,h6 small{font-size:75%}.h1,h1{font-size:36px}.h2,h2{font-size:30px}.h3,h3{font-size:24px}.h4,h4{font-size:18px}.h5,h5{font-size:14px}.h6,h6{font-size:12px}p{margin:0 0 10px}.lead{margin-bottom:20px;font-size:16px;font-weight:300;line-height:1.4}@media (min-width:768px){.lead{font-size:21px}}.small,small{font-size:85%}.mark,mark{padding:.2em;background-color:#fcf8e3}.text-left{text-align:left}.text-right{text-align:right}.text-center{text-align:center}.text-justify{text-align:justify}.text-nowrap{white-space:nowrap}.text-lowercase{text-transform:lowercase}.text-uppercase{text-transform:uppercase}.text-capitalize{text-transform:capitalize}.text-muted{color:#777}.text-primary{color:#337ab7}a.text-primary:hover{color:#286090}.text-success{color:#3c763d}a.text-success:hover{color:#2b542c}.text-info{color:#31708f}a.text-info:hover{color:#245269}.text-warning{color:#8a6d3b}a.text-warning:hover{color:#66512c}.text-danger{color:#a94442}a.text-danger:hover{color:#843534}.bg-primary{color:#fff;background-color:#337ab7}a.bg-primary:hover{background-color:#286090}.bg-success{background-color:#dff0d8}a.bg-success:hover{background-color:#c1e2b3}.bg-info{background-color:#d9edf7}a.bg-info:hover{background-color:#afd9ee}.bg-warning{background-color:#fcf8e3}a.bg-warning:hover{background-color:#f7ecb5}.bg-danger{background-color:#f2dede}a.bg-danger:hover{background-color:#e4b9b9}.page-header{padding-bottom:9px;margin:40px 0 20px;border-bottom:1px solid #eee}ol,ul{margin-top:0;margin-bottom:10px}ol ol,ol ul,ul ol,ul ul{margin-bottom:0}.list-unstyled{padding-left:0;list-style:none}.list-inline{padding-left:0;margin-left:-5px;list-style:none}.list-inline>li{display:inline-block;padding-right:5px;padding-left:5px}dl{margin-top:0;margin-bottom:20px}dd,dt{line-height:1.42857143}dt{font-weight:700}dd{margin-left:0}@media (min-width:768px){.dl-horizontal dt{float:left;width:160px;overflow:hidden;clear:left;text-align:right;text-overflow:ellipsis;white-space:nowrap}.dl-horizontal dd{margin-left:180px}}abbr[data-original-title],abbr[title]{cursor:help;border-bottom:1px dotted #777}.initialism{font-size:90%;text-transform:uppercase}blockquote{padding:10px 20px;margin:0 0 20px;font-size:17.5px;border-left:5px solid #eee}blockquote ol:last-child,blockquote p:last-child,blockquote ul:last-child{margin-bottom:0}blockquote .small,blockquote footer,blockquote small{display:block;font-size:80%;line-height:1.42857143;color:#777}blockquote .small:before,blockquote footer:before,blockquote small:before{content:'\2014 \00A0'}.blockquote-reverse,blockquote.pull-right{padding-right:15px;padding-left:0;text-align:right;border-right:5px solid #eee;border-left:0}.blockquote-reverse .small:before,.blockquote-reverse footer:before,.blockquote-reverse small:before,blockquote.pull-right .small:before,blockquote.pull-right footer:before,blockquote.pull-right small:before{content:''}.blockquote-reverse .small:after,.blockquote-reverse footer:after,.blockquote-reverse small:after,blockquote.pull-right .small:after,blockquote.pull-right footer:after,blockquote.pull-right small:after{content:'\00A0 \2014'}address{margin-bottom:20px;font-style:normal;line-height:1.42857143}code,kbd,pre,samp{font-family:Menlo,Monaco,Consolas,"Courier New",monospace}code{padding:2px 4px;font-size:90%;color:#c7254e;background-color:#f9f2f4;border-radius:4px}kbd{padding:2px 4px;font-size:90%;color:#fff;background-color:#333;border-radius:3px;-webkit-box-shadow:inset 0 -1px 0 rgba(0,0,0,.25);box-shadow:inset 0 -1px 0 rgba(0,0,0,.25)}kbd kbd{padding:0;font-size:100%;font-weight:700;-webkit-box-shadow:none;box-shadow:none}pre{display:block;padding:9.5px;margin:0 0 10px;font-size:13px;line-height:1.42857143;color:#333;word-break:break-all;word-wrap:break-word;background-color:#f5f5f5;border:1px solid #ccc;border-radius:4px}pre code{padding:0;font-size:inherit;color:inherit;white-space:pre-wrap;background-color:transparent;border-radius:0}.pre-scrollable{max-height:340px;overflow-y:scroll}.container{padding-right:15px;padding-left:15px;margin-right:auto;margin-left:auto}@media (min-width:768px){.container{width:750px}}@media (min-width:992px){.container{width:970px}}@media (min-width:1200px){.container{width:1170px}}.container-fluid{padding-right:15px;padding-left:15px;margin-right:auto;margin-left:auto}.row{margin-right:-15px;margin-left:-15px}.col-lg-1,.col-lg-10,.col-lg-11,.col-lg-12,.col-lg-2,.col-lg-3,.col-lg-4,.col-lg-5,.col-lg-6,.col-lg-7,.col-lg-8,.col-lg-9,.col-md-1,.col-md-10,.col-md-11,.col-md-12,.col-md-2,.col-md-3,.col-md-4,.col-md-5,.col-md-6,.col-md-7,.col-md-8,.col-md-9,.col-sm-1,.col-sm-10,.col-sm-11,.col-sm-12,.col-sm-2,.col-sm-3,.col-sm-4,.col-sm-5,.col-sm-6,.col-sm-7,.col-sm-8,.col-sm-9,.col-xs-1,.col-xs-10,.col-xs-11,.col-xs-12,.col-xs-2,.col-xs-3,.col-xs-4,.col-xs-5,.col-xs-6,.col-xs-7,.col-xs-8,.col-xs-9{position:relative;min-height:1px;padding-right:15px;padding-left:15px}.col-xs-1,.col-xs-10,.col-xs-11,.col-xs-12,.col-xs-2,.col-xs-3,.col-xs-4,.col-xs-5,.col-xs-6,.col-xs-7,.col-xs-8,.col-xs-9{float:left}.col-xs-12{width:100%}.col-xs-11{width:91.66666667%}.col-xs-10{width:83.33333333%}.col-xs-9{width:75%}.col-xs-8{width:66.66666667%}.col-xs-7{width:58.33333333%}.col-xs-6{width:50%}.col-xs-5{width:41.66666667%}.col-xs-4{width:33.33333333%}.col-xs-3{width:25%}.col-xs-2{width:16.66666667%}.col-xs-1{width:8.33333333%}.col-xs-pull-12{right:100%}.col-xs-pull-11{right:91.66666667%}.col-xs-pull-10{right:83.33333333%}.col-xs-pull-9{right:75%}.col-xs-pull-8{right:66.66666667%}.col-xs-pull-7{right:58.33333333%}.col-xs-pull-6{right:50%}.col-xs-pull-5{right:41.66666667%}.col-xs-pull-4{right:33.33333333%}.col-xs-pull-3{right:25%}.col-xs-pull-2{right:16.66666667%}.col-xs-pull-1{right:8.33333333%}.col-xs-pull-0{right:auto}.col-xs-push-12{left:100%}.col-xs-push-11{left:91.66666667%}.col-xs-push-10{left:83.33333333%}.col-xs-push-9{left:75%}.col-xs-push-8{left:66.66666667%}.col-xs-push-7{left:58.33333333%}.col-xs-push-6{left:50%}.col-xs-push-5{left:41.66666667%}.col-xs-push-4{left:33.33333333%}.col-xs-push-3{left:25%}.col-xs-push-2{left:16.66666667%}.col-xs-push-1{left:8.33333333%}.col-xs-push-0{left:auto}.col-xs-offset-12{margin-left:100%}.col-xs-offset-11{margin-left:91.66666667%}.col-xs-offset-10{margin-left:83.33333333%}.col-xs-offset-9{margin-left:75%}.col-xs-offset-8{margin-left:66.66666667%}.col-xs-offset-7{margin-left:58.33333333%}.col-xs-offset-6{margin-left:50%}.col-xs-offset-5{margin-left:41.66666667%}.col-xs-offset-4{margin-left:33.33333333%}.col-xs-offset-3{margin-left:25%}.col-xs-offset-2{margin-left:16.66666667%}.col-xs-offset-1{margin-left:8.33333333%}.col-xs-offset-0{margin-left:0}@media (min-width:768px){.col-sm-1,.col-sm-10,.col-sm-11,.col-sm-12,.col-sm-2,.col-sm-3,.col-sm-4,.col-sm-5,.col-sm-6,.col-sm-7,.col-sm-8,.col-sm-9{float:left}.col-sm-12{width:100%}.col-sm-11{width:91.66666667%}.col-sm-10{width:83.33333333%}.col-sm-9{width:75%}.col-sm-8{width:66.66666667%}.col-sm-7{width:58.33333333%}.col-sm-6{width:50%}.col-sm-5{width:41.66666667%}.col-sm-4{width:33.33333333%}.col-sm-3{width:25%}.col-sm-2{width:16.66666667%}.col-sm-1{width:8.33333333%}.col-sm-pull-12{right:100%}.col-sm-pull-11{right:91.66666667%}.col-sm-pull-10{right:83.33333333%}.col-sm-pull-9{right:75%}.col-sm-pull-8{right:66.66666667%}.col-sm-pull-7{right:58.33333333%}.col-sm-pull-6{right:50%}.col-sm-pull-5{right:41.66666667%}.col-sm-pull-4{right:33.33333333%}.col-sm-pull-3{right:25%}.col-sm-pull-2{right:16.66666667%}.col-sm-pull-1{right:8.33333333%}.col-sm-pull-0{right:auto}.col-sm-push-12{left:100%}.col-sm-push-11{left:91.66666667%}.col-sm-push-10{left:83.33333333%}.col-sm-push-9{left:75%}.col-sm-push-8{left:66.66666667%}.col-sm-push-7{left:58.33333333%}.col-sm-push-6{left:50%}.col-sm-push-5{left:41.66666667%}.col-sm-push-4{left:33.33333333%}.col-sm-push-3{left:25%}.col-sm-push-2{left:16.66666667%}.col-sm-push-1{left:8.33333333%}.col-sm-push-0{left:auto}.col-sm-offset-12{margin-left:100%}.col-sm-offset-11{margin-left:91.66666667%}.col-sm-offset-10{margin-left:83.33333333%}.col-sm-offset-9{margin-left:75%}.col-sm-offset-8{margin-left:66.66666667%}.col-sm-offset-7{margin-left:58.33333333%}.col-sm-offset-6{margin-left:50%}.col-sm-offset-5{margin-left:41.66666667%}.col-sm-offset-4{margin-left:33.33333333%}.col-sm-offset-3{margin-left:25%}.col-sm-offset-2{margin-left:16.66666667%}.col-sm-offset-1{margin-left:8.33333333%}.col-sm-offset-0{margin-left:0}}@media (min-width:992px){.col-md-1,.col-md-10,.col-md-11,.col-md-12,.col-md-2,.col-md-3,.col-md-4,.col-md-5,.col-md-6,.col-md-7,.col-md-8,.col-md-9{float:left}.col-md-12{width:100%}.col-md-11{width:91.66666667%}.col-md-10{width:83.33333333%}.col-md-9{width:75%}.col-md-8{width:66.66666667%}.col-md-7{width:58.33333333%}.col-md-6{width:50%}.col-md-5{width:41.66666667%}.col-md-4{width:33.33333333%}.col-md-3{width:25%}.col-md-2{width:16.66666667%}.col-md-1{width:8.33333333%}.col-md-pull-12{right:100%}.col-md-pull-11{right:91.66666667%}.col-md-pull-10{right:83.33333333%}.col-md-pull-9{right:75%}.col-md-pull-8{right:66.66666667%}.col-md-pull-7{right:58.33333333%}.col-md-pull-6{right:50%}.col-md-pull-5{right:41.66666667%}.col-md-pull-4{right:33.33333333%}.col-md-pull-3{right:25%}.col-md-pull-2{right:16.66666667%}.col-md-pull-1{right:8.33333333%}.col-md-pull-0{right:auto}.col-md-push-12{left:100%}.col-md-push-11{left:91.66666667%}.col-md-push-10{left:83.33333333%}.col-md-push-9{left:75%}.col-md-push-8{left:66.66666667%}.col-md-push-7{left:58.33333333%}.col-md-push-6{left:50%}.col-md-push-5{left:41.66666667%}.col-md-push-4{left:33.33333333%}.col-md-push-3{left:25%}.col-md-push-2{left:16.66666667%}.col-md-push-1{left:8.33333333%}.col-md-push-0{left:auto}.col-md-offset-12{margin-left:100%}.col-md-offset-11{margin-left:91.66666667%}.col-md-offset-10{margin-left:83.33333333%}.col-md-offset-9{margin-left:75%}.col-md-offset-8{margin-left:66.66666667%}.col-md-offset-7{margin-left:58.33333333%}.col-md-offset-6{margin-left:50%}.col-md-offset-5{margin-left:41.66666667%}.col-md-offset-4{margin-left:33.33333333%}.col-md-offset-3{margin-left:25%}.col-md-offset-2{margin-left:16.66666667%}.col-md-offset-1{margin-left:8.33333333%}.col-md-offset-0{margin-left:0}}@media (min-width:1200px){.col-lg-1,.col-lg-10,.col-lg-11,.col-lg-12,.col-lg-2,.col-lg-3,.col-lg-4,.col-lg-5,.col-lg-6,.col-lg-7,.col-lg-8,.col-lg-9{float:left}.col-lg-12{width:100%}.col-lg-11{width:91.66666667%}.col-lg-10{width:83.33333333%}.col-lg-9{width:75%}.col-lg-8{width:66.66666667%}.col-lg-7{width:58.33333333%}.col-lg-6{width:50%}.col-lg-5{width:41.66666667%}.col-lg-4{width:33.33333333%}.col-lg-3{width:25%}.col-lg-2{width:16.66666667%}.col-lg-1{width:8.33333333%}.col-lg-pull-12{right:100%}.col-lg-pull-11{right:91.66666667%}.col-lg-pull-10{right:83.33333333%}.col-lg-pull-9{right:75%}.col-lg-pull-8{right:66.66666667%}.col-lg-pull-7{right:58.33333333%}.col-lg-pull-6{right:50%}.col-lg-pull-5{right:41.66666667%}.col-lg-pull-4{right:33.33333333%}.col-lg-pull-3{right:25%}.col-lg-pull-2{right:16.66666667%}.col-lg-pull-1{right:8.33333333%}.col-lg-pull-0{right:auto}.col-lg-push-12{left:100%}.col-lg-push-11{left:91.66666667%}.col-lg-push-10{left:83.33333333%}.col-lg-push-9{left:75%}.col-lg-push-8{left:66.66666667%}.col-lg-push-7{left:58.33333333%}.col-lg-push-6{left:50%}.col-lg-push-5{left:41.66666667%}.col-lg-push-4{left:33.33333333%}.col-lg-push-3{left:25%}.col-lg-push-2{left:16.66666667%}.col-lg-push-1{left:8.33333333%}.col-lg-push-0{left:auto}.col-lg-offset-12{margin-left:100%}.col-lg-offset-11{margin-left:91.66666667%}.col-lg-offset-10{margin-left:83.33333333%}.col-lg-offset-9{margin-left:75%}.col-lg-offset-8{margin-left:66.66666667%}.col-lg-offset-7{margin-left:58.33333333%}.col-lg-offset-6{margin-left:50%}.col-lg-offset-5{margin-left:41.66666667%}.col-lg-offset-4{margin-left:33.33333333%}.col-lg-offset-3{margin-left:25%}.col-lg-offset-2{margin-left:16.66666667%}.col-lg-offset-1{margin-left:8.33333333%}.col-lg-offset-0{margin-left:0}}table{background-color:transparent}caption{padding-top:8px;padding-bottom:8px;color:#777;text-align:left}th{text-align:left}.table{width:100%;max-width:100%;margin-bottom:20px}.table>tbody>tr>td,.table>tbody>tr>th,.table>tfoot>tr>td,.table>tfoot>tr>th,.table>thead>tr>td,.table>thead>tr>th{padding:8px;line-height:1.42857143;vertical-align:top;border-top:1px solid #ddd}.table>thead>tr>th{vertical-align:bottom;border-bottom:2px solid #ddd}.table>caption+thead>tr:first-child>td,.table>caption+thead>tr:first-child>th,.table>colgroup+thead>tr:first-child>td,.table>colgroup+thead>tr:first-child>th,.table>thead:first-child>tr:first-child>td,.table>thead:first-child>tr:first-child>th{border-top:0}.table>tbody+tbody{border-top:2px solid #ddd}.table .table{background-color:#fff}.table-condensed>tbody>tr>td,.table-condensed>tbody>tr>th,.table-condensed>tfoot>tr>td,.table-condensed>tfoot>tr>th,.table-condensed>thead>tr>td,.table-condensed>thead>tr>th{padding:5px}.table-bordered{border:1px solid #ddd}.table-bordered>tbody>tr>td,.table-bordered>tbody>tr>th,.table-bordered>tfoot>tr>td,.table-bordered>tfoot>tr>th,.table-bordered>thead>tr>td,.table-bordered>thead>tr>th{border:1px solid #ddd}.table-bordered>thead>tr>td,.table-bordered>thead>tr>th{border-bottom-width:2px}.table-striped>tbody>tr:nth-of-type(odd){background-color:#f9f9f9}.table-hover>tbody>tr:hover{background-color:#f5f5f5}table col[class*=col-]{position:static;display:table-column;float:none}table td[class*=col-],table th[class*=col-]{position:static;display:table-cell;float:none}.table>tbody>tr.active>td,.table>tbody>tr.active>th,.table>tbody>tr>td.active,.table>tbody>tr>th.active,.table>tfoot>tr.active>td,.table>tfoot>tr.active>th,.table>tfoot>tr>td.active,.table>tfoot>tr>th.active,.table>thead>tr.active>td,.table>thead>tr.active>th,.table>thead>tr>td.active,.table>thead>tr>th.active{background-color:#f5f5f5}.table-hover>tbody>tr.active:hover>td,.table-hover>tbody>tr.active:hover>th,.table-hover>tbody>tr:hover>.active,.table-hover>tbody>tr>td.active:hover,.table-hover>tbody>tr>th.active:hover{background-color:#e8e8e8}.table>tbody>tr.success>td,.table>tbody>tr.success>th,.table>tbody>tr>td.success,.table>tbody>tr>th.success,.table>tfoot>tr.success>td,.table>tfoot>tr.success>th,.table>tfoot>tr>td.success,.table>tfoot>tr>th.success,.table>thead>tr.success>td,.table>thead>tr.success>th,.table>thead>tr>td.success,.table>thead>tr>th.success{background-color:#dff0d8}.table-hover>tbody>tr.success:hover>td,.table-hover>tbody>tr.success:hover>th,.table-hover>tbody>tr:hover>.success,.table-hover>tbody>tr>td.success:hover,.table-hover>tbody>tr>th.success:hover{background-color:#d0e9c6}.table>tbody>tr.info>td,.table>tbody>tr.info>th,.table>tbody>tr>td.info,.table>tbody>tr>th.info,.table>tfoot>tr.info>td,.table>tfoot>tr.info>th,.table>tfoot>tr>td.info,.table>tfoot>tr>th.info,.table>thead>tr.info>td,.table>thead>tr.info>th,.table>thead>tr>td.info,.table>thead>tr>th.info{background-color:#d9edf7}.table-hover>tbody>tr.info:hover>td,.table-hover>tbody>tr.info:hover>th,.table-hover>tbody>tr:hover>.info,.table-hover>tbody>tr>td.info:hover,.table-hover>tbody>tr>th.info:hover{background-color:#c4e3f3}.table>tbody>tr.warning>td,.table>tbody>tr.warning>th,.table>tbody>tr>td.warning,.table>tbody>tr>th.warning,.table>tfoot>tr.warning>td,.table>tfoot>tr.warning>th,.table>tfoot>tr>td.warning,.table>tfoot>tr>th.warning,.table>thead>tr.warning>td,.table>thead>tr.warning>th,.table>thead>tr>td.warning,.table>thead>tr>th.warning{background-color:#fcf8e3}.table-hover>tbody>tr.warning:hover>td,.table-hover>tbody>tr.warning:hover>th,.table-hover>tbody>tr:hover>.warning,.table-hover>tbody>tr>td.warning:hover,.table-hover>tbody>tr>th.warning:hover{background-color:#faf2cc}.table>tbody>tr.danger>td,.table>tbody>tr.danger>th,.table>tbody>tr>td.danger,.table>tbody>tr>th.danger,.table>tfoot>tr.danger>td,.table>tfoot>tr.danger>th,.table>tfoot>tr>td.danger,.table>tfoot>tr>th.danger,.table>thead>tr.danger>td,.table>thead>tr.danger>th,.table>thead>tr>td.danger,.table>thead>tr>th.danger{background-color:#f2dede}.table-hover>tbody>tr.danger:hover>td,.table-hover>tbody>tr.danger:hover>th,.table-hover>tbody>tr:hover>.danger,.table-hover>tbody>tr>td.danger:hover,.table-hover>tbody>tr>th.danger:hover{background-color:#ebcccc}.table-responsive{min-height:.01%;overflow-x:auto}@media screen and (max-width:767px){.table-responsive{width:100%;margin-bottom:15px;overflow-y:hidden;-ms-overflow-style:-ms-autohiding-scrollbar;border:1px solid #ddd}.table-responsive>.table{margin-bottom:0}.table-responsive>.table>tbody>tr>td,.table-responsive>.table>tbody>tr>th,.table-responsive>.table>tfoot>tr>td,.table-responsive>.table>tfoot>tr>th,.table-responsive>.table>thead>tr>td,.table-responsive>.table>thead>tr>th{white-space:nowrap}.table-responsive>.table-bordered{border:0}.table-responsive>.table-bordered>tbody>tr>td:first-child,.table-responsive>.table-bordered>tbody>tr>th:first-child,.table-responsive>.table-bordered>tfoot>tr>td:first-child,.table-responsive>.table-bordered>tfoot>tr>th:first-child,.table-responsive>.table-bordered>thead>tr>td:first-child,.table-responsive>.table-bordered>thead>tr>th:first-child{border-left:0}.table-responsive>.table-bordered>tbody>tr>td:last-child,.table-responsive>.table-bordered>tbody>tr>th:last-child,.table-responsive>.table-bordered>tfoot>tr>td:last-child,.table-responsive>.table-bordered>tfoot>tr>th:last-child,.table-responsive>.table-bordered>thead>tr>td:last-child,.table-responsive>.table-bordered>thead>tr>th:last-child{border-right:0}.table-responsive>.table-bordered>tbody>tr:last-child>td,.table-responsive>.table-bordered>tbody>tr:last-child>th,.table-responsive>.table-bordered>tfoot>tr:last-child>td,.table-responsive>.table-bordered>tfoot>tr:last-child>th{border-bottom:0}}fieldset{min-width:0;padding:0;margin:0;border:0}legend{display:block;width:100%;padding:0;margin-bottom:20px;font-size:21px;line-height:inherit;color:#333;border:0;border-bottom:1px solid #e5e5e5}label{display:inline-block;max-width:100%;margin-bottom:5px;font-weight:700}input[type=search]{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}input[type=checkbox],input[type=radio]{margin:4px 0 0;margin-top:1px \9;line-height:normal}input[type=file]{display:block}input[type=range]{display:block;width:100%}select[multiple],select[size]{height:auto}input[type=file]:focus,input[type=checkbox]:focus,input[type=radio]:focus{outline:thin dotted;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}output{display:block;padding-top:7px;font-size:14px;line-height:1.42857143;color:#555}.form-control{display:block;width:100%;height:34px;padding:6px 12px;font-size:14px;line-height:1.42857143;color:#555;background-color:#fff;background-image:none;border:1px solid #ccc;border-radius:4px;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075);-webkit-transition:border-color ease-in-out .15s,-webkit-box-shadow ease-in-out .15s;-o-transition:border-color ease-in-out .15s,box-shadow ease-in-out .15s;transition:border-color ease-in-out .15s,box-shadow ease-in-out .15s}.form-control:focus{border-color:#66afe9;outline:0;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(102,175,233,.6);box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(102,175,233,.6)}.form-control::-moz-placeholder{color:#999;opacity:1}.form-control:-ms-input-placeholder{color:#999}.form-control::-webkit-input-placeholder{color:#999}.form-control[disabled],.form-control[readonly],fieldset[disabled] .form-control{background-color:#eee;opacity:1}.form-control[disabled],fieldset[disabled] .form-control{cursor:not-allowed}textarea.form-control{height:auto}input[type=search]{-webkit-appearance:none}@media screen and (-webkit-min-device-pixel-ratio:0){input[type=date],input[type=time],input[type=datetime-local],input[type=month]{line-height:34px}.input-group-sm input[type=date],.input-group-sm input[type=time],.input-group-sm input[type=datetime-local],.input-group-sm input[type=month],input[type=date].input-sm,input[type=time].input-sm,input[type=datetime-local].input-sm,input[type=month].input-sm{line-height:30px}.input-group-lg input[type=date],.input-group-lg input[type=time],.input-group-lg input[type=datetime-local],.input-group-lg input[type=month],input[type=date].input-lg,input[type=time].input-lg,input[type=datetime-local].input-lg,input[type=month].input-lg{line-height:46px}}.form-group{margin-bottom:15px}.checkbox,.radio{position:relative;display:block;margin-top:10px;margin-bottom:10px}.checkbox label,.radio label{min-height:20px;padding-left:20px;margin-bottom:0;font-weight:400;cursor:pointer}.checkbox input[type=checkbox],.checkbox-inline input[type=checkbox],.radio input[type=radio],.radio-inline input[type=radio]{position:absolute;margin-top:4px \9;margin-left:-20px}.checkbox+.checkbox,.radio+.radio{margin-top:-5px}.checkbox-inline,.radio-inline{position:relative;display:inline-block;padding-left:20px;margin-bottom:0;font-weight:400;vertical-align:middle;cursor:pointer}.checkbox-inline+.checkbox-inline,.radio-inline+.radio-inline{margin-top:0;margin-left:10px}fieldset[disabled] input[type=checkbox],fieldset[disabled] input[type=radio],input[type=checkbox].disabled,input[type=checkbox][disabled],input[type=radio].disabled,input[type=radio][disabled]{cursor:not-allowed}.checkbox-inline.disabled,.radio-inline.disabled,fieldset[disabled] .checkbox-inline,fieldset[disabled] .radio-inline{cursor:not-allowed}.checkbox.disabled label,.radio.disabled label,fieldset[disabled] .checkbox label,fieldset[disabled] .radio label{cursor:not-allowed}.form-control-static{min-height:34px;padding-top:7px;padding-bottom:7px;margin-bottom:0}.form-control-static.input-lg,.form-control-static.input-sm{padding-right:0;padding-left:0}.input-sm{height:30px;padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}select.input-sm{height:30px;line-height:30px}select[multiple].input-sm,textarea.input-sm{height:auto}.form-group-sm .form-control{height:30px;padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}select.form-group-sm .form-control{height:30px;line-height:30px}select[multiple].form-group-sm .form-control,textarea.form-group-sm .form-control{height:auto}.form-group-sm .form-control-static{height:30px;min-height:32px;padding:5px 10px;font-size:12px;line-height:1.5}.input-lg{height:46px;padding:10px 16px;font-size:18px;line-height:1.3333333;border-radius:6px}select.input-lg{height:46px;line-height:46px}select[multiple].input-lg,textarea.input-lg{height:auto}.form-group-lg .form-control{height:46px;padding:10px 16px;font-size:18px;line-height:1.3333333;border-radius:6px}select.form-group-lg .form-control{height:46px;line-height:46px}select[multiple].form-group-lg .form-control,textarea.form-group-lg .form-control{height:auto}.form-group-lg .form-control-static{height:46px;min-height:38px;padding:10px 16px;font-size:18px;line-height:1.3333333}.has-feedback{position:relative}.has-feedback .form-control{padding-right:42.5px}.form-control-feedback{position:absolute;top:0;right:0;z-index:2;display:block;width:34px;height:34px;line-height:34px;text-align:center;pointer-events:none}.input-lg+.form-control-feedback{width:46px;height:46px;line-height:46px}.input-sm+.form-control-feedback{width:30px;height:30px;line-height:30px}.has-success .checkbox,.has-success .checkbox-inline,.has-success .control-label,.has-success .help-block,.has-success .radio,.has-success .radio-inline,.has-success.checkbox label,.has-success.checkbox-inline label,.has-success.radio label,.has-success.radio-inline label{color:#3c763d}.has-success .form-control{border-color:#3c763d;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075)}.has-success .form-control:focus{border-color:#2b542c;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #67b168;box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #67b168}.has-success .input-group-addon{color:#3c763d;background-color:#dff0d8;border-color:#3c763d}.has-success .form-control-feedback{color:#3c763d}.has-warning .checkbox,.has-warning .checkbox-inline,.has-warning .control-label,.has-warning .help-block,.has-warning .radio,.has-warning .radio-inline,.has-warning.checkbox label,.has-warning.checkbox-inline label,.has-warning.radio label,.has-warning.radio-inline label{color:#8a6d3b}.has-warning .form-control{border-color:#8a6d3b;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075)}.has-warning .form-control:focus{border-color:#66512c;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #c0a16b;box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #c0a16b}.has-warning .input-group-addon{color:#8a6d3b;background-color:#fcf8e3;border-color:#8a6d3b}.has-warning .form-control-feedback{color:#8a6d3b}.has-error .checkbox,.has-error .checkbox-inline,.has-error .control-label,.has-error .help-block,.has-error .radio,.has-error .radio-inline,.has-error.checkbox label,.has-error.checkbox-inline label,.has-error.radio label,.has-error.radio-inline label{color:#a94442}.has-error .form-control{border-color:#a94442;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075)}.has-error .form-control:focus{border-color:#843534;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #ce8483;box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #ce8483}.has-error .input-group-addon{color:#a94442;background-color:#f2dede;border-color:#a94442}.has-error .form-control-feedback{color:#a94442}.has-feedback label~.form-control-feedback{top:25px}.has-feedback label.sr-only~.form-control-feedback{top:0}.help-block{display:block;margin-top:5px;margin-bottom:10px;color:#737373}@media (min-width:768px){.form-inline .form-group{display:inline-block;margin-bottom:0;vertical-align:middle}.form-inline .form-control{display:inline-block;width:auto;vertical-align:middle}.form-inline .form-control-static{display:inline-block}.form-inline .input-group{display:inline-table;vertical-align:middle}.form-inline .input-group .form-control,.form-inline .input-group .input-group-addon,.form-inline .input-group .input-group-btn{width:auto}.form-inline .input-group>.form-control{width:100%}.form-inline .control-label{margin-bottom:0;vertical-align:middle}.form-inline .checkbox,.form-inline .radio{display:inline-block;margin-top:0;margin-bottom:0;vertical-align:middle}.form-inline .checkbox label,.form-inline .radio label{padding-left:0}.form-inline .checkbox input[type=checkbox],.form-inline .radio input[type=radio]{position:relative;margin-left:0}.form-inline .has-feedback .form-control-feedback{top:0}}.form-horizontal .checkbox,.form-horizontal .checkbox-inline,.form-horizontal .radio,.form-horizontal .radio-inline{padding-top:7px;margin-top:0;margin-bottom:0}.form-horizontal .checkbox,.form-horizontal .radio{min-height:27px}.form-horizontal .form-group{margin-right:-15px;margin-left:-15px}@media (min-width:768px){.form-horizontal .control-label{padding-top:7px;margin-bottom:0;text-align:right}}.form-horizontal .has-feedback .form-control-feedback{right:15px}@media (min-width:768px){.form-horizontal .form-group-lg .control-label{padding-top:14.33px}}@media (min-width:768px){.form-horizontal .form-group-sm .control-label{padding-top:6px}}.btn{display:inline-block;padding:6px 12px;margin-bottom:0;font-size:14px;font-weight:400;line-height:1.42857143;text-align:center;white-space:nowrap;vertical-align:middle;-ms-touch-action:manipulation;touch-action:manipulation;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;background-image:none;border:1px solid transparent;border-radius:4px}.btn.active.focus,.btn.active:focus,.btn.focus,.btn:active.focus,.btn:active:focus,.btn:focus{outline:thin dotted;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}.btn.focus,.btn:focus,.btn:hover{color:#333;text-decoration:none}.btn.active,.btn:active{background-image:none;outline:0;-webkit-box-shadow:inset 0 3px 5px rgba(0,0,0,.125);box-shadow:inset 0 3px 5px rgba(0,0,0,.125)}.btn.disabled,.btn[disabled],fieldset[disabled] .btn{pointer-events:none;cursor:not-allowed;filter:alpha(opacity=65);-webkit-box-shadow:none;box-shadow:none;opacity:.65}.btn-default{color:#333;background-color:#fff;border-color:#ccc}.btn-default.active,.btn-default.focus,.btn-default:active,.btn-default:focus,.btn-default:hover,.open>.dropdown-toggle.btn-default{color:#333;background-color:#e6e6e6;border-color:#adadad}.btn-default.active,.btn-default:active,.open>.dropdown-toggle.btn-default{background-image:none}.btn-default.disabled,.btn-default.disabled.active,.btn-default.disabled.focus,.btn-default.disabled:active,.btn-default.disabled:focus,.btn-default.disabled:hover,.btn-default[disabled],.btn-default[disabled].active,.btn-default[disabled].focus,.btn-default[disabled]:active,.btn-default[disabled]:focus,.btn-default[disabled]:hover,fieldset[disabled] .btn-default,fieldset[disabled] .btn-default.active,fieldset[disabled] .btn-default.focus,fieldset[disabled] .btn-default:active,fieldset[disabled] .btn-default:focus,fieldset[disabled] .btn-default:hover{background-color:#fff;border-color:#ccc}.btn-default .badge{color:#fff;background-color:#333}.btn-primary{color:#fff;background-color:#337ab7;border-color:#2e6da4}.btn-primary.active,.btn-primary.focus,.btn-primary:active,.btn-primary:focus,.btn-primary:hover,.open>.dropdown-toggle.btn-primary{color:#fff;background-color:#286090;border-color:#204d74}.btn-primary.active,.btn-primary:active,.open>.dropdown-toggle.btn-primary{background-image:none}.btn-primary.disabled,.btn-primary.disabled.active,.btn-primary.disabled.focus,.btn-primary.disabled:active,.btn-primary.disabled:focus,.btn-primary.disabled:hover,.btn-primary[disabled],.btn-primary[disabled].active,.btn-primary[disabled].focus,.btn-primary[disabled]:active,.btn-primary[disabled]:focus,.btn-primary[disabled]:hover,fieldset[disabled] .btn-primary,fieldset[disabled] .btn-primary.active,fieldset[disabled] .btn-primary.focus,fieldset[disabled] .btn-primary:active,fieldset[disabled] .btn-primary:focus,fieldset[disabled] .btn-primary:hover{background-color:#337ab7;border-color:#2e6da4}.btn-primary .badge{color:#337ab7;background-color:#fff}.btn-success{color:#fff;background-color:#5cb85c;border-color:#4cae4c}.btn-success.active,.btn-success.focus,.btn-success:active,.btn-success:focus,.btn-success:hover,.open>.dropdown-toggle.btn-success{color:#fff;background-color:#449d44;border-color:#398439}.btn-success.active,.btn-success:active,.open>.dropdown-toggle.btn-success{background-image:none}.btn-success.disabled,.btn-success.disabled.active,.btn-success.disabled.focus,.btn-success.disabled:active,.btn-success.disabled:focus,.btn-success.disabled:hover,.btn-success[disabled],.btn-success[disabled].active,.btn-success[disabled].focus,.btn-success[disabled]:active,.btn-success[disabled]:focus,.btn-success[disabled]:hover,fieldset[disabled] .btn-success,fieldset[disabled] .btn-success.active,fieldset[disabled] .btn-success.focus,fieldset[disabled] .btn-success:active,fieldset[disabled] .btn-success:focus,fieldset[disabled] .btn-success:hover{background-color:#5cb85c;border-color:#4cae4c}.btn-success .badge{color:#5cb85c;background-color:#fff}.btn-info{color:#fff;background-color:#5bc0de;border-color:#46b8da}.btn-info.active,.btn-info.focus,.btn-info:active,.btn-info:focus,.btn-info:hover,.open>.dropdown-toggle.btn-info{color:#fff;background-color:#31b0d5;border-color:#269abc}.btn-info.active,.btn-info:active,.open>.dropdown-toggle.btn-info{background-image:none}.btn-info.disabled,.btn-info.disabled.active,.btn-info.disabled.focus,.btn-info.disabled:active,.btn-info.disabled:focus,.btn-info.disabled:hover,.btn-info[disabled],.btn-info[disabled].active,.btn-info[disabled].focus,.btn-info[disabled]:active,.btn-info[disabled]:focus,.btn-info[disabled]:hover,fieldset[disabled] .btn-info,fieldset[disabled] .btn-info.active,fieldset[disabled] .btn-info.focus,fieldset[disabled] .btn-info:active,fieldset[disabled] .btn-info:focus,fieldset[disabled] .btn-info:hover{background-color:#5bc0de;border-color:#46b8da}.btn-info .badge{color:#5bc0de;background-color:#fff}.btn-warning{color:#fff;background-color:#f0ad4e;border-color:#eea236}.btn-warning.active,.btn-warning.focus,.btn-warning:active,.btn-warning:focus,.btn-warning:hover,.open>.dropdown-toggle.btn-warning{color:#fff;background-color:#ec971f;border-color:#d58512}.btn-warning.active,.btn-warning:active,.open>.dropdown-toggle.btn-warning{background-image:none}.btn-warning.disabled,.btn-warning.disabled.active,.btn-warning.disabled.focus,.btn-warning.disabled:active,.btn-warning.disabled:focus,.btn-warning.disabled:hover,.btn-warning[disabled],.btn-warning[disabled].active,.btn-warning[disabled].focus,.btn-warning[disabled]:active,.btn-warning[disabled]:focus,.btn-warning[disabled]:hover,fieldset[disabled] .btn-warning,fieldset[disabled] .btn-warning.active,fieldset[disabled] .btn-warning.focus,fieldset[disabled] .btn-warning:active,fieldset[disabled] .btn-warning:focus,fieldset[disabled] .btn-warning:hover{background-color:#f0ad4e;border-color:#eea236}.btn-warning .badge{color:#f0ad4e;background-color:#fff}.btn-danger{color:#fff;background-color:#d9534f;border-color:#d43f3a}.btn-danger.active,.btn-danger.focus,.btn-danger:active,.btn-danger:focus,.btn-danger:hover,.open>.dropdown-toggle.btn-danger{color:#fff;background-color:#c9302c;border-color:#ac2925}.btn-danger.active,.btn-danger:active,.open>.dropdown-toggle.btn-danger{background-image:none}.btn-danger.disabled,.btn-danger.disabled.active,.btn-danger.disabled.focus,.btn-danger.disabled:active,.btn-danger.disabled:focus,.btn-danger.disabled:hover,.btn-danger[disabled],.btn-danger[disabled].active,.btn-danger[disabled].focus,.btn-danger[disabled]:active,.btn-danger[disabled]:focus,.btn-danger[disabled]:hover,fieldset[disabled] .btn-danger,fieldset[disabled] .btn-danger.active,fieldset[disabled] .btn-danger.focus,fieldset[disabled] .btn-danger:active,fieldset[disabled] .btn-danger:focus,fieldset[disabled] .btn-danger:hover{background-color:#d9534f;border-color:#d43f3a}.btn-danger .badge{color:#d9534f;background-color:#fff}.btn-link{font-weight:400;color:#337ab7;border-radius:0}.btn-link,.btn-link.active,.btn-link:active,.btn-link[disabled],fieldset[disabled] .btn-link{background-color:transparent;-webkit-box-shadow:none;box-shadow:none}.btn-link,.btn-link:active,.btn-link:focus,.btn-link:hover{border-color:transparent}.btn-link:focus,.btn-link:hover{color:#23527c;text-decoration:underline;background-color:transparent}.btn-link[disabled]:focus,.btn-link[disabled]:hover,fieldset[disabled] .btn-link:focus,fieldset[disabled] .btn-link:hover{color:#777;text-decoration:none}.btn-group-lg>.btn,.btn-lg{padding:10px 16px;font-size:18px;line-height:1.3333333;border-radius:6px}.btn-group-sm>.btn,.btn-sm{padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}.btn-group-xs>.btn,.btn-xs{padding:1px 5px;font-size:12px;line-height:1.5;border-radius:3px}.btn-block{display:block;width:100%}.btn-block+.btn-block{margin-top:5px}input[type=button].btn-block,input[type=reset].btn-block,input[type=submit].btn-block{width:100%}.fade{opacity:0;-webkit-transition:opacity .15s linear;-o-transition:opacity .15s linear;transition:opacity .15s linear}.fade.in{opacity:1}.collapse{display:none}.collapse.in{display:block}tr.collapse.in{display:table-row}tbody.collapse.in{display:table-row-group}.collapsing{position:relative;height:0;overflow:hidden;-webkit-transition-timing-function:ease;-o-transition-timing-function:ease;transition-timing-function:ease;-webkit-transition-duration:.35s;-o-transition-duration:.35s;transition-duration:.35s;-webkit-transition-property:height,visibility;-o-transition-property:height,visibility;transition-property:height,visibility}.caret{display:inline-block;width:0;height:0;margin-left:2px;vertical-align:middle;border-top:4px dashed;border-right:4px solid transparent;border-left:4px solid transparent}.dropdown,.dropup{position:relative}.dropdown-toggle:focus{outline:0}.dropdown-menu{position:absolute;top:100%;left:0;z-index:1000;display:none;float:left;min-width:160px;padding:5px 0;margin:2px 0 0;font-size:14px;text-align:left;list-style:none;background-color:#fff;-webkit-background-clip:padding-box;background-clip:padding-box;border:1px solid #ccc;border:1px solid rgba(0,0,0,.15);border-radius:4px;-webkit-box-shadow:0 6px 12px rgba(0,0,0,.175);box-shadow:0 6px 12px rgba(0,0,0,.175)}.dropdown-menu.pull-right{right:0;left:auto}.dropdown-menu .divider{height:1px;margin:9px 0;overflow:hidden;background-color:#e5e5e5}.dropdown-menu>li>a{display:block;padding:3px 20px;clear:both;font-weight:400;line-height:1.42857143;color:#333;white-space:nowrap}.dropdown-menu>li>a:focus,.dropdown-menu>li>a:hover{color:#262626;text-decoration:none;background-color:#f5f5f5}.dropdown-menu>.active>a,.dropdown-menu>.active>a:focus,.dropdown-menu>.active>a:hover{color:#fff;text-decoration:none;background-color:#337ab7;outline:0}.dropdown-menu>.disabled>a,.dropdown-menu>.disabled>a:focus,.dropdown-menu>.disabled>a:hover{color:#777}.dropdown-menu>.disabled>a:focus,.dropdown-menu>.disabled>a:hover{text-decoration:none;cursor:not-allowed;background-color:transparent;background-image:none;filter:progid:DXImageTransform.Microsoft.gradient(enabled=false)}.open>.dropdown-menu{display:block}.open>a{outline:0}.dropdown-menu-right{right:0;left:auto}.dropdown-menu-left{right:auto;left:0}.dropdown-header{display:block;padding:3px 20px;font-size:12px;line-height:1.42857143;color:#777;white-space:nowrap}.dropdown-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:990}.pull-right>.dropdown-menu{right:0;left:auto}.dropup .caret,.navbar-fixed-bottom .dropdown .caret{content:"";border-top:0;border-bottom:4px solid}.dropup .dropdown-menu,.navbar-fixed-bottom .dropdown .dropdown-menu{top:auto;bottom:100%;margin-bottom:2px}@media (min-width:768px){.navbar-right .dropdown-menu{right:0;left:auto}.navbar-right .dropdown-menu-left{right:auto;left:0}}.btn-group,.btn-group-vertical{position:relative;display:inline-block;vertical-align:middle}.btn-group-vertical>.btn,.btn-group>.btn{position:relative;float:left}.btn-group-vertical>.btn.active,.btn-group-vertical>.btn:active,.btn-group-vertical>.btn:focus,.btn-group-vertical>.btn:hover,.btn-group>.btn.active,.btn-group>.btn:active,.btn-group>.btn:focus,.btn-group>.btn:hover{z-index:2}.btn-group .btn+.btn,.btn-group .btn+.btn-group,.btn-group .btn-group+.btn,.btn-group .btn-group+.btn-group{margin-left:-1px}.btn-toolbar{margin-left:-5px}.btn-toolbar .btn-group,.btn-toolbar .input-group{float:left}.btn-toolbar>.btn,.btn-toolbar>.btn-group,.btn-toolbar>.input-group{margin-left:5px}.btn-group>.btn:not(:first-child):not(:last-child):not(.dropdown-toggle){border-radius:0}.btn-group>.btn:first-child{margin-left:0}.btn-group>.btn:first-child:not(:last-child):not(.dropdown-toggle){border-top-right-radius:0;border-bottom-right-radius:0}.btn-group>.btn:last-child:not(:first-child),.btn-group>.dropdown-toggle:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0}.btn-group>.btn-group{float:left}.btn-group>.btn-group:not(:first-child):not(:last-child)>.btn{border-radius:0}.btn-group>.btn-group:first-child:not(:last-child)>.btn:last-child,.btn-group>.btn-group:first-child:not(:last-child)>.dropdown-toggle{border-top-right-radius:0;border-bottom-right-radius:0}.btn-group>.btn-group:last-child:not(:first-child)>.btn:first-child{border-top-left-radius:0;border-bottom-left-radius:0}.btn-group .dropdown-toggle:active,.btn-group.open .dropdown-toggle{outline:0}.btn-group>.btn+.dropdown-toggle{padding-right:8px;padding-left:8px}.btn-group>.btn-lg+.dropdown-toggle{padding-right:12px;padding-left:12px}.btn-group.open .dropdown-toggle{-webkit-box-shadow:inset 0 3px 5px rgba(0,0,0,.125);box-shadow:inset 0 3px 5px rgba(0,0,0,.125)}.btn-group.open .dropdown-toggle.btn-link{-webkit-box-shadow:none;box-shadow:none}.btn .caret{margin-left:0}.btn-lg .caret{border-width:5px 5px 0;border-bottom-width:0}.dropup .btn-lg .caret{border-width:0 5px 5px}.btn-group-vertical>.btn,.btn-group-vertical>.btn-group,.btn-group-vertical>.btn-group>.btn{display:block;float:none;width:100%;max-width:100%}.btn-group-vertical>.btn-group>.btn{float:none}.btn-group-vertical>.btn+.btn,.btn-group-vertical>.btn+.btn-group,.btn-group-vertical>.btn-group+.btn,.btn-group-vertical>.btn-group+.btn-group{margin-top:-1px;margin-left:0}.btn-group-vertical>.btn:not(:first-child):not(:last-child){border-radius:0}.btn-group-vertical>.btn:first-child:not(:last-child){border-top-right-radius:4px;border-bottom-right-radius:0;border-bottom-left-radius:0}.btn-group-vertical>.btn:last-child:not(:first-child){border-top-left-radius:0;border-top-right-radius:0;border-bottom-left-radius:4px}.btn-group-vertical>.btn-group:not(:first-child):not(:last-child)>.btn{border-radius:0}.btn-group-vertical>.btn-group:first-child:not(:last-child)>.btn:last-child,.btn-group-vertical>.btn-group:first-child:not(:last-child)>.dropdown-toggle{border-bottom-right-radius:0;border-bottom-left-radius:0}.btn-group-vertical>.btn-group:last-child:not(:first-child)>.btn:first-child{border-top-left-radius:0;border-top-right-radius:0}.btn-group-justified{display:table;width:100%;table-layout:fixed;border-collapse:separate}.btn-group-justified>.btn,.btn-group-justified>.btn-group{display:table-cell;float:none;width:1%}.btn-group-justified>.btn-group .btn{width:100%}.btn-group-justified>.btn-group .dropdown-menu{left:auto}[data-toggle=buttons]>.btn input[type=checkbox],[data-toggle=buttons]>.btn input[type=radio],[data-toggle=buttons]>.btn-group>.btn input[type=checkbox],[data-toggle=buttons]>.btn-group>.btn input[type=radio]{position:absolute;clip:rect(0,0,0,0);pointer-events:none}.input-group{position:relative;display:table;border-collapse:separate}.input-group[class*=col-]{float:none;padding-right:0;padding-left:0}.input-group .form-control{position:relative;z-index:2;float:left;width:100%;margin-bottom:0}.input-group-lg>.form-control,.input-group-lg>.input-group-addon,.input-group-lg>.input-group-btn>.btn{height:46px;padding:10px 16px;font-size:18px;line-height:1.3333333;border-radius:6px}select.input-group-lg>.form-control,select.input-group-lg>.input-group-addon,select.input-group-lg>.input-group-btn>.btn{height:46px;line-height:46px}select[multiple].input-group-lg>.form-control,select[multiple].input-group-lg>.input-group-addon,select[multiple].input-group-lg>.input-group-btn>.btn,textarea.input-group-lg>.form-control,textarea.input-group-lg>.input-group-addon,textarea.input-group-lg>.input-group-btn>.btn{height:auto}.input-group-sm>.form-control,.input-group-sm>.input-group-addon,.input-group-sm>.input-group-btn>.btn{height:30px;padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}select.input-group-sm>.form-control,select.input-group-sm>.input-group-addon,select.input-group-sm>.input-group-btn>.btn{height:30px;line-height:30px}select[multiple].input-group-sm>.form-control,select[multiple].input-group-sm>.input-group-addon,select[multiple].input-group-sm>.input-group-btn>.btn,textarea.input-group-sm>.form-control,textarea.input-group-sm>.input-group-addon,textarea.input-group-sm>.input-group-btn>.btn{height:auto}.input-group .form-control,.input-group-addon,.input-group-btn{display:table-cell}.input-group .form-control:not(:first-child):not(:last-child),.input-group-addon:not(:first-child):not(:last-child),.input-group-btn:not(:first-child):not(:last-child){border-radius:0}.input-group-addon,.input-group-btn{width:1%;white-space:nowrap;vertical-align:middle}.input-group-addon{padding:6px 12px;font-size:14px;font-weight:400;line-height:1;color:#555;text-align:center;background-color:#eee;border:1px solid #ccc;border-radius:4px}.input-group-addon.input-sm{padding:5px 10px;font-size:12px;border-radius:3px}.input-group-addon.input-lg{padding:10px 16px;font-size:18px;border-radius:6px}.input-group-addon input[type=checkbox],.input-group-addon input[type=radio]{margin-top:0}.input-group .form-control:first-child,.input-group-addon:first-child,.input-group-btn:first-child>.btn,.input-group-btn:first-child>.btn-group>.btn,.input-group-btn:first-child>.dropdown-toggle,.input-group-btn:last-child>.btn-group:not(:last-child)>.btn,.input-group-btn:last-child>.btn:not(:last-child):not(.dropdown-toggle){border-top-right-radius:0;border-bottom-right-radius:0}.input-group-addon:first-child{border-right:0}.input-group .form-control:last-child,.input-group-addon:last-child,.input-group-btn:first-child>.btn-group:not(:first-child)>.btn,.input-group-btn:first-child>.btn:not(:first-child),.input-group-btn:last-child>.btn,.input-group-btn:last-child>.btn-group>.btn,.input-group-btn:last-child>.dropdown-toggle{border-top-left-radius:0;border-bottom-left-radius:0}.input-group-addon:last-child{border-left:0}.input-group-btn{position:relative;font-size:0;white-space:nowrap}.input-group-btn>.btn{position:relative}.input-group-btn>.btn+.btn{margin-left:-1px}.input-group-btn>.btn:active,.input-group-btn>.btn:focus,.input-group-btn>.btn:hover{z-index:2}.input-group-btn:first-child>.btn,.input-group-btn:first-child>.btn-group{margin-right:-1px}.input-group-btn:last-child>.btn,.input-group-btn:last-child>.btn-group{margin-left:-1px}.nav{padding-left:0;margin-bottom:0;list-style:none}.nav>li{position:relative;display:block}.nav>li>a{position:relative;display:block;padding:10px 15px}.nav>li>a:focus,.nav>li>a:hover{text-decoration:none;background-color:#eee}.nav>li.disabled>a{color:#777}.nav>li.disabled>a:focus,.nav>li.disabled>a:hover{color:#777;text-decoration:none;cursor:not-allowed;background-color:transparent}.nav .open>a,.nav .open>a:focus,.nav .open>a:hover{background-color:#eee;border-color:#337ab7}.nav .nav-divider{height:1px;margin:9px 0;overflow:hidden;background-color:#e5e5e5}.nav>li>a>img{max-width:none}.nav-tabs{border-bottom:1px solid #ddd}.nav-tabs>li{float:left;margin-bottom:-1px}.nav-tabs>li>a{margin-right:2px;line-height:1.42857143;border:1px solid transparent;border-radius:4px 4px 0 0}.nav-tabs>li>a:hover{border-color:#eee #eee #ddd}.nav-tabs>li.active>a,.nav-tabs>li.active>a:focus,.nav-tabs>li.active>a:hover{color:#555;cursor:default;background-color:#fff;border:1px solid #ddd;border-bottom-color:transparent}.nav-tabs.nav-justified{width:100%;border-bottom:0}.nav-tabs.nav-justified>li{float:none}.nav-tabs.nav-justified>li>a{margin-bottom:5px;text-align:center}.nav-tabs.nav-justified>.dropdown .dropdown-menu{top:auto;left:auto}@media (min-width:768px){.nav-tabs.nav-justified>li{display:table-cell;width:1%}.nav-tabs.nav-justified>li>a{margin-bottom:0}}.nav-tabs.nav-justified>li>a{margin-right:0;border-radius:4px}.nav-tabs.nav-justified>.active>a,.nav-tabs.nav-justified>.active>a:focus,.nav-tabs.nav-justified>.active>a:hover{border:1px solid #ddd}@media (min-width:768px){.nav-tabs.nav-justified>li>a{border-bottom:1px solid #ddd;border-radius:4px 4px 0 0}.nav-tabs.nav-justified>.active>a,.nav-tabs.nav-justified>.active>a:focus,.nav-tabs.nav-justified>.active>a:hover{border-bottom-color:#fff}}.nav-pills>li{float:left}.nav-pills>li>a{border-radius:4px}.nav-pills>li+li{margin-left:2px}.nav-pills>li.active>a,.nav-pills>li.active>a:focus,.nav-pills>li.active>a:hover{color:#fff;background-color:#337ab7}.nav-stacked>li{float:none}.nav-stacked>li+li{margin-top:2px;margin-left:0}.nav-justified{width:100%}.nav-justified>li{float:none}.nav-justified>li>a{margin-bottom:5px;text-align:center}.nav-justified>.dropdown .dropdown-menu{top:auto;left:auto}@media (min-width:768px){.nav-justified>li{display:table-cell;width:1%}.nav-justified>li>a{margin-bottom:0}}.nav-tabs-justified{border-bottom:0}.nav-tabs-justified>li>a{margin-right:0;border-radius:4px}.nav-tabs-justified>.active>a,.nav-tabs-justified>.active>a:focus,.nav-tabs-justified>.active>a:hover{border:1px solid #ddd}@media (min-width:768px){.nav-tabs-justified>li>a{border-bottom:1px solid #ddd;border-radius:4px 4px 0 0}.nav-tabs-justified>.active>a,.nav-tabs-justified>.active>a:focus,.nav-tabs-justified>.active>a:hover{border-bottom-color:#fff}}.tab-content>.tab-pane{display:none}.tab-content>.active{display:block}.nav-tabs .dropdown-menu{margin-top:-1px;border-top-left-radius:0;border-top-right-radius:0}.navbar{position:relative;min-height:50px;margin-bottom:20px;border:1px solid transparent}@media (min-width:768px){.navbar{border-radius:4px}}@media (min-width:768px){.navbar-header{float:left}}.navbar-collapse{padding-right:15px;padding-left:15px;overflow-x:visible;-webkit-overflow-scrolling:touch;border-top:1px solid transparent;-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,.1);box-shadow:inset 0 1px 0 rgba(255,255,255,.1)}.navbar-collapse.in{overflow-y:auto}@media (min-width:768px){.navbar-collapse{width:auto;border-top:0;-webkit-box-shadow:none;box-shadow:none}.navbar-collapse.collapse{display:block!important;height:auto!important;padding-bottom:0;overflow:visible!important}.navbar-collapse.in{overflow-y:visible}.navbar-fixed-bottom .navbar-collapse,.navbar-fixed-top .navbar-collapse,.navbar-static-top .navbar-collapse{padding-right:0;padding-left:0}}.navbar-fixed-bottom .navbar-collapse,.navbar-fixed-top .navbar-collapse{max-height:340px}@media (max-device-width:480px)and (orientation:landscape){.navbar-fixed-bottom .navbar-collapse,.navbar-fixed-top .navbar-collapse{max-height:200px}}.container-fluid>.navbar-collapse,.container-fluid>.navbar-header,.container>.navbar-collapse,.container>.navbar-header{margin-right:-15px;margin-left:-15px}@media (min-width:768px){.container-fluid>.navbar-collapse,.container-fluid>.navbar-header,.container>.navbar-collapse,.container>.navbar-header{margin-right:0;margin-left:0}}.navbar-static-top{z-index:1000;border-width:0 0 1px}@media (min-width:768px){.navbar-static-top{border-radius:0}}.navbar-fixed-bottom,.navbar-fixed-top{position:fixed;right:0;left:0;z-index:1030}@media (min-width:768px){.navbar-fixed-bottom,.navbar-fixed-top{border-radius:0}}.navbar-fixed-top{top:0;border-width:0 0 1px}.navbar-fixed-bottom{bottom:0;margin-bottom:0;border-width:1px 0 0}.navbar-brand{float:left;height:50px;padding:15px 15px;font-size:18px;line-height:20px}.navbar-brand:focus,.navbar-brand:hover{text-decoration:none}.navbar-brand>img{display:block}@media (min-width:768px){.navbar>.container .navbar-brand,.navbar>.container-fluid .navbar-brand{margin-left:-15px}}.navbar-toggle{position:relative;float:right;padding:9px 10px;margin-top:8px;margin-right:15px;margin-bottom:8px;background-color:transparent;background-image:none;border:1px solid transparent;border-radius:4px}.navbar-toggle:focus{outline:0}.navbar-toggle .icon-bar{display:block;width:22px;height:2px;border-radius:1px}.navbar-toggle .icon-bar+.icon-bar{margin-top:4px}@media (min-width:768px){.navbar-toggle{display:none}}.navbar-nav{margin:7.5px -15px}.navbar-nav>li>a{padding-top:10px;padding-bottom:10px;line-height:20px}@media (max-width:767px){.navbar-nav .open .dropdown-menu{position:static;float:none;width:auto;margin-top:0;background-color:transparent;border:0;-webkit-box-shadow:none;box-shadow:none}.navbar-nav .open .dropdown-menu .dropdown-header,.navbar-nav .open .dropdown-menu>li>a{padding:5px 15px 5px 25px}.navbar-nav .open .dropdown-menu>li>a{line-height:20px}.navbar-nav .open .dropdown-menu>li>a:focus,.navbar-nav .open .dropdown-menu>li>a:hover{background-image:none}}@media (min-width:768px){.navbar-nav{float:left;margin:0}.navbar-nav>li{float:left}.navbar-nav>li>a{padding-top:15px;padding-bottom:15px}}.navbar-form{padding:10px 15px;margin-top:8px;margin-right:-15px;margin-bottom:8px;margin-left:-15px;border-top:1px solid transparent;border-bottom:1px solid transparent;-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,.1),0 1px 0 rgba(255,255,255,.1);box-shadow:inset 0 1px 0 rgba(255,255,255,.1),0 1px 0 rgba(255,255,255,.1)}@media (min-width:768px){.navbar-form .form-group{display:inline-block;margin-bottom:0;vertical-align:middle}.navbar-form .form-control{display:inline-block;width:auto;vertical-align:middle}.navbar-form .form-control-static{display:inline-block}.navbar-form .input-group{display:inline-table;vertical-align:middle}.navbar-form .input-group .form-control,.navbar-form .input-group .input-group-addon,.navbar-form .input-group .input-group-btn{width:auto}.navbar-form .input-group>.form-control{width:100%}.navbar-form .control-label{margin-bottom:0;vertical-align:middle}.navbar-form .checkbox,.navbar-form .radio{display:inline-block;margin-top:0;margin-bottom:0;vertical-align:middle}.navbar-form .checkbox label,.navbar-form .radio label{padding-left:0}.navbar-form .checkbox input[type=checkbox],.navbar-form .radio input[type=radio]{position:relative;margin-left:0}.navbar-form .has-feedback .form-control-feedback{top:0}}@media (max-width:767px){.navbar-form .form-group{margin-bottom:5px}.navbar-form .form-group:last-child{margin-bottom:0}}@media (min-width:768px){.navbar-form{width:auto;padding-top:0;padding-bottom:0;margin-right:0;margin-left:0;border:0;-webkit-box-shadow:none;box-shadow:none}}.navbar-nav>li>.dropdown-menu{margin-top:0;border-top-left-radius:0;border-top-right-radius:0}.navbar-fixed-bottom .navbar-nav>li>.dropdown-menu{margin-bottom:0;border-top-left-radius:4px;border-top-right-radius:4px;border-bottom-right-radius:0;border-bottom-left-radius:0}.navbar-btn{margin-top:8px;margin-bottom:8px}.navbar-btn.btn-sm{margin-top:10px;margin-bottom:10px}.navbar-btn.btn-xs{margin-top:14px;margin-bottom:14px}.navbar-text{margin-top:15px;margin-bottom:15px}@media (min-width:768px){.navbar-text{float:left;margin-right:15px;margin-left:15px}}@media (min-width:768px){.navbar-left{float:left!important}.navbar-right{float:right!important;margin-right:-15px}.navbar-right~.navbar-right{margin-right:0}}.navbar-default{background-color:#f8f8f8;border-color:#e7e7e7}.navbar-default .navbar-brand{color:#777}.navbar-default .navbar-brand:focus,.navbar-default .navbar-brand:hover{color:#5e5e5e;background-color:transparent}.navbar-default .navbar-text{color:#777}.navbar-default .navbar-nav>li>a{color:#777}.navbar-default .navbar-nav>li>a:focus,.navbar-default .navbar-nav>li>a:hover{color:#333;background-color:transparent}.navbar-default .navbar-nav>.active>a,.navbar-default .navbar-nav>.active>a:focus,.navbar-default .navbar-nav>.active>a:hover{color:#555;background-color:#e7e7e7}.navbar-default .navbar-nav>.disabled>a,.navbar-default .navbar-nav>.disabled>a:focus,.navbar-default .navbar-nav>.disabled>a:hover{color:#ccc;background-color:transparent}.navbar-default .navbar-toggle{border-color:#ddd}.navbar-default .navbar-toggle:focus,.navbar-default .navbar-toggle:hover{background-color:#ddd}.navbar-default .navbar-toggle .icon-bar{background-color:#888}.navbar-default .navbar-collapse,.navbar-default .navbar-form{border-color:#e7e7e7}.navbar-default .navbar-nav>.open>a,.navbar-default .navbar-nav>.open>a:focus,.navbar-default .navbar-nav>.open>a:hover{color:#555;background-color:#e7e7e7}@media (max-width:767px){.navbar-default .navbar-nav .open .dropdown-menu>li>a{color:#777}.navbar-default .navbar-nav .open .dropdown-menu>li>a:focus,.navbar-default .navbar-nav .open .dropdown-menu>li>a:hover{color:#333;background-color:transparent}.navbar-default .navbar-nav .open .dropdown-menu>.active>a,.navbar-default .navbar-nav .open .dropdown-menu>.active>a:focus,.navbar-default .navbar-nav .open .dropdown-menu>.active>a:hover{color:#555;background-color:#e7e7e7}.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a,.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a:focus,.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a:hover{color:#ccc;background-color:transparent}}.navbar-default .navbar-link{color:#777}.navbar-default .navbar-link:hover{color:#333}.navbar-default .btn-link{color:#777}.navbar-default .btn-link:focus,.navbar-default .btn-link:hover{color:#333}.navbar-default .btn-link[disabled]:focus,.navbar-default .btn-link[disabled]:hover,fieldset[disabled] .navbar-default .btn-link:focus,fieldset[disabled] .navbar-default .btn-link:hover{color:#ccc}.navbar-inverse{background-color:#222;border-color:#080808}.navbar-inverse .navbar-brand{color:#9d9d9d}.navbar-inverse .navbar-brand:focus,.navbar-inverse .navbar-brand:hover{color:#fff;background-color:transparent}.navbar-inverse .navbar-text{color:#9d9d9d}.navbar-inverse .navbar-nav>li>a{color:#9d9d9d}.navbar-inverse .navbar-nav>li>a:focus,.navbar-inverse .navbar-nav>li>a:hover{color:#fff;background-color:transparent}.navbar-inverse .navbar-nav>.active>a,.navbar-inverse .navbar-nav>.active>a:focus,.navbar-inverse .navbar-nav>.active>a:hover{color:#fff;background-color:#080808}.navbar-inverse .navbar-nav>.disabled>a,.navbar-inverse .navbar-nav>.disabled>a:focus,.navbar-inverse .navbar-nav>.disabled>a:hover{color:#444;background-color:transparent}.navbar-inverse .navbar-toggle{border-color:#333}.navbar-inverse .navbar-toggle:focus,.navbar-inverse .navbar-toggle:hover{background-color:#333}.navbar-inverse .navbar-toggle .icon-bar{background-color:#fff}.navbar-inverse .navbar-collapse,.navbar-inverse .navbar-form{border-color:#101010}.navbar-inverse .navbar-nav>.open>a,.navbar-inverse .navbar-nav>.open>a:focus,.navbar-inverse .navbar-nav>.open>a:hover{color:#fff;background-color:#080808}@media (max-width:767px){.navbar-inverse .navbar-nav .open .dropdown-menu>.dropdown-header{border-color:#080808}.navbar-inverse .navbar-nav .open .dropdown-menu .divider{background-color:#080808}.navbar-inverse .navbar-nav .open .dropdown-menu>li>a{color:#9d9d9d}.navbar-inverse .navbar-nav .open .dropdown-menu>li>a:focus,.navbar-inverse .navbar-nav .open .dropdown-menu>li>a:hover{color:#fff;background-color:transparent}.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a,.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a:focus,.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a:hover{color:#fff;background-color:#080808}.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a,.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a:focus,.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a:hover{color:#444;background-color:transparent}}.navbar-inverse .navbar-link{color:#9d9d9d}.navbar-inverse .navbar-link:hover{color:#fff}.navbar-inverse .btn-link{color:#9d9d9d}.navbar-inverse .btn-link:focus,.navbar-inverse .btn-link:hover{color:#fff}.navbar-inverse .btn-link[disabled]:focus,.navbar-inverse .btn-link[disabled]:hover,fieldset[disabled] .navbar-inverse .btn-link:focus,fieldset[disabled] .navbar-inverse .btn-link:hover{color:#444}.breadcrumb{padding:8px 15px;margin-bottom:20px;list-style:none;background-color:#f5f5f5;border-radius:4px}.breadcrumb>li{display:inline-block}.breadcrumb>li+li:before{padding:0 5px;color:#ccc;content:"/\00a0"}.breadcrumb>.active{color:#777}.pagination{display:inline-block;padding-left:0;margin:20px 0;border-radius:4px}.pagination>li{display:inline}.pagination>li>a,.pagination>li>span{position:relative;float:left;padding:6px 12px;margin-left:-1px;line-height:1.42857143;color:#337ab7;text-decoration:none;background-color:#fff;border:1px solid #ddd}.pagination>li:first-child>a,.pagination>li:first-child>span{margin-left:0;border-top-left-radius:4px;border-bottom-left-radius:4px}.pagination>li:last-child>a,.pagination>li:last-child>span{border-top-right-radius:4px;border-bottom-right-radius:4px}.pagination>li>a:focus,.pagination>li>a:hover,.pagination>li>span:focus,.pagination>li>span:hover{color:#23527c;background-color:#eee;border-color:#ddd}.pagination>.active>a,.pagination>.active>a:focus,.pagination>.active>a:hover,.pagination>.active>span,.pagination>.active>span:focus,.pagination>.active>span:hover{z-index:2;color:#fff;cursor:default;background-color:#337ab7;border-color:#337ab7}.pagination>.disabled>a,.pagination>.disabled>a:focus,.pagination>.disabled>a:hover,.pagination>.disabled>span,.pagination>.disabled>span:focus,.pagination>.disabled>span:hover{color:#777;cursor:not-allowed;background-color:#fff;border-color:#ddd}.pagination-lg>li>a,.pagination-lg>li>span{padding:10px 16px;font-size:18px}.pagination-lg>li:first-child>a,.pagination-lg>li:first-child>span{border-top-left-radius:6px;border-bottom-left-radius:6px}.pagination-lg>li:last-child>a,.pagination-lg>li:last-child>span{border-top-right-radius:6px;border-bottom-right-radius:6px}.pagination-sm>li>a,.pagination-sm>li>span{padding:5px 10px;font-size:12px}.pagination-sm>li:first-child>a,.pagination-sm>li:first-child>span{border-top-left-radius:3px;border-bottom-left-radius:3px}.pagination-sm>li:last-child>a,.pagination-sm>li:last-child>span{border-top-right-radius:3px;border-bottom-right-radius:3px}.pager{padding-left:0;margin:20px 0;text-align:center;list-style:none}.pager li{display:inline}.pager li>a,.pager li>span{display:inline-block;padding:5px 14px;background-color:#fff;border:1px solid #ddd;border-radius:15px}.pager li>a:focus,.pager li>a:hover{text-decoration:none;background-color:#eee}.pager .next>a,.pager .next>span{float:right}.pager .previous>a,.pager .previous>span{float:left}.pager .disabled>a,.pager .disabled>a:focus,.pager .disabled>a:hover,.pager .disabled>span{color:#777;cursor:not-allowed;background-color:#fff}.label{display:inline;padding:.2em .6em .3em;font-size:75%;font-weight:700;line-height:1;color:#fff;text-align:center;white-space:nowrap;vertical-align:baseline;border-radius:.25em}a.label:focus,a.label:hover{color:#fff;text-decoration:none;cursor:pointer}.label:empty{display:none}.btn .label{position:relative;top:-1px}.label-default{background-color:#777}.label-default[href]:focus,.label-default[href]:hover{background-color:#5e5e5e}.label-primary{background-color:#337ab7}.label-primary[href]:focus,.label-primary[href]:hover{background-color:#286090}.label-success{background-color:#5cb85c}.label-success[href]:focus,.label-success[href]:hover{background-color:#449d44}.label-info{background-color:#5bc0de}.label-info[href]:focus,.label-info[href]:hover{background-color:#31b0d5}.label-warning{background-color:#f0ad4e}.label-warning[href]:focus,.label-warning[href]:hover{background-color:#ec971f}.label-danger{background-color:#d9534f}.label-danger[href]:focus,.label-danger[href]:hover{background-color:#c9302c}.badge{display:inline-block;min-width:10px;padding:3px 7px;font-size:12px;font-weight:700;line-height:1;color:#fff;text-align:center;white-space:nowrap;vertical-align:baseline;background-color:#777;border-radius:10px}.badge:empty{display:none}.btn .badge{position:relative;top:-1px}.btn-group-xs>.btn .badge,.btn-xs .badge{top:0;padding:1px 5px}a.badge:focus,a.badge:hover{color:#fff;text-decoration:none;cursor:pointer}.list-group-item.active>.badge,.nav-pills>.active>a>.badge{color:#337ab7;background-color:#fff}.list-group-item>.badge{float:right}.list-group-item>.badge+.badge{margin-right:5px}.nav-pills>li>a>.badge{margin-left:3px}.jumbotron{padding:30px 15px;margin-bottom:30px;color:inherit;background-color:#eee}.jumbotron .h1,.jumbotron h1{color:inherit}.jumbotron p{margin-bottom:15px;font-size:21px;font-weight:200}.jumbotron>hr{border-top-color:#d5d5d5}.container .jumbotron,.container-fluid .jumbotron{border-radius:6px}.jumbotron .container{max-width:100%}@media screen and (min-width:768px){.jumbotron{padding:48px 0}.container .jumbotron,.container-fluid .jumbotron{padding-right:60px;padding-left:60px}.jumbotron .h1,.jumbotron h1{font-size:63px}}.thumbnail{display:block;padding:4px;margin-bottom:20px;line-height:1.42857143;background-color:#fff;border:1px solid #ddd;border-radius:4px;-webkit-transition:border .2s ease-in-out;-o-transition:border .2s ease-in-out;transition:border .2s ease-in-out}.thumbnail a>img,.thumbnail>img{margin-right:auto;margin-left:auto}a.thumbnail.active,a.thumbnail:focus,a.thumbnail:hover{border-color:#337ab7}.thumbnail .caption{padding:9px;color:#333}.alert{padding:15px;margin-bottom:20px;border:1px solid transparent;border-radius:4px}.alert h4{margin-top:0;color:inherit}.alert .alert-link{font-weight:700}.alert>p,.alert>ul{margin-bottom:0}.alert>p+p{margin-top:5px}.alert-dismissable,.alert-dismissible{padding-right:35px}.alert-dismissable .close,.alert-dismissible .close{position:relative;top:-2px;right:-21px;color:inherit}.alert-success{color:#3c763d;background-color:#dff0d8;border-color:#d6e9c6}.alert-success hr{border-top-color:#c9e2b3}.alert-success .alert-link{color:#2b542c}.alert-info{color:#31708f;background-color:#d9edf7;border-color:#bce8f1}.alert-info hr{border-top-color:#a6e1ec}.alert-info .alert-link{color:#245269}.alert-warning{color:#8a6d3b;background-color:#fcf8e3;border-color:#faebcc}.alert-warning hr{border-top-color:#f7e1b5}.alert-warning .alert-link{color:#66512c}.alert-danger{color:#a94442;background-color:#f2dede;border-color:#ebccd1}.alert-danger hr{border-top-color:#e4b9c0}.alert-danger .alert-link{color:#843534}@-webkit-keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}@-o-keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}@keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}.progress{height:20px;margin-bottom:20px;overflow:hidden;background-color:#f5f5f5;border-radius:4px;-webkit-box-shadow:inset 0 1px 2px rgba(0,0,0,.1);box-shadow:inset 0 1px 2px rgba(0,0,0,.1)}.progress-bar{float:left;width:0;height:100%;font-size:12px;line-height:20px;color:#fff;text-align:center;background-color:#337ab7;-webkit-box-shadow:inset 0 -1px 0 rgba(0,0,0,.15);box-shadow:inset 0 -1px 0 rgba(0,0,0,.15);-webkit-transition:width .6s ease;-o-transition:width .6s ease;transition:width .6s ease}.progress-bar-striped,.progress-striped .progress-bar{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);-webkit-background-size:40px 40px;background-size:40px 40px}.progress-bar.active,.progress.active .progress-bar{-webkit-animation:progress-bar-stripes 2s linear infinite;-o-animation:progress-bar-stripes 2s linear infinite;animation:progress-bar-stripes 2s linear infinite}.progress-bar-success{background-color:#5cb85c}.progress-striped .progress-bar-success{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent)}.progress-bar-info{background-color:#5bc0de}.progress-striped .progress-bar-info{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent)}.progress-bar-warning{background-color:#f0ad4e}.progress-striped .progress-bar-warning{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent)}.progress-bar-danger{background-color:#d9534f}.progress-striped .progress-bar-danger{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent)}.media{margin-top:15px}.media:first-child{margin-top:0}.media,.media-body{overflow:hidden;zoom:1}.media-body{width:10000px}.media-object{display:block}.media-right,.media>.pull-right{padding-left:10px}.media-left,.media>.pull-left{padding-right:10px}.media-body,.media-left,.media-right{display:table-cell;vertical-align:top}.media-middle{vertical-align:middle}.media-bottom{vertical-align:bottom}.media-heading{margin-top:0;margin-bottom:5px}.media-list{padding-left:0;list-style:none}.list-group{padding-left:0;margin-bottom:20px}.list-group-item{position:relative;display:block;padding:10px 15px;margin-bottom:-1px;background-color:#fff;border:1px solid #ddd}.list-group-item:first-child{border-top-left-radius:4px;border-top-right-radius:4px}.list-group-item:last-child{margin-bottom:0;border-bottom-right-radius:4px;border-bottom-left-radius:4px}a.list-group-item{color:#555}a.list-group-item .list-group-item-heading{color:#333}a.list-group-item:focus,a.list-group-item:hover{color:#555;text-decoration:none;background-color:#f5f5f5}.list-group-item.disabled,.list-group-item.disabled:focus,.list-group-item.disabled:hover{color:#777;cursor:not-allowed;background-color:#eee}.list-group-item.disabled .list-group-item-heading,.list-group-item.disabled:focus .list-group-item-heading,.list-group-item.disabled:hover .list-group-item-heading{color:inherit}.list-group-item.disabled .list-group-item-text,.list-group-item.disabled:focus .list-group-item-text,.list-group-item.disabled:hover .list-group-item-text{color:#777}.list-group-item.active,.list-group-item.active:focus,.list-group-item.active:hover{z-index:2;color:#fff;background-color:#337ab7;border-color:#337ab7}.list-group-item.active .list-group-item-heading,.list-group-item.active .list-group-item-heading>.small,.list-group-item.active .list-group-item-heading>small,.list-group-item.active:focus .list-group-item-heading,.list-group-item.active:focus .list-group-item-heading>.small,.list-group-item.active:focus .list-group-item-heading>small,.list-group-item.active:hover .list-group-item-heading,.list-group-item.active:hover .list-group-item-heading>.small,.list-group-item.active:hover .list-group-item-heading>small{color:inherit}.list-group-item.active .list-group-item-text,.list-group-item.active:focus .list-group-item-text,.list-group-item.active:hover .list-group-item-text{color:#c7ddef}.list-group-item-success{color:#3c763d;background-color:#dff0d8}a.list-group-item-success{color:#3c763d}a.list-group-item-success .list-group-item-heading{color:inherit}a.list-group-item-success:focus,a.list-group-item-success:hover{color:#3c763d;background-color:#d0e9c6}a.list-group-item-success.active,a.list-group-item-success.active:focus,a.list-group-item-success.active:hover{color:#fff;background-color:#3c763d;border-color:#3c763d}.list-group-item-info{color:#31708f;background-color:#d9edf7}a.list-group-item-info{color:#31708f}a.list-group-item-info .list-group-item-heading{color:inherit}a.list-group-item-info:focus,a.list-group-item-info:hover{color:#31708f;background-color:#c4e3f3}a.list-group-item-info.active,a.list-group-item-info.active:focus,a.list-group-item-info.active:hover{color:#fff;background-color:#31708f;border-color:#31708f}.list-group-item-warning{color:#8a6d3b;background-color:#fcf8e3}a.list-group-item-warning{color:#8a6d3b}a.list-group-item-warning .list-group-item-heading{color:inherit}a.list-group-item-warning:focus,a.list-group-item-warning:hover{color:#8a6d3b;background-color:#faf2cc}a.list-group-item-warning.active,a.list-group-item-warning.active:focus,a.list-group-item-warning.active:hover{color:#fff;background-color:#8a6d3b;border-color:#8a6d3b}.list-group-item-danger{color:#a94442;background-color:#f2dede}a.list-group-item-danger{color:#a94442}a.list-group-item-danger .list-group-item-heading{color:inherit}a.list-group-item-danger:focus,a.list-group-item-danger:hover{color:#a94442;background-color:#ebcccc}a.list-group-item-danger.active,a.list-group-item-danger.active:focus,a.list-group-item-danger.active:hover{color:#fff;background-color:#a94442;border-color:#a94442}.list-group-item-heading{margin-top:0;margin-bottom:5px}.list-group-item-text{margin-bottom:0;line-height:1.3}.panel{margin-bottom:20px;background-color:#fff;border:1px solid transparent;border-radius:4px;-webkit-box-shadow:0 1px 1px rgba(0,0,0,.05);box-shadow:0 1px 1px rgba(0,0,0,.05)}.panel-body{padding:15px}.panel-heading{padding:10px 15px;border-bottom:1px solid transparent;border-top-left-radius:3px;border-top-right-radius:3px}.panel-heading>.dropdown .dropdown-toggle{color:inherit}.panel-title{margin-top:0;margin-bottom:0;font-size:16px;color:inherit}.panel-title>.small,.panel-title>.small>a,.panel-title>a,.panel-title>small,.panel-title>small>a{color:inherit}.panel-footer{padding:10px 15px;background-color:#f5f5f5;border-top:1px solid #ddd;border-bottom-right-radius:3px;border-bottom-left-radius:3px}.panel>.list-group,.panel>.panel-collapse>.list-group{margin-bottom:0}.panel>.list-group .list-group-item,.panel>.panel-collapse>.list-group .list-group-item{border-width:1px 0;border-radius:0}.panel>.list-group:first-child .list-group-item:first-child,.panel>.panel-collapse>.list-group:first-child .list-group-item:first-child{border-top:0;border-top-left-radius:3px;border-top-right-radius:3px}.panel>.list-group:last-child .list-group-item:last-child,.panel>.panel-collapse>.list-group:last-child .list-group-item:last-child{border-bottom:0;border-bottom-right-radius:3px;border-bottom-left-radius:3px}.panel-heading+.list-group .list-group-item:first-child{border-top-width:0}.list-group+.panel-footer{border-top-width:0}.panel>.panel-collapse>.table,.panel>.table,.panel>.table-responsive>.table{margin-bottom:0}.panel>.panel-collapse>.table caption,.panel>.table caption,.panel>.table-responsive>.table caption{padding-right:15px;padding-left:15px}.panel>.table-responsive:first-child>.table:first-child,.panel>.table:first-child{border-top-left-radius:3px;border-top-right-radius:3px}.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child,.panel>.table:first-child>tbody:first-child>tr:first-child,.panel>.table:first-child>thead:first-child>tr:first-child{border-top-left-radius:3px;border-top-right-radius:3px}.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child td:first-child,.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child th:first-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child td:first-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child th:first-child,.panel>.table:first-child>tbody:first-child>tr:first-child td:first-child,.panel>.table:first-child>tbody:first-child>tr:first-child th:first-child,.panel>.table:first-child>thead:first-child>tr:first-child td:first-child,.panel>.table:first-child>thead:first-child>tr:first-child th:first-child{border-top-left-radius:3px}.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child td:last-child,.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child th:last-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child td:last-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child th:last-child,.panel>.table:first-child>tbody:first-child>tr:first-child td:last-child,.panel>.table:first-child>tbody:first-child>tr:first-child th:last-child,.panel>.table:first-child>thead:first-child>tr:first-child td:last-child,.panel>.table:first-child>thead:first-child>tr:first-child th:last-child{border-top-right-radius:3px}.panel>.table-responsive:last-child>.table:last-child,.panel>.table:last-child{border-bottom-right-radius:3px;border-bottom-left-radius:3px}.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child,.panel>.table:last-child>tbody:last-child>tr:last-child,.panel>.table:last-child>tfoot:last-child>tr:last-child{border-bottom-right-radius:3px;border-bottom-left-radius:3px}.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child td:first-child,.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child th:first-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child td:first-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child th:first-child,.panel>.table:last-child>tbody:last-child>tr:last-child td:first-child,.panel>.table:last-child>tbody:last-child>tr:last-child th:first-child,.panel>.table:last-child>tfoot:last-child>tr:last-child td:first-child,.panel>.table:last-child>tfoot:last-child>tr:last-child th:first-child{border-bottom-left-radius:3px}.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child td:last-child,.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child th:last-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child td:last-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child th:last-child,.panel>.table:last-child>tbody:last-child>tr:last-child td:last-child,.panel>.table:last-child>tbody:last-child>tr:last-child th:last-child,.panel>.table:last-child>tfoot:last-child>tr:last-child td:last-child,.panel>.table:last-child>tfoot:last-child>tr:last-child th:last-child{border-bottom-right-radius:3px}.panel>.panel-body+.table,.panel>.panel-body+.table-responsive,.panel>.table+.panel-body,.panel>.table-responsive+.panel-body{border-top:1px solid #ddd}.panel>.table>tbody:first-child>tr:first-child td,.panel>.table>tbody:first-child>tr:first-child th{border-top:0}.panel>.table-bordered,.panel>.table-responsive>.table-bordered{border:0}.panel>.table-bordered>tbody>tr>td:first-child,.panel>.table-bordered>tbody>tr>th:first-child,.panel>.table-bordered>tfoot>tr>td:first-child,.panel>.table-bordered>tfoot>tr>th:first-child,.panel>.table-bordered>thead>tr>td:first-child,.panel>.table-bordered>thead>tr>th:first-child,.panel>.table-responsive>.table-bordered>tbody>tr>td:first-child,.panel>.table-responsive>.table-bordered>tbody>tr>th:first-child,.panel>.table-responsive>.table-bordered>tfoot>tr>td:first-child,.panel>.table-responsive>.table-bordered>tfoot>tr>th:first-child,.panel>.table-responsive>.table-bordered>thead>tr>td:first-child,.panel>.table-responsive>.table-bordered>thead>tr>th:first-child{border-left:0}.panel>.table-bordered>tbody>tr>td:last-child,.panel>.table-bordered>tbody>tr>th:last-child,.panel>.table-bordered>tfoot>tr>td:last-child,.panel>.table-bordered>tfoot>tr>th:last-child,.panel>.table-bordered>thead>tr>td:last-child,.panel>.table-bordered>thead>tr>th:last-child,.panel>.table-responsive>.table-bordered>tbody>tr>td:last-child,.panel>.table-responsive>.table-bordered>tbody>tr>th:last-child,.panel>.table-responsive>.table-bordered>tfoot>tr>td:last-child,.panel>.table-responsive>.table-bordered>tfoot>tr>th:last-child,.panel>.table-responsive>.table-bordered>thead>tr>td:last-child,.panel>.table-responsive>.table-bordered>thead>tr>th:last-child{border-right:0}.panel>.table-bordered>tbody>tr:first-child>td,.panel>.table-bordered>tbody>tr:first-child>th,.panel>.table-bordered>thead>tr:first-child>td,.panel>.table-bordered>thead>tr:first-child>th,.panel>.table-responsive>.table-bordered>tbody>tr:first-child>td,.panel>.table-responsive>.table-bordered>tbody>tr:first-child>th,.panel>.table-responsive>.table-bordered>thead>tr:first-child>td,.panel>.table-responsive>.table-bordered>thead>tr:first-child>th{border-bottom:0}.panel>.table-bordered>tbody>tr:last-child>td,.panel>.table-bordered>tbody>tr:last-child>th,.panel>.table-bordered>tfoot>tr:last-child>td,.panel>.table-bordered>tfoot>tr:last-child>th,.panel>.table-responsive>.table-bordered>tbody>tr:last-child>td,.panel>.table-responsive>.table-bordered>tbody>tr:last-child>th,.panel>.table-responsive>.table-bordered>tfoot>tr:last-child>td,.panel>.table-responsive>.table-bordered>tfoot>tr:last-child>th{border-bottom:0}.panel>.table-responsive{margin-bottom:0;border:0}.panel-group{margin-bottom:20px}.panel-group .panel{margin-bottom:0;border-radius:4px}.panel-group .panel+.panel{margin-top:5px}.panel-group .panel-heading{border-bottom:0}.panel-group .panel-heading+.panel-collapse>.list-group,.panel-group .panel-heading+.panel-collapse>.panel-body{border-top:1px solid #ddd}.panel-group .panel-footer{border-top:0}.panel-group .panel-footer+.panel-collapse .panel-body{border-bottom:1px solid #ddd}.panel-default{border-color:#ddd}.panel-default>.panel-heading{color:#333;background-color:#f5f5f5;border-color:#ddd}.panel-default>.panel-heading+.panel-collapse>.panel-body{border-top-color:#ddd}.panel-default>.panel-heading .badge{color:#f5f5f5;background-color:#333}.panel-default>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#ddd}.panel-primary{border-color:#337ab7}.panel-primary>.panel-heading{color:#fff;background-color:#337ab7;border-color:#337ab7}.panel-primary>.panel-heading+.panel-collapse>.panel-body{border-top-color:#337ab7}.panel-primary>.panel-heading .badge{color:#337ab7;background-color:#fff}.panel-primary>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#337ab7}.panel-success{border-color:#d6e9c6}.panel-success>.panel-heading{color:#3c763d;background-color:#dff0d8;border-color:#d6e9c6}.panel-success>.panel-heading+.panel-collapse>.panel-body{border-top-color:#d6e9c6}.panel-success>.panel-heading .badge{color:#dff0d8;background-color:#3c763d}.panel-success>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#d6e9c6}.panel-info{border-color:#bce8f1}.panel-info>.panel-heading{color:#31708f;background-color:#d9edf7;border-color:#bce8f1}.panel-info>.panel-heading+.panel-collapse>.panel-body{border-top-color:#bce8f1}.panel-info>.panel-heading .badge{color:#d9edf7;background-color:#31708f}.panel-info>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#bce8f1}.panel-warning{border-color:#faebcc}.panel-warning>.panel-heading{color:#8a6d3b;background-color:#fcf8e3;border-color:#faebcc}.panel-warning>.panel-heading+.panel-collapse>.panel-body{border-top-color:#faebcc}.panel-warning>.panel-heading .badge{color:#fcf8e3;background-color:#8a6d3b}.panel-warning>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#faebcc}.panel-danger{border-color:#ebccd1}.panel-danger>.panel-heading{color:#a94442;background-color:#f2dede;border-color:#ebccd1}.panel-danger>.panel-heading+.panel-collapse>.panel-body{border-top-color:#ebccd1}.panel-danger>.panel-heading .badge{color:#f2dede;background-color:#a94442}.panel-danger>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#ebccd1}.embed-responsive{position:relative;display:block;height:0;padding:0;overflow:hidden}.embed-responsive .embed-responsive-item,.embed-responsive embed,.embed-responsive iframe,.embed-responsive object,.embed-responsive video{position:absolute;top:0;bottom:0;left:0;width:100%;height:100%;border:0}.embed-responsive-16by9{padding-bottom:56.25%}.embed-responsive-4by3{padding-bottom:75%}.well{min-height:20px;padding:19px;margin-bottom:20px;background-color:#f5f5f5;border:1px solid #e3e3e3;border-radius:4px;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.05);box-shadow:inset 0 1px 1px rgba(0,0,0,.05)}.well blockquote{border-color:#ddd;border-color:rgba(0,0,0,.15)}.well-lg{padding:24px;border-radius:6px}.well-sm{padding:9px;border-radius:3px}.close{float:right;font-size:21px;font-weight:700;line-height:1;color:#000;text-shadow:0 1px 0 #fff;filter:alpha(opacity=20);opacity:.2}.close:focus,.close:hover{color:#000;text-decoration:none;cursor:pointer;filter:alpha(opacity=50);opacity:.5}button.close{-webkit-appearance:none;padding:0;cursor:pointer;background:0 0;border:0}.modal-open{overflow:hidden}.modal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1050;display:none;overflow:hidden;-webkit-overflow-scrolling:touch;outline:0}.modal.fade .modal-dialog{-webkit-transition:-webkit-transform .3s ease-out;-o-transition:-o-transform .3s ease-out;transition:transform .3s ease-out;-webkit-transform:translate(0,-25%);-ms-transform:translate(0,-25%);-o-transform:translate(0,-25%);transform:translate(0,-25%)}.modal.in .modal-dialog{-webkit-transform:translate(0,0);-ms-transform:translate(0,0);-o-transform:translate(0,0);transform:translate(0,0)}.modal-open .modal{overflow-x:hidden;overflow-y:auto}.modal-dialog{position:relative;width:auto;margin:10px}.modal-content{position:relative;background-color:#fff;-webkit-background-clip:padding-box;background-clip:padding-box;border:1px solid #999;border:1px solid rgba(0,0,0,.2);border-radius:6px;outline:0;-webkit-box-shadow:0 3px 9px rgba(0,0,0,.5);box-shadow:0 3px 9px rgba(0,0,0,.5)}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1040;background-color:#000}.modal-backdrop.fade{filter:alpha(opacity=0);opacity:0}.modal-backdrop.in{filter:alpha(opacity=50);opacity:.5}.modal-header{min-height:16.43px;padding:15px;border-bottom:1px solid #e5e5e5}.modal-header .close{margin-top:-2px}.modal-title{margin:0;line-height:1.42857143}.modal-body{position:relative;padding:15px}.modal-footer{padding:15px;text-align:right;border-top:1px solid #e5e5e5}.modal-footer .btn+.btn{margin-bottom:0;margin-left:5px}.modal-footer .btn-group .btn+.btn{margin-left:-1px}.modal-footer .btn-block+.btn-block{margin-left:0}.modal-scrollbar-measure{position:absolute;top:-9999px;width:50px;height:50px;overflow:scroll}@media (min-width:768px){.modal-dialog{width:600px;margin:30px auto}.modal-content{-webkit-box-shadow:0 5px 15px rgba(0,0,0,.5);box-shadow:0 5px 15px rgba(0,0,0,.5)}.modal-sm{width:300px}}@media (min-width:992px){.modal-lg{width:900px}}.tooltip{position:absolute;z-index:1070;display:block;font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:12px;font-weight:400;line-height:1.4;filter:alpha(opacity=0);opacity:0}.tooltip.in{filter:alpha(opacity=90);opacity:.9}.tooltip.top{padding:5px 0;margin-top:-3px}.tooltip.right{padding:0 5px;margin-left:3px}.tooltip.bottom{padding:5px 0;margin-top:3px}.tooltip.left{padding:0 5px;margin-left:-3px}.tooltip-inner{max-width:200px;padding:3px 8px;color:#fff;text-align:center;text-decoration:none;background-color:#000;border-radius:4px}.tooltip-arrow{position:absolute;width:0;height:0;border-color:transparent;border-style:solid}.tooltip.top .tooltip-arrow{bottom:0;left:50%;margin-left:-5px;border-width:5px 5px 0;border-top-color:#000}.tooltip.top-left .tooltip-arrow{right:5px;bottom:0;margin-bottom:-5px;border-width:5px 5px 0;border-top-color:#000}.tooltip.top-right .tooltip-arrow{bottom:0;left:5px;margin-bottom:-5px;border-width:5px 5px 0;border-top-color:#000}.tooltip.right .tooltip-arrow{top:50%;left:0;margin-top:-5px;border-width:5px 5px 5px 0;border-right-color:#000}.tooltip.left .tooltip-arrow{top:50%;right:0;margin-top:-5px;border-width:5px 0 5px 5px;border-left-color:#000}.tooltip.bottom .tooltip-arrow{top:0;left:50%;margin-left:-5px;border-width:0 5px 5px;border-bottom-color:#000}.tooltip.bottom-left .tooltip-arrow{top:0;right:5px;margin-top:-5px;border-width:0 5px 5px;border-bottom-color:#000}.tooltip.bottom-right .tooltip-arrow{top:0;left:5px;margin-top:-5px;border-width:0 5px 5px;border-bottom-color:#000}.popover{position:absolute;top:0;left:0;z-index:1060;display:none;max-width:276px;padding:1px;font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:14px;font-weight:400;line-height:1.42857143;text-align:left;white-space:normal;background-color:#fff;-webkit-background-clip:padding-box;background-clip:padding-box;border:1px solid #ccc;border:1px solid rgba(0,0,0,.2);border-radius:6px;-webkit-box-shadow:0 5px 10px rgba(0,0,0,.2);box-shadow:0 5px 10px rgba(0,0,0,.2)}.popover.top{margin-top:-10px}.popover.right{margin-left:10px}.popover.bottom{margin-top:10px}.popover.left{margin-left:-10px}.popover-title{padding:8px 14px;margin:0;font-size:14px;background-color:#f7f7f7;border-bottom:1px solid #ebebeb;border-radius:5px 5px 0 0}.popover-content{padding:9px 14px}.popover>.arrow,.popover>.arrow:after{position:absolute;display:block;width:0;height:0;border-color:transparent;border-style:solid}.popover>.arrow{border-width:11px}.popover>.arrow:after{content:"";border-width:10px}.popover.top>.arrow{bottom:-11px;left:50%;margin-left:-11px;border-top-color:#999;border-top-color:rgba(0,0,0,.25);border-bottom-width:0}.popover.top>.arrow:after{bottom:1px;margin-left:-10px;content:" ";border-top-color:#fff;border-bottom-width:0}.popover.right>.arrow{top:50%;left:-11px;margin-top:-11px;border-right-color:#999;border-right-color:rgba(0,0,0,.25);border-left-width:0}.popover.right>.arrow:after{bottom:-10px;left:1px;content:" ";border-right-color:#fff;border-left-width:0}.popover.bottom>.arrow{top:-11px;left:50%;margin-left:-11px;border-top-width:0;border-bottom-color:#999;border-bottom-color:rgba(0,0,0,.25)}.popover.bottom>.arrow:after{top:1px;margin-left:-10px;content:" ";border-top-width:0;border-bottom-color:#fff}.popover.left>.arrow{top:50%;right:-11px;margin-top:-11px;border-right-width:0;border-left-color:#999;border-left-color:rgba(0,0,0,.25)}.popover.left>.arrow:after{right:1px;bottom:-10px;content:" ";border-right-width:0;border-left-color:#fff}.carousel{position:relative}.carousel-inner{position:relative;width:100%;overflow:hidden}.carousel-inner>.item{position:relative;display:none;-webkit-transition:.6s ease-in-out left;-o-transition:.6s ease-in-out left;transition:.6s ease-in-out left}.carousel-inner>.item>a>img,.carousel-inner>.item>img{line-height:1}@media all and (transform-3d),(-webkit-transform-3d){.carousel-inner>.item{-webkit-transition:-webkit-transform .6s ease-in-out;-o-transition:-o-transform .6s ease-in-out;transition:transform .6s ease-in-out;-webkit-backface-visibility:hidden;backface-visibility:hidden;-webkit-perspective:1000;perspective:1000}.carousel-inner>.item.active.right,.carousel-inner>.item.next{left:0;-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0)}.carousel-inner>.item.active.left,.carousel-inner>.item.prev{left:0;-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0)}.carousel-inner>.item.active,.carousel-inner>.item.next.left,.carousel-inner>.item.prev.right{left:0;-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}}.carousel-inner>.active,.carousel-inner>.next,.carousel-inner>.prev{display:block}.carousel-inner>.active{left:0}.carousel-inner>.next,.carousel-inner>.prev{position:absolute;top:0;width:100%}.carousel-inner>.next{left:100%}.carousel-inner>.prev{left:-100%}.carousel-inner>.next.left,.carousel-inner>.prev.right{left:0}.carousel-inner>.active.left{left:-100%}.carousel-inner>.active.right{left:100%}.carousel-control{position:absolute;top:0;bottom:0;left:0;width:15%;font-size:20px;color:#fff;text-align:center;text-shadow:0 1px 2px rgba(0,0,0,.6);filter:alpha(opacity=50);opacity:.5}.carousel-control.left{background-image:-webkit-linear-gradient(left,rgba(0,0,0,.5) 0,rgba(0,0,0,.0001) 100%);background-image:-o-linear-gradient(left,rgba(0,0,0,.5) 0,rgba(0,0,0,.0001) 100%);background-image:-webkit-gradient(linear,left top,right top,from(rgba(0,0,0,.5)),to(rgba(0,0,0,.0001)));background-image:linear-gradient(to right,rgba(0,0,0,.5) 0,rgba(0,0,0,.0001) 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#80000000', endColorstr='#00000000', GradientType=1);background-repeat:repeat-x}.carousel-control.right{right:0;left:auto;background-image:-webkit-linear-gradient(left,rgba(0,0,0,.0001) 0,rgba(0,0,0,.5) 100%);background-image:-o-linear-gradient(left,rgba(0,0,0,.0001) 0,rgba(0,0,0,.5) 100%);background-image:-webkit-gradient(linear,left top,right top,from(rgba(0,0,0,.0001)),to(rgba(0,0,0,.5)));background-image:linear-gradient(to right,rgba(0,0,0,.0001) 0,rgba(0,0,0,.5) 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#00000000', endColorstr='#80000000', GradientType=1);background-repeat:repeat-x}.carousel-control:focus,.carousel-control:hover{color:#fff;text-decoration:none;filter:alpha(opacity=90);outline:0;opacity:.9}.carousel-control .glyphicon-chevron-left,.carousel-control .glyphicon-chevron-right,.carousel-control .icon-next,.carousel-control .icon-prev{position:absolute;top:50%;z-index:5;display:inline-block}.carousel-control .glyphicon-chevron-left,.carousel-control .icon-prev{left:50%;margin-left:-10px}.carousel-control .glyphicon-chevron-right,.carousel-control .icon-next{right:50%;margin-right:-10px}.carousel-control .icon-next,.carousel-control .icon-prev{width:20px;height:20px;margin-top:-10px;font-family:serif;line-height:1}.carousel-control .icon-prev:before{content:'\2039'}.carousel-control .icon-next:before{content:'\203a'}.carousel-indicators{position:absolute;bottom:10px;left:50%;z-index:15;width:60%;padding-left:0;margin-left:-30%;text-align:center;list-style:none}.carousel-indicators li{display:inline-block;width:10px;height:10px;margin:1px;text-indent:-999px;cursor:pointer;background-color:#000 \9;background-color:rgba(0,0,0,0);border:1px solid #fff;border-radius:10px}.carousel-indicators .active{width:12px;height:12px;margin:0;background-color:#fff}.carousel-caption{position:absolute;right:15%;bottom:20px;left:15%;z-index:10;padding-top:20px;padding-bottom:20px;color:#fff;text-align:center;text-shadow:0 1px 2px rgba(0,0,0,.6)}.carousel-caption .btn{text-shadow:none}@media screen and (min-width:768px){.carousel-control .glyphicon-chevron-left,.carousel-control .glyphicon-chevron-right,.carousel-control .icon-next,.carousel-control .icon-prev{width:30px;height:30px;margin-top:-15px;font-size:30px}.carousel-control .glyphicon-chevron-left,.carousel-control .icon-prev{margin-left:-15px}.carousel-control .glyphicon-chevron-right,.carousel-control .icon-next{margin-right:-15px}.carousel-caption{right:20%;left:20%;padding-bottom:30px}.carousel-indicators{bottom:20px}}.btn-group-vertical>.btn-group:after,.btn-group-vertical>.btn-group:before,.btn-toolbar:after,.btn-toolbar:before,.clearfix:after,.clearfix:before,.container-fluid:after,.container-fluid:before,.container:after,.container:before,.dl-horizontal dd:after,.dl-horizontal dd:before,.form-horizontal .form-group:after,.form-horizontal .form-group:before,.modal-footer:after,.modal-footer:before,.nav:after,.nav:before,.navbar-collapse:after,.navbar-collapse:before,.navbar-header:after,.navbar-header:before,.navbar:after,.navbar:before,.pager:after,.pager:before,.panel-body:after,.panel-body:before,.row:after,.row:before{display:table;content:" "}.btn-group-vertical>.btn-group:after,.btn-toolbar:after,.clearfix:after,.container-fluid:after,.container:after,.dl-horizontal dd:after,.form-horizontal .form-group:after,.modal-footer:after,.nav:after,.navbar-collapse:after,.navbar-header:after,.navbar:after,.pager:after,.panel-body:after,.row:after{clear:both}.center-block{display:block;margin-right:auto;margin-left:auto}.pull-right{float:right!important}.pull-left{float:left!important}.hide{display:none!important}.show{display:block!important}.invisible{visibility:hidden}.text-hide{font:0/0 a;color:transparent;text-shadow:none;background-color:transparent;border:0}.hidden{display:none!important}.affix{position:fixed}@-ms-viewport{width:device-width}.visible-lg,.visible-md,.visible-sm,.visible-xs{display:none!important}.visible-lg-block,.visible-lg-inline,.visible-lg-inline-block,.visible-md-block,.visible-md-inline,.visible-md-inline-block,.visible-sm-block,.visible-sm-inline,.visible-sm-inline-block,.visible-xs-block,.visible-xs-inline,.visible-xs-inline-block{display:none!important}@media (max-width:767px){.visible-xs{display:block!important}table.visible-xs{display:table}tr.visible-xs{display:table-row!important}td.visible-xs,th.visible-xs{display:table-cell!important}}@media (max-width:767px){.visible-xs-block{display:block!important}}@media (max-width:767px){.visible-xs-inline{display:inline!important}}@media (max-width:767px){.visible-xs-inline-block{display:inline-block!important}}@media (min-width:768px)and (max-width:991px){.visible-sm{display:block!important}table.visible-sm{display:table}tr.visible-sm{display:table-row!important}td.visible-sm,th.visible-sm{display:table-cell!important}}@media (min-width:768px)and (max-width:991px){.visible-sm-block{display:block!important}}@media (min-width:768px)and (max-width:991px){.visible-sm-inline{display:inline!important}}@media (min-width:768px)and (max-width:991px){.visible-sm-inline-block{display:inline-block!important}}@media (min-width:992px)and (max-width:1199px){.visible-md{display:block!important}table.visible-md{display:table}tr.visible-md{display:table-row!important}td.visible-md,th.visible-md{display:table-cell!important}}@media (min-width:992px)and (max-width:1199px){.visible-md-block{display:block!important}}@media (min-width:992px)and (max-width:1199px){.visible-md-inline{display:inline!important}}@media (min-width:992px)and (max-width:1199px){.visible-md-inline-block{display:inline-block!important}}@media (min-width:1200px){.visible-lg{display:block!important}table.visible-lg{display:table}tr.visible-lg{display:table-row!important}td.visible-lg,th.visible-lg{display:table-cell!important}}@media (min-width:1200px){.visible-lg-block{display:block!important}}@media (min-width:1200px){.visible-lg-inline{display:inline!important}}@media (min-width:1200px){.visible-lg-inline-block{display:inline-block!important}}@media (max-width:767px){.hidden-xs{display:none!important}}@media (min-width:768px)and (max-width:991px){.hidden-sm{display:none!important}}@media (min-width:992px)and (max-width:1199px){.hidden-md{display:none!important}}@media (min-width:1200px){.hidden-lg{display:none!important}}.visible-print{display:none!important}@media print{.visible-print{display:block!important}table.visible-print{display:table}tr.visible-print{display:table-row!important}td.visible-print,th.visible-print{display:table-cell!important}}.visible-print-block{display:none!important}@media print{.visible-print-block{display:block!important}}.visible-print-inline{display:none!important}@media print{.visible-print-inline{display:inline!important}}.visible-print-inline-block{display:none!important}@media print{.visible-print-inline-block{display:inline-block!important}}@media print{.hidden-print{display:none!important}}
\ No newline at end of file
diff --git a/templates/shop-isle/assets/bootstrap/fonts/glyphicons-halflings-regular.eot b/templates/shop-isle/assets/bootstrap/fonts/glyphicons-halflings-regular.eot
new file mode 100644 (file)
index 0000000..b93a495
Binary files /dev/null and b/templates/shop-isle/assets/bootstrap/fonts/glyphicons-halflings-regular.eot differ
diff --git a/templates/shop-isle/assets/bootstrap/fonts/glyphicons-halflings-regular.svg b/templates/shop-isle/assets/bootstrap/fonts/glyphicons-halflings-regular.svg
new file mode 100644 (file)
index 0000000..94fb549
--- /dev/null
@@ -0,0 +1,288 @@
+<?xml version="1.0" standalone="no"?>
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd" >
+<svg xmlns="http://www.w3.org/2000/svg">
+<metadata></metadata>
+<defs>
+<font id="glyphicons_halflingsregular" horiz-adv-x="1200" >
+<font-face units-per-em="1200" ascent="960" descent="-240" />
+<missing-glyph horiz-adv-x="500" />
+<glyph horiz-adv-x="0" />
+<glyph horiz-adv-x="400" />
+<glyph unicode=" " />
+<glyph unicode="*" d="M600 1100q15 0 34 -1.5t30 -3.5l11 -1q10 -2 17.5 -10.5t7.5 -18.5v-224l158 158q7 7 18 8t19 -6l106 -106q7 -8 6 -19t-8 -18l-158 -158h224q10 0 18.5 -7.5t10.5 -17.5q6 -41 6 -75q0 -15 -1.5 -34t-3.5 -30l-1 -11q-2 -10 -10.5 -17.5t-18.5 -7.5h-224l158 -158 q7 -7 8 -18t-6 -19l-106 -106q-8 -7 -19 -6t-18 8l-158 158v-224q0 -10 -7.5 -18.5t-17.5 -10.5q-41 -6 -75 -6q-15 0 -34 1.5t-30 3.5l-11 1q-10 2 -17.5 10.5t-7.5 18.5v224l-158 -158q-7 -7 -18 -8t-19 6l-106 106q-7 8 -6 19t8 18l158 158h-224q-10 0 -18.5 7.5 t-10.5 17.5q-6 41 -6 75q0 15 1.5 34t3.5 30l1 11q2 10 10.5 17.5t18.5 7.5h224l-158 158q-7 7 -8 18t6 19l106 106q8 7 19 6t18 -8l158 -158v224q0 10 7.5 18.5t17.5 10.5q41 6 75 6z" />
+<glyph unicode="+" d="M450 1100h200q21 0 35.5 -14.5t14.5 -35.5v-350h350q21 0 35.5 -14.5t14.5 -35.5v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-350v-350q0 -21 -14.5 -35.5t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5v350h-350q-21 0 -35.5 14.5t-14.5 35.5v200q0 21 14.5 35.5t35.5 14.5 h350v350q0 21 14.5 35.5t35.5 14.5z" />
+<glyph unicode="&#xa0;" />
+<glyph unicode="&#xa5;" d="M825 1100h250q10 0 12.5 -5t-5.5 -13l-364 -364q-6 -6 -11 -18h268q10 0 13 -6t-3 -14l-120 -160q-6 -8 -18 -14t-22 -6h-125v-100h275q10 0 13 -6t-3 -14l-120 -160q-6 -8 -18 -14t-22 -6h-125v-174q0 -11 -7.5 -18.5t-18.5 -7.5h-148q-11 0 -18.5 7.5t-7.5 18.5v174 h-275q-10 0 -13 6t3 14l120 160q6 8 18 14t22 6h125v100h-275q-10 0 -13 6t3 14l120 160q6 8 18 14t22 6h118q-5 12 -11 18l-364 364q-8 8 -5.5 13t12.5 5h250q25 0 43 -18l164 -164q8 -8 18 -8t18 8l164 164q18 18 43 18z" />
+<glyph unicode="&#x2000;" horiz-adv-x="650" />
+<glyph unicode="&#x2001;" horiz-adv-x="1300" />
+<glyph unicode="&#x2002;" horiz-adv-x="650" />
+<glyph unicode="&#x2003;" horiz-adv-x="1300" />
+<glyph unicode="&#x2004;" horiz-adv-x="433" />
+<glyph unicode="&#x2005;" horiz-adv-x="325" />
+<glyph unicode="&#x2006;" horiz-adv-x="216" />
+<glyph unicode="&#x2007;" horiz-adv-x="216" />
+<glyph unicode="&#x2008;" horiz-adv-x="162" />
+<glyph unicode="&#x2009;" horiz-adv-x="260" />
+<glyph unicode="&#x200a;" horiz-adv-x="72" />
+<glyph unicode="&#x202f;" horiz-adv-x="260" />
+<glyph unicode="&#x205f;" horiz-adv-x="325" />
+<glyph unicode="&#x20ac;" d="M744 1198q242 0 354 -189q60 -104 66 -209h-181q0 45 -17.5 82.5t-43.5 61.5t-58 40.5t-60.5 24t-51.5 7.5q-19 0 -40.5 -5.5t-49.5 -20.5t-53 -38t-49 -62.5t-39 -89.5h379l-100 -100h-300q-6 -50 -6 -100h406l-100 -100h-300q9 -74 33 -132t52.5 -91t61.5 -54.5t59 -29 t47 -7.5q22 0 50.5 7.5t60.5 24.5t58 41t43.5 61t17.5 80h174q-30 -171 -128 -278q-107 -117 -274 -117q-206 0 -324 158q-36 48 -69 133t-45 204h-217l100 100h112q1 47 6 100h-218l100 100h134q20 87 51 153.5t62 103.5q117 141 297 141z" />
+<glyph unicode="&#x20bd;" d="M428 1200h350q67 0 120 -13t86 -31t57 -49.5t35 -56.5t17 -64.5t6.5 -60.5t0.5 -57v-16.5v-16.5q0 -36 -0.5 -57t-6.5 -61t-17 -65t-35 -57t-57 -50.5t-86 -31.5t-120 -13h-178l-2 -100h288q10 0 13 -6t-3 -14l-120 -160q-6 -8 -18 -14t-22 -6h-138v-175q0 -11 -5.5 -18 t-15.5 -7h-149q-10 0 -17.5 7.5t-7.5 17.5v175h-267q-10 0 -13 6t3 14l120 160q6 8 18 14t22 6h117v100h-267q-10 0 -13 6t3 14l120 160q6 8 18 14t22 6h117v475q0 10 7.5 17.5t17.5 7.5zM600 1000v-300h203q64 0 86.5 33t22.5 119q0 84 -22.5 116t-86.5 32h-203z" />
+<glyph unicode="&#x2212;" d="M250 700h800q21 0 35.5 -14.5t14.5 -35.5v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-800q-21 0 -35.5 14.5t-14.5 35.5v200q0 21 14.5 35.5t35.5 14.5z" />
+<glyph unicode="&#x231b;" d="M1000 1200v-150q0 -21 -14.5 -35.5t-35.5 -14.5h-50v-100q0 -91 -49.5 -165.5t-130.5 -109.5q81 -35 130.5 -109.5t49.5 -165.5v-150h50q21 0 35.5 -14.5t14.5 -35.5v-150h-800v150q0 21 14.5 35.5t35.5 14.5h50v150q0 91 49.5 165.5t130.5 109.5q-81 35 -130.5 109.5 t-49.5 165.5v100h-50q-21 0 -35.5 14.5t-14.5 35.5v150h800zM400 1000v-100q0 -60 32.5 -109.5t87.5 -73.5q28 -12 44 -37t16 -55t-16 -55t-44 -37q-55 -24 -87.5 -73.5t-32.5 -109.5v-150h400v150q0 60 -32.5 109.5t-87.5 73.5q-28 12 -44 37t-16 55t16 55t44 37 q55 24 87.5 73.5t32.5 109.5v100h-400z" />
+<glyph unicode="&#x25fc;" horiz-adv-x="500" d="M0 0z" />
+<glyph unicode="&#x2601;" d="M503 1089q110 0 200.5 -59.5t134.5 -156.5q44 14 90 14q120 0 205 -86.5t85 -206.5q0 -121 -85 -207.5t-205 -86.5h-750q-79 0 -135.5 57t-56.5 137q0 69 42.5 122.5t108.5 67.5q-2 12 -2 37q0 153 108 260.5t260 107.5z" />
+<glyph unicode="&#x26fa;" d="M774 1193.5q16 -9.5 20.5 -27t-5.5 -33.5l-136 -187l467 -746h30q20 0 35 -18.5t15 -39.5v-42h-1200v42q0 21 15 39.5t35 18.5h30l468 746l-135 183q-10 16 -5.5 34t20.5 28t34 5.5t28 -20.5l111 -148l112 150q9 16 27 20.5t34 -5zM600 200h377l-182 112l-195 534v-646z " />
+<glyph unicode="&#x2709;" d="M25 1100h1150q10 0 12.5 -5t-5.5 -13l-564 -567q-8 -8 -18 -8t-18 8l-564 567q-8 8 -5.5 13t12.5 5zM18 882l264 -264q8 -8 8 -18t-8 -18l-264 -264q-8 -8 -13 -5.5t-5 12.5v550q0 10 5 12.5t13 -5.5zM918 618l264 264q8 8 13 5.5t5 -12.5v-550q0 -10 -5 -12.5t-13 5.5 l-264 264q-8 8 -8 18t8 18zM818 482l364 -364q8 -8 5.5 -13t-12.5 -5h-1150q-10 0 -12.5 5t5.5 13l364 364q8 8 18 8t18 -8l164 -164q8 -8 18 -8t18 8l164 164q8 8 18 8t18 -8z" />
+<glyph unicode="&#x270f;" d="M1011 1210q19 0 33 -13l153 -153q13 -14 13 -33t-13 -33l-99 -92l-214 214l95 96q13 14 32 14zM1013 800l-615 -614l-214 214l614 614zM317 96l-333 -112l110 335z" />
+<glyph unicode="&#xe001;" d="M700 650v-550h250q21 0 35.5 -14.5t14.5 -35.5v-50h-800v50q0 21 14.5 35.5t35.5 14.5h250v550l-500 550h1200z" />
+<glyph unicode="&#xe002;" d="M368 1017l645 163q39 15 63 0t24 -49v-831q0 -55 -41.5 -95.5t-111.5 -63.5q-79 -25 -147 -4.5t-86 75t25.5 111.5t122.5 82q72 24 138 8v521l-600 -155v-606q0 -42 -44 -90t-109 -69q-79 -26 -147 -5.5t-86 75.5t25.5 111.5t122.5 82.5q72 24 138 7v639q0 38 14.5 59 t53.5 34z" />
+<glyph unicode="&#xe003;" d="M500 1191q100 0 191 -39t156.5 -104.5t104.5 -156.5t39 -191l-1 -2l1 -5q0 -141 -78 -262l275 -274q23 -26 22.5 -44.5t-22.5 -42.5l-59 -58q-26 -20 -46.5 -20t-39.5 20l-275 274q-119 -77 -261 -77l-5 1l-2 -1q-100 0 -191 39t-156.5 104.5t-104.5 156.5t-39 191 t39 191t104.5 156.5t156.5 104.5t191 39zM500 1022q-88 0 -162 -43t-117 -117t-43 -162t43 -162t117 -117t162 -43t162 43t117 117t43 162t-43 162t-117 117t-162 43z" />
+<glyph unicode="&#xe005;" d="M649 949q48 68 109.5 104t121.5 38.5t118.5 -20t102.5 -64t71 -100.5t27 -123q0 -57 -33.5 -117.5t-94 -124.5t-126.5 -127.5t-150 -152.5t-146 -174q-62 85 -145.5 174t-150 152.5t-126.5 127.5t-93.5 124.5t-33.5 117.5q0 64 28 123t73 100.5t104 64t119 20 t120.5 -38.5t104.5 -104z" />
+<glyph unicode="&#xe006;" d="M407 800l131 353q7 19 17.5 19t17.5 -19l129 -353h421q21 0 24 -8.5t-14 -20.5l-342 -249l130 -401q7 -20 -0.5 -25.5t-24.5 6.5l-343 246l-342 -247q-17 -12 -24.5 -6.5t-0.5 25.5l130 400l-347 251q-17 12 -14 20.5t23 8.5h429z" />
+<glyph unicode="&#xe007;" d="M407 800l131 353q7 19 17.5 19t17.5 -19l129 -353h421q21 0 24 -8.5t-14 -20.5l-342 -249l130 -401q7 -20 -0.5 -25.5t-24.5 6.5l-343 246l-342 -247q-17 -12 -24.5 -6.5t-0.5 25.5l130 400l-347 251q-17 12 -14 20.5t23 8.5h429zM477 700h-240l197 -142l-74 -226 l193 139l195 -140l-74 229l192 140h-234l-78 211z" />
+<glyph unicode="&#xe008;" d="M600 1200q124 0 212 -88t88 -212v-250q0 -46 -31 -98t-69 -52v-75q0 -10 6 -21.5t15 -17.5l358 -230q9 -5 15 -16.5t6 -21.5v-93q0 -10 -7.5 -17.5t-17.5 -7.5h-1150q-10 0 -17.5 7.5t-7.5 17.5v93q0 10 6 21.5t15 16.5l358 230q9 6 15 17.5t6 21.5v75q-38 0 -69 52 t-31 98v250q0 124 88 212t212 88z" />
+<glyph unicode="&#xe009;" d="M25 1100h1150q10 0 17.5 -7.5t7.5 -17.5v-1050q0 -10 -7.5 -17.5t-17.5 -7.5h-1150q-10 0 -17.5 7.5t-7.5 17.5v1050q0 10 7.5 17.5t17.5 7.5zM100 1000v-100h100v100h-100zM875 1000h-550q-10 0 -17.5 -7.5t-7.5 -17.5v-350q0 -10 7.5 -17.5t17.5 -7.5h550 q10 0 17.5 7.5t7.5 17.5v350q0 10 -7.5 17.5t-17.5 7.5zM1000 1000v-100h100v100h-100zM100 800v-100h100v100h-100zM1000 800v-100h100v100h-100zM100 600v-100h100v100h-100zM1000 600v-100h100v100h-100zM875 500h-550q-10 0 -17.5 -7.5t-7.5 -17.5v-350q0 -10 7.5 -17.5 t17.5 -7.5h550q10 0 17.5 7.5t7.5 17.5v350q0 10 -7.5 17.5t-17.5 7.5zM100 400v-100h100v100h-100zM1000 400v-100h100v100h-100zM100 200v-100h100v100h-100zM1000 200v-100h100v100h-100z" />
+<glyph unicode="&#xe010;" d="M50 1100h400q21 0 35.5 -14.5t14.5 -35.5v-400q0 -21 -14.5 -35.5t-35.5 -14.5h-400q-21 0 -35.5 14.5t-14.5 35.5v400q0 21 14.5 35.5t35.5 14.5zM650 1100h400q21 0 35.5 -14.5t14.5 -35.5v-400q0 -21 -14.5 -35.5t-35.5 -14.5h-400q-21 0 -35.5 14.5t-14.5 35.5v400 q0 21 14.5 35.5t35.5 14.5zM50 500h400q21 0 35.5 -14.5t14.5 -35.5v-400q0 -21 -14.5 -35.5t-35.5 -14.5h-400q-21 0 -35.5 14.5t-14.5 35.5v400q0 21 14.5 35.5t35.5 14.5zM650 500h400q21 0 35.5 -14.5t14.5 -35.5v-400q0 -21 -14.5 -35.5t-35.5 -14.5h-400 q-21 0 -35.5 14.5t-14.5 35.5v400q0 21 14.5 35.5t35.5 14.5z" />
+<glyph unicode="&#xe011;" d="M50 1100h200q21 0 35.5 -14.5t14.5 -35.5v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5v200q0 21 14.5 35.5t35.5 14.5zM450 1100h200q21 0 35.5 -14.5t14.5 -35.5v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5v200 q0 21 14.5 35.5t35.5 14.5zM850 1100h200q21 0 35.5 -14.5t14.5 -35.5v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5v200q0 21 14.5 35.5t35.5 14.5zM50 700h200q21 0 35.5 -14.5t14.5 -35.5v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-200 q-21 0 -35.5 14.5t-14.5 35.5v200q0 21 14.5 35.5t35.5 14.5zM450 700h200q21 0 35.5 -14.5t14.5 -35.5v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5v200q0 21 14.5 35.5t35.5 14.5zM850 700h200q21 0 35.5 -14.5t14.5 -35.5v-200 q0 -21 -14.5 -35.5t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5v200q0 21 14.5 35.5t35.5 14.5zM50 300h200q21 0 35.5 -14.5t14.5 -35.5v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5v200q0 21 14.5 35.5t35.5 14.5zM450 300h200 q21 0 35.5 -14.5t14.5 -35.5v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5v200q0 21 14.5 35.5t35.5 14.5zM850 300h200q21 0 35.5 -14.5t14.5 -35.5v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5v200q0 21 14.5 35.5 t35.5 14.5z" />
+<glyph unicode="&#xe012;" d="M50 1100h200q21 0 35.5 -14.5t14.5 -35.5v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5v200q0 21 14.5 35.5t35.5 14.5zM450 1100h700q21 0 35.5 -14.5t14.5 -35.5v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-700q-21 0 -35.5 14.5t-14.5 35.5v200 q0 21 14.5 35.5t35.5 14.5zM50 700h200q21 0 35.5 -14.5t14.5 -35.5v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5v200q0 21 14.5 35.5t35.5 14.5zM450 700h700q21 0 35.5 -14.5t14.5 -35.5v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-700 q-21 0 -35.5 14.5t-14.5 35.5v200q0 21 14.5 35.5t35.5 14.5zM50 300h200q21 0 35.5 -14.5t14.5 -35.5v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5v200q0 21 14.5 35.5t35.5 14.5zM450 300h700q21 0 35.5 -14.5t14.5 -35.5v-200 q0 -21 -14.5 -35.5t-35.5 -14.5h-700q-21 0 -35.5 14.5t-14.5 35.5v200q0 21 14.5 35.5t35.5 14.5z" />
+<glyph unicode="&#xe013;" d="M465 477l571 571q8 8 18 8t17 -8l177 -177q8 -7 8 -17t-8 -18l-783 -784q-7 -8 -17.5 -8t-17.5 8l-384 384q-8 8 -8 18t8 17l177 177q7 8 17 8t18 -8l171 -171q7 -7 18 -7t18 7z" />
+<glyph unicode="&#xe014;" d="M904 1083l178 -179q8 -8 8 -18.5t-8 -17.5l-267 -268l267 -268q8 -7 8 -17.5t-8 -18.5l-178 -178q-8 -8 -18.5 -8t-17.5 8l-268 267l-268 -267q-7 -8 -17.5 -8t-18.5 8l-178 178q-8 8 -8 18.5t8 17.5l267 268l-267 268q-8 7 -8 17.5t8 18.5l178 178q8 8 18.5 8t17.5 -8 l268 -267l268 268q7 7 17.5 7t18.5 -7z" />
+<glyph unicode="&#xe015;" d="M507 1177q98 0 187.5 -38.5t154.5 -103.5t103.5 -154.5t38.5 -187.5q0 -141 -78 -262l300 -299q8 -8 8 -18.5t-8 -18.5l-109 -108q-7 -8 -17.5 -8t-18.5 8l-300 299q-119 -77 -261 -77q-98 0 -188 38.5t-154.5 103t-103 154.5t-38.5 188t38.5 187.5t103 154.5 t154.5 103.5t188 38.5zM506.5 1023q-89.5 0 -165.5 -44t-120 -120.5t-44 -166t44 -165.5t120 -120t165.5 -44t166 44t120.5 120t44 165.5t-44 166t-120.5 120.5t-166 44zM425 900h150q10 0 17.5 -7.5t7.5 -17.5v-75h75q10 0 17.5 -7.5t7.5 -17.5v-150q0 -10 -7.5 -17.5 t-17.5 -7.5h-75v-75q0 -10 -7.5 -17.5t-17.5 -7.5h-150q-10 0 -17.5 7.5t-7.5 17.5v75h-75q-10 0 -17.5 7.5t-7.5 17.5v150q0 10 7.5 17.5t17.5 7.5h75v75q0 10 7.5 17.5t17.5 7.5z" />
+<glyph unicode="&#xe016;" d="M507 1177q98 0 187.5 -38.5t154.5 -103.5t103.5 -154.5t38.5 -187.5q0 -141 -78 -262l300 -299q8 -8 8 -18.5t-8 -18.5l-109 -108q-7 -8 -17.5 -8t-18.5 8l-300 299q-119 -77 -261 -77q-98 0 -188 38.5t-154.5 103t-103 154.5t-38.5 188t38.5 187.5t103 154.5 t154.5 103.5t188 38.5zM506.5 1023q-89.5 0 -165.5 -44t-120 -120.5t-44 -166t44 -165.5t120 -120t165.5 -44t166 44t120.5 120t44 165.5t-44 166t-120.5 120.5t-166 44zM325 800h350q10 0 17.5 -7.5t7.5 -17.5v-150q0 -10 -7.5 -17.5t-17.5 -7.5h-350q-10 0 -17.5 7.5 t-7.5 17.5v150q0 10 7.5 17.5t17.5 7.5z" />
+<glyph unicode="&#xe017;" d="M550 1200h100q21 0 35.5 -14.5t14.5 -35.5v-400q0 -21 -14.5 -35.5t-35.5 -14.5h-100q-21 0 -35.5 14.5t-14.5 35.5v400q0 21 14.5 35.5t35.5 14.5zM800 975v166q167 -62 272 -209.5t105 -331.5q0 -117 -45.5 -224t-123 -184.5t-184.5 -123t-224 -45.5t-224 45.5 t-184.5 123t-123 184.5t-45.5 224q0 184 105 331.5t272 209.5v-166q-103 -55 -165 -155t-62 -220q0 -116 57 -214.5t155.5 -155.5t214.5 -57t214.5 57t155.5 155.5t57 214.5q0 120 -62 220t-165 155z" />
+<glyph unicode="&#xe018;" d="M1025 1200h150q10 0 17.5 -7.5t7.5 -17.5v-1150q0 -10 -7.5 -17.5t-17.5 -7.5h-150q-10 0 -17.5 7.5t-7.5 17.5v1150q0 10 7.5 17.5t17.5 7.5zM725 800h150q10 0 17.5 -7.5t7.5 -17.5v-750q0 -10 -7.5 -17.5t-17.5 -7.5h-150q-10 0 -17.5 7.5t-7.5 17.5v750 q0 10 7.5 17.5t17.5 7.5zM425 500h150q10 0 17.5 -7.5t7.5 -17.5v-450q0 -10 -7.5 -17.5t-17.5 -7.5h-150q-10 0 -17.5 7.5t-7.5 17.5v450q0 10 7.5 17.5t17.5 7.5zM125 300h150q10 0 17.5 -7.5t7.5 -17.5v-250q0 -10 -7.5 -17.5t-17.5 -7.5h-150q-10 0 -17.5 7.5t-7.5 17.5 v250q0 10 7.5 17.5t17.5 7.5z" />
+<glyph unicode="&#xe019;" d="M600 1174q33 0 74 -5l38 -152l5 -1q49 -14 94 -39l5 -2l134 80q61 -48 104 -105l-80 -134l3 -5q25 -44 39 -93l1 -6l152 -38q5 -43 5 -73q0 -34 -5 -74l-152 -38l-1 -6q-15 -49 -39 -93l-3 -5l80 -134q-48 -61 -104 -105l-134 81l-5 -3q-44 -25 -94 -39l-5 -2l-38 -151 q-43 -5 -74 -5q-33 0 -74 5l-38 151l-5 2q-49 14 -94 39l-5 3l-134 -81q-60 48 -104 105l80 134l-3 5q-25 45 -38 93l-2 6l-151 38q-6 42 -6 74q0 33 6 73l151 38l2 6q13 48 38 93l3 5l-80 134q47 61 105 105l133 -80l5 2q45 25 94 39l5 1l38 152q43 5 74 5zM600 815 q-89 0 -152 -63t-63 -151.5t63 -151.5t152 -63t152 63t63 151.5t-63 151.5t-152 63z" />
+<glyph unicode="&#xe020;" d="M500 1300h300q41 0 70.5 -29.5t29.5 -70.5v-100h275q10 0 17.5 -7.5t7.5 -17.5v-75h-1100v75q0 10 7.5 17.5t17.5 7.5h275v100q0 41 29.5 70.5t70.5 29.5zM500 1200v-100h300v100h-300zM1100 900v-800q0 -41 -29.5 -70.5t-70.5 -29.5h-700q-41 0 -70.5 29.5t-29.5 70.5 v800h900zM300 800v-700h100v700h-100zM500 800v-700h100v700h-100zM700 800v-700h100v700h-100zM900 800v-700h100v700h-100z" />
+<glyph unicode="&#xe021;" d="M18 618l620 608q8 7 18.5 7t17.5 -7l608 -608q8 -8 5.5 -13t-12.5 -5h-175v-575q0 -10 -7.5 -17.5t-17.5 -7.5h-250q-10 0 -17.5 7.5t-7.5 17.5v375h-300v-375q0 -10 -7.5 -17.5t-17.5 -7.5h-250q-10 0 -17.5 7.5t-7.5 17.5v575h-175q-10 0 -12.5 5t5.5 13z" />
+<glyph unicode="&#xe022;" d="M600 1200v-400q0 -41 29.5 -70.5t70.5 -29.5h300v-650q0 -21 -14.5 -35.5t-35.5 -14.5h-800q-21 0 -35.5 14.5t-14.5 35.5v1100q0 21 14.5 35.5t35.5 14.5h450zM1000 800h-250q-21 0 -35.5 14.5t-14.5 35.5v250z" />
+<glyph unicode="&#xe023;" d="M600 1177q117 0 224 -45.5t184.5 -123t123 -184.5t45.5 -224t-45.5 -224t-123 -184.5t-184.5 -123t-224 -45.5t-224 45.5t-184.5 123t-123 184.5t-45.5 224t45.5 224t123 184.5t184.5 123t224 45.5zM600 1027q-116 0 -214.5 -57t-155.5 -155.5t-57 -214.5t57 -214.5 t155.5 -155.5t214.5 -57t214.5 57t155.5 155.5t57 214.5t-57 214.5t-155.5 155.5t-214.5 57zM525 900h50q10 0 17.5 -7.5t7.5 -17.5v-275h175q10 0 17.5 -7.5t7.5 -17.5v-50q0 -10 -7.5 -17.5t-17.5 -7.5h-250q-10 0 -17.5 7.5t-7.5 17.5v350q0 10 7.5 17.5t17.5 7.5z" />
+<glyph unicode="&#xe024;" d="M1300 0h-538l-41 400h-242l-41 -400h-538l431 1200h209l-21 -300h162l-20 300h208zM515 800l-27 -300h224l-27 300h-170z" />
+<glyph unicode="&#xe025;" d="M550 1200h200q21 0 35.5 -14.5t14.5 -35.5v-450h191q20 0 25.5 -11.5t-7.5 -27.5l-327 -400q-13 -16 -32 -16t-32 16l-327 400q-13 16 -7.5 27.5t25.5 11.5h191v450q0 21 14.5 35.5t35.5 14.5zM1125 400h50q10 0 17.5 -7.5t7.5 -17.5v-350q0 -10 -7.5 -17.5t-17.5 -7.5 h-1050q-10 0 -17.5 7.5t-7.5 17.5v350q0 10 7.5 17.5t17.5 7.5h50q10 0 17.5 -7.5t7.5 -17.5v-175h900v175q0 10 7.5 17.5t17.5 7.5z" />
+<glyph unicode="&#xe026;" d="M600 1177q117 0 224 -45.5t184.5 -123t123 -184.5t45.5 -224t-45.5 -224t-123 -184.5t-184.5 -123t-224 -45.5t-224 45.5t-184.5 123t-123 184.5t-45.5 224t45.5 224t123 184.5t184.5 123t224 45.5zM600 1027q-116 0 -214.5 -57t-155.5 -155.5t-57 -214.5t57 -214.5 t155.5 -155.5t214.5 -57t214.5 57t155.5 155.5t57 214.5t-57 214.5t-155.5 155.5t-214.5 57zM525 900h150q10 0 17.5 -7.5t7.5 -17.5v-275h137q21 0 26 -11.5t-8 -27.5l-223 -275q-13 -16 -32 -16t-32 16l-223 275q-13 16 -8 27.5t26 11.5h137v275q0 10 7.5 17.5t17.5 7.5z " />
+<glyph unicode="&#xe027;" d="M600 1177q117 0 224 -45.5t184.5 -123t123 -184.5t45.5 -224t-45.5 -224t-123 -184.5t-184.5 -123t-224 -45.5t-224 45.5t-184.5 123t-123 184.5t-45.5 224t45.5 224t123 184.5t184.5 123t224 45.5zM600 1027q-116 0 -214.5 -57t-155.5 -155.5t-57 -214.5t57 -214.5 t155.5 -155.5t214.5 -57t214.5 57t155.5 155.5t57 214.5t-57 214.5t-155.5 155.5t-214.5 57zM632 914l223 -275q13 -16 8 -27.5t-26 -11.5h-137v-275q0 -10 -7.5 -17.5t-17.5 -7.5h-150q-10 0 -17.5 7.5t-7.5 17.5v275h-137q-21 0 -26 11.5t8 27.5l223 275q13 16 32 16 t32 -16z" />
+<glyph unicode="&#xe028;" d="M225 1200h750q10 0 19.5 -7t12.5 -17l186 -652q7 -24 7 -49v-425q0 -12 -4 -27t-9 -17q-12 -6 -37 -6h-1100q-12 0 -27 4t-17 8q-6 13 -6 38l1 425q0 25 7 49l185 652q3 10 12.5 17t19.5 7zM878 1000h-556q-10 0 -19 -7t-11 -18l-87 -450q-2 -11 4 -18t16 -7h150 q10 0 19.5 -7t11.5 -17l38 -152q2 -10 11.5 -17t19.5 -7h250q10 0 19.5 7t11.5 17l38 152q2 10 11.5 17t19.5 7h150q10 0 16 7t4 18l-87 450q-2 11 -11 18t-19 7z" />
+<glyph unicode="&#xe029;" d="M600 1177q117 0 224 -45.5t184.5 -123t123 -184.5t45.5 -224t-45.5 -224t-123 -184.5t-184.5 -123t-224 -45.5t-224 45.5t-184.5 123t-123 184.5t-45.5 224t45.5 224t123 184.5t184.5 123t224 45.5zM600 1027q-116 0 -214.5 -57t-155.5 -155.5t-57 -214.5t57 -214.5 t155.5 -155.5t214.5 -57t214.5 57t155.5 155.5t57 214.5t-57 214.5t-155.5 155.5t-214.5 57zM540 820l253 -190q17 -12 17 -30t-17 -30l-253 -190q-16 -12 -28 -6.5t-12 26.5v400q0 21 12 26.5t28 -6.5z" />
+<glyph unicode="&#xe030;" d="M947 1060l135 135q7 7 12.5 5t5.5 -13v-362q0 -10 -7.5 -17.5t-17.5 -7.5h-362q-11 0 -13 5.5t5 12.5l133 133q-109 76 -238 76q-116 0 -214.5 -57t-155.5 -155.5t-57 -214.5t57 -214.5t155.5 -155.5t214.5 -57t214.5 57t155.5 155.5t57 214.5h150q0 -117 -45.5 -224 t-123 -184.5t-184.5 -123t-224 -45.5t-224 45.5t-184.5 123t-123 184.5t-45.5 224t45.5 224t123 184.5t184.5 123t224 45.5q192 0 347 -117z" />
+<glyph unicode="&#xe031;" d="M947 1060l135 135q7 7 12.5 5t5.5 -13v-361q0 -11 -7.5 -18.5t-18.5 -7.5h-361q-11 0 -13 5.5t5 12.5l134 134q-110 75 -239 75q-116 0 -214.5 -57t-155.5 -155.5t-57 -214.5h-150q0 117 45.5 224t123 184.5t184.5 123t224 45.5q192 0 347 -117zM1027 600h150 q0 -117 -45.5 -224t-123 -184.5t-184.5 -123t-224 -45.5q-192 0 -348 118l-134 -134q-7 -8 -12.5 -5.5t-5.5 12.5v360q0 11 7.5 18.5t18.5 7.5h360q10 0 12.5 -5.5t-5.5 -12.5l-133 -133q110 -76 240 -76q116 0 214.5 57t155.5 155.5t57 214.5z" />
+<glyph unicode="&#xe032;" d="M125 1200h1050q10 0 17.5 -7.5t7.5 -17.5v-1150q0 -10 -7.5 -17.5t-17.5 -7.5h-1050q-10 0 -17.5 7.5t-7.5 17.5v1150q0 10 7.5 17.5t17.5 7.5zM1075 1000h-850q-10 0 -17.5 -7.5t-7.5 -17.5v-850q0 -10 7.5 -17.5t17.5 -7.5h850q10 0 17.5 7.5t7.5 17.5v850 q0 10 -7.5 17.5t-17.5 7.5zM325 900h50q10 0 17.5 -7.5t7.5 -17.5v-50q0 -10 -7.5 -17.5t-17.5 -7.5h-50q-10 0 -17.5 7.5t-7.5 17.5v50q0 10 7.5 17.5t17.5 7.5zM525 900h450q10 0 17.5 -7.5t7.5 -17.5v-50q0 -10 -7.5 -17.5t-17.5 -7.5h-450q-10 0 -17.5 7.5t-7.5 17.5v50 q0 10 7.5 17.5t17.5 7.5zM325 700h50q10 0 17.5 -7.5t7.5 -17.5v-50q0 -10 -7.5 -17.5t-17.5 -7.5h-50q-10 0 -17.5 7.5t-7.5 17.5v50q0 10 7.5 17.5t17.5 7.5zM525 700h450q10 0 17.5 -7.5t7.5 -17.5v-50q0 -10 -7.5 -17.5t-17.5 -7.5h-450q-10 0 -17.5 7.5t-7.5 17.5v50 q0 10 7.5 17.5t17.5 7.5zM325 500h50q10 0 17.5 -7.5t7.5 -17.5v-50q0 -10 -7.5 -17.5t-17.5 -7.5h-50q-10 0 -17.5 7.5t-7.5 17.5v50q0 10 7.5 17.5t17.5 7.5zM525 500h450q10 0 17.5 -7.5t7.5 -17.5v-50q0 -10 -7.5 -17.5t-17.5 -7.5h-450q-10 0 -17.5 7.5t-7.5 17.5v50 q0 10 7.5 17.5t17.5 7.5zM325 300h50q10 0 17.5 -7.5t7.5 -17.5v-50q0 -10 -7.5 -17.5t-17.5 -7.5h-50q-10 0 -17.5 7.5t-7.5 17.5v50q0 10 7.5 17.5t17.5 7.5zM525 300h450q10 0 17.5 -7.5t7.5 -17.5v-50q0 -10 -7.5 -17.5t-17.5 -7.5h-450q-10 0 -17.5 7.5t-7.5 17.5v50 q0 10 7.5 17.5t17.5 7.5z" />
+<glyph unicode="&#xe033;" d="M900 800v200q0 83 -58.5 141.5t-141.5 58.5h-300q-82 0 -141 -59t-59 -141v-200h-100q-41 0 -70.5 -29.5t-29.5 -70.5v-600q0 -41 29.5 -70.5t70.5 -29.5h900q41 0 70.5 29.5t29.5 70.5v600q0 41 -29.5 70.5t-70.5 29.5h-100zM400 800v150q0 21 15 35.5t35 14.5h200 q20 0 35 -14.5t15 -35.5v-150h-300z" />
+<glyph unicode="&#xe034;" d="M125 1100h50q10 0 17.5 -7.5t7.5 -17.5v-1075h-100v1075q0 10 7.5 17.5t17.5 7.5zM1075 1052q4 0 9 -2q16 -6 16 -23v-421q0 -6 -3 -12q-33 -59 -66.5 -99t-65.5 -58t-56.5 -24.5t-52.5 -6.5q-26 0 -57.5 6.5t-52.5 13.5t-60 21q-41 15 -63 22.5t-57.5 15t-65.5 7.5 q-85 0 -160 -57q-7 -5 -15 -5q-6 0 -11 3q-14 7 -14 22v438q22 55 82 98.5t119 46.5q23 2 43 0.5t43 -7t32.5 -8.5t38 -13t32.5 -11q41 -14 63.5 -21t57 -14t63.5 -7q103 0 183 87q7 8 18 8z" />
+<glyph unicode="&#xe035;" d="M600 1175q116 0 227 -49.5t192.5 -131t131 -192.5t49.5 -227v-300q0 -10 -7.5 -17.5t-17.5 -7.5h-50q-10 0 -17.5 7.5t-7.5 17.5v300q0 127 -70.5 231.5t-184.5 161.5t-245 57t-245 -57t-184.5 -161.5t-70.5 -231.5v-300q0 -10 -7.5 -17.5t-17.5 -7.5h-50 q-10 0 -17.5 7.5t-7.5 17.5v300q0 116 49.5 227t131 192.5t192.5 131t227 49.5zM220 500h160q8 0 14 -6t6 -14v-460q0 -8 -6 -14t-14 -6h-160q-8 0 -14 6t-6 14v460q0 8 6 14t14 6zM820 500h160q8 0 14 -6t6 -14v-460q0 -8 -6 -14t-14 -6h-160q-8 0 -14 6t-6 14v460 q0 8 6 14t14 6z" />
+<glyph unicode="&#xe036;" d="M321 814l258 172q9 6 15 2.5t6 -13.5v-750q0 -10 -6 -13.5t-15 2.5l-258 172q-21 14 -46 14h-250q-10 0 -17.5 7.5t-7.5 17.5v350q0 10 7.5 17.5t17.5 7.5h250q25 0 46 14zM900 668l120 120q7 7 17 7t17 -7l34 -34q7 -7 7 -17t-7 -17l-120 -120l120 -120q7 -7 7 -17 t-7 -17l-34 -34q-7 -7 -17 -7t-17 7l-120 119l-120 -119q-7 -7 -17 -7t-17 7l-34 34q-7 7 -7 17t7 17l119 120l-119 120q-7 7 -7 17t7 17l34 34q7 8 17 8t17 -8z" />
+<glyph unicode="&#xe037;" d="M321 814l258 172q9 6 15 2.5t6 -13.5v-750q0 -10 -6 -13.5t-15 2.5l-258 172q-21 14 -46 14h-250q-10 0 -17.5 7.5t-7.5 17.5v350q0 10 7.5 17.5t17.5 7.5h250q25 0 46 14zM766 900h4q10 -1 16 -10q96 -129 96 -290q0 -154 -90 -281q-6 -9 -17 -10l-3 -1q-9 0 -16 6 l-29 23q-7 7 -8.5 16.5t4.5 17.5q72 103 72 229q0 132 -78 238q-6 8 -4.5 18t9.5 17l29 22q7 5 15 5z" />
+<glyph unicode="&#xe038;" d="M967 1004h3q11 -1 17 -10q135 -179 135 -396q0 -105 -34 -206.5t-98 -185.5q-7 -9 -17 -10h-3q-9 0 -16 6l-42 34q-8 6 -9 16t5 18q111 150 111 328q0 90 -29.5 176t-84.5 157q-6 9 -5 19t10 16l42 33q7 5 15 5zM321 814l258 172q9 6 15 2.5t6 -13.5v-750q0 -10 -6 -13.5 t-15 2.5l-258 172q-21 14 -46 14h-250q-10 0 -17.5 7.5t-7.5 17.5v350q0 10 7.5 17.5t17.5 7.5h250q25 0 46 14zM766 900h4q10 -1 16 -10q96 -129 96 -290q0 -154 -90 -281q-6 -9 -17 -10l-3 -1q-9 0 -16 6l-29 23q-7 7 -8.5 16.5t4.5 17.5q72 103 72 229q0 132 -78 238 q-6 8 -4.5 18.5t9.5 16.5l29 22q7 5 15 5z" />
+<glyph unicode="&#xe039;" d="M500 900h100v-100h-100v-100h-400v-100h-100v600h500v-300zM1200 700h-200v-100h200v-200h-300v300h-200v300h-100v200h600v-500zM100 1100v-300h300v300h-300zM800 1100v-300h300v300h-300zM300 900h-100v100h100v-100zM1000 900h-100v100h100v-100zM300 500h200v-500 h-500v500h200v100h100v-100zM800 300h200v-100h-100v-100h-200v100h-100v100h100v200h-200v100h300v-300zM100 400v-300h300v300h-300zM300 200h-100v100h100v-100zM1200 200h-100v100h100v-100zM700 0h-100v100h100v-100zM1200 0h-300v100h300v-100z" />
+<glyph unicode="&#xe040;" d="M100 200h-100v1000h100v-1000zM300 200h-100v1000h100v-1000zM700 200h-200v1000h200v-1000zM900 200h-100v1000h100v-1000zM1200 200h-200v1000h200v-1000zM400 0h-300v100h300v-100zM600 0h-100v91h100v-91zM800 0h-100v91h100v-91zM1100 0h-200v91h200v-91z" />
+<glyph unicode="&#xe041;" d="M500 1200l682 -682q8 -8 8 -18t-8 -18l-464 -464q-8 -8 -18 -8t-18 8l-682 682l1 475q0 10 7.5 17.5t17.5 7.5h474zM319.5 1024.5q-29.5 29.5 -71 29.5t-71 -29.5t-29.5 -71.5t29.5 -71.5t71 -29.5t71 29.5t29.5 71.5t-29.5 71.5z" />
+<glyph unicode="&#xe042;" d="M500 1200l682 -682q8 -8 8 -18t-8 -18l-464 -464q-8 -8 -18 -8t-18 8l-682 682l1 475q0 10 7.5 17.5t17.5 7.5h474zM800 1200l682 -682q8 -8 8 -18t-8 -18l-464 -464q-8 -8 -18 -8t-18 8l-56 56l424 426l-700 700h150zM319.5 1024.5q-29.5 29.5 -71 29.5t-71 -29.5 t-29.5 -71.5t29.5 -71.5t71 -29.5t71 29.5t29.5 71.5t-29.5 71.5z" />
+<glyph unicode="&#xe043;" d="M300 1200h825q75 0 75 -75v-900q0 -25 -18 -43l-64 -64q-8 -8 -13 -5.5t-5 12.5v950q0 10 -7.5 17.5t-17.5 7.5h-700q-25 0 -43 -18l-64 -64q-8 -8 -5.5 -13t12.5 -5h700q10 0 17.5 -7.5t7.5 -17.5v-950q0 -10 -7.5 -17.5t-17.5 -7.5h-850q-10 0 -17.5 7.5t-7.5 17.5v975 q0 25 18 43l139 139q18 18 43 18z" />
+<glyph unicode="&#xe044;" d="M250 1200h800q21 0 35.5 -14.5t14.5 -35.5v-1150l-450 444l-450 -445v1151q0 21 14.5 35.5t35.5 14.5z" />
+<glyph unicode="&#xe045;" d="M822 1200h-444q-11 0 -19 -7.5t-9 -17.5l-78 -301q-7 -24 7 -45l57 -108q6 -9 17.5 -15t21.5 -6h450q10 0 21.5 6t17.5 15l62 108q14 21 7 45l-83 301q-1 10 -9 17.5t-19 7.5zM1175 800h-150q-10 0 -21 -6.5t-15 -15.5l-78 -156q-4 -9 -15 -15.5t-21 -6.5h-550 q-10 0 -21 6.5t-15 15.5l-78 156q-4 9 -15 15.5t-21 6.5h-150q-10 0 -17.5 -7.5t-7.5 -17.5v-650q0 -10 7.5 -17.5t17.5 -7.5h150q10 0 17.5 7.5t7.5 17.5v150q0 10 7.5 17.5t17.5 7.5h750q10 0 17.5 -7.5t7.5 -17.5v-150q0 -10 7.5 -17.5t17.5 -7.5h150q10 0 17.5 7.5 t7.5 17.5v650q0 10 -7.5 17.5t-17.5 7.5zM850 200h-500q-10 0 -19.5 -7t-11.5 -17l-38 -152q-2 -10 3.5 -17t15.5 -7h600q10 0 15.5 7t3.5 17l-38 152q-2 10 -11.5 17t-19.5 7z" />
+<glyph unicode="&#xe046;" d="M500 1100h200q56 0 102.5 -20.5t72.5 -50t44 -59t25 -50.5l6 -20h150q41 0 70.5 -29.5t29.5 -70.5v-600q0 -41 -29.5 -70.5t-70.5 -29.5h-1000q-41 0 -70.5 29.5t-29.5 70.5v600q0 41 29.5 70.5t70.5 29.5h150q2 8 6.5 21.5t24 48t45 61t72 48t102.5 21.5zM900 800v-100 h100v100h-100zM600 730q-95 0 -162.5 -67.5t-67.5 -162.5t67.5 -162.5t162.5 -67.5t162.5 67.5t67.5 162.5t-67.5 162.5t-162.5 67.5zM600 603q43 0 73 -30t30 -73t-30 -73t-73 -30t-73 30t-30 73t30 73t73 30z" />
+<glyph unicode="&#xe047;" d="M681 1199l385 -998q20 -50 60 -92q18 -19 36.5 -29.5t27.5 -11.5l10 -2v-66h-417v66q53 0 75 43.5t5 88.5l-82 222h-391q-58 -145 -92 -234q-11 -34 -6.5 -57t25.5 -37t46 -20t55 -6v-66h-365v66q56 24 84 52q12 12 25 30.5t20 31.5l7 13l399 1006h93zM416 521h340 l-162 457z" />
+<glyph unicode="&#xe048;" d="M753 641q5 -1 14.5 -4.5t36 -15.5t50.5 -26.5t53.5 -40t50.5 -54.5t35.5 -70t14.5 -87q0 -67 -27.5 -125.5t-71.5 -97.5t-98.5 -66.5t-108.5 -40.5t-102 -13h-500v89q41 7 70.5 32.5t29.5 65.5v827q0 24 -0.5 34t-3.5 24t-8.5 19.5t-17 13.5t-28 12.5t-42.5 11.5v71 l471 -1q57 0 115.5 -20.5t108 -57t80.5 -94t31 -124.5q0 -51 -15.5 -96.5t-38 -74.5t-45 -50.5t-38.5 -30.5zM400 700h139q78 0 130.5 48.5t52.5 122.5q0 41 -8.5 70.5t-29.5 55.5t-62.5 39.5t-103.5 13.5h-118v-350zM400 200h216q80 0 121 50.5t41 130.5q0 90 -62.5 154.5 t-156.5 64.5h-159v-400z" />
+<glyph unicode="&#xe049;" d="M877 1200l2 -57q-83 -19 -116 -45.5t-40 -66.5l-132 -839q-9 -49 13 -69t96 -26v-97h-500v97q186 16 200 98l173 832q3 17 3 30t-1.5 22.5t-9 17.5t-13.5 12.5t-21.5 10t-26 8.5t-33.5 10q-13 3 -19 5v57h425z" />
+<glyph unicode="&#xe050;" d="M1300 900h-50q0 21 -4 37t-9.5 26.5t-18 17.5t-22 11t-28.5 5.5t-31 2t-37 0.5h-200v-850q0 -22 25 -34.5t50 -13.5l25 -2v-100h-400v100q4 0 11 0.5t24 3t30 7t24 15t11 24.5v850h-200q-25 0 -37 -0.5t-31 -2t-28.5 -5.5t-22 -11t-18 -17.5t-9.5 -26.5t-4 -37h-50v300 h1000v-300zM175 1000h-75v-800h75l-125 -167l-125 167h75v800h-75l125 167z" />
+<glyph unicode="&#xe051;" d="M1100 900h-50q0 21 -4 37t-9.5 26.5t-18 17.5t-22 11t-28.5 5.5t-31 2t-37 0.5h-200v-650q0 -22 25 -34.5t50 -13.5l25 -2v-100h-400v100q4 0 11 0.5t24 3t30 7t24 15t11 24.5v650h-200q-25 0 -37 -0.5t-31 -2t-28.5 -5.5t-22 -11t-18 -17.5t-9.5 -26.5t-4 -37h-50v300 h1000v-300zM1167 50l-167 -125v75h-800v-75l-167 125l167 125v-75h800v75z" />
+<glyph unicode="&#xe052;" d="M50 1100h600q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-600q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5zM50 800h1000q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-1000q-21 0 -35.5 14.5t-14.5 35.5v100 q0 21 14.5 35.5t35.5 14.5zM50 500h800q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-800q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5zM50 200h1100q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-1100 q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5z" />
+<glyph unicode="&#xe053;" d="M250 1100h700q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-700q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5zM50 800h1100q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-1100q-21 0 -35.5 14.5t-14.5 35.5v100 q0 21 14.5 35.5t35.5 14.5zM250 500h700q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-700q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5zM50 200h1100q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-1100 q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5z" />
+<glyph unicode="&#xe054;" d="M500 950v100q0 21 14.5 35.5t35.5 14.5h600q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-600q-21 0 -35.5 14.5t-14.5 35.5zM100 650v100q0 21 14.5 35.5t35.5 14.5h1000q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-1000 q-21 0 -35.5 14.5t-14.5 35.5zM300 350v100q0 21 14.5 35.5t35.5 14.5h800q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-800q-21 0 -35.5 14.5t-14.5 35.5zM0 50v100q0 21 14.5 35.5t35.5 14.5h1100q21 0 35.5 -14.5t14.5 -35.5v-100 q0 -21 -14.5 -35.5t-35.5 -14.5h-1100q-21 0 -35.5 14.5t-14.5 35.5z" />
+<glyph unicode="&#xe055;" d="M50 1100h1100q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-1100q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5zM50 800h1100q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-1100q-21 0 -35.5 14.5t-14.5 35.5v100 q0 21 14.5 35.5t35.5 14.5zM50 500h1100q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-1100q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5zM50 200h1100q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-1100 q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5z" />
+<glyph unicode="&#xe056;" d="M50 1100h100q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-100q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5zM350 1100h800q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-800q-21 0 -35.5 14.5t-14.5 35.5v100 q0 21 14.5 35.5t35.5 14.5zM50 800h100q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-100q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5zM350 800h800q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-800 q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5zM50 500h100q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-100q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5zM350 500h800q21 0 35.5 -14.5t14.5 -35.5v-100 q0 -21 -14.5 -35.5t-35.5 -14.5h-800q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5zM50 200h100q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-100q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5zM350 200h800 q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-800q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5z" />
+<glyph unicode="&#xe057;" d="M400 0h-100v1100h100v-1100zM550 1100h100q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-100q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5zM550 800h500q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-500 q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5zM267 550l-167 -125v75h-200v100h200v75zM550 500h300q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-300q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5zM550 200h600 q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-600q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5z" />
+<glyph unicode="&#xe058;" d="M50 1100h100q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-100q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5zM900 0h-100v1100h100v-1100zM50 800h500q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-500 q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5zM1100 600h200v-100h-200v-75l-167 125l167 125v-75zM50 500h300q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-300q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5zM50 200h600 q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-600q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5z" />
+<glyph unicode="&#xe059;" d="M75 1000h750q31 0 53 -22t22 -53v-650q0 -31 -22 -53t-53 -22h-750q-31 0 -53 22t-22 53v650q0 31 22 53t53 22zM1200 300l-300 300l300 300v-600z" />
+<glyph unicode="&#xe060;" d="M44 1100h1112q18 0 31 -13t13 -31v-1012q0 -18 -13 -31t-31 -13h-1112q-18 0 -31 13t-13 31v1012q0 18 13 31t31 13zM100 1000v-737l247 182l298 -131l-74 156l293 318l236 -288v500h-1000zM342 884q56 0 95 -39t39 -94.5t-39 -95t-95 -39.5t-95 39.5t-39 95t39 94.5 t95 39z" />
+<glyph unicode="&#xe062;" d="M648 1169q117 0 216 -60t156.5 -161t57.5 -218q0 -115 -70 -258q-69 -109 -158 -225.5t-143 -179.5l-54 -62q-9 8 -25.5 24.5t-63.5 67.5t-91 103t-98.5 128t-95.5 148q-60 132 -60 249q0 88 34 169.5t91.5 142t137 96.5t166.5 36zM652.5 974q-91.5 0 -156.5 -65 t-65 -157t65 -156.5t156.5 -64.5t156.5 64.5t65 156.5t-65 157t-156.5 65z" />
+<glyph unicode="&#xe063;" d="M600 1177q117 0 224 -45.5t184.5 -123t123 -184.5t45.5 -224t-45.5 -224t-123 -184.5t-184.5 -123t-224 -45.5t-224 45.5t-184.5 123t-123 184.5t-45.5 224t45.5 224t123 184.5t184.5 123t224 45.5zM600 173v854q-116 0 -214.5 -57t-155.5 -155.5t-57 -214.5t57 -214.5 t155.5 -155.5t214.5 -57z" />
+<glyph unicode="&#xe064;" d="M554 1295q21 -72 57.5 -143.5t76 -130t83 -118t82.5 -117t70 -116t49.5 -126t18.5 -136.5q0 -71 -25.5 -135t-68.5 -111t-99 -82t-118.5 -54t-125.5 -23q-84 5 -161.5 34t-139.5 78.5t-99 125t-37 164.5q0 69 18 136.5t49.5 126.5t69.5 116.5t81.5 117.5t83.5 119 t76.5 131t58.5 143zM344 710q-23 -33 -43.5 -70.5t-40.5 -102.5t-17 -123q1 -37 14.5 -69.5t30 -52t41 -37t38.5 -24.5t33 -15q21 -7 32 -1t13 22l6 34q2 10 -2.5 22t-13.5 19q-5 4 -14 12t-29.5 40.5t-32.5 73.5q-26 89 6 271q2 11 -6 11q-8 1 -15 -10z" />
+<glyph unicode="&#xe065;" d="M1000 1013l108 115q2 1 5 2t13 2t20.5 -1t25 -9.5t28.5 -21.5q22 -22 27 -43t0 -32l-6 -10l-108 -115zM350 1100h400q50 0 105 -13l-187 -187h-368q-41 0 -70.5 -29.5t-29.5 -70.5v-500q0 -41 29.5 -70.5t70.5 -29.5h500q41 0 70.5 29.5t29.5 70.5v182l200 200v-332 q0 -165 -93.5 -257.5t-256.5 -92.5h-400q-165 0 -257.5 92.5t-92.5 257.5v400q0 165 92.5 257.5t257.5 92.5zM1009 803l-362 -362l-161 -50l55 170l355 355z" />
+<glyph unicode="&#xe066;" d="M350 1100h361q-164 -146 -216 -200h-195q-41 0 -70.5 -29.5t-29.5 -70.5v-500q0 -41 29.5 -70.5t70.5 -29.5h500q41 0 70.5 29.5t29.5 70.5l200 153v-103q0 -165 -92.5 -257.5t-257.5 -92.5h-400q-165 0 -257.5 92.5t-92.5 257.5v400q0 165 92.5 257.5t257.5 92.5z M824 1073l339 -301q8 -7 8 -17.5t-8 -17.5l-340 -306q-7 -6 -12.5 -4t-6.5 11v203q-26 1 -54.5 0t-78.5 -7.5t-92 -17.5t-86 -35t-70 -57q10 59 33 108t51.5 81.5t65 58.5t68.5 40.5t67 24.5t56 13.5t40 4.5v210q1 10 6.5 12.5t13.5 -4.5z" />
+<glyph unicode="&#xe067;" d="M350 1100h350q60 0 127 -23l-178 -177h-349q-41 0 -70.5 -29.5t-29.5 -70.5v-500q0 -41 29.5 -70.5t70.5 -29.5h500q41 0 70.5 29.5t29.5 70.5v69l200 200v-219q0 -165 -92.5 -257.5t-257.5 -92.5h-400q-165 0 -257.5 92.5t-92.5 257.5v400q0 165 92.5 257.5t257.5 92.5z M643 639l395 395q7 7 17.5 7t17.5 -7l101 -101q7 -7 7 -17.5t-7 -17.5l-531 -532q-7 -7 -17.5 -7t-17.5 7l-248 248q-7 7 -7 17.5t7 17.5l101 101q7 7 17.5 7t17.5 -7l111 -111q8 -7 18 -7t18 7z" />
+<glyph unicode="&#xe068;" d="M318 918l264 264q8 8 18 8t18 -8l260 -264q7 -8 4.5 -13t-12.5 -5h-170v-200h200v173q0 10 5 12t13 -5l264 -260q8 -7 8 -17.5t-8 -17.5l-264 -265q-8 -7 -13 -5t-5 12v173h-200v-200h170q10 0 12.5 -5t-4.5 -13l-260 -264q-8 -8 -18 -8t-18 8l-264 264q-8 8 -5.5 13 t12.5 5h175v200h-200v-173q0 -10 -5 -12t-13 5l-264 265q-8 7 -8 17.5t8 17.5l264 260q8 7 13 5t5 -12v-173h200v200h-175q-10 0 -12.5 5t5.5 13z" />
+<glyph unicode="&#xe069;" d="M250 1100h100q21 0 35.5 -14.5t14.5 -35.5v-438l464 453q15 14 25.5 10t10.5 -25v-1000q0 -21 -10.5 -25t-25.5 10l-464 453v-438q0 -21 -14.5 -35.5t-35.5 -14.5h-100q-21 0 -35.5 14.5t-14.5 35.5v1000q0 21 14.5 35.5t35.5 14.5z" />
+<glyph unicode="&#xe070;" d="M50 1100h100q21 0 35.5 -14.5t14.5 -35.5v-438l464 453q15 14 25.5 10t10.5 -25v-438l464 453q15 14 25.5 10t10.5 -25v-1000q0 -21 -10.5 -25t-25.5 10l-464 453v-438q0 -21 -10.5 -25t-25.5 10l-464 453v-438q0 -21 -14.5 -35.5t-35.5 -14.5h-100q-21 0 -35.5 14.5 t-14.5 35.5v1000q0 21 14.5 35.5t35.5 14.5z" />
+<glyph unicode="&#xe071;" d="M1200 1050v-1000q0 -21 -10.5 -25t-25.5 10l-464 453v-438q0 -21 -10.5 -25t-25.5 10l-492 480q-15 14 -15 35t15 35l492 480q15 14 25.5 10t10.5 -25v-438l464 453q15 14 25.5 10t10.5 -25z" />
+<glyph unicode="&#xe072;" d="M243 1074l814 -498q18 -11 18 -26t-18 -26l-814 -498q-18 -11 -30.5 -4t-12.5 28v1000q0 21 12.5 28t30.5 -4z" />
+<glyph unicode="&#xe073;" d="M250 1000h200q21 0 35.5 -14.5t14.5 -35.5v-800q0 -21 -14.5 -35.5t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5v800q0 21 14.5 35.5t35.5 14.5zM650 1000h200q21 0 35.5 -14.5t14.5 -35.5v-800q0 -21 -14.5 -35.5t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5v800 q0 21 14.5 35.5t35.5 14.5z" />
+<glyph unicode="&#xe074;" d="M1100 950v-800q0 -21 -14.5 -35.5t-35.5 -14.5h-800q-21 0 -35.5 14.5t-14.5 35.5v800q0 21 14.5 35.5t35.5 14.5h800q21 0 35.5 -14.5t14.5 -35.5z" />
+<glyph unicode="&#xe075;" d="M500 612v438q0 21 10.5 25t25.5 -10l492 -480q15 -14 15 -35t-15 -35l-492 -480q-15 -14 -25.5 -10t-10.5 25v438l-464 -453q-15 -14 -25.5 -10t-10.5 25v1000q0 21 10.5 25t25.5 -10z" />
+<glyph unicode="&#xe076;" d="M1048 1102l100 1q20 0 35 -14.5t15 -35.5l5 -1000q0 -21 -14.5 -35.5t-35.5 -14.5l-100 -1q-21 0 -35.5 14.5t-14.5 35.5l-2 437l-463 -454q-14 -15 -24.5 -10.5t-10.5 25.5l-2 437l-462 -455q-15 -14 -25.5 -9.5t-10.5 24.5l-5 1000q0 21 10.5 25.5t25.5 -10.5l466 -450 l-2 438q0 20 10.5 24.5t25.5 -9.5l466 -451l-2 438q0 21 14.5 35.5t35.5 14.5z" />
+<glyph unicode="&#xe077;" d="M850 1100h100q21 0 35.5 -14.5t14.5 -35.5v-1000q0 -21 -14.5 -35.5t-35.5 -14.5h-100q-21 0 -35.5 14.5t-14.5 35.5v438l-464 -453q-15 -14 -25.5 -10t-10.5 25v1000q0 21 10.5 25t25.5 -10l464 -453v438q0 21 14.5 35.5t35.5 14.5z" />
+<glyph unicode="&#xe078;" d="M686 1081l501 -540q15 -15 10.5 -26t-26.5 -11h-1042q-22 0 -26.5 11t10.5 26l501 540q15 15 36 15t36 -15zM150 400h1000q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-1000q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5z" />
+<glyph unicode="&#xe079;" d="M885 900l-352 -353l352 -353l-197 -198l-552 552l552 550z" />
+<glyph unicode="&#xe080;" d="M1064 547l-551 -551l-198 198l353 353l-353 353l198 198z" />
+<glyph unicode="&#xe081;" d="M600 1177q117 0 224 -45.5t184.5 -123t123 -184.5t45.5 -224t-45.5 -224t-123 -184.5t-184.5 -123t-224 -45.5t-224 45.5t-184.5 123t-123 184.5t-45.5 224t45.5 224t123 184.5t184.5 123t224 45.5zM650 900h-100q-21 0 -35.5 -14.5t-14.5 -35.5v-150h-150 q-21 0 -35.5 -14.5t-14.5 -35.5v-100q0 -21 14.5 -35.5t35.5 -14.5h150v-150q0 -21 14.5 -35.5t35.5 -14.5h100q21 0 35.5 14.5t14.5 35.5v150h150q21 0 35.5 14.5t14.5 35.5v100q0 21 -14.5 35.5t-35.5 14.5h-150v150q0 21 -14.5 35.5t-35.5 14.5z" />
+<glyph unicode="&#xe082;" d="M600 1177q117 0 224 -45.5t184.5 -123t123 -184.5t45.5 -224t-45.5 -224t-123 -184.5t-184.5 -123t-224 -45.5t-224 45.5t-184.5 123t-123 184.5t-45.5 224t45.5 224t123 184.5t184.5 123t224 45.5zM850 700h-500q-21 0 -35.5 -14.5t-14.5 -35.5v-100q0 -21 14.5 -35.5 t35.5 -14.5h500q21 0 35.5 14.5t14.5 35.5v100q0 21 -14.5 35.5t-35.5 14.5z" />
+<glyph unicode="&#xe083;" d="M600 1177q117 0 224 -45.5t184.5 -123t123 -184.5t45.5 -224t-45.5 -224t-123 -184.5t-184.5 -123t-224 -45.5t-224 45.5t-184.5 123t-123 184.5t-45.5 224t45.5 224t123 184.5t184.5 123t224 45.5zM741.5 913q-12.5 0 -21.5 -9l-120 -120l-120 120q-9 9 -21.5 9 t-21.5 -9l-141 -141q-9 -9 -9 -21.5t9 -21.5l120 -120l-120 -120q-9 -9 -9 -21.5t9 -21.5l141 -141q9 -9 21.5 -9t21.5 9l120 120l120 -120q9 -9 21.5 -9t21.5 9l141 141q9 9 9 21.5t-9 21.5l-120 120l120 120q9 9 9 21.5t-9 21.5l-141 141q-9 9 -21.5 9z" />
+<glyph unicode="&#xe084;" d="M600 1177q117 0 224 -45.5t184.5 -123t123 -184.5t45.5 -224t-45.5 -224t-123 -184.5t-184.5 -123t-224 -45.5t-224 45.5t-184.5 123t-123 184.5t-45.5 224t45.5 224t123 184.5t184.5 123t224 45.5zM546 623l-84 85q-7 7 -17.5 7t-18.5 -7l-139 -139q-7 -8 -7 -18t7 -18 l242 -241q7 -8 17.5 -8t17.5 8l375 375q7 7 7 17.5t-7 18.5l-139 139q-7 7 -17.5 7t-17.5 -7z" />
+<glyph unicode="&#xe085;" d="M600 1177q117 0 224 -45.5t184.5 -123t123 -184.5t45.5 -224t-45.5 -224t-123 -184.5t-184.5 -123t-224 -45.5t-224 45.5t-184.5 123t-123 184.5t-45.5 224t45.5 224t123 184.5t184.5 123t224 45.5zM588 941q-29 0 -59 -5.5t-63 -20.5t-58 -38.5t-41.5 -63t-16.5 -89.5 q0 -25 20 -25h131q30 -5 35 11q6 20 20.5 28t45.5 8q20 0 31.5 -10.5t11.5 -28.5q0 -23 -7 -34t-26 -18q-1 0 -13.5 -4t-19.5 -7.5t-20 -10.5t-22 -17t-18.5 -24t-15.5 -35t-8 -46q-1 -8 5.5 -16.5t20.5 -8.5h173q7 0 22 8t35 28t37.5 48t29.5 74t12 100q0 47 -17 83 t-42.5 57t-59.5 34.5t-64 18t-59 4.5zM675 400h-150q-10 0 -17.5 -7.5t-7.5 -17.5v-150q0 -10 7.5 -17.5t17.5 -7.5h150q10 0 17.5 7.5t7.5 17.5v150q0 10 -7.5 17.5t-17.5 7.5z" />
+<glyph unicode="&#xe086;" d="M600 1177q117 0 224 -45.5t184.5 -123t123 -184.5t45.5 -224t-45.5 -224t-123 -184.5t-184.5 -123t-224 -45.5t-224 45.5t-184.5 123t-123 184.5t-45.5 224t45.5 224t123 184.5t184.5 123t224 45.5zM675 1000h-150q-10 0 -17.5 -7.5t-7.5 -17.5v-150q0 -10 7.5 -17.5 t17.5 -7.5h150q10 0 17.5 7.5t7.5 17.5v150q0 10 -7.5 17.5t-17.5 7.5zM675 700h-250q-10 0 -17.5 -7.5t-7.5 -17.5v-50q0 -10 7.5 -17.5t17.5 -7.5h75v-200h-75q-10 0 -17.5 -7.5t-7.5 -17.5v-50q0 -10 7.5 -17.5t17.5 -7.5h350q10 0 17.5 7.5t7.5 17.5v50q0 10 -7.5 17.5 t-17.5 7.5h-75v275q0 10 -7.5 17.5t-17.5 7.5z" />
+<glyph unicode="&#xe087;" d="M525 1200h150q10 0 17.5 -7.5t7.5 -17.5v-194q103 -27 178.5 -102.5t102.5 -178.5h194q10 0 17.5 -7.5t7.5 -17.5v-150q0 -10 -7.5 -17.5t-17.5 -7.5h-194q-27 -103 -102.5 -178.5t-178.5 -102.5v-194q0 -10 -7.5 -17.5t-17.5 -7.5h-150q-10 0 -17.5 7.5t-7.5 17.5v194 q-103 27 -178.5 102.5t-102.5 178.5h-194q-10 0 -17.5 7.5t-7.5 17.5v150q0 10 7.5 17.5t17.5 7.5h194q27 103 102.5 178.5t178.5 102.5v194q0 10 7.5 17.5t17.5 7.5zM700 893v-168q0 -10 -7.5 -17.5t-17.5 -7.5h-150q-10 0 -17.5 7.5t-7.5 17.5v168q-68 -23 -119 -74 t-74 -119h168q10 0 17.5 -7.5t7.5 -17.5v-150q0 -10 -7.5 -17.5t-17.5 -7.5h-168q23 -68 74 -119t119 -74v168q0 10 7.5 17.5t17.5 7.5h150q10 0 17.5 -7.5t7.5 -17.5v-168q68 23 119 74t74 119h-168q-10 0 -17.5 7.5t-7.5 17.5v150q0 10 7.5 17.5t17.5 7.5h168 q-23 68 -74 119t-119 74z" />
+<glyph unicode="&#xe088;" d="M600 1177q117 0 224 -45.5t184.5 -123t123 -184.5t45.5 -224t-45.5 -224t-123 -184.5t-184.5 -123t-224 -45.5t-224 45.5t-184.5 123t-123 184.5t-45.5 224t45.5 224t123 184.5t184.5 123t224 45.5zM600 1027q-116 0 -214.5 -57t-155.5 -155.5t-57 -214.5t57 -214.5 t155.5 -155.5t214.5 -57t214.5 57t155.5 155.5t57 214.5t-57 214.5t-155.5 155.5t-214.5 57zM759 823l64 -64q7 -7 7 -17.5t-7 -17.5l-124 -124l124 -124q7 -7 7 -17.5t-7 -17.5l-64 -64q-7 -7 -17.5 -7t-17.5 7l-124 124l-124 -124q-7 -7 -17.5 -7t-17.5 7l-64 64 q-7 7 -7 17.5t7 17.5l124 124l-124 124q-7 7 -7 17.5t7 17.5l64 64q7 7 17.5 7t17.5 -7l124 -124l124 124q7 7 17.5 7t17.5 -7z" />
+<glyph unicode="&#xe089;" d="M600 1177q117 0 224 -45.5t184.5 -123t123 -184.5t45.5 -224t-45.5 -224t-123 -184.5t-184.5 -123t-224 -45.5t-224 45.5t-184.5 123t-123 184.5t-45.5 224t45.5 224t123 184.5t184.5 123t224 45.5zM600 1027q-116 0 -214.5 -57t-155.5 -155.5t-57 -214.5t57 -214.5 t155.5 -155.5t214.5 -57t214.5 57t155.5 155.5t57 214.5t-57 214.5t-155.5 155.5t-214.5 57zM782 788l106 -106q7 -7 7 -17.5t-7 -17.5l-320 -321q-8 -7 -18 -7t-18 7l-202 203q-8 7 -8 17.5t8 17.5l106 106q7 8 17.5 8t17.5 -8l79 -79l197 197q7 7 17.5 7t17.5 -7z" />
+<glyph unicode="&#xe090;" d="M600 1177q117 0 224 -45.5t184.5 -123t123 -184.5t45.5 -224t-45.5 -224t-123 -184.5t-184.5 -123t-224 -45.5t-224 45.5t-184.5 123t-123 184.5t-45.5 224t45.5 224t123 184.5t184.5 123t224 45.5zM600 1027q-116 0 -214.5 -57t-155.5 -155.5t-57 -214.5q0 -120 65 -225 l587 587q-105 65 -225 65zM965 819l-584 -584q104 -62 219 -62q116 0 214.5 57t155.5 155.5t57 214.5q0 115 -62 219z" />
+<glyph unicode="&#xe091;" d="M39 582l522 427q16 13 27.5 8t11.5 -26v-291h550q21 0 35.5 -14.5t14.5 -35.5v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-550v-291q0 -21 -11.5 -26t-27.5 8l-522 427q-16 13 -16 32t16 32z" />
+<glyph unicode="&#xe092;" d="M639 1009l522 -427q16 -13 16 -32t-16 -32l-522 -427q-16 -13 -27.5 -8t-11.5 26v291h-550q-21 0 -35.5 14.5t-14.5 35.5v200q0 21 14.5 35.5t35.5 14.5h550v291q0 21 11.5 26t27.5 -8z" />
+<glyph unicode="&#xe093;" d="M682 1161l427 -522q13 -16 8 -27.5t-26 -11.5h-291v-550q0 -21 -14.5 -35.5t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5v550h-291q-21 0 -26 11.5t8 27.5l427 522q13 16 32 16t32 -16z" />
+<glyph unicode="&#xe094;" d="M550 1200h200q21 0 35.5 -14.5t14.5 -35.5v-550h291q21 0 26 -11.5t-8 -27.5l-427 -522q-13 -16 -32 -16t-32 16l-427 522q-13 16 -8 27.5t26 11.5h291v550q0 21 14.5 35.5t35.5 14.5z" />
+<glyph unicode="&#xe095;" d="M639 1109l522 -427q16 -13 16 -32t-16 -32l-522 -427q-16 -13 -27.5 -8t-11.5 26v291q-94 -2 -182 -20t-170.5 -52t-147 -92.5t-100.5 -135.5q5 105 27 193.5t67.5 167t113 135t167 91.5t225.5 42v262q0 21 11.5 26t27.5 -8z" />
+<glyph unicode="&#xe096;" d="M850 1200h300q21 0 35.5 -14.5t14.5 -35.5v-300q0 -21 -10.5 -25t-24.5 10l-94 94l-249 -249q-8 -7 -18 -7t-18 7l-106 106q-7 8 -7 18t7 18l249 249l-94 94q-14 14 -10 24.5t25 10.5zM350 0h-300q-21 0 -35.5 14.5t-14.5 35.5v300q0 21 10.5 25t24.5 -10l94 -94l249 249 q8 7 18 7t18 -7l106 -106q7 -8 7 -18t-7 -18l-249 -249l94 -94q14 -14 10 -24.5t-25 -10.5z" />
+<glyph unicode="&#xe097;" d="M1014 1120l106 -106q7 -8 7 -18t-7 -18l-249 -249l94 -94q14 -14 10 -24.5t-25 -10.5h-300q-21 0 -35.5 14.5t-14.5 35.5v300q0 21 10.5 25t24.5 -10l94 -94l249 249q8 7 18 7t18 -7zM250 600h300q21 0 35.5 -14.5t14.5 -35.5v-300q0 -21 -10.5 -25t-24.5 10l-94 94 l-249 -249q-8 -7 -18 -7t-18 7l-106 106q-7 8 -7 18t7 18l249 249l-94 94q-14 14 -10 24.5t25 10.5z" />
+<glyph unicode="&#xe101;" d="M600 1177q117 0 224 -45.5t184.5 -123t123 -184.5t45.5 -224t-45.5 -224t-123 -184.5t-184.5 -123t-224 -45.5t-224 45.5t-184.5 123t-123 184.5t-45.5 224t45.5 224t123 184.5t184.5 123t224 45.5zM704 900h-208q-20 0 -32 -14.5t-8 -34.5l58 -302q4 -20 21.5 -34.5 t37.5 -14.5h54q20 0 37.5 14.5t21.5 34.5l58 302q4 20 -8 34.5t-32 14.5zM675 400h-150q-10 0 -17.5 -7.5t-7.5 -17.5v-150q0 -10 7.5 -17.5t17.5 -7.5h150q10 0 17.5 7.5t7.5 17.5v150q0 10 -7.5 17.5t-17.5 7.5z" />
+<glyph unicode="&#xe102;" d="M260 1200q9 0 19 -2t15 -4l5 -2q22 -10 44 -23l196 -118q21 -13 36 -24q29 -21 37 -12q11 13 49 35l196 118q22 13 45 23q17 7 38 7q23 0 47 -16.5t37 -33.5l13 -16q14 -21 18 -45l25 -123l8 -44q1 -9 8.5 -14.5t17.5 -5.5h61q10 0 17.5 -7.5t7.5 -17.5v-50 q0 -10 -7.5 -17.5t-17.5 -7.5h-50q-10 0 -17.5 -7.5t-7.5 -17.5v-175h-400v300h-200v-300h-400v175q0 10 -7.5 17.5t-17.5 7.5h-50q-10 0 -17.5 7.5t-7.5 17.5v50q0 10 7.5 17.5t17.5 7.5h61q11 0 18 3t7 8q0 4 9 52l25 128q5 25 19 45q2 3 5 7t13.5 15t21.5 19.5t26.5 15.5 t29.5 7zM915 1079l-166 -162q-7 -7 -5 -12t12 -5h219q10 0 15 7t2 17l-51 149q-3 10 -11 12t-15 -6zM463 917l-177 157q-8 7 -16 5t-11 -12l-51 -143q-3 -10 2 -17t15 -7h231q11 0 12.5 5t-5.5 12zM500 0h-375q-10 0 -17.5 7.5t-7.5 17.5v375h400v-400zM1100 400v-375 q0 -10 -7.5 -17.5t-17.5 -7.5h-375v400h400z" />
+<glyph unicode="&#xe103;" d="M1165 1190q8 3 21 -6.5t13 -17.5q-2 -178 -24.5 -323.5t-55.5 -245.5t-87 -174.5t-102.5 -118.5t-118 -68.5t-118.5 -33t-120 -4.5t-105 9.5t-90 16.5q-61 12 -78 11q-4 1 -12.5 0t-34 -14.5t-52.5 -40.5l-153 -153q-26 -24 -37 -14.5t-11 43.5q0 64 42 102q8 8 50.5 45 t66.5 58q19 17 35 47t13 61q-9 55 -10 102.5t7 111t37 130t78 129.5q39 51 80 88t89.5 63.5t94.5 45t113.5 36t129 31t157.5 37t182 47.5zM1116 1098q-8 9 -22.5 -3t-45.5 -50q-38 -47 -119 -103.5t-142 -89.5l-62 -33q-56 -30 -102 -57t-104 -68t-102.5 -80.5t-85.5 -91 t-64 -104.5q-24 -56 -31 -86t2 -32t31.5 17.5t55.5 59.5q25 30 94 75.5t125.5 77.5t147.5 81q70 37 118.5 69t102 79.5t99 111t86.5 148.5q22 50 24 60t-6 19z" />
+<glyph unicode="&#xe104;" d="M653 1231q-39 -67 -54.5 -131t-10.5 -114.5t24.5 -96.5t47.5 -80t63.5 -62.5t68.5 -46.5t65 -30q-4 7 -17.5 35t-18.5 39.5t-17 39.5t-17 43t-13 42t-9.5 44.5t-2 42t4 43t13.5 39t23 38.5q96 -42 165 -107.5t105 -138t52 -156t13 -159t-19 -149.5q-13 -55 -44 -106.5 t-68 -87t-78.5 -64.5t-72.5 -45t-53 -22q-72 -22 -127 -11q-31 6 -13 19q6 3 17 7q13 5 32.5 21t41 44t38.5 63.5t21.5 81.5t-6.5 94.5t-50 107t-104 115.5q10 -104 -0.5 -189t-37 -140.5t-65 -93t-84 -52t-93.5 -11t-95 24.5q-80 36 -131.5 114t-53.5 171q-2 23 0 49.5 t4.5 52.5t13.5 56t27.5 60t46 64.5t69.5 68.5q-8 -53 -5 -102.5t17.5 -90t34 -68.5t44.5 -39t49 -2q31 13 38.5 36t-4.5 55t-29 64.5t-36 75t-26 75.5q-15 85 2 161.5t53.5 128.5t85.5 92.5t93.5 61t81.5 25.5z" />
+<glyph unicode="&#xe105;" d="M600 1094q82 0 160.5 -22.5t140 -59t116.5 -82.5t94.5 -95t68 -95t42.5 -82.5t14 -57.5t-14 -57.5t-43 -82.5t-68.5 -95t-94.5 -95t-116.5 -82.5t-140 -59t-159.5 -22.5t-159.5 22.5t-140 59t-116.5 82.5t-94.5 95t-68.5 95t-43 82.5t-14 57.5t14 57.5t42.5 82.5t68 95 t94.5 95t116.5 82.5t140 59t160.5 22.5zM888 829q-15 15 -18 12t5 -22q25 -57 25 -119q0 -124 -88 -212t-212 -88t-212 88t-88 212q0 59 23 114q8 19 4.5 22t-17.5 -12q-70 -69 -160 -184q-13 -16 -15 -40.5t9 -42.5q22 -36 47 -71t70 -82t92.5 -81t113 -58.5t133.5 -24.5 t133.5 24t113 58.5t92.5 81.5t70 81.5t47 70.5q11 18 9 42.5t-14 41.5q-90 117 -163 189zM448 727l-35 -36q-15 -15 -19.5 -38.5t4.5 -41.5q37 -68 93 -116q16 -13 38.5 -11t36.5 17l35 34q14 15 12.5 33.5t-16.5 33.5q-44 44 -89 117q-11 18 -28 20t-32 -12z" />
+<glyph unicode="&#xe106;" d="M592 0h-148l31 120q-91 20 -175.5 68.5t-143.5 106.5t-103.5 119t-66.5 110t-22 76q0 21 14 57.5t42.5 82.5t68 95t94.5 95t116.5 82.5t140 59t160.5 22.5q61 0 126 -15l32 121h148zM944 770l47 181q108 -85 176.5 -192t68.5 -159q0 -26 -19.5 -71t-59.5 -102t-93 -112 t-129 -104.5t-158 -75.5l46 173q77 49 136 117t97 131q11 18 9 42.5t-14 41.5q-54 70 -107 130zM310 824q-70 -69 -160 -184q-13 -16 -15 -40.5t9 -42.5q18 -30 39 -60t57 -70.5t74 -73t90 -61t105 -41.5l41 154q-107 18 -178.5 101.5t-71.5 193.5q0 59 23 114q8 19 4.5 22 t-17.5 -12zM448 727l-35 -36q-15 -15 -19.5 -38.5t4.5 -41.5q37 -68 93 -116q16 -13 38.5 -11t36.5 17l12 11l22 86l-3 4q-44 44 -89 117q-11 18 -28 20t-32 -12z" />
+<glyph unicode="&#xe107;" d="M-90 100l642 1066q20 31 48 28.5t48 -35.5l642 -1056q21 -32 7.5 -67.5t-50.5 -35.5h-1294q-37 0 -50.5 34t7.5 66zM155 200h345v75q0 10 7.5 17.5t17.5 7.5h150q10 0 17.5 -7.5t7.5 -17.5v-75h345l-445 723zM496 700h208q20 0 32 -14.5t8 -34.5l-58 -252 q-4 -20 -21.5 -34.5t-37.5 -14.5h-54q-20 0 -37.5 14.5t-21.5 34.5l-58 252q-4 20 8 34.5t32 14.5z" />
+<glyph unicode="&#xe108;" d="M650 1200q62 0 106 -44t44 -106v-339l363 -325q15 -14 26 -38.5t11 -44.5v-41q0 -20 -12 -26.5t-29 5.5l-359 249v-263q100 -93 100 -113v-64q0 -21 -13 -29t-32 1l-205 128l-205 -128q-19 -9 -32 -1t-13 29v64q0 20 100 113v263l-359 -249q-17 -12 -29 -5.5t-12 26.5v41 q0 20 11 44.5t26 38.5l363 325v339q0 62 44 106t106 44z" />
+<glyph unicode="&#xe109;" d="M850 1200h100q21 0 35.5 -14.5t14.5 -35.5v-50h50q21 0 35.5 -14.5t14.5 -35.5v-150h-1100v150q0 21 14.5 35.5t35.5 14.5h50v50q0 21 14.5 35.5t35.5 14.5h100q21 0 35.5 -14.5t14.5 -35.5v-50h500v50q0 21 14.5 35.5t35.5 14.5zM1100 800v-750q0 -21 -14.5 -35.5 t-35.5 -14.5h-1000q-21 0 -35.5 14.5t-14.5 35.5v750h1100zM100 600v-100h100v100h-100zM300 600v-100h100v100h-100zM500 600v-100h100v100h-100zM700 600v-100h100v100h-100zM900 600v-100h100v100h-100zM100 400v-100h100v100h-100zM300 400v-100h100v100h-100zM500 400 v-100h100v100h-100zM700 400v-100h100v100h-100zM900 400v-100h100v100h-100zM100 200v-100h100v100h-100zM300 200v-100h100v100h-100zM500 200v-100h100v100h-100zM700 200v-100h100v100h-100zM900 200v-100h100v100h-100z" />
+<glyph unicode="&#xe110;" d="M1135 1165l249 -230q15 -14 15 -35t-15 -35l-249 -230q-14 -14 -24.5 -10t-10.5 25v150h-159l-600 -600h-291q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5h209l600 600h241v150q0 21 10.5 25t24.5 -10zM522 819l-141 -141l-122 122h-209q-21 0 -35.5 14.5 t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5h291zM1135 565l249 -230q15 -14 15 -35t-15 -35l-249 -230q-14 -14 -24.5 -10t-10.5 25v150h-241l-181 181l141 141l122 -122h159v150q0 21 10.5 25t24.5 -10z" />
+<glyph unicode="&#xe111;" d="M100 1100h1000q41 0 70.5 -29.5t29.5 -70.5v-600q0 -41 -29.5 -70.5t-70.5 -29.5h-596l-304 -300v300h-100q-41 0 -70.5 29.5t-29.5 70.5v600q0 41 29.5 70.5t70.5 29.5z" />
+<glyph unicode="&#xe112;" d="M150 1200h200q21 0 35.5 -14.5t14.5 -35.5v-250h-300v250q0 21 14.5 35.5t35.5 14.5zM850 1200h200q21 0 35.5 -14.5t14.5 -35.5v-250h-300v250q0 21 14.5 35.5t35.5 14.5zM1100 800v-300q0 -41 -3 -77.5t-15 -89.5t-32 -96t-58 -89t-89 -77t-129 -51t-174 -20t-174 20 t-129 51t-89 77t-58 89t-32 96t-15 89.5t-3 77.5v300h300v-250v-27v-42.5t1.5 -41t5 -38t10 -35t16.5 -30t25.5 -24.5t35 -19t46.5 -12t60 -4t60 4.5t46.5 12.5t35 19.5t25 25.5t17 30.5t10 35t5 38t2 40.5t-0.5 42v25v250h300z" />
+<glyph unicode="&#xe113;" d="M1100 411l-198 -199l-353 353l-353 -353l-197 199l551 551z" />
+<glyph unicode="&#xe114;" d="M1101 789l-550 -551l-551 551l198 199l353 -353l353 353z" />
+<glyph unicode="&#xe115;" d="M404 1000h746q21 0 35.5 -14.5t14.5 -35.5v-551h150q21 0 25 -10.5t-10 -24.5l-230 -249q-14 -15 -35 -15t-35 15l-230 249q-14 14 -10 24.5t25 10.5h150v401h-381zM135 984l230 -249q14 -14 10 -24.5t-25 -10.5h-150v-400h385l215 -200h-750q-21 0 -35.5 14.5 t-14.5 35.5v550h-150q-21 0 -25 10.5t10 24.5l230 249q14 15 35 15t35 -15z" />
+<glyph unicode="&#xe116;" d="M56 1200h94q17 0 31 -11t18 -27l38 -162h896q24 0 39 -18.5t10 -42.5l-100 -475q-5 -21 -27 -42.5t-55 -21.5h-633l48 -200h535q21 0 35.5 -14.5t14.5 -35.5t-14.5 -35.5t-35.5 -14.5h-50v-50q0 -21 -14.5 -35.5t-35.5 -14.5t-35.5 14.5t-14.5 35.5v50h-300v-50 q0 -21 -14.5 -35.5t-35.5 -14.5t-35.5 14.5t-14.5 35.5v50h-31q-18 0 -32.5 10t-20.5 19l-5 10l-201 961h-54q-20 0 -35 14.5t-15 35.5t15 35.5t35 14.5z" />
+<glyph unicode="&#xe117;" d="M1200 1000v-100h-1200v100h200q0 41 29.5 70.5t70.5 29.5h300q41 0 70.5 -29.5t29.5 -70.5h500zM0 800h1200v-800h-1200v800z" />
+<glyph unicode="&#xe118;" d="M200 800l-200 -400v600h200q0 41 29.5 70.5t70.5 29.5h300q42 0 71 -29.5t29 -70.5h500v-200h-1000zM1500 700l-300 -700h-1200l300 700h1200z" />
+<glyph unicode="&#xe119;" d="M635 1184l230 -249q14 -14 10 -24.5t-25 -10.5h-150v-601h150q21 0 25 -10.5t-10 -24.5l-230 -249q-14 -15 -35 -15t-35 15l-230 249q-14 14 -10 24.5t25 10.5h150v601h-150q-21 0 -25 10.5t10 24.5l230 249q14 15 35 15t35 -15z" />
+<glyph unicode="&#xe120;" d="M936 864l249 -229q14 -15 14 -35.5t-14 -35.5l-249 -229q-15 -15 -25.5 -10.5t-10.5 24.5v151h-600v-151q0 -20 -10.5 -24.5t-25.5 10.5l-249 229q-14 15 -14 35.5t14 35.5l249 229q15 15 25.5 10.5t10.5 -25.5v-149h600v149q0 21 10.5 25.5t25.5 -10.5z" />
+<glyph unicode="&#xe121;" d="M1169 400l-172 732q-5 23 -23 45.5t-38 22.5h-672q-20 0 -38 -20t-23 -41l-172 -739h1138zM1100 300h-1000q-41 0 -70.5 -29.5t-29.5 -70.5v-100q0 -41 29.5 -70.5t70.5 -29.5h1000q41 0 70.5 29.5t29.5 70.5v100q0 41 -29.5 70.5t-70.5 29.5zM800 100v100h100v-100h-100 zM1000 100v100h100v-100h-100z" />
+<glyph unicode="&#xe122;" d="M1150 1100q21 0 35.5 -14.5t14.5 -35.5v-850q0 -21 -14.5 -35.5t-35.5 -14.5t-35.5 14.5t-14.5 35.5v850q0 21 14.5 35.5t35.5 14.5zM1000 200l-675 200h-38l47 -276q3 -16 -5.5 -20t-29.5 -4h-7h-84q-20 0 -34.5 14t-18.5 35q-55 337 -55 351v250v6q0 16 1 23.5t6.5 14 t17.5 6.5h200l675 250v-850zM0 750v-250q-4 0 -11 0.5t-24 6t-30 15t-24 30t-11 48.5v50q0 26 10.5 46t25 30t29 16t25.5 7z" />
+<glyph unicode="&#xe123;" d="M553 1200h94q20 0 29 -10.5t3 -29.5l-18 -37q83 -19 144 -82.5t76 -140.5l63 -327l118 -173h17q19 0 33 -14.5t14 -35t-13 -40.5t-31 -27q-8 -4 -23 -9.5t-65 -19.5t-103 -25t-132.5 -20t-158.5 -9q-57 0 -115 5t-104 12t-88.5 15.5t-73.5 17.5t-54.5 16t-35.5 12l-11 4 q-18 8 -31 28t-13 40.5t14 35t33 14.5h17l118 173l63 327q15 77 76 140t144 83l-18 32q-6 19 3.5 32t28.5 13zM498 110q50 -6 102 -6q53 0 102 6q-12 -49 -39.5 -79.5t-62.5 -30.5t-63 30.5t-39 79.5z" />
+<glyph unicode="&#xe124;" d="M800 946l224 78l-78 -224l234 -45l-180 -155l180 -155l-234 -45l78 -224l-224 78l-45 -234l-155 180l-155 -180l-45 234l-224 -78l78 224l-234 45l180 155l-180 155l234 45l-78 224l224 -78l45 234l155 -180l155 180z" />
+<glyph unicode="&#xe125;" d="M650 1200h50q40 0 70 -40.5t30 -84.5v-150l-28 -125h328q40 0 70 -40.5t30 -84.5v-100q0 -45 -29 -74l-238 -344q-16 -24 -38 -40.5t-45 -16.5h-250q-7 0 -42 25t-66 50l-31 25h-61q-45 0 -72.5 18t-27.5 57v400q0 36 20 63l145 196l96 198q13 28 37.5 48t51.5 20z M650 1100l-100 -212l-150 -213v-375h100l136 -100h214l250 375v125h-450l50 225v175h-50zM50 800h100q21 0 35.5 -14.5t14.5 -35.5v-500q0 -21 -14.5 -35.5t-35.5 -14.5h-100q-21 0 -35.5 14.5t-14.5 35.5v500q0 21 14.5 35.5t35.5 14.5z" />
+<glyph unicode="&#xe126;" d="M600 1100h250q23 0 45 -16.5t38 -40.5l238 -344q29 -29 29 -74v-100q0 -44 -30 -84.5t-70 -40.5h-328q28 -118 28 -125v-150q0 -44 -30 -84.5t-70 -40.5h-50q-27 0 -51.5 20t-37.5 48l-96 198l-145 196q-20 27 -20 63v400q0 39 27.5 57t72.5 18h61q124 100 139 100z M50 1000h100q21 0 35.5 -14.5t14.5 -35.5v-500q0 -21 -14.5 -35.5t-35.5 -14.5h-100q-21 0 -35.5 14.5t-14.5 35.5v500q0 21 14.5 35.5t35.5 14.5zM636 1000l-136 -100h-100v-375l150 -213l100 -212h50v175l-50 225h450v125l-250 375h-214z" />
+<glyph unicode="&#xe127;" d="M356 873l363 230q31 16 53 -6l110 -112q13 -13 13.5 -32t-11.5 -34l-84 -121h302q84 0 138 -38t54 -110t-55 -111t-139 -39h-106l-131 -339q-6 -21 -19.5 -41t-28.5 -20h-342q-7 0 -90 81t-83 94v525q0 17 14 35.5t28 28.5zM400 792v-503l100 -89h293l131 339 q6 21 19.5 41t28.5 20h203q21 0 30.5 25t0.5 50t-31 25h-456h-7h-6h-5.5t-6 0.5t-5 1.5t-5 2t-4 2.5t-4 4t-2.5 4.5q-12 25 5 47l146 183l-86 83zM50 800h100q21 0 35.5 -14.5t14.5 -35.5v-500q0 -21 -14.5 -35.5t-35.5 -14.5h-100q-21 0 -35.5 14.5t-14.5 35.5v500 q0 21 14.5 35.5t35.5 14.5z" />
+<glyph unicode="&#xe128;" d="M475 1103l366 -230q2 -1 6 -3.5t14 -10.5t18 -16.5t14.5 -20t6.5 -22.5v-525q0 -13 -86 -94t-93 -81h-342q-15 0 -28.5 20t-19.5 41l-131 339h-106q-85 0 -139.5 39t-54.5 111t54 110t138 38h302l-85 121q-11 15 -10.5 34t13.5 32l110 112q22 22 53 6zM370 945l146 -183 q17 -22 5 -47q-2 -2 -3.5 -4.5t-4 -4t-4 -2.5t-5 -2t-5 -1.5t-6 -0.5h-6h-6.5h-6h-475v-100h221q15 0 29 -20t20 -41l130 -339h294l106 89v503l-342 236zM1050 800h100q21 0 35.5 -14.5t14.5 -35.5v-500q0 -21 -14.5 -35.5t-35.5 -14.5h-100q-21 0 -35.5 14.5t-14.5 35.5 v500q0 21 14.5 35.5t35.5 14.5z" />
+<glyph unicode="&#xe129;" d="M550 1294q72 0 111 -55t39 -139v-106l339 -131q21 -6 41 -19.5t20 -28.5v-342q0 -7 -81 -90t-94 -83h-525q-17 0 -35.5 14t-28.5 28l-9 14l-230 363q-16 31 6 53l112 110q13 13 32 13.5t34 -11.5l121 -84v302q0 84 38 138t110 54zM600 972v203q0 21 -25 30.5t-50 0.5 t-25 -31v-456v-7v-6v-5.5t-0.5 -6t-1.5 -5t-2 -5t-2.5 -4t-4 -4t-4.5 -2.5q-25 -12 -47 5l-183 146l-83 -86l236 -339h503l89 100v293l-339 131q-21 6 -41 19.5t-20 28.5zM450 200h500q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-500 q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5z" />
+<glyph unicode="&#xe130;" d="M350 1100h500q21 0 35.5 14.5t14.5 35.5v100q0 21 -14.5 35.5t-35.5 14.5h-500q-21 0 -35.5 -14.5t-14.5 -35.5v-100q0 -21 14.5 -35.5t35.5 -14.5zM600 306v-106q0 -84 -39 -139t-111 -55t-110 54t-38 138v302l-121 -84q-15 -12 -34 -11.5t-32 13.5l-112 110 q-22 22 -6 53l230 363q1 2 3.5 6t10.5 13.5t16.5 17t20 13.5t22.5 6h525q13 0 94 -83t81 -90v-342q0 -15 -20 -28.5t-41 -19.5zM308 900l-236 -339l83 -86l183 146q22 17 47 5q2 -1 4.5 -2.5t4 -4t2.5 -4t2 -5t1.5 -5t0.5 -6v-5.5v-6v-7v-456q0 -22 25 -31t50 0.5t25 30.5 v203q0 15 20 28.5t41 19.5l339 131v293l-89 100h-503z" />
+<glyph unicode="&#xe131;" d="M600 1178q118 0 225 -45.5t184.5 -123t123 -184.5t45.5 -225t-45.5 -225t-123 -184.5t-184.5 -123t-225 -45.5t-225 45.5t-184.5 123t-123 184.5t-45.5 225t45.5 225t123 184.5t184.5 123t225 45.5zM914 632l-275 223q-16 13 -27.5 8t-11.5 -26v-137h-275 q-10 0 -17.5 -7.5t-7.5 -17.5v-150q0 -10 7.5 -17.5t17.5 -7.5h275v-137q0 -21 11.5 -26t27.5 8l275 223q16 13 16 32t-16 32z" />
+<glyph unicode="&#xe132;" d="M600 1178q118 0 225 -45.5t184.5 -123t123 -184.5t45.5 -225t-45.5 -225t-123 -184.5t-184.5 -123t-225 -45.5t-225 45.5t-184.5 123t-123 184.5t-45.5 225t45.5 225t123 184.5t184.5 123t225 45.5zM561 855l-275 -223q-16 -13 -16 -32t16 -32l275 -223q16 -13 27.5 -8 t11.5 26v137h275q10 0 17.5 7.5t7.5 17.5v150q0 10 -7.5 17.5t-17.5 7.5h-275v137q0 21 -11.5 26t-27.5 -8z" />
+<glyph unicode="&#xe133;" d="M600 1178q118 0 225 -45.5t184.5 -123t123 -184.5t45.5 -225t-45.5 -225t-123 -184.5t-184.5 -123t-225 -45.5t-225 45.5t-184.5 123t-123 184.5t-45.5 225t45.5 225t123 184.5t184.5 123t225 45.5zM855 639l-223 275q-13 16 -32 16t-32 -16l-223 -275q-13 -16 -8 -27.5 t26 -11.5h137v-275q0 -10 7.5 -17.5t17.5 -7.5h150q10 0 17.5 7.5t7.5 17.5v275h137q21 0 26 11.5t-8 27.5z" />
+<glyph unicode="&#xe134;" d="M600 1178q118 0 225 -45.5t184.5 -123t123 -184.5t45.5 -225t-45.5 -225t-123 -184.5t-184.5 -123t-225 -45.5t-225 45.5t-184.5 123t-123 184.5t-45.5 225t45.5 225t123 184.5t184.5 123t225 45.5zM675 900h-150q-10 0 -17.5 -7.5t-7.5 -17.5v-275h-137q-21 0 -26 -11.5 t8 -27.5l223 -275q13 -16 32 -16t32 16l223 275q13 16 8 27.5t-26 11.5h-137v275q0 10 -7.5 17.5t-17.5 7.5z" />
+<glyph unicode="&#xe135;" d="M600 1176q116 0 222.5 -46t184 -123.5t123.5 -184t46 -222.5t-46 -222.5t-123.5 -184t-184 -123.5t-222.5 -46t-222.5 46t-184 123.5t-123.5 184t-46 222.5t46 222.5t123.5 184t184 123.5t222.5 46zM627 1101q-15 -12 -36.5 -20.5t-35.5 -12t-43 -8t-39 -6.5 q-15 -3 -45.5 0t-45.5 -2q-20 -7 -51.5 -26.5t-34.5 -34.5q-3 -11 6.5 -22.5t8.5 -18.5q-3 -34 -27.5 -91t-29.5 -79q-9 -34 5 -93t8 -87q0 -9 17 -44.5t16 -59.5q12 0 23 -5t23.5 -15t19.5 -14q16 -8 33 -15t40.5 -15t34.5 -12q21 -9 52.5 -32t60 -38t57.5 -11 q7 -15 -3 -34t-22.5 -40t-9.5 -38q13 -21 23 -34.5t27.5 -27.5t36.5 -18q0 -7 -3.5 -16t-3.5 -14t5 -17q104 -2 221 112q30 29 46.5 47t34.5 49t21 63q-13 8 -37 8.5t-36 7.5q-15 7 -49.5 15t-51.5 19q-18 0 -41 -0.5t-43 -1.5t-42 -6.5t-38 -16.5q-51 -35 -66 -12 q-4 1 -3.5 25.5t0.5 25.5q-6 13 -26.5 17.5t-24.5 6.5q1 15 -0.5 30.5t-7 28t-18.5 11.5t-31 -21q-23 -25 -42 4q-19 28 -8 58q6 16 22 22q6 -1 26 -1.5t33.5 -4t19.5 -13.5q7 -12 18 -24t21.5 -20.5t20 -15t15.5 -10.5l5 -3q2 12 7.5 30.5t8 34.5t-0.5 32q-3 18 3.5 29 t18 22.5t15.5 24.5q6 14 10.5 35t8 31t15.5 22.5t34 22.5q-6 18 10 36q8 0 24 -1.5t24.5 -1.5t20 4.5t20.5 15.5q-10 23 -31 42.5t-37.5 29.5t-49 27t-43.5 23q0 1 2 8t3 11.5t1.5 10.5t-1 9.5t-4.5 4.5q31 -13 58.5 -14.5t38.5 2.5l12 5q5 28 -9.5 46t-36.5 24t-50 15 t-41 20q-18 -4 -37 0zM613 994q0 -17 8 -42t17 -45t9 -23q-8 1 -39.5 5.5t-52.5 10t-37 16.5q3 11 16 29.5t16 25.5q10 -10 19 -10t14 6t13.5 14.5t16.5 12.5z" />
+<glyph unicode="&#xe136;" d="M756 1157q164 92 306 -9l-259 -138l145 -232l251 126q6 -89 -34 -156.5t-117 -110.5q-60 -34 -127 -39.5t-126 16.5l-596 -596q-15 -16 -36.5 -16t-36.5 16l-111 110q-15 15 -15 36.5t15 37.5l600 599q-34 101 5.5 201.5t135.5 154.5z" />
+<glyph unicode="&#xe137;" horiz-adv-x="1220" d="M100 1196h1000q41 0 70.5 -29.5t29.5 -70.5v-100q0 -41 -29.5 -70.5t-70.5 -29.5h-1000q-41 0 -70.5 29.5t-29.5 70.5v100q0 41 29.5 70.5t70.5 29.5zM1100 1096h-200v-100h200v100zM100 796h1000q41 0 70.5 -29.5t29.5 -70.5v-100q0 -41 -29.5 -70.5t-70.5 -29.5h-1000 q-41 0 -70.5 29.5t-29.5 70.5v100q0 41 29.5 70.5t70.5 29.5zM1100 696h-500v-100h500v100zM100 396h1000q41 0 70.5 -29.5t29.5 -70.5v-100q0 -41 -29.5 -70.5t-70.5 -29.5h-1000q-41 0 -70.5 29.5t-29.5 70.5v100q0 41 29.5 70.5t70.5 29.5zM1100 296h-300v-100h300v100z " />
+<glyph unicode="&#xe138;" d="M150 1200h900q21 0 35.5 -14.5t14.5 -35.5t-14.5 -35.5t-35.5 -14.5h-900q-21 0 -35.5 14.5t-14.5 35.5t14.5 35.5t35.5 14.5zM700 500v-300l-200 -200v500l-350 500h900z" />
+<glyph unicode="&#xe139;" d="M500 1200h200q41 0 70.5 -29.5t29.5 -70.5v-100h300q41 0 70.5 -29.5t29.5 -70.5v-400h-500v100h-200v-100h-500v400q0 41 29.5 70.5t70.5 29.5h300v100q0 41 29.5 70.5t70.5 29.5zM500 1100v-100h200v100h-200zM1200 400v-200q0 -41 -29.5 -70.5t-70.5 -29.5h-1000 q-41 0 -70.5 29.5t-29.5 70.5v200h1200z" />
+<glyph unicode="&#xe140;" d="M50 1200h300q21 0 25 -10.5t-10 -24.5l-94 -94l199 -199q7 -8 7 -18t-7 -18l-106 -106q-8 -7 -18 -7t-18 7l-199 199l-94 -94q-14 -14 -24.5 -10t-10.5 25v300q0 21 14.5 35.5t35.5 14.5zM850 1200h300q21 0 35.5 -14.5t14.5 -35.5v-300q0 -21 -10.5 -25t-24.5 10l-94 94 l-199 -199q-8 -7 -18 -7t-18 7l-106 106q-7 8 -7 18t7 18l199 199l-94 94q-14 14 -10 24.5t25 10.5zM364 470l106 -106q7 -8 7 -18t-7 -18l-199 -199l94 -94q14 -14 10 -24.5t-25 -10.5h-300q-21 0 -35.5 14.5t-14.5 35.5v300q0 21 10.5 25t24.5 -10l94 -94l199 199 q8 7 18 7t18 -7zM1071 271l94 94q14 14 24.5 10t10.5 -25v-300q0 -21 -14.5 -35.5t-35.5 -14.5h-300q-21 0 -25 10.5t10 24.5l94 94l-199 199q-7 8 -7 18t7 18l106 106q8 7 18 7t18 -7z" />
+<glyph unicode="&#xe141;" d="M596 1192q121 0 231.5 -47.5t190 -127t127 -190t47.5 -231.5t-47.5 -231.5t-127 -190.5t-190 -127t-231.5 -47t-231.5 47t-190.5 127t-127 190.5t-47 231.5t47 231.5t127 190t190.5 127t231.5 47.5zM596 1010q-112 0 -207.5 -55.5t-151 -151t-55.5 -207.5t55.5 -207.5 t151 -151t207.5 -55.5t207.5 55.5t151 151t55.5 207.5t-55.5 207.5t-151 151t-207.5 55.5zM454.5 905q22.5 0 38.5 -16t16 -38.5t-16 -39t-38.5 -16.5t-38.5 16.5t-16 39t16 38.5t38.5 16zM754.5 905q22.5 0 38.5 -16t16 -38.5t-16 -39t-38 -16.5q-14 0 -29 10l-55 -145 q17 -23 17 -51q0 -36 -25.5 -61.5t-61.5 -25.5t-61.5 25.5t-25.5 61.5q0 32 20.5 56.5t51.5 29.5l122 126l1 1q-9 14 -9 28q0 23 16 39t38.5 16zM345.5 709q22.5 0 38.5 -16t16 -38.5t-16 -38.5t-38.5 -16t-38.5 16t-16 38.5t16 38.5t38.5 16zM854.5 709q22.5 0 38.5 -16 t16 -38.5t-16 -38.5t-38.5 -16t-38.5 16t-16 38.5t16 38.5t38.5 16z" />
+<glyph unicode="&#xe142;" d="M546 173l469 470q91 91 99 192q7 98 -52 175.5t-154 94.5q-22 4 -47 4q-34 0 -66.5 -10t-56.5 -23t-55.5 -38t-48 -41.5t-48.5 -47.5q-376 -375 -391 -390q-30 -27 -45 -41.5t-37.5 -41t-32 -46.5t-16 -47.5t-1.5 -56.5q9 -62 53.5 -95t99.5 -33q74 0 125 51l548 548 q36 36 20 75q-7 16 -21.5 26t-32.5 10q-26 0 -50 -23q-13 -12 -39 -38l-341 -338q-15 -15 -35.5 -15.5t-34.5 13.5t-14 34.5t14 34.5q327 333 361 367q35 35 67.5 51.5t78.5 16.5q14 0 29 -1q44 -8 74.5 -35.5t43.5 -68.5q14 -47 2 -96.5t-47 -84.5q-12 -11 -32 -32 t-79.5 -81t-114.5 -115t-124.5 -123.5t-123 -119.5t-96.5 -89t-57 -45q-56 -27 -120 -27q-70 0 -129 32t-93 89q-48 78 -35 173t81 163l511 511q71 72 111 96q91 55 198 55q80 0 152 -33q78 -36 129.5 -103t66.5 -154q17 -93 -11 -183.5t-94 -156.5l-482 -476 q-15 -15 -36 -16t-37 14t-17.5 34t14.5 35z" />
+<glyph unicode="&#xe143;" d="M649 949q48 68 109.5 104t121.5 38.5t118.5 -20t102.5 -64t71 -100.5t27 -123q0 -57 -33.5 -117.5t-94 -124.5t-126.5 -127.5t-150 -152.5t-146 -174q-62 85 -145.5 174t-150 152.5t-126.5 127.5t-93.5 124.5t-33.5 117.5q0 64 28 123t73 100.5t104 64t119 20 t120.5 -38.5t104.5 -104zM896 972q-33 0 -64.5 -19t-56.5 -46t-47.5 -53.5t-43.5 -45.5t-37.5 -19t-36 19t-40 45.5t-43 53.5t-54 46t-65.5 19q-67 0 -122.5 -55.5t-55.5 -132.5q0 -23 13.5 -51t46 -65t57.5 -63t76 -75l22 -22q15 -14 44 -44t50.5 -51t46 -44t41 -35t23 -12 t23.5 12t42.5 36t46 44t52.5 52t44 43q4 4 12 13q43 41 63.5 62t52 55t46 55t26 46t11.5 44q0 79 -53 133.5t-120 54.5z" />
+<glyph unicode="&#xe144;" d="M776.5 1214q93.5 0 159.5 -66l141 -141q66 -66 66 -160q0 -42 -28 -95.5t-62 -87.5l-29 -29q-31 53 -77 99l-18 18l95 95l-247 248l-389 -389l212 -212l-105 -106l-19 18l-141 141q-66 66 -66 159t66 159l283 283q65 66 158.5 66zM600 706l105 105q10 -8 19 -17l141 -141 q66 -66 66 -159t-66 -159l-283 -283q-66 -66 -159 -66t-159 66l-141 141q-66 66 -66 159.5t66 159.5l55 55q29 -55 75 -102l18 -17l-95 -95l247 -248l389 389z" />
+<glyph unicode="&#xe145;" d="M603 1200q85 0 162 -15t127 -38t79 -48t29 -46v-953q0 -41 -29.5 -70.5t-70.5 -29.5h-600q-41 0 -70.5 29.5t-29.5 70.5v953q0 21 30 46.5t81 48t129 37.5t163 15zM300 1000v-700h600v700h-600zM600 254q-43 0 -73.5 -30.5t-30.5 -73.5t30.5 -73.5t73.5 -30.5t73.5 30.5 t30.5 73.5t-30.5 73.5t-73.5 30.5z" />
+<glyph unicode="&#xe146;" d="M902 1185l283 -282q15 -15 15 -36t-14.5 -35.5t-35.5 -14.5t-35 15l-36 35l-279 -267v-300l-212 210l-308 -307l-280 -203l203 280l307 308l-210 212h300l267 279l-35 36q-15 14 -15 35t14.5 35.5t35.5 14.5t35 -15z" />
+<glyph unicode="&#xe148;" d="M700 1248v-78q38 -5 72.5 -14.5t75.5 -31.5t71 -53.5t52 -84t24 -118.5h-159q-4 36 -10.5 59t-21 45t-40 35.5t-64.5 20.5v-307l64 -13q34 -7 64 -16.5t70 -32t67.5 -52.5t47.5 -80t20 -112q0 -139 -89 -224t-244 -97v-77h-100v79q-150 16 -237 103q-40 40 -52.5 93.5 t-15.5 139.5h139q5 -77 48.5 -126t117.5 -65v335l-27 8q-46 14 -79 26.5t-72 36t-63 52t-40 72.5t-16 98q0 70 25 126t67.5 92t94.5 57t110 27v77h100zM600 754v274q-29 -4 -50 -11t-42 -21.5t-31.5 -41.5t-10.5 -65q0 -29 7 -50.5t16.5 -34t28.5 -22.5t31.5 -14t37.5 -10 q9 -3 13 -4zM700 547v-310q22 2 42.5 6.5t45 15.5t41.5 27t29 42t12 59.5t-12.5 59.5t-38 44.5t-53 31t-66.5 24.5z" />
+<glyph unicode="&#xe149;" d="M561 1197q84 0 160.5 -40t123.5 -109.5t47 -147.5h-153q0 40 -19.5 71.5t-49.5 48.5t-59.5 26t-55.5 9q-37 0 -79 -14.5t-62 -35.5q-41 -44 -41 -101q0 -26 13.5 -63t26.5 -61t37 -66q6 -9 9 -14h241v-100h-197q8 -50 -2.5 -115t-31.5 -95q-45 -62 -99 -112 q34 10 83 17.5t71 7.5q32 1 102 -16t104 -17q83 0 136 30l50 -147q-31 -19 -58 -30.5t-55 -15.5t-42 -4.5t-46 -0.5q-23 0 -76 17t-111 32.5t-96 11.5q-39 -3 -82 -16t-67 -25l-23 -11l-55 145q4 3 16 11t15.5 10.5t13 9t15.5 12t14.5 14t17.5 18.5q48 55 54 126.5 t-30 142.5h-221v100h166q-23 47 -44 104q-7 20 -12 41.5t-6 55.5t6 66.5t29.5 70.5t58.5 71q97 88 263 88z" />
+<glyph unicode="&#xe150;" d="M400 300h150q21 0 25 -11t-10 -25l-230 -250q-14 -15 -35 -15t-35 15l-230 250q-14 14 -10 25t25 11h150v900h200v-900zM935 1184l230 -249q14 -14 10 -24.5t-25 -10.5h-150v-900h-200v900h-150q-21 0 -25 10.5t10 24.5l230 249q14 15 35 15t35 -15z" />
+<glyph unicode="&#xe151;" d="M1000 700h-100v100h-100v-100h-100v500h300v-500zM400 300h150q21 0 25 -11t-10 -25l-230 -250q-14 -15 -35 -15t-35 15l-230 250q-14 14 -10 25t25 11h150v900h200v-900zM801 1100v-200h100v200h-100zM1000 350l-200 -250h200v-100h-300v150l200 250h-200v100h300v-150z " />
+<glyph unicode="&#xe152;" d="M400 300h150q21 0 25 -11t-10 -25l-230 -250q-14 -15 -35 -15t-35 15l-230 250q-14 14 -10 25t25 11h150v900h200v-900zM1000 1050l-200 -250h200v-100h-300v150l200 250h-200v100h300v-150zM1000 0h-100v100h-100v-100h-100v500h300v-500zM801 400v-200h100v200h-100z " />
+<glyph unicode="&#xe153;" d="M400 300h150q21 0 25 -11t-10 -25l-230 -250q-14 -15 -35 -15t-35 15l-230 250q-14 14 -10 25t25 11h150v900h200v-900zM1000 700h-100v400h-100v100h200v-500zM1100 0h-100v100h-200v400h300v-500zM901 400v-200h100v200h-100z" />
+<glyph unicode="&#xe154;" d="M400 300h150q21 0 25 -11t-10 -25l-230 -250q-14 -15 -35 -15t-35 15l-230 250q-14 14 -10 25t25 11h150v900h200v-900zM1100 700h-100v100h-200v400h300v-500zM901 1100v-200h100v200h-100zM1000 0h-100v400h-100v100h200v-500z" />
+<glyph unicode="&#xe155;" d="M400 300h150q21 0 25 -11t-10 -25l-230 -250q-14 -15 -35 -15t-35 15l-230 250q-14 14 -10 25t25 11h150v900h200v-900zM900 1000h-200v200h200v-200zM1000 700h-300v200h300v-200zM1100 400h-400v200h400v-200zM1200 100h-500v200h500v-200z" />
+<glyph unicode="&#xe156;" d="M400 300h150q21 0 25 -11t-10 -25l-230 -250q-14 -15 -35 -15t-35 15l-230 250q-14 14 -10 25t25 11h150v900h200v-900zM1200 1000h-500v200h500v-200zM1100 700h-400v200h400v-200zM1000 400h-300v200h300v-200zM900 100h-200v200h200v-200z" />
+<glyph unicode="&#xe157;" d="M350 1100h400q162 0 256 -93.5t94 -256.5v-400q0 -165 -93.5 -257.5t-256.5 -92.5h-400q-165 0 -257.5 92.5t-92.5 257.5v400q0 165 92.5 257.5t257.5 92.5zM800 900h-500q-41 0 -70.5 -29.5t-29.5 -70.5v-500q0 -41 29.5 -70.5t70.5 -29.5h500q41 0 70.5 29.5t29.5 70.5 v500q0 41 -29.5 70.5t-70.5 29.5z" />
+<glyph unicode="&#xe158;" d="M350 1100h400q165 0 257.5 -92.5t92.5 -257.5v-400q0 -165 -92.5 -257.5t-257.5 -92.5h-400q-163 0 -256.5 92.5t-93.5 257.5v400q0 163 94 256.5t256 93.5zM800 900h-500q-41 0 -70.5 -29.5t-29.5 -70.5v-500q0 -41 29.5 -70.5t70.5 -29.5h500q41 0 70.5 29.5t29.5 70.5 v500q0 41 -29.5 70.5t-70.5 29.5zM440 770l253 -190q17 -12 17 -30t-17 -30l-253 -190q-16 -12 -28 -6.5t-12 26.5v400q0 21 12 26.5t28 -6.5z" />
+<glyph unicode="&#xe159;" d="M350 1100h400q163 0 256.5 -94t93.5 -256v-400q0 -165 -92.5 -257.5t-257.5 -92.5h-400q-165 0 -257.5 92.5t-92.5 257.5v400q0 163 92.5 256.5t257.5 93.5zM800 900h-500q-41 0 -70.5 -29.5t-29.5 -70.5v-500q0 -41 29.5 -70.5t70.5 -29.5h500q41 0 70.5 29.5t29.5 70.5 v500q0 41 -29.5 70.5t-70.5 29.5zM350 700h400q21 0 26.5 -12t-6.5 -28l-190 -253q-12 -17 -30 -17t-30 17l-190 253q-12 16 -6.5 28t26.5 12z" />
+<glyph unicode="&#xe160;" d="M350 1100h400q165 0 257.5 -92.5t92.5 -257.5v-400q0 -163 -92.5 -256.5t-257.5 -93.5h-400q-163 0 -256.5 94t-93.5 256v400q0 165 92.5 257.5t257.5 92.5zM800 900h-500q-41 0 -70.5 -29.5t-29.5 -70.5v-500q0 -41 29.5 -70.5t70.5 -29.5h500q41 0 70.5 29.5t29.5 70.5 v500q0 41 -29.5 70.5t-70.5 29.5zM580 693l190 -253q12 -16 6.5 -28t-26.5 -12h-400q-21 0 -26.5 12t6.5 28l190 253q12 17 30 17t30 -17z" />
+<glyph unicode="&#xe161;" d="M550 1100h400q165 0 257.5 -92.5t92.5 -257.5v-400q0 -165 -92.5 -257.5t-257.5 -92.5h-400q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5h450q41 0 70.5 29.5t29.5 70.5v500q0 41 -29.5 70.5t-70.5 29.5h-450q-21 0 -35.5 14.5t-14.5 35.5v100 q0 21 14.5 35.5t35.5 14.5zM338 867l324 -284q16 -14 16 -33t-16 -33l-324 -284q-16 -14 -27 -9t-11 26v150h-250q-21 0 -35.5 14.5t-14.5 35.5v200q0 21 14.5 35.5t35.5 14.5h250v150q0 21 11 26t27 -9z" />
+<glyph unicode="&#xe162;" d="M793 1182l9 -9q8 -10 5 -27q-3 -11 -79 -225.5t-78 -221.5l300 1q24 0 32.5 -17.5t-5.5 -35.5q-1 0 -133.5 -155t-267 -312.5t-138.5 -162.5q-12 -15 -26 -15h-9l-9 8q-9 11 -4 32q2 9 42 123.5t79 224.5l39 110h-302q-23 0 -31 19q-10 21 6 41q75 86 209.5 237.5 t228 257t98.5 111.5q9 16 25 16h9z" />
+<glyph unicode="&#xe163;" d="M350 1100h400q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-450q-41 0 -70.5 -29.5t-29.5 -70.5v-500q0 -41 29.5 -70.5t70.5 -29.5h450q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-400q-165 0 -257.5 92.5t-92.5 257.5v400 q0 165 92.5 257.5t257.5 92.5zM938 867l324 -284q16 -14 16 -33t-16 -33l-324 -284q-16 -14 -27 -9t-11 26v150h-250q-21 0 -35.5 14.5t-14.5 35.5v200q0 21 14.5 35.5t35.5 14.5h250v150q0 21 11 26t27 -9z" />
+<glyph unicode="&#xe164;" d="M750 1200h400q21 0 35.5 -14.5t14.5 -35.5v-400q0 -21 -10.5 -25t-24.5 10l-109 109l-312 -312q-15 -15 -35.5 -15t-35.5 15l-141 141q-15 15 -15 35.5t15 35.5l312 312l-109 109q-14 14 -10 24.5t25 10.5zM456 900h-156q-41 0 -70.5 -29.5t-29.5 -70.5v-500 q0 -41 29.5 -70.5t70.5 -29.5h500q41 0 70.5 29.5t29.5 70.5v148l200 200v-298q0 -165 -93.5 -257.5t-256.5 -92.5h-400q-165 0 -257.5 92.5t-92.5 257.5v400q0 165 92.5 257.5t257.5 92.5h300z" />
+<glyph unicode="&#xe165;" d="M600 1186q119 0 227.5 -46.5t187 -125t125 -187t46.5 -227.5t-46.5 -227.5t-125 -187t-187 -125t-227.5 -46.5t-227.5 46.5t-187 125t-125 187t-46.5 227.5t46.5 227.5t125 187t187 125t227.5 46.5zM600 1022q-115 0 -212 -56.5t-153.5 -153.5t-56.5 -212t56.5 -212 t153.5 -153.5t212 -56.5t212 56.5t153.5 153.5t56.5 212t-56.5 212t-153.5 153.5t-212 56.5zM600 794q80 0 137 -57t57 -137t-57 -137t-137 -57t-137 57t-57 137t57 137t137 57z" />
+<glyph unicode="&#xe166;" d="M450 1200h200q21 0 35.5 -14.5t14.5 -35.5v-350h245q20 0 25 -11t-9 -26l-383 -426q-14 -15 -33.5 -15t-32.5 15l-379 426q-13 15 -8.5 26t25.5 11h250v350q0 21 14.5 35.5t35.5 14.5zM50 300h1000q21 0 35.5 -14.5t14.5 -35.5v-250h-1100v250q0 21 14.5 35.5t35.5 14.5z M900 200v-50h100v50h-100z" />
+<glyph unicode="&#xe167;" d="M583 1182l378 -435q14 -15 9 -31t-26 -16h-244v-250q0 -20 -17 -35t-39 -15h-200q-20 0 -32 14.5t-12 35.5v250h-250q-20 0 -25.5 16.5t8.5 31.5l383 431q14 16 33.5 17t33.5 -14zM50 300h1000q21 0 35.5 -14.5t14.5 -35.5v-250h-1100v250q0 21 14.5 35.5t35.5 14.5z M900 200v-50h100v50h-100z" />
+<glyph unicode="&#xe168;" d="M396 723l369 369q7 7 17.5 7t17.5 -7l139 -139q7 -8 7 -18.5t-7 -17.5l-525 -525q-7 -8 -17.5 -8t-17.5 8l-292 291q-7 8 -7 18t7 18l139 139q8 7 18.5 7t17.5 -7zM50 300h1000q21 0 35.5 -14.5t14.5 -35.5v-250h-1100v250q0 21 14.5 35.5t35.5 14.5zM900 200v-50h100v50 h-100z" />
+<glyph unicode="&#xe169;" d="M135 1023l142 142q14 14 35 14t35 -14l77 -77l-212 -212l-77 76q-14 15 -14 36t14 35zM655 855l210 210q14 14 24.5 10t10.5 -25l-2 -599q-1 -20 -15.5 -35t-35.5 -15l-597 -1q-21 0 -25 10.5t10 24.5l208 208l-154 155l212 212zM50 300h1000q21 0 35.5 -14.5t14.5 -35.5 v-250h-1100v250q0 21 14.5 35.5t35.5 14.5zM900 200v-50h100v50h-100z" />
+<glyph unicode="&#xe170;" d="M350 1200l599 -2q20 -1 35 -15.5t15 -35.5l1 -597q0 -21 -10.5 -25t-24.5 10l-208 208l-155 -154l-212 212l155 154l-210 210q-14 14 -10 24.5t25 10.5zM524 512l-76 -77q-15 -14 -36 -14t-35 14l-142 142q-14 14 -14 35t14 35l77 77zM50 300h1000q21 0 35.5 -14.5 t14.5 -35.5v-250h-1100v250q0 21 14.5 35.5t35.5 14.5zM900 200v-50h100v50h-100z" />
+<glyph unicode="&#xe171;" d="M1200 103l-483 276l-314 -399v423h-399l1196 796v-1096zM483 424v-230l683 953z" />
+<glyph unicode="&#xe172;" d="M1100 1000v-850q0 -21 -14.5 -35.5t-35.5 -14.5h-150v400h-700v-400h-150q-21 0 -35.5 14.5t-14.5 35.5v1000q0 20 14.5 35t35.5 15h250v-300h500v300h100zM700 1000h-100v200h100v-200z" />
+<glyph unicode="&#xe173;" d="M1100 1000l-2 -149l-299 -299l-95 95q-9 9 -21.5 9t-21.5 -9l-149 -147h-312v-400h-150q-21 0 -35.5 14.5t-14.5 35.5v1000q0 20 14.5 35t35.5 15h250v-300h500v300h100zM700 1000h-100v200h100v-200zM1132 638l106 -106q7 -7 7 -17.5t-7 -17.5l-420 -421q-8 -7 -18 -7 t-18 7l-202 203q-8 7 -8 17.5t8 17.5l106 106q7 8 17.5 8t17.5 -8l79 -79l297 297q7 7 17.5 7t17.5 -7z" />
+<glyph unicode="&#xe174;" d="M1100 1000v-269l-103 -103l-134 134q-15 15 -33.5 16.5t-34.5 -12.5l-266 -266h-329v-400h-150q-21 0 -35.5 14.5t-14.5 35.5v1000q0 20 14.5 35t35.5 15h250v-300h500v300h100zM700 1000h-100v200h100v-200zM1202 572l70 -70q15 -15 15 -35.5t-15 -35.5l-131 -131 l131 -131q15 -15 15 -35.5t-15 -35.5l-70 -70q-15 -15 -35.5 -15t-35.5 15l-131 131l-131 -131q-15 -15 -35.5 -15t-35.5 15l-70 70q-15 15 -15 35.5t15 35.5l131 131l-131 131q-15 15 -15 35.5t15 35.5l70 70q15 15 35.5 15t35.5 -15l131 -131l131 131q15 15 35.5 15 t35.5 -15z" />
+<glyph unicode="&#xe175;" d="M1100 1000v-300h-350q-21 0 -35.5 -14.5t-14.5 -35.5v-150h-500v-400h-150q-21 0 -35.5 14.5t-14.5 35.5v1000q0 20 14.5 35t35.5 15h250v-300h500v300h100zM700 1000h-100v200h100v-200zM850 600h100q21 0 35.5 -14.5t14.5 -35.5v-250h150q21 0 25 -10.5t-10 -24.5 l-230 -230q-14 -14 -35 -14t-35 14l-230 230q-14 14 -10 24.5t25 10.5h150v250q0 21 14.5 35.5t35.5 14.5z" />
+<glyph unicode="&#xe176;" d="M1100 1000v-400l-165 165q-14 15 -35 15t-35 -15l-263 -265h-402v-400h-150q-21 0 -35.5 14.5t-14.5 35.5v1000q0 20 14.5 35t35.5 15h250v-300h500v300h100zM700 1000h-100v200h100v-200zM935 565l230 -229q14 -15 10 -25.5t-25 -10.5h-150v-250q0 -20 -14.5 -35 t-35.5 -15h-100q-21 0 -35.5 15t-14.5 35v250h-150q-21 0 -25 10.5t10 25.5l230 229q14 15 35 15t35 -15z" />
+<glyph unicode="&#xe177;" d="M50 1100h1100q21 0 35.5 -14.5t14.5 -35.5v-150h-1200v150q0 21 14.5 35.5t35.5 14.5zM1200 800v-550q0 -21 -14.5 -35.5t-35.5 -14.5h-1100q-21 0 -35.5 14.5t-14.5 35.5v550h1200zM100 500v-200h400v200h-400z" />
+<glyph unicode="&#xe178;" d="M935 1165l248 -230q14 -14 14 -35t-14 -35l-248 -230q-14 -14 -24.5 -10t-10.5 25v150h-400v200h400v150q0 21 10.5 25t24.5 -10zM200 800h-50q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5h50v-200zM400 800h-100v200h100v-200zM18 435l247 230 q14 14 24.5 10t10.5 -25v-150h400v-200h-400v-150q0 -21 -10.5 -25t-24.5 10l-247 230q-15 14 -15 35t15 35zM900 300h-100v200h100v-200zM1000 500h51q20 0 34.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-34.5 -14.5h-51v200z" />
+<glyph unicode="&#xe179;" d="M862 1073l276 116q25 18 43.5 8t18.5 -41v-1106q0 -21 -14.5 -35.5t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5v397q-4 1 -11 5t-24 17.5t-30 29t-24 42t-11 56.5v359q0 31 18.5 65t43.5 52zM550 1200q22 0 34.5 -12.5t14.5 -24.5l1 -13v-450q0 -28 -10.5 -59.5 t-25 -56t-29 -45t-25.5 -31.5l-10 -11v-447q0 -21 -14.5 -35.5t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5v447q-4 4 -11 11.5t-24 30.5t-30 46t-24 55t-11 60v450q0 2 0.5 5.5t4 12t8.5 15t14.5 12t22.5 5.5q20 0 32.5 -12.5t14.5 -24.5l3 -13v-350h100v350v5.5t2.5 12 t7 15t15 12t25.5 5.5q23 0 35.5 -12.5t13.5 -24.5l1 -13v-350h100v350q0 2 0.5 5.5t3 12t7 15t15 12t24.5 5.5z" />
+<glyph unicode="&#xe180;" d="M1200 1100v-56q-4 0 -11 -0.5t-24 -3t-30 -7.5t-24 -15t-11 -24v-888q0 -22 25 -34.5t50 -13.5l25 -2v-56h-400v56q75 0 87.5 6.5t12.5 43.5v394h-500v-394q0 -37 12.5 -43.5t87.5 -6.5v-56h-400v56q4 0 11 0.5t24 3t30 7.5t24 15t11 24v888q0 22 -25 34.5t-50 13.5 l-25 2v56h400v-56q-75 0 -87.5 -6.5t-12.5 -43.5v-394h500v394q0 37 -12.5 43.5t-87.5 6.5v56h400z" />
+<glyph unicode="&#xe181;" d="M675 1000h375q21 0 35.5 -14.5t14.5 -35.5v-150h-105l-295 -98v98l-200 200h-400l100 100h375zM100 900h300q41 0 70.5 -29.5t29.5 -70.5v-500q0 -41 -29.5 -70.5t-70.5 -29.5h-300q-41 0 -70.5 29.5t-29.5 70.5v500q0 41 29.5 70.5t70.5 29.5zM100 800v-200h300v200 h-300zM1100 535l-400 -133v163l400 133v-163zM100 500v-200h300v200h-300zM1100 398v-248q0 -21 -14.5 -35.5t-35.5 -14.5h-375l-100 -100h-375l-100 100h400l200 200h105z" />
+<glyph unicode="&#xe182;" d="M17 1007l162 162q17 17 40 14t37 -22l139 -194q14 -20 11 -44.5t-20 -41.5l-119 -118q102 -142 228 -268t267 -227l119 118q17 17 42.5 19t44.5 -12l192 -136q19 -14 22.5 -37.5t-13.5 -40.5l-163 -162q-3 -1 -9.5 -1t-29.5 2t-47.5 6t-62.5 14.5t-77.5 26.5t-90 42.5 t-101.5 60t-111 83t-119 108.5q-74 74 -133.5 150.5t-94.5 138.5t-60 119.5t-34.5 100t-15 74.5t-4.5 48z" />
+<glyph unicode="&#xe183;" d="M600 1100q92 0 175 -10.5t141.5 -27t108.5 -36.5t81.5 -40t53.5 -37t31 -27l9 -10v-200q0 -21 -14.5 -33t-34.5 -9l-202 34q-20 3 -34.5 20t-14.5 38v146q-141 24 -300 24t-300 -24v-146q0 -21 -14.5 -38t-34.5 -20l-202 -34q-20 -3 -34.5 9t-14.5 33v200q3 4 9.5 10.5 t31 26t54 37.5t80.5 39.5t109 37.5t141 26.5t175 10.5zM600 795q56 0 97 -9.5t60 -23.5t30 -28t12 -24l1 -10v-50l365 -303q14 -15 24.5 -40t10.5 -45v-212q0 -21 -14.5 -35.5t-35.5 -14.5h-1100q-21 0 -35.5 14.5t-14.5 35.5v212q0 20 10.5 45t24.5 40l365 303v50 q0 4 1 10.5t12 23t30 29t60 22.5t97 10z" />
+<glyph unicode="&#xe184;" d="M1100 700l-200 -200h-600l-200 200v500h200v-200h200v200h200v-200h200v200h200v-500zM250 400h700q21 0 35.5 -14.5t14.5 -35.5t-14.5 -35.5t-35.5 -14.5h-12l137 -100h-950l137 100h-12q-21 0 -35.5 14.5t-14.5 35.5t14.5 35.5t35.5 14.5zM50 100h1100q21 0 35.5 -14.5 t14.5 -35.5v-50h-1200v50q0 21 14.5 35.5t35.5 14.5z" />
+<glyph unicode="&#xe185;" d="M700 1100h-100q-41 0 -70.5 -29.5t-29.5 -70.5v-1000h300v1000q0 41 -29.5 70.5t-70.5 29.5zM1100 800h-100q-41 0 -70.5 -29.5t-29.5 -70.5v-700h300v700q0 41 -29.5 70.5t-70.5 29.5zM400 0h-300v400q0 41 29.5 70.5t70.5 29.5h100q41 0 70.5 -29.5t29.5 -70.5v-400z " />
+<glyph unicode="&#xe186;" d="M200 1100h700q124 0 212 -88t88 -212v-500q0 -124 -88 -212t-212 -88h-700q-124 0 -212 88t-88 212v500q0 124 88 212t212 88zM100 900v-700h900v700h-900zM500 700h-200v-100h200v-300h-300v100h200v100h-200v300h300v-100zM900 700v-300l-100 -100h-200v500h200z M700 700v-300h100v300h-100z" />
+<glyph unicode="&#xe187;" d="M200 1100h700q124 0 212 -88t88 -212v-500q0 -124 -88 -212t-212 -88h-700q-124 0 -212 88t-88 212v500q0 124 88 212t212 88zM100 900v-700h900v700h-900zM500 300h-100v200h-100v-200h-100v500h100v-200h100v200h100v-500zM900 700v-300l-100 -100h-200v500h200z M700 700v-300h100v300h-100z" />
+<glyph unicode="&#xe188;" d="M200 1100h700q124 0 212 -88t88 -212v-500q0 -124 -88 -212t-212 -88h-700q-124 0 -212 88t-88 212v500q0 124 88 212t212 88zM100 900v-700h900v700h-900zM500 700h-200v-300h200v-100h-300v500h300v-100zM900 700h-200v-300h200v-100h-300v500h300v-100z" />
+<glyph unicode="&#xe189;" d="M200 1100h700q124 0 212 -88t88 -212v-500q0 -124 -88 -212t-212 -88h-700q-124 0 -212 88t-88 212v500q0 124 88 212t212 88zM100 900v-700h900v700h-900zM500 400l-300 150l300 150v-300zM900 550l-300 -150v300z" />
+<glyph unicode="&#xe190;" d="M200 1100h700q124 0 212 -88t88 -212v-500q0 -124 -88 -212t-212 -88h-700q-124 0 -212 88t-88 212v500q0 124 88 212t212 88zM100 900v-700h900v700h-900zM900 300h-700v500h700v-500zM800 700h-130q-38 0 -66.5 -43t-28.5 -108t27 -107t68 -42h130v300zM300 700v-300 h130q41 0 68 42t27 107t-28.5 108t-66.5 43h-130z" />
+<glyph unicode="&#xe191;" d="M200 1100h700q124 0 212 -88t88 -212v-500q0 -124 -88 -212t-212 -88h-700q-124 0 -212 88t-88 212v500q0 124 88 212t212 88zM100 900v-700h900v700h-900zM500 700h-200v-100h200v-300h-300v100h200v100h-200v300h300v-100zM900 300h-100v400h-100v100h200v-500z M700 300h-100v100h100v-100z" />
+<glyph unicode="&#xe192;" d="M200 1100h700q124 0 212 -88t88 -212v-500q0 -124 -88 -212t-212 -88h-700q-124 0 -212 88t-88 212v500q0 124 88 212t212 88zM100 900v-700h900v700h-900zM300 700h200v-400h-300v500h100v-100zM900 300h-100v400h-100v100h200v-500zM300 600v-200h100v200h-100z M700 300h-100v100h100v-100z" />
+<glyph unicode="&#xe193;" d="M200 1100h700q124 0 212 -88t88 -212v-500q0 -124 -88 -212t-212 -88h-700q-124 0 -212 88t-88 212v500q0 124 88 212t212 88zM100 900v-700h900v700h-900zM500 500l-199 -200h-100v50l199 200v150h-200v100h300v-300zM900 300h-100v400h-100v100h200v-500zM701 300h-100 v100h100v-100z" />
+<glyph unicode="&#xe194;" d="M600 1191q120 0 229.5 -47t188.5 -126t126 -188.5t47 -229.5t-47 -229.5t-126 -188.5t-188.5 -126t-229.5 -47t-229.5 47t-188.5 126t-126 188.5t-47 229.5t47 229.5t126 188.5t188.5 126t229.5 47zM600 1021q-114 0 -211 -56.5t-153.5 -153.5t-56.5 -211t56.5 -211 t153.5 -153.5t211 -56.5t211 56.5t153.5 153.5t56.5 211t-56.5 211t-153.5 153.5t-211 56.5zM800 700h-300v-200h300v-100h-300l-100 100v200l100 100h300v-100z" />
+<glyph unicode="&#xe195;" d="M600 1191q120 0 229.5 -47t188.5 -126t126 -188.5t47 -229.5t-47 -229.5t-126 -188.5t-188.5 -126t-229.5 -47t-229.5 47t-188.5 126t-126 188.5t-47 229.5t47 229.5t126 188.5t188.5 126t229.5 47zM600 1021q-114 0 -211 -56.5t-153.5 -153.5t-56.5 -211t56.5 -211 t153.5 -153.5t211 -56.5t211 56.5t153.5 153.5t56.5 211t-56.5 211t-153.5 153.5t-211 56.5zM800 700v-100l-50 -50l100 -100v-50h-100l-100 100h-150v-100h-100v400h300zM500 700v-100h200v100h-200z" />
+<glyph unicode="&#xe197;" d="M503 1089q110 0 200.5 -59.5t134.5 -156.5q44 14 90 14q120 0 205 -86.5t85 -207t-85 -207t-205 -86.5h-128v250q0 21 -14.5 35.5t-35.5 14.5h-300q-21 0 -35.5 -14.5t-14.5 -35.5v-250h-222q-80 0 -136 57.5t-56 136.5q0 69 43 122.5t108 67.5q-2 19 -2 37q0 100 49 185 t134 134t185 49zM525 500h150q10 0 17.5 -7.5t7.5 -17.5v-275h137q21 0 26 -11.5t-8 -27.5l-223 -244q-13 -16 -32 -16t-32 16l-223 244q-13 16 -8 27.5t26 11.5h137v275q0 10 7.5 17.5t17.5 7.5z" />
+<glyph unicode="&#xe198;" d="M502 1089q110 0 201 -59.5t135 -156.5q43 15 89 15q121 0 206 -86.5t86 -206.5q0 -99 -60 -181t-150 -110l-378 360q-13 16 -31.5 16t-31.5 -16l-381 -365h-9q-79 0 -135.5 57.5t-56.5 136.5q0 69 43 122.5t108 67.5q-2 19 -2 38q0 100 49 184.5t133.5 134t184.5 49.5z M632 467l223 -228q13 -16 8 -27.5t-26 -11.5h-137v-275q0 -10 -7.5 -17.5t-17.5 -7.5h-150q-10 0 -17.5 7.5t-7.5 17.5v275h-137q-21 0 -26 11.5t8 27.5q199 204 223 228q19 19 31.5 19t32.5 -19z" />
+<glyph unicode="&#xe199;" d="M700 100v100h400l-270 300h170l-270 300h170l-300 333l-300 -333h170l-270 -300h170l-270 -300h400v-100h-50q-21 0 -35.5 -14.5t-14.5 -35.5v-50h400v50q0 21 -14.5 35.5t-35.5 14.5h-50z" />
+<glyph unicode="&#xe200;" d="M600 1179q94 0 167.5 -56.5t99.5 -145.5q89 -6 150.5 -71.5t61.5 -155.5q0 -61 -29.5 -112.5t-79.5 -82.5q9 -29 9 -55q0 -74 -52.5 -126.5t-126.5 -52.5q-55 0 -100 30v-251q21 0 35.5 -14.5t14.5 -35.5v-50h-300v50q0 21 14.5 35.5t35.5 14.5v251q-45 -30 -100 -30 q-74 0 -126.5 52.5t-52.5 126.5q0 18 4 38q-47 21 -75.5 65t-28.5 97q0 74 52.5 126.5t126.5 52.5q5 0 23 -2q0 2 -1 10t-1 13q0 116 81.5 197.5t197.5 81.5z" />
+<glyph unicode="&#xe201;" d="M1010 1010q111 -111 150.5 -260.5t0 -299t-150.5 -260.5q-83 -83 -191.5 -126.5t-218.5 -43.5t-218.5 43.5t-191.5 126.5q-111 111 -150.5 260.5t0 299t150.5 260.5q83 83 191.5 126.5t218.5 43.5t218.5 -43.5t191.5 -126.5zM476 1065q-4 0 -8 -1q-121 -34 -209.5 -122.5 t-122.5 -209.5q-4 -12 2.5 -23t18.5 -14l36 -9q3 -1 7 -1q23 0 29 22q27 96 98 166q70 71 166 98q11 3 17.5 13.5t3.5 22.5l-9 35q-3 13 -14 19q-7 4 -15 4zM512 920q-4 0 -9 -2q-80 -24 -138.5 -82.5t-82.5 -138.5q-4 -13 2 -24t19 -14l34 -9q4 -1 8 -1q22 0 28 21 q18 58 58.5 98.5t97.5 58.5q12 3 18 13.5t3 21.5l-9 35q-3 12 -14 19q-7 4 -15 4zM719.5 719.5q-49.5 49.5 -119.5 49.5t-119.5 -49.5t-49.5 -119.5t49.5 -119.5t119.5 -49.5t119.5 49.5t49.5 119.5t-49.5 119.5zM855 551q-22 0 -28 -21q-18 -58 -58.5 -98.5t-98.5 -57.5 q-11 -4 -17 -14.5t-3 -21.5l9 -35q3 -12 14 -19q7 -4 15 -4q4 0 9 2q80 24 138.5 82.5t82.5 138.5q4 13 -2.5 24t-18.5 14l-34 9q-4 1 -8 1zM1000 515q-23 0 -29 -22q-27 -96 -98 -166q-70 -71 -166 -98q-11 -3 -17.5 -13.5t-3.5 -22.5l9 -35q3 -13 14 -19q7 -4 15 -4 q4 0 8 1q121 34 209.5 122.5t122.5 209.5q4 12 -2.5 23t-18.5 14l-36 9q-3 1 -7 1z" />
+<glyph unicode="&#xe202;" d="M700 800h300v-380h-180v200h-340v-200h-380v755q0 10 7.5 17.5t17.5 7.5h575v-400zM1000 900h-200v200zM700 300h162l-212 -212l-212 212h162v200h100v-200zM520 0h-395q-10 0 -17.5 7.5t-7.5 17.5v395zM1000 220v-195q0 -10 -7.5 -17.5t-17.5 -7.5h-195z" />
+<glyph unicode="&#xe203;" d="M700 800h300v-520l-350 350l-550 -550v1095q0 10 7.5 17.5t17.5 7.5h575v-400zM1000 900h-200v200zM862 200h-162v-200h-100v200h-162l212 212zM480 0h-355q-10 0 -17.5 7.5t-7.5 17.5v55h380v-80zM1000 80v-55q0 -10 -7.5 -17.5t-17.5 -7.5h-155v80h180z" />
+<glyph unicode="&#xe204;" d="M1162 800h-162v-200h100l100 -100h-300v300h-162l212 212zM200 800h200q27 0 40 -2t29.5 -10.5t23.5 -30t7 -57.5h300v-100h-600l-200 -350v450h100q0 36 7 57.5t23.5 30t29.5 10.5t40 2zM800 400h240l-240 -400h-800l300 500h500v-100z" />
+<glyph unicode="&#xe205;" d="M650 1100h100q21 0 35.5 -14.5t14.5 -35.5v-50h50q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-300q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5h50v50q0 21 14.5 35.5t35.5 14.5zM1000 850v150q41 0 70.5 -29.5t29.5 -70.5v-800 q0 -41 -29.5 -70.5t-70.5 -29.5h-600q-1 0 -20 4l246 246l-326 326v324q0 41 29.5 70.5t70.5 29.5v-150q0 -62 44 -106t106 -44h300q62 0 106 44t44 106zM412 250l-212 -212v162h-200v100h200v162z" />
+<glyph unicode="&#xe206;" d="M450 1100h100q21 0 35.5 -14.5t14.5 -35.5v-50h50q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-300q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5h50v50q0 21 14.5 35.5t35.5 14.5zM800 850v150q41 0 70.5 -29.5t29.5 -70.5v-500 h-200v-300h200q0 -36 -7 -57.5t-23.5 -30t-29.5 -10.5t-40 -2h-600q-41 0 -70.5 29.5t-29.5 70.5v800q0 41 29.5 70.5t70.5 29.5v-150q0 -62 44 -106t106 -44h300q62 0 106 44t44 106zM1212 250l-212 -212v162h-200v100h200v162z" />
+<glyph unicode="&#xe209;" d="M658 1197l637 -1104q23 -38 7 -65.5t-60 -27.5h-1276q-44 0 -60 27.5t7 65.5l637 1104q22 39 54 39t54 -39zM704 800h-208q-20 0 -32 -14.5t-8 -34.5l58 -302q4 -20 21.5 -34.5t37.5 -14.5h54q20 0 37.5 14.5t21.5 34.5l58 302q4 20 -8 34.5t-32 14.5zM500 300v-100h200 v100h-200z" />
+<glyph unicode="&#xe210;" d="M425 1100h250q10 0 17.5 -7.5t7.5 -17.5v-150q0 -10 -7.5 -17.5t-17.5 -7.5h-250q-10 0 -17.5 7.5t-7.5 17.5v150q0 10 7.5 17.5t17.5 7.5zM425 800h250q10 0 17.5 -7.5t7.5 -17.5v-150q0 -10 -7.5 -17.5t-17.5 -7.5h-250q-10 0 -17.5 7.5t-7.5 17.5v150q0 10 7.5 17.5 t17.5 7.5zM825 800h250q10 0 17.5 -7.5t7.5 -17.5v-150q0 -10 -7.5 -17.5t-17.5 -7.5h-250q-10 0 -17.5 7.5t-7.5 17.5v150q0 10 7.5 17.5t17.5 7.5zM25 500h250q10 0 17.5 -7.5t7.5 -17.5v-150q0 -10 -7.5 -17.5t-17.5 -7.5h-250q-10 0 -17.5 7.5t-7.5 17.5v150 q0 10 7.5 17.5t17.5 7.5zM425 500h250q10 0 17.5 -7.5t7.5 -17.5v-150q0 -10 -7.5 -17.5t-17.5 -7.5h-250q-10 0 -17.5 7.5t-7.5 17.5v150q0 10 7.5 17.5t17.5 7.5zM825 500h250q10 0 17.5 -7.5t7.5 -17.5v-150q0 -10 -7.5 -17.5t-17.5 -7.5h-250q-10 0 -17.5 7.5t-7.5 17.5 v150q0 10 7.5 17.5t17.5 7.5zM25 200h250q10 0 17.5 -7.5t7.5 -17.5v-150q0 -10 -7.5 -17.5t-17.5 -7.5h-250q-10 0 -17.5 7.5t-7.5 17.5v150q0 10 7.5 17.5t17.5 7.5zM425 200h250q10 0 17.5 -7.5t7.5 -17.5v-150q0 -10 -7.5 -17.5t-17.5 -7.5h-250q-10 0 -17.5 7.5 t-7.5 17.5v150q0 10 7.5 17.5t17.5 7.5zM825 200h250q10 0 17.5 -7.5t7.5 -17.5v-150q0 -10 -7.5 -17.5t-17.5 -7.5h-250q-10 0 -17.5 7.5t-7.5 17.5v150q0 10 7.5 17.5t17.5 7.5z" />
+<glyph unicode="&#xe211;" d="M700 1200h100v-200h-100v-100h350q62 0 86.5 -39.5t-3.5 -94.5l-66 -132q-41 -83 -81 -134h-772q-40 51 -81 134l-66 132q-28 55 -3.5 94.5t86.5 39.5h350v100h-100v200h100v100h200v-100zM250 400h700q21 0 35.5 -14.5t14.5 -35.5t-14.5 -35.5t-35.5 -14.5h-12l137 -100 h-950l138 100h-13q-21 0 -35.5 14.5t-14.5 35.5t14.5 35.5t35.5 14.5zM50 100h1100q21 0 35.5 -14.5t14.5 -35.5v-50h-1200v50q0 21 14.5 35.5t35.5 14.5z" />
+<glyph unicode="&#xe212;" d="M600 1300q40 0 68.5 -29.5t28.5 -70.5h-194q0 41 28.5 70.5t68.5 29.5zM443 1100h314q18 -37 18 -75q0 -8 -3 -25h328q41 0 44.5 -16.5t-30.5 -38.5l-175 -145h-678l-178 145q-34 22 -29 38.5t46 16.5h328q-3 17 -3 25q0 38 18 75zM250 700h700q21 0 35.5 -14.5 t14.5 -35.5t-14.5 -35.5t-35.5 -14.5h-150v-200l275 -200h-950l275 200v200h-150q-21 0 -35.5 14.5t-14.5 35.5t14.5 35.5t35.5 14.5zM50 100h1100q21 0 35.5 -14.5t14.5 -35.5v-50h-1200v50q0 21 14.5 35.5t35.5 14.5z" />
+<glyph unicode="&#xe213;" d="M600 1181q75 0 128 -53t53 -128t-53 -128t-128 -53t-128 53t-53 128t53 128t128 53zM602 798h46q34 0 55.5 -28.5t21.5 -86.5q0 -76 39 -183h-324q39 107 39 183q0 58 21.5 86.5t56.5 28.5h45zM250 400h700q21 0 35.5 -14.5t14.5 -35.5t-14.5 -35.5t-35.5 -14.5h-13 l138 -100h-950l137 100h-12q-21 0 -35.5 14.5t-14.5 35.5t14.5 35.5t35.5 14.5zM50 100h1100q21 0 35.5 -14.5t14.5 -35.5v-50h-1200v50q0 21 14.5 35.5t35.5 14.5z" />
+<glyph unicode="&#xe214;" d="M600 1300q47 0 92.5 -53.5t71 -123t25.5 -123.5q0 -78 -55.5 -133.5t-133.5 -55.5t-133.5 55.5t-55.5 133.5q0 62 34 143l144 -143l111 111l-163 163q34 26 63 26zM602 798h46q34 0 55.5 -28.5t21.5 -86.5q0 -76 39 -183h-324q39 107 39 183q0 58 21.5 86.5t56.5 28.5h45 zM250 400h700q21 0 35.5 -14.5t14.5 -35.5t-14.5 -35.5t-35.5 -14.5h-13l138 -100h-950l137 100h-12q-21 0 -35.5 14.5t-14.5 35.5t14.5 35.5t35.5 14.5zM50 100h1100q21 0 35.5 -14.5t14.5 -35.5v-50h-1200v50q0 21 14.5 35.5t35.5 14.5z" />
+<glyph unicode="&#xe215;" d="M600 1200l300 -161v-139h-300q0 -57 18.5 -108t50 -91.5t63 -72t70 -67.5t57.5 -61h-530q-60 83 -90.5 177.5t-30.5 178.5t33 164.5t87.5 139.5t126 96.5t145.5 41.5v-98zM250 400h700q21 0 35.5 -14.5t14.5 -35.5t-14.5 -35.5t-35.5 -14.5h-13l138 -100h-950l137 100 h-12q-21 0 -35.5 14.5t-14.5 35.5t14.5 35.5t35.5 14.5zM50 100h1100q21 0 35.5 -14.5t14.5 -35.5v-50h-1200v50q0 21 14.5 35.5t35.5 14.5z" />
+<glyph unicode="&#xe216;" d="M600 1300q41 0 70.5 -29.5t29.5 -70.5v-78q46 -26 73 -72t27 -100v-50h-400v50q0 54 27 100t73 72v78q0 41 29.5 70.5t70.5 29.5zM400 800h400q54 0 100 -27t72 -73h-172v-100h200v-100h-200v-100h200v-100h-200v-100h200q0 -83 -58.5 -141.5t-141.5 -58.5h-400 q-83 0 -141.5 58.5t-58.5 141.5v400q0 83 58.5 141.5t141.5 58.5z" />
+<glyph unicode="&#xe218;" d="M150 1100h900q21 0 35.5 -14.5t14.5 -35.5v-500q0 -21 -14.5 -35.5t-35.5 -14.5h-900q-21 0 -35.5 14.5t-14.5 35.5v500q0 21 14.5 35.5t35.5 14.5zM125 400h950q10 0 17.5 -7.5t7.5 -17.5v-50q0 -10 -7.5 -17.5t-17.5 -7.5h-283l224 -224q13 -13 13 -31.5t-13 -32 t-31.5 -13.5t-31.5 13l-88 88h-524l-87 -88q-13 -13 -32 -13t-32 13.5t-13 32t13 31.5l224 224h-289q-10 0 -17.5 7.5t-7.5 17.5v50q0 10 7.5 17.5t17.5 7.5zM541 300l-100 -100h324l-100 100h-124z" />
+<glyph unicode="&#xe219;" d="M200 1100h800q83 0 141.5 -58.5t58.5 -141.5v-200h-100q0 41 -29.5 70.5t-70.5 29.5h-250q-41 0 -70.5 -29.5t-29.5 -70.5h-100q0 41 -29.5 70.5t-70.5 29.5h-250q-41 0 -70.5 -29.5t-29.5 -70.5h-100v200q0 83 58.5 141.5t141.5 58.5zM100 600h1000q41 0 70.5 -29.5 t29.5 -70.5v-300h-1200v300q0 41 29.5 70.5t70.5 29.5zM300 100v-50q0 -21 -14.5 -35.5t-35.5 -14.5h-100q-21 0 -35.5 14.5t-14.5 35.5v50h200zM1100 100v-50q0 -21 -14.5 -35.5t-35.5 -14.5h-100q-21 0 -35.5 14.5t-14.5 35.5v50h200z" />
+<glyph unicode="&#xe221;" d="M480 1165l682 -683q31 -31 31 -75.5t-31 -75.5l-131 -131h-481l-517 518q-32 31 -32 75.5t32 75.5l295 296q31 31 75.5 31t76.5 -31zM108 794l342 -342l303 304l-341 341zM250 100h800q21 0 35.5 -14.5t14.5 -35.5v-50h-900v50q0 21 14.5 35.5t35.5 14.5z" />
+<glyph unicode="&#xe223;" d="M1057 647l-189 506q-8 19 -27.5 33t-40.5 14h-400q-21 0 -40.5 -14t-27.5 -33l-189 -506q-8 -19 1.5 -33t30.5 -14h625v-150q0 -21 14.5 -35.5t35.5 -14.5t35.5 14.5t14.5 35.5v150h125q21 0 30.5 14t1.5 33zM897 0h-595v50q0 21 14.5 35.5t35.5 14.5h50v50 q0 21 14.5 35.5t35.5 14.5h48v300h200v-300h47q21 0 35.5 -14.5t14.5 -35.5v-50h50q21 0 35.5 -14.5t14.5 -35.5v-50z" />
+<glyph unicode="&#xe224;" d="M900 800h300v-575q0 -10 -7.5 -17.5t-17.5 -7.5h-375v591l-300 300v84q0 10 7.5 17.5t17.5 7.5h375v-400zM1200 900h-200v200zM400 600h300v-575q0 -10 -7.5 -17.5t-17.5 -7.5h-650q-10 0 -17.5 7.5t-7.5 17.5v950q0 10 7.5 17.5t17.5 7.5h375v-400zM700 700h-200v200z " />
+<glyph unicode="&#xe225;" d="M484 1095h195q75 0 146 -32.5t124 -86t89.5 -122.5t48.5 -142q18 -14 35 -20q31 -10 64.5 6.5t43.5 48.5q10 34 -15 71q-19 27 -9 43q5 8 12.5 11t19 -1t23.5 -16q41 -44 39 -105q-3 -63 -46 -106.5t-104 -43.5h-62q-7 -55 -35 -117t-56 -100l-39 -234q-3 -20 -20 -34.5 t-38 -14.5h-100q-21 0 -33 14.5t-9 34.5l12 70q-49 -14 -91 -14h-195q-24 0 -65 8l-11 -64q-3 -20 -20 -34.5t-38 -14.5h-100q-21 0 -33 14.5t-9 34.5l26 157q-84 74 -128 175l-159 53q-19 7 -33 26t-14 40v50q0 21 14.5 35.5t35.5 14.5h124q11 87 56 166l-111 95 q-16 14 -12.5 23.5t24.5 9.5h203q116 101 250 101zM675 1000h-250q-10 0 -17.5 -7.5t-7.5 -17.5v-50q0 -10 7.5 -17.5t17.5 -7.5h250q10 0 17.5 7.5t7.5 17.5v50q0 10 -7.5 17.5t-17.5 7.5z" />
+<glyph unicode="&#xe226;" d="M641 900l423 247q19 8 42 2.5t37 -21.5l32 -38q14 -15 12.5 -36t-17.5 -34l-139 -120h-390zM50 1100h106q67 0 103 -17t66 -71l102 -212h823q21 0 35.5 -14.5t14.5 -35.5v-50q0 -21 -14 -40t-33 -26l-737 -132q-23 -4 -40 6t-26 25q-42 67 -100 67h-300q-62 0 -106 44 t-44 106v200q0 62 44 106t106 44zM173 928h-80q-19 0 -28 -14t-9 -35v-56q0 -51 42 -51h134q16 0 21.5 8t5.5 24q0 11 -16 45t-27 51q-18 28 -43 28zM550 727q-32 0 -54.5 -22.5t-22.5 -54.5t22.5 -54.5t54.5 -22.5t54.5 22.5t22.5 54.5t-22.5 54.5t-54.5 22.5zM130 389 l152 130q18 19 34 24t31 -3.5t24.5 -17.5t25.5 -28q28 -35 50.5 -51t48.5 -13l63 5l48 -179q13 -61 -3.5 -97.5t-67.5 -79.5l-80 -69q-47 -40 -109 -35.5t-103 51.5l-130 151q-40 47 -35.5 109.5t51.5 102.5zM380 377l-102 -88q-31 -27 2 -65l37 -43q13 -15 27.5 -19.5 t31.5 6.5l61 53q19 16 14 49q-2 20 -12 56t-17 45q-11 12 -19 14t-23 -8z" />
+<glyph unicode="&#xe227;" d="M625 1200h150q10 0 17.5 -7.5t7.5 -17.5v-109q79 -33 131 -87.5t53 -128.5q1 -46 -15 -84.5t-39 -61t-46 -38t-39 -21.5l-17 -6q6 0 15 -1.5t35 -9t50 -17.5t53 -30t50 -45t35.5 -64t14.5 -84q0 -59 -11.5 -105.5t-28.5 -76.5t-44 -51t-49.5 -31.5t-54.5 -16t-49.5 -6.5 t-43.5 -1v-75q0 -10 -7.5 -17.5t-17.5 -7.5h-150q-10 0 -17.5 7.5t-7.5 17.5v75h-100v-75q0 -10 -7.5 -17.5t-17.5 -7.5h-150q-10 0 -17.5 7.5t-7.5 17.5v75h-175q-10 0 -17.5 7.5t-7.5 17.5v150q0 10 7.5 17.5t17.5 7.5h75v600h-75q-10 0 -17.5 7.5t-7.5 17.5v150 q0 10 7.5 17.5t17.5 7.5h175v75q0 10 7.5 17.5t17.5 7.5h150q10 0 17.5 -7.5t7.5 -17.5v-75h100v75q0 10 7.5 17.5t17.5 7.5zM400 900v-200h263q28 0 48.5 10.5t30 25t15 29t5.5 25.5l1 10q0 4 -0.5 11t-6 24t-15 30t-30 24t-48.5 11h-263zM400 500v-200h363q28 0 48.5 10.5 t30 25t15 29t5.5 25.5l1 10q0 4 -0.5 11t-6 24t-15 30t-30 24t-48.5 11h-363z" />
+<glyph unicode="&#xe230;" d="M212 1198h780q86 0 147 -61t61 -147v-416q0 -51 -18 -142.5t-36 -157.5l-18 -66q-29 -87 -93.5 -146.5t-146.5 -59.5h-572q-82 0 -147 59t-93 147q-8 28 -20 73t-32 143.5t-20 149.5v416q0 86 61 147t147 61zM600 1045q-70 0 -132.5 -11.5t-105.5 -30.5t-78.5 -41.5 t-57 -45t-36 -41t-20.5 -30.5l-6 -12l156 -243h560l156 243q-2 5 -6 12.5t-20 29.5t-36.5 42t-57 44.5t-79 42t-105 29.5t-132.5 12zM762 703h-157l195 261z" />
+<glyph unicode="&#xe231;" d="M475 1300h150q103 0 189 -86t86 -189v-500q0 -41 -42 -83t-83 -42h-450q-41 0 -83 42t-42 83v500q0 103 86 189t189 86zM700 300v-225q0 -21 -27 -48t-48 -27h-150q-21 0 -48 27t-27 48v225h300z" />
+<glyph unicode="&#xe232;" d="M475 1300h96q0 -150 89.5 -239.5t239.5 -89.5v-446q0 -41 -42 -83t-83 -42h-450q-41 0 -83 42t-42 83v500q0 103 86 189t189 86zM700 300v-225q0 -21 -27 -48t-48 -27h-150q-21 0 -48 27t-27 48v225h300z" />
+<glyph unicode="&#xe233;" d="M1294 767l-638 -283l-378 170l-78 -60v-224l100 -150v-199l-150 148l-150 -149v200l100 150v250q0 4 -0.5 10.5t0 9.5t1 8t3 8t6.5 6l47 40l-147 65l642 283zM1000 380l-350 -166l-350 166v147l350 -165l350 165v-147z" />
+<glyph unicode="&#xe234;" d="M250 800q62 0 106 -44t44 -106t-44 -106t-106 -44t-106 44t-44 106t44 106t106 44zM650 800q62 0 106 -44t44 -106t-44 -106t-106 -44t-106 44t-44 106t44 106t106 44zM1050 800q62 0 106 -44t44 -106t-44 -106t-106 -44t-106 44t-44 106t44 106t106 44z" />
+<glyph unicode="&#xe235;" d="M550 1100q62 0 106 -44t44 -106t-44 -106t-106 -44t-106 44t-44 106t44 106t106 44zM550 700q62 0 106 -44t44 -106t-44 -106t-106 -44t-106 44t-44 106t44 106t106 44zM550 300q62 0 106 -44t44 -106t-44 -106t-106 -44t-106 44t-44 106t44 106t106 44z" />
+<glyph unicode="&#xe236;" d="M125 1100h950q10 0 17.5 -7.5t7.5 -17.5v-150q0 -10 -7.5 -17.5t-17.5 -7.5h-950q-10 0 -17.5 7.5t-7.5 17.5v150q0 10 7.5 17.5t17.5 7.5zM125 700h950q10 0 17.5 -7.5t7.5 -17.5v-150q0 -10 -7.5 -17.5t-17.5 -7.5h-950q-10 0 -17.5 7.5t-7.5 17.5v150q0 10 7.5 17.5 t17.5 7.5zM125 300h950q10 0 17.5 -7.5t7.5 -17.5v-150q0 -10 -7.5 -17.5t-17.5 -7.5h-950q-10 0 -17.5 7.5t-7.5 17.5v150q0 10 7.5 17.5t17.5 7.5z" />
+<glyph unicode="&#xe237;" d="M350 1200h500q162 0 256 -93.5t94 -256.5v-500q0 -165 -93.5 -257.5t-256.5 -92.5h-500q-165 0 -257.5 92.5t-92.5 257.5v500q0 165 92.5 257.5t257.5 92.5zM900 1000h-600q-41 0 -70.5 -29.5t-29.5 -70.5v-600q0 -41 29.5 -70.5t70.5 -29.5h600q41 0 70.5 29.5 t29.5 70.5v600q0 41 -29.5 70.5t-70.5 29.5zM350 900h500q21 0 35.5 -14.5t14.5 -35.5v-300q0 -21 -14.5 -35.5t-35.5 -14.5h-500q-21 0 -35.5 14.5t-14.5 35.5v300q0 21 14.5 35.5t35.5 14.5zM400 800v-200h400v200h-400z" />
+<glyph unicode="&#xe238;" d="M150 1100h1000q21 0 35.5 -14.5t14.5 -35.5t-14.5 -35.5t-35.5 -14.5h-50v-200h50q21 0 35.5 -14.5t14.5 -35.5t-14.5 -35.5t-35.5 -14.5h-50v-200h50q21 0 35.5 -14.5t14.5 -35.5t-14.5 -35.5t-35.5 -14.5h-50v-200h50q21 0 35.5 -14.5t14.5 -35.5t-14.5 -35.5 t-35.5 -14.5h-1000q-21 0 -35.5 14.5t-14.5 35.5t14.5 35.5t35.5 14.5h50v200h-50q-21 0 -35.5 14.5t-14.5 35.5t14.5 35.5t35.5 14.5h50v200h-50q-21 0 -35.5 14.5t-14.5 35.5t14.5 35.5t35.5 14.5h50v200h-50q-21 0 -35.5 14.5t-14.5 35.5t14.5 35.5t35.5 14.5z" />
+<glyph unicode="&#xe239;" d="M650 1187q87 -67 118.5 -156t0 -178t-118.5 -155q-87 66 -118.5 155t0 178t118.5 156zM300 800q124 0 212 -88t88 -212q-124 0 -212 88t-88 212zM1000 800q0 -124 -88 -212t-212 -88q0 124 88 212t212 88zM300 500q124 0 212 -88t88 -212q-124 0 -212 88t-88 212z M1000 500q0 -124 -88 -212t-212 -88q0 124 88 212t212 88zM700 199v-144q0 -21 -14.5 -35.5t-35.5 -14.5t-35.5 14.5t-14.5 35.5v142q40 -4 43 -4q17 0 57 6z" />
+<glyph unicode="&#xe240;" d="M745 878l69 19q25 6 45 -12l298 -295q11 -11 15 -26.5t-2 -30.5q-5 -14 -18 -23.5t-28 -9.5h-8q1 0 1 -13q0 -29 -2 -56t-8.5 -62t-20 -63t-33 -53t-51 -39t-72.5 -14h-146q-184 0 -184 288q0 24 10 47q-20 4 -62 4t-63 -4q11 -24 11 -47q0 -288 -184 -288h-142 q-48 0 -84.5 21t-56 51t-32 71.5t-16 75t-3.5 68.5q0 13 2 13h-7q-15 0 -27.5 9.5t-18.5 23.5q-6 15 -2 30.5t15 25.5l298 296q20 18 46 11l76 -19q20 -5 30.5 -22.5t5.5 -37.5t-22.5 -31t-37.5 -5l-51 12l-182 -193h891l-182 193l-44 -12q-20 -5 -37.5 6t-22.5 31t6 37.5 t31 22.5z" />
+<glyph unicode="&#xe241;" d="M1200 900h-50q0 21 -4 37t-9.5 26.5t-18 17.5t-22 11t-28.5 5.5t-31 2t-37 0.5h-200v-850q0 -22 25 -34.5t50 -13.5l25 -2v-100h-400v100q4 0 11 0.5t24 3t30 7t24 15t11 24.5v850h-200q-25 0 -37 -0.5t-31 -2t-28.5 -5.5t-22 -11t-18 -17.5t-9.5 -26.5t-4 -37h-50v300 h1000v-300zM500 450h-25q0 15 -4 24.5t-9 14.5t-17 7.5t-20 3t-25 0.5h-100v-425q0 -11 12.5 -17.5t25.5 -7.5h12v-50h-200v50q50 0 50 25v425h-100q-17 0 -25 -0.5t-20 -3t-17 -7.5t-9 -14.5t-4 -24.5h-25v150h500v-150z" />
+<glyph unicode="&#xe242;" d="M1000 300v50q-25 0 -55 32q-14 14 -25 31t-16 27l-4 11l-289 747h-69l-300 -754q-18 -35 -39 -56q-9 -9 -24.5 -18.5t-26.5 -14.5l-11 -5v-50h273v50q-49 0 -78.5 21.5t-11.5 67.5l69 176h293l61 -166q13 -34 -3.5 -66.5t-55.5 -32.5v-50h312zM412 691l134 342l121 -342 h-255zM1100 150v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-1000q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5h1000q21 0 35.5 -14.5t14.5 -35.5z" />
+<glyph unicode="&#xe243;" d="M50 1200h1100q21 0 35.5 -14.5t14.5 -35.5v-1100q0 -21 -14.5 -35.5t-35.5 -14.5h-1100q-21 0 -35.5 14.5t-14.5 35.5v1100q0 21 14.5 35.5t35.5 14.5zM611 1118h-70q-13 0 -18 -12l-299 -753q-17 -32 -35 -51q-18 -18 -56 -34q-12 -5 -12 -18v-50q0 -8 5.5 -14t14.5 -6 h273q8 0 14 6t6 14v50q0 8 -6 14t-14 6q-55 0 -71 23q-10 14 0 39l63 163h266l57 -153q11 -31 -6 -55q-12 -17 -36 -17q-8 0 -14 -6t-6 -14v-50q0 -8 6 -14t14 -6h313q8 0 14 6t6 14v50q0 7 -5.5 13t-13.5 7q-17 0 -42 25q-25 27 -40 63h-1l-288 748q-5 12 -19 12zM639 611 h-197l103 264z" />
+<glyph unicode="&#xe244;" d="M1200 1100h-1200v100h1200v-100zM50 1000h400q21 0 35.5 -14.5t14.5 -35.5v-900q0 -21 -14.5 -35.5t-35.5 -14.5h-400q-21 0 -35.5 14.5t-14.5 35.5v900q0 21 14.5 35.5t35.5 14.5zM650 1000h400q21 0 35.5 -14.5t14.5 -35.5v-400q0 -21 -14.5 -35.5t-35.5 -14.5h-400 q-21 0 -35.5 14.5t-14.5 35.5v400q0 21 14.5 35.5t35.5 14.5zM700 900v-300h300v300h-300z" />
+<glyph unicode="&#xe245;" d="M50 1200h400q21 0 35.5 -14.5t14.5 -35.5v-900q0 -21 -14.5 -35.5t-35.5 -14.5h-400q-21 0 -35.5 14.5t-14.5 35.5v900q0 21 14.5 35.5t35.5 14.5zM650 700h400q21 0 35.5 -14.5t14.5 -35.5v-400q0 -21 -14.5 -35.5t-35.5 -14.5h-400q-21 0 -35.5 14.5t-14.5 35.5v400 q0 21 14.5 35.5t35.5 14.5zM700 600v-300h300v300h-300zM1200 0h-1200v100h1200v-100z" />
+<glyph unicode="&#xe246;" d="M50 1000h400q21 0 35.5 -14.5t14.5 -35.5v-350h100v150q0 21 14.5 35.5t35.5 14.5h400q21 0 35.5 -14.5t14.5 -35.5v-150h100v-100h-100v-150q0 -21 -14.5 -35.5t-35.5 -14.5h-400q-21 0 -35.5 14.5t-14.5 35.5v150h-100v-350q0 -21 -14.5 -35.5t-35.5 -14.5h-400 q-21 0 -35.5 14.5t-14.5 35.5v800q0 21 14.5 35.5t35.5 14.5zM700 700v-300h300v300h-300z" />
+<glyph unicode="&#xe247;" d="M100 0h-100v1200h100v-1200zM250 1100h400q21 0 35.5 -14.5t14.5 -35.5v-400q0 -21 -14.5 -35.5t-35.5 -14.5h-400q-21 0 -35.5 14.5t-14.5 35.5v400q0 21 14.5 35.5t35.5 14.5zM300 1000v-300h300v300h-300zM250 500h900q21 0 35.5 -14.5t14.5 -35.5v-400 q0 -21 -14.5 -35.5t-35.5 -14.5h-900q-21 0 -35.5 14.5t-14.5 35.5v400q0 21 14.5 35.5t35.5 14.5z" />
+<glyph unicode="&#xe248;" d="M600 1100h150q21 0 35.5 -14.5t14.5 -35.5v-400q0 -21 -14.5 -35.5t-35.5 -14.5h-150v-100h450q21 0 35.5 -14.5t14.5 -35.5v-400q0 -21 -14.5 -35.5t-35.5 -14.5h-900q-21 0 -35.5 14.5t-14.5 35.5v400q0 21 14.5 35.5t35.5 14.5h350v100h-150q-21 0 -35.5 14.5 t-14.5 35.5v400q0 21 14.5 35.5t35.5 14.5h150v100h100v-100zM400 1000v-300h300v300h-300z" />
+<glyph unicode="&#xe249;" d="M1200 0h-100v1200h100v-1200zM550 1100h400q21 0 35.5 -14.5t14.5 -35.5v-400q0 -21 -14.5 -35.5t-35.5 -14.5h-400q-21 0 -35.5 14.5t-14.5 35.5v400q0 21 14.5 35.5t35.5 14.5zM600 1000v-300h300v300h-300zM50 500h900q21 0 35.5 -14.5t14.5 -35.5v-400 q0 -21 -14.5 -35.5t-35.5 -14.5h-900q-21 0 -35.5 14.5t-14.5 35.5v400q0 21 14.5 35.5t35.5 14.5z" />
+<glyph unicode="&#xe250;" d="M865 565l-494 -494q-23 -23 -41 -23q-14 0 -22 13.5t-8 38.5v1000q0 25 8 38.5t22 13.5q18 0 41 -23l494 -494q14 -14 14 -35t-14 -35z" />
+<glyph unicode="&#xe251;" d="M335 635l494 494q29 29 50 20.5t21 -49.5v-1000q0 -41 -21 -49.5t-50 20.5l-494 494q-14 14 -14 35t14 35z" />
+<glyph unicode="&#xe252;" d="M100 900h1000q41 0 49.5 -21t-20.5 -50l-494 -494q-14 -14 -35 -14t-35 14l-494 494q-29 29 -20.5 50t49.5 21z" />
+<glyph unicode="&#xe253;" d="M635 865l494 -494q29 -29 20.5 -50t-49.5 -21h-1000q-41 0 -49.5 21t20.5 50l494 494q14 14 35 14t35 -14z" />
+<glyph unicode="&#xe254;" d="M700 741v-182l-692 -323v221l413 193l-413 193v221zM1200 0h-800v200h800v-200z" />
+<glyph unicode="&#xe255;" d="M1200 900h-200v-100h200v-100h-300v300h200v100h-200v100h300v-300zM0 700h50q0 21 4 37t9.5 26.5t18 17.5t22 11t28.5 5.5t31 2t37 0.5h100v-550q0 -22 -25 -34.5t-50 -13.5l-25 -2v-100h400v100q-4 0 -11 0.5t-24 3t-30 7t-24 15t-11 24.5v550h100q25 0 37 -0.5t31 -2 t28.5 -5.5t22 -11t18 -17.5t9.5 -26.5t4 -37h50v300h-800v-300z" />
+<glyph unicode="&#xe256;" d="M800 700h-50q0 21 -4 37t-9.5 26.5t-18 17.5t-22 11t-28.5 5.5t-31 2t-37 0.5h-100v-550q0 -22 25 -34.5t50 -14.5l25 -1v-100h-400v100q4 0 11 0.5t24 3t30 7t24 15t11 24.5v550h-100q-25 0 -37 -0.5t-31 -2t-28.5 -5.5t-22 -11t-18 -17.5t-9.5 -26.5t-4 -37h-50v300 h800v-300zM1100 200h-200v-100h200v-100h-300v300h200v100h-200v100h300v-300z" />
+<glyph unicode="&#xe257;" d="M701 1098h160q16 0 21 -11t-7 -23l-464 -464l464 -464q12 -12 7 -23t-21 -11h-160q-13 0 -23 9l-471 471q-7 8 -7 18t7 18l471 471q10 9 23 9z" />
+<glyph unicode="&#xe258;" d="M339 1098h160q13 0 23 -9l471 -471q7 -8 7 -18t-7 -18l-471 -471q-10 -9 -23 -9h-160q-16 0 -21 11t7 23l464 464l-464 464q-12 12 -7 23t21 11z" />
+<glyph unicode="&#xe259;" d="M1087 882q11 -5 11 -21v-160q0 -13 -9 -23l-471 -471q-8 -7 -18 -7t-18 7l-471 471q-9 10 -9 23v160q0 16 11 21t23 -7l464 -464l464 464q12 12 23 7z" />
+<glyph unicode="&#xe260;" d="M618 993l471 -471q9 -10 9 -23v-160q0 -16 -11 -21t-23 7l-464 464l-464 -464q-12 -12 -23 -7t-11 21v160q0 13 9 23l471 471q8 7 18 7t18 -7z" />
+<glyph unicode="&#xf8ff;" d="M1000 1200q0 -124 -88 -212t-212 -88q0 124 88 212t212 88zM450 1000h100q21 0 40 -14t26 -33l79 -194q5 1 16 3q34 6 54 9.5t60 7t65.5 1t61 -10t56.5 -23t42.5 -42t29 -64t5 -92t-19.5 -121.5q-1 -7 -3 -19.5t-11 -50t-20.5 -73t-32.5 -81.5t-46.5 -83t-64 -70 t-82.5 -50q-13 -5 -42 -5t-65.5 2.5t-47.5 2.5q-14 0 -49.5 -3.5t-63 -3.5t-43.5 7q-57 25 -104.5 78.5t-75 111.5t-46.5 112t-26 90l-7 35q-15 63 -18 115t4.5 88.5t26 64t39.5 43.5t52 25.5t58.5 13t62.5 2t59.5 -4.5t55.5 -8l-147 192q-12 18 -5.5 30t27.5 12z" />
+<glyph unicode="&#x1f511;" d="M250 1200h600q21 0 35.5 -14.5t14.5 -35.5v-400q0 -21 -14.5 -35.5t-35.5 -14.5h-150v-500l-255 -178q-19 -9 -32 -1t-13 29v650h-150q-21 0 -35.5 14.5t-14.5 35.5v400q0 21 14.5 35.5t35.5 14.5zM400 1100v-100h300v100h-300z" />
+<glyph unicode="&#x1f6aa;" d="M250 1200h750q39 0 69.5 -40.5t30.5 -84.5v-933l-700 -117v950l600 125h-700v-1000h-100v1025q0 23 15.5 49t34.5 26zM500 525v-100l100 20v100z" />
+</font>
+</defs></svg> 
\ No newline at end of file
diff --git a/templates/shop-isle/assets/bootstrap/fonts/glyphicons-halflings-regular.ttf b/templates/shop-isle/assets/bootstrap/fonts/glyphicons-halflings-regular.ttf
new file mode 100644 (file)
index 0000000..1413fc6
Binary files /dev/null and b/templates/shop-isle/assets/bootstrap/fonts/glyphicons-halflings-regular.ttf differ
diff --git a/templates/shop-isle/assets/bootstrap/fonts/glyphicons-halflings-regular.woff b/templates/shop-isle/assets/bootstrap/fonts/glyphicons-halflings-regular.woff
new file mode 100644 (file)
index 0000000..9e61285
Binary files /dev/null and b/templates/shop-isle/assets/bootstrap/fonts/glyphicons-halflings-regular.woff differ
diff --git a/templates/shop-isle/assets/bootstrap/fonts/glyphicons-halflings-regular.woff2 b/templates/shop-isle/assets/bootstrap/fonts/glyphicons-halflings-regular.woff2
new file mode 100644 (file)
index 0000000..64539b5
Binary files /dev/null and b/templates/shop-isle/assets/bootstrap/fonts/glyphicons-halflings-regular.woff2 differ
diff --git a/templates/shop-isle/assets/bootstrap/js/bootstrap.js b/templates/shop-isle/assets/bootstrap/js/bootstrap.js
new file mode 100644 (file)
index 0000000..88e18c3
--- /dev/null
@@ -0,0 +1,2317 @@
+/*!
+ * Bootstrap v3.3.4 (http://getbootstrap.com)
+ * Copyright 2011-2015 Twitter, Inc.
+ * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
+ */
+
+if (typeof jQuery === 'undefined') {
+  throw new Error('Bootstrap\'s JavaScript requires jQuery')
+}
+
++function ($) {
+  'use strict';
+  var version = $.fn.jquery.split(' ')[0].split('.')
+  if ((version[0] < 2 && version[1] < 9) || (version[0] == 1 && version[1] == 9 && version[2] < 1)) {
+    throw new Error('Bootstrap\'s JavaScript requires jQuery version 1.9.1 or higher')
+  }
+}(jQuery);
+
+/* ========================================================================
+ * Bootstrap: transition.js v3.3.4
+ * http://getbootstrap.com/javascript/#transitions
+ * ========================================================================
+ * Copyright 2011-2015 Twitter, Inc.
+ * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
+ * ======================================================================== */
+
+
++function ($) {
+  'use strict';
+
+  // CSS TRANSITION SUPPORT (Shoutout: http://www.modernizr.com/)
+  // ============================================================
+
+  function transitionEnd() {
+    var el = document.createElement('bootstrap')
+
+    var transEndEventNames = {
+      WebkitTransition : 'webkitTransitionEnd',
+      MozTransition    : 'transitionend',
+      OTransition      : 'oTransitionEnd otransitionend',
+      transition       : 'transitionend'
+    }
+
+    for (var name in transEndEventNames) {
+      if (el.style[name] !== undefined) {
+        return { end: transEndEventNames[name] }
+      }
+    }
+
+    return false // explicit for ie8 (  ._.)
+  }
+
+  // http://blog.alexmaccaw.com/css-transitions
+  $.fn.emulateTransitionEnd = function (duration) {
+    var called = false
+    var $el = this
+    $(this).one('bsTransitionEnd', function () { called = true })
+    var callback = function () { if (!called) $($el).trigger($.support.transition.end) }
+    setTimeout(callback, duration)
+    return this
+  }
+
+  $(function () {
+    $.support.transition = transitionEnd()
+
+    if (!$.support.transition) return
+
+    $.event.special.bsTransitionEnd = {
+      bindType: $.support.transition.end,
+      delegateType: $.support.transition.end,
+      handle: function (e) {
+        if ($(e.target).is(this)) return e.handleObj.handler.apply(this, arguments)
+      }
+    }
+  })
+
+}(jQuery);
+
+/* ========================================================================
+ * Bootstrap: alert.js v3.3.4
+ * http://getbootstrap.com/javascript/#alerts
+ * ========================================================================
+ * Copyright 2011-2015 Twitter, Inc.
+ * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
+ * ======================================================================== */
+
+
++function ($) {
+  'use strict';
+
+  // ALERT CLASS DEFINITION
+  // ======================
+
+  var dismiss = '[data-dismiss="alert"]'
+  var Alert   = function (el) {
+    $(el).on('click', dismiss, this.close)
+  }
+
+  Alert.VERSION = '3.3.4'
+
+  Alert.TRANSITION_DURATION = 150
+
+  Alert.prototype.close = function (e) {
+    var $this    = $(this)
+    var selector = $this.attr('data-target')
+
+    if (!selector) {
+      selector = $this.attr('href')
+      selector = selector && selector.replace(/.*(?=#[^\s]*$)/, '') // strip for ie7
+    }
+
+    var $parent = $(selector)
+
+    if (e) e.preventDefault()
+
+    if (!$parent.length) {
+      $parent = $this.closest('.alert')
+    }
+
+    $parent.trigger(e = $.Event('close.bs.alert'))
+
+    if (e.isDefaultPrevented()) return
+
+    $parent.removeClass('in')
+
+    function removeElement() {
+      // detach from parent, fire event then clean up data
+      $parent.detach().trigger('closed.bs.alert').remove()
+    }
+
+    $.support.transition && $parent.hasClass('fade') ?
+        $parent
+            .one('bsTransitionEnd', removeElement)
+            .emulateTransitionEnd(Alert.TRANSITION_DURATION) :
+        removeElement()
+  }
+
+
+  // ALERT PLUGIN DEFINITION
+  // =======================
+
+  function Plugin(option) {
+    return this.each(function () {
+      var $this = $(this)
+      var data  = $this.data('bs.alert')
+
+      if (!data) $this.data('bs.alert', (data = new Alert(this)))
+      if (typeof option == 'string') data[option].call($this)
+    })
+  }
+
+  var old = $.fn.alert
+
+  $.fn.alert             = Plugin
+  $.fn.alert.Constructor = Alert
+
+
+  // ALERT NO CONFLICT
+  // =================
+
+  $.fn.alert.noConflict = function () {
+    $.fn.alert = old
+    return this
+  }
+
+
+  // ALERT DATA-API
+  // ==============
+
+  $(document).on('click.bs.alert.data-api', dismiss, Alert.prototype.close)
+
+}(jQuery);
+
+/* ========================================================================
+ * Bootstrap: button.js v3.3.4
+ * http://getbootstrap.com/javascript/#buttons
+ * ========================================================================
+ * Copyright 2011-2015 Twitter, Inc.
+ * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
+ * ======================================================================== */
+
+
++function ($) {
+  'use strict';
+
+  // BUTTON PUBLIC CLASS DEFINITION
+  // ==============================
+
+  var Button = function (element, options) {
+    this.$element  = $(element)
+    this.options   = $.extend({}, Button.DEFAULTS, options)
+    this.isLoading = false
+  }
+
+  Button.VERSION  = '3.3.4'
+
+  Button.DEFAULTS = {
+    loadingText: 'loading...'
+  }
+
+  Button.prototype.setState = function (state) {
+    var d    = 'disabled'
+    var $el  = this.$element
+    var val  = $el.is('input') ? 'val' : 'html'
+    var data = $el.data()
+
+    state = state + 'Text'
+
+    if (data.resetText == null) $el.data('resetText', $el[val]())
+
+    // push to event loop to allow forms to submit
+    setTimeout($.proxy(function () {
+      $el[val](data[state] == null ? this.options[state] : data[state])
+
+      if (state == 'loadingText') {
+        this.isLoading = true
+        $el.addClass(d).attr(d, d)
+      } else if (this.isLoading) {
+        this.isLoading = false
+        $el.removeClass(d).removeAttr(d)
+      }
+    }, this), 0)
+  }
+
+  Button.prototype.toggle = function () {
+    var changed = true
+    var $parent = this.$element.closest('[data-toggle="buttons"]')
+
+    if ($parent.length) {
+      var $input = this.$element.find('input')
+      if ($input.prop('type') == 'radio') {
+        if ($input.prop('checked') && this.$element.hasClass('active')) changed = false
+        else $parent.find('.active').removeClass('active')
+      }
+      if (changed) $input.prop('checked', !this.$element.hasClass('active')).trigger('change')
+    } else {
+      this.$element.attr('aria-pressed', !this.$element.hasClass('active'))
+    }
+
+    if (changed) this.$element.toggleClass('active')
+  }
+
+
+  // BUTTON PLUGIN DEFINITION
+  // ========================
+
+  function Plugin(option) {
+    return this.each(function () {
+      var $this   = $(this)
+      var data    = $this.data('bs.button')
+      var options = typeof option == 'object' && option
+
+      if (!data) $this.data('bs.button', (data = new Button(this, options)))
+
+      if (option == 'toggle') data.toggle()
+      else if (option) data.setState(option)
+    })
+  }
+
+  var old = $.fn.button
+
+  $.fn.button             = Plugin
+  $.fn.button.Constructor = Button
+
+
+  // BUTTON NO CONFLICT
+  // ==================
+
+  $.fn.button.noConflict = function () {
+    $.fn.button = old
+    return this
+  }
+
+
+  // BUTTON DATA-API
+  // ===============
+
+  $(document)
+      .on('click.bs.button.data-api', '[data-toggle^="button"]', function (e) {
+        var $btn = $(e.target)
+        if (!$btn.hasClass('btn')) $btn = $btn.closest('.btn')
+        Plugin.call($btn, 'toggle')
+        e.preventDefault()
+      })
+      .on('focus.bs.button.data-api blur.bs.button.data-api', '[data-toggle^="button"]', function (e) {
+        $(e.target).closest('.btn').toggleClass('focus', /^focus(in)?$/.test(e.type))
+      })
+
+}(jQuery);
+
+/* ========================================================================
+ * Bootstrap: carousel.js v3.3.4
+ * http://getbootstrap.com/javascript/#carousel
+ * ========================================================================
+ * Copyright 2011-2015 Twitter, Inc.
+ * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
+ * ======================================================================== */
+
+
++function ($) {
+  'use strict';
+
+  // CAROUSEL CLASS DEFINITION
+  // =========================
+
+  var Carousel = function (element, options) {
+    this.$element    = $(element)
+    this.$indicators = this.$element.find('.carousel-indicators')
+    this.options     = options
+    this.paused      = null
+    this.sliding     = null
+    this.interval    = null
+    this.$active     = null
+    this.$items      = null
+
+    this.options.keyboard && this.$element.on('keydown.bs.carousel', $.proxy(this.keydown, this))
+
+    this.options.pause == 'hover' && !('ontouchstart' in document.documentElement) && this.$element
+        .on('mouseenter.bs.carousel', $.proxy(this.pause, this))
+        .on('mouseleave.bs.carousel', $.proxy(this.cycle, this))
+  }
+
+  Carousel.VERSION  = '3.3.4'
+
+  Carousel.TRANSITION_DURATION = 600
+
+  Carousel.DEFAULTS = {
+    interval: 5000,
+    pause: 'hover',
+    wrap: true,
+    keyboard: true
+  }
+
+  Carousel.prototype.keydown = function (e) {
+    if (/input|textarea/i.test(e.target.tagName)) return
+    switch (e.which) {
+      case 37: this.prev(); break
+      case 39: this.next(); break
+      default: return
+    }
+
+    e.preventDefault()
+  }
+
+  Carousel.prototype.cycle = function (e) {
+    e || (this.paused = false)
+
+    this.interval && clearInterval(this.interval)
+
+    this.options.interval
+    && !this.paused
+    && (this.interval = setInterval($.proxy(this.next, this), this.options.interval))
+
+    return this
+  }
+
+  Carousel.prototype.getItemIndex = function (item) {
+    this.$items = item.parent().children('.item')
+    return this.$items.index(item || this.$active)
+  }
+
+  Carousel.prototype.getItemForDirection = function (direction, active) {
+    var activeIndex = this.getItemIndex(active)
+    var willWrap = (direction == 'prev' && activeIndex === 0)
+        || (direction == 'next' && activeIndex == (this.$items.length - 1))
+    if (willWrap && !this.options.wrap) return active
+    var delta = direction == 'prev' ? -1 : 1
+    var itemIndex = (activeIndex + delta) % this.$items.length
+    return this.$items.eq(itemIndex)
+  }
+
+  Carousel.prototype.to = function (pos) {
+    var that        = this
+    var activeIndex = this.getItemIndex(this.$active = this.$element.find('.item.active'))
+
+    if (pos > (this.$items.length - 1) || pos < 0) return
+
+    if (this.sliding)       return this.$element.one('slid.bs.carousel', function () { that.to(pos) }) // yes, "slid"
+    if (activeIndex == pos) return this.pause().cycle()
+
+    return this.slide(pos > activeIndex ? 'next' : 'prev', this.$items.eq(pos))
+  }
+
+  Carousel.prototype.pause = function (e) {
+    e || (this.paused = true)
+
+    if (this.$element.find('.next, .prev').length && $.support.transition) {
+      this.$element.trigger($.support.transition.end)
+      this.cycle(true)
+    }
+
+    this.interval = clearInterval(this.interval)
+
+    return this
+  }
+
+  Carousel.prototype.next = function () {
+    if (this.sliding) return
+    return this.slide('next')
+  }
+
+  Carousel.prototype.prev = function () {
+    if (this.sliding) return
+    return this.slide('prev')
+  }
+
+  Carousel.prototype.slide = function (type, next) {
+    var $active   = this.$element.find('.item.active')
+    var $next     = next || this.getItemForDirection(type, $active)
+    var isCycling = this.interval
+    var direction = type == 'next' ? 'left' : 'right'
+    var that      = this
+
+    if ($next.hasClass('active')) return (this.sliding = false)
+
+    var relatedTarget = $next[0]
+    var slideEvent = $.Event('slide.bs.carousel', {
+      relatedTarget: relatedTarget,
+      direction: direction
+    })
+    this.$element.trigger(slideEvent)
+    if (slideEvent.isDefaultPrevented()) return
+
+    this.sliding = true
+
+    isCycling && this.pause()
+
+    if (this.$indicators.length) {
+      this.$indicators.find('.active').removeClass('active')
+      var $nextIndicator = $(this.$indicators.children()[this.getItemIndex($next)])
+      $nextIndicator && $nextIndicator.addClass('active')
+    }
+
+    var slidEvent = $.Event('slid.bs.carousel', { relatedTarget: relatedTarget, direction: direction }) // yes, "slid"
+    if ($.support.transition && this.$element.hasClass('slide')) {
+      $next.addClass(type)
+      $next[0].offsetWidth // force reflow
+      $active.addClass(direction)
+      $next.addClass(direction)
+      $active
+          .one('bsTransitionEnd', function () {
+            $next.removeClass([type, direction].join(' ')).addClass('active')
+            $active.removeClass(['active', direction].join(' '))
+            that.sliding = false
+            setTimeout(function () {
+              that.$element.trigger(slidEvent)
+            }, 0)
+          })
+          .emulateTransitionEnd(Carousel.TRANSITION_DURATION)
+    } else {
+      $active.removeClass('active')
+      $next.addClass('active')
+      this.sliding = false
+      this.$element.trigger(slidEvent)
+    }
+
+    isCycling && this.cycle()
+
+    return this
+  }
+
+
+  // CAROUSEL PLUGIN DEFINITION
+  // ==========================
+
+  function Plugin(option) {
+    return this.each(function () {
+      var $this   = $(this)
+      var data    = $this.data('bs.carousel')
+      var options = $.extend({}, Carousel.DEFAULTS, $this.data(), typeof option == 'object' && option)
+      var action  = typeof option == 'string' ? option : options.slide
+
+      if (!data) $this.data('bs.carousel', (data = new Carousel(this, options)))
+      if (typeof option == 'number') data.to(option)
+      else if (action) data[action]()
+      else if (options.interval) data.pause().cycle()
+    })
+  }
+
+  var old = $.fn.carousel
+
+  $.fn.carousel             = Plugin
+  $.fn.carousel.Constructor = Carousel
+
+
+  // CAROUSEL NO CONFLICT
+  // ====================
+
+  $.fn.carousel.noConflict = function () {
+    $.fn.carousel = old
+    return this
+  }
+
+
+  // CAROUSEL DATA-API
+  // =================
+
+  var clickHandler = function (e) {
+    var href
+    var $this   = $(this)
+    var $target = $($this.attr('data-target') || (href = $this.attr('href')) && href.replace(/.*(?=#[^\s]+$)/, '')) // strip for ie7
+    if (!$target.hasClass('carousel')) return
+    var options = $.extend({}, $target.data(), $this.data())
+    var slideIndex = $this.attr('data-slide-to')
+    if (slideIndex) options.interval = false
+
+    Plugin.call($target, options)
+
+    if (slideIndex) {
+      $target.data('bs.carousel').to(slideIndex)
+    }
+
+    e.preventDefault()
+  }
+
+  $(document)
+      .on('click.bs.carousel.data-api', '[data-slide]', clickHandler)
+      .on('click.bs.carousel.data-api', '[data-slide-to]', clickHandler)
+
+  $(window).on('load', function () {
+    $('[data-ride="carousel"]').each(function () {
+      var $carousel = $(this)
+      Plugin.call($carousel, $carousel.data())
+    })
+  })
+
+}(jQuery);
+
+/* ========================================================================
+ * Bootstrap: collapse.js v3.3.4
+ * http://getbootstrap.com/javascript/#collapse
+ * ========================================================================
+ * Copyright 2011-2015 Twitter, Inc.
+ * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
+ * ======================================================================== */
+
+
++function ($) {
+  'use strict';
+
+  // COLLAPSE PUBLIC CLASS DEFINITION
+  // ================================
+
+  var Collapse = function (element, options) {
+    this.$element      = $(element)
+    this.options       = $.extend({}, Collapse.DEFAULTS, options)
+    this.$trigger      = $('[data-toggle="collapse"][href="#' + element.id + '"],' +
+        '[data-toggle="collapse"][data-target="#' + element.id + '"]')
+    this.transitioning = null
+
+    if (this.options.parent) {
+      this.$parent = this.getParent()
+    } else {
+      this.addAriaAndCollapsedClass(this.$element, this.$trigger)
+    }
+
+    if (this.options.toggle) this.toggle()
+  }
+
+  Collapse.VERSION  = '3.3.4'
+
+  Collapse.TRANSITION_DURATION = 350
+
+  Collapse.DEFAULTS = {
+    toggle: true
+  }
+
+  Collapse.prototype.dimension = function () {
+    var hasWidth = this.$element.hasClass('width')
+    return hasWidth ? 'width' : 'height'
+  }
+
+  Collapse.prototype.show = function () {
+    if (this.transitioning || this.$element.hasClass('in')) return
+
+    var activesData
+    var actives = this.$parent && this.$parent.children('.panel').children('.in, .collapsing')
+
+    if (actives && actives.length) {
+      activesData = actives.data('bs.collapse')
+      if (activesData && activesData.transitioning) return
+    }
+
+    var startEvent = $.Event('show.bs.collapse')
+    this.$element.trigger(startEvent)
+    if (startEvent.isDefaultPrevented()) return
+
+    if (actives && actives.length) {
+      Plugin.call(actives, 'hide')
+      activesData || actives.data('bs.collapse', null)
+    }
+
+    var dimension = this.dimension()
+
+    this.$element
+        .removeClass('collapse')
+        .addClass('collapsing')[dimension](0)
+        .attr('aria-expanded', true)
+
+    this.$trigger
+        .removeClass('collapsed')
+        .attr('aria-expanded', true)
+
+    this.transitioning = 1
+
+    var complete = function () {
+      this.$element
+          .removeClass('collapsing')
+          .addClass('collapse in')[dimension]('')
+      this.transitioning = 0
+      this.$element
+          .trigger('shown.bs.collapse')
+    }
+
+    if (!$.support.transition) return complete.call(this)
+
+    var scrollSize = $.camelCase(['scroll', dimension].join('-'))
+
+    this.$element
+        .one('bsTransitionEnd', $.proxy(complete, this))
+        .emulateTransitionEnd(Collapse.TRANSITION_DURATION)[dimension](this.$element[0][scrollSize])
+  }
+
+  Collapse.prototype.hide = function () {
+    if (this.transitioning || !this.$element.hasClass('in')) return
+
+    var startEvent = $.Event('hide.bs.collapse')
+    this.$element.trigger(startEvent)
+    if (startEvent.isDefaultPrevented()) return
+
+    var dimension = this.dimension()
+
+    this.$element[dimension](this.$element[dimension]())[0].offsetHeight
+
+    this.$element
+        .addClass('collapsing')
+        .removeClass('collapse in')
+        .attr('aria-expanded', false)
+
+    this.$trigger
+        .addClass('collapsed')
+        .attr('aria-expanded', false)
+
+    this.transitioning = 1
+
+    var complete = function () {
+      this.transitioning = 0
+      this.$element
+          .removeClass('collapsing')
+          .addClass('collapse')
+          .trigger('hidden.bs.collapse')
+    }
+
+    if (!$.support.transition) return complete.call(this)
+
+    this.$element
+        [dimension](0)
+        .one('bsTransitionEnd', $.proxy(complete, this))
+        .emulateTransitionEnd(Collapse.TRANSITION_DURATION)
+  }
+
+  Collapse.prototype.toggle = function () {
+    this[this.$element.hasClass('in') ? 'hide' : 'show']()
+  }
+
+  Collapse.prototype.getParent = function () {
+    return $(this.options.parent)
+        .find('[data-toggle="collapse"][data-parent="' + this.options.parent + '"]')
+        .each($.proxy(function (i, element) {
+          var $element = $(element)
+          this.addAriaAndCollapsedClass(getTargetFromTrigger($element), $element)
+        }, this))
+        .end()
+  }
+
+  Collapse.prototype.addAriaAndCollapsedClass = function ($element, $trigger) {
+    var isOpen = $element.hasClass('in')
+
+    $element.attr('aria-expanded', isOpen)
+    $trigger
+        .toggleClass('collapsed', !isOpen)
+        .attr('aria-expanded', isOpen)
+  }
+
+  function getTargetFromTrigger($trigger) {
+    var href
+    var target = $trigger.attr('data-target')
+        || (href = $trigger.attr('href')) && href.replace(/.*(?=#[^\s]+$)/, '') // strip for ie7
+
+    return $(target)
+  }
+
+
+  // COLLAPSE PLUGIN DEFINITION
+  // ==========================
+
+  function Plugin(option) {
+    return this.each(function () {
+      var $this   = $(this)
+      var data    = $this.data('bs.collapse')
+      var options = $.extend({}, Collapse.DEFAULTS, $this.data(), typeof option == 'object' && option)
+
+      if (!data && options.toggle && /show|hide/.test(option)) options.toggle = false
+      if (!data) $this.data('bs.collapse', (data = new Collapse(this, options)))
+      if (typeof option == 'string') data[option]()
+    })
+  }
+
+  var old = $.fn.collapse
+
+  $.fn.collapse             = Plugin
+  $.fn.collapse.Constructor = Collapse
+
+
+  // COLLAPSE NO CONFLICT
+  // ====================
+
+  $.fn.collapse.noConflict = function () {
+    $.fn.collapse = old
+    return this
+  }
+
+
+  // COLLAPSE DATA-API
+  // =================
+
+  $(document).on('click.bs.collapse.data-api', '[data-toggle="collapse"]', function (e) {
+    var $this   = $(this)
+
+    if (!$this.attr('data-target')) e.preventDefault()
+
+    var $target = getTargetFromTrigger($this)
+    var data    = $target.data('bs.collapse')
+    var option  = data ? 'toggle' : $this.data()
+
+    Plugin.call($target, option)
+  })
+
+}(jQuery);
+
+/* ========================================================================
+ * Bootstrap: dropdown.js v3.3.4
+ * http://getbootstrap.com/javascript/#dropdowns
+ * ========================================================================
+ * Copyright 2011-2015 Twitter, Inc.
+ * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
+ * ======================================================================== */
+
+
++function ($) {
+  'use strict';
+
+  // DROPDOWN CLASS DEFINITION
+  // =========================
+
+  var backdrop = '.dropdown-backdrop'
+  var toggle   = '[data-toggle="dropdown"]'
+  var Dropdown = function (element) {
+    $(element).on('click.bs.dropdown', this.toggle)
+  }
+
+  Dropdown.VERSION = '3.3.4'
+
+  Dropdown.prototype.toggle = function (e) {
+    var $this = $(this)
+
+    if ($this.is('.disabled, :disabled')) return
+
+    var $parent  = getParent($this)
+    var isActive = $parent.hasClass('open')
+
+    clearMenus()
+
+    if (!isActive) {
+      if ('ontouchstart' in document.documentElement && !$parent.closest('.navbar-nav').length) {
+        // if mobile we use a backdrop because click events don't delegate
+        $('<div class="dropdown-backdrop"/>').insertAfter($(this)).on('click', clearMenus)
+      }
+
+      var relatedTarget = { relatedTarget: this }
+      $parent.trigger(e = $.Event('show.bs.dropdown', relatedTarget))
+
+      if (e.isDefaultPrevented()) return
+
+      $this
+          .trigger('focus')
+          .attr('aria-expanded', 'true')
+
+      $parent
+          .toggleClass('open')
+          .trigger('shown.bs.dropdown', relatedTarget)
+    }
+
+    return false
+  }
+
+  Dropdown.prototype.keydown = function (e) {
+    if (!/(38|40|27|32)/.test(e.which) || /input|textarea/i.test(e.target.tagName)) return
+
+    var $this = $(this)
+
+    e.preventDefault()
+    e.stopPropagation()
+
+    if ($this.is('.disabled, :disabled')) return
+
+    var $parent  = getParent($this)
+    var isActive = $parent.hasClass('open')
+
+    if ((!isActive && e.which != 27) || (isActive && e.which == 27)) {
+      if (e.which == 27) $parent.find(toggle).trigger('focus')
+      return $this.trigger('click')
+    }
+
+    var desc = ' li:not(.disabled):visible a'
+    var $items = $parent.find('[role="menu"]' + desc + ', [role="listbox"]' + desc)
+
+    if (!$items.length) return
+
+    var index = $items.index(e.target)
+
+    if (e.which == 38 && index > 0)                 index--                        // up
+    if (e.which == 40 && index < $items.length - 1) index++                        // down
+    if (!~index)                                      index = 0
+
+    $items.eq(index).trigger('focus')
+  }
+
+  function clearMenus(e) {
+    if (e && e.which === 3) return
+    $(backdrop).remove()
+    $(toggle).each(function () {
+      var $this         = $(this)
+      var $parent       = getParent($this)
+      var relatedTarget = { relatedTarget: this }
+
+      if (!$parent.hasClass('open')) return
+
+      $parent.trigger(e = $.Event('hide.bs.dropdown', relatedTarget))
+
+      if (e.isDefaultPrevented()) return
+
+      $this.attr('aria-expanded', 'false')
+      $parent.removeClass('open').trigger('hidden.bs.dropdown', relatedTarget)
+    })
+  }
+
+  function getParent($this) {
+    var selector = $this.attr('data-target')
+
+    if (!selector) {
+      selector = $this.attr('href')
+      selector = selector && /#[A-Za-z]/.test(selector) && selector.replace(/.*(?=#[^\s]*$)/, '') // strip for ie7
+    }
+
+    var $parent = selector && $(selector)
+
+    return $parent && $parent.length ? $parent : $this.parent()
+  }
+
+
+  // DROPDOWN PLUGIN DEFINITION
+  // ==========================
+
+  function Plugin(option) {
+    return this.each(function () {
+      var $this = $(this)
+      var data  = $this.data('bs.dropdown')
+
+      if (!data) $this.data('bs.dropdown', (data = new Dropdown(this)))
+      if (typeof option == 'string') data[option].call($this)
+    })
+  }
+
+  var old = $.fn.dropdown
+
+  $.fn.dropdown             = Plugin
+  $.fn.dropdown.Constructor = Dropdown
+
+
+  // DROPDOWN NO CONFLICT
+  // ====================
+
+  $.fn.dropdown.noConflict = function () {
+    $.fn.dropdown = old
+    return this
+  }
+
+
+  // APPLY TO STANDARD DROPDOWN ELEMENTS
+  // ===================================
+
+  $(document)
+      .on('click.bs.dropdown.data-api', clearMenus)
+      .on('click.bs.dropdown.data-api', '.dropdown form', function (e) { e.stopPropagation() })
+      .on('click.bs.dropdown.data-api', toggle, Dropdown.prototype.toggle)
+      .on('keydown.bs.dropdown.data-api', toggle, Dropdown.prototype.keydown)
+      .on('keydown.bs.dropdown.data-api', '[role="menu"]', Dropdown.prototype.keydown)
+      .on('keydown.bs.dropdown.data-api', '[role="listbox"]', Dropdown.prototype.keydown)
+
+}(jQuery);
+
+/* ========================================================================
+ * Bootstrap: modal.js v3.3.4
+ * http://getbootstrap.com/javascript/#modals
+ * ========================================================================
+ * Copyright 2011-2015 Twitter, Inc.
+ * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
+ * ======================================================================== */
+
+
++function ($) {
+  'use strict';
+
+  // MODAL CLASS DEFINITION
+  // ======================
+
+  var Modal = function (element, options) {
+    this.options             = options
+    this.$body               = $(document.body)
+    this.$element            = $(element)
+    this.$dialog             = this.$element.find('.modal-dialog')
+    this.$backdrop           = null
+    this.isShown             = null
+    this.originalBodyPad     = null
+    this.scrollbarWidth      = 0
+    this.ignoreBackdropClick = false
+
+    if (this.options.remote) {
+      this.$element
+          .find('.modal-content')
+          .load(this.options.remote, $.proxy(function () {
+            this.$element.trigger('loaded.bs.modal')
+          }, this))
+    }
+  }
+
+  Modal.VERSION  = '3.3.4'
+
+  Modal.TRANSITION_DURATION = 300
+  Modal.BACKDROP_TRANSITION_DURATION = 150
+
+  Modal.DEFAULTS = {
+    backdrop: true,
+    keyboard: true,
+    show: true
+  }
+
+  Modal.prototype.toggle = function (_relatedTarget) {
+    return this.isShown ? this.hide() : this.show(_relatedTarget)
+  }
+
+  Modal.prototype.show = function (_relatedTarget) {
+    var that = this
+    var e    = $.Event('show.bs.modal', { relatedTarget: _relatedTarget })
+
+    this.$element.trigger(e)
+
+    if (this.isShown || e.isDefaultPrevented()) return
+
+    this.isShown = true
+
+    this.checkScrollbar()
+    this.setScrollbar()
+    this.$body.addClass('modal-open')
+
+    this.escape()
+    this.resize()
+
+    this.$element.on('click.dismiss.bs.modal', '[data-dismiss="modal"]', $.proxy(this.hide, this))
+
+    this.$dialog.on('mousedown.dismiss.bs.modal', function () {
+      that.$element.one('mouseup.dismiss.bs.modal', function (e) {
+        if ($(e.target).is(that.$element)) that.ignoreBackdropClick = true
+      })
+    })
+
+    this.backdrop(function () {
+      var transition = $.support.transition && that.$element.hasClass('fade')
+
+      if (!that.$element.parent().length) {
+        that.$element.appendTo(that.$body) // don't move modals dom position
+      }
+
+      that.$element
+          .show()
+          .scrollTop(0)
+
+      that.adjustDialog()
+
+      if (transition) {
+        that.$element[0].offsetWidth // force reflow
+      }
+
+      that.$element
+          .addClass('in')
+          .attr('aria-hidden', false)
+
+      that.enforceFocus()
+
+      var e = $.Event('shown.bs.modal', { relatedTarget: _relatedTarget })
+
+      transition ?
+          that.$dialog // wait for modal to slide in
+              .one('bsTransitionEnd', function () {
+                that.$element.trigger('focus').trigger(e)
+              })
+              .emulateTransitionEnd(Modal.TRANSITION_DURATION) :
+          that.$element.trigger('focus').trigger(e)
+    })
+  }
+
+  Modal.prototype.hide = function (e) {
+    if (e) e.preventDefault()
+
+    e = $.Event('hide.bs.modal')
+
+    this.$element.trigger(e)
+
+    if (!this.isShown || e.isDefaultPrevented()) return
+
+    this.isShown = false
+
+    this.escape()
+    this.resize()
+
+    $(document).off('focusin.bs.modal')
+
+    this.$element
+        .removeClass('in')
+        .attr('aria-hidden', true)
+        .off('click.dismiss.bs.modal')
+        .off('mouseup.dismiss.bs.modal')
+
+    this.$dialog.off('mousedown.dismiss.bs.modal')
+
+    $.support.transition && this.$element.hasClass('fade') ?
+        this.$element
+            .one('bsTransitionEnd', $.proxy(this.hideModal, this))
+            .emulateTransitionEnd(Modal.TRANSITION_DURATION) :
+        this.hideModal()
+  }
+
+  Modal.prototype.enforceFocus = function () {
+    $(document)
+        .off('focusin.bs.modal') // guard against infinite focus loop
+        .on('focusin.bs.modal', $.proxy(function (e) {
+          if (this.$element[0] !== e.target && !this.$element.has(e.target).length) {
+            this.$element.trigger('focus')
+          }
+        }, this))
+  }
+
+  Modal.prototype.escape = function () {
+    if (this.isShown && this.options.keyboard) {
+      this.$element.on('keydown.dismiss.bs.modal', $.proxy(function (e) {
+        e.which == 27 && this.hide()
+      }, this))
+    } else if (!this.isShown) {
+      this.$element.off('keydown.dismiss.bs.modal')
+    }
+  }
+
+  Modal.prototype.resize = function () {
+    if (this.isShown) {
+      $(window).on('resize.bs.modal', $.proxy(this.handleUpdate, this))
+    } else {
+      $(window).off('resize.bs.modal')
+    }
+  }
+
+  Modal.prototype.hideModal = function () {
+    var that = this
+    this.$element.hide()
+    this.backdrop(function () {
+      that.$body.removeClass('modal-open')
+      that.resetAdjustments()
+      that.resetScrollbar()
+      that.$element.trigger('hidden.bs.modal')
+    })
+  }
+
+  Modal.prototype.removeBackdrop = function () {
+    this.$backdrop && this.$backdrop.remove()
+    this.$backdrop = null
+  }
+
+  Modal.prototype.backdrop = function (callback) {
+    var that = this
+    var animate = this.$element.hasClass('fade') ? 'fade' : ''
+
+    if (this.isShown && this.options.backdrop) {
+      var doAnimate = $.support.transition && animate
+
+      this.$backdrop = $('<div class="modal-backdrop ' + animate + '" />')
+          .appendTo(this.$body)
+
+      this.$element.on('click.dismiss.bs.modal', $.proxy(function (e) {
+        if (this.ignoreBackdropClick) {
+          this.ignoreBackdropClick = false
+          return
+        }
+        if (e.target !== e.currentTarget) return
+        this.options.backdrop == 'static'
+            ? this.$element[0].focus()
+            : this.hide()
+      }, this))
+
+      if (doAnimate) this.$backdrop[0].offsetWidth // force reflow
+
+      this.$backdrop.addClass('in')
+
+      if (!callback) return
+
+      doAnimate ?
+          this.$backdrop
+              .one('bsTransitionEnd', callback)
+              .emulateTransitionEnd(Modal.BACKDROP_TRANSITION_DURATION) :
+          callback()
+
+    } else if (!this.isShown && this.$backdrop) {
+      this.$backdrop.removeClass('in')
+
+      var callbackRemove = function () {
+        that.removeBackdrop()
+        callback && callback()
+      }
+      $.support.transition && this.$element.hasClass('fade') ?
+          this.$backdrop
+              .one('bsTransitionEnd', callbackRemove)
+              .emulateTransitionEnd(Modal.BACKDROP_TRANSITION_DURATION) :
+          callbackRemove()
+
+    } else if (callback) {
+      callback()
+    }
+  }
+
+  // these following methods are used to handle overflowing modals
+
+  Modal.prototype.handleUpdate = function () {
+    this.adjustDialog()
+  }
+
+  Modal.prototype.adjustDialog = function () {
+    var modalIsOverflowing = this.$element[0].scrollHeight > document.documentElement.clientHeight
+
+    this.$element.css({
+      paddingLeft:  !this.bodyIsOverflowing && modalIsOverflowing ? this.scrollbarWidth : '',
+      paddingRight: this.bodyIsOverflowing && !modalIsOverflowing ? this.scrollbarWidth : ''
+    })
+  }
+
+  Modal.prototype.resetAdjustments = function () {
+    this.$element.css({
+      paddingLeft: '',
+      paddingRight: ''
+    })
+  }
+
+  Modal.prototype.checkScrollbar = function () {
+    var fullWindowWidth = window.innerWidth
+    if (!fullWindowWidth) { // workaround for missing window.innerWidth in IE8
+      var documentElementRect = document.documentElement.getBoundingClientRect()
+      fullWindowWidth = documentElementRect.right - Math.abs(documentElementRect.left)
+    }
+    this.bodyIsOverflowing = document.body.clientWidth < fullWindowWidth
+    this.scrollbarWidth = this.measureScrollbar()
+  }
+
+  Modal.prototype.setScrollbar = function () {
+    var bodyPad = parseInt((this.$body.css('padding-right') || 0), 10)
+    this.originalBodyPad = document.body.style.paddingRight || ''
+    if (this.bodyIsOverflowing) this.$body.css('padding-right', bodyPad + this.scrollbarWidth)
+  }
+
+  Modal.prototype.resetScrollbar = function () {
+    this.$body.css('padding-right', this.originalBodyPad)
+  }
+
+  Modal.prototype.measureScrollbar = function () { // thx walsh
+    var scrollDiv = document.createElement('div')
+    scrollDiv.className = 'modal-scrollbar-measure'
+    this.$body.append(scrollDiv)
+    var scrollbarWidth = scrollDiv.offsetWidth - scrollDiv.clientWidth
+    this.$body[0].removeChild(scrollDiv)
+    return scrollbarWidth
+  }
+
+
+  // MODAL PLUGIN DEFINITION
+  // =======================
+
+  function Plugin(option, _relatedTarget) {
+    return this.each(function () {
+      var $this   = $(this)
+      var data    = $this.data('bs.modal')
+      var options = $.extend({}, Modal.DEFAULTS, $this.data(), typeof option == 'object' && option)
+
+      if (!data) $this.data('bs.modal', (data = new Modal(this, options)))
+      if (typeof option == 'string') data[option](_relatedTarget)
+      else if (options.show) data.show(_relatedTarget)
+    })
+  }
+
+  var old = $.fn.modal
+
+  $.fn.modal             = Plugin
+  $.fn.modal.Constructor = Modal
+
+
+  // MODAL NO CONFLICT
+  // =================
+
+  $.fn.modal.noConflict = function () {
+    $.fn.modal = old
+    return this
+  }
+
+
+  // MODAL DATA-API
+  // ==============
+
+  $(document).on('click.bs.modal.data-api', '[data-toggle="modal"]', function (e) {
+    var $this   = $(this)
+    var href    = $this.attr('href')
+    var $target = $($this.attr('data-target') || (href && href.replace(/.*(?=#[^\s]+$)/, ''))) // strip for ie7
+    var option  = $target.data('bs.modal') ? 'toggle' : $.extend({ remote: !/#/.test(href) && href }, $target.data(), $this.data())
+
+    if ($this.is('a')) e.preventDefault()
+
+    $target.one('show.bs.modal', function (showEvent) {
+      if (showEvent.isDefaultPrevented()) return // only register focus restorer if modal will actually get shown
+      $target.one('hidden.bs.modal', function () {
+        $this.is(':visible') && $this.trigger('focus')
+      })
+    })
+    Plugin.call($target, option, this)
+  })
+
+}(jQuery);
+
+/* ========================================================================
+ * Bootstrap: tooltip.js v3.3.4
+ * http://getbootstrap.com/javascript/#tooltip
+ * Inspired by the original jQuery.tipsy by Jason Frame
+ * ========================================================================
+ * Copyright 2011-2015 Twitter, Inc.
+ * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
+ * ======================================================================== */
+
+
++function ($) {
+  'use strict';
+
+  // TOOLTIP PUBLIC CLASS DEFINITION
+  // ===============================
+
+  var Tooltip = function (element, options) {
+    this.type       = null
+    this.options    = null
+    this.enabled    = null
+    this.timeout    = null
+    this.hoverState = null
+    this.$element   = null
+
+    this.init('tooltip', element, options)
+  }
+
+  Tooltip.VERSION  = '3.3.4'
+
+  Tooltip.TRANSITION_DURATION = 150
+
+  Tooltip.DEFAULTS = {
+    animation: true,
+    placement: 'top',
+    selector: false,
+    template: '<div class="tooltip" role="tooltip"><div class="tooltip-arrow"></div><div class="tooltip-inner"></div></div>',
+    trigger: 'hover focus',
+    title: '',
+    delay: 0,
+    html: false,
+    container: false,
+    viewport: {
+      selector: 'body',
+      padding: 0
+    }
+  }
+
+  Tooltip.prototype.init = function (type, element, options) {
+    this.enabled   = true
+    this.type      = type
+    this.$element  = $(element)
+    this.options   = this.getOptions(options)
+    this.$viewport = this.options.viewport && $(this.options.viewport.selector || this.options.viewport)
+
+    if (this.$element[0] instanceof document.constructor && !this.options.selector) {
+      throw new Error('`selector` option must be specified when initializing ' + this.type + ' on the window.document object!')
+    }
+
+    var triggers = this.options.trigger.split(' ')
+
+    for (var i = triggers.length; i--;) {
+      var trigger = triggers[i]
+
+      if (trigger == 'click') {
+        this.$element.on('click.' + this.type, this.options.selector, $.proxy(this.toggle, this))
+      } else if (trigger != 'manual') {
+        var eventIn  = trigger == 'hover' ? 'mouseenter' : 'focusin'
+        var eventOut = trigger == 'hover' ? 'mouseleave' : 'focusout'
+
+        this.$element.on(eventIn  + '.' + this.type, this.options.selector, $.proxy(this.enter, this))
+        this.$element.on(eventOut + '.' + this.type, this.options.selector, $.proxy(this.leave, this))
+      }
+    }
+
+    this.options.selector ?
+        (this._options = $.extend({}, this.options, { trigger: 'manual', selector: '' })) :
+        this.fixTitle()
+  }
+
+  Tooltip.prototype.getDefaults = function () {
+    return Tooltip.DEFAULTS
+  }
+
+  Tooltip.prototype.getOptions = function (options) {
+    options = $.extend({}, this.getDefaults(), this.$element.data(), options)
+
+    if (options.delay && typeof options.delay == 'number') {
+      options.delay = {
+        show: options.delay,
+        hide: options.delay
+      }
+    }
+
+    return options
+  }
+
+  Tooltip.prototype.getDelegateOptions = function () {
+    var options  = {}
+    var defaults = this.getDefaults()
+
+    this._options && $.each(this._options, function (key, value) {
+      if (defaults[key] != value) options[key] = value
+    })
+
+    return options
+  }
+
+  Tooltip.prototype.enter = function (obj) {
+    var self = obj instanceof this.constructor ?
+        obj : $(obj.currentTarget).data('bs.' + this.type)
+
+    if (self && self.$tip && self.$tip.is(':visible')) {
+      self.hoverState = 'in'
+      return
+    }
+
+    if (!self) {
+      self = new this.constructor(obj.currentTarget, this.getDelegateOptions())
+      $(obj.currentTarget).data('bs.' + this.type, self)
+    }
+
+    clearTimeout(self.timeout)
+
+    self.hoverState = 'in'
+
+    if (!self.options.delay || !self.options.delay.show) return self.show()
+
+    self.timeout = setTimeout(function () {
+      if (self.hoverState == 'in') self.show()
+    }, self.options.delay.show)
+  }
+
+  Tooltip.prototype.leave = function (obj) {
+    var self = obj instanceof this.constructor ?
+        obj : $(obj.currentTarget).data('bs.' + this.type)
+
+    if (!self) {
+      self = new this.constructor(obj.currentTarget, this.getDelegateOptions())
+      $(obj.currentTarget).data('bs.' + this.type, self)
+    }
+
+    clearTimeout(self.timeout)
+
+    self.hoverState = 'out'
+
+    if (!self.options.delay || !self.options.delay.hide) return self.hide()
+
+    self.timeout = setTimeout(function () {
+      if (self.hoverState == 'out') self.hide()
+    }, self.options.delay.hide)
+  }
+
+  Tooltip.prototype.show = function () {
+    var e = $.Event('show.bs.' + this.type)
+
+    if (this.hasContent() && this.enabled) {
+      this.$element.trigger(e)
+
+      var inDom = $.contains(this.$element[0].ownerDocument.documentElement, this.$element[0])
+      if (e.isDefaultPrevented() || !inDom) return
+      var that = this
+
+      var $tip = this.tip()
+
+      var tipId = this.getUID(this.type)
+
+      this.setContent()
+      $tip.attr('id', tipId)
+      this.$element.attr('aria-describedby', tipId)
+
+      if (this.options.animation) $tip.addClass('fade')
+
+      var placement = typeof this.options.placement == 'function' ?
+          this.options.placement.call(this, $tip[0], this.$element[0]) :
+          this.options.placement
+
+      var autoToken = /\s?auto?\s?/i
+      var autoPlace = autoToken.test(placement)
+      if (autoPlace) placement = placement.replace(autoToken, '') || 'top'
+
+      $tip
+          .detach()
+          .css({ top: 0, left: 0, display: 'block' })
+          .addClass(placement)
+          .data('bs.' + this.type, this)
+
+      this.options.container ? $tip.appendTo(this.options.container) : $tip.insertAfter(this.$element)
+
+      var pos          = this.getPosition()
+      var actualWidth  = $tip[0].offsetWidth
+      var actualHeight = $tip[0].offsetHeight
+
+      if (autoPlace) {
+        var orgPlacement = placement
+        var $container   = this.options.container ? $(this.options.container) : this.$element.parent()
+        var containerDim = this.getPosition($container)
+
+        placement = placement == 'bottom' && pos.bottom + actualHeight > containerDim.bottom ? 'top'    :
+            placement == 'top'    && pos.top    - actualHeight < containerDim.top    ? 'bottom' :
+                placement == 'right'  && pos.right  + actualWidth  > containerDim.width  ? 'left'   :
+                    placement == 'left'   && pos.left   - actualWidth  < containerDim.left   ? 'right'  :
+                        placement
+
+        $tip
+            .removeClass(orgPlacement)
+            .addClass(placement)
+      }
+
+      var calculatedOffset = this.getCalculatedOffset(placement, pos, actualWidth, actualHeight)
+
+      this.applyPlacement(calculatedOffset, placement)
+
+      var complete = function () {
+        var prevHoverState = that.hoverState
+        that.$element.trigger('shown.bs.' + that.type)
+        that.hoverState = null
+
+        if (prevHoverState == 'out') that.leave(that)
+      }
+
+      $.support.transition && this.$tip.hasClass('fade') ?
+          $tip
+              .one('bsTransitionEnd', complete)
+              .emulateTransitionEnd(Tooltip.TRANSITION_DURATION) :
+          complete()
+    }
+  }
+
+  Tooltip.prototype.applyPlacement = function (offset, placement) {
+    var $tip   = this.tip()
+    var width  = $tip[0].offsetWidth
+    var height = $tip[0].offsetHeight
+
+    // manually read margins because getBoundingClientRect includes difference
+    var marginTop = parseInt($tip.css('margin-top'), 10)
+    var marginLeft = parseInt($tip.css('margin-left'), 10)
+
+    // we must check for NaN for ie 8/9
+    if (isNaN(marginTop))  marginTop  = 0
+    if (isNaN(marginLeft)) marginLeft = 0
+
+    offset.top  = offset.top  + marginTop
+    offset.left = offset.left + marginLeft
+
+    // $.fn.offset doesn't round pixel values
+    // so we use setOffset directly with our own function B-0
+    $.offset.setOffset($tip[0], $.extend({
+      using: function (props) {
+        $tip.css({
+          top: Math.round(props.top),
+          left: Math.round(props.left)
+        })
+      }
+    }, offset), 0)
+
+    $tip.addClass('in')
+
+    // check to see if placing tip in new offset caused the tip to resize itself
+    var actualWidth  = $tip[0].offsetWidth
+    var actualHeight = $tip[0].offsetHeight
+
+    if (placement == 'top' && actualHeight != height) {
+      offset.top = offset.top + height - actualHeight
+    }
+
+    var delta = this.getViewportAdjustedDelta(placement, offset, actualWidth, actualHeight)
+
+    if (delta.left) offset.left += delta.left
+    else offset.top += delta.top
+
+    var isVertical          = /top|bottom/.test(placement)
+    var arrowDelta          = isVertical ? delta.left * 2 - width + actualWidth : delta.top * 2 - height + actualHeight
+    var arrowOffsetPosition = isVertical ? 'offsetWidth' : 'offsetHeight'
+
+    $tip.offset(offset)
+    this.replaceArrow(arrowDelta, $tip[0][arrowOffsetPosition], isVertical)
+  }
+
+  Tooltip.prototype.replaceArrow = function (delta, dimension, isVertical) {
+    this.arrow()
+        .css(isVertical ? 'left' : 'top', 50 * (1 - delta / dimension) + '%')
+        .css(isVertical ? 'top' : 'left', '')
+  }
+
+  Tooltip.prototype.setContent = function () {
+    var $tip  = this.tip()
+    var title = this.getTitle()
+
+    $tip.find('.tooltip-inner')[this.options.html ? 'html' : 'text'](title)
+    $tip.removeClass('fade in top bottom left right')
+  }
+
+  Tooltip.prototype.hide = function (callback) {
+    var that = this
+    var $tip = $(this.$tip)
+    var e    = $.Event('hide.bs.' + this.type)
+
+    function complete() {
+      if (that.hoverState != 'in') $tip.detach()
+      that.$element
+          .removeAttr('aria-describedby')
+          .trigger('hidden.bs.' + that.type)
+      callback && callback()
+    }
+
+    this.$element.trigger(e)
+
+    if (e.isDefaultPrevented()) return
+
+    $tip.removeClass('in')
+
+    $.support.transition && $tip.hasClass('fade') ?
+        $tip
+            .one('bsTransitionEnd', complete)
+            .emulateTransitionEnd(Tooltip.TRANSITION_DURATION) :
+        complete()
+
+    this.hoverState = null
+
+    return this
+  }
+
+  Tooltip.prototype.fixTitle = function () {
+    var $e = this.$element
+    if ($e.attr('title') || typeof ($e.attr('data-original-title')) != 'string') {
+      $e.attr('data-original-title', $e.attr('title') || '').attr('title', '')
+    }
+  }
+
+  Tooltip.prototype.hasContent = function () {
+    return this.getTitle()
+  }
+
+  Tooltip.prototype.getPosition = function ($element) {
+    $element   = $element || this.$element
+
+    var el     = $element[0]
+    var isBody = el.tagName == 'BODY'
+
+    var elRect    = el.getBoundingClientRect()
+    if (elRect.width == null) {
+      // width and height are missing in IE8, so compute them manually; see https://github.com/twbs/bootstrap/issues/14093
+      elRect = $.extend({}, elRect, { width: elRect.right - elRect.left, height: elRect.bottom - elRect.top })
+    }
+    var elOffset  = isBody ? { top: 0, left: 0 } : $element.offset()
+    var scroll    = { scroll: isBody ? document.documentElement.scrollTop || document.body.scrollTop : $element.scrollTop() }
+    var outerDims = isBody ? { width: $(window).width(), height: $(window).height() } : null
+
+    return $.extend({}, elRect, scroll, outerDims, elOffset)
+  }
+
+  Tooltip.prototype.getCalculatedOffset = function (placement, pos, actualWidth, actualHeight) {
+    return placement == 'bottom' ? { top: pos.top + pos.height,   left: pos.left + pos.width / 2 - actualWidth / 2 } :
+        placement == 'top'    ? { top: pos.top - actualHeight, left: pos.left + pos.width / 2 - actualWidth / 2 } :
+            placement == 'left'   ? { top: pos.top + pos.height / 2 - actualHeight / 2, left: pos.left - actualWidth } :
+                /* placement == 'right' */ { top: pos.top + pos.height / 2 - actualHeight / 2, left: pos.left + pos.width }
+
+  }
+
+  Tooltip.prototype.getViewportAdjustedDelta = function (placement, pos, actualWidth, actualHeight) {
+    var delta = { top: 0, left: 0 }
+    if (!this.$viewport) return delta
+
+    var viewportPadding = this.options.viewport && this.options.viewport.padding || 0
+    var viewportDimensions = this.getPosition(this.$viewport)
+
+    if (/right|left/.test(placement)) {
+      var topEdgeOffset    = pos.top - viewportPadding - viewportDimensions.scroll
+      var bottomEdgeOffset = pos.top + viewportPadding - viewportDimensions.scroll + actualHeight
+      if (topEdgeOffset < viewportDimensions.top) { // top overflow
+        delta.top = viewportDimensions.top - topEdgeOffset
+      } else if (bottomEdgeOffset > viewportDimensions.top + viewportDimensions.height) { // bottom overflow
+        delta.top = viewportDimensions.top + viewportDimensions.height - bottomEdgeOffset
+      }
+    } else {
+      var leftEdgeOffset  = pos.left - viewportPadding
+      var rightEdgeOffset = pos.left + viewportPadding + actualWidth
+      if (leftEdgeOffset < viewportDimensions.left) { // left overflow
+        delta.left = viewportDimensions.left - leftEdgeOffset
+      } else if (rightEdgeOffset > viewportDimensions.width) { // right overflow
+        delta.left = viewportDimensions.left + viewportDimensions.width - rightEdgeOffset
+      }
+    }
+
+    return delta
+  }
+
+  Tooltip.prototype.getTitle = function () {
+    var title
+    var $e = this.$element
+    var o  = this.options
+
+    title = $e.attr('data-original-title')
+        || (typeof o.title == 'function' ? o.title.call($e[0]) :  o.title)
+
+    return title
+  }
+
+  Tooltip.prototype.getUID = function (prefix) {
+    do prefix += ~~(Math.random() * 1000000)
+    while (document.getElementById(prefix))
+    return prefix
+  }
+
+  Tooltip.prototype.tip = function () {
+    return (this.$tip = this.$tip || $(this.options.template))
+  }
+
+  Tooltip.prototype.arrow = function () {
+    return (this.$arrow = this.$arrow || this.tip().find('.tooltip-arrow'))
+  }
+
+  Tooltip.prototype.enable = function () {
+    this.enabled = true
+  }
+
+  Tooltip.prototype.disable = function () {
+    this.enabled = false
+  }
+
+  Tooltip.prototype.toggleEnabled = function () {
+    this.enabled = !this.enabled
+  }
+
+  Tooltip.prototype.toggle = function (e) {
+    var self = this
+    if (e) {
+      self = $(e.currentTarget).data('bs.' + this.type)
+      if (!self) {
+        self = new this.constructor(e.currentTarget, this.getDelegateOptions())
+        $(e.currentTarget).data('bs.' + this.type, self)
+      }
+    }
+
+    self.tip().hasClass('in') ? self.leave(self) : self.enter(self)
+  }
+
+  Tooltip.prototype.destroy = function () {
+    var that = this
+    clearTimeout(this.timeout)
+    this.hide(function () {
+      that.$element.off('.' + that.type).removeData('bs.' + that.type)
+    })
+  }
+
+
+  // TOOLTIP PLUGIN DEFINITION
+  // =========================
+
+  function Plugin(option) {
+    return this.each(function () {
+      var $this   = $(this)
+      var data    = $this.data('bs.tooltip')
+      var options = typeof option == 'object' && option
+
+      if (!data && /destroy|hide/.test(option)) return
+      if (!data) $this.data('bs.tooltip', (data = new Tooltip(this, options)))
+      if (typeof option == 'string') data[option]()
+    })
+  }
+
+  var old = $.fn.tooltip
+
+  $.fn.tooltip             = Plugin
+  $.fn.tooltip.Constructor = Tooltip
+
+
+  // TOOLTIP NO CONFLICT
+  // ===================
+
+  $.fn.tooltip.noConflict = function () {
+    $.fn.tooltip = old
+    return this
+  }
+
+}(jQuery);
+
+/* ========================================================================
+ * Bootstrap: popover.js v3.3.4
+ * http://getbootstrap.com/javascript/#popovers
+ * ========================================================================
+ * Copyright 2011-2015 Twitter, Inc.
+ * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
+ * ======================================================================== */
+
+
++function ($) {
+  'use strict';
+
+  // POPOVER PUBLIC CLASS DEFINITION
+  // ===============================
+
+  var Popover = function (element, options) {
+    this.init('popover', element, options)
+  }
+
+  if (!$.fn.tooltip) throw new Error('Popover requires tooltip.js')
+
+  Popover.VERSION  = '3.3.4'
+
+  Popover.DEFAULTS = $.extend({}, $.fn.tooltip.Constructor.DEFAULTS, {
+    placement: 'right',
+    trigger: 'click',
+    content: '',
+    template: '<div class="popover" role="tooltip"><div class="arrow"></div><h3 class="popover-title"></h3><div class="popover-content"></div></div>'
+  })
+
+
+  // NOTE: POPOVER EXTENDS tooltip.js
+  // ================================
+
+  Popover.prototype = $.extend({}, $.fn.tooltip.Constructor.prototype)
+
+  Popover.prototype.constructor = Popover
+
+  Popover.prototype.getDefaults = function () {
+    return Popover.DEFAULTS
+  }
+
+  Popover.prototype.setContent = function () {
+    var $tip    = this.tip()
+    var title   = this.getTitle()
+    var content = this.getContent()
+
+    $tip.find('.popover-title')[this.options.html ? 'html' : 'text'](title)
+    $tip.find('.popover-content').children().detach().end()[ // we use append for html objects to maintain js events
+        this.options.html ? (typeof content == 'string' ? 'html' : 'append') : 'text'
+        ](content)
+
+    $tip.removeClass('fade top bottom left right in')
+
+    // IE8 doesn't accept hiding via the `:empty` pseudo selector, we have to do
+    // this manually by checking the contents.
+    if (!$tip.find('.popover-title').html()) $tip.find('.popover-title').hide()
+  }
+
+  Popover.prototype.hasContent = function () {
+    return this.getTitle() || this.getContent()
+  }
+
+  Popover.prototype.getContent = function () {
+    var $e = this.$element
+    var o  = this.options
+
+    return $e.attr('data-content')
+        || (typeof o.content == 'function' ?
+            o.content.call($e[0]) :
+            o.content)
+  }
+
+  Popover.prototype.arrow = function () {
+    return (this.$arrow = this.$arrow || this.tip().find('.arrow'))
+  }
+
+
+  // POPOVER PLUGIN DEFINITION
+  // =========================
+
+  function Plugin(option) {
+    return this.each(function () {
+      var $this   = $(this)
+      var data    = $this.data('bs.popover')
+      var options = typeof option == 'object' && option
+
+      if (!data && /destroy|hide/.test(option)) return
+      if (!data) $this.data('bs.popover', (data = new Popover(this, options)))
+      if (typeof option == 'string') data[option]()
+    })
+  }
+
+  var old = $.fn.popover
+
+  $.fn.popover             = Plugin
+  $.fn.popover.Constructor = Popover
+
+
+  // POPOVER NO CONFLICT
+  // ===================
+
+  $.fn.popover.noConflict = function () {
+    $.fn.popover = old
+    return this
+  }
+
+}(jQuery);
+
+/* ========================================================================
+ * Bootstrap: scrollspy.js v3.3.4
+ * http://getbootstrap.com/javascript/#scrollspy
+ * ========================================================================
+ * Copyright 2011-2015 Twitter, Inc.
+ * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
+ * ======================================================================== */
+
+
++function ($) {
+  'use strict';
+
+  // SCROLLSPY CLASS DEFINITION
+  // ==========================
+
+  function ScrollSpy(element, options) {
+    this.$body          = $(document.body)
+    this.$scrollElement = $(element).is(document.body) ? $(window) : $(element)
+    this.options        = $.extend({}, ScrollSpy.DEFAULTS, options)
+    this.selector       = (this.options.target || '') + ' .nav li > a'
+    this.offsets        = []
+    this.targets        = []
+    this.activeTarget   = null
+    this.scrollHeight   = 0
+
+    this.$scrollElement.on('scroll.bs.scrollspy', $.proxy(this.process, this))
+    this.refresh()
+    this.process()
+  }
+
+  ScrollSpy.VERSION  = '3.3.4'
+
+  ScrollSpy.DEFAULTS = {
+    offset: 10
+  }
+
+  ScrollSpy.prototype.getScrollHeight = function () {
+    return this.$scrollElement[0].scrollHeight || Math.max(this.$body[0].scrollHeight, document.documentElement.scrollHeight)
+  }
+
+  ScrollSpy.prototype.refresh = function () {
+    var that          = this
+    var offsetMethod  = 'offset'
+    var offsetBase    = 0
+
+    this.offsets      = []
+    this.targets      = []
+    this.scrollHeight = this.getScrollHeight()
+
+    if (!$.isWindow(this.$scrollElement[0])) {
+      offsetMethod = 'position'
+      offsetBase   = this.$scrollElement.scrollTop()
+    }
+
+    this.$body
+        .find(this.selector)
+        .map(function () {
+          var $el   = $(this)
+          var href  = $el.data('target') || $el.attr('href')
+          var $href = /^#./.test(href) && $(href)
+
+          return ($href
+              && $href.length
+              && $href.is(':visible')
+              && [[$href[offsetMethod]().top + offsetBase, href]]) || null
+        })
+        .sort(function (a, b) { return a[0] - b[0] })
+        .each(function () {
+          that.offsets.push(this[0])
+          that.targets.push(this[1])
+        })
+  }
+
+  ScrollSpy.prototype.process = function () {
+    var scrollTop    = this.$scrollElement.scrollTop() + this.options.offset
+    var scrollHeight = this.getScrollHeight()
+    var maxScroll    = this.options.offset + scrollHeight - this.$scrollElement.height()
+    var offsets      = this.offsets
+    var targets      = this.targets
+    var activeTarget = this.activeTarget
+    var i
+
+    if (this.scrollHeight != scrollHeight) {
+      this.refresh()
+    }
+
+    if (scrollTop >= maxScroll) {
+      return activeTarget != (i = targets[targets.length - 1]) && this.activate(i)
+    }
+
+    if (activeTarget && scrollTop < offsets[0]) {
+      this.activeTarget = null
+      return this.clear()
+    }
+
+    for (i = offsets.length; i--;) {
+      activeTarget != targets[i]
+      && scrollTop >= offsets[i]
+      && (offsets[i + 1] === undefined || scrollTop < offsets[i + 1])
+      && this.activate(targets[i])
+    }
+  }
+
+  ScrollSpy.prototype.activate = function (target) {
+    this.activeTarget = target
+
+    this.clear()
+
+    var selector = this.selector +
+        '[data-target="' + target + '"],' +
+        this.selector + '[href="' + target + '"]'
+
+    var active = $(selector)
+        .parents('li')
+        .addClass('active')
+
+    if (active.parent('.dropdown-menu').length) {
+      active = active
+          .closest('li.dropdown')
+          .addClass('active')
+    }
+
+    active.trigger('activate.bs.scrollspy')
+  }
+
+  ScrollSpy.prototype.clear = function () {
+    $(this.selector)
+        .parentsUntil(this.options.target, '.active')
+        .removeClass('active')
+  }
+
+
+  // SCROLLSPY PLUGIN DEFINITION
+  // ===========================
+
+  function Plugin(option) {
+    return this.each(function () {
+      var $this   = $(this)
+      var data    = $this.data('bs.scrollspy')
+      var options = typeof option == 'object' && option
+
+      if (!data) $this.data('bs.scrollspy', (data = new ScrollSpy(this, options)))
+      if (typeof option == 'string') data[option]()
+    })
+  }
+
+  var old = $.fn.scrollspy
+
+  $.fn.scrollspy             = Plugin
+  $.fn.scrollspy.Constructor = ScrollSpy
+
+
+  // SCROLLSPY NO CONFLICT
+  // =====================
+
+  $.fn.scrollspy.noConflict = function () {
+    $.fn.scrollspy = old
+    return this
+  }
+
+
+  // SCROLLSPY DATA-API
+  // ==================
+
+  $(window).on('load.bs.scrollspy.data-api', function () {
+    $('[data-spy="scroll"]').each(function () {
+      var $spy = $(this)
+      Plugin.call($spy, $spy.data())
+    })
+  })
+
+}(jQuery);
+
+/* ========================================================================
+ * Bootstrap: tab.js v3.3.4
+ * http://getbootstrap.com/javascript/#tabs
+ * ========================================================================
+ * Copyright 2011-2015 Twitter, Inc.
+ * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
+ * ======================================================================== */
+
+
++function ($) {
+  'use strict';
+
+  // TAB CLASS DEFINITION
+  // ====================
+
+  var Tab = function (element) {
+    this.element = $(element)
+  }
+
+  Tab.VERSION = '3.3.4'
+
+  Tab.TRANSITION_DURATION = 150
+
+  Tab.prototype.show = function () {
+    var $this    = this.element
+    var $ul      = $this.closest('ul:not(.dropdown-menu)')
+    var selector = $this.data('target')
+
+    if (!selector) {
+      selector = $this.attr('href')
+      selector = selector && selector.replace(/.*(?=#[^\s]*$)/, '') // strip for ie7
+    }
+
+    if ($this.parent('li').hasClass('active')) return
+
+    var $previous = $ul.find('.active:last a')
+    var hideEvent = $.Event('hide.bs.tab', {
+      relatedTarget: $this[0]
+    })
+    var showEvent = $.Event('show.bs.tab', {
+      relatedTarget: $previous[0]
+    })
+
+    $previous.trigger(hideEvent)
+    $this.trigger(showEvent)
+
+    if (showEvent.isDefaultPrevented() || hideEvent.isDefaultPrevented()) return
+
+    var $target = $(selector)
+
+    this.activate($this.closest('li'), $ul)
+    this.activate($target, $target.parent(), function () {
+      $previous.trigger({
+        type: 'hidden.bs.tab',
+        relatedTarget: $this[0]
+      })
+      $this.trigger({
+        type: 'shown.bs.tab',
+        relatedTarget: $previous[0]
+      })
+    })
+  }
+
+  Tab.prototype.activate = function (element, container, callback) {
+    var $active    = container.find('> .active')
+    var transition = callback
+        && $.support.transition
+        && (($active.length && $active.hasClass('fade')) || !!container.find('> .fade').length)
+
+    function next() {
+      $active
+          .removeClass('active')
+          .find('> .dropdown-menu > .active')
+          .removeClass('active')
+          .end()
+          .find('[data-toggle="tab"]')
+          .attr('aria-expanded', false)
+
+      element
+          .addClass('active')
+          .find('[data-toggle="tab"]')
+          .attr('aria-expanded', true)
+
+      if (transition) {
+        element[0].offsetWidth // reflow for transition
+        element.addClass('in')
+      } else {
+        element.removeClass('fade')
+      }
+
+      if (element.parent('.dropdown-menu').length) {
+        element
+            .closest('li.dropdown')
+            .addClass('active')
+            .end()
+            .find('[data-toggle="tab"]')
+            .attr('aria-expanded', true)
+      }
+
+      callback && callback()
+    }
+
+    $active.length && transition ?
+        $active
+            .one('bsTransitionEnd', next)
+            .emulateTransitionEnd(Tab.TRANSITION_DURATION) :
+        next()
+
+    $active.removeClass('in')
+  }
+
+
+  // TAB PLUGIN DEFINITION
+  // =====================
+
+  function Plugin(option) {
+    return this.each(function () {
+      var $this = $(this)
+      var data  = $this.data('bs.tab')
+
+      if (!data) $this.data('bs.tab', (data = new Tab(this)))
+      if (typeof option == 'string') data[option]()
+    })
+  }
+
+  var old = $.fn.tab
+
+  $.fn.tab             = Plugin
+  $.fn.tab.Constructor = Tab
+
+
+  // TAB NO CONFLICT
+  // ===============
+
+  $.fn.tab.noConflict = function () {
+    $.fn.tab = old
+    return this
+  }
+
+
+  // TAB DATA-API
+  // ============
+
+  var clickHandler = function (e) {
+    e.preventDefault()
+    Plugin.call($(this), 'show')
+  }
+
+  $(document)
+      .on('click.bs.tab.data-api', '[data-toggle="tab"]', clickHandler)
+      .on('click.bs.tab.data-api', '[data-toggle="pill"]', clickHandler)
+
+}(jQuery);
+
+/* ========================================================================
+ * Bootstrap: affix.js v3.3.4
+ * http://getbootstrap.com/javascript/#affix
+ * ========================================================================
+ * Copyright 2011-2015 Twitter, Inc.
+ * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
+ * ======================================================================== */
+
+
++function ($) {
+  'use strict';
+
+  // AFFIX CLASS DEFINITION
+  // ======================
+
+  var Affix = function (element, options) {
+    this.options = $.extend({}, Affix.DEFAULTS, options)
+
+    this.$target = $(this.options.target)
+        .on('scroll.bs.affix.data-api', $.proxy(this.checkPosition, this))
+        .on('click.bs.affix.data-api',  $.proxy(this.checkPositionWithEventLoop, this))
+
+    this.$element     = $(element)
+    this.affixed      = null
+    this.unpin        = null
+    this.pinnedOffset = null
+
+    this.checkPosition()
+  }
+
+  Affix.VERSION  = '3.3.4'
+
+  Affix.RESET    = 'affix affix-top affix-bottom'
+
+  Affix.DEFAULTS = {
+    offset: 0,
+    target: window
+  }
+
+  Affix.prototype.getState = function (scrollHeight, height, offsetTop, offsetBottom) {
+    var scrollTop    = this.$target.scrollTop()
+    var position     = this.$element.offset()
+    var targetHeight = this.$target.height()
+
+    if (offsetTop != null && this.affixed == 'top') return scrollTop < offsetTop ? 'top' : false
+
+    if (this.affixed == 'bottom') {
+      if (offsetTop != null) return (scrollTop + this.unpin <= position.top) ? false : 'bottom'
+      return (scrollTop + targetHeight <= scrollHeight - offsetBottom) ? false : 'bottom'
+    }
+
+    var initializing   = this.affixed == null
+    var colliderTop    = initializing ? scrollTop : position.top
+    var colliderHeight = initializing ? targetHeight : height
+
+    if (offsetTop != null && scrollTop <= offsetTop) return 'top'
+    if (offsetBottom != null && (colliderTop + colliderHeight >= scrollHeight - offsetBottom)) return 'bottom'
+
+    return false
+  }
+
+  Affix.prototype.getPinnedOffset = function () {
+    if (this.pinnedOffset) return this.pinnedOffset
+    this.$element.removeClass(Affix.RESET).addClass('affix')
+    var scrollTop = this.$target.scrollTop()
+    var position  = this.$element.offset()
+    return (this.pinnedOffset = position.top - scrollTop)
+  }
+
+  Affix.prototype.checkPositionWithEventLoop = function () {
+    setTimeout($.proxy(this.checkPosition, this), 1)
+  }
+
+  Affix.prototype.checkPosition = function () {
+    if (!this.$element.is(':visible')) return
+
+    var height       = this.$element.height()
+    var offset       = this.options.offset
+    var offsetTop    = offset.top
+    var offsetBottom = offset.bottom
+    var scrollHeight = $(document.body).height()
+
+    if (typeof offset != 'object')         offsetBottom = offsetTop = offset
+    if (typeof offsetTop == 'function')    offsetTop    = offset.top(this.$element)
+    if (typeof offsetBottom == 'function') offsetBottom = offset.bottom(this.$element)
+
+    var affix = this.getState(scrollHeight, height, offsetTop, offsetBottom)
+
+    if (this.affixed != affix) {
+      if (this.unpin != null) this.$element.css('top', '')
+
+      var affixType = 'affix' + (affix ? '-' + affix : '')
+      var e         = $.Event(affixType + '.bs.affix')
+
+      this.$element.trigger(e)
+
+      if (e.isDefaultPrevented()) return
+
+      this.affixed = affix
+      this.unpin = affix == 'bottom' ? this.getPinnedOffset() : null
+
+      this.$element
+          .removeClass(Affix.RESET)
+          .addClass(affixType)
+          .trigger(affixType.replace('affix', 'affixed') + '.bs.affix')
+    }
+
+    if (affix == 'bottom') {
+      this.$element.offset({
+        top: scrollHeight - height - offsetBottom
+      })
+    }
+  }
+
+
+  // AFFIX PLUGIN DEFINITION
+  // =======================
+
+  function Plugin(option) {
+    return this.each(function () {
+      var $this   = $(this)
+      var data    = $this.data('bs.affix')
+      var options = typeof option == 'object' && option
+
+      if (!data) $this.data('bs.affix', (data = new Affix(this, options)))
+      if (typeof option == 'string') data[option]()
+    })
+  }
+
+  var old = $.fn.affix
+
+  $.fn.affix             = Plugin
+  $.fn.affix.Constructor = Affix
+
+
+  // AFFIX NO CONFLICT
+  // =================
+
+  $.fn.affix.noConflict = function () {
+    $.fn.affix = old
+    return this
+  }
+
+
+  // AFFIX DATA-API
+  // ==============
+
+  $(window).on('load', function () {
+    $('[data-spy="affix"]').each(function () {
+      var $spy = $(this)
+      var data = $spy.data()
+
+      data.offset = data.offset || {}
+
+      if (data.offsetBottom != null) data.offset.bottom = data.offsetBottom
+      if (data.offsetTop    != null) data.offset.top    = data.offsetTop
+
+      Plugin.call($spy, data)
+    })
+  })
+
+}(jQuery);
\ No newline at end of file
diff --git a/templates/shop-isle/assets/bootstrap/js/bootstrap.min.js b/templates/shop-isle/assets/bootstrap/js/bootstrap.min.js
new file mode 100644 (file)
index 0000000..87313db
--- /dev/null
@@ -0,0 +1,7 @@
+/*!
+ * Bootstrap v3.3.4 (http://getbootstrap.com)
+ * Copyright 2011-2015 Twitter, Inc.
+ * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
+ */
+if("undefined"==typeof jQuery)throw new Error("Bootstrap's JavaScript requires jQuery");+function(a){"use strict";var b=a.fn.jquery.split(" ")[0].split(".");if(b[0]<2&&b[1]<9||1==b[0]&&9==b[1]&&b[2]<1)throw new Error("Bootstrap's JavaScript requires jQuery version 1.9.1 or higher")}(jQuery),+function(a){"use strict";function b(){var a=document.createElement("bootstrap"),b={WebkitTransition:"webkitTransitionEnd",MozTransition:"transitionend",OTransition:"oTransitionEnd otransitionend",transition:"transitionend"};for(var c in b)if(void 0!==a.style[c])return{end:b[c]};return!1}a.fn.emulateTransitionEnd=function(b){var c=!1,d=this;a(this).one("bsTransitionEnd",function(){c=!0});var e=function(){c||a(d).trigger(a.support.transition.end)};return setTimeout(e,b),this},a(function(){a.support.transition=b(),a.support.transition&&(a.event.special.bsTransitionEnd={bindType:a.support.transition.end,delegateType:a.support.transition.end,handle:function(b){return a(b.target).is(this)?b.handleObj.handler.apply(this,arguments):void 0}})})}(jQuery),+function(a){"use strict";function b(b){return this.each(function(){var c=a(this),e=c.data("bs.alert");e||c.data("bs.alert",e=new d(this)),"string"==typeof b&&e[b].call(c)})}var c='[data-dismiss="alert"]',d=function(b){a(b).on("click",c,this.close)};d.VERSION="3.3.4",d.TRANSITION_DURATION=150,d.prototype.close=function(b){function c(){g.detach().trigger("closed.bs.alert").remove()}var e=a(this),f=e.attr("data-target");f||(f=e.attr("href"),f=f&&f.replace(/.*(?=#[^\s]*$)/,""));var g=a(f);b&&b.preventDefault(),g.length||(g=e.closest(".alert")),g.trigger(b=a.Event("close.bs.alert")),b.isDefaultPrevented()||(g.removeClass("in"),a.support.transition&&g.hasClass("fade")?g.one("bsTransitionEnd",c).emulateTransitionEnd(d.TRANSITION_DURATION):c())};var e=a.fn.alert;a.fn.alert=b,a.fn.alert.Constructor=d,a.fn.alert.noConflict=function(){return a.fn.alert=e,this},a(document).on("click.bs.alert.data-api",c,d.prototype.close)}(jQuery),+function(a){"use strict";function b(b){return this.each(function(){var d=a(this),e=d.data("bs.button"),f="object"==typeof b&&b;e||d.data("bs.button",e=new c(this,f)),"toggle"==b?e.toggle():b&&e.setState(b)})}var c=function(b,d){this.$element=a(b),this.options=a.extend({},c.DEFAULTS,d),this.isLoading=!1};c.VERSION="3.3.4",c.DEFAULTS={loadingText:"loading..."},c.prototype.setState=function(b){var c="disabled",d=this.$element,e=d.is("input")?"val":"html",f=d.data();b+="Text",null==f.resetText&&d.data("resetText",d[e]()),setTimeout(a.proxy(function(){d[e](null==f[b]?this.options[b]:f[b]),"loadingText"==b?(this.isLoading=!0,d.addClass(c).attr(c,c)):this.isLoading&&(this.isLoading=!1,d.removeClass(c).removeAttr(c))},this),0)},c.prototype.toggle=function(){var a=!0,b=this.$element.closest('[data-toggle="buttons"]');if(b.length){var c=this.$element.find("input");"radio"==c.prop("type")&&(c.prop("checked")&&this.$element.hasClass("active")?a=!1:b.find(".active").removeClass("active")),a&&c.prop("checked",!this.$element.hasClass("active")).trigger("change")}else this.$element.attr("aria-pressed",!this.$element.hasClass("active"));a&&this.$element.toggleClass("active")};var d=a.fn.button;a.fn.button=b,a.fn.button.Constructor=c,a.fn.button.noConflict=function(){return a.fn.button=d,this},a(document).on("click.bs.button.data-api",'[data-toggle^="button"]',function(c){var d=a(c.target);d.hasClass("btn")||(d=d.closest(".btn")),b.call(d,"toggle"),c.preventDefault()}).on("focus.bs.button.data-api blur.bs.button.data-api",'[data-toggle^="button"]',function(b){a(b.target).closest(".btn").toggleClass("focus",/^focus(in)?$/.test(b.type))})}(jQuery),+function(a){"use strict";function b(b){return this.each(function(){var d=a(this),e=d.data("bs.carousel"),f=a.extend({},c.DEFAULTS,d.data(),"object"==typeof b&&b),g="string"==typeof b?b:f.slide;e||d.data("bs.carousel",e=new c(this,f)),"number"==typeof b?e.to(b):g?e[g]():f.interval&&e.pause().cycle()})}var c=function(b,c){this.$element=a(b),this.$indicators=this.$element.find(".carousel-indicators"),this.options=c,this.paused=null,this.sliding=null,this.interval=null,this.$active=null,this.$items=null,this.options.keyboard&&this.$element.on("keydown.bs.carousel",a.proxy(this.keydown,this)),"hover"==this.options.pause&&!("ontouchstart"in document.documentElement)&&this.$element.on("mouseenter.bs.carousel",a.proxy(this.pause,this)).on("mouseleave.bs.carousel",a.proxy(this.cycle,this))};c.VERSION="3.3.4",c.TRANSITION_DURATION=600,c.DEFAULTS={interval:5e3,pause:"hover",wrap:!0,keyboard:!0},c.prototype.keydown=function(a){if(!/input|textarea/i.test(a.target.tagName)){switch(a.which){case 37:this.prev();break;case 39:this.next();break;default:return}a.preventDefault()}},c.prototype.cycle=function(b){return b||(this.paused=!1),this.interval&&clearInterval(this.interval),this.options.interval&&!this.paused&&(this.interval=setInterval(a.proxy(this.next,this),this.options.interval)),this},c.prototype.getItemIndex=function(a){return this.$items=a.parent().children(".item"),this.$items.index(a||this.$active)},c.prototype.getItemForDirection=function(a,b){var c=this.getItemIndex(b),d="prev"==a&&0===c||"next"==a&&c==this.$items.length-1;if(d&&!this.options.wrap)return b;var e="prev"==a?-1:1,f=(c+e)%this.$items.length;return this.$items.eq(f)},c.prototype.to=function(a){var b=this,c=this.getItemIndex(this.$active=this.$element.find(".item.active"));return a>this.$items.length-1||0>a?void 0:this.sliding?this.$element.one("slid.bs.carousel",function(){b.to(a)}):c==a?this.pause().cycle():this.slide(a>c?"next":"prev",this.$items.eq(a))},c.prototype.pause=function(b){return b||(this.paused=!0),this.$element.find(".next, .prev").length&&a.support.transition&&(this.$element.trigger(a.support.transition.end),this.cycle(!0)),this.interval=clearInterval(this.interval),this},c.prototype.next=function(){return this.sliding?void 0:this.slide("next")},c.prototype.prev=function(){return this.sliding?void 0:this.slide("prev")},c.prototype.slide=function(b,d){var e=this.$element.find(".item.active"),f=d||this.getItemForDirection(b,e),g=this.interval,h="next"==b?"left":"right",i=this;if(f.hasClass("active"))return this.sliding=!1;var j=f[0],k=a.Event("slide.bs.carousel",{relatedTarget:j,direction:h});if(this.$element.trigger(k),!k.isDefaultPrevented()){if(this.sliding=!0,g&&this.pause(),this.$indicators.length){this.$indicators.find(".active").removeClass("active");var l=a(this.$indicators.children()[this.getItemIndex(f)]);l&&l.addClass("active")}var m=a.Event("slid.bs.carousel",{relatedTarget:j,direction:h});return a.support.transition&&this.$element.hasClass("slide")?(f.addClass(b),f[0].offsetWidth,e.addClass(h),f.addClass(h),e.one("bsTransitionEnd",function(){f.removeClass([b,h].join(" ")).addClass("active"),e.removeClass(["active",h].join(" ")),i.sliding=!1,setTimeout(function(){i.$element.trigger(m)},0)}).emulateTransitionEnd(c.TRANSITION_DURATION)):(e.removeClass("active"),f.addClass("active"),this.sliding=!1,this.$element.trigger(m)),g&&this.cycle(),this}};var d=a.fn.carousel;a.fn.carousel=b,a.fn.carousel.Constructor=c,a.fn.carousel.noConflict=function(){return a.fn.carousel=d,this};var e=function(c){var d,e=a(this),f=a(e.attr("data-target")||(d=e.attr("href"))&&d.replace(/.*(?=#[^\s]+$)/,""));if(f.hasClass("carousel")){var g=a.extend({},f.data(),e.data()),h=e.attr("data-slide-to");h&&(g.interval=!1),b.call(f,g),h&&f.data("bs.carousel").to(h),c.preventDefault()}};a(document).on("click.bs.carousel.data-api","[data-slide]",e).on("click.bs.carousel.data-api","[data-slide-to]",e),a(window).on("load",function(){a('[data-ride="carousel"]').each(function(){var c=a(this);b.call(c,c.data())})})}(jQuery),+function(a){"use strict";function b(b){var c,d=b.attr("data-target")||(c=b.attr("href"))&&c.replace(/.*(?=#[^\s]+$)/,"");return a(d)}function c(b){return this.each(function(){var c=a(this),e=c.data("bs.collapse"),f=a.extend({},d.DEFAULTS,c.data(),"object"==typeof b&&b);!e&&f.toggle&&/show|hide/.test(b)&&(f.toggle=!1),e||c.data("bs.collapse",e=new d(this,f)),"string"==typeof b&&e[b]()})}var d=function(b,c){this.$element=a(b),this.options=a.extend({},d.DEFAULTS,c),this.$trigger=a('[data-toggle="collapse"][href="#'+b.id+'"],[data-toggle="collapse"][data-target="#'+b.id+'"]'),this.transitioning=null,this.options.parent?this.$parent=this.getParent():this.addAriaAndCollapsedClass(this.$element,this.$trigger),this.options.toggle&&this.toggle()};d.VERSION="3.3.4",d.TRANSITION_DURATION=350,d.DEFAULTS={toggle:!0},d.prototype.dimension=function(){var a=this.$element.hasClass("width");return a?"width":"height"},d.prototype.show=function(){if(!this.transitioning&&!this.$element.hasClass("in")){var b,e=this.$parent&&this.$parent.children(".panel").children(".in, .collapsing");if(!(e&&e.length&&(b=e.data("bs.collapse"),b&&b.transitioning))){var f=a.Event("show.bs.collapse");if(this.$element.trigger(f),!f.isDefaultPrevented()){e&&e.length&&(c.call(e,"hide"),b||e.data("bs.collapse",null));var g=this.dimension();this.$element.removeClass("collapse").addClass("collapsing")[g](0).attr("aria-expanded",!0),this.$trigger.removeClass("collapsed").attr("aria-expanded",!0),this.transitioning=1;var h=function(){this.$element.removeClass("collapsing").addClass("collapse in")[g](""),this.transitioning=0,this.$element.trigger("shown.bs.collapse")};if(!a.support.transition)return h.call(this);var i=a.camelCase(["scroll",g].join("-"));this.$element.one("bsTransitionEnd",a.proxy(h,this)).emulateTransitionEnd(d.TRANSITION_DURATION)[g](this.$element[0][i])}}}},d.prototype.hide=function(){if(!this.transitioning&&this.$element.hasClass("in")){var b=a.Event("hide.bs.collapse");if(this.$element.trigger(b),!b.isDefaultPrevented()){var c=this.dimension();this.$element[c](this.$element[c]())[0].offsetHeight,this.$element.addClass("collapsing").removeClass("collapse in").attr("aria-expanded",!1),this.$trigger.addClass("collapsed").attr("aria-expanded",!1),this.transitioning=1;var e=function(){this.transitioning=0,this.$element.removeClass("collapsing").addClass("collapse").trigger("hidden.bs.collapse")};return a.support.transition?void this.$element[c](0).one("bsTransitionEnd",a.proxy(e,this)).emulateTransitionEnd(d.TRANSITION_DURATION):e.call(this)}}},d.prototype.toggle=function(){this[this.$element.hasClass("in")?"hide":"show"]()},d.prototype.getParent=function(){return a(this.options.parent).find('[data-toggle="collapse"][data-parent="'+this.options.parent+'"]').each(a.proxy(function(c,d){var e=a(d);this.addAriaAndCollapsedClass(b(e),e)},this)).end()},d.prototype.addAriaAndCollapsedClass=function(a,b){var c=a.hasClass("in");a.attr("aria-expanded",c),b.toggleClass("collapsed",!c).attr("aria-expanded",c)};var e=a.fn.collapse;a.fn.collapse=c,a.fn.collapse.Constructor=d,a.fn.collapse.noConflict=function(){return a.fn.collapse=e,this},a(document).on("click.bs.collapse.data-api",'[data-toggle="collapse"]',function(d){var e=a(this);e.attr("data-target")||d.preventDefault();var f=b(e),g=f.data("bs.collapse"),h=g?"toggle":e.data();c.call(f,h)})}(jQuery),+function(a){"use strict";function b(b){b&&3===b.which||(a(e).remove(),a(f).each(function(){var d=a(this),e=c(d),f={relatedTarget:this};e.hasClass("open")&&(e.trigger(b=a.Event("hide.bs.dropdown",f)),b.isDefaultPrevented()||(d.attr("aria-expanded","false"),e.removeClass("open").trigger("hidden.bs.dropdown",f)))}))}function c(b){var c=b.attr("data-target");c||(c=b.attr("href"),c=c&&/#[A-Za-z]/.test(c)&&c.replace(/.*(?=#[^\s]*$)/,""));var d=c&&a(c);return d&&d.length?d:b.parent()}function d(b){return this.each(function(){var c=a(this),d=c.data("bs.dropdown");d||c.data("bs.dropdown",d=new g(this)),"string"==typeof b&&d[b].call(c)})}var e=".dropdown-backdrop",f='[data-toggle="dropdown"]',g=function(b){a(b).on("click.bs.dropdown",this.toggle)};g.VERSION="3.3.4",g.prototype.toggle=function(d){var e=a(this);if(!e.is(".disabled, :disabled")){var f=c(e),g=f.hasClass("open");if(b(),!g){"ontouchstart"in document.documentElement&&!f.closest(".navbar-nav").length&&a('<div class="dropdown-backdrop"/>').insertAfter(a(this)).on("click",b);var h={relatedTarget:this};if(f.trigger(d=a.Event("show.bs.dropdown",h)),d.isDefaultPrevented())return;e.trigger("focus").attr("aria-expanded","true"),f.toggleClass("open").trigger("shown.bs.dropdown",h)}return!1}},g.prototype.keydown=function(b){if(/(38|40|27|32)/.test(b.which)&&!/input|textarea/i.test(b.target.tagName)){var d=a(this);if(b.preventDefault(),b.stopPropagation(),!d.is(".disabled, :disabled")){var e=c(d),g=e.hasClass("open");if(!g&&27!=b.which||g&&27==b.which)return 27==b.which&&e.find(f).trigger("focus"),d.trigger("click");var h=" li:not(.disabled):visible a",i=e.find('[role="menu"]'+h+', [role="listbox"]'+h);if(i.length){var j=i.index(b.target);38==b.which&&j>0&&j--,40==b.which&&j<i.length-1&&j++,~j||(j=0),i.eq(j).trigger("focus")}}}};var h=a.fn.dropdown;a.fn.dropdown=d,a.fn.dropdown.Constructor=g,a.fn.dropdown.noConflict=function(){return a.fn.dropdown=h,this},a(document).on("click.bs.dropdown.data-api",b).on("click.bs.dropdown.data-api",".dropdown form",function(a){a.stopPropagation()}).on("click.bs.dropdown.data-api",f,g.prototype.toggle).on("keydown.bs.dropdown.data-api",f,g.prototype.keydown).on("keydown.bs.dropdown.data-api",'[role="menu"]',g.prototype.keydown).on("keydown.bs.dropdown.data-api",'[role="listbox"]',g.prototype.keydown)}(jQuery),+function(a){"use strict";function b(b,d){return this.each(function(){var e=a(this),f=e.data("bs.modal"),g=a.extend({},c.DEFAULTS,e.data(),"object"==typeof b&&b);f||e.data("bs.modal",f=new c(this,g)),"string"==typeof b?f[b](d):g.show&&f.show(d)})}var c=function(b,c){this.options=c,this.$body=a(document.body),this.$element=a(b),this.$dialog=this.$element.find(".modal-dialog"),this.$backdrop=null,this.isShown=null,this.originalBodyPad=null,this.scrollbarWidth=0,this.ignoreBackdropClick=!1,this.options.remote&&this.$element.find(".modal-content").load(this.options.remote,a.proxy(function(){this.$element.trigger("loaded.bs.modal")},this))};c.VERSION="3.3.4",c.TRANSITION_DURATION=300,c.BACKDROP_TRANSITION_DURATION=150,c.DEFAULTS={backdrop:!0,keyboard:!0,show:!0},c.prototype.toggle=function(a){return this.isShown?this.hide():this.show(a)},c.prototype.show=function(b){var d=this,e=a.Event("show.bs.modal",{relatedTarget:b});this.$element.trigger(e),this.isShown||e.isDefaultPrevented()||(this.isShown=!0,this.checkScrollbar(),this.setScrollbar(),this.$body.addClass("modal-open"),this.escape(),this.resize(),this.$element.on("click.dismiss.bs.modal",'[data-dismiss="modal"]',a.proxy(this.hide,this)),this.$dialog.on("mousedown.dismiss.bs.modal",function(){d.$element.one("mouseup.dismiss.bs.modal",function(b){a(b.target).is(d.$element)&&(d.ignoreBackdropClick=!0)})}),this.backdrop(function(){var e=a.support.transition&&d.$element.hasClass("fade");d.$element.parent().length||d.$element.appendTo(d.$body),d.$element.show().scrollTop(0),d.adjustDialog(),e&&d.$element[0].offsetWidth,d.$element.addClass("in").attr("aria-hidden",!1),d.enforceFocus();var f=a.Event("shown.bs.modal",{relatedTarget:b});e?d.$dialog.one("bsTransitionEnd",function(){d.$element.trigger("focus").trigger(f)}).emulateTransitionEnd(c.TRANSITION_DURATION):d.$element.trigger("focus").trigger(f)}))},c.prototype.hide=function(b){b&&b.preventDefault(),b=a.Event("hide.bs.modal"),this.$element.trigger(b),this.isShown&&!b.isDefaultPrevented()&&(this.isShown=!1,this.escape(),this.resize(),a(document).off("focusin.bs.modal"),this.$element.removeClass("in").attr("aria-hidden",!0).off("click.dismiss.bs.modal").off("mouseup.dismiss.bs.modal"),this.$dialog.off("mousedown.dismiss.bs.modal"),a.support.transition&&this.$element.hasClass("fade")?this.$element.one("bsTransitionEnd",a.proxy(this.hideModal,this)).emulateTransitionEnd(c.TRANSITION_DURATION):this.hideModal())},c.prototype.enforceFocus=function(){a(document).off("focusin.bs.modal").on("focusin.bs.modal",a.proxy(function(a){this.$element[0]===a.target||this.$element.has(a.target).length||this.$element.trigger("focus")},this))},c.prototype.escape=function(){this.isShown&&this.options.keyboard?this.$element.on("keydown.dismiss.bs.modal",a.proxy(function(a){27==a.which&&this.hide()},this)):this.isShown||this.$element.off("keydown.dismiss.bs.modal")},c.prototype.resize=function(){this.isShown?a(window).on("resize.bs.modal",a.proxy(this.handleUpdate,this)):a(window).off("resize.bs.modal")},c.prototype.hideModal=function(){var a=this;this.$element.hide(),this.backdrop(function(){a.$body.removeClass("modal-open"),a.resetAdjustments(),a.resetScrollbar(),a.$element.trigger("hidden.bs.modal")})},c.prototype.removeBackdrop=function(){this.$backdrop&&this.$backdrop.remove(),this.$backdrop=null},c.prototype.backdrop=function(b){var d=this,e=this.$element.hasClass("fade")?"fade":"";if(this.isShown&&this.options.backdrop){var f=a.support.transition&&e;if(this.$backdrop=a('<div class="modal-backdrop '+e+'" />').appendTo(this.$body),this.$element.on("click.dismiss.bs.modal",a.proxy(function(a){return this.ignoreBackdropClick?void(this.ignoreBackdropClick=!1):void(a.target===a.currentTarget&&("static"==this.options.backdrop?this.$element[0].focus():this.hide()))},this)),f&&this.$backdrop[0].offsetWidth,this.$backdrop.addClass("in"),!b)return;f?this.$backdrop.one("bsTransitionEnd",b).emulateTransitionEnd(c.BACKDROP_TRANSITION_DURATION):b()}else if(!this.isShown&&this.$backdrop){this.$backdrop.removeClass("in");var g=function(){d.removeBackdrop(),b&&b()};a.support.transition&&this.$element.hasClass("fade")?this.$backdrop.one("bsTransitionEnd",g).emulateTransitionEnd(c.BACKDROP_TRANSITION_DURATION):g()}else b&&b()},c.prototype.handleUpdate=function(){this.adjustDialog()},c.prototype.adjustDialog=function(){var a=this.$element[0].scrollHeight>document.documentElement.clientHeight;this.$element.css({paddingLeft:!this.bodyIsOverflowing&&a?this.scrollbarWidth:"",paddingRight:this.bodyIsOverflowing&&!a?this.scrollbarWidth:""})},c.prototype.resetAdjustments=function(){this.$element.css({paddingLeft:"",paddingRight:""})},c.prototype.checkScrollbar=function(){var a=window.innerWidth;if(!a){var b=document.documentElement.getBoundingClientRect();a=b.right-Math.abs(b.left)}this.bodyIsOverflowing=document.body.clientWidth<a,this.scrollbarWidth=this.measureScrollbar()},c.prototype.setScrollbar=function(){var a=parseInt(this.$body.css("padding-right")||0,10);this.originalBodyPad=document.body.style.paddingRight||"",this.bodyIsOverflowing&&this.$body.css("padding-right",a+this.scrollbarWidth)},c.prototype.resetScrollbar=function(){this.$body.css("padding-right",this.originalBodyPad)},c.prototype.measureScrollbar=function(){var a=document.createElement("div");a.className="modal-scrollbar-measure",this.$body.append(a);var b=a.offsetWidth-a.clientWidth;return this.$body[0].removeChild(a),b};var d=a.fn.modal;a.fn.modal=b,a.fn.modal.Constructor=c,a.fn.modal.noConflict=function(){return a.fn.modal=d,this},a(document).on("click.bs.modal.data-api",'[data-toggle="modal"]',function(c){var d=a(this),e=d.attr("href"),f=a(d.attr("data-target")||e&&e.replace(/.*(?=#[^\s]+$)/,"")),g=f.data("bs.modal")?"toggle":a.extend({remote:!/#/.test(e)&&e},f.data(),d.data());d.is("a")&&c.preventDefault(),f.one("show.bs.modal",function(a){a.isDefaultPrevented()||f.one("hidden.bs.modal",function(){d.is(":visible")&&d.trigger("focus")})}),b.call(f,g,this)})}(jQuery),+function(a){"use strict";function b(b){return this.each(function(){var d=a(this),e=d.data("bs.tooltip"),f="object"==typeof b&&b;(e||!/destroy|hide/.test(b))&&(e||d.data("bs.tooltip",e=new c(this,f)),"string"==typeof b&&e[b]())})}var c=function(a,b){this.type=null,this.options=null,this.enabled=null,this.timeout=null,this.hoverState=null,this.$element=null,this.init("tooltip",a,b)};c.VERSION="3.3.4",c.TRANSITION_DURATION=150,c.DEFAULTS={animation:!0,placement:"top",selector:!1,template:'<div class="tooltip" role="tooltip"><div class="tooltip-arrow"></div><div class="tooltip-inner"></div></div>',trigger:"hover focus",title:"",delay:0,html:!1,container:!1,viewport:{selector:"body",padding:0}},c.prototype.init=function(b,c,d){if(this.enabled=!0,this.type=b,this.$element=a(c),this.options=this.getOptions(d),this.$viewport=this.options.viewport&&a(this.options.viewport.selector||this.options.viewport),this.$element[0]instanceof document.constructor&&!this.options.selector)throw new Error("`selector` option must be specified when initializing "+this.type+" on the window.document object!");for(var e=this.options.trigger.split(" "),f=e.length;f--;){var g=e[f];if("click"==g)this.$element.on("click."+this.type,this.options.selector,a.proxy(this.toggle,this));else if("manual"!=g){var h="hover"==g?"mouseenter":"focusin",i="hover"==g?"mouseleave":"focusout";this.$element.on(h+"."+this.type,this.options.selector,a.proxy(this.enter,this)),this.$element.on(i+"."+this.type,this.options.selector,a.proxy(this.leave,this))}}this.options.selector?this._options=a.extend({},this.options,{trigger:"manual",selector:""}):this.fixTitle()},c.prototype.getDefaults=function(){return c.DEFAULTS},c.prototype.getOptions=function(b){return b=a.extend({},this.getDefaults(),this.$element.data(),b),b.delay&&"number"==typeof b.delay&&(b.delay={show:b.delay,hide:b.delay}),b},c.prototype.getDelegateOptions=function(){var b={},c=this.getDefaults();return this._options&&a.each(this._options,function(a,d){c[a]!=d&&(b[a]=d)}),b},c.prototype.enter=function(b){var c=b instanceof this.constructor?b:a(b.currentTarget).data("bs."+this.type);return c&&c.$tip&&c.$tip.is(":visible")?void(c.hoverState="in"):(c||(c=new this.constructor(b.currentTarget,this.getDelegateOptions()),a(b.currentTarget).data("bs."+this.type,c)),clearTimeout(c.timeout),c.hoverState="in",c.options.delay&&c.options.delay.show?void(c.timeout=setTimeout(function(){"in"==c.hoverState&&c.show()},c.options.delay.show)):c.show())},c.prototype.leave=function(b){var c=b instanceof this.constructor?b:a(b.currentTarget).data("bs."+this.type);return c||(c=new this.constructor(b.currentTarget,this.getDelegateOptions()),a(b.currentTarget).data("bs."+this.type,c)),clearTimeout(c.timeout),c.hoverState="out",c.options.delay&&c.options.delay.hide?void(c.timeout=setTimeout(function(){"out"==c.hoverState&&c.hide()},c.options.delay.hide)):c.hide()},c.prototype.show=function(){var b=a.Event("show.bs."+this.type);if(this.hasContent()&&this.enabled){this.$element.trigger(b);var d=a.contains(this.$element[0].ownerDocument.documentElement,this.$element[0]);if(b.isDefaultPrevented()||!d)return;var e=this,f=this.tip(),g=this.getUID(this.type);this.setContent(),f.attr("id",g),this.$element.attr("aria-describedby",g),this.options.animation&&f.addClass("fade");var h="function"==typeof this.options.placement?this.options.placement.call(this,f[0],this.$element[0]):this.options.placement,i=/\s?auto?\s?/i,j=i.test(h);j&&(h=h.replace(i,"")||"top"),f.detach().css({top:0,left:0,display:"block"}).addClass(h).data("bs."+this.type,this),this.options.container?f.appendTo(this.options.container):f.insertAfter(this.$element);var k=this.getPosition(),l=f[0].offsetWidth,m=f[0].offsetHeight;if(j){var n=h,o=this.options.container?a(this.options.container):this.$element.parent(),p=this.getPosition(o);h="bottom"==h&&k.bottom+m>p.bottom?"top":"top"==h&&k.top-m<p.top?"bottom":"right"==h&&k.right+l>p.width?"left":"left"==h&&k.left-l<p.left?"right":h,f.removeClass(n).addClass(h)}var q=this.getCalculatedOffset(h,k,l,m);this.applyPlacement(q,h);var r=function(){var a=e.hoverState;e.$element.trigger("shown.bs."+e.type),e.hoverState=null,"out"==a&&e.leave(e)};a.support.transition&&this.$tip.hasClass("fade")?f.one("bsTransitionEnd",r).emulateTransitionEnd(c.TRANSITION_DURATION):r()}},c.prototype.applyPlacement=function(b,c){var d=this.tip(),e=d[0].offsetWidth,f=d[0].offsetHeight,g=parseInt(d.css("margin-top"),10),h=parseInt(d.css("margin-left"),10);isNaN(g)&&(g=0),isNaN(h)&&(h=0),b.top=b.top+g,b.left=b.left+h,a.offset.setOffset(d[0],a.extend({using:function(a){d.css({top:Math.round(a.top),left:Math.round(a.left)})}},b),0),d.addClass("in");var i=d[0].offsetWidth,j=d[0].offsetHeight;"top"==c&&j!=f&&(b.top=b.top+f-j);var k=this.getViewportAdjustedDelta(c,b,i,j);k.left?b.left+=k.left:b.top+=k.top;var l=/top|bottom/.test(c),m=l?2*k.left-e+i:2*k.top-f+j,n=l?"offsetWidth":"offsetHeight";d.offset(b),this.replaceArrow(m,d[0][n],l)},c.prototype.replaceArrow=function(a,b,c){this.arrow().css(c?"left":"top",50*(1-a/b)+"%").css(c?"top":"left","")},c.prototype.setContent=function(){var a=this.tip(),b=this.getTitle();a.find(".tooltip-inner")[this.options.html?"html":"text"](b),a.removeClass("fade in top bottom left right")},c.prototype.hide=function(b){function d(){"in"!=e.hoverState&&f.detach(),e.$element.removeAttr("aria-describedby").trigger("hidden.bs."+e.type),b&&b()}var e=this,f=a(this.$tip),g=a.Event("hide.bs."+this.type);return this.$element.trigger(g),g.isDefaultPrevented()?void 0:(f.removeClass("in"),a.support.transition&&f.hasClass("fade")?f.one("bsTransitionEnd",d).emulateTransitionEnd(c.TRANSITION_DURATION):d(),this.hoverState=null,this)},c.prototype.fixTitle=function(){var a=this.$element;(a.attr("title")||"string"!=typeof a.attr("data-original-title"))&&a.attr("data-original-title",a.attr("title")||"").attr("title","")},c.prototype.hasContent=function(){return this.getTitle()},c.prototype.getPosition=function(b){b=b||this.$element;var c=b[0],d="BODY"==c.tagName,e=c.getBoundingClientRect();null==e.width&&(e=a.extend({},e,{width:e.right-e.left,height:e.bottom-e.top}));var f=d?{top:0,left:0}:b.offset(),g={scroll:d?document.documentElement.scrollTop||document.body.scrollTop:b.scrollTop()},h=d?{width:a(window).width(),height:a(window).height()}:null;return a.extend({},e,g,h,f)},c.prototype.getCalculatedOffset=function(a,b,c,d){return"bottom"==a?{top:b.top+b.height,left:b.left+b.width/2-c/2}:"top"==a?{top:b.top-d,left:b.left+b.width/2-c/2}:"left"==a?{top:b.top+b.height/2-d/2,left:b.left-c}:{top:b.top+b.height/2-d/2,left:b.left+b.width}},c.prototype.getViewportAdjustedDelta=function(a,b,c,d){var e={top:0,left:0};if(!this.$viewport)return e;var f=this.options.viewport&&this.options.viewport.padding||0,g=this.getPosition(this.$viewport);if(/right|left/.test(a)){var h=b.top-f-g.scroll,i=b.top+f-g.scroll+d;h<g.top?e.top=g.top-h:i>g.top+g.height&&(e.top=g.top+g.height-i)}else{var j=b.left-f,k=b.left+f+c;j<g.left?e.left=g.left-j:k>g.width&&(e.left=g.left+g.width-k)}return e},c.prototype.getTitle=function(){var a,b=this.$element,c=this.options;return a=b.attr("data-original-title")||("function"==typeof c.title?c.title.call(b[0]):c.title)},c.prototype.getUID=function(a){do a+=~~(1e6*Math.random());while(document.getElementById(a));return a},c.prototype.tip=function(){return this.$tip=this.$tip||a(this.options.template)},c.prototype.arrow=function(){return this.$arrow=this.$arrow||this.tip().find(".tooltip-arrow")},c.prototype.enable=function(){this.enabled=!0},c.prototype.disable=function(){this.enabled=!1},c.prototype.toggleEnabled=function(){this.enabled=!this.enabled},c.prototype.toggle=function(b){var c=this;b&&(c=a(b.currentTarget).data("bs."+this.type),c||(c=new this.constructor(b.currentTarget,this.getDelegateOptions()),a(b.currentTarget).data("bs."+this.type,c))),c.tip().hasClass("in")?c.leave(c):c.enter(c)},c.prototype.destroy=function(){var a=this;clearTimeout(this.timeout),this.hide(function(){a.$element.off("."+a.type).removeData("bs."+a.type)})};var d=a.fn.tooltip;a.fn.tooltip=b,a.fn.tooltip.Constructor=c,a.fn.tooltip.noConflict=function(){return a.fn.tooltip=d,this}}(jQuery),+function(a){"use strict";function b(b){return this.each(function(){var d=a(this),e=d.data("bs.popover"),f="object"==typeof b&&b;(e||!/destroy|hide/.test(b))&&(e||d.data("bs.popover",e=new c(this,f)),"string"==typeof b&&e[b]())})}var c=function(a,b){this.init("popover",a,b)};if(!a.fn.tooltip)throw new Error("Popover requires tooltip.js");c.VERSION="3.3.4",c.DEFAULTS=a.extend({},a.fn.tooltip.Constructor.DEFAULTS,{placement:"right",trigger:"click",content:"",template:'<div class="popover" role="tooltip"><div class="arrow"></div><h3 class="popover-title"></h3><div class="popover-content"></div></div>'}),c.prototype=a.extend({},a.fn.tooltip.Constructor.prototype),c.prototype.constructor=c,c.prototype.getDefaults=function(){return c.DEFAULTS},c.prototype.setContent=function(){var a=this.tip(),b=this.getTitle(),c=this.getContent();a.find(".popover-title")[this.options.html?"html":"text"](b),a.find(".popover-content").children().detach().end()[this.options.html?"string"==typeof c?"html":"append":"text"](c),a.removeClass("fade top bottom left right in"),a.find(".popover-title").html()||a.find(".popover-title").hide()},c.prototype.hasContent=function(){return this.getTitle()||this.getContent()},c.prototype.getContent=function(){var a=this.$element,b=this.options;return a.attr("data-content")||("function"==typeof b.content?b.content.call(a[0]):b.content)},c.prototype.arrow=function(){return this.$arrow=this.$arrow||this.tip().find(".arrow")};var d=a.fn.popover;a.fn.popover=b,a.fn.popover.Constructor=c,a.fn.popover.noConflict=function(){return a.fn.popover=d,this}}(jQuery),+function(a){"use strict";function b(c,d){this.$body=a(document.body),this.$scrollElement=a(a(c).is(document.body)?window:c),this.options=a.extend({},b.DEFAULTS,d),this.selector=(this.options.target||"")+" .nav li > a",this.offsets=[],this.targets=[],this.activeTarget=null,this.scrollHeight=0,this.$scrollElement.on("scroll.bs.scrollspy",a.proxy(this.process,this)),this.refresh(),this.process()}function c(c){return this.each(function(){var d=a(this),e=d.data("bs.scrollspy"),f="object"==typeof c&&c;e||d.data("bs.scrollspy",e=new b(this,f)),"string"==typeof c&&e[c]()})}b.VERSION="3.3.4",b.DEFAULTS={offset:10},b.prototype.getScrollHeight=function(){return this.$scrollElement[0].scrollHeight||Math.max(this.$body[0].scrollHeight,document.documentElement.scrollHeight)},b.prototype.refresh=function(){var b=this,c="offset",d=0;this.offsets=[],this.targets=[],this.scrollHeight=this.getScrollHeight(),a.isWindow(this.$scrollElement[0])||(c="position",d=this.$scrollElement.scrollTop()),this.$body.find(this.selector).map(function(){var b=a(this),e=b.data("target")||b.attr("href"),f=/^#./.test(e)&&a(e);return f&&f.length&&f.is(":visible")&&[[f[c]().top+d,e]]||null}).sort(function(a,b){return a[0]-b[0]}).each(function(){b.offsets.push(this[0]),b.targets.push(this[1])})},b.prototype.process=function(){var a,b=this.$scrollElement.scrollTop()+this.options.offset,c=this.getScrollHeight(),d=this.options.offset+c-this.$scrollElement.height(),e=this.offsets,f=this.targets,g=this.activeTarget;if(this.scrollHeight!=c&&this.refresh(),b>=d)return g!=(a=f[f.length-1])&&this.activate(a);if(g&&b<e[0])return this.activeTarget=null,this.clear();for(a=e.length;a--;)g!=f[a]&&b>=e[a]&&(void 0===e[a+1]||b<e[a+1])&&this.activate(f[a])},b.prototype.activate=function(b){this.activeTarget=b,this.clear();var c=this.selector+'[data-target="'+b+'"],'+this.selector+'[href="'+b+'"]',d=a(c).parents("li").addClass("active");d.parent(".dropdown-menu").length&&(d=d.closest("li.dropdown").addClass("active")),d.trigger("activate.bs.scrollspy")},b.prototype.clear=function(){a(this.selector).parentsUntil(this.options.target,".active").removeClass("active")};var d=a.fn.scrollspy;a.fn.scrollspy=c,a.fn.scrollspy.Constructor=b,a.fn.scrollspy.noConflict=function(){return a.fn.scrollspy=d,this},a(window).on("load.bs.scrollspy.data-api",function(){a('[data-spy="scroll"]').each(function(){var b=a(this);c.call(b,b.data())})})}(jQuery),+function(a){"use strict";function b(b){return this.each(function(){var d=a(this),e=d.data("bs.tab");e||d.data("bs.tab",e=new c(this)),"string"==typeof b&&e[b]()})}var c=function(b){this.element=a(b)};c.VERSION="3.3.4",c.TRANSITION_DURATION=150,c.prototype.show=function(){var b=this.element,c=b.closest("ul:not(.dropdown-menu)"),d=b.data("target");if(d||(d=b.attr("href"),d=d&&d.replace(/.*(?=#[^\s]*$)/,"")),!b.parent("li").hasClass("active")){
+    var e=c.find(".active:last a"),f=a.Event("hide.bs.tab",{relatedTarget:b[0]}),g=a.Event("show.bs.tab",{relatedTarget:e[0]});if(e.trigger(f),b.trigger(g),!g.isDefaultPrevented()&&!f.isDefaultPrevented()){var h=a(d);this.activate(b.closest("li"),c),this.activate(h,h.parent(),function(){e.trigger({type:"hidden.bs.tab",relatedTarget:b[0]}),b.trigger({type:"shown.bs.tab",relatedTarget:e[0]})})}}},c.prototype.activate=function(b,d,e){function f(){g.removeClass("active").find("> .dropdown-menu > .active").removeClass("active").end().find('[data-toggle="tab"]').attr("aria-expanded",!1),b.addClass("active").find('[data-toggle="tab"]').attr("aria-expanded",!0),h?(b[0].offsetWidth,b.addClass("in")):b.removeClass("fade"),b.parent(".dropdown-menu").length&&b.closest("li.dropdown").addClass("active").end().find('[data-toggle="tab"]').attr("aria-expanded",!0),e&&e()}var g=d.find("> .active"),h=e&&a.support.transition&&(g.length&&g.hasClass("fade")||!!d.find("> .fade").length);g.length&&h?g.one("bsTransitionEnd",f).emulateTransitionEnd(c.TRANSITION_DURATION):f(),g.removeClass("in")};var d=a.fn.tab;a.fn.tab=b,a.fn.tab.Constructor=c,a.fn.tab.noConflict=function(){return a.fn.tab=d,this};var e=function(c){c.preventDefault(),b.call(a(this),"show")};a(document).on("click.bs.tab.data-api",'[data-toggle="tab"]',e).on("click.bs.tab.data-api",'[data-toggle="pill"]',e)}(jQuery),+function(a){"use strict";function b(b){return this.each(function(){var d=a(this),e=d.data("bs.affix"),f="object"==typeof b&&b;e||d.data("bs.affix",e=new c(this,f)),"string"==typeof b&&e[b]()})}var c=function(b,d){this.options=a.extend({},c.DEFAULTS,d),this.$target=a(this.options.target).on("scroll.bs.affix.data-api",a.proxy(this.checkPosition,this)).on("click.bs.affix.data-api",a.proxy(this.checkPositionWithEventLoop,this)),this.$element=a(b),this.affixed=null,this.unpin=null,this.pinnedOffset=null,this.checkPosition()};c.VERSION="3.3.4",c.RESET="affix affix-top affix-bottom",c.DEFAULTS={offset:0,target:window},c.prototype.getState=function(a,b,c,d){var e=this.$target.scrollTop(),f=this.$element.offset(),g=this.$target.height();if(null!=c&&"top"==this.affixed)return c>e?"top":!1;if("bottom"==this.affixed)return null!=c?e+this.unpin<=f.top?!1:"bottom":a-d>=e+g?!1:"bottom";var h=null==this.affixed,i=h?e:f.top,j=h?g:b;return null!=c&&c>=e?"top":null!=d&&i+j>=a-d?"bottom":!1},c.prototype.getPinnedOffset=function(){if(this.pinnedOffset)return this.pinnedOffset;this.$element.removeClass(c.RESET).addClass("affix");var a=this.$target.scrollTop(),b=this.$element.offset();return this.pinnedOffset=b.top-a},c.prototype.checkPositionWithEventLoop=function(){setTimeout(a.proxy(this.checkPosition,this),1)},c.prototype.checkPosition=function(){if(this.$element.is(":visible")){var b=this.$element.height(),d=this.options.offset,e=d.top,f=d.bottom,g=a(document.body).height();"object"!=typeof d&&(f=e=d),"function"==typeof e&&(e=d.top(this.$element)),"function"==typeof f&&(f=d.bottom(this.$element));var h=this.getState(g,b,e,f);if(this.affixed!=h){null!=this.unpin&&this.$element.css("top","");var i="affix"+(h?"-"+h:""),j=a.Event(i+".bs.affix");if(this.$element.trigger(j),j.isDefaultPrevented())return;this.affixed=h,this.unpin="bottom"==h?this.getPinnedOffset():null,this.$element.removeClass(c.RESET).addClass(i).trigger(i.replace("affix","affixed")+".bs.affix")}"bottom"==h&&this.$element.offset({top:g-b-f})}};var d=a.fn.affix;a.fn.affix=b,a.fn.affix.Constructor=c,a.fn.affix.noConflict=function(){return a.fn.affix=d,this},a(window).on("load",function(){a('[data-spy="affix"]').each(function(){var c=a(this),d=c.data();d.offset=d.offset||{},null!=d.offsetBottom&&(d.offset.bottom=d.offsetBottom),null!=d.offsetTop&&(d.offset.top=d.offsetTop),b.call(c,d)})})}(jQuery);
\ No newline at end of file
diff --git a/templates/shop-isle/assets/bootstrap/js/npm.js b/templates/shop-isle/assets/bootstrap/js/npm.js
new file mode 100644 (file)
index 0000000..bf6aa80
--- /dev/null
@@ -0,0 +1,13 @@
+// This file is autogenerated via the `commonjs` Grunt task. You can require() this file in a CommonJS environment.
+require('../../js/transition.js')
+require('../../js/alert.js')
+require('../../js/button.js')
+require('../../js/carousel.js')
+require('../../js/collapse.js')
+require('../../js/dropdown.js')
+require('../../js/modal.js')
+require('../../js/tooltip.js')
+require('../../js/popover.js')
+require('../../js/scrollspy.js')
+require('../../js/tab.js')
+require('../../js/affix.js')
\ No newline at end of file
diff --git a/templates/shop-isle/assets/css/admin-style.css b/templates/shop-isle/assets/css/admin-style.css
new file mode 100644 (file)
index 0000000..40b46ea
--- /dev/null
@@ -0,0 +1,334 @@
+.customize-control-title {
+       color: rgb(0, 142, 214);
+}
+
+.shop_isle_repeater_container,
+.shop_isle_general_control_repeater_container {
+       float: left;
+       width: 100%;
+       padding: 5px 0;
+       cursor: move;
+}
+
+.shop_isle_repeater_container .shop-isle-customize-control-label,
+.shop_isle_general_control_repeater_container .shop-isle-customize-control-label {
+       padding: 5px;
+       padding-top: 0;
+       border: 1px solid #dfdfdf;
+       border-top: 0;
+}
+
+button.shop_isle_remove_field {
+       display: inline-block;
+       float: right;
+       width: 25% !important;
+       height: 57px !important;
+       line-height: 17px !important;
+       white-space: initial !important;
+}
+
+button.shop_isle_general_control_remove_field {
+       width: 100%;
+       margin-top: 10px!important;
+}
+
+button.shop_isle_general_control_remove_field:hover {
+       border: 0;
+       color: #fff!important;
+       background-color: #00a0d2!important;
+}
+
+.shop_isle_repeater_container .shop_isle_icon_link,
+.shop_isle_general_control_repeater_container .shop_isle_text_control,
+.shop_isle_general_control_repeater_container .shop_isle_link_control {
+       width: 100% !important;
+       margin: 3px 0 0 !important;
+}
+
+.shop_isle_repeater_container .shop_isle_icons,
+.shop_isle_general_control_repeater_container .shop_isle_icon_control {
+       width: 100%;
+       margin: 0;
+       padding: 0;
+}
+
+#shop_isle_new_field,
+#shop_isle_general_control_new_field {
+       width: 100%;
+}
+
+.customize-control-widget_form .widget-control-save {
+       display: block !important;
+}
+
+.shop_isle_our_services_image_control {
+       display: none;
+}
+
+.shop_isle_our_services_icon_control {
+       display: none;
+}
+
+.shop_isle_general_control_repeater_container .shop-isle-customize-control-label {
+       display: none;
+}
+
+.shop-isle-customize-control-title {
+       overflow: hidden;
+       height: 40px;
+       padding: 0 10px !important;
+       border: 1px solid #dfdfdf;
+       border-radius: 3px;
+       color: #00a0d2;
+       background-color: #f1f1f1;
+       background-image: -webkit-gradient(linear, left top, left bottom, from(#f9f9f9), to(#ececec));
+       background-image: -webkit-linear-gradient(to bottom, #f9f9f9, #ececec);
+       background-image: -webkit-linear-gradient(top, #f9f9f9, #ececec);
+       background-image: linear-gradient(to bottom, #f9f9f9, #ececec);
+       -webkit-box-shadow: inset 0 1px 0 #fff;
+       box-shadow: inset 0 1px 0 #fff;
+       font-weight: bold;
+       line-height: 40px !important;
+       text-align: center;
+       cursor: move !important;
+}
+
+.shop_isle_image_control .custom_media_button_shop_isle {
+       margin-top: 5px;
+}
+
+#customize-control-shop_isle_contact_form_shortcode {
+       display: none;
+}
+
+.shop-isle-upgrade-to-pro-button {
+       padding: 3px 6px !important;
+       color: #fff !important;
+       background-color: #ea6f60;
+       font-size: 9px !important;
+       line-height: 1.5 !important;
+       letter-spacing: 1px;
+       text-transform: uppercase;
+}
+
+/***********************************/
+/***** Sections order control ******/
+/***********************************/
+
+.shop_isle_pro_order_ul li {
+       display: block;
+       width: 95%;
+       margin-bottom: 10px;
+       padding: 10px;
+       border: 1px solid #dfdfdf;
+       border-radius: 3px;
+       color: #008ed6;
+       background-color: #fff;
+       font-weight: bold;
+       cursor: move;
+}
+
+.shop_isle_pro_shake.ui-sortable-helper {
+       background-color: rgba(255, 255, 255, 0.8)!important;
+}
+
+@-webkit-keyframes spaceboots {
+       0% {
+               -webkit-transform: translate(0px, 0px) rotate(0deg);
+       }
+
+       0% {
+               -webkit-transform: translate(2px, 1px) rotate(0deg);
+       }
+
+       10% {
+               -webkit-transform: translate(-1px, -2px) rotate(-1deg);
+       }
+
+       20% {
+               -webkit-transform: translate(-3px, 0px) rotate(1deg);
+       }
+
+       30% {
+               -webkit-transform: translate(0px, 2px) rotate(0deg);
+       }
+
+       40% {
+               -webkit-transform: translate(1px, -1px) rotate(1deg);
+       }
+
+       50% {
+               -webkit-transform: translate(-1px, 2px) rotate(-1deg);
+       }
+
+       60% {
+               -webkit-transform: translate(-3px, 1px) rotate(0deg);
+       }
+
+       70% {
+               -webkit-transform: translate(2px, 1px) rotate(-1deg);
+       }
+
+       80% {
+               -webkit-transform: translate(-1px, -1px) rotate(1deg);
+       }
+
+       90% {
+               -webkit-transform: translate(2px, 2px) rotate(0deg);
+       }
+
+       100% {
+               -webkit-transform: translate(1px, -2px) rotate(-1deg);
+       }
+}
+
+.shop_isle_pro_shake {
+       -webkit-transform-origin: 50% 50%;
+       -webkit-animation-name: spaceboots;
+       -webkit-animation-duration: 1.5s;
+       -webkit-animation-timing-function: linear;
+       -webkit-animation-iteration-count: infinite;
+}
+
+.shop_isle_pro_shake:nth-child(even) {
+       -webkit-animation-delay: 0.2s;
+       /* Chrome, Safari, Opera */
+       animation-delay: 0.2s;
+}
+
+.ui-sortable-placeholder {
+       visibility: visible!important;
+       border: 2px dashed #0590d6!important;
+}
+
+.shop_isle_pro_default {
+       width: 100%;
+       border: 1px solid #dfdfdf;
+       border-radius: 3px;
+       color: #fff;
+       background-color: #008ed6;
+       -webkit-transition: background-color 0.5s ease;
+       transition: background-color 0.5s ease;
+}
+
+.shop_isle_pro_default:hover {
+       width: 100%;
+       border: 1px solid #008ed6;
+       color: #008ed6;
+       background-color: #fff;
+}
+
+.shop_isle_pro_go_to_section {
+       float: right;
+       border: 1px solid #008ed6;
+       border-radius: 4px;
+       color: #008ed6;
+       background-color: #fff;
+       cursor: pointer;
+       -webkit-transition: background-color 0.5s ease;
+       transition: background-color 0.5s ease;
+}
+
+.shop_isle_pro_go_to_section:hover {
+       color: #fff;
+       background-color: #008ed6;
+}
+
+/* END Section Order Control*/
+
+/***********************************/
+/***** Palette picker control ******/
+/***********************************/
+
+#customize-control-metro_customizr_contact_form_shortcode {
+       display: none;
+}
+
+.metro_customizr_radio_control {
+       margin-top: 0;
+}
+
+.metro_customizr_general_control_repeater_container .metrox-box-content-hidden {
+       padding-top: 5px;
+}
+
+.shop_isle_pro_palette_picker li span {
+       display: inline-block;
+       width: 43px;
+       height: 40px;
+}
+
+.shop_isle_pro_palette_input {
+       float: left;
+       width: 209px;
+       height: 40px;
+       padding: 5px;
+       border: 1px solid #cfcfcf;
+       background-color: #fff;
+       font-size: 16px;
+       line-height: 40px;
+       cursor: pointer;
+}
+
+.shop_isle_pro_palette_input span {
+       display: block;
+       float: left;
+       width: 40px;
+       height: 40px;
+}
+
+.shop_isle_pro_dropdown {
+       float: left;
+       width: 20px;
+       height: 50px;
+       border: 1px solid #cfcfcf;
+       border-left: 0;
+       color: #fff;
+       background-color: #00a5f9;
+       font-size: 20px;
+       font-size: 12px;
+       line-height: 50px;
+       text-align: center;
+       cursor: pointer;
+}
+
+.shop_isle_pro_dropdown span {
+       line-height: 50px;
+}
+
+.shop_isle_pro_palette_picker {
+       display: none;
+       clear: both;
+       width: 240px;
+       padding-top: 6px;
+       border: 1px solid #cfcfcf;
+       border-top: 0;
+       background-color: #fff;
+       text-align: center;
+}
+
+.shop_isle_pro_palette_picker li span {
+       cursor: pointer;
+}
+
+.shop_isle_pro_pallete_default {
+       line-height: 40px;
+       cursor: pointer;
+}
+
+.shop-isle-require-woo {
+       padding: 10px;
+       background-color: #f0ad4e;
+}
+
+.shopisle-theme-info {
+       text-align: center;
+}
+
+.shopisle-theme-info a {
+       text-decoration: none;
+}
+
+.shopisle-theme-info hr {
+       margin: 10px auto;
+}
diff --git a/templates/shop-isle/assets/css/slider.css b/templates/shop-isle/assets/css/slider.css
new file mode 100644 (file)
index 0000000..183ff81
--- /dev/null
@@ -0,0 +1,216 @@
+/* -------------------------------------------------------------------
+General Styles - FlexSlider
+------------------------------------------------------------------- */
+
+.hero-slider .flex-direction-nav a,
+.hero-slider .flex-control-nav > li > a {
+       -webkit-transition: all 0.3s ease-in-out 0s;
+       transition: all 0.3s ease-in-out 0s;
+}
+
+.hero-slider .flex-direction-nav a {
+       display: block;
+       overflow: hidden;
+       position: absolute;
+       z-index: 10;
+       top: 0;
+       width: 50%;
+       height: 100%;
+       margin: 0;
+       opacity: 0;
+}
+
+.hero-slider .flex-direction-nav .flex-prev {
+       left: 0;
+       opacity: 0;
+       cursor: grab;
+       cursor: -webkit-grab;
+       cursor: url(../images/prev-light.png) 40 40, url(../images/prev-light.cur) 40 40, e-resize;
+       /* standard: note the different path for the .cur file */
+       cursor: url(../images/prev-light.cur) 40 40, n-resize\9;
+       /* IE 8 and below */
+
+       *cursor: url(../images/prev-light.cur) 40 40, n-resize;
+       /* IE 7 and below */
+       _cursor: url(../images/prev-light.cur) 40 40, n-resize;
+       /* IE 6 */
+}
+
+.hero-slider .flex-direction-nav .flex-next {
+       right: 0;
+       opacity: 0;
+       cursor: grab;
+       cursor: -webkit-grab;
+       cursor: url(../images/next-light.png) 40 40, url(../images/next-light.cur) 40 40, e-resize;
+       /* standard: note the different path for the .cur file */
+       cursor: url(../images/next-light.cur) 40 40, n-resize\9;
+       /* IE 8 and below */
+
+       *cursor: url(../images/next-light.cur) 40 40, n-resize;
+       /* IE 7 and below */
+       _cursor: url(../images/next-light.cur) 40 40, n-resize;
+       /* IE 6 */
+}
+
+.hero-slider .flex-direction-nav li .flex-disabled {
+       cursor: default;
+}
+
+.hero-slider .flex-control-nav {
+       position: absolute;
+       z-index: 11;
+       bottom: 20px;
+       left: 50%;
+       width: auto;
+       text-align: center;
+       -webkit-transform: translateX(-50%);
+       -ms-transform: translateX(-50%);
+       transform: translateX(-50%);
+}
+
+.hero-slider .flex-control-nav > li {
+       display: inline-block;
+       margin: 5px 3px;
+}
+
+.hero-slider .flex-control-nav > li > a {
+       display: block;
+       width: 6px;
+       height: 6px;
+       border: 1px solid #fff;
+       border-radius: 6px;
+       background: transparent;
+}
+
+.hero-slider .flex-control-nav > li > a:hover,
+.hero-slider .flex-control-nav > li > a.flex-active {
+       background: #fff;
+}
+
+.hero-slider .home-slider-overlay {
+       display: none;
+}
+
+#home .hero-slider {
+       width: 100%;
+       height: 100%;
+}
+
+@media screen and (min-width: 768px) {
+       #home .hero-slider {
+               position: fixed;
+       }
+
+       .hero-slider .home-slider-overlay {
+               display: block;
+               position: absolute;
+               top: 0;
+               left: 0;
+               width: 100%;
+               height: 100%;
+               opacity: 0.3;
+               background: rgba(0,0,0,1);
+       }
+}
+
+
+/* -------------------------------------------------------------------
+Hero Slider
+------------------------------------------------------------------- */
+
+.hero-slider {
+       margin: 0!important;
+}
+
+.hero-slider .slides > li {
+       display: none;
+       -webkit-backface-visibility: hidden;
+}
+
+.hero-slider,
+.hero-slider .flex-viewport {
+       width: 100%;
+       height: 100% !important;
+       margin: 0;
+       padding: 0;
+}
+
+.hero-slider .slides {
+       height: 100% !important;
+       -webkit-transition-delay: 1s;
+       transition-delay: 1s;
+}
+
+.hero-slider .flex-direction-nav a {
+       width: 15%;
+}
+
+.hero-slider .slides li {
+       width: 100%;
+       height: 100% !important;
+       margin: 0;
+       padding: 0;
+       background-repeat: no-repeat;
+       background-position: center center;
+       background-size: cover;
+}
+
+/* Caption */
+.hero-slider .hs-caption {
+       display: table;
+       position: relative;
+       width: 70%;
+       height: 100%;
+       margin: 0 auto;
+}
+
+.hero-slider .hs-caption {
+       display: table;
+       position: relative;
+       width: 100%;
+       height: 100%;
+       margin: 0 auto;
+}
+
+.hero-slider .caption-content {
+       display: table-cell;
+       text-align: center;
+       vertical-align: middle;
+}
+
+
+/* -------------------------------------------------------------------
+General Styles - Owlcarousel
+------------------------------------------------------------------- */
+
+.owl-controls {
+       margin-top: 40px;
+}
+
+.owl-pagination div {
+       display: inline-block;
+}
+
+.owl-controls .owl-page span {
+       display: block;
+       width: 6px;
+       height: 6px;
+       margin: 0 3px 5px;
+       border: 1px solid #111;
+       border-radius: 6px;
+       background: transparent;
+       -webkit-transition: all 0.3s ease-in-out 0s;
+       transition: all 0.3s ease-in-out 0s;
+}
+
+.owl-controls .owl-page.active span,
+.owl-controls.clickable .owl-page:hover span {
+       background: #111;
+}
+
+.owl-controls .owl-buttons > div {
+       display: inline-block;
+       margin: 5px;
+       color: #111;
+       font-size: 14px;
+}
diff --git a/templates/shop-isle/assets/css/style.css b/templates/shop-isle/assets/css/style.css
new file mode 100644 (file)
index 0000000..8348983
--- /dev/null
@@ -0,0 +1,5895 @@
+@import url("slider.css");
+
+@import url("//fonts.googleapis.com/css?family=Roboto+Condensed:400,700");
+
+@import url("//fonts.googleapis.com/css?family=Open+Sans:400italic,400,700");
+
+@import url("//fonts.googleapis.com/css?family=Volkhov:400italic");
+
+/* FONTS */
+@font-face {
+       font-family: "ElegantIcons";
+       src: url("../fonts/ElegantIcons.eot");
+       src: url("../fonts/ElegantIcons.eot?#iefix") format("embedded-opentype"),
+       url("../fonts/ElegantIcons.woff") format("woff"),
+       url("../fonts/ElegantIcons.ttf") format("truetype"),
+       url("../fonts/ElegantIcons.svg#ElegantIcons") format("svg");
+       font-weight: normal;
+       font-style: normal;
+}
+
+/* Use the following CSS code if you want to use data attributes for inserting your icons */
+[data-icon]:before {
+       font-family: "ElegantIcons";
+       font-weight: normal;
+       font-variant: normal;
+       -webkit-font-smoothing: antialiased;
+       -moz-osx-font-smoothing: grayscale;
+       line-height: 1;
+       text-transform: none;
+       content: attr(data-icon);
+
+       speak: none;
+}
+
+/* Use the following CSS code if you want to have a class per icon */
+/*
+Instead of a list of all class selectors,
+you can use the generic selector below, but it's slower:
+[class*="your-class-prefix"] {
+*/
+.arrow_up,
+.arrow_down,
+.arrow_left,
+.arrow_right,
+.arrow_left-up,
+.arrow_right-up,
+.arrow_right-down,
+.arrow_left-down,
+.arrow-up-down,
+.arrow_up-down_alt,
+.arrow_left-right_alt,
+.arrow_left-right,
+.arrow_expand_alt2,
+.arrow_expand_alt,
+.arrow_condense,
+.arrow_expand,
+.arrow_move,
+.arrow_carrot-up,
+.arrow_carrot-down,
+.arrow_carrot-left,
+.arrow_carrot-right,
+.arrow_carrot-2up,
+.arrow_carrot-2down,
+.arrow_carrot-2left,
+.arrow_carrot-2right,
+.arrow_carrot-up_alt2,
+.arrow_carrot-down_alt2,
+.arrow_carrot-left_alt2,
+.arrow_carrot-right_alt2,
+.arrow_carrot-2up_alt2,
+.arrow_carrot-2down_alt2,
+.arrow_carrot-2left_alt2,
+.arrow_carrot-2right_alt2,
+.arrow_triangle-up,
+.arrow_triangle-down,
+.arrow_triangle-left,
+.arrow_triangle-right,
+.arrow_triangle-up_alt2,
+.arrow_triangle-down_alt2,
+.arrow_triangle-left_alt2,
+.arrow_triangle-right_alt2,
+.arrow_back,
+.icon_minus-06,
+.icon_plus,
+.icon_close,
+.icon_check,
+.icon_minus_alt2,
+.icon_plus_alt2,
+.icon_close_alt2,
+.icon_check_alt2,
+.icon_zoom-out_alt,
+.icon_zoom-in_alt,
+.icon_search,
+.icon_box-empty,
+.icon_box-selected,
+.icon_minus-box,
+.icon_plus-box,
+.icon_box-checked,
+.icon_circle-empty,
+.icon_circle-slelected,
+.icon_stop_alt2,
+.icon_stop,
+.icon_pause_alt2,
+.icon_pause,
+.icon_menu,
+.icon_menu-square_alt2,
+.icon_menu-circle_alt2,
+.icon_ul,
+.icon_ol,
+.icon_adjust-horiz,
+.icon_adjust-vert,
+.icon_document_alt,
+.icon_documents_alt,
+.icon_pencil,
+.icon_pencil-edit_alt,
+.icon_pencil-edit,
+.icon_folder-alt,
+.icon_folder-open_alt,
+.icon_folder-add_alt,
+.icon_info_alt,
+.icon_error-oct_alt,
+.icon_error-circle_alt,
+.icon_error-triangle_alt,
+.icon_question_alt2,
+.icon_question,
+.icon_comment_alt,
+.icon_chat_alt,
+.icon_vol-mute_alt,
+.icon_volume-low_alt,
+.icon_volume-high_alt,
+.icon_quotations,
+.icon_quotations_alt2,
+.icon_clock_alt,
+.icon_lock_alt,
+.icon_lock-open_alt,
+.icon_key_alt,
+.icon_cloud_alt,
+.icon_cloud-upload_alt,
+.icon_cloud-download_alt,
+.icon_image,
+.icon_images,
+.icon_lightbulb_alt,
+.icon_gift_alt,
+.icon_house_alt,
+.icon_genius,
+.icon_mobile,
+.icon_tablet,
+.icon_laptop,
+.icon_desktop,
+.icon_camera_alt,
+.icon_mail_alt,
+.icon_cone_alt,
+.icon_ribbon_alt,
+.icon_bag_alt,
+.icon_creditcard,
+.icon_cart_alt,
+.icon_paperclip,
+.icon_tag_alt,
+.icon_tags_alt,
+.icon_trash_alt,
+.icon_cursor_alt,
+.icon_mic_alt,
+.icon_compass_alt,
+.icon_pin_alt,
+.icon_pushpin_alt,
+.icon_map_alt,
+.icon_drawer_alt,
+.icon_toolbox_alt,
+.icon_book_alt,
+.icon_calendar,
+.icon_film,
+.icon_table,
+.icon_contacts_alt,
+.icon_headphones,
+.icon_lifesaver,
+.icon_piechart,
+.icon_refresh,
+.icon_link_alt,
+.icon_link,
+.icon_loading,
+.icon_blocked,
+.icon_archive_alt,
+.icon_heart_alt,
+.icon_star_alt,
+.icon_star-half_alt,
+.icon_star,
+.icon_star-half,
+.icon_tools,
+.icon_tool,
+.icon_cog,
+.icon_cogs,
+.arrow_up_alt,
+.arrow_down_alt,
+.arrow_left_alt,
+.arrow_right_alt,
+.arrow_left-up_alt,
+.arrow_right-up_alt,
+.arrow_right-down_alt,
+.arrow_left-down_alt,
+.arrow_condense_alt,
+.arrow_expand_alt3,
+.arrow_carrot_up_alt,
+.arrow_carrot-down_alt,
+.arrow_carrot-left_alt,
+.arrow_carrot-right_alt,
+.arrow_carrot-2up_alt,
+.arrow_carrot-2dwnn_alt,
+.arrow_carrot-2left_alt,
+.arrow_carrot-2right_alt,
+.arrow_triangle-up_alt,
+.arrow_triangle-down_alt,
+.arrow_triangle-left_alt,
+.arrow_triangle-right_alt,
+.icon_minus_alt,
+.icon_plus_alt,
+.icon_close_alt,
+.icon_check_alt,
+.icon_zoom-out,
+.icon_zoom-in,
+.icon_stop_alt,
+.icon_menu-square_alt,
+.icon_menu-circle_alt,
+.icon_document,
+.icon_documents,
+.icon_pencil_alt,
+.icon_folder,
+.icon_folder-open,
+.icon_folder-add,
+.icon_folder_upload,
+.icon_folder_download,
+.icon_info,
+.icon_error-circle,
+.icon_error-oct,
+.icon_error-triangle,
+.icon_question_alt,
+.icon_comment,
+.icon_chat,
+.icon_vol-mute,
+.icon_volume-low,
+.icon_volume-high,
+.icon_quotations_alt,
+.icon_clock,
+.icon_lock,
+.icon_lock-open,
+.icon_key,
+.icon_cloud,
+.icon_cloud-upload,
+.icon_cloud-download,
+.icon_lightbulb,
+.icon_gift,
+.icon_house,
+.icon_camera,
+.icon_mail,
+.icon_cone,
+.icon_ribbon,
+.icon_bag,
+.icon_cart,
+.icon_tag,
+.icon_tags,
+.icon_trash,
+.icon_cursor,
+.icon_mic,
+.icon_compass,
+.icon_pin,
+.icon_pushpin,
+.icon_map,
+.icon_drawer,
+.icon_toolbox,
+.icon_book,
+.icon_contacts,
+.icon_archive,
+.icon_heart,
+.icon_profile,
+.icon_group,
+.icon_grid-2x2,
+.icon_grid-3x3,
+.icon_music,
+.icon_pause_alt,
+.icon_phone,
+.icon_upload,
+.icon_download,
+.social_facebook,
+.social_twitter,
+.social_pinterest,
+.social_googleplus,
+.social_tumblr,
+.social_tumbleupon,
+.social_wordpress,
+.social_instagram,
+.social_dribbble,
+.social_vimeo,
+.social_linkedin,
+.social_rss,
+.social_deviantart,
+.social_share,
+.social_myspace,
+.social_skype,
+.social_youtube,
+.social_picassa,
+.social_googledrive,
+.social_flickr,
+.social_blogger,
+.social_spotify,
+.social_delicious,
+.social_facebook_circle,
+.social_twitter_circle,
+.social_pinterest_circle,
+.social_googleplus_circle,
+.social_tumblr_circle,
+.social_stumbleupon_circle,
+.social_wordpress_circle,
+.social_instagram_circle,
+.social_dribbble_circle,
+.social_vimeo_circle,
+.social_linkedin_circle,
+.social_rss_circle,
+.social_deviantart_circle,
+.social_share_circle,
+.social_myspace_circle,
+.social_skype_circle,
+.social_youtube_circle,
+.social_picassa_circle,
+.social_googledrive_alt2,
+.social_flickr_circle,
+.social_blogger_circle,
+.social_spotify_circle,
+.social_delicious_circle,
+.social_facebook_square,
+.social_twitter_square,
+.social_pinterest_square,
+.social_googleplus_square,
+.social_tumblr_square,
+.social_stumbleupon_square,
+.social_wordpress_square,
+.social_instagram_square,
+.social_dribbble_square,
+.social_vimeo_square,
+.social_linkedin_square,
+.social_rss_square,
+.social_deviantart_square,
+.social_share_square,
+.social_myspace_square,
+.social_skype_square,
+.social_youtube_square,
+.social_picassa_square,
+.social_googledrive_square,
+.social_flickr_square,
+.social_blogger_square,
+.social_spotify_square,
+.social_delicious_square,
+.icon_printer,
+.icon_calulator,
+.icon_building,
+.icon_floppy,
+.icon_drive,
+.icon_search-2,
+.icon_id,
+.icon_id-2,
+.icon_puzzle,
+.icon_like,
+.icon_dislike,
+.icon_mug,
+.icon_currency,
+.icon_wallet,
+.icon_pens,
+.icon_easel,
+.icon_flowchart,
+.icon_datareport,
+.icon_briefcase,
+.icon_shield,
+.icon_percent,
+.icon_globe,
+.icon_globe-2,
+.icon_target,
+.icon_hourglass,
+.icon_balance,
+.icon_rook,
+.icon_printer-alt,
+.icon_calculator_alt,
+.icon_building_alt,
+.icon_floppy_alt,
+.icon_drive_alt,
+.icon_search_alt,
+.icon_id_alt,
+.icon_id-2_alt,
+.icon_puzzle_alt,
+.icon_like_alt,
+.icon_dislike_alt,
+.icon_mug_alt,
+.icon_currency_alt,
+.icon_wallet_alt,
+.icon_pens_alt,
+.icon_easel_alt,
+.icon_flowchart_alt,
+.icon_datareport_alt,
+.icon_briefcase_alt,
+.icon_shield_alt,
+.icon_percent_alt,
+.icon_globe_alt,
+.icon_clipboard {
+       font-family: "ElegantIcons";
+       font-weight: normal;
+       font-style: normal;
+       font-variant: normal;
+       -webkit-font-smoothing: antialiased;
+       line-height: 1;
+       text-transform: none;
+
+       speak: none;
+}
+.arrow_up:before {
+       content: "\21";
+}
+.arrow_down:before {
+       content: "\22";
+}
+.arrow_left:before {
+       content: "\23";
+}
+.arrow_right:before {
+       content: "\24";
+}
+.arrow_left-up:before {
+       content: "\25";
+}
+.arrow_right-up:before {
+       content: "\26";
+}
+.arrow_right-down:before {
+       content: "\27";
+}
+.arrow_left-down:before {
+       content: "\28";
+}
+.arrow-up-down:before {
+       content: "\29";
+}
+.arrow_up-down_alt:before {
+       content: "\2a";
+}
+.arrow_left-right_alt:before {
+       content: "\2b";
+}
+.arrow_left-right:before {
+       content: "\2c";
+}
+.arrow_expand_alt2:before {
+       content: "\2d";
+}
+.arrow_expand_alt:before {
+       content: "\2e";
+}
+.arrow_condense:before {
+       content: "\2f";
+}
+.arrow_expand:before {
+       content: "\30";
+}
+.arrow_move:before {
+       content: "\31";
+}
+.arrow_carrot-up:before {
+       content: "\32";
+}
+.arrow_carrot-down:before {
+       content: "\33";
+}
+.arrow_carrot-left:before {
+       content: "\34";
+}
+.arrow_carrot-right:before {
+       content: "\35";
+}
+.arrow_carrot-2up:before {
+       content: "\36";
+}
+.arrow_carrot-2down:before {
+       content: "\37";
+}
+.arrow_carrot-2left:before {
+       content: "\38";
+}
+.arrow_carrot-2right:before {
+       content: "\39";
+}
+.arrow_carrot-up_alt2:before {
+       content: "\3a";
+}
+.arrow_carrot-down_alt2:before {
+       content: "\3b";
+}
+.arrow_carrot-left_alt2:before {
+       content: "\3c";
+}
+.arrow_carrot-right_alt2:before {
+       content: "\3d";
+}
+.arrow_carrot-2up_alt2:before {
+       content: "\3e";
+}
+.arrow_carrot-2down_alt2:before {
+       content: "\3f";
+}
+.arrow_carrot-2left_alt2:before {
+       content: "\40";
+}
+.arrow_carrot-2right_alt2:before {
+       content: "\41";
+}
+.arrow_triangle-up:before {
+       content: "\42";
+}
+.arrow_triangle-down:before {
+       content: "\43";
+}
+.arrow_triangle-left:before {
+       content: "\44";
+}
+.arrow_triangle-right:before {
+       content: "\45";
+}
+.arrow_triangle-up_alt2:before {
+       content: "\46";
+}
+.arrow_triangle-down_alt2:before {
+       content: "\47";
+}
+.arrow_triangle-left_alt2:before {
+       content: "\48";
+}
+.arrow_triangle-right_alt2:before {
+       content: "\49";
+}
+.arrow_back:before {
+       content: "\4a";
+}
+.icon_minus-06:before {
+       content: "\4b";
+}
+.icon_plus:before {
+       content: "\4c";
+}
+.icon_close:before {
+       content: "\4d";
+}
+.icon_check:before {
+       content: "\4e";
+}
+.icon_minus_alt2:before {
+       content: "\4f";
+}
+.icon_plus_alt2:before {
+       content: "\50";
+}
+.icon_close_alt2:before {
+       content: "\51";
+}
+.icon_check_alt2:before {
+       content: "\52";
+}
+.icon_zoom-out_alt:before {
+       content: "\53";
+}
+.icon_zoom-in_alt:before {
+       content: "\54";
+}
+.icon_search:before {
+       content: "\55";
+}
+.icon_box-empty:before {
+       content: "\56";
+}
+.icon_box-selected:before {
+       content: "\57";
+}
+.icon_minus-box:before {
+       content: "\58";
+}
+.icon_plus-box:before {
+       content: "\59";
+}
+.icon_box-checked:before {
+       content: "\5a";
+}
+.icon_circle-empty:before {
+       content: "\5b";
+}
+.icon_circle-slelected:before {
+       content: "\5c";
+}
+.icon_stop_alt2:before {
+       content: "\5d";
+}
+.icon_stop:before {
+       content: "\5e";
+}
+.icon_pause_alt2:before {
+       content: "\5f";
+}
+.icon_pause:before {
+       content: "\60";
+}
+.icon_menu:before {
+       content: "\61";
+}
+.icon_menu-square_alt2:before {
+       content: "\62";
+}
+.icon_menu-circle_alt2:before {
+       content: "\63";
+}
+.icon_ul:before {
+       content: "\64";
+}
+.icon_ol:before {
+       content: "\65";
+}
+.icon_adjust-horiz:before {
+       content: "\66";
+}
+.icon_adjust-vert:before {
+       content: "\67";
+}
+.icon_document_alt:before {
+       content: "\68";
+}
+.icon_documents_alt:before {
+       content: "\69";
+}
+.icon_pencil:before {
+       content: "\6a";
+}
+.icon_pencil-edit_alt:before {
+       content: "\6b";
+}
+.icon_pencil-edit:before {
+       content: "\6c";
+}
+.icon_folder-alt:before {
+       content: "\6d";
+}
+.icon_folder-open_alt:before {
+       content: "\6e";
+}
+.icon_folder-add_alt:before {
+       content: "\6f";
+}
+.icon_info_alt:before {
+       content: "\70";
+}
+.icon_error-oct_alt:before {
+       content: "\71";
+}
+.icon_error-circle_alt:before {
+       content: "\72";
+}
+.icon_error-triangle_alt:before {
+       content: "\73";
+}
+.icon_question_alt2:before {
+       content: "\74";
+}
+.icon_question:before {
+       content: "\75";
+}
+.icon_comment_alt:before {
+       content: "\76";
+}
+.icon_chat_alt:before {
+       content: "\77";
+}
+.icon_vol-mute_alt:before {
+       content: "\78";
+}
+.icon_volume-low_alt:before {
+       content: "\79";
+}
+.icon_volume-high_alt:before {
+       content: "\7a";
+}
+.icon_quotations:before {
+       content: "\7b";
+}
+.icon_quotations_alt2:before {
+       content: "\7c";
+}
+.icon_clock_alt:before {
+       content: "\7d";
+}
+.icon_lock_alt:before {
+       content: "\7e";
+}
+.icon_lock-open_alt:before {
+       content: "\e000";
+}
+.icon_key_alt:before {
+       content: "\e001";
+}
+.icon_cloud_alt:before {
+       content: "\e002";
+}
+.icon_cloud-upload_alt:before {
+       content: "\e003";
+}
+.icon_cloud-download_alt:before {
+       content: "\e004";
+}
+.icon_image:before {
+       content: "\e005";
+}
+.icon_images:before {
+       content: "\e006";
+}
+.icon_lightbulb_alt:before {
+       content: "\e007";
+}
+.icon_gift_alt:before {
+       content: "\e008";
+}
+.icon_house_alt:before {
+       content: "\e009";
+}
+.icon_genius:before {
+       content: "\e00a";
+}
+.icon_mobile:before {
+       content: "\e00b";
+}
+.icon_tablet:before {
+       content: "\e00c";
+}
+.icon_laptop:before {
+       content: "\e00d";
+}
+.icon_desktop:before {
+       content: "\e00e";
+}
+.icon_camera_alt:before {
+       content: "\e00f";
+}
+.icon_mail_alt:before {
+       content: "\e010";
+}
+.icon_cone_alt:before {
+       content: "\e011";
+}
+.icon_ribbon_alt:before {
+       content: "\e012";
+}
+.icon_bag_alt:before {
+       content: "\e013";
+}
+.icon_creditcard:before {
+       content: "\e014";
+}
+.icon_cart_alt:before {
+       content: "\e015";
+}
+.icon_paperclip:before {
+       content: "\e016";
+}
+.icon_tag_alt:before {
+       content: "\e017";
+}
+.icon_tags_alt:before {
+       content: "\e018";
+}
+.icon_trash_alt:before {
+       content: "\e019";
+}
+.icon_cursor_alt:before {
+       content: "\e01a";
+}
+.icon_mic_alt:before {
+       content: "\e01b";
+}
+.icon_compass_alt:before {
+       content: "\e01c";
+}
+.icon_pin_alt:before {
+       content: "\e01d";
+}
+.icon_pushpin_alt:before {
+       content: "\e01e";
+}
+.icon_map_alt:before {
+       content: "\e01f";
+}
+.icon_drawer_alt:before {
+       content: "\e020";
+}
+.icon_toolbox_alt:before {
+       content: "\e021";
+}
+.icon_book_alt:before {
+       content: "\e022";
+}
+.icon_calendar:before {
+       content: "\e023";
+}
+.icon_film:before {
+       content: "\e024";
+}
+.icon_table:before {
+       content: "\e025";
+}
+.icon_contacts_alt:before {
+       content: "\e026";
+}
+.icon_headphones:before {
+       content: "\e027";
+}
+.icon_lifesaver:before {
+       content: "\e028";
+}
+.icon_piechart:before {
+       content: "\e029";
+}
+.icon_refresh:before {
+       content: "\e02a";
+}
+.icon_link_alt:before {
+       content: "\e02b";
+}
+.icon_link:before {
+       content: "\e02c";
+}
+.icon_loading:before {
+       content: "\e02d";
+}
+.icon_blocked:before {
+       content: "\e02e";
+}
+.icon_archive_alt:before {
+       content: "\e02f";
+}
+.icon_heart_alt:before {
+       content: "\e030";
+}
+.icon_star_alt:before {
+       content: "\e031";
+}
+.icon_star-half_alt:before {
+       content: "\e032";
+}
+.icon_star:before {
+       content: "\e033";
+}
+.icon_star-half:before {
+       content: "\e034";
+}
+.icon_tools:before {
+       content: "\e035";
+}
+.icon_tool:before {
+       content: "\e036";
+}
+.icon_cog:before {
+       content: "\e037";
+}
+.icon_cogs:before {
+       content: "\e038";
+}
+.arrow_up_alt:before {
+       content: "\e039";
+}
+.arrow_down_alt:before {
+       content: "\e03a";
+}
+.arrow_left_alt:before {
+       content: "\e03b";
+}
+.arrow_right_alt:before {
+       content: "\e03c";
+}
+.arrow_left-up_alt:before {
+       content: "\e03d";
+}
+.arrow_right-up_alt:before {
+       content: "\e03e";
+}
+.arrow_right-down_alt:before {
+       content: "\e03f";
+}
+.arrow_left-down_alt:before {
+       content: "\e040";
+}
+.arrow_condense_alt:before {
+       content: "\e041";
+}
+.arrow_expand_alt3:before {
+       content: "\e042";
+}
+.arrow_carrot_up_alt:before {
+       content: "\e043";
+}
+.arrow_carrot-down_alt:before {
+       content: "\e044";
+}
+.arrow_carrot-left_alt:before {
+       content: "\e045";
+}
+.arrow_carrot-right_alt:before {
+       content: "\e046";
+}
+.arrow_carrot-2up_alt:before {
+       content: "\e047";
+}
+.arrow_carrot-2dwnn_alt:before {
+       content: "\e048";
+}
+.arrow_carrot-2left_alt:before {
+       content: "\e049";
+}
+.arrow_carrot-2right_alt:before {
+       content: "\e04a";
+}
+.arrow_triangle-up_alt:before {
+       content: "\e04b";
+}
+.arrow_triangle-down_alt:before {
+       content: "\e04c";
+}
+.arrow_triangle-left_alt:before {
+       content: "\e04d";
+}
+.arrow_triangle-right_alt:before {
+       content: "\e04e";
+}
+.icon_minus_alt:before {
+       content: "\e04f";
+}
+.icon_plus_alt:before {
+       content: "\e050";
+}
+.icon_close_alt:before {
+       content: "\e051";
+}
+.icon_check_alt:before {
+       content: "\e052";
+}
+.icon_zoom-out:before {
+       content: "\e053";
+}
+.icon_zoom-in:before {
+       content: "\e054";
+}
+.icon_stop_alt:before {
+       content: "\e055";
+}
+.icon_menu-square_alt:before {
+       content: "\e056";
+}
+.icon_menu-circle_alt:before {
+       content: "\e057";
+}
+.icon_document:before {
+       content: "\e058";
+}
+.icon_documents:before {
+       content: "\e059";
+}
+.icon_pencil_alt:before {
+       content: "\e05a";
+}
+.icon_folder:before {
+       content: "\e05b";
+}
+.icon_folder-open:before {
+       content: "\e05c";
+}
+.icon_folder-add:before {
+       content: "\e05d";
+}
+.icon_folder_upload:before {
+       content: "\e05e";
+}
+.icon_folder_download:before {
+       content: "\e05f";
+}
+.icon_info:before {
+       content: "\e060";
+}
+.icon_error-circle:before {
+       content: "\e061";
+}
+.icon_error-oct:before {
+       content: "\e062";
+}
+.icon_error-triangle:before {
+       content: "\e063";
+}
+.icon_question_alt:before {
+       content: "\e064";
+}
+.icon_comment:before {
+       content: "\e065";
+}
+.icon_chat:before {
+       content: "\e066";
+}
+.icon_vol-mute:before {
+       content: "\e067";
+}
+.icon_volume-low:before {
+       content: "\e068";
+}
+.icon_volume-high:before {
+       content: "\e069";
+}
+.icon_quotations_alt:before {
+       content: "\e06a";
+}
+.icon_clock:before {
+       content: "\e06b";
+}
+.icon_lock:before {
+       content: "\e06c";
+}
+.icon_lock-open:before {
+       content: "\e06d";
+}
+.icon_key:before {
+       content: "\e06e";
+}
+.icon_cloud:before {
+       content: "\e06f";
+}
+.icon_cloud-upload:before {
+       content: "\e070";
+}
+.icon_cloud-download:before {
+       content: "\e071";
+}
+.icon_lightbulb:before {
+       content: "\e072";
+}
+.icon_gift:before {
+       content: "\e073";
+}
+.icon_house:before {
+       content: "\e074";
+}
+.icon_camera:before {
+       content: "\e075";
+}
+.icon_mail:before {
+       content: "\e076";
+}
+.icon_cone:before {
+       content: "\e077";
+}
+.icon_ribbon:before {
+       content: "\e078";
+}
+.icon_bag:before {
+       content: "\e079";
+}
+.icon_cart:before {
+       content: "\e07a";
+}
+.icon_tag:before {
+       content: "\e07b";
+}
+.icon_tags:before {
+       content: "\e07c";
+}
+.icon_trash:before {
+       content: "\e07d";
+}
+.icon_cursor:before {
+       content: "\e07e";
+}
+.icon_mic:before {
+       content: "\e07f";
+}
+.icon_compass:before {
+       content: "\e080";
+}
+.icon_pin:before {
+       content: "\e081";
+}
+.icon_pushpin:before {
+       content: "\e082";
+}
+.icon_map:before {
+       content: "\e083";
+}
+.icon_drawer:before {
+       content: "\e084";
+}
+.icon_toolbox:before {
+       content: "\e085";
+}
+.icon_book:before {
+       content: "\e086";
+}
+.icon_contacts:before {
+       content: "\e087";
+}
+.icon_archive:before {
+       content: "\e088";
+}
+.icon_heart:before {
+       content: "\e089";
+}
+.icon_profile:before {
+       content: "\e08a";
+}
+.icon_group:before {
+       content: "\e08b";
+}
+.icon_grid-2x2:before {
+       content: "\e08c";
+}
+.icon_grid-3x3:before {
+       content: "\e08d";
+}
+.icon_music:before {
+       content: "\e08e";
+}
+.icon_pause_alt:before {
+       content: "\e08f";
+}
+.icon_phone:before {
+       content: "\e090";
+}
+.icon_upload:before {
+       content: "\e091";
+}
+.icon_download:before {
+       content: "\e092";
+}
+.social_facebook:before {
+       content: "\e093";
+}
+.social_twitter:before {
+       content: "\e094";
+}
+.social_pinterest:before {
+       content: "\e095";
+}
+.social_googleplus:before {
+       content: "\e096";
+}
+.social_tumblr:before {
+       content: "\e097";
+}
+.social_tumbleupon:before {
+       content: "\e098";
+}
+.social_wordpress:before {
+       content: "\e099";
+}
+.social_instagram:before {
+       content: "\e09a";
+}
+.social_dribbble:before {
+       content: "\e09b";
+}
+.social_vimeo:before {
+       content: "\e09c";
+}
+.social_linkedin:before {
+       content: "\e09d";
+}
+.social_rss:before {
+       content: "\e09e";
+}
+.social_deviantart:before {
+       content: "\e09f";
+}
+.social_share:before {
+       content: "\e0a0";
+}
+.social_myspace:before {
+       content: "\e0a1";
+}
+.social_skype:before {
+       content: "\e0a2";
+}
+.social_youtube:before {
+       content: "\e0a3";
+}
+.social_picassa:before {
+       content: "\e0a4";
+}
+.social_googledrive:before {
+       content: "\e0a5";
+}
+.social_flickr:before {
+       content: "\e0a6";
+}
+.social_blogger:before {
+       content: "\e0a7";
+}
+.social_spotify:before {
+       content: "\e0a8";
+}
+.social_delicious:before {
+       content: "\e0a9";
+}
+.social_facebook_circle:before {
+       content: "\e0aa";
+}
+.social_twitter_circle:before {
+       content: "\e0ab";
+}
+.social_pinterest_circle:before {
+       content: "\e0ac";
+}
+.social_googleplus_circle:before {
+       content: "\e0ad";
+}
+.social_tumblr_circle:before {
+       content: "\e0ae";
+}
+.social_stumbleupon_circle:before {
+       content: "\e0af";
+}
+.social_wordpress_circle:before {
+       content: "\e0b0";
+}
+.social_instagram_circle:before {
+       content: "\e0b1";
+}
+.social_dribbble_circle:before {
+       content: "\e0b2";
+}
+.social_vimeo_circle:before {
+       content: "\e0b3";
+}
+.social_linkedin_circle:before {
+       content: "\e0b4";
+}
+.social_rss_circle:before {
+       content: "\e0b5";
+}
+.social_deviantart_circle:before {
+       content: "\e0b6";
+}
+.social_share_circle:before {
+       content: "\e0b7";
+}
+.social_myspace_circle:before {
+       content: "\e0b8";
+}
+.social_skype_circle:before {
+       content: "\e0b9";
+}
+.social_youtube_circle:before {
+       content: "\e0ba";
+}
+.social_picassa_circle:before {
+       content: "\e0bb";
+}
+.social_googledrive_alt2:before {
+       content: "\e0bc";
+}
+.social_flickr_circle:before {
+       content: "\e0bd";
+}
+.social_blogger_circle:before {
+       content: "\e0be";
+}
+.social_spotify_circle:before {
+       content: "\e0bf";
+}
+.social_delicious_circle:before {
+       content: "\e0c0";
+}
+.social_facebook_square:before {
+       content: "\e0c1";
+}
+.social_twitter_square:before {
+       content: "\e0c2";
+}
+.social_pinterest_square:before {
+       content: "\e0c3";
+}
+.social_googleplus_square:before {
+       content: "\e0c4";
+}
+.social_tumblr_square:before {
+       content: "\e0c5";
+}
+.social_stumbleupon_square:before {
+       content: "\e0c6";
+}
+.social_wordpress_square:before {
+       content: "\e0c7";
+}
+.social_instagram_square:before {
+       content: "\e0c8";
+}
+.social_dribbble_square:before {
+       content: "\e0c9";
+}
+.social_vimeo_square:before {
+       content: "\e0ca";
+}
+.social_linkedin_square:before {
+       content: "\e0cb";
+}
+.social_rss_square:before {
+       content: "\e0cc";
+}
+.social_deviantart_square:before {
+       content: "\e0cd";
+}
+.social_share_square:before {
+       content: "\e0ce";
+}
+.social_myspace_square:before {
+       content: "\e0cf";
+}
+.social_skype_square:before {
+       content: "\e0d0";
+}
+.social_youtube_square:before {
+       content: "\e0d1";
+}
+.social_picassa_square:before {
+       content: "\e0d2";
+}
+.social_googledrive_square:before {
+       content: "\e0d3";
+}
+.social_flickr_square:before {
+       content: "\e0d4";
+}
+.social_blogger_square:before {
+       content: "\e0d5";
+}
+.social_spotify_square:before {
+       content: "\e0d6";
+}
+.social_delicious_square:before {
+       content: "\e0d7";
+}
+.icon_printer:before {
+       content: "\e103";
+}
+.icon_calulator:before {
+       content: "\e0ee";
+}
+.icon_building:before {
+       content: "\e0ef";
+}
+.icon_floppy:before {
+       content: "\e0e8";
+}
+.icon_drive:before {
+       content: "\e0ea";
+}
+.icon_search-2:before {
+       content: "\e101";
+}
+.icon_id:before {
+       content: "\e107";
+}
+.icon_id-2:before {
+       content: "\e108";
+}
+.icon_puzzle:before {
+       content: "\e102";
+}
+.icon_like:before {
+       content: "\e106";
+}
+.icon_dislike:before {
+       content: "\e0eb";
+}
+.icon_mug:before {
+       content: "\e105";
+}
+.icon_currency:before {
+       content: "\e0ed";
+}
+.icon_wallet:before {
+       content: "\e100";
+}
+.icon_pens:before {
+       content: "\e104";
+}
+.icon_easel:before {
+       content: "\e0e9";
+}
+.icon_flowchart:before {
+       content: "\e109";
+}
+.icon_datareport:before {
+       content: "\e0ec";
+}
+.icon_briefcase:before {
+       content: "\e0fe";
+}
+.icon_shield:before {
+       content: "\e0f6";
+}
+.icon_percent:before {
+       content: "\e0fb";
+}
+.icon_globe:before {
+       content: "\e0e2";
+}
+.icon_globe-2:before {
+       content: "\e0e3";
+}
+.icon_target:before {
+       content: "\e0f5";
+}
+.icon_hourglass:before {
+       content: "\e0e1";
+}
+.icon_balance:before {
+       content: "\e0ff";
+}
+.icon_rook:before {
+       content: "\e0f8";
+}
+.icon_printer-alt:before {
+       content: "\e0fa";
+}
+.icon_calculator_alt:before {
+       content: "\e0e7";
+}
+.icon_building_alt:before {
+       content: "\e0fd";
+}
+.icon_floppy_alt:before {
+       content: "\e0e4";
+}
+.icon_drive_alt:before {
+       content: "\e0e5";
+}
+.icon_search_alt:before {
+       content: "\e0f7";
+}
+.icon_id_alt:before {
+       content: "\e0e0";
+}
+.icon_id-2_alt:before {
+       content: "\e0fc";
+}
+.icon_puzzle_alt:before {
+       content: "\e0f9";
+}
+.icon_like_alt:before {
+       content: "\e0dd";
+}
+.icon_dislike_alt:before {
+       content: "\e0f1";
+}
+.icon_mug_alt:before {
+       content: "\e0dc";
+}
+.icon_currency_alt:before {
+       content: "\e0f3";
+}
+.icon_wallet_alt:before {
+       content: "\e0d8";
+}
+.icon_pens_alt:before {
+       content: "\e0db";
+}
+.icon_easel_alt:before {
+       content: "\e0f0";
+}
+.icon_flowchart_alt:before {
+       content: "\e0df";
+}
+.icon_datareport_alt:before {
+       content: "\e0f2";
+}
+.icon_briefcase_alt:before {
+       content: "\e0f4";
+}
+.icon_shield_alt:before {
+       content: "\e0d9";
+}
+.icon_percent_alt:before {
+       content: "\e0da";
+}
+.icon_globe_alt:before {
+       content: "\e0de";
+}
+.icon_clipboard:before {
+       content: "\e0e6";
+}
+.glyph {
+       float: left;
+       width: 6em;
+       margin: 0.4em 1.5em 0.75em 0;
+       padding: 0.75em;
+       text-shadow: none;
+       text-align: center;
+}
+.glyph_big {
+       float: left;
+       margin-right: 20px;
+       color: #59c5dc;
+       font-size: 128px;
+}
+.glyph div {
+       padding-bottom: 10px;
+}
+
+.glyph input {
+       width: 100%;
+       padding: 0.2em;
+       border: 0;
+       -webkit-border-radius: 5px;
+       -moz-border-radius: 5px;
+       -webkit-box-shadow: 0 0 0 1px #ccc;
+       box-shadow: 0 0 0 1px #ccc;
+       font-family: consolas, monospace;
+       font-size: 12px;
+       text-align: center;
+}
+.centered {
+       margin-right: auto;
+       margin-left: auto;
+}
+.glyph .fs1 {
+       font-size: 2em;
+}
+
+
+/* ------------------------------------------------------------------
+General Styles
+------------------------------------------------------------------- */
+
+html {
+       overflow-x: hidden;
+       overflow-y: scroll;
+
+       -ms-overflow-style: scrollbar;
+}
+
+body {
+       color: #666;
+       background: #fff;
+       font: 400 13px/1.8 "Open Sans", sans-serif;
+       -webkit-font-smoothing: antialiased;
+}
+
+img {
+       max-width: 100%;
+       height: auto;
+}
+
+iframe {
+       border: 0;
+}
+
+code {
+       padding: 2px 4px;
+       border-radius: 4px;
+       color: #111;
+       background-color: #f7f7f7;
+       font-size: 90%;
+}
+
+.align-center {
+       text-align: center;
+}
+
+.align-left {
+       text-align: left !important;
+}
+
+.position-relative {
+       position: relative;
+}
+
+.leftauto {
+       right: 0 !important;
+       left: auto !important;
+}
+
+address {
+       line-height: 20px;
+}
+
+/* Selection */
+
+::-moz-selection {
+       color: #fff;
+       background: #000;
+}
+
+::-webkit-selection {
+       color: #fff;
+       background: #000;
+}
+
+::selection {
+       color: #fff;
+       background: #000;
+}
+
+select {
+       height: 33px;
+       border: 1px solid #eaeaea;
+       border-radius: 2px;
+       font-family: "Roboto Condensed", sans-serif;
+       font-size: 11px;
+       letter-spacing: 2px;
+       text-transform: uppercase;
+}
+
+pre {
+       font-size: 1.076em;
+}
+
+/* Transition elsements */
+
+.form-control {
+       -webkit-transition: all 0.4s ease-in-out 0s;
+       transition: all 0.4s ease-in-out 0s;
+}
+
+a,
+.btn {
+       -webkit-transition: all 0.125s ease-in-out 0s;
+       transition: all 0.125s ease-in-out 0s;
+}
+
+.client-logo,
+.gallery-caption,
+.gallery-image:after,
+.gallery-image img,
+.price-table,
+.team-detail,
+.team-image:after,
+.work-caption,
+.work-image > img,
+.work-image:after,
+.post-thumbnail,
+.post-video,
+.post-images-slider {
+       -webkit-transition: all 0.3s ease-in-out 0s;
+       transition: all 0.3s ease-in-out 0s;
+}
+
+/* Reset box-shadow */
+
+.btn,
+.well,
+.panel,
+.progress,
+.form-control,
+.form-control:hover,
+.form-control:focus,
+.navbar-custom .sub-menu,
+.navbar-custom .children {
+       -webkit-box-shadow: none;
+       box-shadow: none;
+}
+
+/* Reset border-radius */
+
+.well,
+.label,
+.alert,
+.progress,
+.form-control,
+.modal-content,
+.panel-heading,
+.panel-group .panel,
+.nav-tabs > li > a,
+.nav-pills > li > a {
+       border-radius: 2px;
+}
+
+/* Forms */
+
+.widget input:not([type=submit]),
+.widget textarea {
+       width: 100%;
+       height: 33px;
+       padding: 6px 12px;
+       border: 1px solid #eaeaea;
+       border-radius: 2px;
+       color: #666;
+       font-family: "Roboto Condensed", sans-serif;
+       font-size: 12px;
+       letter-spacing: 2px;
+       text-transform: uppercase;
+}
+
+.form-control,
+#comments input,
+#comments textarea {
+       height: 33px;
+       border: 1px solid #eaeaea;
+       border-radius: 2px;
+       font-family: "Roboto Condensed", sans-serif;
+       font-size: 12px;
+       letter-spacing: 2px;
+       text-transform: uppercase;
+}
+#comments input,
+#comments textarea {
+       width: 100%;
+       height: 33px;
+       height: auto;
+       padding: 5px;
+       border: 1px solid #eaeaea;
+       border-radius: 2px;
+       text-shadow: none;
+       font-family: "Roboto Condensed", sans-serif;
+       font-size: 12px;
+       letter-spacing: 2px;
+       text-transform: uppercase;
+}
+#comments input[type="submit"],
+button[type="submit"] {
+       width: auto;
+       padding: 8px 37px;
+       border: none;
+       border-radius: 2px;
+       color: #fff;
+       background: rgba(17, 17, 17, 1);
+       font-family: "Roboto Condensed", sans-serif;
+       font-size: 11px;
+       letter-spacing: 2px;
+       text-transform: uppercase;
+}
+#comments input[type="submit"]:hover,
+button[type="submit"]:hover {
+       background: rgba(17, 17, 17, 0.8);
+}
+.form-control:focus {
+       border-color: #cacaca;
+}
+
+/* Forms size */
+
+.input-lg,
+.form-horizontal .form-group-lg .form-control {
+       height: 43px;
+       font-size: 13px;
+}
+
+.input-sm,
+.form-horizontal .form-group-sm .form-control {
+       height: 29px;
+       font-size: 10px;
+}
+
+/* Button style */
+
+.btn {
+       padding: 8px 37px;
+       border-radius: 0;
+       font-family: "Roboto Condensed", sans-serif;
+       font-size: 11px;
+       letter-spacing: 2px;
+       text-transform: uppercase;
+}
+
+*:focus {
+       outline: 0;
+}
+
+.btn.btn-round {
+       border-radius: 2px;
+}
+
+.btn.btn-circle {
+       border-radius: 30px;
+}
+
+.btn.btn-w {
+       color: #111;
+       background: rgba(255, 255, 255, 0.8);
+}
+
+.btn.btn-w:hover,
+.btn.btn-w:focus {
+       color: #111;
+       background: rgba(255, 255, 255, 1);
+}
+
+.btn.btn-g {
+       color: #111;
+       background: #e5e5e5;
+}
+
+.btn.btn-g:hover,
+.btn.btn-g:focus {
+       color: #111;
+       background: #d8d8d8;
+}
+
+.btn.btn-border-w {
+       border: 1px solid rgba(255, 255, 255, 0.75);
+       color: #fff;
+       background: transparent;
+}
+
+.btn.btn-border-w:hover,
+.btn.btn-border-w:focus {
+       border-color: transparent;
+       color: #111;
+       background: #fff;
+}
+
+.btn.btn-d {
+       color: #fff;
+       background: rgba(17, 17, 17, 0.8);
+}
+
+.btn.btn-d:hover,
+.btn.btn-d:focus {
+       background: rgba(17, 17, 17, 1);
+}
+
+.btn.btn-b {
+       color: #fff;
+       background: rgba(17, 17, 17, 1);
+}
+
+.btn.btn-b:hover,
+.btn.btn-b:focus {
+       background: rgba(17, 17, 17, 0.8);
+}
+
+.btn-border-d {
+       border: 1px solid rgba(17, 17, 17, 1);
+       color: #111;
+       background: transparent;
+}
+
+.btn.btn-border-d:hover,
+.btn.btn-border-d:focus {
+       color: #fff;
+       background: rgba(17, 17, 17, 1);
+}
+
+.btn.btn-font-w {
+       color: #fff;
+       background: rgba(255, 255, 255, 0.8);
+}
+.btn.btn-font-w:hover {
+       color: #111;
+       background: #fff;
+}
+
+/* Buttons size */
+
+.btn.btn-lg {
+       padding: 12px 45px;
+       font-size: 13px;
+}
+
+.btn.btn-sm {
+       padding: 6px 25px;
+       font-size: 10px;
+       letter-spacing: 1px;
+}
+
+.btn.btn-xs {
+       padding: 4px 19px;
+       font-size: 10px;
+       letter-spacing: 0;
+}
+
+/* Progress bars */
+
+.progress {
+       overflow: visible;
+       height: 4px;
+}
+
+.progress-bar {
+       position: relative;
+}
+
+.progress-bar.pb-dark {
+       background: #111;
+}
+
+.progress-bar span {
+       display: block;
+       position: absolute;
+       top: -24px;
+       right: -0;
+       padding: 4px 0;
+       opacity: 0;
+       color: #111;
+       font-size: 12px;
+       line-height: 12px;
+}
+
+.progress-bar span:after {
+       display: inline-block;
+       content: "%";
+}
+
+/* Tabs */
+
+.tab-content .tab-pane {
+       padding: 20px 0;
+}
+
+/* Accordion */
+
+.panel-title {
+       font-size: 14px;
+}
+
+.panel-heading a {
+       display: block;
+       position: relative;
+}
+
+.panel-heading a:after {
+       position: absolute;
+       top: 50%;
+       right: 0;
+       margin-top: -7px;
+       font-family: "FontAwesome";
+       font-size: 14px;
+       line-height: 1;
+       content: "\f106";
+}
+
+.panel-heading a.collapsed:after {
+       content: "\f107";
+}
+
+/* Tables */
+
+.table-border > tbody > tr > td,
+.table-border > tbody > tr > th,
+.table-border > tfoot > tr > td,
+.table-border > tfoot > tr > th,
+.table-border > thead > tr > td,
+.table-border > thead > tr > th {
+       border-color: #e5e5e5;
+}
+
+.ds-table > tbody > tr > td,
+.ds-table > tbody > tr > th,
+.ds-table > tfoot > tr > td,
+.ds-table > tfoot > tr > th,
+.ds-table > thead > tr > td,
+.ds-table > thead > tr > th {
+       border-top: 0;
+}
+
+.checkout-table {
+       border: 1px solid #e5e5e5;
+}
+
+.checkout-table > tbody > tr > td,
+.checkout-table > tbody > tr > th,
+.checkout-table > tfoot > tr > td,
+.checkout-table > tfoot > tr > th,
+.checkout-table > thead > tr > td,
+.checkout-table > thead > tr > th {
+       padding: 12px;
+}
+
+.checkout-table tr td,
+.checkout-table tr th {
+       border-top: 1px solid #e5e5e5;
+       border-right: 1px solid #e5e5e5;
+       border-bottom: 1px solid #e5e5e5;
+       border-left: 1px solid #e5e5e5;
+}
+
+.checkout-table tbody tr td:first-child,
+.checkout-table tbody tr th:first-child {
+       max-width: 36px;
+}
+
+.pr-remove {
+       /*vertical-align: middle !important;*/
+       text-align: center;
+}
+
+.btn-list .btn {
+       margin: 5px 0;
+}
+
+.examples {
+       margin: 0 0 40px;
+       padding: 7px 5px;
+       border-radius: 2px;
+}
+
+.examples.bg-dark {
+       border: 0;
+       background: #333;
+}
+
+.et-icons .box1 {
+       display: block;
+       float: left;
+       width: 25%;
+       margin: -1px 0 0 -1px;
+       padding: 0;
+       border: 1px solid #e5e5e5;
+       font-size: 13px;
+}
+
+.et-icons .box1 > span {
+       display: inline-block;
+       min-width: 60px;
+       min-height: 60px;
+       margin-right: 5px;
+       border-right: 1px solid #e5e5e5;
+       font-size: 28px;
+       line-height: 60px;
+       text-align: center;
+}
+
+.fa-icons > div {
+       margin: -1px 0 0 -1px;
+       padding: 0;
+       border: 1px solid #e5e5e5;
+       font-size: 13px;
+}
+
+.fa-icons > div > i {
+       display: inline-block;
+       min-width: 40px;
+       min-height: 40px;
+       margin-right: 5px;
+       border-right: 1px solid #f1f1f1;
+       font-size: 14px;
+       line-height: 40px;
+       text-align: center;
+}
+
+.help-block ul {
+       margin: 0;
+       padding: 0;
+       list-style: none;
+}
+
+/* Dark background */
+
+.bg-dark,
+.bg-dark-30,
+.bg-dark-60,
+.bg-dark-90,
+.bg-dark .module-title,
+.bg-dark-30 .module-title,
+.bg-dark-60 .module-title,
+.bg-dark-90 .module-title,
+.bg-dark .module-subtitle,
+.bg-dark-30 .module-subtitle,
+.bg-dark-60 .module-subtitle,
+.bg-dark-90 .module-subtitle,
+.bg-dark .alt-module-subtitle h5,
+.bg-dark-30 .alt-module-subtitle h5,
+.bg-dark-60 .alt-module-subtitle h5,
+.bg-dark-90 .alt-module-subtitle h5 {
+       color: #fff;
+}
+
+.bg-dark {
+       background-color: #111 !important;
+}
+
+.bg-dark-30:before {
+       position: absolute;
+       top: 0;
+       left: 0;
+       width: 100%;
+       height: 100%;
+       background: rgba(34,34,34, 0.3);
+       content: " ";
+}
+
+.bg-dark-60:before {
+       position: absolute;
+       top: 0;
+       left: 0;
+       width: 100%;
+       height: 100%;
+       background: rgba(34,34,34, 0.6);
+       content: " ";
+}
+
+.bg-dark-90:before {
+       position: absolute;
+       top: 0;
+       left: 0;
+       width: 100%;
+       height: 100%;
+       background: rgba(34,34,34, 0.9);
+       content: " ";
+}
+
+.bg-gradient:before {
+       position: absolute;
+       top: 0;
+       left: 0;
+       width: 100%;
+       height: 100%;
+       background: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiA/Pgo8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgd2lkdGg9IjEwMCUiIGhlaWdodD0iMTAwJSIgdmlld0JveD0iMCAwIDEgMSIgcHJlc2VydmVBc3BlY3RSYXRpbz0ibm9uZSI+CiAgPGxpbmVhckdyYWRpZW50IGlkPSJncmFkLXVjZ2ctZ2VuZXJhdGVkIiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSIgeDE9IjAlIiB5MT0iMCUiIHgyPSIwJSIgeTI9IjEwMCUiPgogICAgPHN0b3Agb2Zmc2V0PSIwJSIgc3RvcC1jb2xvcj0iI2ZmZmZmZiIgc3RvcC1vcGFjaXR5PSIwIi8+CiAgICA8c3RvcCBvZmZzZXQ9Ijk1JSIgc3RvcC1jb2xvcj0iIzAwMDAwMCIgc3RvcC1vcGFjaXR5PSIwLjk1Ii8+CiAgICA8c3RvcCBvZmZzZXQ9IjEwMCUiIHN0b3AtY29sb3I9IiMwMDAwMDAiIHN0b3Atb3BhY2l0eT0iMSIvPgogIDwvbGluZWFyR3JhZGllbnQ+CiAgPHJlY3QgeD0iMCIgeT0iMCIgd2lkdGg9IjEiIGhlaWdodD0iMSIgZmlsbD0idXJsKCNncmFkLXVjZ2ctZ2VuZXJhdGVkKSIgLz4KPC9zdmc+); /* FF3.6+ */
+       background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,rgba(255,255,255,0)), color-stop(95%,rgba(0,0,0,0.95)), color-stop(100%,rgba(0,0,0,1))); /* Chrome,Safari4+ */
+       background: -webkit-linear-gradient(top,  rgba(255,255,255,0) 0%,rgba(0,0,0,0.95) 95%,rgba(0,0,0,1) 100%); /* Chrome10+,Safari5.1+ */ /* Opera 11.10+ */ /* IE10+ */
+       background: -webkit-gradient(linear,  left top, left bottom,  from(rgba(255,255,255,0)),color-stop(95%, rgba(0,0,0,0.95)),to(rgba(0,0,0,1)));
+       background: linear-gradient(to bottom,  rgba(255,255,255,0) 0%,rgba(0,0,0,0.95) 95%,rgba(0,0,0,1) 100%); /* W3C */
+       content: " ";
+
+       filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#00ffffff', endColorstr='#000000',GradientType=0 ); /* IE6-8 */
+}
+
+.bg-light {
+       background: #f6f6f6;
+}
+
+
+/* ------------------------------------------------------------------
+Preloader
+------------------------------------------------------------------- */
+
+.page-loader {
+       position: fixed;
+       z-index: 9998;
+       top: 0;
+       right: 0;
+       bottom: 0;
+       left: 0;
+       background: #000;
+}
+
+.loader {
+       position: absolute;
+       z-index: 9999;
+       top: 50%;
+       left: 50%;
+       width: 46px;
+       height: 46px;
+       margin: -23px 0 0 -23px;
+       border-top: 2px solid rgba(255, 255, 255, 0.2);
+       border-right: 2px solid rgba(255, 255, 255, 0.2);
+       border-bottom: 2px solid rgba(255, 255, 255, 0.2);
+       border-left: 2px solid #fff;
+       font-size: 10px;
+       text-indent: -9999em;
+       -webkit-animation: load 0.8s infinite linear;
+       animation: load 0.8s infinite linear;
+
+       ms-animation: load 0.8s infinite linear;
+       o-animation: load 0.8s infinite linear;
+}
+
+.loader,
+.loader:after {
+       width: 46px;
+       height: 46px;
+       border-radius: 50%;
+}
+
+@-webkit-keyframes load {
+       0% {
+               -webkit-transform: rotate(0deg);
+               transform: rotate(0deg);
+       }
+       100% {
+               -webkit-transform: rotate(360deg);
+               transform: rotate(360deg);
+       }
+}
+
+@keyframes load {
+       0% {
+               -webkit-transform: rotate(0deg);
+               transform: rotate(0deg);
+       }
+       100% {
+               -webkit-transform: rotate(360deg);
+               transform: rotate(360deg);
+       }
+}
+
+
+/* ------------------------------------------------------------------
+Typography
+------------------------------------------------------------------- */
+
+a {
+       color: #111;
+}
+
+a:hover,
+a:focus {
+       outline: 0;
+       color: #aaa;
+       text-decoration: none;
+}
+
+.bg-dark a {
+       color: #aaa;
+}
+
+.bg-dark a:hover,
+.bg-dark a:focus {
+       color: #fff;
+}
+
+h1,
+h2,
+h3,
+h4,
+h5,
+h6 {
+       font-weight: 400;
+       line-height: 1.4;
+}
+
+p,
+ol,
+ul,
+blockquote {
+       margin: 0 0 20px;
+}
+
+blockquote {
+       padding: 0;
+       border: 0;
+       font-size: 1.25em;
+       font-style: italic;
+}
+
+.font-alt {
+       font-family: "Roboto Condensed", sans-serif;
+       letter-spacing: 2px;
+       text-transform: uppercase;
+}
+
+.font-serif {
+       font-family: Volkhov, "Times New Roman", sans-serif;
+       font-style: italic;
+}
+
+.large-text {
+       font-size: 24px !important;
+}
+
+.rotate {
+       text-shadow: none !important;
+}
+
+
+/* ------------------------------------------------------------------
+Navbar
+------------------------------------------------------------------- */
+
+.admin-bar .navbar-custom {
+       top: 32px;
+}
+
+.page .navbar-custom {
+       background-color: rgba(10, 10, 10, 0.9) !important;
+}
+.navbar-custom {
+       z-index: 1000;
+       border: 0;
+       border-radius: 0;
+       background-color: rgba(10, 10, 10, 0.9);
+       font-family: "Roboto Condensed", sans-serif;
+       font-size: 11px;
+       letter-spacing: 3px;
+       text-transform: uppercase;
+       -webkit-transition: background, padding 0.4s ease-in-out 0s;
+       transition: background, padding 0.4s ease-in-out 0s;
+}
+
+.navbar a {
+       -webkit-transition: color 0.125s ease-in-out 0s;
+       transition: color 0.125s ease-in-out 0s;
+}
+
+.navbar-custom .sub-menu,
+.navbar-custom .children {
+       padding: 0;
+       border: 0;
+       border-radius: 0;
+       background: rgba(26, 26, 26, 0.9);
+       -webkit-box-shadow: none;
+       box-shadow: none;
+}
+
+.navbar-custom .navbar-brand {
+       color: #fff;
+       font-size: 22px;
+       font-weight: 400;
+       letter-spacing: 4px;
+}
+
+.navbar-custom .sub-menu li,
+.navbar-custom .children li {
+       list-style: none;
+}
+
+.navbar-custom .sub-menu li a,
+.navbar-custom .children li a {
+       display: block;
+       width: 100%;
+}
+
+.navbar-custom .nav li > a {
+       position: relative;
+       color: rgba(255, 255, 255, 0.7);
+}
+
+.navbar-custom .sub-menu > li > a,
+.navbar-custom .children > li > a {
+       padding: 11px 15px;
+       border-bottom: 1px solid rgba(73, 71, 71, 0.15) !important;
+       color: #999;
+       letter-spacing: 2px;
+}
+
+.navbar-custom .sub-menu .sub-menu,
+.navbar-custom .children .children {
+       top: 0;
+       right: auto;
+       left: 100%;
+       margin-top: 0;
+       border-left: 1px solid rgba(73, 71, 71, 0.15);
+}
+
+.navbar-custom .sub-menu.left-side .sub-menu,
+.navbar-custom .children.left-side .children {
+       right: 100%;
+       left: auto;
+       border: 0;
+       border-right: 1px solid rgba(73, 71, 71, 0.15);
+}
+
+.navbar-custom .nav > li > a:focus,
+.navbar-custom .nav > li > a:hover,
+.navbar-custom .nav .open > a,
+.navbar-custom .nav .open > a:focus,
+.navbar-custom .nav .open > a:hover,
+.navbar-custom .sub-menu > li > a:focus,
+.navbar-custom .sub-menu > li > a:hover {
+       color: #fff;
+       background: none;
+}
+
+.navbar-custom .sub-menu > li > a:hover,
+.navbar-custom .children > li > a:hover {
+       background: rgba(255, 255, 255, 0.1) !important;
+}
+
+.navbar-custom .menu-item-has-children-toggle:after {
+       display: block;
+       position: absolute;
+       top: 50%;
+       right: 0;
+       margin-top: -6px;
+       font: normal normal normal 14px/1 "ElegantIcons";
+       font-size: 9px;
+       -webkit-font-smoothing: antialiased;
+       -moz-osx-font-smoothing: grayscale;
+       content: "\43";
+       text-rendering: auto;
+}
+
+.navbar-custom .navbar-toggle .icon-bar {
+       background: #fff;
+}
+
+.navbar-nav .menu-item-has-children > a:after,
+.navbar-nav .page_item_has_children > a:after {
+       display: block;
+       position: absolute;
+       top: 50%;
+       right: 0;
+       margin-top: -6px;
+       font: normal normal normal 14px/1 ElegantIcons;
+       font-size: 9px;
+       -webkit-font-smoothing: antialiased;
+       -moz-osx-font-smoothing: grayscale;
+       content: "\43";
+       text-rendering: auto;
+}
+
+.navbar-nav .sub-menu,
+.navbar-nav .children {
+       min-width: 180px;
+       font-size: 11px;
+}
+
+.navbar-right ul {
+       text-align: left;
+}
+
+/* Navbar search */
+
+.menu-item-has-children-search {
+       position: relative;
+       padding: 5px;
+}
+
+.menu-item-has-children-search .form-control {
+       border-radius: 0;
+       font-size: 11px;
+       letter-spacing: 2px;
+       text-transform: uppercase;
+}
+
+.search-btn {
+       overflow: hidden;
+       position: absolute;
+       top: 50%;
+       right: 1px;
+       width: 42px;
+       height: 40px;
+       margin-top: -20px;
+       border: none;
+       outline: none;
+       color: #999;
+       background: transparent;
+       font-size: 14px;
+       line-height: 38px;
+}
+
+
+/* -------------------------------------------------------------------
+Home Section
+------------------------------------------------------------------- */
+
+.home-section {
+       position: relative;
+       z-index: 0;
+       width: 100%;
+       background-color: #fff;
+       background-repeat: no-repeat;
+       background-position: center center;
+       background-size: cover;
+}
+
+.hs-title-size-1 {
+       font-size: 15px;
+       letter-spacing: 4px;
+}
+
+.hs-title-size-2 {
+       opacity: 0.8;
+       font-size: 18px;
+       line-height: 1.3;
+       letter-spacing: 3px;
+}
+
+.hs-title-size-3 {
+       font-size: 46px;
+       letter-spacing: 16px;
+}
+
+.hs-title-size-4 {
+       font-size: 48px;
+       font-weight: 400;
+       letter-spacing: 24px;
+}
+
+/* Video */
+.module-video {
+       overflow: hidden;
+}
+
+.module-video-thumbnail {
+       position: absolute;
+       z-index: -1;
+       top: 0;
+       width: 100%;
+       height: 100%;
+       background-size: cover;
+}
+
+.module-video-thumbnail img {
+       width: 100%;
+       height: auto;
+}
+
+.video-controls-box {
+       position: absolute !important;
+       z-index: 1;
+       bottom: 40px;
+       left: 0;
+       width: 100%;
+}
+
+.video-controls-box a {
+       display: inline-block;
+       margin: 0 5px 0 0;
+       color: #fff;
+}
+
+.content-box-image {
+       margin-bottom: 40px;
+       -webkit-transition: all 0.3s;
+       transition: all 0.3s;
+}
+
+.content-box-image:hover {
+       opacity: 0.8;
+       -webkit-transition: all 0.3s;
+       transition: all 0.3s;
+}
+
+.module-small.home-banners {
+       padding: 70px 0 30px;
+}
+
+.home-product-slider {
+       padding: 70px 0 70px;
+}
+
+.owl-carousel.owl-drag .owl-item {
+       width: 100%;
+}
+
+.owl-carousel .owl-nav {
+       font-family: "flexslider-icon";
+       font-size: 16px;
+       line-height: 1;
+}
+
+.owl-carousel .owl-nav .owl-prev:before {
+       content: "\f001";
+}
+.owl-carousel .owl-nav .owl-prev {
+       float: left;
+}
+
+.owl-carousel .owl-nav .owl-next:before {
+       content: "\f002";
+}
+.owl-carousel .owl-nav .owl-next {
+       float: right;
+}
+
+.owl-carousel[data-rtl="true"] .owl-nav .owl-next:before {
+       content: "\f001";
+}
+
+.owl-carousel[data-rtl="true"] .owl-nav .owl-next {
+       float: left;
+}
+
+.owl-carousel[data-rtl="true"] .owl-nav .owl-prev:before {
+       content: "\f002";
+}
+.owl-carousel[data-rtl="true"] .owl-nav .owl-prev {
+       float: right;
+}
+
+.owl-dots {
+       margin: 0 auto; /*for centering the dots*/
+}
+.owl-dot {
+       display: inline-block;  /*for making them horizontal, if you want vertical then you can use- display: block*/
+       width: 10px;
+       height: 10px;
+       margin-right: 5px;
+       border: 1px solid #ccc;
+       border-radius: 100%;
+       background: #333;
+}
+
+.owl-dot.active {
+       background: #e7e8eb;
+}
+
+
+/* -------------------------------------------------------------------
+Sections
+------------------------------------------------------------------- */
+
+.main {
+       position: relative;
+       z-index: 1;
+       color: #666;
+}
+
+.module,
+.module-small {
+       position: relative;
+       padding: 130px 0;
+       background-repeat: no-repeat;
+       background-position: 50% 50%;
+       background-size: cover;
+}
+
+/* Module header */
+
+.module-small {
+       padding: 70px 0;
+}
+
+.module-super-small {
+       padding: 130px 0 0 0;
+}
+
+.module-small-bottom {
+       padding: 140px 0 140px 0;
+}
+
+.module-title {
+       position: relative;
+       margin: 0 0 70px;
+       color: #111;
+       font-size: 30px;
+       font-weight: 400;
+       text-align: center;
+       letter-spacing: 4px;
+}
+
+.page-header-module {
+       text-align: center;
+}
+
+.page-header-module .module-title {
+       margin: 0;
+}
+
+.module-subtitle {
+       margin-bottom: 70px;
+       color: #111;
+       font-size: 16px;
+       text-align: center;
+}
+
+.module-icon {
+       margin-bottom: 20px;
+       font-size: 32px;
+       text-align: center;
+}
+
+.module-title + .module-subtitle {
+       margin-top: -35px;
+}
+
+.page-header-module .module-subtitle {
+       margin-top: 35px;
+}
+
+.no-results .page-header {
+       margin-top: 0;
+}
+
+.page-module-header {
+       text-align: center;
+}
+
+.page-header-module:before {
+       position: absolute;
+       top: 0;
+       left: 0;
+       width: 100%;
+       height: 100%;
+       background: rgba(34,34,34, 0.3);
+       content: " ";
+}
+
+.page-header-module.module {
+       padding: 190px 0 140px;
+}
+
+.divider-d {
+       display: none;
+}
+.navbar-custom ::-webkit-scrollbar {
+       width: 12px;  /* for vertical scrollbars */
+       height: 12px; /* for horizontal scrollbars */
+}
+.navbar-custom ::-webkit-scrollbar-track {
+       background: rgba(255, 255, 255, 0.1);
+}
+.navbar-custom ::-webkit-scrollbar-thumb {
+       background: rgba(255, 255, 255, 0.5);
+}
+.dropdownmenu {
+       position: absolute;
+       z-index: 9999999;
+       z-index: 9;
+       top: 0;
+       right: -10px;
+       width: 25px;
+       height: 25px;
+       margin: 7px;
+       color: rgba(255, 255, 255, 0.7);
+}
+.navbar-nav li {
+       position: relative;
+}
+.navbar-custom ul {
+       margin-left: 0;
+}
+.navbar-custom .sub-menu > li:hover > a,
+.navbar-custom .children > li:hover > a {
+       background: rgba(255, 255, 255, 0.1) !important;
+}
+.navbar-custom ul ul {
+       display: none;
+}
+.navbar-custom li.has_children.this-open > ul {
+       display: block;
+}
+.navbar-custom li.has_children > .dropdownmenu:before {
+       display: block;
+       font: normal normal normal 14px/1 ElegantIcons;
+       font-size: 9px;
+       -webkit-font-smoothing: antialiased;
+       -moz-osx-font-smoothing: grayscale;
+       line-height: 32px;
+       text-align: center;
+       content: "\43";
+       text-rendering: auto;
+}
+.navbar-custom div.nav > ul > li.has_children > .dropdownmenu:before {
+       line-height: 16px;
+       content: "\43";
+}
+.navbar-custom li.has_children.this-open > .dropdownmenu:before {
+       display: block;
+       font: normal normal normal 14px/1 ElegantIcons;
+       font-size: 9px;
+       -webkit-font-smoothing: antialiased;
+       -moz-osx-font-smoothing: grayscale;
+       line-height: 25px;
+       text-align: center;
+       content: "\42";
+       text-rendering: auto;
+}
+.navbar-nav .menu-item-has-children > a:after,
+.navbar-nav .page_item_has_children > a:after {
+       display: none;
+}
+
+.logo-image img {
+       max-width: initial;
+}
+
+/* Restaurant module header */
+.alt-module-subtitle {
+       display: table;
+}
+
+.alt-module-subtitle h5 {
+       display: table-cell;
+       padding: 0 8px;
+       color: #111;
+       white-space: pre;
+}
+
+.holder-w {
+       display: table-cell;
+       position: relative;
+       width: 50%;
+       height: 1px;
+       vertical-align: middle;
+}
+
+.holder-w:before {
+       display: block;
+       position: relative;
+       top: 1px;
+       width: 100%;
+       height: 1px;
+       border-top: 1px solid #eaeaea;
+       content: "";
+}
+
+/* Sections dividers */
+
+.divider-w {
+       margin: 0;
+       border-top: 1px solid #eaeaea;
+}
+
+.divider-d {
+       margin: 0;
+       border-top: 1px solid #202020;
+}
+
+/* Half-image */
+
+.side-image {
+       position: absolute;
+       height: 100%;
+       background-repeat: no-repeat;
+       background-position: 50% 50%;
+       background-size: cover;
+}
+
+.side-image-text {
+       padding: 140px 60px 140px;
+       border-top: 1px solid #e5e5e5;
+       border-bottom: 1px solid #e5e5e5;
+       background: #fff;
+}
+
+
+/* -------------------------------------------------------------------
+Ribbon
+------------------------------------------------------------------- */
+
+#ribbon {
+       margin-top: 70px;
+       background-repeat: no-repeat;
+       background-attachment: fixed;
+       background-position: center;
+       background-size: cover;
+       text-align: center;
+}
+
+#ribbon.ribbon-ios {
+       background-attachment: initial;
+}
+
+#ribbon .section-overlay-layer {
+       display: -webkit-box;
+       display: -webkit-flex;
+       display: -ms-flexbox;
+       display: flex;
+       width: inherit;
+       height: inherit;
+       padding: 118px 0;
+       background-color: rgba(0,0,0,0.5);
+
+       -webkit-align-content: center;
+       align-content: center;
+       -ms-flex-line-pack: center;
+}
+
+#ribbon h2 {
+       color: #fff;
+       font-family: "Roboto Condensed", sans-serif;
+       font-size: 30px;
+       font-weight: 100;
+       letter-spacing: 3.5px;
+}
+
+.btn-ribbon {
+       padding: 15px 25px;
+       border-radius: 5px;
+       color: #fff;
+       background-color: #000;
+       font-size: 16px;
+       font-weight: 100;
+       line-height: 28px;
+       letter-spacing: 2px;
+}
+
+.btn-ribbon:hover {
+       opacity: 0.9;
+       color: #fff;
+}
+
+#ribbon .module-title {
+       margin-bottom: 15px;
+}
+
+
+/* -------------------------------------------------------------------
+Contact page
+------------------------------------------------------------------- */
+
+.wpcf7-form input:not([type="submit"]) {
+       width: 100%;
+       height: 33px;
+       padding: 0 10px;
+       border: 1px solid #eaeaea;
+       border-radius: 2px;
+       font-family: "Roboto Condensed", sans-serif;
+       font-size: 12px;
+       letter-spacing: 2px;
+}
+.wpcf7-form textarea {
+       width: 100%;
+       padding: 10px;
+       border: 1px solid #eaeaea;
+       border-radius: 2px;
+       font-family: "Roboto Condensed", sans-serif;
+       font-size: 12px;
+       letter-spacing: 2px;
+}
+.wpcf7-form input[type="submit"] {
+       width: 100%;
+       padding: 8px 37px;
+       border: none;
+       border-radius: 2px;
+       color: #fff;
+       background: rgba(17, 17, 17, 0.8);
+       font-family: "Roboto Condensed", sans-serif;
+       font-size: 11px;
+       letter-spacing: 2px;
+       text-transform: uppercase;
+}
+.wpcf7-form p {
+       line-height: 25px;
+}
+div.wpcf7-mail-sent-ng {
+       margin: 0;
+       border: 2px solid #f00;
+}
+div.wpcf7-response-output {
+       margin: 0;
+       padding: 0.2em 1em;
+}
+.comments,
+#comments {
+       width: 100%;
+}
+#map-section {
+       height: auto;
+}
+
+
+/* -------------------------------------------------------------------
+Footer
+------------------------------------------------------------------- */
+
+footer.footer {
+       background: #111;
+}
+
+.footer {
+       position: relative;
+       z-index: 1;
+       padding: 0 0 10px 0;
+}
+
+.copyright {
+       margin: 0;
+}
+
+.footer-social-links {
+       text-align: right;
+}
+
+.footer-social-links a {
+       display: inline-block;
+       padding: 0 6px;
+}
+
+.ajax-response {
+       text-align: center;
+}
+
+.shop_isle_footer_sidebar .widget input[type=search],
+.shop_isle_footer_sidebar .widget_search {
+       color: #666;
+}
+
+.shop_isle_footer_sidebar {
+       text-align: center;
+}
+
+.shop_isle_footer_sidebar .widget {
+       width: 100%;
+       padding-bottom: 60px;
+       text-align: left;
+}
+
+.shop_isle_footer_sidebar .footer-sidebar-wrap .widget:last-child {
+       padding-bottom: 0;
+}
+
+.widget select {
+       color: #111;
+}
+
+footer.footer .divider-d {
+       display: block !important;
+       height: 0;
+       margin-bottom: 10px;
+}
+
+
+/* -------------------------------------------------------------------
+Google map
+------------------------------------------------------------------- */
+
+#map-section {
+       position: relative;
+       width: 100%;
+       height: auto;
+}
+
+#map {
+       position: relative;
+       width: 100%;
+       height: 100%;
+}
+
+#map img {
+       max-width: none;
+}
+
+.shop_isle_pro_map_overlay {
+       position: absolute;
+       z-index: 999;
+       top: 0;
+       right: 0;
+       bottom: 0;
+       left: 0;
+       background: transparent;
+       cursor: pointer;
+}
+
+
+/* -------------------------------------------------------------------
+Services, Content box
+------------------------------------------------------------------- */
+
+.features-item {
+       margin: 20px 0;
+       text-align: center;
+}
+
+.features-icon,
+.alt-features-icon {
+       color: #111;
+       font-size: 42px;
+       line-height: 1.2;
+}
+
+.features-title,
+.alt-features-title {
+       margin: 16px 0 15px;
+       color: #111;
+       font-size: 14px;
+       font-weight: 400;
+       letter-spacing: 2px;
+       text-transform: uppercase;
+}
+
+.alt-features-item {
+       position: relative;
+       margin: 65px 0 0 0;
+       padding-left: 55px;
+}
+
+.alt-features-icon {
+       position: absolute;
+       top: 0;
+       left: 0;
+       width: 40px;
+       height: 40px;
+       font-size: 28px;
+       line-height: 40px;
+       text-align: center;
+}
+
+.alt-features-title {
+       margin: 0 0 10px;
+       font-size: 13px;
+}
+
+.add_to_cart_button {
+       width: 100%;
+       text-align: center;
+}
+
+/* Content box */
+
+.content-box {
+       margin: 20px 0;
+       text-align: center;
+}
+
+.content-box-title {
+       margin: 16px 0 15px;
+       color: #111;
+       font-size: 18px;
+       font-weight: 400;
+}
+
+
+/* -------------------------------------------------------------------
+Restaurant menu
+------------------------------------------------------------------- */
+
+.menu {
+       margin: 0 0 20px;
+       padding: 0 0 10px;
+       border-bottom: 1px dotted #e5e5e5;
+}
+
+.menu-title,
+.menu-price {
+       margin: 0 0 10px;
+       color: #111;
+       font-size: 14px;
+}
+
+.menu-price-detail {
+       position: relative;
+       text-align: right;
+}
+
+
+/* -------------------------------------------------------------------
+Team
+------------------------------------------------------------------- */
+
+.team-item {
+       position: relative;
+       text-align: center;
+}
+
+.team-image {
+       overflow: hidden;
+       position: relative;
+}
+
+.team-image img {
+       width: 100%;
+}
+
+.team-image:after {
+       display: block;
+       position: absolute;
+       z-index: 1;
+       top: 0;
+       left: 0;
+       width: 100%;
+       height: 100%;
+       background: transparent;
+       content: " ";
+}
+
+.team-detail {
+       position: absolute;
+       z-index: 2;
+       bottom: 100%;
+       left: 0;
+       width: 100%;
+       padding: 20px;
+       opacity: 0;
+       color: #aaa;
+       font-size: 12px;
+       text-align: center;
+}
+
+.team-detail h5 {
+       font-size: 16px;
+}
+
+.team-detail p {
+       font-size: 14px;
+}
+
+.team-social a {
+       display: inline-block;
+       padding: 5px 6px;
+       color: #aaa;
+}
+
+.team-social a:hover {
+       color: #fff;
+}
+
+.team-descr {
+       margin: 20px 0 0;
+}
+
+.team-name {
+       color: #111;
+       font-size: 14px;
+}
+
+.team-role {
+       color: #aaa;
+       font-size: 11px;
+}
+
+.team-item:hover .team-image:after {
+       background: rgba(0, 0, 0, 0.6);
+}
+
+.team-item:hover .team-detail {
+       bottom: 50%;
+       opacity: 1;
+       -webkit-transform: translateY(50%);
+       -ms-transform: translateY(50%);
+       transform: translateY(50%);
+}
+
+.about-team-member .fadeInUp {
+       display: inline-block;
+       float: none;
+       padding-bottom: 60px;
+}
+
+.about-team-member > ul {
+       float: left;
+       width: 100%;
+       margin-bottom: -60px;
+       text-align: center;
+}
+
+
+/* -------------------------------------------------------------------
+Price-tables
+------------------------------------------------------------------- */
+
+.price-table {
+       margin: 15px 0 30px;
+       padding: 25px 20px;
+       border: 1px solid #eaeaea;
+       border-radius: 2px;
+       background: #fff;
+       text-align: center;
+}
+
+.price-table:hover {
+       border-color: #cacaca;
+}
+
+.price-table.best {
+       margin: 0 0 30px;
+}
+
+.price-table .small {
+       margin: 0;
+}
+
+.borderline {
+       display: block;
+       position: relative;
+       width: 100%;
+       height: 1px;
+       margin: 20px 0 15px;
+       background: #eaeaea;
+}
+
+.borderline:before {
+       position: absolute;
+       bottom: -7px;
+       left: 50%;
+       width: 14px;
+       height: 14px;
+       margin-left: -7px;
+       background: #eaeaea;
+       content: "";
+       -webkit-transform: rotate(45deg);
+       -moz-transform: rotate(45deg);
+       -ms-transform: rotate(45deg);
+       -o-transform: rotate(45deg);
+}
+
+.borderline:after {
+       position: absolute;
+       bottom: -5px;
+       left: 50%;
+       width: 16px;
+       height: 16px;
+       margin-left: -8px;
+       background: #fff;
+       content: "";
+       -webkit-transform: rotate(45deg);
+       -moz-transform: rotate(45deg);
+       -ms-transform: rotate(45deg);
+       -o-transform: rotate(45deg);
+}
+
+.price-table h4 {
+       margin: 0;
+       color: #111;
+}
+
+.price-table p.price {
+       margin: 0 0 0 -10px;
+       padding: 0;
+       color: #111;
+       font-size: 60px;
+}
+
+.price-table p.price span {
+       display: inline-block;
+       padding-top: 25px;
+       font-size: 16px;
+       vertical-align: top;
+}
+
+.price-details {
+       margin: 0 0 23px;
+       padding: 0;
+       list-style: none;
+}
+
+.price-details li {
+       padding: 7px 0;
+}
+
+.price-details li > span {
+       color: #aaa;
+       text-decoration: line-through;
+}
+
+
+/* -------------------------------------------------------------------
+Count to
+------------------------------------------------------------------- */
+
+.count-item {
+       text-align: center;
+}
+
+.count-icon {
+       font-size: 42px;
+       line-height: 1.2;
+}
+
+
+/* -------------------------------------------------------------------
+Video box
+------------------------------------------------------------------- */
+
+.video-box {
+       padding: 40px 0;
+       text-align: center;
+}
+
+.video-box-icon > a > i,
+.video-box-icon > a > span {
+       color: #fff;
+       font-size: 40px;
+       line-height: 1.8;
+}
+
+.video-title {
+       margin: 10px 0 0;
+       font-size: 30px;
+       letter-spacing: 4px;
+}
+
+.video-subtitle {
+       color: rgba(255, 255, 255, 0.5);
+}
+
+
+/* -------------------------------------------------------------------
+Callout
+------------------------------------------------------------------- */
+
+.callout-text {
+       color: rgba(255, 255, 255, 0.6);
+}
+
+.callout-title {
+       margin: 0;
+       color: #fff;
+       font-size: 16px;
+       font-weight: 400;
+}
+
+.callout-btn-box {
+       padding-top: 4px;
+       text-align: right;
+}
+
+
+/* -------------------------------------------------------------------
+Testimonials
+------------------------------------------------------------------- */
+
+.testimonials-slider {
+       position: relative;
+}
+
+.testimonial-text {
+       font-size: 18px;
+       font-style: normal;
+       text-align: center;
+}
+
+.testimonial-caption {
+       padding: 10px 0 0;
+       text-align: center;
+}
+
+.testimonial-title {
+       font-size: 14px;
+}
+
+.testimonial-descr {
+       color: rgba(255, 255, 255, 0.5);
+       font-size: 11px;
+}
+
+
+/*--------------------------------------------------------------
+Captions
+--------------------------------------------------------------*/
+
+.wp-caption {
+       max-width: 100%;
+       margin-bottom: 1.5em;
+}
+
+.wp-caption img[class*="wp-image-"] {
+       display: block;
+       margin-right: auto;
+       margin-left: auto;
+}
+
+.wp-caption .wp-caption-text {
+       margin: 0.8075em 0;
+}
+
+.wp-caption-text {
+       text-align: center;
+}
+
+
+/* -------------------------------------------------------------------
+Gallery
+------------------------------------------------------------------- */
+
+.gallery {
+       margin: 0 -1.1666667% 1.75em;
+}
+
+.gallery-item {
+       display: inline-block;
+       width: 100%;
+       max-width: 33.33%;
+       padding: 0 1.1400652% 2.2801304%;
+       text-align: center;
+       vertical-align: top;
+}
+
+.gallery-columns-1 .gallery-item {
+       max-width: 100%;
+}
+
+.gallery-columns-2 .gallery-item {
+       max-width: 50%;
+}
+
+.gallery-columns-4 .gallery-item {
+       max-width: 25%;
+}
+
+.gallery-columns-5 .gallery-item {
+       max-width: 20%;
+}
+
+.gallery-columns-6 .gallery-item {
+       max-width: 16.66%;
+}
+
+.gallery-columns-7 .gallery-item {
+       max-width: 14.28%;
+}
+
+.gallery-columns-8 .gallery-item {
+       max-width: 12.5%;
+}
+
+.gallery-columns-9 .gallery-item {
+       max-width: 11.11%;
+}
+
+.gallery-icon img {
+       margin: 0 auto;
+}
+
+.gallery-caption {
+       display: block;
+       padding-top: 0.5384615385em;
+       color: #686868;
+       font-size: 13px;
+       font-size: 0.8125rem;
+       font-style: italic;
+       line-height: 1.6153846154;
+}
+
+.gallery-columns-6 .gallery-caption,
+.gallery-columns-7 .gallery-caption,
+.gallery-columns-8 .gallery-caption,
+.gallery-columns-9 .gallery-caption {
+       display: none;
+}
+
+
+/*--------------------------------------------------------------
+Elements
+--------------------------------------------------------------*/
+
+hr {
+       height: 1px;
+       margin-bottom: 1.5em;
+       border: 0;
+}
+
+ul,
+ol {
+       margin: 0 0 1.5em 3em;
+}
+
+ul {
+       list-style: disc;
+}
+
+ol {
+       list-style: decimal;
+}
+
+li > ul,
+li > ol {
+       margin-bottom: 0;
+       margin-left: 1.5em;
+}
+
+dt {
+       font-weight: bold;
+}
+
+dd {
+       margin: 0 1.5em 1.5em;
+}
+
+img {
+       max-width: 100%; /* Adhere to container width. */
+       height: auto; /* Make sure images are scaled correctly. */
+}
+
+figure {
+       max-width: 100%;
+       margin: 0;
+}
+
+table {
+       width: 100%;
+       margin: 0 0 1.5em;
+}
+
+th {
+       font-weight: bold;
+}
+
+
+/* -------------------------------------------------------------------
+Post
+------------------------------------------------------------------- */
+
+.sticky {
+       display: block;
+}
+
+.post {
+       margin: 0 0 80px;
+}
+
+.post-title {
+       margin: 0;
+       color: #111;
+       font-size: 22px;
+       line-height: 1.4;
+}
+
+.post-header {
+       margin: 0 0 15px;
+}
+
+.post-meta {
+       color: #aaa;
+       font-size: 12px;
+}
+
+.post-entry {
+       margin-top: 10px;
+       padding-top: 20px;
+       border-top: 1px dotted #c2c2c2;
+}
+
+.post-entry ul,
+.post-entry ol {
+       margin-left: 0;
+}
+
+.post-images-slider {
+       position: relative;
+}
+
+.post-images-slider .flex-control-nav {
+       bottom: 0;
+}
+
+.post-thumbnail,
+.post-images-slider,
+.post-video {
+       margin: 0 0 20px;
+}
+
+.post-quote {
+       padding: 20px;
+       background: #f5f5f5;
+       text-align: center;
+}
+
+.tags-links {
+       float: left;
+       width: 100%;
+}
+
+/* Post columns */
+
+.post-columns .post {
+       margin: 0 0 60px;
+}
+
+.post-columns .post-header {
+       margin: 0 0 10px;
+}
+
+.post-columns .post-title {
+       font-size: 14px;
+       line-height: 1.8;
+}
+
+.post-columns .post-entry {
+       margin: 0 0 10px;
+       padding: 10px 0 0;
+}
+
+.post-columns.wo-border .post-entry {
+       padding: 0;
+       border: 0;
+}
+
+.post-columns .post-entry p:last-child {
+       margin: 0;
+}
+
+.more-link:after {
+       padding-left: 5px;
+       color: #666;
+       content: "\00BB";
+}
+
+.woocommerce-pagination ul.page-numbers li {
+       display: inline-block;
+}
+.pagination a,
+.woocommerce-pagination ul.page-numbers li a,
+.woocommerce-pagination ul.page-numbers li span {
+       padding: 4px 12px;
+       border: 1px solid #eaeaea;
+       color: #999;
+       text-align: center;
+       text-transform: uppercase;
+}
+
+.woocommerce-pagination ul.page-numbers li a {
+       display: inline-block;
+       color: #111;
+}
+
+.pagination a.active {
+       border-color: #cacaca;
+}
+
+.post-navigation {
+       float: left;
+       width: 100%;
+       padding-top: 60px;
+}
+
+.nav-links {
+       width: 100%;
+       font-family: "Roboto Condensed", sans-serif;
+       font-size: 11px;
+       letter-spacing: 2px;
+       text-transform: uppercase;
+}
+
+.nav-links .nav-previous {
+       float: left;
+       max-width: 50%;
+}
+
+.nav-links .nav-next {
+       float: right;
+       max-width: 50%;
+}
+
+.nav-links .nav-next a {
+       display: block;
+       text-align: right;
+}
+
+.comments-title {
+       margin: 0 0 20px;
+       padding-bottom: 15px;
+       border-bottom: 1px dotted #c2c2c2;
+       color: #111;
+       font-family: "Roboto Condensed", sans-serif;
+       font-size: 16px;
+       letter-spacing: 2px;
+       text-transform: uppercase;
+}
+
+.no-results .screen-reader-text {
+       padding-bottom: 0;
+       border: none;
+}
+
+.no-results .search-form input[type=search] {
+       width: 250px;
+       max-width: 100%;
+       height: 33px;
+       padding: 5px 30px 5px 12px;
+       border: 1px solid #eaeaea;
+       border-radius: 2px;
+       font-family: "Roboto Condensed", sans-serif;
+       font-size: 11px;
+       font-weight: 400;
+       letter-spacing: 2px;
+       text-transform: uppercase;
+       -webkit-transition: all 0.3s;
+       transition: all 0.3s;
+}
+
+.no-results .search-form input[type=submit] {
+       overflow: hidden;
+       position: relative;
+       z-index: 999;
+       width: 33px;
+       height: 33px;
+       margin-left: -33px;
+       border: none;
+       outline: none;
+       color: #999;
+       background: transparent;
+       font-size: 14px;
+       line-height: 38px;
+       text-indent: -99999999px;
+}
+
+.no-results .search-form label {
+       float: left;
+       position: relative;
+}
+.no-results .search-form label:after {
+       display: inline-block;
+       overflow: hidden;
+       position: absolute;
+       top: 0;
+       right: 1px;
+       width: 33px;
+       height: 33px;
+       border: none;
+       outline: none;
+       color: #999;
+       background: transparent;
+       font: normal normal normal 15px/33px ElegantIcons;
+       line-height: 33px;
+       text-align: center;
+       content: "\55";
+       text-rendering: auto;
+}
+
+.bypostauthor {
+       display: block;
+}
+
+.comments-area {
+       float: left;
+}
+
+.comments-area ol {
+       margin-left: 0;
+       padding-left: 0;
+}
+
+.comments-area ol li {
+       list-style: none;
+}
+
+.comment-meta {
+       margin-left: 75px;
+}
+
+.comment-author img {
+       position: absolute;
+       top: 0;
+       left: 0;
+}
+
+.comment-author img {
+       width: 55px;
+       height: 55px;
+       border-radius: 50%;
+}
+
+.comment-author .fn {
+       margin: 0 0 10px;
+       font-family: "Roboto Condensed", sans-serif;
+       font-size: 14px;
+       font-style: normal;
+       letter-spacing: 2px;
+       text-transform: uppercase;
+}
+
+.comments-area ol li {
+       position: relative;
+       text-align: justify;
+}
+
+.comments-area .reply a {
+       font-family: "Roboto Condensed", sans-serif;
+       letter-spacing: 2px;
+       text-transform: uppercase;
+}
+
+.comment-reply-title {
+       margin: 0 0 20px;
+       padding-top: 30px;
+       padding-bottom: 15px;
+       border-bottom: 1px dotted #c2c2c2;
+       color: #111;
+       font-family: "Roboto Condensed", sans-serif;
+       font-size: 16px;
+       letter-spacing: 2px;
+       text-transform: uppercase;
+}
+
+#comments input:not([type="submit"]):not([type="checkbox"]) {
+       height: 33px;
+       border: 1px solid #eaeaea;
+       border-radius: 2px;
+       -webkit-box-shadow: none;
+       box-shadow: none;
+       font-family: "Roboto Condensed", sans-serif;
+       font-size: 12px;
+       letter-spacing: 2px;
+}
+
+.comments-bottom-wrap {
+       float: left;
+       width: 100%;
+}
+
+.comment-date {
+       float: left;
+       font-family: "Roboto Condensed", sans-serif;
+       letter-spacing: 2px;
+       text-transform: uppercase;
+}
+
+.comment-body {
+       position: relative;
+}
+
+.comment-content .reply {
+       font-size: 12px;
+}
+
+.comment-area {
+       margin-top: 50px;
+}
+
+.comments-area label {
+       font-weight: 400;
+}
+
+/*
+Pirate Forms
+*/
+.widget .pirate_forms_wrap .form_field_wrap {
+       width: 100%;
+       padding-right: 0;
+       padding-left: 0;
+}
+.pirate_forms_wrap .form_field_wrap textarea {
+       min-height: 100px;
+}
+
+.pirate_forms_wrap .pirate-forms-submit-button {
+       float: left;
+}
+
+.pirate_forms_wrap .form_field_wrap label {
+       float: left;
+}
+
+
+/* -------------------------------------------------------------------
+Widgets
+------------------------------------------------------------------- */
+
+.sidebar .widget {
+       margin-bottom: 60px;
+}
+
+.sidebar .widget:last-child {
+       margin-bottom: 0;
+}
+
+.sidebar .widget-title {
+       color: #111;
+}
+
+.widget .widget-title {
+       margin: 0 0 15px;
+       padding: 0 0 10px;
+       border-bottom: 1px dotted #c2c2c2;
+       font-family: "Roboto Condensed", sans-serif;
+       font-size: 14px;
+       letter-spacing: 2px;
+       text-transform: uppercase;
+}
+
+.widget ul li {
+       padding-top: 10px;
+       line-height: 21px;
+}
+
+.widget ul li:before {
+       padding-right: 5px;
+       color: #666;
+       content: "\00BB";
+}
+
+.widget ul {
+       margin: 0;
+       padding: 0;
+       list-style: none;
+}
+
+.widget ul ul {
+       margin-left: 1.5em;
+}
+
+.widget .screen-reader-text {
+       display: none;
+}
+
+.widget select {
+       width: 100%;
+       height: 33px;
+       border: 1px solid #eaeaea;
+       border-radius: 2px;
+       font-family: "Roboto Condensed", sans-serif;
+       font-size: 11px;
+       font-size: 12px;
+       letter-spacing: 2px;
+       text-transform: uppercase;
+}
+
+.widget label {
+       position: relative;
+       width: 100%;
+}
+
+.widget form {
+       position: relative;
+}
+
+.widget input[type=search] {
+       width: 100%;
+       height: 33px;
+       padding: 5px 30px 5px 12px;
+       border: 1px solid #eaeaea;
+       border-radius: 2px;
+       font-family: "Roboto Condensed", sans-serif;
+       font-size: 12px;
+       font-weight: 400;
+       letter-spacing: 2px;
+       -webkit-transition: all 0.3s;
+       transition: all 0.3s;
+}
+
+.widget input[type=search]:focus {
+       border-color: #cacaca;
+}
+
+.widget_search form label:after {
+       display: inline-block;
+       overflow: hidden;
+       position: absolute;
+       top: 0;
+       right: 1px;
+       width: 33px;
+       height: 33px;
+       border: none;
+       outline: none;
+       color: #999;
+       background: transparent;
+       font: normal normal normal 15px/33px ElegantIcons;
+       line-height: 33px;
+       text-align: center;
+       content: "\55";
+       text-rendering: auto;
+}
+
+.widget input[type=submit],
+.widget button[type=submit] {
+       width: auto;
+       padding: 8px 37px;
+       border: none;
+       border-radius: 2px;
+       color: #fff;
+       background: rgba(17, 17, 17, 1);
+       font-family: "Roboto Condensed", sans-serif;
+       font-size: 11px;
+       letter-spacing: 2px;
+       text-transform: uppercase;
+}
+
+.widget input[type=submit]:hover,
+.widget button[type=submit]:hover {
+       opacity: 0.8;
+}
+
+.widget.widget_search form input[type=submit] {
+       overflow: hidden;
+       position: absolute;
+       top: 0;
+       right: 1px;
+       width: 33px;
+       height: 33px;
+       border: none;
+       outline: none;
+       color: #999;
+       background: transparent;
+       font-size: 14px;
+       line-height: 38px;
+       text-indent: -99999999px;
+}
+
+.widget .icon-list li {
+       padding: 5px 0;
+}
+
+.widget .menu {
+       border-bottom: none;
+}
+
+.widget .icon-list li a:before {
+       padding-right: 5px;
+       color: #666;
+       content: "\00BB";
+}
+
+.widget-posts li {
+       margin: 0 0 15px;
+}
+
+.widget-posts li:last-child {
+       margin: 0;
+}
+
+.widget-posts-image {
+       float: left;
+       width: 64px;
+}
+
+.widget-posts-body {
+       margin-left: 74px;
+}
+
+.search-box {
+       position: relative;
+}
+
+.widget .tagcloud a {
+       display: inline-block;
+       margin: 0 0 4px;
+       padding: 4px 10px 4px 12px;
+       border-radius: 2px;
+       color: #111;
+       color: #fff;
+       background: #111;
+       font-size: 10px !important;
+       font-style: italic;
+}
+
+
+/* -------------------------------------------------------------------
+Calendar Widget
+------------------------------------------------------------------- */
+
+.widget_calendar table,
+.widget_calendar td {
+       border: 0;
+       border-spacing: 1px;
+       border-collapse: separate;
+}
+
+.widget_calendar caption {
+       margin: 0;
+       font-size: 14px;
+}
+
+.widget_calendar th,
+.widget_calendar td {
+       padding: 0;
+       text-align: center;
+}
+
+.widget_calendar a {
+       display: block;
+       background-color: rgba(0, 0, 0, 0.03);
+}
+
+.widget_calendar a:hover {
+       color: #fff;
+       background-color: rgba(0, 0, 0, 0.15);
+}
+
+.widget_calendar tbody td {
+       background-color: rgba(255, 255, 255, 0.5);
+}
+
+.site-footer .widget_calendar tbody td {
+       background-color: rgba(255, 255, 255, 0.05);
+}
+
+.widget_calendar tbody .pad,
+.site-footer .widget_calendar tbody .pad {
+       background-color: transparent;
+}
+
+.widget_calendar thead th {
+       color: #fff;
+       background-color: rgb(17, 17, 17);
+       font-weight: normal;
+}
+
+
+/* -------------------------------------------------------------------
+Tags
+------------------------------------------------------------------- */
+
+.tags a {
+       display: inline-block;
+       margin: 0 0 4px;
+       padding: 4px 10px 4px 12px;
+       border-radius: 2px;
+       color: #fff;
+       background: #111;
+       font-size: 10px;
+}
+
+.tags a:hover {
+       background: rgba(17, 17, 17, 0.8);
+}
+
+
+/* -------------------------------------------------------------------
+Comments and comment form
+------------------------------------------------------------------- */
+
+.comments,
+#comments {
+       margin: 50px 0 0;
+}
+
+.comments .comment-title,
+.comment-form .comment-form-title,
+#comments .comment-reply-title {
+       margin: 0 0 20px;
+       padding-bottom: 15px;
+       border-bottom: 1px dotted #c2c2c2;
+       color: #111;
+       font-size: 16px;
+}
+
+.comment-author {
+       margin: 0 0 5px;
+       font-size: 14px;
+}
+
+.comment-avatar {
+       float: left;
+       width: 55px;
+       margin-top: 10px;
+}
+
+.comment-avatar img {
+       border-radius: 50%;
+}
+
+.comment-content {
+       margin-bottom: 30px;
+       margin-left: 75px;
+       padding-top: 5px;
+       padding-bottom: 20px;
+}
+
+
+/* -------------------------------------------------------------------
+Client logos
+------------------------------------------------------------------- */
+
+.client-logo {
+       opacity: 0.5;
+}
+
+.client-logo:hover {
+       opacity: 1;
+}
+
+
+/* -------------------------------------------------------------------
+Shop
+------------------------------------------------------------------- */
+
+.shop-with-sidebar {
+       float: right !important;
+}
+
+.navbar-custom .navbar-cart > a {
+       position: relative;
+       font-size: 12px;
+}
+
+.navbar-custom .navbar-cart a:after {
+       content: "";
+}
+
+.navbar-cart .cart-item-number {
+       display: block;
+       position: absolute;
+       top: 21px;
+       right: 7px;
+       width: 14px;
+       height: 14px;
+       border-radius: 2px;
+       color: #111;
+       background: #e5e5e5;
+       font-size: 10px;
+       line-height: 14px;
+       text-align: center;
+       letter-spacing: 0;
+}
+
+/* If cart is last item - add padding-left */
+
+.navbar-custom .navbar-nav > li:last-child.navbar-cart > a {
+       padding-left: 22px;
+}
+
+/* Navbar cart item */
+
+.sub-menu.cart-list,
+.children.cart-list {
+       padding: 11px 15px;
+       background: rgba(26, 26, 26, 0.92);
+       text-align: right;
+}
+
+.navbar-cart-item {
+       margin: 0 0 10px;
+       border: 1px solid rgba(73, 71, 71, 0.15);
+}
+
+.navbar-cart-img {
+       float: left;
+       border: 3px solid rgba(255, 255, 255, 0.1);
+}
+
+.navbar-cart-img img {
+       max-width: 64px;
+}
+
+.navbar-cart-title {
+       margin-left: 70px;
+       padding: 10px;
+       white-space: nowrap;
+}
+
+.navbar-cart-title a,
+.navbar-cart-title .cart-amount {
+       font-size: 11px;
+       letter-spacing: 2px;
+}
+
+.navbar-cart-title a {
+       display: block;
+       margin: 0 0 5px;
+}
+
+.navbar-cart-title .cart-amount {
+       font-size: 10px;
+}
+
+.cart-sub-totle {
+       margin: 10px 0 20px;
+}
+
+/* Links hover */
+
+.navbar-cart-item a {
+       color: #999;
+}
+
+.navbar-cart-item a:hover {
+       color: #fff;
+}
+
+
+/* -------------------------------------------------------------------
+Shope item
+------------------------------------------------------------------- */
+
+.shop-item {
+       margin: 0 0 40px;
+       text-align: center;
+}
+
+.shop-item-image {
+       overflow: hidden;
+       position: relative;
+}
+
+.shop-item-image img {
+       width: 100%;
+       -webkit-transition: all 0.8s;
+       transition: all 0.8s;
+}
+
+.shop-item-image img:nth-child(2),
+ul.products li.product img:nth-child(2) {
+       position: absolute;
+       z-index: 0;
+       top: 0;
+       left: 0;
+       opacity: 0;
+       -webkit-transition: all 0.8s;
+       transition: all 0.8s;
+}
+
+.shop-item-image:hover img:nth-child(2),
+ul.products li.product:hover img:nth-child(2) {
+       opacity: 1;
+}
+
+.prod-img-wrap img {
+       width: 100%;
+       -webkit-transition: all 0.5s;
+       transition: all 0.5s;
+}
+
+.prod-img-wrap img:nth-child(2) {
+       position: absolute;
+       z-index: 0;
+       top: 0;
+       left: 0;
+       opacity: 0;
+       -webkit-transition: all 0.5s;
+       transition: all 0.5s;
+}
+
+.prod-img-wrap:hover img:nth-child(2) {
+       opacity: 1;
+}
+
+.prod-img-wrap:before {
+       position: absolute;
+       z-index: 2;
+       top: 0;
+       right: 0;
+       bottom: 0;
+       left: 0;
+       width: 100%;
+       height: 100%;
+       background: rgba(255,255,255,0);
+       content: "";
+       -webkit-transition: all 0.5s;
+       transition: all 0.5s;
+}
+
+.prod-img-wrap:hover:before {
+       background: rgba(255,255,255,0.6);
+       -webkit-transition: all 0.5s;
+       transition: all 0.5s;
+}
+
+.shop-item-detail,
+.shop-item-image:after {
+       -webkit-transition: all 0.4s ease-in-out 0s;
+       transition: all 0.4s ease-in-out 0s;
+}
+
+.shop-item-image:after {
+       display: block;
+       position: absolute;
+       top: 0;
+       left: 0;
+       width: 100%;
+       height: 100%;
+       content: "";
+}
+
+.shop-item-detail {
+       position: absolute;
+       z-index: 2;
+       bottom: 100%;
+       left: 0;
+       width: 100%;
+       padding: 20px;
+       opacity: 0;
+       color: #aaa;
+       font-size: 12px;
+       text-align: center;
+}
+
+.shop-item-title {
+       margin: 15px 0 5px;
+       color: #111;
+       font-size: 14px;
+       font-weight: 400;
+}
+
+/* Shop item hover */
+
+.shop-item:hover .shop-item-image:after {
+       background: rgba(255, 255, 255, 0.7);
+}
+
+.add_to_cart_button {
+       position: absolute;
+       z-index: 2;
+       bottom: 100%;
+       left: 0;
+       width: 100%;
+       padding: 20px;
+       opacity: 0;
+       color: #aaa;
+       font-size: 12px;
+       text-align: center;
+}
+
+.shop-item:hover .shop-item-detail,
+.product:hover .add_to_cart_button {
+       bottom: 50%;
+       opacity: 1;
+       -webkit-transform: translateY(50%);
+       -ms-transform: translateY(50%);
+       transform: translateY(50%);
+}
+
+
+/* -------------------------------------------------------------------
+Shope item
+------------------------------------------------------------------- */
+
+.ex-product {
+       opacity: 0.7;
+       -webkit-transition: all 0.4s ease-in-out 0s;
+       transition: all 0.4s ease-in-out 0s;
+}
+
+.ex-product:hover {
+       opacity: 1;
+}
+
+
+/* -------------------------------------------------------------------
+Shop product detail
+------------------------------------------------------------------- */
+
+.product-gallery {
+       width: 100%;
+       margin: 10px 0 0;
+       padding: 0;
+       list-style: none;
+}
+
+.product-gallery li {
+       display: inline-block;
+       width: 15%;
+       margin: 0 5px;
+}
+
+.product-gallery li:first-child {
+       margin-left: 0;
+}
+
+.product-title {
+       margin: 0 0 20px;
+       color: #111;
+}
+
+.star,
+.star-off {
+       margin-bottom: 5px;
+       color: #f1c40f;
+}
+
+.star-off {
+       color: #e5e5e5;
+}
+
+.amount {
+       color: #111;
+       font-size: 12px;
+}
+
+.reviews {
+       margin: 0;
+}
+
+.single-product .amount {
+       font-family: "Roboto Condensed", sans-serif;
+       font-size: 32px;
+       letter-spacing: 2px;
+       text-transform: uppercase;
+}
+
+
+/* -------------------------------------------------------------------
+Scroll to top
+------------------------------------------------------------------- */
+
+.scroll-up {
+       display: none;
+       position: fixed;
+       z-index: 999;
+       right: 7px;
+       bottom: 7px;
+}
+
+.scroll-up a {
+       display: block;
+       width: 28px;
+       height: 28px;
+       border-radius: 2px;
+       opacity: 0.6;
+       color: #000;
+       background: #fff;
+       font-size: 14px;
+       line-height: 28px;
+       text-align: center;
+}
+
+.scroll-up a:hover,
+.scroll-up a:active {
+       opacity: 1;
+       color: #000;
+}
+.shop_isle_header_title {
+       float: left;
+       margin-left: 15px;
+       padding: 5px;
+}
+.shop_isle_header_title h1,
+.shop_isle_header_title h2 {
+       margin-top: 0;
+       margin-bottom: 0;
+}
+.shop_isle_header_title h1 {
+       line-height: 16px;
+}
+.shop_isle_header_title h1 a {
+       display: block;
+       color: #fff;
+       font-size: 22px;
+       font-weight: 400;
+       line-height: 24px;
+       letter-spacing: 4px;
+}
+.shop_isle_header_title h2 {
+       line-height: 12px;
+}
+.shop_isle_header_title h2 a {
+       display: block;
+       color: #fff;
+       font-size: 12px;
+       line-height: 16px;
+}
+.shop_isle_header_title {
+       text-align: center;
+}
+.shop_isle_banners_section {
+       text-align: center;
+}
+.shop_isle_banners_section .widget {
+       display: inline-block;
+       width: 33.33333333%;
+}
+.header-menu-wrap {
+       display: table-cell !important;
+       vertical-align: middle;
+}
+.navbar-header {
+       display: table-cell !important;
+       float: none;
+       width: 230px;
+       vertical-align: middle;
+}
+.header-container {
+       display: table;
+       width: 100%;
+       min-height: 50px;
+}
+.shop-isle-header-title-inner {
+       float: left;
+       text-align: center;
+}
+
+
+/*--------------------------------------------------------------
+404 Error page
+--------------------------------------------------------------*/
+
+.error-page-background {
+       display: table;
+}
+.error-page-background .hs-caption {
+       display: table-cell;
+       text-align: center;
+       vertical-align: middle;
+}
+
+
+/*--------------------------------------------------------------
+       ALIGNMENTS
+--------------------------------------------------------------*/
+
+.alignleft {
+       display: inline;
+       float: left;
+       margin-right: 1.5em;
+}
+
+.alignright {
+       display: inline;
+       float: right;
+       margin-left: 1.5em;
+}
+
+.aligncenter {
+       display: block;
+       clear: both;
+       margin: 0 auto;
+}
+.shop-isle-poweredby-box {
+       width: 100%;
+       margin-bottom: 0;
+       font-size: 9px;
+       text-align: left;
+       letter-spacing: 1px;
+}
+
+
+/* ------------------------------
+ Sevices section
+ -------------------------------- */
+
+.sip-services-wrap {
+       float: left;
+       width: 100%;
+       text-align: center;
+}
+
+.sip-services-wrap .sip-service-box {
+       display: inline-block;
+       float: none;
+       margin-right: -4px;
+       padding-top: 20px;
+       padding-bottom: 10px;
+}
+
+.sip-single-service {
+       text-align: center;
+}
+
+.sip-single-service-a {
+       display: block;
+}
+
+.sip-single-service-a:hover {
+       color: #aaa;
+}
+
+.sip-single-service-text h3 {
+       margin: 16px 0 15px;
+       font-family: "Roboto Condensed", sans-serif;
+       font-size: 14px;
+       font-weight: 400;
+       letter-spacing: 2px;
+       text-transform: uppercase;
+}
+
+.sip-single-icon {
+       font-size: 42px;
+       line-height: 1.2;
+}
+
+
+/* ------------------------------
+ Category section
+ -------------------------------- */
+
+.popular-categories-wrap {
+       float: left;
+       width: 100%;
+       padding: 0 5px;
+       padding-bottom: 70px;
+}
+
+.popular-category {
+       padding: 5px;
+}
+
+.category-image-wrap img,
+.category-image-wrap:after,
+.popular-category-caption {
+       -webkit-transition: all 0.3s ease-in-out 0s;
+       transition: all 0.3s ease-in-out 0s;
+}
+
+.category-image-wrap {
+       overflow: hidden;
+       position: relative;
+}
+
+.category-image-wrap img {
+       display: block;
+       overflow: hidden;
+       width: 100%;
+       background: #fff;
+}
+
+.popular-category-caption {
+       overflow: hidden;
+       position: absolute;
+       bottom: 100%;
+       left: 0;
+       width: 100%;
+       padding: 0 20px;
+       opacity: 0;
+       text-align: center;
+}
+
+.popular-category-title {
+       margin: 0;
+       padding: 0;
+       color: #111;
+       font-family: "Roboto Condensed", sans-serif;
+       font-size: 14px;
+       font-weight: 400;
+       letter-spacing: 2px;
+       text-transform: uppercase;
+}
+
+.popular-category:hover .category-image-wrap img {
+       opacity: 0.2;
+       -webkit-transform: scale(1.1) rotate(2deg);
+       -ms-transform: scale(1.1) rotate(2deg);
+       transform: scale(1.1) rotate(2deg);
+}
+
+.popular-category:hover .popular-category-caption {
+       z-index: 3;
+       bottom: 50%;
+       opacity: 1;
+       -webkit-transform: translateY(50%);
+       -ms-transform: translateY(50%);
+       transform: translateY(50%);
+}
+
+.shortcodes {
+       padding: 70px 0;
+}
+
+
+/* -------------------------------------------------------------------
+WR Mega Menu
+------------------------------------------------------------------- */
+
+.wr-megamenu-container ul.wr-mega-menu {
+       text-align: right !important;
+}
+
+.wr-megamenu-container .jsn-bootstrap3 .row,
+.wr-megamenu-container .row ul.wr-mega-menu li > ul.sub-menu {
+       right: initial !important;
+       text-align: left !important;
+}
+
+.wr-megamenu-container ul.wr-mega-menu > li {
+       float: none !important;
+}
+
+.wr-megamenu-container ul.wr-mega-menu ul ul.sub-menu {
+       right: initial !important;
+}
+
+.wr-megamenu-container ul.wr-mega-menu li.wr-megamenu-item > a.menu-item-link {
+       text-align: left !important;
+}
+
+.wr-mega-menu > li > a,
+.wr-megamenu-container a {
+       color: rgba(255, 255, 255, 0.7) !important;
+}
+
+.wr-megamenu-container a:hover {
+       color: rgba(255, 255, 255, 1) !important;
+}
+
+.wr-megamenu-container .wr-megamenu-inner a {
+       padding: 5px 0 !important;
+}
+
+.wr-megamenu-container .wr-megamenu-inner .submenu-items {
+       display: block !important;
+}
+
+.wr-megamenu-container .current_page_item > a,
+.wr-megamenu-container .current_page_ancestor > a,
+.wr-megamenu-container .current-menu-item > a,
+.wr-megamenu-container .current-menu-ancestor > a {
+       color: rgba(255, 255, 255, 1) !important;
+}
+
+.wr-megamenu-container ul.wr-mega-menu li.wr-megamenu-item > a.menu-item-link,
+.wr-megamenu-container ul.wr-mega-menu li.wr-megamenu-item:hover > a.menu-item-link {
+       background: none !important;
+       font-weight: normal !important;
+}
+
+.wr-megamenu-container ul.wr-mega-menu.nav-menu > li.menu-item.wr-megamenu-item:hover > a.menu-item-link {
+       color: #fff !important;
+}
+
+.wr-megamenu-container ul.wr-mega-menu ul.sub-menu,
+.wr-megamenu-inner {
+       border: none !important;
+}
+
+.preview-text {
+       font-size: 12px;
+       font-weight: 400;
+       line-height: 20px;
+       letter-spacing: 1px;
+       text-transform: none;
+}
+
+.image_caption {
+       padding: 5px 0;
+       color: #fff;
+       font-size: 12px;
+       font-weight: 400;
+       line-height: 20px;
+       letter-spacing: 1px;
+       text-transform: none;
+}
+
+.jsn-bootstrap3 .glyphicon {
+       display: none !important;
+}
+
+.wr-element-submenu .submenu-items {
+       padding: 0 15px !important;
+}
+
+.it-responsive-mega {
+       display: none !important;
+}
+
+.wr-mega-menu .wr-menu-down {
+       display: block !important;
+       position: absolute;
+       z-index: 9999999;
+       z-index: 9;
+       top: 0;
+       right: -10px;
+       width: 15px;
+       height: 25px;
+       margin: 7px;
+       color: rgba(255, 255, 255, 0.7);
+       background: none !important;
+}
+
+.wr-mega-menu .wr-menu-down:before {
+       display: block !important;
+       font: normal normal normal 14px/1 ElegantIcons;
+       font-size: 9px;
+       -webkit-font-smoothing: antialiased;
+       -moz-osx-font-smoothing: grayscale;
+       line-height: 16px;
+       line-height: 38px;
+       text-align: center;
+       content: "\43";
+       content: "\43";
+       text-rendering: auto;
+}
+
+@media screen and (max-width: 783px) {
+       .wr-megamenu-container ul.wr-mega-menu > li.wr-megamenu-item > a.menu-item-link {
+               text-align: left !important;
+       }
+
+       .wr-mega-menu .wr-menu-down {
+               margin: -42px 7px 0 0 !important;
+       }
+
+       .wr-megamenu-container .wr-megamenu-inner a,
+       .wr-megamenu-container .wr-megamenu-inner ul a {
+               padding: 13px !important;
+       }
+}
+
+@media screen and (min-width: 783px) {
+       .wr-megamenu-container li li {
+               max-width: 200px !important;
+       }
+
+       .wr-megamenu-container ul.wr-mega-menu ul.sub-menu li a {
+               padding: 12px !important;
+       }
+
+       .wr-megamenu-container ul.wr-mega-menu ul.sub-menu li a {
+               border-bottom: none !important;
+       }
+}
+
+@media screen and (min-width: 768px) and (max-width: 783px) {
+       .wr-megamenu-container ul.wr-mega-menu > li {
+               display: inline-block !important;
+               width: auto !important;
+               border: 0 !important;
+       }
+       .wr-megamenu-container ul.wr-mega-menu > li.wr-megamenu-item > a.menu-item-link {
+               margin-right: 0 !important;
+       }
+       .wr-mega-menu .wr-menu-down {
+               width: 15px !important;
+       }
+       .wr-mega-menu > li > a,
+       .wr-megamenu-container a {
+               padding: 15px !important;
+       }
+}
+
+
+/* -------------------------------------------------------------------
+Mega menu Plugin
+------------------------------------------------------------------- */
+
+.wr-megamenu-inner {
+       border: none !important;
+       color: #fff !important;
+       background: rgba(0, 0, 0, 0.9) !important;
+}
+
+.it-responsive-mega {
+       display: none !important;
+}
+
+.wr-megamenu-container ul.wr-mega-menu ul li a.menu-item-link {
+       color: #fff;
+       background: rgba(0,0,0,0.9);
+}
+
+.wr-megamenu-container ul {
+       border: none !important;
+}
+
+.wr-megamenu-container ul.wr-mega-menu li.wr-megamenu-item:hover > a.menu-item-link {
+       color: #000 !important;
+}
+
+.wr-megamenu-container .wr_text {
+       text-transform: initial;
+}
+
+
+/* -------------------------------------------------------------------
+ +SiteOrigin Page Builder styles
+ +------------------------------------------------------------------- */
+
+.siteorigin-panels.page-template-template-fullwidth-no-title .main > .module {
+       padding: 50px 0 0;
+}
+.siteorigin-panels.page-template-template-fullwidth-no-title .widget li:before {
+       display: none;
+}
+
+
+/* -------------------------------------------------------------------
+Responsive Media Querries
+------------------------------------------------------------------- */
+
+@media (min-width: 768px) {
+       body.home .navbar-transparent {
+               padding-top: 15px;
+               padding-bottom: 15px;
+               background: transparent !important;
+       }
+
+       .navbar-custom .sub-menu,
+       .navbar-custom .children {
+               display: block;
+               visibility: hidden;
+               position: absolute;
+               z-index: 10;
+               opacity: 0;
+       }
+
+       .navbar-custom .open > .sub-menu,
+       .navbar-custom .open > .children {
+               visibility: visible;
+               opacity: 1;
+       }
+
+       .navbar-custom .sub-menu .menu-item-has-children-toggle:after,
+       .navbar-custom .children .menu-item-has-children-toggle:after {
+               display: block;
+               position: absolute;
+               top: 50%;
+               right: 9px;
+               margin-top: -6px;
+               font: normal normal normal 14px/1 "ElegantIcons";
+               font-size: 9px;
+               -webkit-font-smoothing: antialiased;
+               -moz-osx-font-smoothing: grayscale;
+               content: "\45";
+               text-rendering: auto;
+       }
+
+       .navbar-right .sub-menu,
+       .navbar-right .children {
+               right: auto;
+               left: 0;
+       }
+
+       .navbar-nav > ul > li {
+               float: left;
+               list-style: none;
+       }
+
+       .navbar-nav > ul li {
+               position: relative;
+       }
+
+       .navbar-nav > ul li:hover > ul.children {
+               visibility: visible;
+               opacity: 1;
+       }
+
+       .navbar-nav > li > a {
+               padding-top: 3px;
+               padding-bottom: 3px;
+       }
+
+/* Comments */
+
+       .comment .comment {
+               margin-left: 75px;
+       }
+
+       .navbar-nav > ul > li > a {
+               display: block;
+               padding: 3px 15px;
+       }
+
+       .navbar-custom ul.nav > li.has_children > .dropdownmenu:before {
+               line-height: 16px;
+               content: "\43";
+       }
+
+       .navbar-right {
+               text-align: right;
+       }
+
+       .navbar-nav > li {
+               display: inline-block;
+               float: none;
+               position: relative;
+       }
+
+       #ribbon .module-title {
+               margin-bottom: 0;
+       }
+
+       #ribbon .row {
+               display: -webkit-box;
+               display: -webkit-flex;
+               display: -ms-flexbox;
+               display: flex;
+
+               -webkit-align-items: center;
+               align-items: center;
+               -webkit-box-align: center;
+               -ms-flex-align: center;
+       }
+
+       .module-advantages .multi-columns-row {
+               text-align: center;
+       }
+
+       .module-advantages .multi-columns-row div.col-sm-6 {
+               display: inline-block;
+               float: none;
+       }
+}
+
+@media (max-width: 1200px) {
+       /* Features */
+
+       .alt-features-item {
+               margin: 20px 0 0;
+       }
+}
+
+@media (max-width: 1050px) {
+       /* Navbar */
+
+       .navbar-custom {
+               letter-spacing: 1px;
+       }
+}
+
+@media (max-width: 991px) {
+       /* Navbar */
+
+       .navbar-custom {
+               letter-spacing: 0;
+       }
+
+/* Headers */
+
+       .hs-title-size-3 {
+               font-size: 36px;
+               letter-spacing: 8px;
+       }
+
+       .hs-title-size-4 {
+               font-size: 38px;
+               letter-spacing: 12px;
+       }
+
+       .work-item,
+       .works-grid-3 .work-item,
+       .container .works-grid-3 .work-item,
+       .works-grid-4 .work-item,
+       .works-grid-5 .work-item {
+               width: 50%;
+       }
+
+/* Half-image */
+
+       .side-image {
+               position: relative;
+               height: 300px;
+       }
+}
+
+@media (max-width: 767px) {
+       .shop_isle_banners_section .widget {
+               width: 100%;
+       }
+       .navbar-toggle {
+               display: table-cell;
+               float: none;
+               width: 44px;
+               vertical-align: middle;
+               cursor: pointer;
+       }
+
+       .navbar-header {
+               display: table !important;
+               width: 100%;
+               min-height: 50px;
+       }
+       .shop_isle_header_title {
+               display: table-cell !important;
+               float: none;
+               margin-left: 0;
+               text-align: left;
+               vertical-align: middle;
+       }
+
+       .navbar-fixed-top .navbar-collapse {
+               float: left;
+               position: absolute;
+               z-index: 9999999;
+               top: 100%;
+               left: 0;
+               width: 100%;
+               background: #1b1b1b;
+       }
+
+       .header-container {
+               width: 100%;
+       }
+       .navbar-header {
+               margin-right: 0;
+               padding-right: 0;
+       }
+
+/* Navbar */
+
+       .navbar-custom .navbar-nav {
+               width: 100%;
+               margin-top: 1px;
+               margin-bottom: 0;
+               letter-spacing: 3px;
+       }
+
+       .navbar-custom li > a:hover {
+               background: rgba(255, 255, 255, 0.1) !important;
+       }
+
+       .navbar-custom .navbar-nav .open .sub-menu .menu-item-has-children-header,
+       .navbar-custom .navbar-nav .open .sub-menu > li > a,
+       .navbar-custom .navbar-nav .open .children .menu-item-has-children-header,
+       .navbar-custom .navbar-nav .open .children > li > a {
+               padding: 10px 25px;
+       }
+
+       .navbar-custom .navbar-nav .open .sub-menu .sub-menu .menu-item-has-children-header,
+       .navbar-custom .navbar-nav .open .sub-menu .sub-menu > li > a,
+       .navbar-custom .navbar-nav .open .children .sub-menu .menu-item-has-children-header,
+       .navbar-custom .navbar-nav .open .children .sub-menu > li > a {
+               padding: 10px 35px;
+       }
+
+       .navbar-custom li a,
+       .navbar-custom .menu-item-has-children-search {
+               border-bottom: 1px solid rgba(73, 71, 71, 0.15) !important;
+       }
+
+       .navbar-custom .menu-item-has-children-toggle:after,
+       .navbar-custom .sub-menu .menu-item-has-children-toggle:after,
+       .navbar-custom .children .menu-item-has-children-toggle:after {
+               right: 7px;
+               content: "\f107";
+       }
+
+       .navbar-custom .nav > .open > .dropdown-toggle:after,
+       .navbar-custom .sub-menu .menu-item-has-children.open .menu-item-has-children-toggle:after,
+       .navbar-custom .children .menu-item-has-children.open .menu-item-has-children-toggle:after {
+               right: 7px;
+               content: "\f106";
+       }
+
+/* Shop navbar */
+
+       .navbar-custom .navbar-nav > li:last-child.navbar-cart > a {
+               padding-left: 15px;
+       }
+
+       .navbar-custom .navbar-cart-item a {
+               border: 0 !important;
+       }
+
+       .sub-menu.cart-list,
+       .children.cart-list {
+               border-bottom: 1px solid rgba(73, 71, 71, 0.15) !important;
+               text-align: left;
+       }
+       .navbar-cart-item {
+               padding-bottom: 10px;
+               border: none;
+               border-bottom: 1px solid rgba(73, 71, 71, 0.15) !important;
+       }
+
+       .navbar-cart-img {
+               display: none;
+       }
+
+       .navbar-cart-title {
+               margin-left: 0;
+               padding: 0;
+               white-space: normal;
+       }
+
+/* Headers */
+
+       .hs-title-size-1 {
+               font-size: 14px;
+               letter-spacing: 2px;
+       }
+
+       .hs-title-size-2 {
+               opacity: 0.8;
+               font-size: 16px;
+               line-height: 1.3;
+               letter-spacing: 2px;
+       }
+
+       .hs-title-size-3 {
+               font-size: 26px;
+               letter-spacing: 4px;
+       }
+
+       .hs-title-size-4 {
+               font-size: 28px;
+               letter-spacing: 6px;
+       }
+
+/* Features */
+
+       .features-item {
+               margin: 0 0 30px;
+       }
+
+       .alt-features-item {
+               margin: 0 0 30px;
+               padding-left: 0;
+               text-align: center;
+       }
+
+       .alt-features-icon {
+               position: static;
+               width: auto;
+               margin: 0 auto 8px;
+       }
+
+/* Callout */
+
+       .callout-text {
+               margin: 0 0 30px;
+       }
+
+       .callout-text,
+       .callout-btn-box {
+               text-align: center;
+       }
+
+/* Sidebar */
+
+       .sidebar {
+               margin-top: 50px;
+       }
+
+       .widget {
+               margin-bottom: 60px;
+       }
+
+       .post.mb-0 {
+               margin-bottom: 40px !important;
+       }
+
+       .footer {
+               text-align: center;
+       }
+
+       .copyright,
+       .footer-social-links,
+       .shop-isle-poweredby-box {
+               margin: 10px 0;
+               text-align: center;
+       }
+
+/* Half-image */
+
+       .side-image-text {
+               padding-right: 15px;
+               padding-left: 15px;
+       }
+
+/* Restaurant menu */
+
+       .menu-title,
+       .menu-detail,
+       .menu-price-detail {
+               text-align: center;
+       }
+
+       .align-center-sm {
+               text-align: center;
+       }
+
+       .align-left-sm {
+               text-align: left;
+       }
+
+/* Scroll up btn*/
+
+       .scroll-up {
+               display: none !important;
+       }
+
+       .about-team-member .fadeInUp {
+               max-width: 300px;
+       }
+}
+
+@media only screen and (max-width: 480px) {
+       .work-item,
+       .works-grid-3 .work-item,
+       .works-grid-4 .work-item,
+       .works-grid-5 .work-item {
+               width: 100%;
+       }
+}
+
+
+/* -------------------------------------------------------------------
+Multi-columns-row
+------------------------------------------------------------------- */
+
+.multi-columns-row .first-in-row {
+       clear: left;
+}
+
+.multi-columns-row .col-xs-6:nth-child(2n + 3) {
+       clear: left;
+}
+.multi-columns-row .col-xs-4:nth-child(3n + 4) {
+       clear: left;
+}
+.multi-columns-row .col-xs-3:nth-child(4n + 5) {
+       clear: left;
+}
+.multi-columns-row .col-xs-2:nth-child(6n + 7) {
+       clear: left;
+}
+.multi-columns-row .col-xs-1:nth-child(12n + 13) {
+       clear: left;
+}
+
+@media (min-width: 768px) {
+       .multi-columns-row .col-xs-6:nth-child(2n + 3) {
+               clear: none;
+       }
+       .multi-columns-row .col-xs-4:nth-child(3n + 4) {
+               clear: none;
+       }
+       .multi-columns-row .col-xs-3:nth-child(4n + 5) {
+               clear: none;
+       }
+       .multi-columns-row .col-xs-2:nth-child(6n + 7) {
+               clear: none;
+       }
+       .multi-columns-row .col-xs-1:nth-child(12n + 13) {
+               clear: none;
+       }
+
+       .multi-columns-row .col-sm-6:nth-child(2n + 3) {
+               clear: left;
+       }
+       .multi-columns-row .col-sm-4:nth-child(3n + 4) {
+               clear: left;
+       }
+       .multi-columns-row .col-sm-3:nth-child(4n + 5) {
+               clear: left;
+       }
+       .multi-columns-row .col-sm-2:nth-child(6n + 7) {
+               clear: left;
+       }
+       .multi-columns-row .col-sm-1:nth-child(12n + 13) {
+               clear: left;
+       }
+}
+
+@media (min-width: 992px) {
+       .multi-columns-row .col-sm-6:nth-child(2n + 3) {
+               clear: none;
+       }
+       .multi-columns-row .col-sm-4:nth-child(3n + 4) {
+               clear: none;
+       }
+       .multi-columns-row .col-sm-3:nth-child(4n + 5) {
+               clear: none;
+       }
+       .multi-columns-row .col-sm-2:nth-child(6n + 7) {
+               clear: none;
+       }
+       .multi-columns-row .col-sm-1:nth-child(12n + 13) {
+               clear: none;
+       }
+
+       .multi-columns-row .col-md-6:nth-child(2n + 3) {
+               clear: left;
+       }
+       .multi-columns-row .col-md-4:nth-child(3n + 4) {
+               clear: left;
+       }
+       .multi-columns-row .col-md-3:nth-child(4n + 5) {
+               clear: left;
+       }
+       .multi-columns-row .col-md-2:nth-child(6n + 7) {
+               clear: left;
+       }
+       .multi-columns-row .col-md-1:nth-child(12n + 13) {
+               clear: left;
+       }
+}
+
+@media (min-width: 1200px) {
+       .multi-columns-row .col-md-6:nth-child(2n + 3) {
+               clear: none;
+       }
+       .multi-columns-row .col-md-4:nth-child(3n + 4) {
+               clear: none;
+       }
+       .multi-columns-row .col-md-3:nth-child(4n + 5) {
+               clear: none;
+       }
+       .multi-columns-row .col-md-2:nth-child(6n + 7) {
+               clear: none;
+       }
+       .multi-columns-row .col-md-1:nth-child(12n + 13) {
+               clear: none;
+       }
+
+       .multi-columns-row .col-lg-6:nth-child(2n + 3) {
+               clear: left;
+       }
+       .multi-columns-row .col-lg-4:nth-child(3n + 4) {
+               clear: left;
+       }
+       .multi-columns-row .col-lg-3:nth-child(4n + 5) {
+               clear: left;
+       }
+       .multi-columns-row .col-lg-2:nth-child(6n + 7) {
+               clear: left;
+       }
+       .multi-columns-row .col-lg-1:nth-child(12n + 13) {
+               clear: left;
+       }
+}
+
+
+/* -------------------------------------------------------------------
+Vertival margin, padding
+------------------------------------------------------------------- */
+
+.p-0 {
+       padding: 0!important;
+}
+.pt-0 {
+       padding-top: 0!important;
+}
+.pt-10 {
+       padding-top: 10px!important;
+}
+.pt-20 {
+       padding-top: 20px!important;
+}
+.pt-30 {
+       padding-top: 30px!important;
+}
+.pt-40 {
+       padding-top: 40px!important;
+}
+.pt-50 {
+       padding-top: 50px!important;
+}
+.pt-140 {
+       padding-top: 140px!important;
+}
+
+.pb-0 {
+       padding-bottom: 0!important;
+}
+.pb-10 {
+       padding-bottom: 10px!important;
+}
+.pb-20 {
+       padding-bottom: 20px!important;
+}
+.pb-30 {
+       padding-bottom: 30px!important;
+}
+.pb-40 {
+       padding-bottom: 40px!important;
+}
+.pb-50 {
+       padding-bottom: 50px!important;
+}
+.pb-140 {
+       padding-bottom: 140px!important;
+}
+
+.m-0 {
+       margin: 0 !important;
+}
+.mt-0 {
+       margin-top: 0 !important;
+}
+.mt-10 {
+       margin-top: 10px !important;
+}
+.mt-20 {
+       margin-top: 20px !important;
+}
+.mt-30 {
+       margin-top: 30px !important;
+}
+.mt-40 {
+       margin-top: 40px !important;
+}
+.mt-50 {
+       margin-top: 50px !important;
+}
+.mt-60 {
+       margin-top: 60px !important;
+}
+.mt-70 {
+       margin-top: 70px !important;
+}
+.mt-80 {
+       margin-top: 80px !important;
+}
+
+.mb-0 {
+       margin-bottom: 0!important;
+}
+.mb-10 {
+       margin-bottom: 10px !important;
+}
+.mb-20 {
+       margin-bottom: 20px !important;
+}
+.mb-30 {
+       margin-bottom: 30px !important;
+}
+.mb-40 {
+       margin-bottom: 40px !important;
+}
+.mb-50 {
+       margin-bottom: 50px !important;
+}
+.mb-60 {
+       margin-bottom: 60px !important;
+}
+.mb-70 {
+       margin-bottom: 70px !important;
+}
+.mb-80 {
+       margin-bottom: 80px !important;
+}
+
+@media only screen and (max-width:991px) {
+       .mt-sm-0 {
+               margin-top: 0!important;
+       }
+       .mt-sm-10 {
+               margin-top: 10px !important;
+       }
+       .mt-sm-20 {
+               margin-top: 20px !important;
+       }
+       .mt-sm-30 {
+               margin-top: 30px !important;
+       }
+       .mt-sm-40 {
+               margin-top: 40px !important;
+       }
+       .mt-sm-50 {
+               margin-top: 50px !important;
+       }
+       .mt-sm-60 {
+               margin-top: 60px !important;
+       }
+       .mt-sm-70 {
+               margin-top: 70px !important;
+       }
+       .mt-sm-80 {
+               margin-top: 80px !important;
+       }
+
+       .mb-sm-0 {
+               margin-bottom: 0!important;
+       }
+       .mb-sm-10 {
+               margin-bottom: 10px !important;
+       }
+       .mb-sm-20 {
+               margin-bottom: 20px !important;
+       }
+       .mb-sm-30 {
+               margin-bottom: 30px !important;
+       }
+       .mb-sm-40 {
+               margin-bottom: 40px !important;
+       }
+       .mb-sm-50 {
+               margin-bottom: 50px !important;
+       }
+       .mb-sm-60 {
+               margin-bottom: 60px !important;
+       }
+       .mb-sm-70 {
+               margin-bottom: 70px !important;
+       }
+       .mb-sm-80 {
+               margin-bottom: 80px !important;
+       }
+}
+
+@media only screen and (max-width:767px) {
+       .mt-xs-0 {
+               margin-top: 0!important;
+       }
+       .mt-xs-10 {
+               margin-top: 10px !important;
+       }
+       .mt-xs-20 {
+               margin-top: 20px !important;
+       }
+       .mt-xs-30 {
+               margin-top: 30px !important;
+       }
+       .mt-xs-40 {
+               margin-top: 40px !important;
+       }
+       .mt-xs-50 {
+               margin-top: 50px !important;
+       }
+       .mt-xs-60 {
+               margin-top: 60px !important;
+       }
+       .mt-xs-70 {
+               margin-top: 70px !important;
+       }
+       .mt-xs-80 {
+               margin-top: 80px !important;
+       }
+
+       .mb-xs-0 {
+               margin-bottom: 0!important;
+       }
+       .mb-xs-10 {
+               margin-bottom: 10px !important;
+       }
+       .mb-xs-20 {
+               margin-bottom: 20px !important;
+       }
+       .mb-xs-30 {
+               margin-bottom: 30px !important;
+       }
+       .mb-xs-40 {
+               margin-bottom: 40px !important;
+       }
+       .mb-xs-50 {
+               margin-bottom: 50px !important;
+       }
+       .mb-xs-60 {
+               margin-bottom: 60px !important;
+       }
+       .mb-xs-70 {
+               margin-bottom: 70px !important;
+       }
+       .mb-xs-80 {
+               margin-bottom: 80px !important;
+       }
+
+       .shop_isle_bannerss_section .col-sm-4 {
+               padding-top: 15px;
+               padding-bottom: 15px;
+       }
+       .dropdownmenu {
+               right: 0;
+       }
+       .admin-bar .navbar-custom {
+               top: 46px;
+       }
+       .shop_isle_bannerss_section .col-sm-4 {
+               padding-top: 15px;
+               padding-bottom: 15px;
+       }
+       .dropdownmenu {
+               right: 0;
+       }
+       .admin-bar .navbar-custom {
+               top: 46px;
+       }
+       .navbar-nav > ul > li {
+               list-style: none;
+       }
+       .navbar-nav > ul > li > a {
+               display: block;
+               padding: 10px 15px;
+               padding-top: 10px;
+               padding-bottom: 10px;
+               line-height: 20px;
+       }
+       .navbar-nav > ul {
+               margin-left: 0;
+               padding-left: 0;
+       }
+       .wpcf7-form {
+               margin-bottom: 25px;
+       }
+}
+
+@media screen and (max-width: 600px) {
+       .admin-bar .navbar-fixed-bottom,
+       .admin-bar .navbar-fixed-top {
+               position: absolute;
+       }
+}
+
+
+/* -------------------------------------------------------------------
+Woocommerce Products Per Page
+------------------------------------------------------------------- */
+
+.products-per-page select {
+       height: 33px;
+       padding-left: 10px;
+       border-radius: 2px;
+       font-family: "Roboto Condensed", sans-serif;
+       font-size: 12px;
+       letter-spacing: 2px;
+}
+
+@media screen and (max-width: 992px) {
+       .products-per-page {
+               float: right;
+               width: 100%;
+               margin-top: 20px;
+               margin-right: 0;
+               margin-left: 5px;
+               padding-right: 15px;
+               padding-left: 15px;
+       }
+       .products-per-page select {
+               width: 100%;
+               margin-right: 0;
+       }
+}
+
+
+/* -------------------------------------------------------------------
+WP Show Posts
+------------------------------------------------------------------- */
+
+#customer_details .col-1,
+#customer_details .col-2 {
+       clear: left;
+       width: 100%;
+}
+
+/* Nivo slider basic styling */
+.nivo-controlNav {
+       position: relative;
+       text-align: center;
+}
+.nivo-controlNav a,
+.nivo-directionNav a {
+       margin: 0 10px;
+       padding: 5px 10px;
+       opacity: 0.85;
+       color: #fff;
+       background-color: rgba(10, 10, 10, 0.9);
+       cursor: pointer;
+       -webkit-transition: 0.3s ease;
+       transition: 0.3s ease;
+}
+
+.nivo-controlNav a.active {
+       color: #333;
+       background: #fff;
+}
+
+.nivo-controlNav a:hover,
+.nivo-directionNav a:hover {
+       opacity: 1;
+}
+
+.nivo-directionNav {
+       position: relative;
+       z-index: 1000;
+       bottom: 40px;
+       width: 100%;
+}
+
+.nivo-directionNav .nivo-prevNav {
+       float: left;
+}
+
+.nivo-directionNav .nivo-prevNav:before {
+       content: "\00AB ";
+}
+
+.nivo-directionNav .nivo-nextNav {
+       float: right;
+}
+
+.nivo-directionNav .nivo-nextNav:after {
+       content: " \00BB";
+}
+
+/* END Nivo slider basic styling */
diff --git a/templates/shop-isle/assets/css/vendor/animate.css b/templates/shop-isle/assets/css/vendor/animate.css
new file mode 100644 (file)
index 0000000..ac231d2
--- /dev/null
@@ -0,0 +1,2809 @@
+@charset "UTF-8";
+
+/*!
+Animate.css - http://daneden.me/animate
+Licensed under the MIT license
+
+Copyright (c) 2013 Daniel Eden
+
+Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+*/
+
+.animated {
+       -webkit-animation-duration: 1s;
+       animation-duration: 1s;
+       -webkit-animation-fill-mode: both;
+       animation-fill-mode: both;
+}
+
+.animated.hinge {
+       -webkit-animation-duration: 2s;
+       animation-duration: 2s;
+}
+
+@-webkit-keyframes bounce {
+       0%, 20%, 50%, 80%, 100% {
+               -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%, 20%, 50%, 80%, 100% {
+               -webkit-transform: translateY(0);
+               -ms-transform: translateY(0);
+               transform: translateY(0);
+       }
+
+       40% {
+               -webkit-transform: translateY(-30px);
+               -ms-transform: translateY(-30px);
+               transform: translateY(-30px);
+       }
+
+       60% {
+               -webkit-transform: translateY(-15px);
+               -ms-transform: translateY(-15px);
+               transform: translateY(-15px);
+       }
+}
+
+.bounce {
+       -webkit-animation-name: bounce;
+       animation-name: bounce;
+}
+
+@-webkit-keyframes flash {
+       0%, 50%, 100% {
+               opacity: 1;
+       }
+
+       25%, 75% {
+               opacity: 0;
+       }
+}
+
+@keyframes flash {
+       0%, 50%, 100% {
+               opacity: 1;
+       }
+
+       25%, 75% {
+               opacity: 0;
+       }
+}
+
+.flash {
+       -webkit-animation-name: flash;
+       animation-name: flash;
+}
+
+/* originally authored by Nick Pettit - https://github.com/nickpettit/glide */
+
+@-webkit-keyframes pulse {
+       0% {
+               -webkit-transform: scale(1);
+               transform: scale(1);
+       }
+
+       50% {
+               -webkit-transform: scale(1.1);
+               transform: scale(1.1);
+       }
+
+       100% {
+               -webkit-transform: scale(1);
+               transform: scale(1);
+       }
+}
+
+@keyframes pulse {
+       0% {
+               -webkit-transform: scale(1);
+               -ms-transform: scale(1);
+               transform: scale(1);
+       }
+
+       50% {
+               -webkit-transform: scale(1.1);
+               -ms-transform: scale(1.1);
+               transform: scale(1.1);
+       }
+
+       100% {
+               -webkit-transform: scale(1);
+               -ms-transform: scale(1);
+               transform: scale(1);
+       }
+}
+
+.pulse {
+       -webkit-animation-name: pulse;
+       animation-name: pulse;
+}
+
+@-webkit-keyframes rubberBand {
+       0% {
+               -webkit-transform: scale(1);
+               transform: scale(1);
+       }
+
+       30% {
+               -webkit-transform: scaleX(1.25) scaleY(0.75);
+               transform: scaleX(1.25) scaleY(0.75);
+       }
+
+       40% {
+               -webkit-transform: scaleX(0.75) scaleY(1.25);
+               transform: scaleX(0.75) scaleY(1.25);
+       }
+
+       60% {
+               -webkit-transform: scaleX(1.15) scaleY(0.85);
+               transform: scaleX(1.15) scaleY(0.85);
+       }
+
+       100% {
+               -webkit-transform: scale(1);
+               transform: scale(1);
+       }
+}
+
+@keyframes rubberBand {
+       0% {
+               -webkit-transform: scale(1);
+               -ms-transform: scale(1);
+               transform: scale(1);
+       }
+
+       30% {
+               -webkit-transform: scaleX(1.25) scaleY(0.75);
+               -ms-transform: scaleX(1.25) scaleY(0.75);
+               transform: scaleX(1.25) scaleY(0.75);
+       }
+
+       40% {
+               -webkit-transform: scaleX(0.75) scaleY(1.25);
+               -ms-transform: scaleX(0.75) scaleY(1.25);
+               transform: scaleX(0.75) scaleY(1.25);
+       }
+
+       60% {
+               -webkit-transform: scaleX(1.15) scaleY(0.85);
+               -ms-transform: scaleX(1.15) scaleY(0.85);
+               transform: scaleX(1.15) scaleY(0.85);
+       }
+
+       100% {
+               -webkit-transform: scale(1);
+               -ms-transform: scale(1);
+               transform: scale(1);
+       }
+}
+
+.rubberBand {
+       -webkit-animation-name: rubberBand;
+       animation-name: rubberBand;
+}
+
+@-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);
+               -ms-transform: translateX(0);
+               transform: translateX(0);
+       }
+
+       10%, 30%, 50%, 70%, 90% {
+               -webkit-transform: translateX(-10px);
+               -ms-transform: translateX(-10px);
+               transform: translateX(-10px);
+       }
+
+       20%, 40%, 60%, 80% {
+               -webkit-transform: translateX(10px);
+               -ms-transform: translateX(10px);
+               transform: translateX(10px);
+       }
+}
+
+.shake {
+       -webkit-animation-name: shake;
+       animation-name: shake;
+}
+
+@-webkit-keyframes swing {
+       20% {
+               -webkit-transform: rotate(15deg);
+               transform: rotate(15deg);
+       }
+
+       40% {
+               -webkit-transform: rotate(-10deg);
+               transform: rotate(-10deg);
+       }
+
+       60% {
+               -webkit-transform: rotate(5deg);
+               transform: rotate(5deg);
+       }
+
+       80% {
+               -webkit-transform: rotate(-5deg);
+               transform: rotate(-5deg);
+       }
+
+       100% {
+               -webkit-transform: rotate(0deg);
+               transform: rotate(0deg);
+       }
+}
+
+@keyframes swing {
+       20% {
+               -webkit-transform: rotate(15deg);
+               -ms-transform: rotate(15deg);
+               transform: rotate(15deg);
+       }
+
+       40% {
+               -webkit-transform: rotate(-10deg);
+               -ms-transform: rotate(-10deg);
+               transform: rotate(-10deg);
+       }
+
+       60% {
+               -webkit-transform: rotate(5deg);
+               -ms-transform: rotate(5deg);
+               transform: rotate(5deg);
+       }
+
+       80% {
+               -webkit-transform: rotate(-5deg);
+               -ms-transform: rotate(-5deg);
+               transform: rotate(-5deg);
+       }
+
+       100% {
+               -webkit-transform: rotate(0deg);
+               -ms-transform: rotate(0deg);
+               transform: rotate(0deg);
+       }
+}
+
+.swing {
+       -webkit-transform-origin: top center;
+       -ms-transform-origin: top center;
+       transform-origin: top center;
+       -webkit-animation-name: swing;
+       animation-name: swing;
+}
+
+@-webkit-keyframes tada {
+       0% {
+               -webkit-transform: scale(1);
+               transform: scale(1);
+       }
+
+       10%, 20% {
+               -webkit-transform: scale(0.9) rotate(-3deg);
+               transform: scale(0.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);
+               -ms-transform: scale(1);
+               transform: scale(1);
+       }
+
+       10%, 20% {
+               -webkit-transform: scale(0.9) rotate(-3deg);
+               -ms-transform: scale(0.9) rotate(-3deg);
+               transform: scale(0.9) rotate(-3deg);
+       }
+
+       30%, 50%, 70%, 90% {
+               -webkit-transform: scale(1.1) rotate(3deg);
+               -ms-transform: scale(1.1) rotate(3deg);
+               transform: scale(1.1) rotate(3deg);
+       }
+
+       40%, 60%, 80% {
+               -webkit-transform: scale(1.1) rotate(-3deg);
+               -ms-transform: scale(1.1) rotate(-3deg);
+               transform: scale(1.1) rotate(-3deg);
+       }
+
+       100% {
+               -webkit-transform: scale(1) rotate(0);
+               -ms-transform: scale(1) rotate(0);
+               transform: scale(1) rotate(0);
+       }
+}
+
+.tada {
+       -webkit-animation-name: tada;
+       animation-name: tada;
+}
+
+/* originally authored by Nick Pettit - https://github.com/nickpettit/glide */
+
+@-webkit-keyframes wobble {
+       0% {
+               -webkit-transform: translateX(0%);
+               transform: translateX(0%);
+       }
+
+       15% {
+               -webkit-transform: translateX(-25%) rotate(-5deg);
+               transform: translateX(-25%) rotate(-5deg);
+       }
+
+       30% {
+               -webkit-transform: translateX(20%) rotate(3deg);
+               transform: translateX(20%) rotate(3deg);
+       }
+
+       45% {
+               -webkit-transform: translateX(-15%) rotate(-3deg);
+               transform: translateX(-15%) rotate(-3deg);
+       }
+
+       60% {
+               -webkit-transform: translateX(10%) rotate(2deg);
+               transform: translateX(10%) rotate(2deg);
+       }
+
+       75% {
+               -webkit-transform: translateX(-5%) rotate(-1deg);
+               transform: translateX(-5%) rotate(-1deg);
+       }
+
+       100% {
+               -webkit-transform: translateX(0%);
+               transform: translateX(0%);
+       }
+}
+
+@keyframes wobble {
+       0% {
+               -webkit-transform: translateX(0%);
+               -ms-transform: translateX(0%);
+               transform: translateX(0%);
+       }
+
+       15% {
+               -webkit-transform: translateX(-25%) rotate(-5deg);
+               -ms-transform: translateX(-25%) rotate(-5deg);
+               transform: translateX(-25%) rotate(-5deg);
+       }
+
+       30% {
+               -webkit-transform: translateX(20%) rotate(3deg);
+               -ms-transform: translateX(20%) rotate(3deg);
+               transform: translateX(20%) rotate(3deg);
+       }
+
+       45% {
+               -webkit-transform: translateX(-15%) rotate(-3deg);
+               -ms-transform: translateX(-15%) rotate(-3deg);
+               transform: translateX(-15%) rotate(-3deg);
+       }
+
+       60% {
+               -webkit-transform: translateX(10%) rotate(2deg);
+               -ms-transform: translateX(10%) rotate(2deg);
+               transform: translateX(10%) rotate(2deg);
+       }
+
+       75% {
+               -webkit-transform: translateX(-5%) rotate(-1deg);
+               -ms-transform: translateX(-5%) rotate(-1deg);
+               transform: translateX(-5%) rotate(-1deg);
+       }
+
+       100% {
+               -webkit-transform: translateX(0%);
+               -ms-transform: translateX(0%);
+               transform: translateX(0%);
+       }
+}
+
+.wobble {
+       -webkit-animation-name: wobble;
+       animation-name: wobble;
+}
+
+@-webkit-keyframes bounceIn {
+       0% {
+               opacity: 0;
+               -webkit-transform: scale(.3);
+               transform: scale(.3);
+       }
+
+       50% {
+               opacity: 1;
+               -webkit-transform: scale(1.05);
+               transform: scale(1.05);
+       }
+
+       70% {
+               -webkit-transform: scale(.9);
+               transform: scale(.9);
+       }
+
+       100% {
+               opacity: 1;
+               -webkit-transform: scale(1);
+               transform: scale(1);
+       }
+}
+
+@keyframes bounceIn {
+       0% {
+               opacity: 0;
+               -webkit-transform: scale(.3);
+               -ms-transform: scale(.3);
+               transform: scale(.3);
+       }
+
+       50% {
+               opacity: 1;
+               -webkit-transform: scale(1.05);
+               -ms-transform: scale(1.05);
+               transform: scale(1.05);
+       }
+
+       70% {
+               -webkit-transform: scale(.9);
+               -ms-transform: scale(.9);
+               transform: scale(.9);
+       }
+
+       100% {
+               opacity: 1;
+               -webkit-transform: scale(1);
+               -ms-transform: scale(1);
+               transform: scale(1);
+       }
+}
+
+.bounceIn {
+       -webkit-animation-name: bounceIn;
+       animation-name: bounceIn;
+}
+
+@-webkit-keyframes bounceInDown {
+       0% {
+               opacity: 0;
+               -webkit-transform: translateY(-2000px);
+               transform: translateY(-2000px);
+       }
+
+       60% {
+               opacity: 1;
+               -webkit-transform: translateY(30px);
+               transform: translateY(30px);
+       }
+
+       80% {
+               -webkit-transform: translateY(-10px);
+               transform: translateY(-10px);
+       }
+
+       100% {
+               -webkit-transform: translateY(0);
+               transform: translateY(0);
+       }
+}
+
+@keyframes bounceInDown {
+       0% {
+               opacity: 0;
+               -webkit-transform: translateY(-2000px);
+               -ms-transform: translateY(-2000px);
+               transform: translateY(-2000px);
+       }
+
+       60% {
+               opacity: 1;
+               -webkit-transform: translateY(30px);
+               -ms-transform: translateY(30px);
+               transform: translateY(30px);
+       }
+
+       80% {
+               -webkit-transform: translateY(-10px);
+               -ms-transform: translateY(-10px);
+               transform: translateY(-10px);
+       }
+
+       100% {
+               -webkit-transform: translateY(0);
+               -ms-transform: translateY(0);
+               transform: translateY(0);
+       }
+}
+
+.bounceInDown {
+       -webkit-animation-name: bounceInDown;
+       animation-name: bounceInDown;
+}
+
+@-webkit-keyframes bounceInLeft {
+       0% {
+               opacity: 0;
+               -webkit-transform: translateX(-2000px);
+               transform: translateX(-2000px);
+       }
+
+       60% {
+               opacity: 1;
+               -webkit-transform: translateX(30px);
+               transform: translateX(30px);
+       }
+
+       80% {
+               -webkit-transform: translateX(-10px);
+               transform: translateX(-10px);
+       }
+
+       100% {
+               -webkit-transform: translateX(0);
+               transform: translateX(0);
+       }
+}
+
+@keyframes bounceInLeft {
+       0% {
+               opacity: 0;
+               -webkit-transform: translateX(-2000px);
+               -ms-transform: translateX(-2000px);
+               transform: translateX(-2000px);
+       }
+
+       60% {
+               opacity: 1;
+               -webkit-transform: translateX(30px);
+               -ms-transform: translateX(30px);
+               transform: translateX(30px);
+       }
+
+       80% {
+               -webkit-transform: translateX(-10px);
+               -ms-transform: translateX(-10px);
+               transform: translateX(-10px);
+       }
+
+       100% {
+               -webkit-transform: translateX(0);
+               -ms-transform: translateX(0);
+               transform: translateX(0);
+       }
+}
+
+.bounceInLeft {
+       -webkit-animation-name: bounceInLeft;
+       animation-name: bounceInLeft;
+}
+
+@-webkit-keyframes bounceInRight {
+       0% {
+               opacity: 0;
+               -webkit-transform: translateX(2000px);
+               transform: translateX(2000px);
+       }
+
+       60% {
+               opacity: 1;
+               -webkit-transform: translateX(-30px);
+               transform: translateX(-30px);
+       }
+
+       80% {
+               -webkit-transform: translateX(10px);
+               transform: translateX(10px);
+       }
+
+       100% {
+               -webkit-transform: translateX(0);
+               transform: translateX(0);
+       }
+}
+
+@keyframes bounceInRight {
+       0% {
+               opacity: 0;
+               -webkit-transform: translateX(2000px);
+               -ms-transform: translateX(2000px);
+               transform: translateX(2000px);
+       }
+
+       60% {
+               opacity: 1;
+               -webkit-transform: translateX(-30px);
+               -ms-transform: translateX(-30px);
+               transform: translateX(-30px);
+       }
+
+       80% {
+               -webkit-transform: translateX(10px);
+               -ms-transform: translateX(10px);
+               transform: translateX(10px);
+       }
+
+       100% {
+               -webkit-transform: translateX(0);
+               -ms-transform: translateX(0);
+               transform: translateX(0);
+       }
+}
+
+.bounceInRight {
+       -webkit-animation-name: bounceInRight;
+       animation-name: bounceInRight;
+}
+
+@-webkit-keyframes bounceInUp {
+       0% {
+               opacity: 0;
+               -webkit-transform: translateY(2000px);
+               transform: translateY(2000px);
+       }
+
+       60% {
+               opacity: 1;
+               -webkit-transform: translateY(-30px);
+               transform: translateY(-30px);
+       }
+
+       80% {
+               -webkit-transform: translateY(10px);
+               transform: translateY(10px);
+       }
+
+       100% {
+               -webkit-transform: translateY(0);
+               transform: translateY(0);
+       }
+}
+
+@keyframes bounceInUp {
+       0% {
+               opacity: 0;
+               -webkit-transform: translateY(2000px);
+               -ms-transform: translateY(2000px);
+               transform: translateY(2000px);
+       }
+
+       60% {
+               opacity: 1;
+               -webkit-transform: translateY(-30px);
+               -ms-transform: translateY(-30px);
+               transform: translateY(-30px);
+       }
+
+       80% {
+               -webkit-transform: translateY(10px);
+               -ms-transform: translateY(10px);
+               transform: translateY(10px);
+       }
+
+       100% {
+               -webkit-transform: translateY(0);
+               -ms-transform: translateY(0);
+               transform: translateY(0);
+       }
+}
+
+.bounceInUp {
+       -webkit-animation-name: bounceInUp;
+       animation-name: bounceInUp;
+}
+
+@-webkit-keyframes bounceOut {
+       0% {
+               -webkit-transform: scale(1);
+               transform: scale(1);
+       }
+
+       25% {
+               -webkit-transform: scale(.95);
+               transform: scale(.95);
+       }
+
+       50% {
+               opacity: 1;
+               -webkit-transform: scale(1.1);
+               transform: scale(1.1);
+       }
+
+       100% {
+               opacity: 0;
+               -webkit-transform: scale(.3);
+               transform: scale(.3);
+       }
+}
+
+@keyframes bounceOut {
+       0% {
+               -webkit-transform: scale(1);
+               -ms-transform: scale(1);
+               transform: scale(1);
+       }
+
+       25% {
+               -webkit-transform: scale(.95);
+               -ms-transform: scale(.95);
+               transform: scale(.95);
+       }
+
+       50% {
+               opacity: 1;
+               -webkit-transform: scale(1.1);
+               -ms-transform: scale(1.1);
+               transform: scale(1.1);
+       }
+
+       100% {
+               opacity: 0;
+               -webkit-transform: scale(.3);
+               -ms-transform: scale(.3);
+               transform: scale(.3);
+       }
+}
+
+.bounceOut {
+       -webkit-animation-name: bounceOut;
+       animation-name: bounceOut;
+}
+
+@-webkit-keyframes bounceOutDown {
+       0% {
+               -webkit-transform: translateY(0);
+               transform: translateY(0);
+       }
+
+       20% {
+               opacity: 1;
+               -webkit-transform: translateY(-20px);
+               transform: translateY(-20px);
+       }
+
+       100% {
+               opacity: 0;
+               -webkit-transform: translateY(2000px);
+               transform: translateY(2000px);
+       }
+}
+
+@keyframes bounceOutDown {
+       0% {
+               -webkit-transform: translateY(0);
+               -ms-transform: translateY(0);
+               transform: translateY(0);
+       }
+
+       20% {
+               opacity: 1;
+               -webkit-transform: translateY(-20px);
+               -ms-transform: translateY(-20px);
+               transform: translateY(-20px);
+       }
+
+       100% {
+               opacity: 0;
+               -webkit-transform: translateY(2000px);
+               -ms-transform: translateY(2000px);
+               transform: translateY(2000px);
+       }
+}
+
+.bounceOutDown {
+       -webkit-animation-name: bounceOutDown;
+       animation-name: bounceOutDown;
+}
+
+@-webkit-keyframes bounceOutLeft {
+       0% {
+               -webkit-transform: translateX(0);
+               transform: translateX(0);
+       }
+
+       20% {
+               opacity: 1;
+               -webkit-transform: translateX(20px);
+               transform: translateX(20px);
+       }
+
+       100% {
+               opacity: 0;
+               -webkit-transform: translateX(-2000px);
+               transform: translateX(-2000px);
+       }
+}
+
+@keyframes bounceOutLeft {
+       0% {
+               -webkit-transform: translateX(0);
+               -ms-transform: translateX(0);
+               transform: translateX(0);
+       }
+
+       20% {
+               opacity: 1;
+               -webkit-transform: translateX(20px);
+               -ms-transform: translateX(20px);
+               transform: translateX(20px);
+       }
+
+       100% {
+               opacity: 0;
+               -webkit-transform: translateX(-2000px);
+               -ms-transform: translateX(-2000px);
+               transform: translateX(-2000px);
+       }
+}
+
+.bounceOutLeft {
+       -webkit-animation-name: bounceOutLeft;
+       animation-name: bounceOutLeft;
+}
+
+@-webkit-keyframes bounceOutRight {
+       0% {
+               -webkit-transform: translateX(0);
+               transform: translateX(0);
+       }
+
+       20% {
+               opacity: 1;
+               -webkit-transform: translateX(-20px);
+               transform: translateX(-20px);
+       }
+
+       100% {
+               opacity: 0;
+               -webkit-transform: translateX(2000px);
+               transform: translateX(2000px);
+       }
+}
+
+@keyframes bounceOutRight {
+       0% {
+               -webkit-transform: translateX(0);
+               -ms-transform: translateX(0);
+               transform: translateX(0);
+       }
+
+       20% {
+               opacity: 1;
+               -webkit-transform: translateX(-20px);
+               -ms-transform: translateX(-20px);
+               transform: translateX(-20px);
+       }
+
+       100% {
+               opacity: 0;
+               -webkit-transform: translateX(2000px);
+               -ms-transform: translateX(2000px);
+               transform: translateX(2000px);
+       }
+}
+
+.bounceOutRight {
+       -webkit-animation-name: bounceOutRight;
+       animation-name: bounceOutRight;
+}
+
+@-webkit-keyframes bounceOutUp {
+       0% {
+               -webkit-transform: translateY(0);
+               transform: translateY(0);
+       }
+
+       20% {
+               opacity: 1;
+               -webkit-transform: translateY(20px);
+               transform: translateY(20px);
+       }
+
+       100% {
+               opacity: 0;
+               -webkit-transform: translateY(-2000px);
+               transform: translateY(-2000px);
+       }
+}
+
+@keyframes bounceOutUp {
+       0% {
+               -webkit-transform: translateY(0);
+               -ms-transform: translateY(0);
+               transform: translateY(0);
+       }
+
+       20% {
+               opacity: 1;
+               -webkit-transform: translateY(20px);
+               -ms-transform: translateY(20px);
+               transform: translateY(20px);
+       }
+
+       100% {
+               opacity: 0;
+               -webkit-transform: translateY(-2000px);
+               -ms-transform: translateY(-2000px);
+               transform: translateY(-2000px);
+       }
+}
+
+.bounceOutUp {
+       -webkit-animation-name: bounceOutUp;
+       animation-name: bounceOutUp;
+}
+
+@-webkit-keyframes fadeIn {
+       0% {
+               opacity: 0;
+       }
+
+       100% {
+               opacity: 1;
+       }
+}
+
+@keyframes fadeIn {
+       0% {
+               opacity: 0;
+       }
+
+       100% {
+               opacity: 1;
+       }
+}
+
+.fadeIn {
+       -webkit-animation-name: fadeIn;
+       animation-name: fadeIn;
+}
+
+@-webkit-keyframes fadeInDown {
+       0% {
+               opacity: 0;
+               -webkit-transform: translateY(-20px);
+               transform: translateY(-20px);
+       }
+
+       100% {
+               opacity: 1;
+               -webkit-transform: translateY(0);
+               transform: translateY(0);
+       }
+}
+
+@keyframes fadeInDown {
+       0% {
+               opacity: 0;
+               -webkit-transform: translateY(-20px);
+               -ms-transform: translateY(-20px);
+               transform: translateY(-20px);
+       }
+
+       100% {
+               opacity: 1;
+               -webkit-transform: translateY(0);
+               -ms-transform: translateY(0);
+               transform: translateY(0);
+       }
+}
+
+.fadeInDown {
+       -webkit-animation-name: fadeInDown;
+       animation-name: fadeInDown;
+}
+
+@-webkit-keyframes fadeInDownBig {
+       0% {
+               opacity: 0;
+               -webkit-transform: translateY(-2000px);
+               transform: translateY(-2000px);
+       }
+
+       100% {
+               opacity: 1;
+               -webkit-transform: translateY(0);
+               transform: translateY(0);
+       }
+}
+
+@keyframes fadeInDownBig {
+       0% {
+               opacity: 0;
+               -webkit-transform: translateY(-2000px);
+               -ms-transform: translateY(-2000px);
+               transform: translateY(-2000px);
+       }
+
+       100% {
+               opacity: 1;
+               -webkit-transform: translateY(0);
+               -ms-transform: translateY(0);
+               transform: translateY(0);
+       }
+}
+
+.fadeInDownBig {
+       -webkit-animation-name: fadeInDownBig;
+       animation-name: fadeInDownBig;
+}
+
+@-webkit-keyframes fadeInLeft {
+       0% {
+               opacity: 0;
+               -webkit-transform: translateX(-20px);
+               transform: translateX(-20px);
+       }
+
+       100% {
+               opacity: 1;
+               -webkit-transform: translateX(0);
+               transform: translateX(0);
+       }
+}
+
+@keyframes fadeInLeft {
+       0% {
+               opacity: 0;
+               -webkit-transform: translateX(-20px);
+               -ms-transform: translateX(-20px);
+               transform: translateX(-20px);
+       }
+
+       100% {
+               opacity: 1;
+               -webkit-transform: translateX(0);
+               -ms-transform: translateX(0);
+               transform: translateX(0);
+       }
+}
+
+.fadeInLeft {
+       -webkit-animation-name: fadeInLeft;
+       animation-name: fadeInLeft;
+}
+
+@-webkit-keyframes fadeInLeftBig {
+       0% {
+               opacity: 0;
+               -webkit-transform: translateX(-2000px);
+               transform: translateX(-2000px);
+       }
+
+       100% {
+               opacity: 1;
+               -webkit-transform: translateX(0);
+               transform: translateX(0);
+       }
+}
+
+@keyframes fadeInLeftBig {
+       0% {
+               opacity: 0;
+               -webkit-transform: translateX(-2000px);
+               -ms-transform: translateX(-2000px);
+               transform: translateX(-2000px);
+       }
+
+       100% {
+               opacity: 1;
+               -webkit-transform: translateX(0);
+               -ms-transform: translateX(0);
+               transform: translateX(0);
+       }
+}
+
+.fadeInLeftBig {
+       -webkit-animation-name: fadeInLeftBig;
+       animation-name: fadeInLeftBig;
+}
+
+@-webkit-keyframes fadeInRight {
+       0% {
+               opacity: 0;
+               -webkit-transform: translateX(20px);
+               transform: translateX(20px);
+       }
+
+       100% {
+               opacity: 1;
+               -webkit-transform: translateX(0);
+               transform: translateX(0);
+       }
+}
+
+@keyframes fadeInRight {
+       0% {
+               opacity: 0;
+               -webkit-transform: translateX(20px);
+               -ms-transform: translateX(20px);
+               transform: translateX(20px);
+       }
+
+       100% {
+               opacity: 1;
+               -webkit-transform: translateX(0);
+               -ms-transform: translateX(0);
+               transform: translateX(0);
+       }
+}
+
+.fadeInRight {
+       -webkit-animation-name: fadeInRight;
+       animation-name: fadeInRight;
+}
+
+@-webkit-keyframes fadeInRightBig {
+       0% {
+               opacity: 0;
+               -webkit-transform: translateX(2000px);
+               transform: translateX(2000px);
+       }
+
+       100% {
+               opacity: 1;
+               -webkit-transform: translateX(0);
+               transform: translateX(0);
+       }
+}
+
+@keyframes fadeInRightBig {
+       0% {
+               opacity: 0;
+               -webkit-transform: translateX(2000px);
+               -ms-transform: translateX(2000px);
+               transform: translateX(2000px);
+       }
+
+       100% {
+               opacity: 1;
+               -webkit-transform: translateX(0);
+               -ms-transform: translateX(0);
+               transform: translateX(0);
+       }
+}
+
+.fadeInRightBig {
+       -webkit-animation-name: fadeInRightBig;
+       animation-name: fadeInRightBig;
+}
+
+@-webkit-keyframes fadeInUp {
+       0% {
+               opacity: 0;
+               -webkit-transform: translateY(20px);
+               transform: translateY(20px);
+       }
+
+       100% {
+               opacity: 1;
+               -webkit-transform: translateY(0);
+               transform: translateY(0);
+       }
+}
+
+@keyframes fadeInUp {
+       0% {
+               opacity: 0;
+               -webkit-transform: translateY(20px);
+               -ms-transform: translateY(20px);
+               transform: translateY(20px);
+       }
+
+       100% {
+               opacity: 1;
+               -webkit-transform: translateY(0);
+               -ms-transform: translateY(0);
+               transform: translateY(0);
+       }
+}
+
+.fadeInUp {
+       -webkit-animation-name: fadeInUp;
+       animation-name: fadeInUp;
+}
+
+@-webkit-keyframes fadeInUpBig {
+       0% {
+               opacity: 0;
+               -webkit-transform: translateY(2000px);
+               transform: translateY(2000px);
+       }
+
+       100% {
+               opacity: 1;
+               -webkit-transform: translateY(0);
+               transform: translateY(0);
+       }
+}
+
+@keyframes fadeInUpBig {
+       0% {
+               opacity: 0;
+               -webkit-transform: translateY(2000px);
+               -ms-transform: translateY(2000px);
+               transform: translateY(2000px);
+       }
+
+       100% {
+               opacity: 1;
+               -webkit-transform: translateY(0);
+               -ms-transform: translateY(0);
+               transform: translateY(0);
+       }
+}
+
+.fadeInUpBig {
+       -webkit-animation-name: fadeInUpBig;
+       animation-name: fadeInUpBig;
+}
+
+@-webkit-keyframes fadeOut {
+       0% {
+               opacity: 1;
+       }
+
+       100% {
+               opacity: 0;
+       }
+}
+
+@keyframes fadeOut {
+       0% {
+               opacity: 1;
+       }
+
+       100% {
+               opacity: 0;
+       }
+}
+
+.fadeOut {
+       -webkit-animation-name: fadeOut;
+       animation-name: fadeOut;
+}
+
+@-webkit-keyframes fadeOutDown {
+       0% {
+               opacity: 1;
+               -webkit-transform: translateY(0);
+               transform: translateY(0);
+       }
+
+       100% {
+               opacity: 0;
+               -webkit-transform: translateY(20px);
+               transform: translateY(20px);
+       }
+}
+
+@keyframes fadeOutDown {
+       0% {
+               opacity: 1;
+               -webkit-transform: translateY(0);
+               -ms-transform: translateY(0);
+               transform: translateY(0);
+       }
+
+       100% {
+               opacity: 0;
+               -webkit-transform: translateY(20px);
+               -ms-transform: translateY(20px);
+               transform: translateY(20px);
+       }
+}
+
+.fadeOutDown {
+       -webkit-animation-name: fadeOutDown;
+       animation-name: fadeOutDown;
+}
+
+@-webkit-keyframes fadeOutDownBig {
+       0% {
+               opacity: 1;
+               -webkit-transform: translateY(0);
+               transform: translateY(0);
+       }
+
+       100% {
+               opacity: 0;
+               -webkit-transform: translateY(2000px);
+               transform: translateY(2000px);
+       }
+}
+
+@keyframes fadeOutDownBig {
+       0% {
+               opacity: 1;
+               -webkit-transform: translateY(0);
+               -ms-transform: translateY(0);
+               transform: translateY(0);
+       }
+
+       100% {
+               opacity: 0;
+               -webkit-transform: translateY(2000px);
+               -ms-transform: translateY(2000px);
+               transform: translateY(2000px);
+       }
+}
+
+.fadeOutDownBig {
+       -webkit-animation-name: fadeOutDownBig;
+       animation-name: fadeOutDownBig;
+}
+
+@-webkit-keyframes fadeOutLeft {
+       0% {
+               opacity: 1;
+               -webkit-transform: translateX(0);
+               transform: translateX(0);
+       }
+
+       100% {
+               opacity: 0;
+               -webkit-transform: translateX(-20px);
+               transform: translateX(-20px);
+       }
+}
+
+@keyframes fadeOutLeft {
+       0% {
+               opacity: 1;
+               -webkit-transform: translateX(0);
+               -ms-transform: translateX(0);
+               transform: translateX(0);
+       }
+
+       100% {
+               opacity: 0;
+               -webkit-transform: translateX(-20px);
+               -ms-transform: translateX(-20px);
+               transform: translateX(-20px);
+       }
+}
+
+.fadeOutLeft {
+       -webkit-animation-name: fadeOutLeft;
+       animation-name: fadeOutLeft;
+}
+
+@-webkit-keyframes fadeOutLeftBig {
+       0% {
+               opacity: 1;
+               -webkit-transform: translateX(0);
+               transform: translateX(0);
+       }
+
+       100% {
+               opacity: 0;
+               -webkit-transform: translateX(-2000px);
+               transform: translateX(-2000px);
+       }
+}
+
+@keyframes fadeOutLeftBig {
+       0% {
+               opacity: 1;
+               -webkit-transform: translateX(0);
+               -ms-transform: translateX(0);
+               transform: translateX(0);
+       }
+
+       100% {
+               opacity: 0;
+               -webkit-transform: translateX(-2000px);
+               -ms-transform: translateX(-2000px);
+               transform: translateX(-2000px);
+       }
+}
+
+.fadeOutLeftBig {
+       -webkit-animation-name: fadeOutLeftBig;
+       animation-name: fadeOutLeftBig;
+}
+
+@-webkit-keyframes fadeOutRight {
+       0% {
+               opacity: 1;
+               -webkit-transform: translateX(0);
+               transform: translateX(0);
+       }
+
+       100% {
+               opacity: 0;
+               -webkit-transform: translateX(20px);
+               transform: translateX(20px);
+       }
+}
+
+@keyframes fadeOutRight {
+       0% {
+               opacity: 1;
+               -webkit-transform: translateX(0);
+               -ms-transform: translateX(0);
+               transform: translateX(0);
+       }
+
+       100% {
+               opacity: 0;
+               -webkit-transform: translateX(20px);
+               -ms-transform: translateX(20px);
+               transform: translateX(20px);
+       }
+}
+
+.fadeOutRight {
+       -webkit-animation-name: fadeOutRight;
+       animation-name: fadeOutRight;
+}
+
+@-webkit-keyframes fadeOutRightBig {
+       0% {
+               opacity: 1;
+               -webkit-transform: translateX(0);
+               transform: translateX(0);
+       }
+
+       100% {
+               opacity: 0;
+               -webkit-transform: translateX(2000px);
+               transform: translateX(2000px);
+       }
+}
+
+@keyframes fadeOutRightBig {
+       0% {
+               opacity: 1;
+               -webkit-transform: translateX(0);
+               -ms-transform: translateX(0);
+               transform: translateX(0);
+       }
+
+       100% {
+               opacity: 0;
+               -webkit-transform: translateX(2000px);
+               -ms-transform: translateX(2000px);
+               transform: translateX(2000px);
+       }
+}
+
+.fadeOutRightBig {
+       -webkit-animation-name: fadeOutRightBig;
+       animation-name: fadeOutRightBig;
+}
+
+@-webkit-keyframes fadeOutUp {
+       0% {
+               opacity: 1;
+               -webkit-transform: translateY(0);
+               transform: translateY(0);
+       }
+
+       100% {
+               opacity: 0;
+               -webkit-transform: translateY(-20px);
+               transform: translateY(-20px);
+       }
+}
+
+@keyframes fadeOutUp {
+       0% {
+               opacity: 1;
+               -webkit-transform: translateY(0);
+               -ms-transform: translateY(0);
+               transform: translateY(0);
+       }
+
+       100% {
+               opacity: 0;
+               -webkit-transform: translateY(-20px);
+               -ms-transform: translateY(-20px);
+               transform: translateY(-20px);
+       }
+}
+
+.fadeOutUp {
+       -webkit-animation-name: fadeOutUp;
+       animation-name: fadeOutUp;
+}
+
+@-webkit-keyframes fadeOutUpBig {
+       0% {
+               opacity: 1;
+               -webkit-transform: translateY(0);
+               transform: translateY(0);
+       }
+
+       100% {
+               opacity: 0;
+               -webkit-transform: translateY(-2000px);
+               transform: translateY(-2000px);
+       }
+}
+
+@keyframes fadeOutUpBig {
+       0% {
+               opacity: 1;
+               -webkit-transform: translateY(0);
+               -ms-transform: translateY(0);
+               transform: translateY(0);
+       }
+
+       100% {
+               opacity: 0;
+               -webkit-transform: translateY(-2000px);
+               -ms-transform: translateY(-2000px);
+               transform: translateY(-2000px);
+       }
+}
+
+.fadeOutUpBig {
+       -webkit-animation-name: fadeOutUpBig;
+       animation-name: fadeOutUpBig;
+}
+
+@-webkit-keyframes flip {
+       0% {
+               -webkit-transform: perspective(400px) translateZ(0) rotateY(0) scale(1);
+               transform: perspective(400px) translateZ(0) rotateY(0) scale(1);
+               -webkit-animation-timing-function: ease-out;
+               animation-timing-function: ease-out;
+       }
+
+       40% {
+               -webkit-transform: perspective(400px) translateZ(150px) rotateY(170deg) scale(1);
+               transform: perspective(400px) translateZ(150px) rotateY(170deg) scale(1);
+               -webkit-animation-timing-function: ease-out;
+               animation-timing-function: ease-out;
+       }
+
+       50% {
+               -webkit-transform: perspective(400px) translateZ(150px) rotateY(190deg) scale(1);
+               transform: perspective(400px) translateZ(150px) rotateY(190deg) scale(1);
+               -webkit-animation-timing-function: ease-in;
+               animation-timing-function: ease-in;
+       }
+
+       80% {
+               -webkit-transform: perspective(400px) translateZ(0) rotateY(360deg) scale(.95);
+               transform: perspective(400px) translateZ(0) rotateY(360deg) scale(.95);
+               -webkit-animation-timing-function: ease-in;
+               animation-timing-function: ease-in;
+       }
+
+       100% {
+               -webkit-transform: perspective(400px) translateZ(0) rotateY(360deg) scale(1);
+               transform: perspective(400px) translateZ(0) rotateY(360deg) scale(1);
+               -webkit-animation-timing-function: ease-in;
+               animation-timing-function: ease-in;
+       }
+}
+
+@keyframes flip {
+       0% {
+               -webkit-transform: perspective(400px) translateZ(0) rotateY(0) scale(1);
+               -ms-transform: perspective(400px) translateZ(0) rotateY(0) scale(1);
+               transform: perspective(400px) translateZ(0) rotateY(0) scale(1);
+               -webkit-animation-timing-function: ease-out;
+               animation-timing-function: ease-out;
+       }
+
+       40% {
+               -webkit-transform: perspective(400px) translateZ(150px) rotateY(170deg) scale(1);
+               -ms-transform: perspective(400px) translateZ(150px) rotateY(170deg) scale(1);
+               transform: perspective(400px) translateZ(150px) rotateY(170deg) scale(1);
+               -webkit-animation-timing-function: ease-out;
+               animation-timing-function: ease-out;
+       }
+
+       50% {
+               -webkit-transform: perspective(400px) translateZ(150px) rotateY(190deg) scale(1);
+               -ms-transform: perspective(400px) translateZ(150px) rotateY(190deg) scale(1);
+               transform: perspective(400px) translateZ(150px) rotateY(190deg) scale(1);
+               -webkit-animation-timing-function: ease-in;
+               animation-timing-function: ease-in;
+       }
+
+       80% {
+               -webkit-transform: perspective(400px) translateZ(0) rotateY(360deg) scale(.95);
+               -ms-transform: perspective(400px) translateZ(0) rotateY(360deg) scale(.95);
+               transform: perspective(400px) translateZ(0) rotateY(360deg) scale(.95);
+               -webkit-animation-timing-function: ease-in;
+               animation-timing-function: ease-in;
+       }
+
+       100% {
+               -webkit-transform: perspective(400px) translateZ(0) rotateY(360deg) scale(1);
+               -ms-transform: perspective(400px) translateZ(0) rotateY(360deg) scale(1);
+               transform: perspective(400px) translateZ(0) rotateY(360deg) scale(1);
+               -webkit-animation-timing-function: ease-in;
+               animation-timing-function: ease-in;
+       }
+}
+
+.animated.flip {
+       -webkit-backface-visibility: visible;
+       -ms-backface-visibility: visible;
+       backface-visibility: visible;
+       -webkit-animation-name: flip;
+       animation-name: flip;
+}
+
+@-webkit-keyframes flipInX {
+       0% {
+               -webkit-transform: perspective(400px) rotateX(90deg);
+               transform: perspective(400px) rotateX(90deg);
+               opacity: 0;
+       }
+
+       40% {
+               -webkit-transform: perspective(400px) rotateX(-10deg);
+               transform: perspective(400px) rotateX(-10deg);
+       }
+
+       70% {
+               -webkit-transform: perspective(400px) rotateX(10deg);
+               transform: perspective(400px) rotateX(10deg);
+       }
+
+       100% {
+               -webkit-transform: perspective(400px) rotateX(0deg);
+               transform: perspective(400px) rotateX(0deg);
+               opacity: 1;
+       }
+}
+
+@keyframes flipInX {
+       0% {
+               -webkit-transform: perspective(400px) rotateX(90deg);
+               -ms-transform: perspective(400px) rotateX(90deg);
+               transform: perspective(400px) rotateX(90deg);
+               opacity: 0;
+       }
+
+       40% {
+               -webkit-transform: perspective(400px) rotateX(-10deg);
+               -ms-transform: perspective(400px) rotateX(-10deg);
+               transform: perspective(400px) rotateX(-10deg);
+       }
+
+       70% {
+               -webkit-transform: perspective(400px) rotateX(10deg);
+               -ms-transform: perspective(400px) rotateX(10deg);
+               transform: perspective(400px) rotateX(10deg);
+       }
+
+       100% {
+               -webkit-transform: perspective(400px) rotateX(0deg);
+               -ms-transform: perspective(400px) rotateX(0deg);
+               transform: perspective(400px) rotateX(0deg);
+               opacity: 1;
+       }
+}
+
+.flipInX {
+       -webkit-backface-visibility: visible !important;
+       -ms-backface-visibility: visible !important;
+       backface-visibility: visible !important;
+       -webkit-animation-name: flipInX;
+       animation-name: flipInX;
+}
+
+@-webkit-keyframes flipInY {
+       0% {
+               -webkit-transform: perspective(400px) rotateY(90deg);
+               transform: perspective(400px) rotateY(90deg);
+               opacity: 0;
+       }
+
+       40% {
+               -webkit-transform: perspective(400px) rotateY(-10deg);
+               transform: perspective(400px) rotateY(-10deg);
+       }
+
+       70% {
+               -webkit-transform: perspective(400px) rotateY(10deg);
+               transform: perspective(400px) rotateY(10deg);
+       }
+
+       100% {
+               -webkit-transform: perspective(400px) rotateY(0deg);
+               transform: perspective(400px) rotateY(0deg);
+               opacity: 1;
+       }
+}
+
+@keyframes flipInY {
+       0% {
+               -webkit-transform: perspective(400px) rotateY(90deg);
+               -ms-transform: perspective(400px) rotateY(90deg);
+               transform: perspective(400px) rotateY(90deg);
+               opacity: 0;
+       }
+
+       40% {
+               -webkit-transform: perspective(400px) rotateY(-10deg);
+               -ms-transform: perspective(400px) rotateY(-10deg);
+               transform: perspective(400px) rotateY(-10deg);
+       }
+
+       70% {
+               -webkit-transform: perspective(400px) rotateY(10deg);
+               -ms-transform: perspective(400px) rotateY(10deg);
+               transform: perspective(400px) rotateY(10deg);
+       }
+
+       100% {
+               -webkit-transform: perspective(400px) rotateY(0deg);
+               -ms-transform: perspective(400px) rotateY(0deg);
+               transform: perspective(400px) rotateY(0deg);
+               opacity: 1;
+       }
+}
+
+.flipInY {
+       -webkit-backface-visibility: visible !important;
+       -ms-backface-visibility: visible !important;
+       backface-visibility: visible !important;
+       -webkit-animation-name: flipInY;
+       animation-name: flipInY;
+}
+
+@-webkit-keyframes flipOutX {
+       0% {
+               -webkit-transform: perspective(400px) rotateX(0deg);
+               transform: perspective(400px) rotateX(0deg);
+               opacity: 1;
+       }
+
+       100% {
+               -webkit-transform: perspective(400px) rotateX(90deg);
+               transform: perspective(400px) rotateX(90deg);
+               opacity: 0;
+       }
+}
+
+@keyframes flipOutX {
+       0% {
+               -webkit-transform: perspective(400px) rotateX(0deg);
+               -ms-transform: perspective(400px) rotateX(0deg);
+               transform: perspective(400px) rotateX(0deg);
+               opacity: 1;
+       }
+
+       100% {
+               -webkit-transform: perspective(400px) rotateX(90deg);
+               -ms-transform: perspective(400px) rotateX(90deg);
+               transform: perspective(400px) rotateX(90deg);
+               opacity: 0;
+       }
+}
+
+.flipOutX {
+       -webkit-animation-name: flipOutX;
+       animation-name: flipOutX;
+       -webkit-backface-visibility: visible !important;
+       -ms-backface-visibility: visible !important;
+       backface-visibility: visible !important;
+}
+
+@-webkit-keyframes flipOutY {
+       0% {
+               -webkit-transform: perspective(400px) rotateY(0deg);
+               transform: perspective(400px) rotateY(0deg);
+               opacity: 1;
+       }
+
+       100% {
+               -webkit-transform: perspective(400px) rotateY(90deg);
+               transform: perspective(400px) rotateY(90deg);
+               opacity: 0;
+       }
+}
+
+@keyframes flipOutY {
+       0% {
+               -webkit-transform: perspective(400px) rotateY(0deg);
+               -ms-transform: perspective(400px) rotateY(0deg);
+               transform: perspective(400px) rotateY(0deg);
+               opacity: 1;
+       }
+
+       100% {
+               -webkit-transform: perspective(400px) rotateY(90deg);
+               -ms-transform: perspective(400px) rotateY(90deg);
+               transform: perspective(400px) rotateY(90deg);
+               opacity: 0;
+       }
+}
+
+.flipOutY {
+       -webkit-backface-visibility: visible !important;
+       -ms-backface-visibility: visible !important;
+       backface-visibility: visible !important;
+       -webkit-animation-name: flipOutY;
+       animation-name: flipOutY;
+}
+
+@-webkit-keyframes lightSpeedIn {
+       0% {
+               -webkit-transform: translateX(100%) skewX(-30deg);
+               transform: translateX(100%) skewX(-30deg);
+               opacity: 0;
+       }
+
+       60% {
+               -webkit-transform: translateX(-20%) skewX(30deg);
+               transform: translateX(-20%) skewX(30deg);
+               opacity: 1;
+       }
+
+       80% {
+               -webkit-transform: translateX(0%) skewX(-15deg);
+               transform: translateX(0%) skewX(-15deg);
+               opacity: 1;
+       }
+
+       100% {
+               -webkit-transform: translateX(0%) skewX(0deg);
+               transform: translateX(0%) skewX(0deg);
+               opacity: 1;
+       }
+}
+
+@keyframes lightSpeedIn {
+       0% {
+               -webkit-transform: translateX(100%) skewX(-30deg);
+               -ms-transform: translateX(100%) skewX(-30deg);
+               transform: translateX(100%) skewX(-30deg);
+               opacity: 0;
+       }
+
+       60% {
+               -webkit-transform: translateX(-20%) skewX(30deg);
+               -ms-transform: translateX(-20%) skewX(30deg);
+               transform: translateX(-20%) skewX(30deg);
+               opacity: 1;
+       }
+
+       80% {
+               -webkit-transform: translateX(0%) skewX(-15deg);
+               -ms-transform: translateX(0%) skewX(-15deg);
+               transform: translateX(0%) skewX(-15deg);
+               opacity: 1;
+       }
+
+       100% {
+               -webkit-transform: translateX(0%) skewX(0deg);
+               -ms-transform: translateX(0%) skewX(0deg);
+               transform: translateX(0%) skewX(0deg);
+               opacity: 1;
+       }
+}
+
+.lightSpeedIn {
+       -webkit-animation-name: lightSpeedIn;
+       animation-name: lightSpeedIn;
+       -webkit-animation-timing-function: ease-out;
+       animation-timing-function: ease-out;
+}
+
+@-webkit-keyframes lightSpeedOut {
+       0% {
+               -webkit-transform: translateX(0%) skewX(0deg);
+               transform: translateX(0%) skewX(0deg);
+               opacity: 1;
+       }
+
+       100% {
+               -webkit-transform: translateX(100%) skewX(-30deg);
+               transform: translateX(100%) skewX(-30deg);
+               opacity: 0;
+       }
+}
+
+@keyframes lightSpeedOut {
+       0% {
+               -webkit-transform: translateX(0%) skewX(0deg);
+               -ms-transform: translateX(0%) skewX(0deg);
+               transform: translateX(0%) skewX(0deg);
+               opacity: 1;
+       }
+
+       100% {
+               -webkit-transform: translateX(100%) skewX(-30deg);
+               -ms-transform: translateX(100%) skewX(-30deg);
+               transform: translateX(100%) skewX(-30deg);
+               opacity: 0;
+       }
+}
+
+.lightSpeedOut {
+       -webkit-animation-name: lightSpeedOut;
+       animation-name: lightSpeedOut;
+       -webkit-animation-timing-function: ease-in;
+       animation-timing-function: ease-in;
+}
+
+@-webkit-keyframes rotateIn {
+       0% {
+               -webkit-transform-origin: center center;
+               transform-origin: center center;
+               -webkit-transform: rotate(-200deg);
+               transform: rotate(-200deg);
+               opacity: 0;
+       }
+
+       100% {
+               -webkit-transform-origin: center center;
+               transform-origin: center center;
+               -webkit-transform: rotate(0);
+               transform: rotate(0);
+               opacity: 1;
+       }
+}
+
+@keyframes rotateIn {
+       0% {
+               -webkit-transform-origin: center center;
+               -ms-transform-origin: center center;
+               transform-origin: center center;
+               -webkit-transform: rotate(-200deg);
+               -ms-transform: rotate(-200deg);
+               transform: rotate(-200deg);
+               opacity: 0;
+       }
+
+       100% {
+               -webkit-transform-origin: center center;
+               -ms-transform-origin: center center;
+               transform-origin: center center;
+               -webkit-transform: rotate(0);
+               -ms-transform: rotate(0);
+               transform: rotate(0);
+               opacity: 1;
+       }
+}
+
+.rotateIn {
+       -webkit-animation-name: rotateIn;
+       animation-name: rotateIn;
+}
+
+@-webkit-keyframes rotateInDownLeft {
+       0% {
+               -webkit-transform-origin: left bottom;
+               transform-origin: left bottom;
+               -webkit-transform: rotate(-90deg);
+               transform: rotate(-90deg);
+               opacity: 0;
+       }
+
+       100% {
+               -webkit-transform-origin: left bottom;
+               transform-origin: left bottom;
+               -webkit-transform: rotate(0);
+               transform: rotate(0);
+               opacity: 1;
+       }
+}
+
+@keyframes rotateInDownLeft {
+       0% {
+               -webkit-transform-origin: left bottom;
+               -ms-transform-origin: left bottom;
+               transform-origin: left bottom;
+               -webkit-transform: rotate(-90deg);
+               -ms-transform: rotate(-90deg);
+               transform: rotate(-90deg);
+               opacity: 0;
+       }
+
+       100% {
+               -webkit-transform-origin: left bottom;
+               -ms-transform-origin: left bottom;
+               transform-origin: left bottom;
+               -webkit-transform: rotate(0);
+               -ms-transform: rotate(0);
+               transform: rotate(0);
+               opacity: 1;
+       }
+}
+
+.rotateInDownLeft {
+       -webkit-animation-name: rotateInDownLeft;
+       animation-name: rotateInDownLeft;
+}
+
+@-webkit-keyframes rotateInDownRight {
+       0% {
+               -webkit-transform-origin: right bottom;
+               transform-origin: right bottom;
+               -webkit-transform: rotate(90deg);
+               transform: rotate(90deg);
+               opacity: 0;
+       }
+
+       100% {
+               -webkit-transform-origin: right bottom;
+               transform-origin: right bottom;
+               -webkit-transform: rotate(0);
+               transform: rotate(0);
+               opacity: 1;
+       }
+}
+
+@keyframes rotateInDownRight {
+       0% {
+               -webkit-transform-origin: right bottom;
+               -ms-transform-origin: right bottom;
+               transform-origin: right bottom;
+               -webkit-transform: rotate(90deg);
+               -ms-transform: rotate(90deg);
+               transform: rotate(90deg);
+               opacity: 0;
+       }
+
+       100% {
+               -webkit-transform-origin: right bottom;
+               -ms-transform-origin: right bottom;
+               transform-origin: right bottom;
+               -webkit-transform: rotate(0);
+               -ms-transform: rotate(0);
+               transform: rotate(0);
+               opacity: 1;
+       }
+}
+
+.rotateInDownRight {
+       -webkit-animation-name: rotateInDownRight;
+       animation-name: rotateInDownRight;
+}
+
+@-webkit-keyframes rotateInUpLeft {
+       0% {
+               -webkit-transform-origin: left bottom;
+               transform-origin: left bottom;
+               -webkit-transform: rotate(90deg);
+               transform: rotate(90deg);
+               opacity: 0;
+       }
+
+       100% {
+               -webkit-transform-origin: left bottom;
+               transform-origin: left bottom;
+               -webkit-transform: rotate(0);
+               transform: rotate(0);
+               opacity: 1;
+       }
+}
+
+@keyframes rotateInUpLeft {
+       0% {
+               -webkit-transform-origin: left bottom;
+               -ms-transform-origin: left bottom;
+               transform-origin: left bottom;
+               -webkit-transform: rotate(90deg);
+               -ms-transform: rotate(90deg);
+               transform: rotate(90deg);
+               opacity: 0;
+       }
+
+       100% {
+               -webkit-transform-origin: left bottom;
+               -ms-transform-origin: left bottom;
+               transform-origin: left bottom;
+               -webkit-transform: rotate(0);
+               -ms-transform: rotate(0);
+               transform: rotate(0);
+               opacity: 1;
+       }
+}
+
+.rotateInUpLeft {
+       -webkit-animation-name: rotateInUpLeft;
+       animation-name: rotateInUpLeft;
+}
+
+@-webkit-keyframes rotateInUpRight {
+       0% {
+               -webkit-transform-origin: right bottom;
+               transform-origin: right bottom;
+               -webkit-transform: rotate(-90deg);
+               transform: rotate(-90deg);
+               opacity: 0;
+       }
+
+       100% {
+               -webkit-transform-origin: right bottom;
+               transform-origin: right bottom;
+               -webkit-transform: rotate(0);
+               transform: rotate(0);
+               opacity: 1;
+       }
+}
+
+@keyframes rotateInUpRight {
+       0% {
+               -webkit-transform-origin: right bottom;
+               -ms-transform-origin: right bottom;
+               transform-origin: right bottom;
+               -webkit-transform: rotate(-90deg);
+               -ms-transform: rotate(-90deg);
+               transform: rotate(-90deg);
+               opacity: 0;
+       }
+
+       100% {
+               -webkit-transform-origin: right bottom;
+               -ms-transform-origin: right bottom;
+               transform-origin: right bottom;
+               -webkit-transform: rotate(0);
+               -ms-transform: rotate(0);
+               transform: rotate(0);
+               opacity: 1;
+       }
+}
+
+.rotateInUpRight {
+       -webkit-animation-name: rotateInUpRight;
+       animation-name: rotateInUpRight;
+}
+
+@-webkit-keyframes rotateOut {
+       0% {
+               -webkit-transform-origin: center center;
+               transform-origin: center center;
+               -webkit-transform: rotate(0);
+               transform: rotate(0);
+               opacity: 1;
+       }
+
+       100% {
+               -webkit-transform-origin: center center;
+               transform-origin: center center;
+               -webkit-transform: rotate(200deg);
+               transform: rotate(200deg);
+               opacity: 0;
+       }
+}
+
+@keyframes rotateOut {
+       0% {
+               -webkit-transform-origin: center center;
+               -ms-transform-origin: center center;
+               transform-origin: center center;
+               -webkit-transform: rotate(0);
+               -ms-transform: rotate(0);
+               transform: rotate(0);
+               opacity: 1;
+       }
+
+       100% {
+               -webkit-transform-origin: center center;
+               -ms-transform-origin: center center;
+               transform-origin: center center;
+               -webkit-transform: rotate(200deg);
+               -ms-transform: rotate(200deg);
+               transform: rotate(200deg);
+               opacity: 0;
+       }
+}
+
+.rotateOut {
+       -webkit-animation-name: rotateOut;
+       animation-name: rotateOut;
+}
+
+@-webkit-keyframes rotateOutDownLeft {
+       0% {
+               -webkit-transform-origin: left bottom;
+               transform-origin: left bottom;
+               -webkit-transform: rotate(0);
+               transform: rotate(0);
+               opacity: 1;
+       }
+
+       100% {
+               -webkit-transform-origin: left bottom;
+               transform-origin: left bottom;
+               -webkit-transform: rotate(90deg);
+               transform: rotate(90deg);
+               opacity: 0;
+       }
+}
+
+@keyframes rotateOutDownLeft {
+       0% {
+               -webkit-transform-origin: left bottom;
+               -ms-transform-origin: left bottom;
+               transform-origin: left bottom;
+               -webkit-transform: rotate(0);
+               -ms-transform: rotate(0);
+               transform: rotate(0);
+               opacity: 1;
+       }
+
+       100% {
+               -webkit-transform-origin: left bottom;
+               -ms-transform-origin: left bottom;
+               transform-origin: left bottom;
+               -webkit-transform: rotate(90deg);
+               -ms-transform: rotate(90deg);
+               transform: rotate(90deg);
+               opacity: 0;
+       }
+}
+
+.rotateOutDownLeft {
+       -webkit-animation-name: rotateOutDownLeft;
+       animation-name: rotateOutDownLeft;
+}
+
+@-webkit-keyframes rotateOutDownRight {
+       0% {
+               -webkit-transform-origin: right bottom;
+               transform-origin: right bottom;
+               -webkit-transform: rotate(0);
+               transform: rotate(0);
+               opacity: 1;
+       }
+
+       100% {
+               -webkit-transform-origin: right bottom;
+               transform-origin: right bottom;
+               -webkit-transform: rotate(-90deg);
+               transform: rotate(-90deg);
+               opacity: 0;
+       }
+}
+
+@keyframes rotateOutDownRight {
+       0% {
+               -webkit-transform-origin: right bottom;
+               -ms-transform-origin: right bottom;
+               transform-origin: right bottom;
+               -webkit-transform: rotate(0);
+               -ms-transform: rotate(0);
+               transform: rotate(0);
+               opacity: 1;
+       }
+
+       100% {
+               -webkit-transform-origin: right bottom;
+               -ms-transform-origin: right bottom;
+               transform-origin: right bottom;
+               -webkit-transform: rotate(-90deg);
+               -ms-transform: rotate(-90deg);
+               transform: rotate(-90deg);
+               opacity: 0;
+       }
+}
+
+.rotateOutDownRight {
+       -webkit-animation-name: rotateOutDownRight;
+       animation-name: rotateOutDownRight;
+}
+
+@-webkit-keyframes rotateOutUpLeft {
+       0% {
+               -webkit-transform-origin: left bottom;
+               transform-origin: left bottom;
+               -webkit-transform: rotate(0);
+               transform: rotate(0);
+               opacity: 1;
+       }
+
+       100% {
+               -webkit-transform-origin: left bottom;
+               transform-origin: left bottom;
+               -webkit-transform: rotate(-90deg);
+               transform: rotate(-90deg);
+               opacity: 0;
+       }
+}
+
+@keyframes rotateOutUpLeft {
+       0% {
+               -webkit-transform-origin: left bottom;
+               -ms-transform-origin: left bottom;
+               transform-origin: left bottom;
+               -webkit-transform: rotate(0);
+               -ms-transform: rotate(0);
+               transform: rotate(0);
+               opacity: 1;
+       }
+
+       100% {
+               -webkit-transform-origin: left bottom;
+               -ms-transform-origin: left bottom;
+               transform-origin: left bottom;
+               -webkit-transform: rotate(-90deg);
+               -ms-transform: rotate(-90deg);
+               transform: rotate(-90deg);
+               opacity: 0;
+       }
+}
+
+.rotateOutUpLeft {
+       -webkit-animation-name: rotateOutUpLeft;
+       animation-name: rotateOutUpLeft;
+}
+
+@-webkit-keyframes rotateOutUpRight {
+       0% {
+               -webkit-transform-origin: right bottom;
+               transform-origin: right bottom;
+               -webkit-transform: rotate(0);
+               transform: rotate(0);
+               opacity: 1;
+       }
+
+       100% {
+               -webkit-transform-origin: right bottom;
+               transform-origin: right bottom;
+               -webkit-transform: rotate(90deg);
+               transform: rotate(90deg);
+               opacity: 0;
+       }
+}
+
+@keyframes rotateOutUpRight {
+       0% {
+               -webkit-transform-origin: right bottom;
+               -ms-transform-origin: right bottom;
+               transform-origin: right bottom;
+               -webkit-transform: rotate(0);
+               -ms-transform: rotate(0);
+               transform: rotate(0);
+               opacity: 1;
+       }
+
+       100% {
+               -webkit-transform-origin: right bottom;
+               -ms-transform-origin: right bottom;
+               transform-origin: right bottom;
+               -webkit-transform: rotate(90deg);
+               -ms-transform: rotate(90deg);
+               transform: rotate(90deg);
+               opacity: 0;
+       }
+}
+
+.rotateOutUpRight {
+       -webkit-animation-name: rotateOutUpRight;
+       animation-name: rotateOutUpRight;
+}
+
+@-webkit-keyframes slideInDown {
+       0% {
+               opacity: 0;
+               -webkit-transform: translateY(-2000px);
+               transform: translateY(-2000px);
+       }
+
+       100% {
+               -webkit-transform: translateY(0);
+               transform: translateY(0);
+       }
+}
+
+@keyframes slideInDown {
+       0% {
+               opacity: 0;
+               -webkit-transform: translateY(-2000px);
+               -ms-transform: translateY(-2000px);
+               transform: translateY(-2000px);
+       }
+
+       100% {
+               -webkit-transform: translateY(0);
+               -ms-transform: translateY(0);
+               transform: translateY(0);
+       }
+}
+
+.slideInDown {
+       -webkit-animation-name: slideInDown;
+       animation-name: slideInDown;
+}
+
+@-webkit-keyframes slideInLeft {
+       0% {
+               opacity: 0;
+               -webkit-transform: translateX(-2000px);
+               transform: translateX(-2000px);
+       }
+
+       100% {
+               -webkit-transform: translateX(0);
+               transform: translateX(0);
+       }
+}
+
+@keyframes slideInLeft {
+       0% {
+               opacity: 0;
+               -webkit-transform: translateX(-2000px);
+               -ms-transform: translateX(-2000px);
+               transform: translateX(-2000px);
+       }
+
+       100% {
+               -webkit-transform: translateX(0);
+               -ms-transform: translateX(0);
+               transform: translateX(0);
+       }
+}
+
+.slideInLeft {
+       -webkit-animation-name: slideInLeft;
+       animation-name: slideInLeft;
+}
+
+@-webkit-keyframes slideInRight {
+       0% {
+               opacity: 0;
+               -webkit-transform: translateX(2000px);
+               transform: translateX(2000px);
+       }
+
+       100% {
+               -webkit-transform: translateX(0);
+               transform: translateX(0);
+       }
+}
+
+@keyframes slideInRight {
+       0% {
+               opacity: 0;
+               -webkit-transform: translateX(2000px);
+               -ms-transform: translateX(2000px);
+               transform: translateX(2000px);
+       }
+
+       100% {
+               -webkit-transform: translateX(0);
+               -ms-transform: translateX(0);
+               transform: translateX(0);
+       }
+}
+
+.slideInRight {
+       -webkit-animation-name: slideInRight;
+       animation-name: slideInRight;
+}
+
+@-webkit-keyframes slideOutLeft {
+       0% {
+               -webkit-transform: translateX(0);
+               transform: translateX(0);
+       }
+
+       100% {
+               opacity: 0;
+               -webkit-transform: translateX(-2000px);
+               transform: translateX(-2000px);
+       }
+}
+
+@keyframes slideOutLeft {
+       0% {
+               -webkit-transform: translateX(0);
+               -ms-transform: translateX(0);
+               transform: translateX(0);
+       }
+
+       100% {
+               opacity: 0;
+               -webkit-transform: translateX(-2000px);
+               -ms-transform: translateX(-2000px);
+               transform: translateX(-2000px);
+       }
+}
+
+.slideOutLeft {
+       -webkit-animation-name: slideOutLeft;
+       animation-name: slideOutLeft;
+}
+
+@-webkit-keyframes slideOutRight {
+       0% {
+               -webkit-transform: translateX(0);
+               transform: translateX(0);
+       }
+
+       100% {
+               opacity: 0;
+               -webkit-transform: translateX(2000px);
+               transform: translateX(2000px);
+       }
+}
+
+@keyframes slideOutRight {
+       0% {
+               -webkit-transform: translateX(0);
+               -ms-transform: translateX(0);
+               transform: translateX(0);
+       }
+
+       100% {
+               opacity: 0;
+               -webkit-transform: translateX(2000px);
+               -ms-transform: translateX(2000px);
+               transform: translateX(2000px);
+       }
+}
+
+.slideOutRight {
+       -webkit-animation-name: slideOutRight;
+       animation-name: slideOutRight;
+}
+
+@-webkit-keyframes slideOutUp {
+       0% {
+               -webkit-transform: translateY(0);
+               transform: translateY(0);
+       }
+
+       100% {
+               opacity: 0;
+               -webkit-transform: translateY(-2000px);
+               transform: translateY(-2000px);
+       }
+}
+
+@keyframes slideOutUp {
+       0% {
+               -webkit-transform: translateY(0);
+               -ms-transform: translateY(0);
+               transform: translateY(0);
+       }
+
+       100% {
+               opacity: 0;
+               -webkit-transform: translateY(-2000px);
+               -ms-transform: translateY(-2000px);
+               transform: translateY(-2000px);
+       }
+}
+
+.slideOutUp {
+       -webkit-animation-name: slideOutUp;
+       animation-name: slideOutUp;
+}
+
+@-webkit-keyframes hinge {
+       0% {
+               -webkit-transform: rotate(0);
+               transform: rotate(0);
+               -webkit-transform-origin: top left;
+               transform-origin: top left;
+               -webkit-animation-timing-function: ease-in-out;
+               animation-timing-function: ease-in-out;
+       }
+
+       20%, 60% {
+               -webkit-transform: rotate(80deg);
+               transform: rotate(80deg);
+               -webkit-transform-origin: top left;
+               transform-origin: top left;
+               -webkit-animation-timing-function: ease-in-out;
+               animation-timing-function: ease-in-out;
+       }
+
+       40% {
+               -webkit-transform: rotate(60deg);
+               transform: rotate(60deg);
+               -webkit-transform-origin: top left;
+               transform-origin: top left;
+               -webkit-animation-timing-function: ease-in-out;
+               animation-timing-function: ease-in-out;
+       }
+
+       80% {
+               -webkit-transform: rotate(60deg) translateY(0);
+               transform: rotate(60deg) translateY(0);
+               -webkit-transform-origin: top left;
+               transform-origin: top left;
+               -webkit-animation-timing-function: ease-in-out;
+               animation-timing-function: ease-in-out;
+               opacity: 1;
+       }
+
+       100% {
+               -webkit-transform: translateY(700px);
+               transform: translateY(700px);
+               opacity: 0;
+       }
+}
+
+@keyframes hinge {
+       0% {
+               -webkit-transform: rotate(0);
+               -ms-transform: rotate(0);
+               transform: rotate(0);
+               -webkit-transform-origin: top left;
+               -ms-transform-origin: top left;
+               transform-origin: top left;
+               -webkit-animation-timing-function: ease-in-out;
+               animation-timing-function: ease-in-out;
+       }
+
+       20%, 60% {
+               -webkit-transform: rotate(80deg);
+               -ms-transform: rotate(80deg);
+               transform: rotate(80deg);
+               -webkit-transform-origin: top left;
+               -ms-transform-origin: top left;
+               transform-origin: top left;
+               -webkit-animation-timing-function: ease-in-out;
+               animation-timing-function: ease-in-out;
+       }
+
+       40% {
+               -webkit-transform: rotate(60deg);
+               -ms-transform: rotate(60deg);
+               transform: rotate(60deg);
+               -webkit-transform-origin: top left;
+               -ms-transform-origin: top left;
+               transform-origin: top left;
+               -webkit-animation-timing-function: ease-in-out;
+               animation-timing-function: ease-in-out;
+       }
+
+       80% {
+               -webkit-transform: rotate(60deg) translateY(0);
+               -ms-transform: rotate(60deg) translateY(0);
+               transform: rotate(60deg) translateY(0);
+               -webkit-transform-origin: top left;
+               -ms-transform-origin: top left;
+               transform-origin: top left;
+               -webkit-animation-timing-function: ease-in-out;
+               animation-timing-function: ease-in-out;
+               opacity: 1;
+       }
+
+       100% {
+               -webkit-transform: translateY(700px);
+               -ms-transform: translateY(700px);
+               transform: translateY(700px);
+               opacity: 0;
+       }
+}
+
+.hinge {
+       -webkit-animation-name: hinge;
+       animation-name: hinge;
+}
+
+/* originally authored by Nick Pettit - https://github.com/nickpettit/glide */
+
+@-webkit-keyframes rollIn {
+       0% {
+               opacity: 0;
+               -webkit-transform: translateX(-100%) rotate(-120deg);
+               transform: translateX(-100%) rotate(-120deg);
+       }
+
+       100% {
+               opacity: 1;
+               -webkit-transform: translateX(0px) rotate(0deg);
+               transform: translateX(0px) rotate(0deg);
+       }
+}
+
+@keyframes rollIn {
+       0% {
+               opacity: 0;
+               -webkit-transform: translateX(-100%) rotate(-120deg);
+               -ms-transform: translateX(-100%) rotate(-120deg);
+               transform: translateX(-100%) rotate(-120deg);
+       }
+
+       100% {
+               opacity: 1;
+               -webkit-transform: translateX(0px) rotate(0deg);
+               -ms-transform: translateX(0px) rotate(0deg);
+               transform: translateX(0px) rotate(0deg);
+       }
+}
+
+.rollIn {
+       -webkit-animation-name: rollIn;
+       animation-name: rollIn;
+}
+
+/* originally authored by Nick Pettit - https://github.com/nickpettit/glide */
+
+@-webkit-keyframes rollOut {
+       0% {
+               opacity: 1;
+               -webkit-transform: translateX(0px) rotate(0deg);
+               transform: translateX(0px) rotate(0deg);
+       }
+
+       100% {
+               opacity: 0;
+               -webkit-transform: translateX(100%) rotate(120deg);
+               transform: translateX(100%) rotate(120deg);
+       }
+}
+
+@keyframes rollOut {
+       0% {
+               opacity: 1;
+               -webkit-transform: translateX(0px) rotate(0deg);
+               -ms-transform: translateX(0px) rotate(0deg);
+               transform: translateX(0px) rotate(0deg);
+       }
+
+       100% {
+               opacity: 0;
+               -webkit-transform: translateX(100%) rotate(120deg);
+               -ms-transform: translateX(100%) rotate(120deg);
+               transform: translateX(100%) rotate(120deg);
+       }
+}
+
+.rollOut {
+       -webkit-animation-name: rollOut;
+       animation-name: rollOut;
+}
\ No newline at end of file
diff --git a/templates/shop-isle/assets/css/vendor/flexslider.css b/templates/shop-isle/assets/css/vendor/flexslider.css
new file mode 100644 (file)
index 0000000..39c7048
--- /dev/null
@@ -0,0 +1,99 @@
+/*
+ * jQuery FlexSlider v2.2.0
+ * http://www.woothemes.com/flexslider/
+ *
+ * Copyright 2012 WooThemes
+ * Free to use under the GPLv2 license.
+ * http://www.gnu.org/licenses/gpl-2.0.html
+ *
+ * Contributing author: Tyler Smith (@mbmufffin)
+ */
+
+
+/* Browser Resets
+*********************************/
+.hero-slider .flex-container a:active,
+.hero-slider .flexslider a:active,
+.hero-slider .flex-container a:focus,
+.hero-slider .flexslider a:focus  {outline: none;}
+.hero-slider .slides,
+.hero-slider .flex-control-nav,
+.hero-slider .flex-direction-nav {margin: 0; padding: 0; list-style: none;}
+
+/* Icon Fonts
+*********************************/
+/* Font-face Icons */
+@font-face {
+       font-family: 'flexslider-icon';
+       src:url('../../fonts/flexslider-icon.eot');
+       src:url('../../fonts/flexslider-icon.eot?#iefix') format('embedded-opentype'),
+       url('../../fonts/flexslider-icon.woff') format('woff'),
+       url('../../fonts/flexslider-icon.ttf') format('truetype'),
+       url('../../fonts/flexslider-icon.svg#flexslider-icon') format('svg');
+       font-weight: normal;
+       font-style: normal;
+}
+
+/* FlexSlider Necessary Styles
+*********************************/
+.hero-slider .flexslider {margin: 0; padding: 0;}
+.hero-slider .flexslider .slides > li {display: none; -webkit-backface-visibility: hidden;} /* Hide the slides before the JS is loaded. Avoids image jumping */
+.hero-slider .flexslider .slides img {width: 100%; display: block;}
+..hero-slider flex-pauseplay span {text-transform: capitalize;}
+
+/* Clearfix for the .slides element */
+.slides:after {content: "."; display: block; clear: both; visibility: hidden; line-height: 0; height: 0;}
+html[xmlns] .slides {display: block;}
+* html .slides {height: 1%;}
+
+/* No JavaScript Fallback */
+/* If you are not using another script, such as Modernizr, make sure you
+ * include js that eliminates this class on page load */
+.no-js .slides > li:first-child {display: block;}
+
+/* FlexSlider Default Theme
+*********************************/
+.hero-slider .flexslider { margin: 0 0 60px; background: #fff; border: 4px solid #fff; position: relative; -webkit-border-radius: 4px; -moz-border-radius: 4px; -o-border-radius: 4px; border-radius: 4px; -webkit-box-shadow: 0 1px 4px rgba(0,0,0,.2); -moz-box-shadow: 0 1px 4px rgba(0,0,0,.2); -o-box-shadow: 0 1px 4px rgba(0,0,0,.2); box-shadow: 0 1px 4px rgba(0,0,0,.2); zoom: 1; }
+.hero-slider .flex-viewport { max-height: 2000px; -webkit-transition: all 1s ease; -moz-transition: all 1s ease; -o-transition: all 1s ease; transition: all 1s ease; }
+.loading .flex-viewport { max-height: 300px; }
+.hero-slider .flexslider .slides { zoom: 1; }
+.hero-slider .carousel li { margin-right: 5px; }
+
+/* Direction Nav */
+.hero-slider .flex-direction-nav {*height: 0;}
+.hero-slider .flex-direction-nav a  { text-decoration:none; display: block; width: 40px; height: 40px; margin: -20px 0 0; position: absolute; top: 50%; z-index: 10; overflow: hidden; opacity: 0; cursor: pointer; color: rgba(0,0,0,0.8); text-shadow: 1px 1px 0 rgba(255,255,255,0.3); -webkit-transition: all .3s ease; -moz-transition: all .3s ease; transition: all .3s ease; }
+.hero-slider .flex-direction-nav .flex-prev { left: -50px; }
+.hero-slider .flex-direction-nav .flex-next { right: -50px; text-align: right; }
+.hero-slider .flexslider:hover .flex-prev { opacity: 0.7; left: 10px; }
+.hero-slider .flexslider:hover .flex-next { opacity: 0.7; right: 10px; }
+.hero-slider .flexslider:hover .flex-next:hover, .flexslider:hover .flex-prev:hover { opacity: 1; }
+.hero-slider .flex-direction-nav .flex-disabled { opacity: 0!important; filter:alpha(opacity=0); cursor: default; }
+.hero-slider .flex-direction-nav a:before  { font-family: "flexslider-icon"; font-size: 16px; line-height:1; display: inline-block; content: '\f001'; }
+.hero-slider .flex-direction-nav a.flex-next:before  { content: '\f002'; }
+.hero-slider .flex-direction-nav.visible-arrow .flex-next, .hero-slider .flex-direction-nav.visible-arrow .flex-prev {opacity: 1 !important; }
+.hero-slider .flex-direction-nav.visible-arrow a.flex-prev:before { position: absolute; top: 50%; left: 10px; padding: 4px 7px; background: rgba(255, 255, 255, 0.25); border-radius: 2px; }
+.hero-slider .flex-direction-nav.visible-arrow a.flex-next:before { position: absolute; top: 50%; right: 10px; padding: 4px 7px; background: rgba(255, 255, 255, 0.25); border-radius: 2px; }
+
+/* Pause/Play */
+.hero-slider .flex-pauseplay a { display: block; width: 20px; height: 20px; position: absolute; bottom: 5px; left: 10px; opacity: 0.8; z-index: 10; overflow: hidden; cursor: pointer; color: #000; }
+.hero-slider .flex-pauseplay a:before  { font-family: "flexslider-icon"; font-size: 20px; display: inline-block; content: '\f004'; }
+.hero-slider .flex-pauseplay a:hover  { opacity: 1; }
+.hero-slider .flex-pauseplay a.flex-play:before { content: '\f003'; }
+
+/* Control Nav */
+.hero-slider .flex-control-nav {width: 100%; position: absolute; bottom: -40px; text-align: center;}
+.hero-slider .flex-control-nav li {margin: 0 6px; display: inline-block; zoom: 1; *display: inline;}
+.hero-slider .flex-control-paging li a {width: 11px; height: 11px; display: block; background: #666; background: rgba(0,0,0,0.5); cursor: pointer; text-indent: -9999px; -webkit-border-radius: 20px; -moz-border-radius: 20px; -o-border-radius: 20px; border-radius: 20px; -webkit-box-shadow: inset 0 0 3px rgba(0,0,0,0.3); -moz-box-shadow: inset 0 0 3px rgba(0,0,0,0.3); -o-box-shadow: inset 0 0 3px rgba(0,0,0,0.3); box-shadow: inset 0 0 3px rgba(0,0,0,0.3); }
+.hero-slider .flex-control-paging li a:hover { background: #333; background: rgba(0,0,0,0.7); }
+.hero-slider .flex-control-paging li a.flex-active { background: #000; background: rgba(0,0,0,0.9); cursor: default; }
+
+.hero-slider .flex-control-thumbs {margin: 5px 0 0; position: static; overflow: hidden;}
+.hero-slider .flex-control-thumbs li {width: 25%; float: left; margin: 0;}
+.hero-slider .flex-control-thumbs img {width: 100%; display: block; opacity: .7; cursor: pointer;}
+.hero-slider .flex-control-thumbs img:hover {opacity: 1;}
+.hero-slider .flex-control-thumbs .flex-active {opacity: 1; cursor: default;}
+
+@media screen and (max-width: 860px) {
+       .hero-slider .flex-direction-nav .flex-prev { opacity: 1; left: 10px;}
+       .hero-slider .flex-direction-nav .flex-next { opacity: 1; right: 10px;}
+}
\ No newline at end of file
diff --git a/templates/shop-isle/assets/css/vendor/magnific-popup.css b/templates/shop-isle/assets/css/vendor/magnific-popup.css
new file mode 100644 (file)
index 0000000..d734c19
--- /dev/null
@@ -0,0 +1,368 @@
+/* Magnific Popup CSS */
+.mfp-bg {
+  top: 0;
+  left: 0;
+  width: 100%;
+  height: 100%;
+  z-index: 1042;
+  overflow: hidden;
+  position: fixed;
+  background: #0b0b0b;
+  opacity: 0.8;
+  filter: alpha(opacity=80); }
+
+.mfp-wrap {
+  top: 0;
+  left: 0;
+  width: 100%;
+  height: 100%;
+  z-index: 1043;
+  position: fixed;
+  outline: none !important;
+  -webkit-backface-visibility: hidden; }
+
+.mfp-container {
+  text-align: center;
+  position: absolute;
+  width: 100%;
+  height: 100%;
+  left: 0;
+  top: 0;
+  padding: 0 8px;
+  -webkit-box-sizing: border-box;
+  -moz-box-sizing: border-box;
+  box-sizing: border-box; }
+
+.mfp-container:before {
+  content: '';
+  display: inline-block;
+  height: 100%;
+  vertical-align: middle; }
+
+.mfp-align-top .mfp-container:before {
+  display: none; }
+
+.mfp-content {
+  position: relative;
+  display: inline-block;
+  vertical-align: middle;
+  margin: 0 auto;
+  text-align: left;
+  z-index: 1045; }
+
+.mfp-inline-holder .mfp-content, .mfp-ajax-holder .mfp-content {
+  width: 100%;
+  cursor: auto; }
+
+.mfp-ajax-cur {
+  cursor: progress; }
+
+.mfp-zoom-out-cur, .mfp-zoom-out-cur .mfp-image-holder .mfp-close {
+  cursor: -moz-zoom-out;
+  cursor: -webkit-zoom-out;
+  cursor: zoom-out; }
+
+.mfp-zoom {
+  cursor: pointer;
+  cursor: -webkit-zoom-in;
+  cursor: -moz-zoom-in;
+  cursor: zoom-in; }
+
+.mfp-auto-cursor .mfp-content {
+  cursor: auto; }
+
+.mfp-close, .mfp-arrow, .mfp-preloader, .mfp-counter {
+  -webkit-user-select: none;
+  -moz-user-select: none;
+  user-select: none; }
+
+.mfp-loading.mfp-figure {
+  display: none; }
+
+.mfp-hide {
+  display: none !important; }
+
+.mfp-preloader {
+  color: #cccccc;
+  position: absolute;
+  top: 50%;
+  width: auto;
+  text-align: center;
+  margin-top: -0.8em;
+  left: 8px;
+  right: 8px;
+  z-index: 1044; }
+.mfp-preloader a {
+  color: #cccccc; }
+.mfp-preloader a:hover {
+  color: white; }
+
+.mfp-s-ready .mfp-preloader {
+  display: none; }
+
+.mfp-s-error .mfp-content {
+  display: none; }
+
+button.mfp-close, button.mfp-arrow {
+  overflow: visible;
+  cursor: pointer;
+  background: transparent;
+  border: 0;
+  -webkit-appearance: none;
+  display: block;
+  outline: none;
+  padding: 0;
+  z-index: 1046;
+  -webkit-box-shadow: none;
+  box-shadow: none; }
+button::-moz-focus-inner {
+  padding: 0;
+  border: 0; }
+
+.mfp-close {
+  width: 44px;
+  height: 44px;
+  line-height: 44px;
+  position: absolute;
+  right: 0;
+  top: 0;
+  text-decoration: none;
+  text-align: center;
+  opacity: 0.65;
+  filter: alpha(opacity=65);
+  padding: 0 0 18px 10px;
+  color: white;
+  font-style: normal;
+  font-size: 28px;
+  font-family: Arial, Baskerville, monospace; }
+.mfp-close:hover, .mfp-close:focus {
+  opacity: 1;
+  filter: alpha(opacity=100); }
+.mfp-close:active {
+  top: 1px; }
+
+.mfp-close-btn-in .mfp-close {
+  color: #333333; }
+
+.mfp-image-holder .mfp-close, .mfp-iframe-holder .mfp-close {
+  color: white;
+  right: -6px;
+  text-align: right;
+  padding-right: 6px;
+  width: 100%; }
+
+.mfp-counter {
+  position: absolute;
+  top: 0;
+  right: 0;
+  color: #cccccc;
+  font-size: 12px;
+  line-height: 18px; }
+
+.mfp-arrow {
+  position: absolute;
+  opacity: 0.65;
+  filter: alpha(opacity=65);
+  margin: 0;
+  top: 50%;
+  margin-top: -55px;
+  padding: 0;
+  width: 90px;
+  height: 110px;
+  -webkit-tap-highlight-color: rgba(0, 0, 0, 0); }
+.mfp-arrow:active {
+  margin-top: -54px; }
+.mfp-arrow:hover, .mfp-arrow:focus {
+  opacity: 1;
+  filter: alpha(opacity=100); }
+.mfp-arrow:before, .mfp-arrow:after, .mfp-arrow .mfp-b, .mfp-arrow .mfp-a {
+  content: '';
+  display: block;
+  width: 0;
+  height: 0;
+  position: absolute;
+  left: 0;
+  top: 0;
+  margin-top: 35px;
+  margin-left: 35px;
+  border: medium inset transparent; }
+.mfp-arrow:after, .mfp-arrow .mfp-a {
+  border-top-width: 13px;
+  border-bottom-width: 13px;
+  top: 8px; }
+.mfp-arrow:before, .mfp-arrow .mfp-b {
+  border-top-width: 21px;
+  border-bottom-width: 21px;
+  opacity: 0.7; }
+
+.mfp-arrow-left {
+  left: 0; }
+.mfp-arrow-left:after, .mfp-arrow-left .mfp-a {
+  border-right: 17px solid white;
+  margin-left: 31px; }
+.mfp-arrow-left:before, .mfp-arrow-left .mfp-b {
+  margin-left: 25px;
+  border-right: 27px solid #3f3f3f; }
+
+.mfp-arrow-right {
+  right: 0; }
+.mfp-arrow-right:after, .mfp-arrow-right .mfp-a {
+  border-left: 17px solid white;
+  margin-left: 39px; }
+.mfp-arrow-right:before, .mfp-arrow-right .mfp-b {
+  border-left: 27px solid #3f3f3f; }
+
+.mfp-iframe-holder {
+  padding-top: 40px;
+  padding-bottom: 40px; }
+.mfp-iframe-holder .mfp-content {
+  line-height: 0;
+  width: 100%;
+  max-width: 900px; }
+.mfp-iframe-holder .mfp-close {
+  top: -40px; }
+
+.mfp-iframe-scaler {
+  width: 100%;
+  height: 0;
+  overflow: hidden;
+  padding-top: 56.25%; }
+.mfp-iframe-scaler iframe {
+  position: absolute;
+  display: block;
+  top: 0;
+  left: 0;
+  width: 100%;
+  height: 100%;
+  box-shadow: 0 0 8px rgba(0, 0, 0, 0.6);
+  background: black; }
+
+/* Main image in popup */
+img.mfp-img {
+  width: auto;
+  max-width: 100%;
+  height: auto;
+  display: block;
+  line-height: 0;
+  -webkit-box-sizing: border-box;
+  -moz-box-sizing: border-box;
+  box-sizing: border-box;
+  padding: 40px 0 40px;
+  margin: 0 auto; }
+
+/* The shadow behind the image */
+.mfp-figure {
+  line-height: 0; }
+.mfp-figure:after {
+  content: '';
+  position: absolute;
+  left: 0;
+  top: 40px;
+  bottom: 40px;
+  display: block;
+  right: 0;
+  width: auto;
+  height: auto;
+  z-index: -1;
+  box-shadow: 0 0 8px rgba(0, 0, 0, 0.6);
+  background: #444444; }
+.mfp-figure small {
+  color: #bdbdbd;
+  display: block;
+  font-size: 12px;
+  line-height: 14px; }
+.mfp-figure figure {
+  margin: 0; }
+
+.mfp-bottom-bar {
+  margin-top: -36px;
+  position: absolute;
+  top: 100%;
+  left: 0;
+  width: 100%;
+  cursor: auto; }
+
+.mfp-title {
+  text-align: left;
+  line-height: 18px;
+  color: #f3f3f3;
+  word-wrap: break-word;
+  padding-right: 36px; }
+
+.mfp-image-holder .mfp-content {
+  max-width: 100%; }
+
+.mfp-gallery .mfp-image-holder .mfp-figure {
+  cursor: pointer; }
+
+@media screen and (max-width: 800px) and (orientation: landscape), screen and (max-height: 300px) {
+  /**
+       * Remove all paddings around the image on small screen
+       */
+  .mfp-img-mobile .mfp-image-holder {
+    padding-left: 0;
+    padding-right: 0; }
+  .mfp-img-mobile img.mfp-img {
+    padding: 0; }
+  .mfp-img-mobile .mfp-figure:after {
+    top: 0;
+    bottom: 0; }
+  .mfp-img-mobile .mfp-figure small {
+    display: inline;
+    margin-left: 5px; }
+  .mfp-img-mobile .mfp-bottom-bar {
+    background: rgba(0, 0, 0, 0.6);
+    bottom: 0;
+    margin: 0;
+    top: auto;
+    padding: 3px 5px;
+    position: fixed;
+    -webkit-box-sizing: border-box;
+    -moz-box-sizing: border-box;
+    box-sizing: border-box; }
+  .mfp-img-mobile .mfp-bottom-bar:empty {
+    padding: 0; }
+  .mfp-img-mobile .mfp-counter {
+    right: 5px;
+    top: 3px; }
+  .mfp-img-mobile .mfp-close {
+    top: 0;
+    right: 0;
+    width: 35px;
+    height: 35px;
+    line-height: 35px;
+    background: rgba(0, 0, 0, 0.6);
+    position: fixed;
+    text-align: center;
+    padding: 0; } }
+
+@media all and (max-width: 900px) {
+  .mfp-arrow {
+    -webkit-transform: scale(0.75);
+    transform: scale(0.75); }
+  .mfp-arrow-left {
+    -webkit-transform-origin: 0;
+    transform-origin: 0; }
+  .mfp-arrow-right {
+    -webkit-transform-origin: 100%;
+    transform-origin: 100%; }
+  .mfp-container {
+    padding-left: 6px;
+    padding-right: 6px; } }
+
+.mfp-ie7 .mfp-img {
+  padding: 0; }
+.mfp-ie7 .mfp-bottom-bar {
+  width: 600px;
+  left: 50%;
+  margin-left: -300px;
+  margin-top: 5px;
+  padding-bottom: 5px; }
+.mfp-ie7 .mfp-container {
+  padding: 0; }
+.mfp-ie7 .mfp-content {
+  padding-top: 44px; }
+.mfp-ie7 .mfp-close {
+  top: 0;
+  right: 0;
+  padding-top: 0; }
\ No newline at end of file
diff --git a/templates/shop-isle/assets/css/vendor/owl.carousel.css b/templates/shop-isle/assets/css/vendor/owl.carousel.css
new file mode 100644 (file)
index 0000000..9197373
--- /dev/null
@@ -0,0 +1,170 @@
+/**
+ * Owl Carousel v2.2.1
+ * Copyright 2013-2017 David Deutsch
+ * Licensed under  ()
+ */
+/*
+ *  Owl Carousel - Core
+ */
+.owl-carousel {
+  display: none;
+  width: 100%;
+  -webkit-tap-highlight-color: transparent;
+  /* position relative and z-index fix webkit rendering fonts issue */
+  position: relative;
+  z-index: 1; }
+  .owl-carousel .owl-stage {
+    position: relative;
+    -ms-touch-action: pan-Y;
+    -moz-backface-visibility: hidden;
+    /* fix firefox animation glitch */ }
+  .owl-carousel .owl-stage:after {
+    content: ".";
+    display: block;
+    clear: both;
+    visibility: hidden;
+    line-height: 0;
+    height: 0; }
+  .owl-carousel .owl-stage-outer {
+    position: relative;
+    overflow: hidden;
+    /* fix for flashing background */
+    -webkit-transform: translate3d(0px, 0px, 0px); }
+  .owl-carousel .owl-wrapper,
+  .owl-carousel .owl-item {
+    -webkit-backface-visibility: hidden;
+    -moz-backface-visibility: hidden;
+    -ms-backface-visibility: hidden;
+    -webkit-transform: translate3d(0, 0, 0);
+    -moz-transform: translate3d(0, 0, 0);
+    -ms-transform: translate3d(0, 0, 0); }
+  .owl-carousel .owl-item {
+    position: relative;
+    min-height: 1px;
+    float: left;
+    -webkit-backface-visibility: hidden;
+    -webkit-tap-highlight-color: transparent;
+    -webkit-touch-callout: none; }
+  .owl-carousel .owl-item img {
+    display: block;
+    width: 100%; }
+  .owl-carousel .owl-nav.disabled,
+  .owl-carousel .owl-dots.disabled {
+    display: none; }
+  .owl-carousel .owl-nav .owl-prev,
+  .owl-carousel .owl-nav .owl-next,
+  .owl-carousel .owl-dot {
+    cursor: pointer;
+    cursor: hand;
+    -webkit-user-select: none;
+    -khtml-user-select: none;
+    -moz-user-select: none;
+    -ms-user-select: none;
+    user-select: none; }
+  .owl-carousel.owl-loaded {
+    display: block; }
+  .owl-carousel.owl-loading {
+    opacity: 0;
+    display: block; }
+  .owl-carousel.owl-hidden {
+    opacity: 0; }
+  .owl-carousel.owl-refresh .owl-item {
+    visibility: hidden; }
+  .owl-carousel.owl-drag .owl-item {
+    -webkit-user-select: none;
+    -moz-user-select: none;
+    -ms-user-select: none;
+    user-select: none; }
+  .owl-carousel.owl-grab {
+    cursor: move;
+    cursor: grab; }
+  .owl-carousel.owl-rtl {
+    direction: rtl; }
+  .owl-carousel.owl-rtl .owl-item {
+    float: right; }
+
+/* No Js */
+.no-js .owl-carousel {
+  display: block; }
+
+/*
+ *  Owl Carousel - Animate Plugin
+ */
+.owl-carousel .animated {
+  animation-duration: 1000ms;
+  animation-fill-mode: both; }
+
+.owl-carousel .owl-animated-in {
+  z-index: 0; }
+
+.owl-carousel .owl-animated-out {
+  z-index: 1; }
+
+.owl-carousel .fadeOut {
+  animation-name: fadeOut; }
+
+@keyframes fadeOut {
+  0% {
+    opacity: 1; }
+  100% {
+    opacity: 0; } }
+
+/*
+ *     Owl Carousel - Auto Height Plugin
+ */
+.owl-height {
+  transition: height 500ms ease-in-out; }
+
+/*
+ *     Owl Carousel - Lazy Load Plugin
+ */
+.owl-carousel .owl-item .owl-lazy {
+  opacity: 0;
+  transition: opacity 400ms ease; }
+
+.owl-carousel .owl-item img.owl-lazy {
+  transform-style: preserve-3d; }
+
+/*
+ *     Owl Carousel - Video Plugin
+ */
+.owl-carousel .owl-video-wrapper {
+  position: relative;
+  height: 100%;
+  background: #000; }
+
+.owl-carousel .owl-video-play-icon {
+  position: absolute;
+  height: 80px;
+  width: 80px;
+  left: 50%;
+  top: 50%;
+  margin-left: -40px;
+  margin-top: -40px;
+  background: url("owl.video.play.png") no-repeat;
+  cursor: pointer;
+  z-index: 1;
+  -webkit-backface-visibility: hidden;
+  transition: transform 100ms ease; }
+
+.owl-carousel .owl-video-play-icon:hover {
+  -ms-transform: scale(1.3, 1.3);
+      transform: scale(1.3, 1.3); }
+
+.owl-carousel .owl-video-playing .owl-video-tn,
+.owl-carousel .owl-video-playing .owl-video-play-icon {
+  display: none; }
+
+.owl-carousel .owl-video-tn {
+  opacity: 0;
+  height: 100%;
+  background-position: center center;
+  background-repeat: no-repeat;
+  background-size: contain;
+  transition: opacity 400ms ease; }
+
+.owl-carousel .owl-video-frame {
+  position: relative;
+  z-index: 1;
+  height: 100%;
+  width: 100%; }
diff --git a/templates/shop-isle/assets/css/vendor/owl.carousel.min.css b/templates/shop-isle/assets/css/vendor/owl.carousel.min.css
new file mode 100644 (file)
index 0000000..1ece042
--- /dev/null
@@ -0,0 +1,6 @@
+/**
+ * Owl Carousel v2.2.1
+ * Copyright 2013-2017 David Deutsch
+ * Licensed under  ()
+ */
+.owl-carousel,.owl-carousel .owl-item{-webkit-tap-highlight-color:transparent;position:relative}.owl-carousel{display:none;width:100%;z-index:1}.owl-carousel .owl-stage{position:relative;-ms-touch-action:pan-Y;-moz-backface-visibility:hidden}.owl-carousel .owl-stage:after{content:".";display:block;clear:both;visibility:hidden;line-height:0;height:0}.owl-carousel .owl-stage-outer{position:relative;overflow:hidden;-webkit-transform:translate3d(0,0,0)}.owl-carousel .owl-item,.owl-carousel .owl-wrapper{-webkit-backface-visibility:hidden;-moz-backface-visibility:hidden;-ms-backface-visibility:hidden;-webkit-transform:translate3d(0,0,0);-moz-transform:translate3d(0,0,0);-ms-transform:translate3d(0,0,0)}.owl-carousel .owl-item{min-height:1px;float:left;-webkit-backface-visibility:hidden;-webkit-touch-callout:none}.owl-carousel .owl-item img{display:block;width:100%}.owl-carousel .owl-dots.disabled,.owl-carousel .owl-nav.disabled{display:none}.no-js .owl-carousel,.owl-carousel.owl-loaded{display:block}.owl-carousel .owl-dot,.owl-carousel .owl-nav .owl-next,.owl-carousel .owl-nav .owl-prev{cursor:pointer;cursor:hand;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.owl-carousel.owl-loading{opacity:0;display:block}.owl-carousel.owl-hidden{opacity:0}.owl-carousel.owl-refresh .owl-item{visibility:hidden}.owl-carousel.owl-drag .owl-item{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.owl-carousel.owl-grab{cursor:move;cursor:grab}.owl-carousel.owl-rtl{direction:rtl}.owl-carousel.owl-rtl .owl-item{float:right}.owl-carousel .animated{animation-duration:1s;animation-fill-mode:both}.owl-carousel .owl-animated-in{z-index:0}.owl-carousel .owl-animated-out{z-index:1}.owl-carousel .fadeOut{animation-name:fadeOut}@keyframes fadeOut{0%{opacity:1}100%{opacity:0}}.owl-height{transition:height .5s ease-in-out}.owl-carousel .owl-item .owl-lazy{opacity:0;transition:opacity .4s ease}.owl-carousel .owl-item img.owl-lazy{transform-style:preserve-3d}.owl-carousel .owl-video-wrapper{position:relative;height:100%;background:#000}.owl-carousel .owl-video-play-icon{position:absolute;height:80px;width:80px;left:50%;top:50%;margin-left:-40px;margin-top:-40px;background:url(owl.video.play.png) no-repeat;cursor:pointer;z-index:1;-webkit-backface-visibility:hidden;transition:transform .1s ease}.owl-carousel .owl-video-play-icon:hover{-ms-transform:scale(1.3,1.3);transform:scale(1.3,1.3)}.owl-carousel .owl-video-playing .owl-video-play-icon,.owl-carousel .owl-video-playing .owl-video-tn{display:none}.owl-carousel .owl-video-tn{opacity:0;height:100%;background-position:center center;background-repeat:no-repeat;background-size:contain;transition:opacity .4s ease}.owl-carousel .owl-video-frame{position:relative;z-index:1;height:100%;width:100%}
\ No newline at end of file
diff --git a/templates/shop-isle/assets/fonts/ElegantIcons.eot b/templates/shop-isle/assets/fonts/ElegantIcons.eot
new file mode 100644 (file)
index 0000000..2fe8892
Binary files /dev/null and b/templates/shop-isle/assets/fonts/ElegantIcons.eot differ
diff --git a/templates/shop-isle/assets/fonts/ElegantIcons.svg b/templates/shop-isle/assets/fonts/ElegantIcons.svg
new file mode 100644 (file)
index 0000000..93538d7
--- /dev/null
@@ -0,0 +1,1832 @@
+<?xml version="1.0" standalone="no"?>
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd" >
+<svg xmlns="http://www.w3.org/2000/svg">
+<metadata>
+This is a custom SVG font generated by IcoMoon.
+<iconset grid="16"></iconset>
+</metadata>
+<defs>
+<font id="ElegantIcons" horiz-adv-x="512" >
+<font-face units-per-em="512" ascent="480" descent="-32" />
+<missing-glyph horiz-adv-x="512" />
+<glyph class="hidden" unicode="&#xf000;" d="M0,480L 512 -32L0 -32 z" horiz-adv-x="0" />
+<glyph unicode="&#x21;" d="M 272,32C 280.832,32, 288,39.168, 288,48L 288,361.376 l 68.672-68.672c 6.24-6.24, 16.384-6.24, 22.624,0
+               c 6.24,6.24, 6.24,16.384,0,22.624l-96,96C 281.824,412.8, 280.064,413.952, 278.112,414.752c-3.904,1.632-8.32,1.632-12.224,0
+               C 263.968,413.984, 262.272,412.832, 260.8,411.392C 260.768,411.36, 260.736,411.36, 260.672,411.328l-96-96c-6.24-6.24-6.24-16.384,0-22.624
+               c 6.24-6.24, 16.384-6.24, 22.624,0L 256,361.376L 256,48 C 256,39.168, 263.168,32, 272,32z"  />
+<glyph unicode="&#x22;" d="M 272,416C 263.168,416, 256,408.832, 256,400l0-313.376 l-68.672,68.672c-6.24,6.24-16.384,6.24-22.624,0
+               c-6.24-6.24-6.24-16.384,0-22.624l 96-96c 0.032-0.032, 0.096-0.032, 0.128-0.096c 1.44-1.408, 3.168-2.592, 5.056-3.36
+               c 3.904-1.632, 8.32-1.632, 12.224,0c 1.952,0.8, 3.712,1.984, 5.184,3.456l 96,96c 6.24,6.24, 6.24,16.384,0,22.624
+               c-6.24,6.24-16.384,6.24-22.624,0L 288,86.624L 288,400 C 288,408.832, 280.832,416, 272,416z"  />
+<glyph unicode="&#x23;" d="M 64,239.936C 64,237.888, 64.448,235.84, 65.248,233.888c 0.768-1.888, 1.92-3.584, 3.328-5.024
+               C 68.608,228.8, 68.64,228.736, 68.672,228.672l 96-96c 6.24-6.24, 16.384-6.24, 22.624,0c 6.24,6.24, 6.24,16.384,0,22.624L 118.624,224L 432,224 
+               C 440.832,224, 448,231.168, 448,240C 448,248.832, 440.832,256, 432,256L 118.624,256 l 68.672,68.672c 6.24,6.24, 6.24,16.384,0,22.624
+               c-6.24,6.24-16.384,6.24-22.624,0l-96-96C 68.64,251.264, 68.608,251.168, 68.576,251.136C 67.168,249.696, 66.016,248, 65.248,246.112
+               C 64.416,244.16, 64,242.080, 64,240l0,0C 64,239.968, 64,239.968, 64,239.936z"  />
+<glyph unicode="&#x24;" d="M 64,240C 64,231.168, 71.168,224, 80,224l 313.376,0 l-68.672-68.672c-6.24-6.24-6.24-16.384,0-22.624
+               c 6.24-6.24, 16.384-6.24, 22.624,0l 96,96c 1.472,1.472, 2.656,3.232, 3.456,5.184C 447.552,235.84, 448,237.888, 448,239.936c0,0.032,0,0.032,0,0.064
+               l0,0c0,2.080-0.416,4.16-1.248,6.112c-0.8,1.952-1.984,3.712-3.456,5.184l-96,96c-6.24,6.24-16.384,6.24-22.624,0
+               c-6.24-6.24-6.24-16.384,0-22.624L 393.376,256L 80,256 C 71.168,256, 64,248.832, 64,240z"  />
+<glyph unicode="&#x25;" d="M 64,240C 64,231.168, 71.168,224, 80,224S 96,231.168, 96,240L 96,361.376 l 324.672-324.672c 6.24-6.24, 16.384-6.24, 22.624,0
+               c 6.24,6.24, 6.24,16.384,0,22.624L 118.624,384L 240,384 C 248.832,384, 256,391.168, 256,400C 256,408.832, 248.832,416, 240,416l-160,0 C 77.92,416, 75.84,415.584, 73.888,414.752
+               C 71.968,413.984, 70.272,412.832, 68.8,411.392C 68.768,411.36, 68.736,411.36, 68.672,411.328C 68.64,411.264, 68.608,411.168, 68.576,411.136
+               C 67.168,409.696, 66.016,408, 65.248,406.112C 64.416,404.16, 64,402.080, 64,400l0,0L 64,240 z"  />
+<glyph unicode="&#x26;" d="M 68.672,36.672c 6.24-6.24, 16.384-6.24, 22.624,0L 416,361.376L 416,240 C 416,231.168, 423.168,224, 432,224S 448,231.168, 448,240l0,160 
+               l0,0c0,2.080-0.416,4.16-1.248,6.112c-1.632,3.904-4.736,7.040-8.64,8.64C 436.16,415.584, 434.080,416, 432,416l-160,0 C 263.168,416, 256,408.832, 256,400
+               C 256,391.168, 263.168,384, 272,384l 121.376,0 L 68.672,59.328C 62.432,53.056, 62.432,42.944, 68.672,36.672z"  />
+<glyph unicode="&#x27;" d="M 432,224C 423.168,224, 416,216.832, 416,208l0-121.376 L 91.328,411.328c-6.24,6.24-16.384,6.24-22.624,0
+               c-6.24-6.24-6.24-16.384,0-22.624L 393.376,64L 272,64 C 263.168,64, 256,56.832, 256,48C 256,39.168, 263.168,32, 272,32l 160,0 
+               c 2.080,0, 4.16,0.416, 6.112,1.248c 3.904,1.632, 7.040,4.736, 8.64,8.64C 447.552,43.84, 448,45.888, 448,47.936c0,0.032,0,0.032,0,0.064l0,160 
+               C 448,216.832, 440.832,224, 432,224z"  />
+<glyph unicode="&#x28;" d="M 80,224C 71.168,224, 64,216.832, 64,208l0-160 c0-0.032,0-0.032,0-0.064c0-2.080, 0.416-4.128, 1.216-6.048
+               c 0.768-1.888, 1.92-3.584, 3.328-5.024c 0.064-0.064, 0.064-0.128, 0.128-0.192c 0.032-0.032, 0.096-0.032, 0.128-0.096
+               c 1.44-1.408, 3.168-2.592, 5.056-3.36C 75.84,32.416, 77.92,32, 80,32l 160,0 C 248.832,32, 256,39.168, 256,48C 256,56.832, 248.832,64, 240,64L 118.624,64 
+               L 443.328,388.672c 6.24,6.24, 6.24,16.384,0,22.624c-6.24,6.24-16.384,6.24-22.624,0L 96,86.624L 96,208 C 96,216.832, 88.832,224, 80,224z"  />
+<glyph unicode="&#x29;" d="M 324.672,388.672c 6.24-6.24, 16.384-6.24, 22.624,0c 6.24,6.24, 6.24,16.384,0,22.624l-64,64
+               C 281.824,476.8, 280.064,477.952, 278.112,478.752c-3.904,1.632-8.32,1.632-12.224,0C 263.968,477.984, 262.272,476.832, 260.8,475.392
+               C 260.768,475.36, 260.736,475.36, 260.672,475.328l-64-64c-6.24-6.24-6.24-16.384,0-22.624c 6.24-6.24, 16.384-6.24, 22.624,0L 256,425.376l0-402.752 
+               l-36.672,36.672c-6.24,6.24-16.384,6.24-22.624,0c-6.24-6.24-6.24-16.384,0-22.624l 64-64c 0.032-0.032, 0.096-0.032, 0.128-0.096
+               c 1.44-1.408, 3.168-2.592, 5.056-3.36c 3.904-1.632, 8.32-1.632, 12.224,0c 1.952,0.8, 3.712,1.984, 5.184,3.456l 64,64
+               c 6.24,6.24, 6.24,16.384,0,22.624c-6.24,6.24-16.384,6.24-22.624,0L 288,22.624L 288,425.376 L 324.672,388.672z"  />
+<glyph unicode="&#x2a;" d="M 292.48-27.488c 3.136-3.136, 7.264-4.704, 11.36-4.672c 4.128,0, 8.224,1.536, 11.36,4.672l 61.632,61.632
+               c 6.24,6.24, 6.24,16.384,0,22.624s-16.384,6.24-22.624,0L 320,22.56l0,281.28 c0,8.832-7.168,16-16,16S 288,312.672, 288,303.84l0-281.6 
+               l-36.864,36.864c-6.24,6.24-16.384,6.24-22.624,0c-6.24-6.24-6.24-16.384,0-22.624L 292.48-27.488zM 208,127.84c 8.832,0, 16,7.168, 16,16l0,281.6 l 36.864-36.864c 6.24-6.24, 16.384-6.24, 22.624,0
+               c 6.24,6.24, 6.24,16.384,0,22.624L 219.52,475.168C 216.384,478.304, 212.288,479.84, 208.16,479.84c-4.128,0-8.224-1.536-11.36-4.672L 135.168,413.536
+               c-6.24-6.24-6.24-16.384,0-22.624c 6.24-6.24, 16.384-6.24, 22.624,0L 192,425.12l0-281.28 C 192,135.008, 199.168,127.84, 208,127.84z"  />
+<glyph unicode="&#x2b;" d="M 88.928,103.008c 6.24,6.24, 6.24,16.384,0,22.624L 54.56,160L 336,160 c 8.832,0, 16,7.168, 16,16
+               C 352,184.832, 344.832,192, 336,192L 54.56,192 l 36.704,36.704c 6.24,6.24, 6.24,16.384,0,22.624c-6.24,6.24-16.384,6.24-22.624,0L 4.672,187.36
+               C 1.536,184.224,0,180.128,0,176c0-4.128, 1.536-8.224, 4.672-11.36l 61.632-61.632C 72.576,96.736, 82.688,96.736, 88.928,103.008zM 507.328,283.040l-61.632,61.632c-6.24,6.24-16.384,6.24-22.624,0s-6.24-16.384,0-22.624l 34.368-34.368L 176,287.68 
+               C 167.168,287.68, 160,280.512, 160,271.68s 7.168-16, 16-16l 281.44,0 l-36.704-36.704c-6.24-6.24-6.24-16.384,0-22.624
+               c 6.24-6.24, 16.384-6.24, 22.624,0l 63.968,63.968C 510.464,263.456, 512,267.552, 512,271.68C 512,275.808, 510.464,279.904, 507.328,283.040z"  />
+<glyph unicode="&#x2c;" d="M 510.752,214.112c-0.8,1.952-1.984,3.712-3.456,5.184l-64,64c-6.24,6.24-16.384,6.24-22.624,0
+               c-6.24-6.24-6.24-16.384,0-22.624L 457.376,224L 54.624,224 l 36.672,36.672c 6.24,6.24, 6.24,16.384,0,22.624c-6.24,6.24-16.384,6.24-22.624,0
+               l-64-64C 4.64,219.264, 4.608,219.168, 4.576,219.136C 3.168,217.696, 2.016,216, 1.248,214.112C 0.416,212.16,0,210.080,0,208l0,0
+               c0-0.032,0-0.032,0-0.064C0,205.888, 0.448,203.84, 1.248,201.888c 0.768-1.888, 1.92-3.584, 3.328-5.024C 4.608,196.8, 4.64,196.736, 4.672,196.672
+               l 64-64c 6.24-6.24, 16.384-6.24, 22.624,0c 6.24,6.24, 6.24,16.384,0,22.624L 54.624,192l 402.752,0 l-36.672-36.672
+               c-6.24-6.24-6.24-16.384,0-22.624c 6.24-6.24, 16.384-6.24, 22.624,0l 64,64c 1.472,1.472, 2.656,3.232, 3.456,5.184
+               C 511.552,203.84, 512,205.888, 512,207.936c0,0.032,0,0.032,0,0.064l0,0C 512,210.080, 511.584,212.16, 510.752,214.112z"  />
+<glyph unicode="&#x2d;" d="M 64,240C 64,231.168, 71.168,224, 80,224S 96,231.168, 96,240L 96,361.376 L 393.376,64L 272,64 C 263.168,64, 256,56.832, 256,48
+               C 256,39.168, 263.168,32, 272,32l 160,0 c 2.080,0, 4.16,0.416, 6.112,1.248c 3.904,1.632, 7.040,4.736, 8.64,8.64C 447.552,43.84, 448,45.888, 448,47.936
+               c0,0.032,0,0.032,0,0.064l0,160 C 448,216.832, 440.832,224, 432,224S 416,216.832, 416,208l0-121.376 L 118.624,384L 240,384 C 248.832,384, 256,391.168, 256,400
+               C 256,408.832, 248.832,416, 240,416l-160,0 C 77.92,416, 75.84,415.584, 73.888,414.752C 71.968,413.984, 70.272,412.832, 68.8,411.392
+               C 68.768,411.36, 68.736,411.36, 68.672,411.328C 68.64,411.264, 68.608,411.168, 68.576,411.136C 67.168,409.696, 66.016,408, 65.248,406.112
+               C 64.416,404.16, 64,402.080, 64,400l0,0L 64,240 z"  />
+<glyph unicode="&#x2e;" d="M 80,224C 71.168,224, 64,216.832, 64,208l0-160 c0-0.032,0-0.032,0-0.064c0-2.080, 0.416-4.128, 1.216-6.048
+               c 0.768-1.888, 1.92-3.584, 3.328-5.024c 0.064-0.064, 0.064-0.128, 0.128-0.192c 0.032-0.032, 0.096-0.032, 0.128-0.096
+               c 1.44-1.408, 3.168-2.592, 5.056-3.36C 75.84,32.416, 77.92,32, 80,32l 160,0 C 248.832,32, 256,39.168, 256,48C 256,56.832, 248.832,64, 240,64L 118.624,64 
+               L 416,361.376L 416,240 C 416,231.168, 423.168,224, 432,224S 448,231.168, 448,240l0,160 l0,0c0,2.080-0.416,4.16-1.248,6.112c-1.632,3.904-4.736,7.040-8.64,8.64
+               C 436.16,415.584, 434.080,416, 432,416l-160,0 C 263.168,416, 256,408.832, 256,400C 256,391.168, 263.168,384, 272,384l 121.376,0 L 96,86.624L 96,208 C 96,216.832, 88.832,224, 80,224z"  />
+<glyph unicode="&#x2f;" d="M 475.328,443.328c-6.24,6.24-16.384,6.24-22.624,0L 320,310.624L 320,400 C 320,408.832, 312.832,416, 304,416S 288,408.832, 288,400l0-128 
+               c0-0.032,0-0.032,0-0.064C 288,269.888, 288.448,267.84, 289.248,265.888c 0.768-1.888, 1.92-3.584, 3.328-5.024C 292.608,260.8, 292.64,260.736, 292.672,260.672
+               C 292.736,260.64, 292.768,260.64, 292.8,260.608c 1.44-1.408, 3.168-2.592, 5.056-3.36C 299.84,256.416, 301.92,256, 304,256l 128,0 C 440.832,256, 448,263.168, 448,272
+               C 448,280.832, 440.832,288, 432,288l-89.376,0 l 132.672,132.672C 481.568,426.944, 481.568,437.056, 475.328,443.328zM 36.672,4.672c 6.24-6.24, 16.384-6.24, 22.624,0L 192,137.376L 192,48 C 192,39.168, 199.168,32, 208,32S 224,39.168, 224,48l0,128 
+               l0,0c0,2.080-0.416,4.16-1.248,6.112c-1.632,3.904-4.736,7.040-8.64,8.64C 212.16,191.584, 210.080,192, 208,192l-128,0 C 71.168,192, 64,184.832, 64,176
+               C 64,167.168, 71.168,160, 80,160l 89.376,0 l-132.672-132.672C 30.432,21.056, 30.432,10.944, 36.672,4.672z"  />
+<glyph unicode="&#x30;" d="M 478.752,438.112c-1.632,3.904-4.736,7.040-8.64,8.64C 468.16,447.584, 466.080,448, 464,448l-128,0 C 327.168,448, 320,440.832, 320,432
+               C 320,423.168, 327.168,416, 336,416l 89.376,0 L 292.672,283.328c-6.24-6.24-6.24-16.384,0-22.624c 6.24-6.24, 16.384-6.24, 22.624,0L 448,393.376L 448,304 
+               C 448,295.168, 455.168,288, 464,288S 480,295.168, 480,304l0,128 l0,0C 480,434.080, 479.584,436.16, 478.752,438.112zM 48,160C 39.168,160, 32,152.832, 32,144l0-128 c0-0.032,0-0.032,0-0.064c0-2.080, 0.416-4.128, 1.216-6.048
+               c 0.768-1.888, 1.92-3.584, 3.328-5.024c 0.064-0.064, 0.064-0.128, 0.128-0.192c 0.032-0.032, 0.096-0.032, 0.128-0.096
+               c 1.44-1.408, 3.168-2.592, 5.056-3.36C 43.84,0.416, 45.92,0, 48,0l 128,0 C 184.832,0, 192,7.168, 192,16C 192,24.832, 184.832,32, 176,32L 86.624,32 
+               l 132.672,132.672c 6.24,6.24, 6.24,16.384,0,22.624c-6.24,6.24-16.384,6.24-22.624,0L 64,54.624L 64,144 C 64,152.832, 56.832,160, 48,160z"  />
+<glyph unicode="&#x31;" d="M 510.752,214.112c-0.8,1.952-1.984,3.712-3.456,5.184l-64,64c-6.24,6.24-16.384,6.24-22.624,0
+               c-6.24-6.24-6.24-16.384,0-22.624L 457.376,224L 288,224 L 288,393.376 l 36.672-36.672c 6.24-6.24, 16.384-6.24, 22.624,0c 6.24,6.24, 6.24,16.384,0,22.624
+               l-64,64C 283.264,443.36, 283.168,443.392, 283.136,443.424C 281.696,444.832, 280,445.984, 278.112,446.752C 276.16,447.584, 274.080,448, 272,448C 271.968,448, 271.968,448, 271.936,448
+               C 269.888,448, 267.84,447.552, 265.888,446.752C 264,445.984, 262.304,444.832, 260.864,443.424C 260.8,443.392, 260.736,443.36, 260.672,443.328l-64-64
+               c-6.24-6.24-6.24-16.384,0-22.624c 6.24-6.24, 16.384-6.24, 22.624,0L 256,393.376L 256,224 L 86.624,224 l 36.672,36.672c 6.24,6.24, 6.24,16.384,0,22.624
+               c-6.24,6.24-16.384,6.24-22.624,0l-64-64C 36.64,219.264, 36.608,219.168, 36.576,219.136C 35.168,217.696, 34.016,216, 33.248,214.112
+               C 32.416,212.16, 32,210.080, 32,208c0-0.032,0-0.032,0-0.064C 32,205.888, 32.448,203.84, 33.248,201.888c 0.768-1.888, 1.92-3.584, 3.328-5.024
+               C 36.608,196.8, 36.64,196.736, 36.672,196.672l 64-64c 6.24-6.24, 16.384-6.24, 22.624,0c 6.24,6.24, 6.24,16.384,0,22.624L 86.624,192L 256,192 l0-169.376 
+               l-36.672,36.672c-6.24,6.24-16.384,6.24-22.624,0c-6.24-6.24-6.24-16.384,0-22.624l 64-64c 1.472-1.472, 3.232-2.656, 5.184-3.456
+               C 267.84-31.552, 269.888-32, 271.936-32c 0.032,0, 0.032,0, 0.064,0c 2.080,0, 4.16,0.416, 6.112,1.248c 1.952,0.8, 3.712,1.984, 5.184,3.456l 64,64
+               c 6.24,6.24, 6.24,16.384,0,22.624c-6.24,6.24-16.384,6.24-22.624,0L 288,22.624L 288,192 l 169.376,0 l-36.672-36.672
+               c-6.24-6.24-6.24-16.384,0-22.624c 6.24-6.24, 16.384-6.24, 22.624,0l 64,64c 1.472,1.472, 2.656,3.232, 3.456,5.184
+               C 511.552,203.84, 512,205.888, 512,207.936c0,0.032,0,0.032,0,0.064C 512,210.080, 511.584,212.16, 510.752,214.112z"  />
+<glyph unicode="&#x32;" d="M 179.488,156.8L 272,249.312l 92.512-92.512c 6.24-6.24, 16.384-6.24, 22.624,0c 6.24,6.24, 6.24,16.384,0,22.624
+               L 283.36,283.2C 280.224,286.336, 276.128,287.872, 272,287.872c-4.128,0-8.224-1.536-11.36-4.672L 156.864,179.424c-6.24-6.24-6.24-16.384,0-22.624
+               C 163.104,150.56, 173.248,150.56, 179.488,156.8z"  />
+<glyph unicode="&#x33;" d="M 364.512,259.2L 272,166.688L 179.488,259.2c-6.24,6.24-16.384,6.24-22.624,0c-6.24-6.24-6.24-16.384,0-22.624
+               l 103.776-103.776c 3.136-3.136, 7.264-4.704, 11.36-4.672c 4.128,0, 8.224,1.536, 11.36,4.672l 103.776,103.776c 6.24,6.24, 6.24,16.384,0,22.624
+               C 380.896,265.44, 370.752,265.44, 364.512,259.2z"  />
+<glyph unicode="&#x34;" d="M 196.8,196.64l 103.776-103.776c 6.24-6.24, 16.384-6.24, 22.624,0c 6.24,6.24, 6.24,16.384,0,22.624L 230.688,208
+               L 323.2,300.512c 6.24,6.24, 6.24,16.384,0,22.624c-6.24,6.24-16.384,6.24-22.624,0L 196.8,219.36C 193.664,216.224, 192.128,212.128, 192.128,208
+               C 192.128,203.872, 193.664,199.776, 196.8,196.64z"  />
+<glyph unicode="&#x35;" d="M 220.8,92.864c 6.24-6.24, 16.384-6.24, 22.624,0l 103.776,103.776c 3.136,3.136, 4.704,7.264, 4.672,11.36
+               c0,4.128-1.536,8.224-4.672,11.36L 243.424,323.136c-6.24,6.24-16.384,6.24-22.624,0c-6.24-6.24-6.24-16.384,0-22.624L 313.312,208
+               L 220.8,115.488C 214.56,109.248, 214.56,99.104, 220.8,92.864z"  />
+<glyph unicode="&#x36;" d="M 375.232,252.608L 268.192,347.296c-3.2,3.2-7.392,4.736-11.584,4.672C 252.384,352.032, 248.192,350.496, 244.992,347.296
+               L 137.952,252.608c-6.272-6.272-6.272-16.48,0-22.752c 6.272-6.272, 16.48-6.272, 22.752,0l 95.872,84.832l 95.872-84.832
+               c 6.272-6.272, 16.48-6.272, 22.752,0C 381.536,236.128, 381.536,246.304, 375.232,252.608zM 268.192,232.544c-3.2,3.2-7.392,4.736-11.584,4.672C 252.384,237.28, 248.192,235.744, 244.992,232.544l-107.040-94.688
+               c-6.272-6.272-6.272-16.48,0-22.752c 6.272-6.272, 16.48-6.272, 22.752,0l 95.872,84.8l 95.872-84.8c 6.272-6.272, 16.48-6.272, 22.752,0
+               c 6.272,6.272, 6.272,16.48,0,22.752L 268.192,232.544z"  />
+<glyph unicode="&#x37;" d="M 351.296,218.176l-95.872-84.8l-95.872,84.8c-6.272,6.272-16.48,6.272-22.752,0c-6.272-6.272-6.272-16.48,0-22.752
+               l 107.040-94.688c 3.2-3.2, 7.392-4.736, 11.584-4.672C 259.616,96, 263.808,97.504, 267.008,100.704l 107.040,94.688c 6.272,6.272, 6.272,16.48,0,22.752
+               S 357.568,224.448, 351.296,218.176zM 374.048,332.928c-6.272,6.272-16.48,6.272-22.752,0l-95.872-84.8l-95.872,84.8C 153.248,339.2, 143.040,339.2, 136.768,332.928
+               c-6.272-6.272-6.272-16.48,0-22.752l 107.040-94.688c 3.2-3.2, 7.392-4.736, 11.584-4.672c 4.192-0.064, 8.416,1.472, 11.584,4.672l 107.040,94.688
+               C 380.352,316.448, 380.352,326.624, 374.048,332.928z"  />
+<glyph unicode="&#x38;" d="M 132.704,212.992l 94.688-107.040c 6.272-6.272, 16.48-6.272, 22.752,0s 6.272,16.48,0,22.752l-84.8,95.872l 84.8,95.872
+               c 6.272,6.272, 6.272,16.48,0,22.752s-16.48,6.272-22.752,0L 132.704,236.192C 129.504,232.992, 128,228.8, 128.032,224.608
+               C 128,220.416, 129.504,216.192, 132.704,212.992zM 364.928,343.232c-6.272,6.272-16.48,6.272-22.752,0L 247.456,236.192c-3.2-3.2-4.736-7.392-4.672-11.584
+               C 242.752,220.416, 244.256,216.192, 247.456,212.992l 94.688-107.040c 6.272-6.272, 16.48-6.272, 22.752,0s 6.272,16.48,0,22.752l-84.8,95.872l 84.8,95.872
+               C 371.2,326.752, 371.2,336.96, 364.928,343.232z"  />
+<glyph unicode="&#x39;" d="M 379.296,235.008L 284.608,342.048c-6.272,6.272-16.48,6.272-22.752,0s-6.272-16.48,0-22.752l 84.8-95.872l-84.8-95.872
+               c-6.272-6.272-6.272-16.48,0-22.752s 16.48-6.272, 22.752,0l 94.688,107.040c 3.2,3.2, 4.736,7.392, 4.672,11.584
+               C 384,227.616, 382.496,231.808, 379.296,235.008zM 147.072,104.768c 6.272-6.272, 16.48-6.272, 22.752,0l 94.688,107.040c 3.2,3.2, 4.736,7.392, 4.672,11.584
+               c 0.064,4.192-1.472,8.416-4.672,11.584L 169.856,342.048c-6.272,6.272-16.48,6.272-22.752,0s-6.272-16.48,0-22.752l 84.8-95.872l-84.8-95.872
+               C 140.8,121.248, 140.8,111.040, 147.072,104.768z"  />
+<glyph unicode="&#x3a;" d="M 283.36,283.2C 280.224,286.336, 276.128,287.872, 272,287.872c-4.128,0-8.224-1.536-11.36-4.672L 156.864,179.424
+               c-6.24-6.24-6.24-16.384,0-22.624c 6.24-6.24, 16.384-6.24, 22.624,0L 272,249.312l 92.512-92.512c 6.24-6.24, 16.384-6.24, 22.624,0
+               c 6.24,6.24, 6.24,16.384,0,22.624L 283.36,283.2zM 273.056,445.856c-131.968,0-238.944-106.976-238.944-238.944S 141.12-32, 273.056-32S 512,74.976, 512,206.944
+               S 405.024,445.856, 273.056,445.856z M 273.056,0c-114.112,0-206.944,92.832-206.944,206.944s 92.832,206.944, 206.944,206.944S 480,321.024, 480,206.944
+               S 387.168,0, 273.056,0z"  />
+<glyph unicode="&#x3b;" d="M 364.512,259.2L 272,166.688L 179.488,259.2c-6.24,6.24-16.384,6.24-22.624,0c-6.24-6.24-6.24-16.384,0-22.624
+               l 103.776-103.776c 3.136-3.136, 7.264-4.704, 11.36-4.672c 4.128,0, 8.224,1.536, 11.36,4.672l 103.776,103.776c 6.24,6.24, 6.24,16.384,0,22.624
+               C 380.896,265.44, 370.752,265.44, 364.512,259.2zM 273.152,445.728c-131.904,0-238.848-106.944-238.848-238.848C 34.272,74.944, 141.216-32, 273.152-32
+               C 405.056-32, 512,74.944, 512,206.848C 512,338.784, 405.056,445.728, 273.152,445.728z M 273.152,0c-114.048,0-206.848,92.8-206.848,206.848
+               c0,114.048, 92.8,206.848, 206.848,206.848C 387.2,413.728, 480,320.928, 480,206.848C 480,92.8, 387.2,0, 273.152,0z"  />
+<glyph unicode="&#x3c;" d="M 323.2,323.136c-6.24,6.24-16.384,6.24-22.624,0L 196.8,219.36C 193.664,216.224, 192.128,212.128, 192.128,208
+               c0-4.128, 1.536-8.224, 4.672-11.36l 103.776-103.776c 6.24-6.24, 16.384-6.24, 22.624,0c 6.24,6.24, 6.24,16.384,0,22.624L 230.688,208
+               L 323.2,300.512C 329.44,306.752, 329.44,316.896, 323.2,323.136zM 272,448C 139.456,448, 32,340.544, 32,208S 139.456-32, 272-32S 512,75.456, 512,208S 404.544,448, 272,448z M 272,0
+               C 157.312,0, 64,93.312, 64,208S 157.312,416, 272,416S 480,322.688, 480,208S 386.688,0, 272,0z"  />
+<glyph unicode="&#x3d;" d="M 347.2,219.36L 243.424,323.136c-6.24,6.24-16.384,6.24-22.624,0c-6.24-6.24-6.24-16.384,0-22.624L 313.312,208
+               L 220.8,115.488c-6.24-6.24-6.24-16.384,0-22.624c 6.24-6.24, 16.384-6.24, 22.624,0l 103.776,103.776c 3.136,3.136, 4.704,7.264, 4.672,11.36
+               C 351.872,212.128, 350.336,216.224, 347.2,219.36zM 273.152,445.696c-131.904,0-238.848-106.944-238.848-238.848S 141.248-32, 273.152-32S 512,74.944, 512,206.848
+               S 405.056,445.696, 273.152,445.696z M 273.152,0c-114.048,0-206.848,92.8-206.848,206.848s 92.8,206.848, 206.848,206.848S 480,320.896, 480,206.848S 387.2,0, 273.152,0z"  />
+<glyph unicode="&#x3e;" d="M 284.192,331.296c-3.2,3.2-7.392,4.736-11.584,4.672C 268.384,336.032, 264.192,334.496, 260.992,331.296L 153.952,236.608
+               c-6.272-6.272-6.272-16.48,0-22.752c 6.272-6.272, 16.48-6.272, 22.752,0l 95.872,84.832l 95.872-84.832c 6.272-6.272, 16.48-6.272, 22.752,0
+               c 6.272,6.272, 6.272,16.48,0,22.752L 284.192,331.296zM 284.192,216.544c-3.2,3.2-7.392,4.736-11.584,4.672C 268.384,221.28, 264.192,219.744, 260.992,216.544l-107.040-94.688
+               c-6.272-6.272-6.272-16.48,0-22.752c 6.272-6.272, 16.48-6.272, 22.752,0l 95.872,84.8l 95.872-84.8c 6.272-6.272, 16.48-6.272, 22.752,0
+               c 6.272,6.272, 6.272,16.48,0,22.752L 284.192,216.544zM 273.152,445.696c-131.904,0-238.848-106.944-238.848-238.848S 141.248-32, 273.152-32S 512,74.944, 512,206.848
+               S 405.056,445.696, 273.152,445.696z M 273.152,0c-114.048,0-206.848,92.8-206.848,206.848s 92.8,206.848, 206.848,206.848S 480,320.896, 480,206.848S 387.2,0, 273.152,0z"  />
+<glyph unicode="&#x3f;" d="M 367.296,202.176l-95.872-84.8l-95.872,84.8c-6.272,6.272-16.48,6.272-22.752,0c-6.272-6.272-6.272-16.48,0-22.752
+               l 107.040-94.688c 3.2-3.2, 7.392-4.736, 11.584-4.672c 4.192-0.064, 8.416,1.472, 11.584,4.672l 107.040,94.688c 6.272,6.272, 6.272,16.48,0,22.752
+               S 373.568,208.448, 367.296,202.176zM 367.296,316.928l-95.872-84.8l-95.872,84.8C 169.248,323.2, 159.040,323.2, 152.768,316.928c-6.272-6.272-6.272-16.48,0-22.752
+               l 107.040-94.688c 3.2-3.2, 7.392-4.736, 11.584-4.672c 4.192-0.064, 8.416,1.472, 11.584,4.672l 107.040,94.688c 6.272,6.272, 6.272,16.48,0,22.752
+               S 373.568,323.2, 367.296,316.928zM 273.152,445.696c-131.904,0-238.848-106.944-238.848-238.848S 141.248-32, 273.152-32S 512,74.944, 512,206.848
+               S 405.056,445.696, 273.152,445.696z M 273.152,0c-114.048,0-206.848,92.8-206.848,206.848s 92.8,206.848, 206.848,206.848S 480,320.896, 480,206.848S 387.2,0, 273.152,0z"  />
+<glyph unicode="&#x40;" d="M 181.344,208.608l 84.8,95.872c 6.272,6.272, 6.272,16.48,0,22.752s-16.48,6.272-22.752,0L 148.704,220.192
+               c-3.2-3.2-4.736-7.392-4.672-11.584C 144,204.416, 145.504,200.192, 148.704,196.992l 94.688-107.040c 6.272-6.272, 16.48-6.272, 22.752,0
+               s 6.272,16.48,0,22.752L 181.344,208.608zM 380.928,327.232c-6.272,6.272-16.48,6.272-22.752,0L 263.456,220.192c-3.2-3.2-4.736-7.392-4.672-11.584
+               C 258.752,204.416, 260.256,200.192, 263.456,196.992l 94.688-107.040c 6.272-6.272, 16.48-6.272, 22.752,0s 6.272,16.48,0,22.752l-84.8,95.872l 84.8,95.872
+               C 387.2,310.752, 387.2,320.96, 380.928,327.232zM 272,448C 139.456,448, 32,340.544, 32,208S 139.456-32, 272-32S 512,75.456, 512,208S 404.544,448, 272,448z M 272,0
+               C 157.312,0, 64,93.312, 64,208S 157.312,416, 272,416S 480,322.688, 480,208S 386.688,0, 272,0z"  />
+<glyph unicode="&#x41;" d="M 395.296,219.008L 300.608,326.048c-6.272,6.272-16.48,6.272-22.752,0s-6.272-16.48,0-22.752l 84.8-95.872l-84.8-95.872
+               c-6.272-6.272-6.272-16.48,0-22.752s 16.48-6.272, 22.752,0l 94.688,107.040c 3.2,3.2, 4.736,7.392, 4.672,11.584
+               C 400,211.616, 398.496,215.808, 395.296,219.008zM 285.216,207.424c 0.064,4.192-1.472,8.416-4.672,11.584L 185.856,326.048c-6.272,6.272-16.48,6.272-22.752,0
+               s-6.272-16.48,0-22.752l 84.8-95.872l-84.8-95.872c-6.272-6.272-6.272-16.48,0-22.752s 16.48-6.272, 22.752,0l 94.688,107.040
+               C 283.744,199.008, 285.28,203.2, 285.216,207.424zM 272,448C 139.456,448, 32,340.544, 32,208S 139.456-32, 272-32S 512,75.456, 512,208S 404.544,448, 272,448z M 272,0
+               C 157.312,0, 64,93.312, 64,208S 157.312,416, 272,416S 480,322.688, 480,208S 386.688,0, 272,0z"  />
+<glyph unicode="&#x42;" d="M 143.968,160l 223.456,0 c 4.576,0, 8.64,2.208, 11.52,5.632l 0.064-0.064c 6.24,6.944, 6.24,18.208,0,25.152L 267.040,314.784
+               c-6.24,6.944-16.352,6.944-22.56,0c-0.16-0.192-0.224-0.448-0.384-0.64L 132.352,190.72c-6.24-6.944-6.24-18.208,0-25.152
+               C 132.416,165.504, 132.48,165.472, 132.544,165.408C 135.456,162.080, 139.456,160, 143.968,160z"  />
+<glyph unicode="&#x43;" d="M 266.912,165.216c 0.16,0.192, 0.224,0.448, 0.384,0.64l 111.712,123.424c 6.24,6.944, 6.24,18.208,0,25.152
+               c-0.064,0.064-0.128,0.096-0.192,0.128C 375.936,317.92, 371.904,320, 367.424,320L 143.968,320 c-4.576,0-8.64-2.208-11.552-5.632L 132.352,314.432
+               c-6.24-6.944-6.24-18.208,0-25.152l 111.968-124.064C 250.56,158.272, 260.672,158.272, 266.912,165.216z"  />
+<glyph unicode="&#x44;" d="M 289.28,347.648L 165.216,235.648c-6.944-6.24-6.944-16.352,0-22.56c 0.192-0.16, 0.448-0.224, 0.64-0.384l 123.424-111.712
+               c 6.944-6.24, 18.208-6.24, 25.152,0c 0.064,0.064, 0.064,0.128, 0.128,0.192C 317.92,104.064, 320,108.096, 320,112.576L 320,336.032 
+               c0,4.576-2.208,8.64-5.632,11.52l 0.064,0.064C 307.488,353.856, 296.224,353.856, 289.28,347.648z"  />
+<glyph unicode="&#x45;" d="M 222.304,100.384l 122.432,112.256c 6.848,6.24, 6.848,16.384,0,22.624c-0.192,0.16-0.448,0.224-0.64,0.384
+               l-121.792,112c-6.848,6.24-17.984,6.24-24.832,0C 197.44,347.584, 197.408,347.488, 197.344,347.424C 194.080,344.544, 192,340.512, 192,336l0-224 
+               c0-4.576, 2.176-8.64, 5.536-11.552l-0.064-0.064C 204.352,94.112, 215.456,94.112, 222.304,100.384z"  />
+<glyph unicode="&#x46;" d="M 272,448C 139.456,448, 32,340.544, 32,208S 139.456-32, 272-32S 512,75.456, 512,208S 404.544,448, 272,448z M 272,0
+               C 157.312,0, 64,93.312, 64,208S 157.312,416, 272,416S 480,322.688, 480,208S 386.688,0, 272,0zM 281.6,282.784c-5.44,6.944-14.304,6.944-19.744,0c-0.16-0.192-0.192-0.448-0.352-0.64L 163.776,158.72
+               c-5.44-6.944-5.44-18.208,0-25.152c 0.032-0.064, 0.128-0.064, 0.16-0.128C 166.464,130.080, 169.984,128, 173.92,128l 195.52,0 
+               c 4,0, 7.552,2.208, 10.080,5.632l 0.064-0.064c 5.44,6.944, 5.44,18.208,0,25.152L 281.6,282.784z"  />
+<glyph unicode="&#x47;" d="M 272,448C 139.456,448, 32,340.544, 32,208S 139.456-32, 272-32S 512,75.456, 512,208S 404.544,448, 272,448z M 272,0
+               C 157.312,0, 64,93.312, 64,208S 157.312,416, 272,416S 480,322.688, 480,208S 386.688,0, 272,0zM 379.744,250.592C 377.216,253.92, 373.696,256, 369.76,256l-195.52,0 C 170.24,256, 166.688,253.792, 164.16,250.368L 164.096,250.432
+               c-5.44-6.944-5.44-18.208,0-25.152l 97.984-124.064c 5.44-6.944, 14.304-6.944, 19.744,0c 0.16,0.192, 0.192,0.448, 0.352,0.64l 97.76,123.424
+               c 5.44,6.944, 5.44,18.208,0,25.152C 379.872,250.496, 379.808,250.528, 379.744,250.592z"  />
+<glyph unicode="&#x48;" d="M 272,448C 139.456,448, 32,340.544, 32,208S 139.456-32, 272-32S 512,75.456, 512,208S 404.544,448, 272,448z M 272,0
+               C 157.312,0, 64,93.312, 64,208S 157.312,416, 272,416S 480,322.688, 480,208S 386.688,0, 272,0zM 314.432,316.224c-6.944,5.44-18.208,5.44-25.152,0L 165.216,218.24c-6.944-5.44-6.944-14.304,0-19.744
+               c 0.192-0.16, 0.448-0.192, 0.64-0.352l 123.424-97.76c 6.944-5.44, 18.208-5.44, 25.152,0c 0.064,0.032, 0.064,0.128, 0.128,0.16
+               C 317.92,103.104, 320,106.624, 320,110.56l0,195.52 C 320,310.080, 317.792,313.632, 314.368,316.16L 314.432,316.224z"  />
+<glyph unicode="&#x49;" d="M 272,448C 139.456,448, 32,340.544, 32,208S 139.456-32, 272-32S 512,75.456, 512,208S 404.544,448, 272,448z M 272,0
+               C 157.312,0, 64,93.312, 64,208S 157.312,416, 272,416S 480,322.688, 480,208S 386.688,0, 272,0zM 378.144,218.464L 254.72,316.224c-6.944,5.44-18.208,5.44-25.152,0C 229.504,316.16, 229.472,316.096, 229.408,316.064
+               C 226.080,313.536, 224,310.016, 224,306.080l0-195.52 c0-4, 2.208-7.552, 5.632-10.080l-0.064-0.064c 6.944-5.44, 18.208-5.44, 25.152,0L 378.784,198.4
+               c 6.944,5.44, 6.944,14.304,0,19.744C 378.592,218.304, 378.336,218.336, 378.144,218.464z"  />
+<glyph unicode="&#x4a;" d="M 68.672,228.672l 96-96c 6.24-6.24, 16.384-6.24, 22.624,0c 6.24,6.24, 6.24,16.384,0,22.624L 118.624,224L 352,224 
+               c 64,0, 96-59.072, 96-112c0-8.832, 7.168-16, 16-16s 16,7.168, 16,16C 480,182.592, 448,256, 352,256L 118.624,256 l 68.672,68.672
+               c 6.24,6.24, 6.24,16.384,0,22.624c-6.24,6.24-16.384,6.24-22.624,0l-96-96C 62.432,245.056, 62.432,234.944, 68.672,228.672z"  />
+<glyph unicode="&#x4b;" d="M 144,192l 256,0 C 408.832,192, 416,199.168, 416,208C 416,216.832, 408.832,224, 400,224l-256,0 C 135.168,224, 128,216.832, 128,208
+               C 128,199.168, 135.168,192, 144,192z"  />
+<glyph unicode="&#x4c;" d="M 144,192L 256,192 l0-112 C 256,71.168, 263.168,64, 272,64S 288,71.168, 288,80L 288,192 l 112,0 C 408.832,192, 416,199.168, 416,208
+               C 416,216.832, 408.832,224, 400,224L 288,224 L 288,336 C 288,344.832, 280.832,352, 272,352S 256,344.832, 256,336L 256,224 L 144,224 C 135.168,224, 128,216.832, 128,208C 128,199.168, 135.168,192, 144,192z"  />
+<glyph unicode="&#x4d;" d="M 160.8,96.8c 6.24-6.24, 16.384-6.24, 22.624,0L 272,185.376l 88.576-88.576c 6.24-6.24, 16.384-6.24, 22.624,0
+               c 6.24,6.24, 6.24,16.384,0,22.624L 294.624,208l 88.576,88.576c 6.24,6.24, 6.24,16.384,0,22.624c-6.24,6.24-16.384,6.24-22.624,0
+               L 272,230.624L 183.424,319.2c-6.24,6.24-16.384,6.24-22.624,0c-6.24-6.24-6.24-16.384,0-22.624L 249.376,208l-88.576-88.576
+               C 154.56,113.184, 154.56,103.040, 160.8,96.8z"  />
+<glyph unicode="&#x4e;" d="M 220.608,70.592c 0.64-0.512, 1.024-1.216, 1.696-1.696c 0.96-0.64, 2.048-0.768, 3.072-1.216
+               c 1.216-0.576, 2.4-1.12, 3.68-1.472c 1.248-0.32, 2.464-0.48, 3.744-0.576c 1.824-0.192, 3.584-0.192, 5.376,0.064
+               c 0.736,0.128, 1.44,0.32, 2.176,0.512c 2.208,0.544, 4.256,1.408, 6.272,2.624c 0.352,0.224, 0.64,0.48, 0.992,0.704
+               c 1.312,0.896, 2.72,1.568, 3.84,2.784c 0.8,0.864, 1.152,1.984, 1.792,2.944c 0.032,0.032, 0.096,0.064, 0.096,0.096l 190.688,305.632
+               c 6.784,10.336, 3.872,24.224-6.496,31.008s-24.224,3.872-31.008-6.496l-176.128-282.272L 132.992,217.984C 123.904,226.4, 109.76,225.856, 101.344,216.768
+               C 92.96,207.68, 93.504,193.504, 102.592,185.12l 117.184-114.016C 220,70.88, 220.32,70.816, 220.608,70.592z"  />
+<glyph unicode="&#x4f;" d="M 272,448C 139.456,448, 32,340.544, 32,208S 139.456-32, 272-32S 512,75.456, 512,208S 404.544,448, 272,448z M 272,0
+               C 157.312,0, 64,93.312, 64,208S 157.312,416, 272,416S 480,322.688, 480,208S 386.688,0, 272,0zM 400,224l-256,0 C 135.168,224, 128,216.832, 128,208C 128,199.168, 135.168,192, 144,192l 256,0 C 408.832,192, 416,199.168, 416,208
+               C 416,216.832, 408.832,224, 400,224z"  />
+<glyph unicode="&#x50;" d="M 272,448C 139.456,448, 32,340.544, 32,208S 139.456-32, 272-32S 512,75.456, 512,208S 404.544,448, 272,448z M 272,0
+               C 157.312,0, 64,93.312, 64,208S 157.312,416, 272,416S 480,322.688, 480,208S 386.688,0, 272,0zM 400,224L 288,224 L 288,336 C 288,344.832, 280.832,352, 272,352S 256,344.832, 256,336L 256,224 L 144,224 C 135.168,224, 128,216.832, 128,208C 128,199.168, 135.168,192, 144,192L 256,192 
+               l0-112 C 256,71.168, 263.168,64, 272,64S 288,71.168, 288,80L 288,192 l 112,0 C 408.832,192, 416,199.168, 416,208C 416,216.832, 408.832,224, 400,224z"  />
+<glyph unicode="&#x51;" d="M 272,448C 139.456,448, 32,340.544, 32,208S 139.456-32, 272-32S 512,75.456, 512,208S 404.544,448, 272,448z M 272,0
+               C 157.312,0, 64,93.312, 64,208S 157.312,416, 272,416S 480,322.688, 480,208S 386.688,0, 272,0zM 360.576,319.2L 272.608,231.232L 193.728,319.2c-6.24,6.24-16.384,6.24-22.624,0c-6.24-6.24-6.24-16.384,0-22.624
+               l 78.912-87.968l-89.184-89.184c-6.24-6.24-6.24-16.384,0-22.624c 6.24-6.24, 16.384-6.24, 22.624,0l 87.968,87.968l 78.912-87.968
+               c 6.24-6.24, 16.384-6.24, 22.624,0s 6.24,16.384,0,22.624L 294.016,207.392l 89.184,89.184c 6.24,6.24, 6.24,16.384,0,22.624
+               C 376.96,325.44, 366.816,325.44, 360.576,319.2z"  />
+<glyph unicode="&#x52;" d="M 257.344,480c-141.376,0-256-114.624-256-256s 114.624-256, 256-256s 256,114.624, 256,256S 398.72,480, 257.344,480z M 257.344,0c-123.52,0-224,100.48-224,224
+               s 100.48,224, 224,224s 224-100.48, 224-224S 380.832,0, 257.344,0zM 369.472,325.824c-10.336,6.784-24.224,3.872-31.008-6.496L 230.432,154.24L 178.784,202.048
+               C 169.696,210.432, 155.52,209.888, 147.104,200.8S 139.264,177.568, 148.352,169.152l 71.392-66.048c 0.256-0.224, 0.576-0.288, 0.832-0.512
+               c 0.64-0.512, 1.024-1.216, 1.696-1.696c 0.96-0.64, 2.048-0.768, 3.072-1.216c 1.216-0.576, 2.4-1.12, 3.68-1.472
+               c 1.248-0.32, 2.464-0.48, 3.744-0.576c 1.824-0.192, 3.584-0.192, 5.376,0.064c 0.736,0.128, 1.44,0.32, 2.176,0.512
+               c 2.208,0.544, 4.256,1.408, 6.272,2.624c 0.352,0.224, 0.64,0.48, 0.992,0.704c 1.312,0.896, 2.72,1.568, 3.84,2.784
+               c 0.8,0.864, 1.152,1.984, 1.792,2.944c 0.032,0.032, 0.096,0.064, 0.096,0.096l 122.624,187.424C 382.72,305.152, 379.808,319.040, 369.472,325.824z"  />
+<glyph unicode="&#x53;" d="M 304,480C 189.12,480, 96,386.88, 96,272c0-49.44, 17.312-94.752, 46.112-130.464l-135.584-135.584
+               c-8.672-8.672-8.672-22.752,0-31.424c 8.672-8.672, 22.752-8.672, 31.424,0l 135.584,135.584C 209.248,81.312, 254.56,64, 304,64
+               c 114.88,0, 208,93.12, 208,208S 418.88,480, 304,480z M 304,96C 206.944,96, 128,174.944, 128,272S 206.944,448, 304,448S 480,369.056, 480,272S 401.056,96, 304,96zM 400,288l-192,0 C 199.168,288, 192,280.832, 192,272C 192,263.168, 199.168,256, 208,256l 192,0 C 408.832,256, 416,263.168, 416,272
+               C 416,280.832, 408.832,288, 400,288z"  />
+<glyph unicode="&#x54;" d="M 304,480C 189.12,480, 96,386.88, 96,272c0-49.44, 17.312-94.752, 46.112-130.464l-135.584-135.584
+               c-8.672-8.672-8.672-22.752,0-31.424c 8.672-8.672, 22.752-8.672, 31.424,0l 135.584,135.584C 209.248,81.312, 254.56,64, 304,64
+               c 114.88,0, 208,93.12, 208,208S 418.88,480, 304,480z M 304,96C 206.944,96, 128,174.944, 128,272S 206.944,448, 304,448S 480,369.056, 480,272S 401.056,96, 304,96zM 400,288L 320,288 L 320,368 C 320,376.832, 312.832,384, 304,384C 295.168,384, 288,376.832, 288,368L 288,288 L 208,288 C 199.168,288, 192,280.832, 192,272
+               C 192,263.168, 199.168,256, 208,256L 288,256 l0-80 C 288,167.168, 295.168,160, 304,160C 312.832,160, 320,167.168, 320,176L 320,256 l 80,0 C 408.832,256, 416,263.168, 416,272
+               C 416,280.832, 408.832,288, 400,288z"  />
+<glyph unicode="&#x55;" d="M 304,480C 189.12,480, 96,386.88, 96,272c0-49.44, 17.344-94.816, 46.144-130.528l-137.472-137.472c-8.64-8.64-8.64-22.688,0-31.328
+               c 8.64-8.64, 22.688-8.64, 31.328,0l 137.472,137.472C 209.184,81.344, 254.56,64, 304,64c 114.88,0, 208,93.12, 208,208S 418.88,480, 304,480z M 304,96
+               C 206.944,96, 128,174.944, 128,272S 206.944,448, 304,448S 480,369.056, 480,272S 401.056,96, 304,96z"  />
+<glyph unicode="&#x56;" d="M 416,416L 96,416 C 78.336,416, 64,401.664, 64,384l0-320 c0-17.664, 14.336-32, 32-32l 320,0 c 17.664,0, 32,14.336, 32,32L 448,384 C 448,401.664, 433.664,416, 416,416z
+                M 416,64L 96,64 L 96,384 l 320,0 L 416,64 z"  />
+<glyph unicode="&#x57;" d="M 416,416L 96,416 C 78.336,416, 64,401.664, 64,384l0-320 c0-17.664, 14.336-32, 32-32l 320,0 c 17.664,0, 32,14.336, 32,32L 448,384 C 448,401.664, 433.664,416, 416,416z
+                M 416,64L 96,64 L 96,384 l 320,0 L 416,64 zM 192,128l 128,0 c 17.664,0, 32,14.336, 32,32L 352,288 c0,17.664-14.336,32-32,32L 192,320 C 174.336,320, 160,305.664, 160,288l0-128 C 160,142.336, 174.336,128, 192,128z"  />
+<glyph unicode="&#x58;" d="M 128,320l0-224 c0-17.664, 14.336-32, 32-32l 224,0 c 17.664,0, 32,14.336, 32,32L 416,320 c0,17.664-14.336,32-32,32L 160,352 C 142.336,352, 128,337.664, 128,320z M 384,96L 160,96 
+               L 160,320 l 224,0 L 384,96 zM 208,192l 128,0 C 344.832,192, 352,199.168, 352,208C 352,216.832, 344.832,224, 336,224l-128,0 C 199.168,224, 192,216.832, 192,208
+               C 192,199.168, 199.168,192, 208,192z"  />
+<glyph unicode="&#x59;" d="M 128,320l0-224 c0-17.664, 14.336-32, 32-32l 224,0 c 17.664,0, 32,14.336, 32,32L 416,320 c0,17.664-14.336,32-32,32L 160,352 C 142.336,352, 128,337.664, 128,320z M 384,96L 160,96 
+               L 160,320 l 224,0 L 384,96 zM 208,192L 256,192 l0-48 C 256,135.168, 263.168,128, 272,128S 288,135.168, 288,144L 288,192 l 48,0 C 344.832,192, 352,199.168, 352,208
+               C 352,216.832, 344.832,224, 336,224L 288,224 L 288,272 C 288,280.832, 280.832,288, 272,288S 256,280.832, 256,272L 256,224 L 208,224 C 199.168,224, 192,216.832, 192,208C 192,199.168, 199.168,192, 208,192z"  />
+<glyph unicode="&#x5a;" d="M 416,64L 96,64 L 96,384 l 236.032,0 L 352,416L 96,416 C 78.336,416, 64,401.664, 64,384l0-320 c0-17.664, 14.336-32, 32-32l 320,0 c 17.664,0, 32,14.336, 32,32L 448,275.296 L 416,224L 416,64 
+               zM 469.856,444.352C 466.080,446.816, 461.824,448, 457.632,448c-7.296,0-14.464-3.584-18.752-10.144L 264.928,186.912l-67.296,76.8
+               C 188.512,272.128, 174.368,271.584, 165.952,262.496S 158.112,239.232, 167.2,230.848l 80.896-92.32c 0.512-0.832, 1.312-1.472, 1.952-2.24l 2.048-2.336
+               c 0.256-0.224, 0.576-0.288, 0.832-0.512c 0.64-0.512, 1.024-1.216, 1.696-1.696c 1.376-0.896, 2.88-1.472, 4.384-2.016
+               c 0.352-0.128, 0.64-0.352, 0.992-0.448c 2.24-0.736, 4.576-1.184, 6.88-1.184c 0.096,0, 0.192,0.064, 0.288,0.064
+               c 6.080-0.032, 12.128,2.208, 16.576,7.008c 0.832,0.896, 1.152,1.984, 1.824,2.976c 0.032,0.032, 0.064,0.064, 0.096,0.096l 190.688,275.104
+               C 483.104,423.68, 480.224,437.568, 469.856,444.352z"  />
+<glyph unicode="&#x5b;" d="M 256,416C 149.952,416, 64,330.048, 64,224s 85.952-192, 192-192s 192,85.952, 192,192S 362.048,416, 256,416z M 256,64c-88.224,0-160,71.776-160,160s 71.776,160, 160,160
+               s 160-71.776, 160-160S 344.224,64, 256,64z"  />
+<glyph unicode="&#x5c;" d="M 256,416C 149.952,416, 64,330.048, 64,224s 85.952-192, 192-192s 192,85.952, 192,192S 362.048,416, 256,416z M 256,64c-88.224,0-160,71.776-160,160s 71.776,160, 160,160
+               s 160-71.776, 160-160S 344.224,64, 256,64zM 160,224A96,96 1260 1 1 352,224A96,96 1260 1 1 160,224z"  />
+<glyph unicode="&#x5d;" d="M 256,480C 114.624,480,0,365.376,0,224s 114.624-256, 256-256s 256,114.624, 256,256S 397.376,480, 256,480z M 256,0c-123.52,0-224,100.48-224,224s 100.48,224, 224,224
+               s 224-100.48, 224-224S 379.52,0, 256,0zM 320,320L 192,320 C 174.336,320, 160,305.664, 160,288l0-128 c0-17.664, 14.336-32, 32-32l 128,0 c 17.664,0, 32,14.336, 32,32L 352,288 C 352,305.664, 337.664,320, 320,320z"  />
+<glyph unicode="&#x5e;" d="M 320,128c 17.664,0, 32,14.336, 32,32L 352,288 c0,17.664-14.336,32-32,32L 192,320 C 174.336,320, 160,305.664, 160,288l0-128 c0-17.664, 14.336-32, 32-32L 320,128 z"  />
+<glyph unicode="&#x5f;" d="M 256-32c 141.376,0, 256,114.624, 256,256s-114.624,256-256,256S0,365.376,0,224S 114.624-32, 256-32z M 256,448c 123.52,0, 224-100.48, 224-224s-100.48-224-224-224
+               s-224,100.48-224,224S 132.48,448, 256,448zM 192,128c 17.664,0, 32,14.336, 32,32L 224,288 c0,17.664-14.336,32-32,32S 160,305.664, 160,288l0-128 C 160,142.336, 174.336,128, 192,128zM 320,128c 17.664,0, 32,14.336, 32,32L 352,288 c0,17.664-14.336,32-32,32S 288,305.664, 288,288l0-128 C 288,142.336, 302.336,128, 320,128z"  />
+<glyph unicode="&#x60;" d="M 192,320C 174.336,320, 160,305.664, 160,288l0-128 c0-17.664, 14.336-32, 32-32s 32,14.336, 32,32L 224,288 C 224,305.664, 209.664,320, 192,320zM 288,160c0-17.664, 14.336-32, 32-32s 32,14.336, 32,32L 352,288 c0,17.664-14.336,32-32,32S 288,305.664, 288,288L 288,160 z"  />
+<glyph unicode="&#x61;" d="M 112,224l 288,0 C 408.832,224, 416,231.168, 416,240C 416,248.832, 408.832,256, 400,256l-288,0 C 103.168,256, 96,248.832, 96,240
+               C 96,231.168, 103.168,224, 112,224zM 112,320l 288,0 C 408.832,320, 416,327.168, 416,336C 416,344.832, 408.832,352, 400,352l-288,0 C 103.168,352, 96,344.832, 96,336
+               C 96,327.168, 103.168,320, 112,320zM 112,128l 288,0 c 8.832,0, 16,7.168, 16,16c0,8.832-7.168,16-16,16l-288,0 C 103.168,160, 96,152.832, 96,144
+               C 96,135.168, 103.168,128, 112,128z"  />
+<glyph unicode="&#x62;" d="M 480,448L 64,448 C 46.336,448, 32,433.664, 32,416l0-416 c0-17.664, 14.336-32, 32-32l 416,0 c 17.664,0, 32,14.336, 32,32L 512,416 C 512,433.664, 497.664,448, 480,448z
+                M 480,0L 64,0 L 64,416 l 416,0 L 480,0 zM 144,192l 256,0 C 408.832,192, 416,199.168, 416,208C 416,216.832, 408.832,224, 400,224l-256,0 C 135.168,224, 128,216.832, 128,208
+               C 128,199.168, 135.168,192, 144,192zM 144,288l 256,0 C 408.832,288, 416,295.168, 416,304C 416,312.832, 408.832,320, 400,320l-256,0 C 135.168,320, 128,312.832, 128,304
+               C 128,295.168, 135.168,288, 144,288zM 144,96l 256,0 c 8.832,0, 16,7.168, 16,16c0,8.832-7.168,16-16,16l-256,0 C 135.168,128, 128,120.832, 128,112
+               C 128,103.168, 135.168,96, 144,96z"  />
+<glyph unicode="&#x63;" d="M 272,448C 139.456,448, 32,340.544, 32,208S 139.456-32, 272-32S 512,75.456, 512,208S 404.544,448, 272,448z M 272,0
+               C 157.312,0, 64,93.312, 64,208S 157.312,416, 272,416S 480,322.688, 480,208S 386.688,0, 272,0zM 400,224l-256,0 C 135.168,224, 128,216.832, 128,208C 128,199.168, 135.168,192, 144,192l 256,0 C 408.832,192, 416,199.168, 416,208
+               C 416,216.832, 408.832,224, 400,224zM 400,320l-256,0 C 135.168,320, 128,312.832, 128,304C 128,295.168, 135.168,288, 144,288l 256,0 C 408.832,288, 416,295.168, 416,304
+               C 416,312.832, 408.832,320, 400,320zM 400,128l-256,0 C 135.168,128, 128,120.832, 128,112C 128,103.168, 135.168,96, 144,96l 256,0 c 8.832,0, 16,7.168, 16,16
+               C 416,120.832, 408.832,128, 400,128z"  />
+<glyph unicode="&#x64;" d="M 176,224l 256,0 C 440.832,224, 448,231.168, 448,240C 448,248.832, 440.832,256, 432,256l-256,0 C 167.168,256, 160,248.832, 160,240
+               C 160,231.168, 167.168,224, 176,224zM 176,352l 256,0 C 440.832,352, 448,359.168, 448,368C 448,376.832, 440.832,384, 432,384l-256,0 C 167.168,384, 160,376.832, 160,368
+               C 160,359.168, 167.168,352, 176,352zM 176,96l 256,0 c 8.832,0, 16,7.168, 16,16c0,8.832-7.168,16-16,16l-256,0 C 167.168,128, 160,120.832, 160,112
+               C 160,103.168, 167.168,96, 176,96zM 64,368A16,16 1260 1 1 96,368A16,16 1260 1 1 64,368zM 64,240A16,16 1260 1 1 96,240A16,16 1260 1 1 64,240zM 64,112A16,16 1260 1 1 96,112A16,16 1260 1 1 64,112z"  />
+<glyph unicode="&#x65;" d="M 432,256l-256,0 C 167.168,256, 160,248.832, 160,240C 160,231.168, 167.168,224, 176,224l 256,0 C 440.832,224, 448,231.168, 448,240
+               C 448,248.832, 440.832,256, 432,256zM 432,384l-256,0 C 167.168,384, 160,376.832, 160,368C 160,359.168, 167.168,352, 176,352l 256,0 C 440.832,352, 448,359.168, 448,368
+               C 448,376.832, 440.832,384, 432,384zM 432,128l-256,0 C 167.168,128, 160,120.832, 160,112C 160,103.168, 167.168,96, 176,96l 256,0 c 8.832,0, 16,7.168, 16,16
+               C 448,120.832, 440.832,128, 432,128zM 111.36,328.544L 111.36,407.456L 102.24,407.456L 84.992,398.24L 87.072,390.112L 100.8,397.504L 101.024,397.504L 101.024,328.544    
+               zM 85.984,215.232L 77.632,207.104l0-6.56 L 128,200.544 L 128,209.408 L 92.544,209.408 L 92.544,209.632 l 6.304,5.824c 16.64,16.032, 27.2,27.808, 27.2,42.368
+               c0,11.296-7.168,22.944-24.16,22.944c-9.12,0-16.864-3.392-22.336-8.032l 3.392-7.52c 3.648,3.040, 9.6,6.688, 16.768,6.688
+               c 11.776,0, 15.648-7.392, 15.648-15.424C 115.264,244.608, 106.144,234.4, 85.984,215.232zM 99.104,81.152c-7.392,0-14.432,3.040-17.472,4.96l-2.912-8.256c 3.872-2.56, 11.648-5.344, 20.512-5.344
+               c 18.944,0, 28.768,11.040, 28.768,23.68c0,11.040-7.904,18.336-17.6,20.288l0,0.224 c 9.728,3.52, 14.56,10.432, 14.56,18.592
+               c0,9.6-7.040,18.816-22.592,18.816c-8.512,0-16.512-3.040-20.64-6.080l 2.784-7.776c 3.392,2.432, 9.472,5.216, 15.776,5.216
+               c 9.824,0, 13.856-5.6, 13.856-11.904c0-9.344-9.824-13.344-17.6-13.344L 90.592,120.224 l0-8 l 5.952,0 c 10.336,0, 20.288-4.736, 20.384-15.776
+               C 117.088,89.888, 112.832,81.152, 99.104,81.152z"  />
+<glyph unicode="&#x66;" d="M 432,384L 384,384 c0,17.664-14.336,32-32,32l-32,0 C 302.336,416, 288,401.664, 288,384L 80,384 C 71.168,384, 64,376.832, 64,368C 64,359.168, 71.168,352, 80,352L 288,352 
+               c0-17.664, 14.336-32, 32-32l 32,0 c 17.664,0, 32,14.336, 32,32l 48,0 C 440.832,352, 448,359.168, 448,368C 448,376.832, 440.832,384, 432,384z M 352,352l-32,0 L 320,384 l 32,0 L 352,352 zM 432,256L 224,256 c0,17.664-14.336,32-32,32L 160,288 C 142.336,288, 128,273.664, 128,256L 80,256 C 71.168,256, 64,248.832, 64,240C 64,231.168, 71.168,224, 80,224L 128,224 
+               c0-17.664, 14.336-32, 32-32l 32,0 c 17.664,0, 32,14.336, 32,32l 208,0 C 440.832,224, 448,231.168, 448,240C 448,248.832, 440.832,256, 432,256z M 192,224L 160,224 L 160,256 l 32,0 L 192,224 zM 432,128L 320,128 c0,17.664-14.336,32-32,32L 256,160 c-17.664,0-32-14.336-32-32L 80,128 C 71.168,128, 64,120.832, 64,112
+               C 64,103.168, 71.168,96, 80,96L 224,96 c0-17.664, 14.336-32, 32-32l 32,0 c 17.664,0, 32,14.336, 32,32l 112,0 c 8.832,0, 16,7.168, 16,16
+               C 448,120.832, 440.832,128, 432,128z M 288,96L 256,96 l0,32 l 32,0 L 288,96 z"  />
+<glyph unicode="&#x67;" d="M 160,352L 160,400 C 160,408.832, 152.832,416, 144,416S 128,408.832, 128,400L 128,352 C 110.336,352, 96,337.664, 96,320l0-32 c0-17.664, 14.336-32, 32-32l0-208 
+               C 128,39.168, 135.168,32, 144,32S 160,39.168, 160,48L 160,256 c 17.664,0, 32,14.336, 32,32L 192,320 C 192,337.664, 177.664,352, 160,352z M 128,320l 32,0 l0-32 L 128,288 L 128,320 zM 288,192L 288,400 C 288,408.832, 280.832,416, 272,416S 256,408.832, 256,400L 256,192 c-17.664,0-32-14.336-32-32l0-32 c0-17.664, 14.336-32, 32-32l0-48 
+               C 256,39.168, 263.168,32, 272,32S 288,39.168, 288,48L 288,96 c 17.664,0, 32,14.336, 32,32l0,32 C 320,177.664, 305.664,192, 288,192z M 256,160l 32,0 l0-32 L 256,128 L 256,160 zM 416,288L 416,400 C 416,408.832, 408.832,416, 400,416S 384,408.832, 384,400L 384,288 c-17.664,0-32-14.336-32-32l0-32 c0-17.664, 14.336-32, 32-32l0-144 
+               c0-8.832, 7.168-16, 16-16s 16,7.168, 16,16L 416,192 c 17.664,0, 32,14.336, 32,32L 448,256 C 448,273.664, 433.664,288, 416,288z M 384,256l 32,0 l0-32 l-32,0 L 384,256 z"  />
+<glyph unicode="&#x68;" d="M 64-32l 384,0 c 17.664,0, 32,14.336, 32,32L 480,448 c0,17.664-14.336,32-32,32L 64,480 C 46.336,480, 32,465.664, 32,448l0-448 C 32-17.664, 46.336-32, 64-32z
+                M 64,448l 384,0 l0-448 L 64,0 L 64,448 zM 368,384l-128,0 C 231.168,384, 224,376.832, 224,368C 224,359.168, 231.168,352, 240,352l 128,0 C 376.832,352, 384,359.168, 384,368
+               C 384,376.832, 376.832,384, 368,384zM 368,288l-224,0 C 135.168,288, 128,280.832, 128,272C 128,263.168, 135.168,256, 144,256l 224,0 C 376.832,256, 384,263.168, 384,272
+               C 384,280.832, 376.832,288, 368,288zM 368,192l-224,0 C 135.168,192, 128,184.832, 128,176C 128,167.168, 135.168,160, 144,160l 224,0 c 8.832,0, 16,7.168, 16,16
+               C 384,184.832, 376.832,192, 368,192zM 368,96l-224,0 C 135.168,96, 128,88.832, 128,80C 128,71.168, 135.168,64, 144,64l 224,0 c 8.832,0, 16,7.168, 16,16
+               C 384,88.832, 376.832,96, 368,96z"  />
+<glyph unicode="&#x69;" d="M 64,32l 32,0 l0-32 c0-17.664, 14.336-32, 32-32l 320,0 c 17.664,0, 32,14.336, 32,32L 480,384 c0,17.664-14.336,32-32,32l-32,0 L 416,448 c0,17.664-14.336,32-32,32L 64,480 
+               C 46.336,480, 32,465.664, 32,448l0-384 C 32,46.336, 46.336,32, 64,32z M 384,64L 64,64 L 64,448 l 320,0 L 384,64 z M 448,384l0-384 L 128,0 l0,32 l 256,0 c 17.664,0, 32,14.336, 32,32L 416,384 L 448,384 zM 160,368C 160,359.168, 167.168,352, 176,352l 160,0 C 344.832,352, 352,359.168, 352,368C 352,376.832, 344.832,384, 336,384l-160,0 
+               C 167.168,384, 160,376.832, 160,368zM 112,256l 224,0 C 344.832,256, 352,263.168, 352,272C 352,280.832, 344.832,288, 336,288l-224,0 C 103.168,288, 96,280.832, 96,272
+               C 96,263.168, 103.168,256, 112,256zM 112,192l 224,0 C 344.832,192, 352,199.168, 352,208C 352,216.832, 344.832,224, 336,224l-224,0 C 103.168,224, 96,216.832, 96,208
+               C 96,199.168, 103.168,192, 112,192zM 112,128l 224,0 c 8.832,0, 16,7.168, 16,16c0,8.832-7.168,16-16,16l-224,0 C 103.168,160, 96,152.832, 96,144
+               C 96,135.168, 103.168,128, 112,128z"  />
+<glyph unicode="&#x6a;" d="M 481.952-1.952L 448.32,99.552L 176.8,371.072L 160,354.272L 108.928,303.2L 380.448,31.68    zM 63.68,348.448L 131.552,416.32l-33.6,33.6c-18.752,18.752-49.12,18.752-67.872,0c-18.752-18.72-18.752-49.152,0-67.872
+               L 63.68,348.448z"  />
+<glyph unicode="&#x6b;" d="M 329.92,92.512L 416,64L 387.488,150.080L 223.008,314.56L 165.44,256.992    zM 131.552,290.88L 189.12,348.448L 146.752,390.816c-15.904,15.904-41.664,15.904-57.568,0c-15.904-15.904-15.904-41.664,0-57.568
+               L 131.552,290.88zM 480,480L 32,480 C 14.336,480,0,465.664,0,448l0-448 c0-17.664, 14.336-32, 32-32l 448,0 c 17.664,0, 32,14.336, 32,32L 512,448 C 512,465.664, 497.664,480, 480,480z
+                M 480,0L 32,0 L 32,448 l 448,0 L 480,0 z"  />
+<glyph unicode="&#x6c;" d="M 338.752,141.248L 310.24,227.328L 145.76,391.808L 88.192,334.24L 252.672,169.76    zM 11.936,468.064c-15.904-15.904-15.904-41.664,0-57.568l 42.368-42.368l 57.568,57.568L 69.504,468.064
+               C 53.6,483.968, 27.84,483.968, 11.936,468.064zM 480,384L 253.152,384 l 32-32L 480,352 l0-352 L 128,0 L 128,194.848 l-32,32L 96,0 c0-17.664, 14.336-32, 32-32l 352,0 c 17.664,0, 32,14.336, 32,32L 512,352 
+               C 512,369.664, 497.664,384, 480,384z"  />
+<glyph unicode="&#x6d;" d="M 480,384l-144.512,0 C 317.824,384, 297.504,375.008, 288,352c0,0-4.16-29.344-32-32L 32,320 C 14.336,320,0,306.176,0,288.512L0,0 
+               c0-17.664, 14.336-32, 32-32l 448,0 c 17.664,0, 32,14.336, 32,32L 512,256 L 512,288.512 L 512,352 C 512,369.664, 497.664,384, 480,384z M 480,288.512L 480,256 l0-256 L 32,0 L 32,288 l 224,0 
+               c 1.024,0, 2.016,0.064, 3.040,0.16C 289.056,291.008, 307.616,312, 316.192,333.6C 324.512,354.496, 339.008,352, 339.008,352L 480,352 L 480,288.512 z"  />
+<glyph unicode="&#x6e;" d="M 512,320.512L 512,384 c0,17.664-14.336,32-32,32l-160,0 C 302.336,416, 288,401.664, 288,384c0,0-4.16-29.344-32-32L 32,352 C 14.336,352,0,338.176,0,320.512L0,288 
+               l 512,0 L 512,320.512 zM 32-32l 448,0 c 17.664,0, 32,14.336, 32,32L 512,256 L0,256 l0-256 C0-17.664, 14.336-32, 32-32z M 32,224l 448,0 l0-224 L 32,0 L 32,224 z"  />
+<glyph unicode="&#x6f;" d="M 480,384l-112.512,0 C 349.824,384, 329.504,375.008, 320,352c0,0-4.16-29.344-32-32L 64,320 C 46.336,320, 32,306.176, 32,288.512L 32,0 
+               c0-17.664, 14.336-32, 32-32l 416,0 c 17.664,0, 32,14.336, 32,32L 512,256 L 512,288.512 L 512,352 C 512,369.664, 497.664,384, 480,384z M 480,288.512L 480,256 l0-256 L 64,0 L 64,288 l 224,0 
+               c 1.024,0, 2.016,0.064, 3.040,0.16c 30.016,2.848, 48.576,23.872, 57.152,45.472C 356.512,354.496, 371.008,352, 371.008,352L 480,352 L 480,288.512 zM 352,160L 288,160 L 288,224 c0,8.832-7.168,16-16,16S 256,232.832, 256,224l0-64 L 192,160 c-8.832,0-16-7.168-16-16
+               C 176,135.168, 183.168,128, 192,128l 64,0 l0-64 c0-8.832, 7.168-16, 16-16S 288,55.168, 288,64l0,64 l 64,0 c 8.832,0, 16,7.168, 16,16
+               C 368,152.832, 360.832,160, 352,160z"  />
+<glyph unicode="&#x70;" d="M 256,480C 114.624,480,0,365.376,0,224s 114.624-256, 256-256s 256,114.624, 256,256S 397.376,480, 256,480z M 256,0c-123.52,0-224,100.48-224,224s 100.48,224, 224,224
+               s 224-100.48, 224-224S 379.52,0, 256,0zM 256,288C 238.336,288, 224,273.664, 224,256l0-160 c0-17.664, 14.336-32, 32-32s 32,14.336, 32,32L 288,256 C 288,273.664, 273.664,288, 256,288zM 224,351.488A32,32 1260 1 1 288,351.488A32,32 1260 1 1 224,351.488z"  />
+<glyph unicode="&#x71;" d="M 371.424,470.624C 365.408,476.64, 357.28,480, 348.768,480L 163.232,480 c-8.48,0-16.64-3.36-22.624-9.376l-131.2-131.232
+               C 3.36,333.408,0,325.28,0,316.768l0-185.568 c0-8.48, 3.36-16.64, 9.376-22.624l 131.2-131.232C 146.592-28.64, 154.72-32, 163.232-32l 185.568,0 
+               c 8.48,0, 16.64,3.36, 22.624,9.376l 131.2,131.232C 508.64,114.592, 512,122.72, 512,131.232L 512,316.768 c0,8.48-3.36,16.64-9.376,22.624L 371.424,470.624z
+                M 480,131.232L 348.768,0L 163.232,0 L 32,131.232L 32,316.768 L 163.232,448l 185.568,0 L 480,316.768L 480,131.232 zM 256,384C 238.336,384, 224,369.664, 224,352l0-160 c0-17.664, 14.336-32, 32-32s 32,14.336, 32,32L 288,352 C 288,369.664, 273.664,384, 256,384zM 224,96A32,32 1260 1 1 288,96A32,32 1260 1 1 224,96z"  />
+<glyph unicode="&#x72;" d="M 256,480C 114.624,480,0,365.376,0,224s 114.624-256, 256-256s 256,114.624, 256,256S 397.376,480, 256,480z M 256,0c-123.52,0-224,100.48-224,224s 100.48,224, 224,224
+               s 224-100.48, 224-224S 379.52,0, 256,0zM 256,384C 238.336,384, 224,369.664, 224,352l0-160 c0-17.664, 14.336-32, 32-32s 32,14.336, 32,32L 288,352 C 288,369.664, 273.664,384, 256,384zM 224,96.512A32,32 1260 1 1 288,96.512A32,32 1260 1 1 224,96.512z"  />
+<glyph unicode="&#x73;" d="M 506.24,15.072l-222.016,416C 278.688,441.472, 267.84,448, 256.032,448L 256,448 C 244.192,448, 233.376,441.504, 227.808,431.104l-223.008-416
+               c-5.312-9.92-5.024-21.888, 0.736-31.552C 11.328-26.080, 21.76-32, 32.992-32l 444.992,0 c 11.232,0, 21.664,5.888, 27.456,15.552
+               C 511.232-6.816, 511.52,5.152, 506.24,15.072z M 32.992,0L 256,416l 222.016-416L 32.992,0 zM 224,255.488l0-96 c0-17.664, 14.336-32, 32-32s 32,14.336, 32,32l0,96 c0,17.664-14.336,32-32,32S 224,273.184, 224,255.488zM 224,64A32,32 1260 1 1 288,64A32,32 1260 1 1 224,64z"  />
+<glyph unicode="&#x74;" d="M 256,480C 114.624,480,0,365.376,0,224s 114.624-256, 256-256s 256,114.624, 256,256S 397.376,480, 256,480z M 256,0c-123.52,0-224,100.48-224,224s 100.48,224, 224,224
+               s 224-100.48, 224-224S 379.52,0, 256,0zM 220.384,63.552A32.96,32.96 1260 1 1 286.304,63.55200000000002A32.96,32.96 1260 1 1 220.384,63.55200000000002zM 253.344,416c-62.048,0-128-45.088-128-128.672c0-17.664, 14.304-32, 32-32s 32,14.336, 32,32c0,44.448, 33.184,64.672, 64,64.672
+               c 23.904,0, 64-7.008, 64-54.016c0-16.672-4.384-36.128-36.768-53.984C 258.56,231.936, 221.344,200.608, 221.344,160c0-17.664, 14.304-32, 32-32s 32,14.336, 32,32
+               c0,5.952, 12.672,20.576, 26.080,27.968c 46.368,25.536, 69.92,62.56, 69.92,110.016C 381.344,379.52, 317.056,416, 253.344,416z"  />
+<glyph unicode="&#x75;" d="M 220.384,63.552A32.96,32.96 1260 1 1 286.304,63.55200000000002A32.96,32.96 1260 1 1 220.384,63.55200000000002zM 311.424,187.968c 46.368,25.536, 69.92,62.56, 69.92,110.016c0,81.504-64.288,118.016-128,118.016c-62.048,0-128-45.088-128-128.672
+               c0-17.664, 14.304-32, 32-32s 32,14.336, 32,32c0,44.448, 33.184,64.672, 64,64.672c 23.904,0, 64-7.008, 64-54.016c0-16.672-4.384-36.128-36.768-53.984
+               C 258.56,231.936, 221.344,200.608, 221.344,160c0-17.664, 14.304-32, 32-32s 32,14.336, 32,32C 285.344,165.952, 297.984,180.576, 311.424,187.968z"  />
+<glyph unicode="&#x76;" d="M 30.368,9.888c 2.624-5.632, 8.288-9.216, 14.496-9.216c 45.92,0, 84.768,11.168, 128.896,37.184
+               C 195.168,34.464, 237.44,30.272, 256,30.272c 140.096,0, 254.048,93.536, 254.048,208.544S 396.096,447.328, 256,447.328S 1.952,353.824, 1.952,238.816
+               c0-54.208, 26.144-106.592, 72.16-145.408c-10.432-23.68-24.352-46.016-41.504-66.464C 28.64,22.144, 27.744,15.488, 30.368,9.888z M 33.952,238.816
+               c0,97.344, 99.616,176.544, 222.048,176.544s 222.048-79.2, 222.048-176.544S 378.432,62.272, 256,62.272c-18.368,0-66.176,4.928-82.336,8.064
+               c-3.904,0.704-7.968-0.032-11.36-2.048C 132.48,50.048, 106.464,39.616, 78.624,35.2c 12,18.176, 21.984,37.376, 29.76,57.376
+               c 2.592,6.688, 0.48,14.24-5.248,18.56C 58.496,144.928, 33.952,190.304, 33.952,238.816z"  />
+<glyph unicode="&#x77;" d="M 446.56,291.36c 2.816-12.672, 4.448-25.696, 4.448-39.072c0-103.296-87.68-189.408-203.136-207.904
+               c 24.416-9.856, 51.776-15.616, 80.928-15.616c 27.488,0, 53.44,5.056, 76.864,13.856c 29.664-10.112, 62.048-12.736, 88.832-12.736
+               c-13.92,16.704-23.584,33.088-30.496,47.488C 493.696,103.872, 512,138.976, 512,177.632C 512,223.328, 486.496,264.064, 446.56,291.36zM 23.552,73.312c 2.784-5.28, 8.256-8.576, 14.176-8.576c 0.256,0, 0.544,0, 0.768,0.032
+               c 16.928,0.8, 50.592,12.032, 86.24,34.656c 19.072-3.36, 61.792-9.696, 76.704-9.696c 112.544,0, 200.672,78.368, 200.672,178.432
+               c0,98.4-89.984,178.432-200.672,178.432S 0.832,366.592, 0.832,268.192c0-45.792, 20.16-90.048, 55.648-123.168c-7.968-19.392-18.528-37.728-31.424-54.528
+               C 21.248,85.568, 20.672,78.848, 23.552,73.312z M 32.832,268.192c0,80.736, 75.648,146.432, 168.672,146.432s 168.672-65.696, 168.672-146.432
+               c0-83.456-72.512-146.432-168.672-146.432c-12.64,0-62.944,7.328-76.768,10.24c-4.224,0.832-8.608,0.064-12.128-2.336
+               c-13.728-9.088-26.656-15.968-37.92-21.024c 6.112,11.488, 11.392,23.392, 15.808,35.68c 2.272,6.368, 0.32,13.472-4.864,17.76
+               C 51.584,190.080, 32.832,227.776, 32.832,268.192z"  />
+<glyph unicode="&#x78;" d="M 32,91.936l 73.312,0 c 5.792-5.76, 139.232-118.080, 139.232-118.080C 251.488-30.368, 257.536-32, 262.816-32
+               c 0.8,0, 1.6,0.032, 2.368,0.096c 11.84,1.12, 20.288,11.040, 22.816,21.504L 288,458.368 C 285.504,468.864, 277.024,478.784, 265.184,479.904
+               C 264.416,479.968, 263.648,480, 262.816,480C 257.536,480, 251.488,478.368, 244.544,474.176c0,0-133.44-116.416-139.232-122.176L 32,352 C 14.336,352,0,337.664,0,320l0-4.064 L0,128 l0-4.064 
+               C0,106.24, 14.336,91.936, 32,91.936z M 32,128L 32,315.936 L 32,320 l 73.312,0 c 8.192,0, 16.384,3.424, 22.304,9.056C 133.44,334.592, 205.76,397.856, 256,441.696l0-435.68 
+               c-49.92,42.048-122.24,103.136-128.128,108.576c-5.984,5.984-14.112,9.312-22.592,9.312L 32,123.904 L 32,128 zM 506.272,306.848c-7.616,7.616-20,7.616-27.616,0l-55.232-55.232l-55.232,55.232
+               c-7.616,7.616-20,7.616-27.616,0c-7.616-7.616-7.616-20,0-27.616L 395.808,224l-55.232-55.232c-7.616-7.616-7.616-20,0-27.616
+               c 7.616-7.616, 20-7.616, 27.616,0l 55.232,55.232l 55.232-55.232c 7.616-7.616, 20-7.616, 27.616,0c 7.616,7.616, 7.616,20,0,27.616
+               L 451.040,224l 55.232,55.232C 513.92,286.848, 513.92,299.232, 506.272,306.848z"  />
+<glyph unicode="&#x79;" d="M 326.816,480c-5.28,0-11.328-1.632-18.272-5.824c0,0-133.44-116.416-139.232-122.176L 96,352 C 78.336,352, 64,337.664, 64,320l0-4.064 L 64,128 
+               l0-4.064 c0-17.664, 14.336-32, 32-32l 73.312,0 c 5.792-5.76, 139.232-118.080, 139.232-118.080C 315.488-30.368, 321.536-32, 326.816-32
+               c 0.8,0, 1.6,0.032, 2.368,0.096c 11.84,1.12, 20.288,11.040, 22.816,21.504L 352,458.368 c-2.496,10.496-10.976,20.416-22.816,21.504
+               C 328.416,479.968, 327.648,480, 326.816,480z M 320,6.016c-49.92,42.048-122.24,103.136-128.128,108.576c-5.984,5.984-14.112,9.312-22.592,9.312L 96,123.904 L 96,128 L 96,315.936 
+               L 96,320 l 73.312,0 c 8.192,0, 16.384,3.424, 22.304,9.056C 197.44,334.592, 269.76,397.856, 320,441.696L 320,6.016 zM 401.312,168.096c-7.904-4-11.072-13.6-7.104-21.504c 2.816-5.568, 8.448-8.8, 14.272-8.8
+               c 2.432,0, 4.864,0.544, 7.2,1.696C 448.032,155.808, 468.128,188.16, 468.128,224s-20.096,68.192-52.448,84.512
+               c-7.904,4-17.504,0.8-21.472-7.104c-3.968-7.904-0.8-17.504, 7.104-21.504C 422.784,269.088, 436.128,247.68, 436.128,224
+               S 422.784,178.912, 401.312,168.096z"  />
+<glyph unicode="&#x7a;" d="M 32,91.936l 73.312,0 c 5.792-5.76, 139.232-118.080, 139.232-118.080C 251.488-30.368, 257.536-32, 262.816-32
+               c 0.8,0, 1.6,0.032, 2.368,0.096c 11.84,1.12, 20.288,11.040, 22.816,21.504L 288,458.368 C 285.504,468.864, 277.024,478.784, 265.184,479.904
+               C 264.416,479.968, 263.648,480, 262.816,480C 257.536,480, 251.488,478.368, 244.544,474.176c0,0-133.44-116.416-139.232-122.176L 32,352 C 14.336,352,0,337.664,0,320l0-4.064 L0,128 l0-4.064 
+               C0,106.24, 14.336,91.936, 32,91.936z M 32,128L 32,315.936 L 32,320 l 73.312,0 c 8.192,0, 16.384,3.424, 22.304,9.056C 133.44,334.592, 205.76,397.856, 256,441.696l0-435.68 
+               c-49.92,42.048-122.24,103.136-128.128,108.576c-5.984,5.984-14.112,9.312-22.592,9.312L 32,123.904 L 32,128 zM 337.312,168.096c-7.904-4-11.072-13.6-7.104-21.504c 2.816-5.568, 8.448-8.8, 14.272-8.8
+               c 2.432,0, 4.864,0.544, 7.2,1.696C 384.032,155.808, 404.128,188.16, 404.128,224s-20.096,68.192-52.448,84.512
+               c-7.904,4-17.504,0.8-21.472-7.104c-3.968-7.904-0.8-17.504, 7.104-21.504C 358.784,269.088, 372.128,247.68, 372.128,224
+               S 358.784,178.912, 337.312,168.096zM 315.296,40.352c 1.504-7.648, 8.192-12.928, 15.68-12.928c 1.024,0, 2.048,0.096, 3.104,0.288
+               C 427.904,46.016, 496,128.576, 496,224s-68.096,177.984-161.952,196.288C 325.536,422.016, 316.96,416.32, 315.296,407.648
+               C 313.6,398.976, 319.264,390.56, 327.936,388.864C 406.784,373.504, 464,304.16, 464,224s-57.216-149.504-136.064-164.864
+               C 319.264,57.44, 313.6,49.024, 315.296,40.352z"  />
+<glyph unicode="&#x7b;" d="M 127.968,270.112c0-27.040, 21.12-48.96, 47.136-48.96c 8.352,0, 16.064,2.432, 22.88,6.4
+               c-2.336-26.176-15.52-64.352-63.84-103.264c-6.752-5.472-8-15.584-2.752-22.592c 3.072-4.096, 7.648-6.24, 12.256-6.24
+               c 3.328,0, 6.656,1.088, 9.504,3.392c 59.296,47.84, 74.112,96.992, 76.096,129.824C 232.64,270.656, 219.904,292.736, 208.256,304.256
+               C 207.2,305.376, 206.208,306.592, 205.024,307.584C 202.24,309.952, 199.744,311.616, 197.568,312.864C 197.472,312.928, 197.408,313.024, 197.312,313.056
+               c-0.16,0.096-0.32,0.128-0.48,0.192C 193.664,315.008, 191.392,315.84, 191.392,315.84l 0.16-0.384C 186.4,317.568, 180.992,319.072, 175.104,319.072
+               C 149.056,319.072, 127.968,297.152, 127.968,270.112zM 283.104,270.112c0-27.040, 21.088-48.96, 47.136-48.96c 8.352,0, 16.064,2.432, 22.88,6.4
+               c-2.336-26.176-15.52-64.352-63.84-103.264c-6.784-5.472-8-15.584-2.752-22.592c 3.072-4.096, 7.648-6.24, 12.256-6.24
+               c 3.328,0, 6.656,1.088, 9.504,3.392c 59.296,47.84, 74.112,96.992, 76.096,129.824c 3.392,41.984-9.376,64.064-20.992,75.584
+               c-1.088,1.12-2.080,2.336-3.264,3.328c-2.784,2.368-5.28,4.032-7.456,5.28c-0.096,0.064-0.16,0.128-0.256,0.192
+               c-0.16,0.096-0.32,0.128-0.48,0.192c-3.168,1.728-5.44,2.592-5.44,2.592l 0.16-0.384c-5.152,2.112-10.592,3.616-16.448,3.616
+               C 304.192,319.072, 283.104,297.152, 283.104,270.112z"  />
+<glyph unicode="&#x7c;" d="M 256,480C 114.624,480,0,365.376,0,224s 114.624-256, 256-256s 256,114.624, 256,256S 397.376,480, 256,480z M 256,0c-123.52,0-224,100.48-224,224s 100.48,224, 224,224
+               s 224-100.48, 224-224S 379.52,0, 256,0zM 205.024,307.584C 202.24,309.952, 199.744,311.616, 197.568,312.864C 197.472,312.928, 197.408,313.024, 197.312,313.056
+               c-0.16,0.096-0.32,0.128-0.48,0.192C 193.664,315.008, 191.392,315.84, 191.392,315.84l 0.16-0.384C 186.4,317.568, 180.992,319.072, 175.104,319.072
+               c-26.048,0-47.136-21.92-47.136-48.96c0-27.040, 21.12-48.96, 47.136-48.96c 8.352,0, 16.064,2.432, 22.88,6.4
+               c-2.336-26.176-15.52-64.352-63.84-103.264c-6.752-5.472-8-15.584-2.752-22.592c 3.072-4.096, 7.648-6.24, 12.256-6.24
+               c 3.328,0, 6.656,1.088, 9.504,3.392c 59.296,47.84, 74.112,96.992, 76.096,129.824C 232.64,270.656, 219.904,292.736, 208.256,304.256
+               C 207.2,305.376, 206.208,306.592, 205.024,307.584zM 360.16,307.584c-2.784,2.368-5.28,4.032-7.456,5.28c-0.096,0.064-0.16,0.128-0.256,0.192
+               c-0.16,0.096-0.32,0.128-0.48,0.192c-3.168,1.728-5.44,2.592-5.44,2.592l 0.16-0.384c-5.152,2.112-10.592,3.616-16.448,3.616
+               c-26.048,0-47.136-21.92-47.136-48.96c0-27.040, 21.088-48.96, 47.136-48.96c 8.352,0, 16.064,2.432, 22.88,6.4
+               c-2.336-26.176-15.52-64.352-63.84-103.264c-6.784-5.472-8-15.584-2.752-22.592c 3.072-4.096, 7.648-6.24, 12.256-6.24
+               c 3.328,0, 6.656,1.088, 9.504,3.392c 59.296,47.84, 74.112,96.992, 76.096,129.824c 3.392,41.984-9.376,64.064-20.992,75.584
+               C 362.336,305.376, 361.344,306.592, 360.16,307.584z"  />
+<glyph unicode="&#x7d;" d="M 273.056,445.856c-61.152,0-122.304-23.328-168.96-69.984c-93.312-93.312-93.312-244.608,0-337.888
+               C 150.784-8.672, 211.904-32, 273.056-32s 122.304,23.328, 168.96,69.984c 93.312,93.312, 93.312,244.608,0,337.888C 395.36,422.528, 334.208,445.856, 273.056,445.856z
+                M 419.392,60.608C 380.32,21.536, 328.352,0, 273.056,0c-55.264,0-107.232,21.536-146.336,60.608c-39.072,39.072-60.608,91.040-60.608,146.336
+               s 21.536,107.232, 60.608,146.336c 39.072,39.072, 91.040,60.608, 146.336,60.608c 55.264,0, 107.232-21.536, 146.336-60.608S 480,262.208, 480,206.944
+               S 458.464,99.68, 419.392,60.608zM 368,224L 288,224 L 288,336.224 c0,8.832-7.168,16-16,16S 256,345.056, 256,336.224l0-128.128 c0,0,0-0.032,0-0.032L 256,208
+               C 256,199.168, 263.168,192, 272,192l 96,0 C 376.832,192, 384,199.168, 384,208C 384,216.832, 376.832,224, 368,224z"  />
+<glyph unicode="&#x7e;" d="M 256,480C 167.648,480, 96,407.264, 96,317.536L 96,288 L 64,288 C 46.336,288, 32,273.664, 32,256l0-256 c0-17.664, 14.336-32, 32-32l 384,0 c 17.664,0, 32,14.336, 32,32L 480,256 
+               c0,17.664-14.336,32-32,32l-32,0 L 416,317.536 C 416,407.264, 344.352,480, 256,480z M 128,317.536C 128,389.472, 185.408,448, 256,448s 128-58.528, 128-130.464L 384,288 L 128,288 L 128,317.536 z M 448,0L 64,0 L 64,256 l 384,0 L 448,0 z
+               M 320,128c0,35.36-28.64,64-64,64s-64-28.64-64-64s 28.64-64, 64-64S 320,92.64, 320,128z M 256,96c-17.632,0-32,14.368-32,32
+               s 14.368,32, 32,32s 32-14.368, 32-32S 273.632,96, 256,96z"  />
+<glyph unicode="&#xe000;" d="M 480,0L 480,256 c0,17.664-14.336,32-32,32L 127.84,288 L 128,301.568C 128,387.776, 181.248,448, 257.536,448c 55.84,0, 105.6-32.096, 129.888-83.776
+               c 3.744-8, 13.248-11.424, 21.28-7.648c 8,3.744, 11.424,13.28, 7.648,21.28C 386.752,440.832, 325.92,480, 257.536,480C 163.936,480, 96,404.96, 96,301.76
+               L 95.84,288L 64,288 C 46.336,288, 32,273.664, 32,256l0-256 c0-17.664, 14.336-32, 32-32l 384,0 C 465.664-32, 480-17.664, 480,0z M 64,256l 384,0 l0-256 L 64,0 L 64,256 zM 256,192c-35.36,0-64-28.64-64-64s 28.64-64, 64-64s 64,28.64, 64,64S 291.36,192, 256,192z M 256,96c-17.632,0-32,14.368-32,32s 14.368,32, 32,32
+               s 32-14.368, 32-32S 273.632,96, 256,96z"  />
+<glyph unicode="&#xe001;" d="M 176,80c0,9.504-2.048,18.688-6.080,27.232C 159.424,129.568, 136.672,144, 112,144c-35.296,0-64-28.704-64-64
+               c0-6.304, 1.184-12.256, 2.88-18.016c 10.72-17.664, 25.44-32.384, 43.104-43.104c 5.76-1.696, 11.712-2.88, 18.016-2.88
+               C 147.296,16, 176,44.704, 176,80z M 112,112c 12.352,0, 23.712-7.232, 28.992-18.4C 142.976,89.344, 144,84.768, 144,80
+               c0-17.632-14.368-32-32-32s-32,14.368-32,32S 94.368,112, 112,112zM 496,480l-69.248,0 c-3.776,0-7.424-1.344-10.336-3.776L 189.856,284.896C 179.424,286.976, 169.6,288, 160,288c-88.224,0-160-71.776-160-160
+               s 71.776-160, 160-160s 160,71.776, 160,160c0,16.832-2.688,33.472-8,49.6l 48.704,31.648c 4.544,2.944, 7.296,8, 7.296,13.408L 368,280.8 l 60.832,3.2
+               c 7.936,0.416, 14.336,6.592, 15.072,14.496l 5.824,61.632l 53.152,25.408C 508.48,388.224, 512,393.856, 512,400l0,64 C 512,472.832, 504.832,480, 496,480z
+                M 480,410.080l-52.224-24.96c-5.056-2.432-8.512-7.328-9.024-12.928l-5.376-56.928L 351.168,312C 342.656,311.52, 336,304.512, 336,296l0-64.64 
+               L 283.776,197.408C 277.28,193.184, 274.72,184.896, 277.76,177.76C 284.576,161.728, 288,144.992, 288,128c0-70.592-57.408-128-128-128c-24.224,0-46.656,7.136-66.016,18.88
+               c-17.664,10.72-32.384,25.44-43.104,43.104C 39.136,81.344, 32,103.776, 32,128c0,70.592, 57.408,128, 128,128c 9.44,0, 19.36-1.312, 30.336-3.968
+               c 4.96-1.216, 10.208,0, 14.112,3.328L 432.608,448L 480,448 L 480,410.080 z"  />
+<glyph unicode="&#xe002;" d="M 416,224c-1.12,0-2.176-0.288-3.264-0.32C 414.88,234.112, 416,244.928, 416,256c0,88.352-71.648,160-160,160S 96,344.352, 96,256
+               c0-0.544, 0.16-1.056, 0.16-1.6C 41.888,246.656,0,200.416,0,144c0-56.384, 41.792-102.56, 96-110.4L 96,32 l 320,0 c 53.024,0, 96,42.976, 96,96S 469.024,224, 416,224z
+                M 416,64L 106.048,64 c-1.76,0.576-3.584,1.024-5.472,1.28C 61.472,70.912, 32,104.768, 32,144c0,39.296, 29.536,73.12, 68.672,78.72
+               c 15.904,2.272, 27.648,15.968, 27.488,32c0,0.96-0.064,1.92-0.16,2.848C 128.864,327.456, 185.952,384, 256,384c 70.592,0, 128-57.408, 128-128
+               c0-8.704-0.896-17.408-2.624-25.888c-1.984-9.6, 0.576-19.584, 6.912-27.072c 6.080-7.2, 15.040-11.328, 24.448-11.328
+               c 0.384,0, 0.736,0, 1.12,0.032C 414.56,191.712, 416.064,191.84, 417.312,192C 452,191.296, 480,162.848, 480,128C 480,92.704, 451.296,64, 416,64z"  />
+<glyph unicode="&#xe003;" d="M 416.832,224.032c-1.376,0-2.72,0-4.032-0.032C 414.912,234.528, 416,245.28, 416,256c0,88.224-71.776,160-160,160
+               C 167.84,416, 96,344.928, 95.904,257.632c0-0.032, 0.256-3.232, 0.256-3.232l0,0 C 41.344,246.56,0,199.104,0,144c0-55.872, 40.256-103.936, 96-112l 80,0 
+               C 184.832,32, 192,39.168, 192,48S 184.832,64, 176,64l-77.664-0.16C 61.152,69.312, 32,104.544, 32,144c0,39.296, 29.504,73.12, 68.672,78.72l 13.76,1.984
+               c 7.872,1.12, 13.728,7.872, 13.728,15.84L 127.904,257.568C 128,327.296, 185.44,384, 256,384c 70.592,0, 128-57.408, 128-128c0-8.672-0.864-17.408-2.624-25.888
+               l-4.224-20.352c-1.056-5.088, 0.448-10.336, 3.968-14.144c 3.52-3.776, 8.576-5.728, 13.824-4.928c 0.352,0.032, 10.368,1.344, 21.888,1.344
+               C 451.68,192.032, 480,163.328, 480,128c0-35.296-28.704-64-64-64L 304,64 c-44.8,0-47.84,26.848-48,32L 256,202.176 l 37.856-37.824
+               c 6.24-6.24, 16.384-6.24, 22.624,0c 6.24,6.24, 6.24,16.384,0,22.624L 252.096,251.328C 248.96,254.464, 244.832,256, 240.704,256
+               C 240.448,256, 240.256,256.128, 240,256.128c-4.608,0-8.672-1.984-11.584-5.088L 163.968,186.656c-6.24-6.24-6.24-16.384,0-22.624
+               c 6.24-6.24, 16.384-6.24, 22.624,0L 224,201.408L 224,96 c0-22.112, 16.704-64, 80-64L 416,32 c 52.928,0, 96,43.072, 96,96S 469.312,224.032, 416.832,224.032z"  />
+<glyph unicode="&#xe004;" d="M 418.656,224c 29.888,68.64, 11.456,112.288-3.552,133.312c-22.784,31.904-64.288,49.408-100.736,42.4
+               C 251.008,387.616, 224,344.672, 224,256l0-74.048 L 186.944,219.008c-6.24,6.24-16.384,6.24-22.624,0s-6.24-16.384,0-22.624l 64.384-64.352
+               c 3.232-3.232, 7.488-4.704, 11.712-4.608c 4.224-0.096, 8.48,1.376, 11.712,4.608l 64.704,64.672c 6.24,6.24, 6.24,16.384,0,22.624
+               s-16.384,6.24-22.624,0L 256,181.152L 256,256 c0,92.288, 31.776,106.048, 64.32,112.288c 20.896,3.84, 51.136-4.928, 68.704-29.568
+               c 21.504-30.048, 17.376-74.624-11.616-125.44c-3.072-5.408-2.752-12.096, 0.832-17.152s 9.888-7.616, 15.872-6.528
+               c 3.872,0.672, 15.424,2.432, 22.72,2.432C 451.68,192.032, 480,163.328, 480,128c0-35.296-28.704-64-64-64l-317.664-0.192C 61.152,69.312, 32,104.544, 32,144
+               c0,39.296, 29.504,73.12, 68.672,78.72l 13.76,1.984c 7.872,1.12, 13.728,7.872, 13.728,15.84L 127.904,257.568C 128,314.88, 163.328,361.984, 212,369.568
+               C 220.704,370.944, 226.688,379.104, 225.344,387.84C 223.968,396.576, 216,402.496, 207.040,401.184C 142.72,391.168, 96,330.784, 95.904,257.632
+               c0-0.032, 0.256-3.232, 0.256-3.232l0,0 C 41.344,246.56,0,199.104,0,144c0-55.872, 40.256-103.936, 96-112l 320,0 c 52.928,0, 96,43.072, 96,96
+               C 512,180.352, 470.272,223.040, 418.656,224z"  />
+<glyph unicode="&#xe005;" d="M 275.648,292.992A44.512,44.512 1260 1 1 364.672,292.99199999999996A44.512,44.512 1260 1 1 275.648,292.99199999999996zM 416,32L 448,32L 448,64L 448,128L 448,224L 320,128L 160,256L 64,160L 64,128L 64,64L 64,32L 96,32   zM 480,416L 32,416 C 14.336,416,0,401.664,0,384l0-384 c0-17.664, 14.336-32, 32-32l 448,0 c 17.664,0, 32,14.336, 32,32L 512,384 C 512,401.664, 497.664,416, 480,416z
+                M 480,0L 32,0 L 32,384 l 448,0 L 480,0 z"  />
+<glyph unicode="&#xe006;" d="M 480,384l-32,0 L 448,448 c0,17.664-14.336,32-32,32L 32,480 C 14.336,480,0,465.664,0,448l0-352 c0-17.664, 14.336-32, 32-32l 32,0 l0-64 c0-17.664, 14.336-32, 32-32l 384,0 
+               c 17.664,0, 32,14.336, 32,32L 512,352 C 512,369.664, 497.664,384, 480,384z M 32,96L 32,448 l 384,0 l0-352 L 32,96 z M 480,0L 96,0 l0,64 l 32,0 l0-32 l 32,0 l 256,0 l 32,0 l0,32 l0,32 L 448,192 L 448,352 l 32,0 L 480,0 zM 236.64,348.992A44.512,44.512 1260 1 1 325.664,348.99199999999996A44.512,44.512 1260 1 1 236.64,348.99199999999996zM 160,320L 64,256L 64,192L 64,160L 64,128L 96,128L 352,128L 384,128L 384,160L 384,192L 384,288L 256,224  z"  />
+<glyph unicode="&#xe007;" d="M 256,480C 150.144,480, 64,393.856, 64,288c0-61.888, 30.080-120.32, 80.512-156.32c 0.768-0.544, 1.568-1.056, 2.368-1.536
+               c 11.712-6.88, 12.864-29.056, 12.608-33.12c-0.032-0.672-0.064-1.344-0.064-1.984L 159.424,32 c0-12.032, 6.72-23.008, 17.44-28.48l 64.576-32.992
+               c 4.576-2.336, 9.568-3.52, 14.56-3.52c 4.96,0, 9.888,1.152, 14.432,3.424l 65.344,32.992c 10.784,5.44, 17.568,16.48, 17.568,28.576l0,62.656 
+               c0,31.584, 19.296,42.016, 19.488,42.112c 2.56,1.184, 4.928,2.72, 7.072,4.544C 423.168,177.92, 448,231.36, 448,288C 448,393.856, 361.856,480, 256,480z
+                M 191.424,95.008c0,0,0,0.64, 0.032,0.992l 129.984,0 c0-0.48-0.128-0.832-0.128-1.344c0-12.576,0-22.528,0-30.656L 191.424,64 L 191.424,95.008 z M 256-0.992
+               L 191.456,32l 129.888,0 L 256-0.992z M 359.232,165.76c0,0-21.44-10.080-32.064-37.76L 186.304,128 c-3.968,11.072-10.848,22.464-23.2,29.728
+               C 122.496,186.72, 96,234.272, 96,288c0,88.352, 71.648,160, 160,160s 160-71.648, 160-160C 416,238.976, 393.952,195.104, 359.232,165.76zM 272,416C 263.168,416, 256,408.832, 256,400S 263.168,384, 272,384C 308,384, 352,351.264, 352,302.496c0-8.832, 7.168-16, 16-16
+               s 16,7.168, 16,16C 384,375.488, 327.008,416, 272,416z"  />
+<glyph unicode="&#xe008;" d="M 480,352L 288.672,352 L 224,352 L 32,352 C 14.336,352,0,337.664,0,320l0-96 l 32,0 l0-224 c0-17.664, 14.336-32, 32-32l 160,0 l 64.672,0 L 448-32 c 17.664,0, 32,14.336, 32,32L 480,224 l 32,0 L 512,320 
+               C 512,337.664, 497.664,352, 480,352z M 32,320l 192,0 l0-64 L 32,256 L 32,320 z M 64,0L 64,224 l 160,0 l0-224 L 64,0 z M 448,0L 288.672,0 L 288.672,224 L 448,224 L 448,0 z M 480,256L 288.672,256 L 288.672,320 L 480,320 L 480,256 zM 256,384c0,0.064-0.032,0.192-0.032,0.256l 0.096,0 C 256.032,384.192, 256,384.064, 256,384c0,0, 83.808,0, 128,0
+               c 44.192,0, 64,21.504, 64,48S 428.192,480, 384,480c-41.376,0-73.952-18.624-96-40.224C 278.336,445.504, 267.168,448.992, 255.072,448.992
+               c-11.584,0-22.304-3.264-31.712-8.576C 201.344,461.76, 168.96,480, 128,480C 83.808,480, 64,458.496, 64,432S 83.808,384, 128,384C 172.192,384, 256,384, 256,384z M 416,432
+               C 416,418.784, 398.592,416, 384,416L 311.328,416 C 311.072,416.448, 310.848,416.928, 310.592,417.344C 326.848,433.152, 351.488,448, 384,448C 398.592,448, 416,445.216, 416,432z M 96,432
+               C 96,445.216, 113.408,448, 128,448c 31.808,0, 55.936-14.24, 72.192-29.504C 199.68,417.696, 199.296,416.832, 198.816,416L 128,416 C 113.408,416, 96,418.784, 96,432z"  />
+<glyph unicode="&#xe009;" d="M 25.984,195.488L 64,225.888L 64,0 c0-17.664, 14.336-32, 32-32l 96,0 c 17.664,0, 32,14.336, 32,32l0,128 l 64,0 l0-128 c0-17.664, 14.336-32, 32-32l 96,0 
+               c 17.664,0, 32,14.336, 32,32L 448,225.888 l 38.016-30.4C 488.96,193.152, 492.48,192, 496,192c 4.704,0, 9.344,2.048, 12.512,6.016
+               c 5.504,6.912, 4.384,16.96-2.496,22.496l-240,192c-5.856,4.672-14.144,4.672-20,0L 160,343.712L 160,384 c0,17.664-14.336,32-32,32S 96,401.664, 96,384l0-91.488 
+               l-89.984-72c-6.88-5.536-8-15.584-2.496-22.496C 9.024,191.104, 19.072,189.984, 25.984,195.488z M 256,379.52l 160-128L 416,0 l-96,0 l0,160 L 192,160 l0-160 L 96,0 L 96,251.488 L 256,379.52z
+               "  />
+<glyph unicode="&#xe00a;" d="M 40.704,85.504c 7.68-11.936, 23.808-26.144, 57.088-26.144c 20.928,0, 47.712,6.112, 77.536,16.768
+               C 188.224,19.296, 211.936-32, 256-32c 44.8,0, 68.608,53.056, 81.344,111.072c 29.888-10.112, 56.768-15.936, 77.792-15.936c 35.2,0, 51.712,14.976, 59.392,27.52
+               c 24.832,40.704-13.92,92.384-60.704,135.104c 8.64,8.32, 16.768,16.64, 23.904,24.736c 40.448,46.048, 51.744,83.712, 33.568,112
+               c-7.68,11.936-23.808,26.144-57.088,26.144l0,0 c-20.928,0-47.712-6.112-77.536-16.768C 323.776,428.704, 300.064,480, 256,480C 211.2,480, 187.392,426.944, 174.656,368.928
+               C 144.768,379.072, 117.888,384.864, 96.864,384.864l0,0 c-35.2,0-51.744-14.976-59.392-27.52C 12.64,316.64, 51.392,264.96, 98.176,222.24
+               c-8.64-8.352-16.768-16.64-23.904-24.736C 33.824,151.456, 22.528,113.76, 40.704,85.504z M 256,0c-20.704,0-39.072,34.592-50.784,88
+               c 16.832,7.264, 34.24,15.744, 52.064,25.44c 17.088-8.768, 33.792-16.416, 49.984-23.072C 295.616,35.616, 277.024,0, 256,0z M 192,224
+               c0,11.744, 0.352,23.2, 0.832,34.464c 9.216,6.528, 18.656,12.992, 28.544,19.36C 232.736,285.12, 243.968,291.84, 255.104,298.24
+               c 11.296-6.144, 22.688-12.576, 34.208-19.584c 10.304-6.304, 20.192-12.736, 29.792-19.2C 319.648,247.872, 320,236.096, 320,224
+               c0-11.744-0.352-23.2-0.832-34.464C 309.952,183.008, 300.512,176.544, 290.624,170.176C 279.264,162.88, 268.032,156.16, 256.896,149.76
+               c-11.296,6.144-22.688,12.576-34.208,19.584c-10.304,6.304-20.192,12.736-29.792,19.2C 192.352,200.128, 192,211.904, 192,224z M 160.16,211.968
+               C 155.456,215.552, 150.848,219.136, 146.432,222.688C 150.848,226.432, 155.424,230.176, 160.096,233.92C 160.032,229.632, 160,226.016, 160,224
+               C 160,221.664, 160.064,217.248, 160.16,211.968z M 195.744,299.072C 196.672,308.16, 197.76,316.96, 199.008,325.472C 206.304,322.368, 213.76,318.944, 221.376,315.36
+               c-5.76-3.52-11.52-6.88-17.312-10.592C 201.184,302.88, 198.592,300.928, 195.744,299.072z M 288.48,316.16c 8.256,4.16, 16.32,8.032, 24.224,11.584
+               C 314.048,318.688, 315.2,309.248, 316.192,299.552c-4.448,2.848-8.192,5.184-10.176,6.4C 300.16,309.536, 294.304,312.768, 288.48,316.16z M 351.84,236.032
+               c 4.704-3.584, 9.312-7.168, 13.728-10.72c-4.416-3.744-8.992-7.456-13.696-11.232C 351.968,218.368, 352,221.984, 352,224
+               C 352,226.336, 351.936,230.752, 351.84,236.032z M 316.256,148.928c-0.928-9.088-1.984-17.92-3.232-26.4c-7.296,3.104-14.784,6.528-22.368,10.112
+               c 5.76,3.52, 11.52,6.88, 17.312,10.592C 310.816,145.12, 313.408,147.072, 316.256,148.928z M 205.984,142.048c 5.856-3.584, 11.68-6.816, 17.536-10.208
+               c-8.256-4.16-16.32-8.032-24.224-11.584c-1.344,9.024-2.496,18.464-3.488,28.192C 200.256,145.632, 204,143.264, 205.984,142.048z
+                M 447.2,107.328c-5.056-8.256-16.256-12.192-32.064-12.192c-18.464,0-43.392,5.632-71.808,15.616c 3.392,21.952, 5.504,43.392, 6.752,61.696
+               c 14.304,10.56, 27.52,21.248, 40.032,32C 435.264,163.456, 458.752,126.24, 447.2,107.328z M 414.208,356.64c 14.656,0, 25.184-3.68, 30.176-11.456
+               c 12-18.656-10.656-56.448-54.88-98.528c-13.76,11.2-27.328,21.44-39.552,30.112c-1.312,18.88-3.488,40.896-7.104,63.392
+               C 371.232,350.688, 396.032,356.64, 414.208,356.64z M 256,448c 20.704,0, 39.072-34.592, 50.784-88c-16.832-7.264-34.24-15.744-52.064-25.44
+               C 237.6,343.328, 220.896,351.008, 204.736,357.632C 216.384,412.384, 234.976,448, 256,448z M 64.8,340.672c 5.056,8.256, 16.256,12.192, 32.064,12.192
+               c 18.464,0, 43.392-5.632, 71.808-15.616C 165.248,315.296, 163.168,293.888, 161.92,275.552c-14.304-10.56-27.52-21.248-40.032-32
+               C 76.736,284.544, 53.248,321.76, 64.8,340.672z M 162.016,171.264c 1.312-18.88, 3.488-40.896, 7.104-63.392c-28.352-10.528-53.152-16.48-71.328-16.48
+               c-14.656,0-25.184,3.68-30.176,11.456c-12,18.656, 10.656,56.448, 54.88,98.528C 136.224,190.176, 149.792,179.904, 162.016,171.264z"  />
+<glyph unicode="&#xe00b;" d="M 384-32c 17.664,0, 32,14.336, 32,32L 416,448 c0,17.664-14.336,32-32,32L 160,480 C 142.336,480, 128,465.664, 128,448l0-448 c0-17.664, 14.336-32, 32-32L 384-32 z
+                M 256,17.984c0,9.952, 8.064,17.984, 17.984,17.984s 17.984-8.064, 17.984-17.984S 283.936,0, 273.984,0S 256,8.064, 256,17.984z M 336,448
+               C 344.832,448, 352,440.832, 352,432C 352,423.168, 344.832,416, 336,416l-32,0 C 295.168,416, 288,423.168, 288,432C 288,440.832, 295.168,448, 304,448L 336,448 z M 256,432
+               C 256,423.168, 248.832,416, 240,416S 224,423.168, 224,432C 224,440.832, 231.168,448, 240,448S 256,440.832, 256,432z M 160,384l 224,0 l0-320 L 160,64 L 160,384 z"  />
+<glyph unicode="&#xe00c;" d="M 416-32c 17.664,0, 32,14.336, 32,32L 448,448 c0,17.664-14.336,32-32,32L 96,480 C 78.336,480, 64,465.664, 64,448l0-448 c0-17.664, 14.336-32, 32-32L 416-32 z
+                M 256-17.984c-9.952,0-17.984,8.064-17.984,17.984S 246.048,17.984, 256,17.984S 273.984,9.952, 273.984,0S 265.952-17.984, 256-17.984z M 128,416l 256,0 l0-384 L 128,32 L 128,416 z"  />
+<glyph unicode="&#xe00d;" d="M 495.488,96L 480,96 L 480,384 c0,17.664-14.336,32-32,32L 64,416 C 46.336,416, 32,401.664, 32,384l0-288 L 16.512,96 C 7.392,96,0,88.832,0,80
+               C0,71.168, 7.392,64, 16.512,64L 64,64 l 384,0 l 47.488,0 C 504.608,64, 512,71.168, 512,80C 512,88.832, 504.608,96, 495.488,96z M 448,384l0-254.656 L 64,129.344 L 64,384 L 448,384 z"  />
+<glyph unicode="&#xe00e;" d="M 480,448L 32,448 C 14.336,448,0,433.664,0,416l0-288 c0-17.664, 14.336-32, 32-32l 159.968,0 c-0.064-23.136-0.992-53.184-9.76-64L 175.744,32 
+               C 167.040,32, 160,24.832, 160,16C 160,7.168, 167.040,0, 175.744,0l 160.48,0 C 344.96,0, 352,7.168, 352,16c0,8.832-7.040,16-15.744,16l-6.464,0 
+               c-8.8,10.816-9.696,40.864-9.76,64L 480,96 c 17.664,0, 32,14.336, 32,32L 512,416 C 512,433.664, 497.664,448, 480,448z M 224,96l-0.032-0.064
+               C 223.968,95.968, 223.968,95.968, 224,96L 224,96z M 288.032,95.936L 288,96l 0.032,0 C 288.032,95.968, 288.032,95.968, 288.032,95.936z M 480,160L 32,160 L 32,416 l 448,0 L 480,160 z"  />
+<glyph unicode="&#xe00f;" d="M 480,320l-64,0 c0,0-18.496,0-32,32c-6.88,16.288-14.336,32-32,32L 224,384 C 206.336,384, 198.656,368.384, 192,352C 179.008,320, 160,320, 160,320L 128,320 
+               c0,17.664-14.336,32-32,32L 64,352 C 46.336,352, 32,337.664, 32,320C 14.336,320,0,305.664,0,288l0-256 c0-17.664, 14.336-32, 32-32l 448,0 c 17.664,0, 32,14.336, 32,32L 512,164 L 512,192 L 512,288 
+               C 512,305.664, 497.664,320, 480,320z M 480,32L 32,32 l0,128 l 145.6,0 c 7.84-54.208, 54.016-96, 110.4-96c 57.76,0, 104.736,43.872, 110.784,100L 480,164 L 480,32 z M 208,176
+               C 208,220.128, 243.904,256, 288,256s 80-35.872, 80-80c0-44.096-35.904-80-80-80S 208,131.904, 208,176z M 398.4,192C 390.56,246.208, 344.384,288, 288,288
+               S 185.44,246.208, 177.6,192L 32,192 L 32,288 l 32,0 l 32,0 l 64,0 c 18.688,0, 46.080,13.6, 61.632,51.968C 224.288,346.464, 226.080,350.048, 227.264,352l 121.344,0 
+               c 2.144-3.52, 4.896-10.016, 5.92-12.448C 375.232,290.496, 409.376,288, 416,288l 64,0 l0-96 L 398.4,192 zM 64,239.68A16,16 1260 1 1 96,239.68A16,16 1260 1 1 64,239.68z"  />
+<glyph unicode="&#xe010;" d="M 480,352L 32,352 C 14.336,352,0,337.664,0,320l0-320 c0-17.664, 14.336-32, 32-32l 448,0 c 17.664,0, 32,14.336, 32,32L 512,320 C 512,337.664, 497.664,352, 480,352z
+                M 181.76,127.136l 74.304-50.496l 73.856,50.848L 457.376,0L 54.624,0 L 181.76,127.136z M 32,22.624L 32,228.96 l 122.816-83.488L 32,22.624z M 356.704,145.92
+               L 480,230.784l0-208.16 L 356.704,145.92z M 480,320l0-51.776 l-0.672,0.96l-223.392-153.824L 32,267.616L 32,320 L 480,320 z"  />
+<glyph unicode="&#xe011;" d="M 399.456,160l-12.128,32l-34.24,0 L 158.912,192 l-34.24,0 l-12.128-32L 64,32l 384,0 L 399.456,160z M 146.784,160l 218.464,0 l 36.416-96L 110.368,64 
+               L 146.784,160zM 328.832,256l 34.24,0 l-12.128,32L 285.856,459.552C 281.088,471.872, 269.216,480, 256,480S 230.912,471.872, 226.144,459.552L 161.088,288L 148.96,256
+               l 34.24,0 L 328.832,256 z M 256,448l 60.672-160L 195.328,288 L 256,448zM 495.744,0L 16.256,0 C 7.264,0,0-6.784,0-15.744S 7.264-32, 16.256-32l 479.488,0 C 504.736-32, 512-24.736, 512-15.744
+               S 504.736,0, 495.744,0z"  />
+<glyph unicode="&#xe012;" d="M 83.744-29.568C 87.712-31.2, 91.872-32, 96-32c 8.32,0, 16.512,3.264, 22.624,9.376L 256,114.752l 137.376-137.376
+               C 399.488-28.736, 407.68-32, 416-32c 4.128,0, 8.288,0.8, 12.224,2.432C 440.192-24.608, 448-12.928, 448,0L 448,448 c0,17.664-14.336,32-32,32L 96,480 
+               C 78.336,480, 64,465.664, 64,448l0-448 C 64-12.928, 71.808-24.608, 83.744-29.568z M 256,160l-160-160L 96,352 l 320,0 l0-352 L 256,160z M 416,448l0-64 L 96,384 L 96,448 L 416,448 z"  />
+<glyph unicode="&#xe013;" d="M 96-32l 320,0 c 17.664,0, 32,14.336, 32,32L 448,352 c0,17.664-14.336,32-32,32l-64.16,0 C 351.072,437.152, 308.512,480, 256,480S 160.928,437.152, 160.16,384
+               L 96,384 C 78.336,384, 64,369.664, 64,352l0-352 C 64-17.664, 78.336-32, 96-32z M 416,352l0-352 L 96,0 L 96,352 L 416,352 z M 256,448c 34.784,0, 63.072-28.576, 63.84-64L 192.16,384 
+               C 192.928,419.424, 221.216,448, 256,448zM 208,288l 96,0 C 312.832,288, 320,295.168, 320,304C 320,312.832, 312.832,320, 304,320l-96,0 C 199.168,320, 192,312.832, 192,304C 192,295.168, 199.168,288, 208,288z
+               "  />
+<glyph unicode="&#xe014;" d="M 480,416L 32,416 C 14.336,416,0,401.664,0,384l0-65.344 L0,256 l0-192 c0-17.664, 14.336-32, 32-32l 448,0 c 17.664,0, 32,14.336, 32,32L 512,256 L 512,318.656 L 512,384 
+               C 512,401.664, 497.664,416, 480,416z M 480,64L 32,64 L 32,256 l 448,0 L 480,64 z M 32,318.656L 32,384 l 448,0 l0-65.344 L 32,318.656 zM 80,96l 160,0 C 248.832,96, 256,103.168, 256,112C 256,120.832, 248.832,128, 240,128l-160,0 C 71.168,128, 64,120.832, 64,112
+               C 64,103.168, 71.168,96, 80,96zM 288,112A16,16 1260 1 1 320,112A16,16 1260 1 1 288,112zM 352,112A16,16 1260 1 1 384,112A16,16 1260 1 1 352,112zM 416,112A16,16 1260 1 1 448,112A16,16 1260 1 1 416,112z"  />
+<glyph unicode="&#xe015;" d="M 96,0A32,32 1260 1 1 160,0A32,32 1260 1 1 96,0zM 384,0A32,32 1260 1 1 448,0A32,32 1260 1 1 384,0zM-0.928,400c0-8.832, 7.168-16, 16-16L 48.32,384 l 19.872-84.992L 96,160c0-1.152, 0.544-2.144, 0.672-3.264l-16.288-73.28
+               c-1.056-4.736, 0.096-9.696, 3.136-13.472C 86.56,66.176, 91.136,64, 96,64l 363.008,0 c 8.832,0, 16,7.168, 16,16s-7.168,16-16,16L 115.968,96 
+               l 7.328,32.96C 124.896,128.704, 126.336,128, 128,128l 291.68,0 c 17.664,0, 28.32,3.488, 36.832,24l 51.968,159.424C 517.504,340, 497.696,352, 480,352L 96,352 
+               C 93.504,352, 91.328,351.136, 88.992,350.592L 76.576,403.648C 74.88,410.88, 68.448,416, 60.992,416L 15.072,416 C 6.208,416-0.928,408.832-0.928,400z M 96.64,320l 380.96,0 
+               l-51.072-156.768c-0.608-1.376-1.12-2.368-1.504-3.040C 423.968,160.096, 422.304,160, 419.68,160L 128,160 L 128,163.168 L 127.392,166.272L 96.64,320z"  />
+<glyph unicode="&#xe016;" d="M 225.216,368.352C 191.328,402.176, 148.768,405.024, 119.168,375.424C 89.568,345.856, 92.384,303.232, 126.208,269.376l 183.168-183.168
+               c 6.24-6.24, 16.384-6.24, 22.624,0s 6.24,16.384,0,22.624L 148.832,292c-16.416,16.416-26.88,40.992-7.072,60.8
+               c 19.776,19.808, 44.384,9.312, 60.8-7.104l 203.648-203.616c 58.4-58.464, 72.96-85.408, 38.176-120.224c-35.2-35.168-72.512-26.464-128.704,29.696
+               L 89.44,277.856C 52.896,314.4, 27.296,374.080, 75.328,422.080C 132.352,479.104, 197.472,423.040, 216.032,404.448l 207.872-207.904c 6.24-6.24, 16.384-6.24, 22.624,0
+               s 6.24,16.384,0,22.624L 238.656,427.072C 175.808,489.92, 104.544,496.64, 52.672,444.704C 0.256,392.32, 5.92,316.16, 66.816,255.232l 226.272-226.272
+               c 19.232-19.232, 60.416-60.384, 107.776-60.384c 21.28,0, 43.84,8.352, 66.176,30.688c 63.584,63.616, 4.768,122.496-38.176,165.472L 225.216,368.352z"  />
+<glyph unicode="&#xe017;" d="M 464.928,447.84c-0.288,0-0.576,0-0.864,0c-0.256,0-0.48,0.032-0.736,0L 262.144,447.84 
+               C 257.248,447.616, 246.112,439.968, 244.672,438.528L 9.344,203.2c-12.48-12.48-12.48-32.704,0-45.184l 180.672-180.672C 196.288-28.896, 204.448-32, 212.608-32
+               c 8.16,0, 16.352,3.104, 22.592,9.344l 235.328,235.328C 471.968,214.112, 480,224, 480,230.144L 480,431.968 C 480.448,440.896, 473.696,447.84, 464.928,447.84z
+                M 448,236.128c-0.48-0.736-0.96-1.504-1.408-2.112l-233.952-234.016L 31.968,180.576l 234.016,234.016C 266.624,415.040, 267.36,415.52, 268.128,416L 448,416 L 448,236.128 zM 384,368A16,16 1260 1 1 416,368A16,16 1260 1 1 384,368z"  />
+<glyph unicode="&#xe018;" d="M 465.28,480c-0.192,0-0.384,0-0.576,0c-0.096,0-0.192,0-0.288,0c-0.032,0-0.064,0-0.096,0
+               c-0.16,0-0.288,0-0.416,0c-0.064,0-0.128,0-0.192,0L 294.496,480 C 289.6,479.744, 278.464,472.096, 277.024,470.656L 73.344,267.008
+               c-12.48-12.48-12.48-32.704,0-45.184l 25.408-25.408L 73.344,171.008c-12.48-12.48-12.48-32.704,0-45.184l 148.672-148.672
+               c 6.24-6.24, 14.4-9.344, 22.592-9.344c 8.16,0, 16.352,3.104, 22.592,9.344l 203.648,203.68C 472.32,182.272, 480,192.128, 480,198.272L 480,464.096 
+               C 480.448,473.024, 474.048,480, 465.28,480z M 448.352,203.68c-0.096-0.16-0.16-0.256-0.128-0.256c0,0,0,0,0,0l-203.584-203.68l-148.672,148.608
+               l 25.408,25.408l 100.64-100.64c 6.24-6.24, 14.4-9.344, 22.592-9.344c 8.16,0, 16.352,3.104, 22.592,9.344l 181.152,181.152L 448.352,203.68 z M 448.352,352l0-52.32 
+               c-0.096-0.16-0.16-0.256-0.128-0.256l0,0c0,0,0,0,0,0l-203.584-203.68L 95.968,244.352l 202.304,202.272C 298.88,447.072, 299.616,447.552, 300.352,448
+               l 148,0 L 448.352,352 zM 384.352,400.128A16,16 1260 1 1 416.352,400.128A16,16 1260 1 1 384.352,400.128z"  />
+<glyph unicode="&#xe019;" d="M 416,448l-64,0 c0,17.664-14.336,32-32,32L 224,480 C 206.336,480, 192,465.664, 192,448L 128,448 C 110.336,448, 96,433.664, 96,416l 352,0 C 448,433.664, 433.664,448, 416,448zM 96,0c0-17.664, 14.336-32, 32-32l 288,0 c 17.664,0, 32,14.336, 32,32L 448,384 L 96,384 L 96,0 z M 128,352l 288,0 l0-352 L 128,0 L 128,352 zM 176,320C 167.168,320, 160,312.832, 160,304l0-256 C 160,39.168, 167.168,32, 176,32S 192,39.168, 192,48l0,256 C 192,312.832, 184.832,320, 176,320zM 272,320C 263.168,320, 256,312.832, 256,304l0-256 C 256,39.168, 263.168,32, 272,32S 288,39.168, 288,48l0,256 C 288,312.832, 280.832,320, 272,320zM 368,320C 359.168,320, 352,312.832, 352,304l0-256 c0-8.832, 7.168-16, 16-16s 16,7.168, 16,16l0,256 
+               C 384,312.832, 376.832,320, 368,320z"  />
+<glyph unicode="&#xe01a;" d="M 157.248,474.304C 152.896,479.456, 145.824,481.344, 139.52,479.040C 133.216,476.736, 128.992,470.72, 128.992,464l0-417.504 
+               c0-6.912, 4.416-13.024, 10.976-15.2c 1.632-0.544, 3.328-0.8, 5.024-0.8c 4.96,0, 9.76,2.304, 12.832,6.464l 71.552,96.384l 49.632-141.984
+               c 6.368-18.176, 26.272-27.776, 44.448-21.408s 27.776,26.272, 21.408,44.448l-48.704,139.296l 111.936-21.664c 6.688-1.344, 13.408,1.76, 16.832,7.584
+               c 3.424,5.856, 2.816,13.216-1.568,18.4L 157.248,474.304z M 247.2,195.808C 241.152,197.024, 234.976,194.592, 231.328,189.632l-70.304-94.72L 161.024,420.128 
+               l 208.768-248.064L 247.2,195.808z"  />
+<glyph unicode="&#xe01b;" d="M 224,67.072L 224,0 L 176,0 C 167.168,0, 160-7.168, 160-16C 160-24.832, 167.168-32, 176-32l 79.68,0 L 256.32-32 l 79.68,0 
+               c 8.832,0, 16,7.168, 16,16c0,8.832-7.168,16-16,16L 288,0 l0,67.264 c 66.656,13.152, 128,67.104, 128,156.736L 416,272 C 416,280.832, 408.832,288, 400,288
+               S 384,280.832, 384,272L 384,224 c0-84.032-64.416-128-128-128c-61.664,0-128,40.064-128,128L 128,272 C 128,280.832, 120.832,288, 112,288S 96,280.832, 96,272L 96,224 
+               C 96,133.12, 156.256,79.808, 224,67.072zM 256,128c 52.928,0, 96,43.072, 96,96L 352,384 c0,52.928-43.072,96-96,96C 203.072,480, 160,436.928, 160,384l0-160 C 160,171.072, 203.072,128, 256,128z M 192,384
+               c0,35.36, 28.64,64, 64,64s 64-28.64, 64-64l0-160 c0-35.36-28.64-64-64-64S 192,188.64, 192,224L 192,384 z"  />
+<glyph unicode="&#xe01c;" d="M 256,480C 114.624,480,0,365.376,0,224s 114.624-256, 256-256s 256,114.624, 256,256S 397.376,480, 256,480z M 256,0c-123.52,0-224,100.48-224,224s 100.48,224, 224,224
+               s 224-100.48, 224-224S 379.52,0, 256,0zM 359.52,349.568L 299.968,312.384L 260.192,287.584c 31.936-2.112, 57.28-27.424, 59.392-59.392l 24.8,39.744l 37.184,59.584
+               c 3.968,6.304, 3.040,14.528-2.24,19.776C 374.016,352.608, 365.76,353.504, 359.52,349.568zM 192.416,219.808L 167.616,180.032l-37.184-59.584c-3.968-6.304-3.040-14.528, 2.24-19.776C 135.776,97.6, 139.872,96, 144,96
+               c 2.944,0, 5.888,0.8, 8.48,2.432l 59.552,37.184l 39.776,24.8C 219.872,162.528, 194.528,187.872, 192.416,219.808zM 260.192,287.584C 258.784,287.68, 257.44,288, 256,288C 220.64,288, 192,259.36, 192,224c0-1.44, 0.32-2.784, 0.416-4.192
+               c 2.112-31.936, 27.456-57.28, 59.392-59.392C 253.216,160.32, 254.56,160, 256,160c 35.36,0, 64,28.64, 64,64c0,1.44-0.32,2.784-0.416,4.192
+               C 317.472,260.128, 292.128,285.472, 260.192,287.584z M 224,224c0,17.632, 14.368,32, 32,32s 32-14.368, 32-32S 273.632,192, 256,192S 224,206.368, 224,224z"  />
+<glyph unicode="&#xe01d;" d="M 243.392,217.216c 45.984,0, 83.392,37.408, 83.392,83.392C 326.784,346.592, 289.376,384, 243.392,384S 160,346.592, 160,300.608
+               C 160,254.624, 197.408,217.216, 243.392,217.216z M 243.392,352c 28.32,0, 51.392-23.040, 51.392-51.392s-23.040-51.392-51.392-51.392S 192,272.288, 192,300.608
+               S 215.040,352, 243.392,352zM 231.744-23.328c 2.688-2.976, 5.28-4.896, 7.776-6.24c 0.032-0.032, 0.096-0.032, 0.128-0.064
+               c 1.728-0.896, 3.424-1.568, 5.024-1.568c 1.6,0, 3.296,0.672, 5.024,1.568c 0.032,0.032, 0.096,0.032, 0.128,0.064
+               c 2.496,1.344, 5.088,3.264, 7.776,6.24c0,0, 148.736,161.76, 163.68,301.92c 0.896,7.232, 1.504,14.56, 1.504,22.016
+               C 422.784,399.68, 342.464,480, 243.392,480S 64,399.68, 64,300.608c0-7.584, 0.608-14.976, 1.536-22.304C 80.864,138.208, 231.744-23.328, 231.744-23.328z M 243.392,448
+               c 81.28,0, 147.392-66.112, 147.392-147.392c0-5.408-0.384-11.168-1.312-18.624c-11.456-107.392-112.288-233.408-144.768-271.744
+               c-33.312,38.4-135.584,164.096-147.424,272C 96.416,289.312, 96,295.136, 96,300.608C 96,381.888, 162.112,448, 243.392,448z"  />
+<glyph unicode="&#xe01e;" d="M 139.040,195.648C 132.224,187.904, 129.568,177.344, 131.872,167.296c 2.304-10.048, 9.344-18.368, 18.848-22.336
+               c 22.72-9.504, 61.344-15.52, 105.312-16.736C 256.032,128.16, 256,128.096, 256,128l0-96 c0-17.664, 7.168-64, 16-64S 288,14.336, 288,32l0,96 
+               c0,0.096-0.032,0.16-0.032,0.256c 43.968,1.184, 82.592,7.232, 105.312,16.736c 9.504,3.968, 16.544,12.288, 18.848,22.336
+               c 2.304,10.048-0.352,20.608-7.168,28.32C 391.84,210.528, 368.928,218.752, 352,223.040l0,165.76 l0,0c 16.736,5.664, 30.944,12.768, 42.176,21.056
+               c 9.6,7.072, 14.464,18.944, 12.608,30.72s-10.112,21.568-21.44,25.376C 369.728,471.2, 334.208,480, 272,480C 206.24,480, 169.92,469.856, 157.344,465.504
+               c-11.168-3.872-19.296-13.6-21.12-25.28C 134.4,428.576, 139.168,416.832, 148.608,409.696C 160,401.152, 174.56,393.92, 191.968,388.224l 0.032,0L 192,223.040 
+               C 175.104,218.784, 152.16,210.56, 139.040,195.648z M 201.952,418.624C 185.248,424.096, 174.4,430.336, 167.84,435.296C 184.864,441.184, 219.328,448, 272,448
+               c 51.648,0, 85.856-6.56, 103.2-12.384c-6.784-4.992-17.536-11.104-33.472-16.512L 320,411.744l0-213.6 l 24.128-6.112
+               c 17.696-4.48, 31.072-11.008, 36.8-17.536C 366.112,168.32, 330.112,160, 272,160S 177.888,168.32, 163.072,174.496c 5.76,6.528, 19.136,13.056, 36.8,17.536
+               L 224,198.144L 224,411.424 L 201.952,418.624z"  />
+<glyph unicode="&#xe01f;" d="M 486.944,415.232l-144,64C 340.672,479.744, 338.336,480, 336,480c-2.080,0-4.192-0.192-6.24-0.608L 175.712,416.704
+               L 38.976,479.232C 36.672,479.744, 34.336,480, 32,480C 24.8,480, 17.728,477.568, 12,472.96C 4.416,466.912,0,457.728,0,448l0-384 c0-14.976, 10.4-27.968, 25.024-31.232
+               l 143.328-64C 170.656-31.744, 172.992-32, 175.328-32c 2.080,0, 4.192,0.192, 6.24,0.608l 154.048,62.688l 137.408-62.528C 475.36-31.744, 477.696-32, 480-32
+               c 7.2,0, 14.304,2.432, 20.032,7.040C 507.584-18.88, 512-9.696, 512,0L 512,384 C 512,399.008, 501.568,412, 486.944,415.232z M 192,390.624l 128,50.976l0-384 
+               l-128-50.976L 192,390.624 z M 32,448l 128-57.152l0-384 L 32,64L 32,448 z M 480,0l-128,56.896l0,384 L 480,384L 480,0 z"  />
+<glyph unicode="&#xe020;" d="M 404.992,448L 104,448 C 86.336,448, 72,436, 64,416L0,192.512L0,176 l0-33.664 L0,16 C0,7.168, 7.168,0, 16,0l 480,0 
+               c 8.832,0, 16,7.168, 16,16l0,127.872 L 512,176 L 512,190.528 L 448,416C 439.008,436, 422.688,448, 404.992,448z M 94.24,405.344C 95.712,408.64, 99.456,416, 104,416l 300.992,0 
+               c 4.384,0, 9.44-4.512, 12.992-11.392L 478.304,192L 336,192 C 327.168,192, 320,184.832, 320,176L 320,128 L 192,128 L 192,176 C 192,184.832, 184.832,192, 176,192L 33.152,192 L 94.24,405.344z
+                M 480,32L 32,32 l0,111.552 L 32,160 l 128,0 l0-48 C 160,103.168, 167.168,96, 176,96l 160,0 c 8.832,0, 16,7.168, 16,16L 352,160 l 128,0 l0-15.36 L 480,32 z"  />
+<glyph unicode="&#xe021;" d="M 480,320l-128,0 c0-17.664-14.336-32-32-32l 160,0 l0-64 l-160,0 c 17.664,0, 32-14.336, 32-32l 128,0 l0-192 L 32,0 L 32,192 l 128,0 c0,17.664, 14.336,32, 32,32L 32,224 L 32,288 l 160,0 
+               C 174.336,288, 160,302.336, 160,320L 32,320 C 14.336,320,0,305.664,0,288l0-64 l0-32 l0-192 c0-17.664, 14.336-32, 32-32l 448,0 c 17.664,0, 32,14.336, 32,32L 512,192 L 512,224 L 512,288 C 512,305.664, 497.664,320, 480,320zM 192,288l 128,0 c 17.664,0, 32,14.336, 32,32L 352,352 c0,17.664-14.336,32-32,32L 192,384 C 174.336,384, 160,369.664, 160,352l0-32 C 160,302.336, 174.336,288, 192,288z M 192,352l 128,0 l0-32 
+               L 192,320 L 192,352 zM 160,192l0-32 c0-17.664, 14.336-32, 32-32l 128,0 c 17.664,0, 32,14.336, 32,32L 352,192 c0,17.664-14.336,32-32,32L 192,224 C 174.336,224, 160,209.664, 160,192z M 320,160L 192,160 
+               L 192,192 l 128,0 L 320,160 z"  />
+<glyph unicode="&#xe022;" d="M 432.672,480L 288.288,480 L 144,480 L 80.672,480 C 36.512,480, 0.768,444.512, 0.128,400.512L0,400.672l0-66.656 L0,288 l0-175.328 l0-39.584 l0-24.416 
+               C0,4.128, 36.128-32, 80.672-32l 14.592,0 L 224-32 l 44,0 l 21.408,0 l 63.264,0 C 370.336-32, 384-17.664, 384,0L 384,336 C 384,344.832, 377.504,352, 368.672,352l-288,0 
+               C 53.824,352, 32,372.512, 32,399.328C 32,426.176, 53.824,448, 80.672,448L 144,448 l 149.12,0 L 416,448 l0-368 c0-8.832, 7.84-16, 16.672-16S 448,71.168, 448,80l0,384 
+               C 448,472.832, 441.504,480, 432.672,480z M 80.672,320l 271.36,0 l 0.64-320L 289.408,0 L 268,0 L 224,0 L 95.264,0 L 80.672,0 C 53.824,0, 32,21.824, 32,48.672l0,24.416 l0,39.584 L 32,288 L 32,334.016 
+               L 32,335.648 C 45.44,325.792, 62.24,320, 80.672,320z"  />
+<glyph unicode="&#xe023;" d="M 510.112,390.016C 506.080,403.040, 494.368,412.672, 480,412.672l-32,0 l0-32 l0-17.664 c0-26.464-21.536-48-48-48S 352,336.544, 352,363.008
+               L 352,380.672 l0,32 L 159.84,412.672 l0-32 l0-17.664 c0-26.464-21.536-48-48-48c-26.464,0-48,21.536-48,48L 63.84,380.672 l0,32 L 32,412.672 c-14.368,0-26.080-9.632-30.112-22.656L0,390.016 
+               l0-9.344 l0-99.68 L0,0 c0-17.664, 14.336-32, 32-32l 448,0 c 17.664,0, 32,14.336, 32,32L 512,280.992 L 512,380.672 L 512,390.016 L 510.112,390.016 z M 480,0L 32,0 L 32,256 l 448,0 L 480,0 zM 111.84,347.008c 8.832,0, 16,7.168, 16,16L 127.84,464 c0,8.832-7.168,16-16,16s-16-7.168-16-16l0-100.992 
+               C 95.84,354.176, 103.008,347.008, 111.84,347.008zM 400,347.008c 8.832,0, 16,7.168, 16,16L 416,464 C 416,472.832, 408.832,480, 400,480S 384,472.832, 384,464l0-100.992 
+               C 384,354.176, 391.168,347.008, 400,347.008z"  />
+<glyph unicode="&#xe024;" d="M 480,480L 32,480 C 14.336,480,0,465.664,0,448l0-448 c0-17.664, 14.336-32, 32-32l 448,0 c 17.664,0, 32,14.336, 32,32L 512,448 C 512,465.664, 497.664,480, 480,480z
+                M 96,192l0-64 L 32,128 L 32,192 L 96,192 z M 32,256L 32,320 l 64,0 l0-64 L 32,256 z M 128,160l 256,0 l0-160 L 128,0 L 128,160 z M 384,192L 128,192 L 128,448 l 256,0 L 384,192 z M 416,192l 64,0 l0-64 l-64,0 L 416,192 z M 416,256L 416,320 l 64,0 l0-64 L 416,256 z M 416,384L 416,448 l 64,0 l0-64 L 416,384 z M 96,384L 32,384 L 32,448 l 64,0 L 96,384 z
+                M 32,64l 64,0 l0-64 L 32,0 L 32,64 z M 416,64l 64,0 l0-64 l-64,0 L 416,64 z"  />
+<glyph unicode="&#xe025;" d="M 511.456,417.664C 510.048,434.144, 496.736,448, 480,448L 32,448 C 15.264,448, 1.952,434.144, 0.544,417.664L0,417.664 l0-2.656 L0,352 l0-226.656 L0,96 l0-96 
+               c0-17.664, 14.336-32, 32-32l 448,0 c 17.664,0, 32,14.336, 32,32L 512,352 L 512,415.008 L 512,417.664 L 511.456,417.664 z M 192,256L 192,352 l 128,0 l0-96 L 192,256 z M 320,224l0-98.656 L 192,125.344 L 192,224 L 320,224 z M 160,352l0-96 L 32,256 L 32,352 L 160,352 z M 32,224l 128,0 l0-98.656 
+               L 32,125.344 L 32,224 z M 32,0l0,96 l 128,0 l0-96 L 32,0 z M 192,0l0,96 l 128,0 l0-96 L 192,0 z M 480,0l-128,0 l0,96 l 128,0 L 480,0 z M 480,125.344l-128,0 L 352,224 l 128,0 L 480,125.344 z M 480,256l-128,0 L 352,352 l 128,0 L 480,256 z"  />
+<glyph unicode="&#xe026;" d="M 416,480L 32,480 C 14.336,480,0,465.664,0,448l0-448 c0-17.664, 14.336-32, 32-32l 384,0 c 17.664,0, 32,14.336, 32,32L 448,448 C 448,465.664, 433.664,480, 416,480z
+                M 32,448l 64,0 l0-448 L 32,0 L 32,448 z M 416,0L 128,0 L 128,448 l 288,0 L 416,0 zM 221.792,308.256A48.448,48.448 1260 1 1 318.688,308.256A48.448,48.448 1260 1 1 221.792,308.256zM 271.232,240.448C 227.488,240.448, 192,192.864, 192,134.176s 158.496-58.688, 158.496,0S 315.008,240.448, 271.232,240.448zM 480,448L 512,448L 512,352L 480,352zM 480,320L 512,320L 512,224L 480,224zM 480,192L 512,192L 512,96L 480,96z"  />
+<glyph unicode="&#xe027;" d="M 480,160L 480,224 c0,147.072-112.672,224-224,224C 147.392,448, 32,369.504, 32,224l0-64 c-17.664,0-32-14.336-32-32l0-64 c0-17.664, 14.336-32, 32-32
+               c0-17.664, 14.336-32, 32-32s 32,14.336, 32,32l0,128 c0,17.664-14.336,32-32,32L 64,224 c0,126.048, 96.608,192, 192,192c 92.48,0, 192-60.064, 192-192l0-32 c-17.664,0-32-14.336-32-32l0-128 
+               c0-17.664, 14.336-32, 32-32s 32,14.336, 32,32c 17.664,0, 32,14.336, 32,32l0,64 C 512,145.664, 497.664,160, 480,160z"  />
+<glyph unicode="&#xe028;" d="M 256,480C 190.496,480, 124.96,455.008, 74.976,405.024c-99.968-99.968-99.968-262.080,0-362.048C 124.96-7.008, 190.496-32, 256-32
+               s 131.040,24.992, 181.024,74.976c 99.968,99.968, 99.968,262.080,0,362.048C 387.040,455.008, 321.504,480, 256,480z M 165.504,133.504C 141.312,157.664, 128,189.824, 128,224
+               c0,34.176, 13.312,66.336, 37.504,90.496C 189.664,338.688, 221.824,352, 256,352s 66.336-13.312, 90.496-37.504C 370.688,290.336, 384,258.176, 384,224
+               c0-34.176-13.312-66.336-37.504-90.496C 322.336,109.312, 290.176,96, 256,96S 189.664,109.312, 165.504,133.504z M 354.976,424.8L 305.6,375.424
+               C 289.472,380.704, 272.8,384, 256,384C 240.704,384, 225.568,381.088, 210.752,376.736l-49.92,49.92C 190.272,440.448, 222.528,448, 256,448C 290.944,448, 324.544,439.84, 354.976,424.8z
+                M 53.376,319.136l 49.92-49.92c-9.152-31.040-8.768-64, 1.28-94.848l-49.376-49.376C 40.16,155.456, 32,189.056, 32,224C 32,257.472, 39.552,289.728, 53.376,319.136z
+                M 97.6,65.632L 97.6,65.632C 97.6,65.6, 97.6,65.6, 97.6,65.632L 97.6,65.632z M 164.704,19.552l 50.432,50.432C 228.544,66.432, 242.208,64, 256,64
+               c 15.296,0, 30.432,2.912, 45.248,7.296l 49.92-49.92C 321.728,7.552, 289.472,0, 256,0C 223.968,0, 193.088,6.88, 164.704,19.552z M 458.56,128.928
+               l-49.824,49.824c 8.288,28.128, 8.768,57.792, 1.28,86.112l 50.336,50.336C 486.688,255.968, 486.080,187.744, 458.56,128.928z"  />
+<glyph unicode="&#xe029;" d="M 256-32c 82.528,0, 155.744,39.232, 202.56,99.872L 256,224L 256,480 C 114.624,480,0,365.376,0,224S 114.624-32, 256-32z M 224,445.728L 224,224 
+               c0-9.92, 4.608-19.296, 12.448-25.344l 175.424-135.232C 370.304,22.784, 314.976,0, 256,0c-123.52,0-224,100.48-224,224C 32,336.64, 115.584,430.144, 224,445.728zM 300,475.712l0-228.96 l 182.784-140.896C 501.344,141.216, 512,181.312, 512,224C 512,350.336, 420.352,454.816, 300,475.712z"  />
+<glyph unicode="&#xe02a;" d="M 479.584,480c-17.92,0-32.416-14.528-32.416-32.416l0-75.584 C 410.624,416.256, 368.512,480, 252.608,480C 113.344,480,0,366.688,0,227.392
+               c0-139.296, 113.344-252.608, 252.608-252.608c 109.376,0, 205.824,69.856, 240.064,173.824c 5.664,17.312-3.744,35.968-21.056,41.664
+               c-17.312,5.696-35.968-3.712-41.664-21.024c-25.28-76.832-96.544-128.448-177.344-128.448c-102.912,0-186.624,83.712-186.624,186.624
+               s 83.712,186.24, 186.624,186.24c 72.864,0, 113.344-45.344, 146.368-92.896L 317.472,320.768 c-17.92,0-32.416-14.528-32.416-32.416c0-17.92, 14.528-32.416, 32.416-32.416
+               l 162.112,0 C 497.472,255.872, 512,270.4, 512,288.288L 512,447.584 C 512,465.472, 497.472,480, 479.584,480z"  />
+<glyph unicode="&#xe02b;" d="M 152.928,415.104c 18.72,18.72, 49.152,18.72, 67.872,0l 171.616-171.616c 8.448,31.968, 0.544,67.36-24.512,92.416
+               L 254.752,449.024c-37.504,37.504-98.272,37.504-135.776,0L 93.536,423.584c-37.504-37.504-37.504-98.272,0-135.776l 113.152-113.152
+               c 25.056-25.056, 60.448-32.96, 92.416-24.512L 127.488,321.76c-18.72,18.72-18.72,49.152,0,67.872L 152.928,415.104zM 257.248-1.024c 37.504-37.504, 98.272-37.504, 135.776,0l 25.44,25.472c 37.504,37.504, 37.504,98.272,0,135.776L 305.312,273.312
+               c-25.056,25.056-60.448,32.96-92.416,24.512l 171.616-171.616c 18.72-18.72, 18.72-49.152,0-67.872l-25.472-25.472c-18.72-18.72-49.152-18.72-67.872,0
+               L 119.584,204.512c-8.448-31.968-0.544-67.36, 24.512-92.416L 257.248-1.024z"  />
+<glyph unicode="&#xe02c;" d="M 120.64,227.68c 20.448-20.448, 50.528-27.616, 77.888-19.456L 47.36,359.36C 42.432,364.288, 39.84,371.424, 39.84,379.936
+               c0,14.080, 7.36,32.064, 17.12,41.824c 12.8,12.8, 47.52,26.976, 63.68,10.912l 151.136-151.168c 2.208,7.392, 3.328,15.072, 3.328,22.752
+               c0,20.864-8.096,40.416-22.784,55.136L 149.824,461.856C 119.040,492.64, 57.856,481.088, 27.744,450.976C 10.272,433.504-0.576,406.432-0.576,380.32
+               c0-20.288, 6.656-38.112, 18.72-50.176L 120.64,227.68zM 391.36,220.32c-20.448,20.448-50.528,27.616-77.888,19.456l 151.168-151.168c 4.928-4.928, 7.52-12.032, 7.52-20.576
+               c0-14.080-7.36-32.064-17.12-41.824c-12.8-12.8-47.52-26.976-63.68-10.912L 240.224,166.496c-2.208-7.392-3.328-15.072-3.328-22.752
+               c0-20.864, 8.096-40.416, 22.784-55.136l 102.464-102.464c 30.784-30.784, 91.968-19.232, 122.080,10.88c 17.472,17.472, 28.32,44.544, 28.32,70.656
+               c0,20.288-6.656,38.112-18.72,50.176L 391.36,220.32zM 146.624,333.408C 142.528,329.344, 140.288,323.904, 140.288,318.144s 2.24-11.168, 6.304-15.232l 188.288-188.32
+               c 8.416-8.384, 22.080-8.384, 30.496,0c 4.096,4.064, 6.304,9.504, 6.304,15.264s-2.24,11.168-6.304,15.232L 177.088,333.408
+               C 168.704,341.792, 155.008,341.792, 146.624,333.408z"  />
+<glyph unicode="&#xe02d;" d="M 432.32,114.88A2.912,2.912 1260 1 1 438.144,114.88A2.912,2.912 1260 1 1 432.32,114.88zM 368.032,48.544A5.792,5.792 1260 1 1 379.616,48.54399999999998A5.792,5.792 1260 1 1 368.032,48.54399999999998zM 281.376,14.4A8.704,8.704 1260 1 1 298.784,14.399999999999977A8.704,8.704 1260 1 1 281.376,14.399999999999977zM 188.096,18.976A11.584,11.584 1260 1 1 211.264,18.976A11.584,11.584 1260 1 1 188.096,18.976zM 105.344,61.44A14.496,14.496 1260 1 1 134.336,61.44A14.496,14.496 1260 1 1 105.344,61.44zM 48.032,133.632A17.408,17.408 1260 1 1 82.848,133.632A17.408,17.408 1260 1 1 48.032,133.632zM 26.528,222.272A20.288,20.288 1260 1 1 67.104,222.272A20.288,20.288 1260 1 1 26.528,222.272zM 44.224,310.336A23.2,23.2 1260 1 1 90.624,310.336A23.2,23.2 1260 1 1 44.224,310.336zM 97.312,381.344A26.112,26.112 1260 1 1 149.536,381.344A26.112,26.112 1260 1 1 97.312,381.344zM 175.264,422.016A28.992,28.992 1260 1 1 233.248,422.016A28.992,28.992 1260 1 1 175.264,422.016zM 262.816,424.544A31.904,31.904 1260 1 1 326.624,424.544A31.904,31.904 1260 1 1 262.816,424.544zM 342.976,388.48A34.784,34.784 1260 1 1 412.544,388.48A34.784,34.784 1260 1 1 342.976,388.48zM 399.936,320.736A37.696,37.696 1260 1 1 475.328,320.736A37.696,37.696 1260 1 1 399.936,320.736zM 422.592,232.992A40.608,40.608 1260 1 1 503.808,232.992A40.608,40.608 1260 1 1 422.592,232.992z"  />
+<glyph unicode="&#xe02e;" d="M 256,480C 114.624,480,0,365.376,0,224s 114.624-256, 256-256s 256,114.624, 256,256S 397.376,480, 256,480z M 256,416c 105.856,0, 192-86.144, 192-192
+       c0-41.408-13.312-79.68-35.68-111.072L 144.928,380.32C 176.32,402.688, 214.592,416, 256,416z M 64,224c0,41.408, 13.312,79.68, 35.68,111.072l 267.392-267.392l0,0
+       C 335.648,45.312, 297.408,32, 256,32C 150.144,32, 64,118.144, 64,224z"  />
+<glyph unicode="&#xe02f;" d="M 480,416L 32,416 C 14.336,416,0,401.664,0,384l0-64 l 512,0 L 512,384 C 512,401.664, 497.664,416, 480,416z M 480,352L 32,352 L 32,384 l 448,0 L 480,352 zM 32,0c0-17.664, 14.336-32, 32-32l 384,0 c 17.664,0, 32,14.336, 32,32L 480,288 L 32,288 L 32,0 z M 64,256l 384,0 l0-256 L 64,0 L 64,256 zM 336,224l-160,0 C 167.168,224, 160,216.832, 160,208C 160,199.168, 167.168,192, 176,192l 160,0 C 344.832,192, 352,199.168, 352,208
+               C 352,216.832, 344.832,224, 336,224z"  />
+<glyph unicode="&#xe030;" d="M 511.744,258.656C 510.4,337.184, 446.688,407.168, 368,407.168c-45.504,0-85.6-23.808-112-58.752
+               C 229.6,383.36, 189.504,407.168, 144,407.168c-78.688,0-142.4-69.984-143.744-148.512L0,258.656 c0-0.48, 0.096-0.928, 0.096-1.408
+               C 0.096,256.896,0,256.544,0,256.16c0-2.208, 0.544-3.872, 0.64-5.984C 7.68,50.048, 253.984-32, 253.984-32s 249.92,81.952, 257.312,281.856
+               C 511.424,252.096, 512,253.856, 512,256.16c0,0.384-0.096,0.736-0.096,1.088C 511.904,257.76, 512,258.176, 512,258.656L 511.744,258.656 z M 479.328,251.040
+               c-5.664-153.6-181.056-231.68-225.28-248.928c-43.84,17.28-216.032,95.008-221.44,249.536C 32.544,253.248, 32.384,254.72, 32.16,256.32
+               c 0.032,0.576, 0.064,1.184, 0.096,1.792C 33.344,321.568, 84.512,375.168, 144,375.168c 32.832,0, 64.352-16.768, 86.464-46.048
+               C 236.512,321.12, 245.952,316.416, 256,316.416s 19.488,4.704, 25.536,12.704C 303.648,358.4, 335.168,375.168, 368,375.168c 59.488,0, 110.656-53.6, 111.744-117.056
+               c0-0.608, 0.032-1.216, 0.096-1.824C 479.616,254.72, 479.424,253.056, 479.328,251.040z"  />
+<glyph unicode="&#xe031;" d="M 510.144,272.864c-3.776,11.584-13.792,20.032-25.824,21.792l-137.92,20.032L 284.704,439.648
+               C 279.296,450.592, 268.192,457.504, 256,457.504S 232.704,450.592, 227.296,439.648L 165.632,314.688l-137.92-20.032c-12.064-1.76-22.080-10.208-25.824-21.792
+               c-3.776-11.584-0.64-24.288, 8.096-32.8l 99.808-97.28l-23.552-137.376c-2.048-12, 2.88-24.128, 12.736-31.296C 104.512-29.952, 111.104-32, 117.76-32
+               c 5.088,0, 10.208,1.216, 14.88,3.68L 256,36.544l 123.36-64.864C 384.032-30.784, 389.152-32, 394.24-32c 6.624,0, 13.248,2.048, 18.816,6.112
+               c 9.856,7.168, 14.784,19.296, 12.736,31.296l-23.552,137.376l 99.808,97.28C 510.752,248.544, 513.888,261.28, 510.144,272.864z M 367.84,153.952L 394.24,0
+               L 256,72.672L 117.76,0l 26.4,153.952L 32.32,262.976L 186.88,285.44L 256,425.504l 69.12-140.064l 154.56-22.464L 367.84,153.952z"  />
+<glyph unicode="&#xe032;" d="M 510.144,272.864c-3.776,11.584-13.792,20.032-25.856,21.76l-137.92,20.032L 284.704,439.648
+       C 279.296,450.592, 268.192,457.504, 256,457.504S 232.704,450.592, 227.296,439.648L 165.632,314.688l-137.92-20.032c-12.064-1.76-22.080-10.208-25.824-21.792
+       c-3.776-11.584-0.64-24.288, 8.096-32.8l 99.808-97.28l-23.552-137.376c-2.048-12, 2.88-24.128, 12.736-31.296C 104.512-29.952, 111.104-32, 117.76-32
+       c 5.088,0, 10.208,1.216, 14.88,3.68L 256,36.544l 123.36-64.864C 384.032-30.784, 389.152-32, 394.24-32c 6.624,0, 13.248,2.048, 18.816,6.112
+       c 9.856,7.168, 14.784,19.296, 12.736,31.296l-23.552,137.376l 99.808,97.28C 510.784,248.576, 513.92,261.28, 510.144,272.864z M 367.84,153.952L 394.24,0
+       L 256,72.672L 256,425.504 l 69.12-140.064l 154.56-22.464L 367.84,153.952z"  />
+<glyph unicode="&#xe033;" d="M 332.096,291.712L 253.696,450.56L 175.296,291.712L0,266.24L 126.848,142.592L 96.896-32L 253.696,50.432L 410.496-32L 380.544,142.592L 507.392,266.24      z"  />
+<glyph unicode="&#xe034;" d="M 256,50.432L 256,450.56L 177.6,291.712L 2.304,266.24L 129.152,142.592L 99.2-32   z"  />
+<glyph unicode="&#xe035;" d="M 13.568,49.44c-18.752-18.752-18.752-49.12,0-67.872c 9.376-9.376, 21.664-14.048, 33.952-14.048
+               c 12.288,0, 24.576,4.672, 33.952,14.048l 157.6,157.6L 171.168,207.040L 13.568,49.44zM 407.456,341.536L 476.032,377.024L 512,446.496L 478.496,480L 409.024,444.032L 373.536,375.456L 289.952,291.872L 323.872,257.952 
+                       zM 422.464,159.36C 420.288,159.488, 418.208,160, 416,160c-11.712,0-22.816-2.4-33.184-6.24L 185.76,350.816
+               C 189.6,361.184, 192,372.288, 192,384c0,2.208-0.512,4.288-0.64,6.464C 187.968,440.416, 146.816,480, 96,480C 81.216,480, 67.36,476.384, 54.848,470.4l 63.776-63.776
+               c 3.36-3.36, 5.664-7.328, 7.2-11.52c 4.192-11.36, 1.92-24.576-7.2-33.728C 112.384,355.136, 104.192,352, 96,352C 92.224,352, 88.48,352.832, 84.896,354.176
+               c-4.192,1.568-8.16,3.84-11.52,7.2L 9.6,425.152C 3.616,412.64,0,398.784,0,384c0-50.816, 39.584-91.968, 89.536-95.36C 91.712,288.512, 93.792,288, 96,288
+               c 11.712,0, 22.816,2.4, 33.184,6.24l 197.056-197.056C 322.4,86.816, 320,75.712, 320,64c0-2.208, 0.512-4.288, 0.64-6.464
+               C 324.032,7.584, 365.184-32, 416-32c 14.784,0, 28.64,3.616, 41.152,9.6l-63.776,63.776c-3.36,3.36-5.664,7.328-7.2,11.52
+               c-4.192,11.36-1.92,24.576, 7.2,33.728C 399.616,92.864, 407.808,96, 416,96c 3.776,0, 7.52-0.832, 11.104-2.176
+               c 4.192-1.568, 8.16-3.84, 11.52-7.2l 63.776-63.776C 508.384,35.36, 512,49.216, 512,64C 512,114.816, 472.416,155.968, 422.464,159.36z"  />
+<glyph unicode="&#xe036;" d="M 416,96c 3.776,0, 7.52-0.832, 11.104-2.176c 4.192-1.568, 8.16-3.84, 11.52-7.2l 63.776-63.776
+       C 508.384,35.36, 512,49.216, 512,64c0,50.816-39.584,91.968-89.536,95.36C 420.288,159.488, 418.208,160, 416,160c-11.712,0-22.816-2.4-33.184-6.24
+       L 185.76,350.816C 189.6,361.184, 192,372.288, 192,384c0,2.208-0.512,4.288-0.64,6.464C 187.968,440.416, 146.816,480, 96,480C 81.216,480, 67.36,476.384, 54.848,470.4
+       l 63.776-63.776c 3.36-3.36, 5.664-7.328, 7.2-11.52c 4.192-11.36, 1.92-24.576-7.2-33.728C 112.384,355.136, 104.192,352, 96,352
+       C 92.224,352, 88.48,352.832, 84.896,354.176c-4.192,1.568-8.16,3.84-11.52,7.2L 9.6,425.152C 3.616,412.64,0,398.784,0,384
+       c0-50.816, 39.584-91.968, 89.536-95.36C 91.712,288.512, 93.792,288, 96,288c 11.712,0, 22.816,2.4, 33.184,6.24l 197.056-197.056
+       C 322.4,86.816, 320,75.712, 320,64c0-2.208, 0.512-4.288, 0.64-6.464C 324.032,7.584, 365.184-32, 416-32c 14.784,0, 28.64,3.616, 41.152,9.6
+       l-63.776,63.776c-3.36,3.36-5.664,7.328-7.2,11.52c-4.192,11.36-1.92,24.576, 7.2,33.728C 399.616,92.864, 407.808,96, 416,96z"  />
+<glyph unicode="&#xe037;" d="M 440.416,277.088c-4.032,14.016-9.504,27.36-16.448,39.872l 31.808,66.912c-11.808,14.72-25.184,28.096-39.904,39.904
+               l-66.912-31.808c-12.48,6.912-25.856,12.416-39.872,16.448L 284.192,478.368C 274.944,479.392, 265.536,480, 256,480S 237.056,479.392, 227.808,478.368L 202.912,408.416
+               C 188.928,404.384, 175.552,398.88, 163.072,391.968L 96.128,423.776c-14.72-11.808-28.096-25.184-39.904-39.904l 31.808-66.912
+               c-6.912-12.48-12.416-25.856-16.448-39.872L 1.632,252.192C 0.608,242.944,0,233.536,0,224s 0.608-18.944, 1.632-28.192l 69.984-24.896
+               c 4.032-14.016, 9.504-27.36, 16.448-39.872l-31.808-66.912c 11.808-14.72, 25.184-28.128, 39.904-39.904l 66.912,31.808
+               c 12.48-6.912, 25.856-12.416, 39.872-16.448l 24.896-69.984C 237.056-31.392, 246.464-32, 256-32s 18.944,0.608, 28.192,1.632l 24.896,69.984
+               c 14.016,4.032, 27.36,9.504, 39.872,16.448l 66.912-31.808c 14.72,11.808, 28.128,25.184, 39.904,39.904l-31.808,66.912
+               c 6.912,12.48, 12.416,25.856, 16.448,39.872l 69.984,24.896C 511.392,205.056, 512,214.464, 512,224s-0.608,18.944-1.632,28.192L 440.416,277.088z M 256,96
+               c-70.688,0-128,57.312-128,128c0,70.688, 57.312,128, 128,128s 128-57.312, 128-128C 384,153.312, 326.688,96, 256,96zM 192,224A64,64 1260 1 1 320,224A64,64 1260 1 1 192,224z"  />
+<glyph unicode="&#xe038;" d="M 15.648,204.832l 55.52,2.048C 77.728,198.368, 85.312,190.624, 93.76,183.712l-3.648-55.584
+               c 6.080-3.456, 12.352-6.656, 18.944-9.504c 6.56-2.848, 13.216-5.184, 19.904-7.264l 37.92,40.8c 10.848-1.376, 21.664-1.568, 32.32-0.512
+               l 36.64-41.792c 13.664,3.744, 26.848,8.992, 39.328,15.648L 273.152,181.056C 281.632,187.616, 289.376,195.2, 296.288,203.648l 55.584-3.648
+               c 3.456,6.080, 6.656,12.352, 9.504,18.944c 2.848,6.56, 5.184,13.216, 7.264,19.904l-40.8,37.92c 1.376,10.848, 1.568,21.664, 0.512,32.32
+               l 41.792,36.64c-3.744,13.664-8.992,26.848-15.648,39.328L 298.944,383.040C 292.384,391.52, 284.8,399.264, 276.352,406.176L 280,461.76
+               C 273.92,465.216, 267.648,468.416, 261.056,471.264C 254.496,474.080, 247.84,476.448, 241.152,478.496L 203.264,437.696c-10.848,1.376-21.664,1.568-32.32,0.512
+               L 134.272,480C 120.608,476.256, 107.424,471.008, 94.944,464.352L 96.96,408.832C 88.48,402.272, 80.736,394.72, 73.824,386.272L 18.24,389.888
+               c-3.456-6.080-6.656-12.352-9.504-18.944C 5.92,364.384, 3.552,357.728, 1.504,351.040l 40.8-37.92c-1.376-10.848-1.568-21.664-0.512-32.32L0,244.16
+               C 3.744,230.528, 8.992,217.312, 15.648,204.832z M 223.072,383.104c 48.672-20.992, 71.136-77.472, 50.144-126.176S 195.744,185.792, 147.040,206.784
+               S 75.904,284.256, 96.896,332.96S 174.368,404.096, 223.072,383.104zM 137.056,294.944A48,48 1260 1 1 233.056,294.94399999999996A48,48 1260 1 1 137.056,294.94399999999996zM 480.672,103.232l-13.248,4.704l 6.048,12.736l 13.92,29.28c-5.152,6.432-11.008,12.288-17.472,17.472l-29.28-13.92
+               l-12.736-6.048l-4.704,13.248l-10.88,30.624C 408.288,191.744, 404.16,192, 400,192s-8.288-0.256-12.352-0.704l-10.88-30.624l-4.704-13.248
+               l-12.736,6.048l-29.28,13.92c-6.432-5.152-12.288-11.008-17.472-17.472l 13.92-29.28l 6.048-12.736l-13.248-4.704l-30.624-10.88
+               C 288.256,88.288, 288,84.16, 288,80s 0.256-8.288, 0.704-12.32l 30.624-10.88l 13.248-4.704l-6.048-12.736l-13.92-29.28
+               c 5.152-6.432, 11.008-12.288, 17.472-17.472l 29.28,13.92l 12.736,6.048l 4.704-13.248l 10.88-30.624C 391.712-31.744, 395.84-32, 400-32
+               s 8.288,0.256, 12.352,0.704l 10.88,30.624l 4.704,13.248l 12.736-6.048l 29.28-13.92c 6.432,5.152, 12.288,11.008, 17.472,17.472l-13.92,29.28
+               l-6.048,12.736l 13.248,4.704l 30.624,10.88C 511.744,71.712, 512,75.84, 512,80s-0.256,8.288-0.704,12.352L 480.672,103.232z M 400,56
+               c-13.248,0-24,10.752-24,24c0,13.248, 10.752,24, 24,24s 24-10.752, 24-24C 424,66.752, 413.248,56, 400,56z"  />
+<glyph unicode="&#xe039;" d="M 272,448C 139.456,448, 32,340.544, 32,208S 139.456-32, 272-32S 512,75.456, 512,208S 404.544,448, 272,448z M 379.328,228.672
+               c-6.24-6.24-16.384-6.24-22.624,0L 288,297.376L 288,48 C 288,39.168, 280.832,32, 272,32S 256,39.168, 256,48L 256,297.376 L 187.328,228.672
+               c-6.24-6.24-16.384-6.24-22.624,0c-6.24,6.24-6.24,16.384,0,22.624l 96,96C 260.736,347.36, 260.768,347.36, 260.8,347.392
+               c 1.44,1.408, 3.168,2.592, 5.056,3.36c 3.904,1.632, 8.32,1.632, 12.224,0C 280.064,349.952, 281.824,348.8, 283.328,347.328l 96-96
+               C 385.568,245.056, 385.568,234.944, 379.328,228.672z"  />
+<glyph unicode="&#xe03a;" d="M 272,448C 139.456,448, 32,340.544, 32,208S 139.456-32, 272-32S 512,75.456, 512,208S 404.544,448, 272,448z M 379.328,164.672l-96-96
+               c-1.472-1.472-3.232-2.656-5.184-3.456c-3.904-1.632-8.32-1.632-12.224,0c-1.92,0.8-3.616,1.952-5.056,3.36
+               c-0.032,0.032-0.096,0.032-0.128,0.096l-96,96c-6.24,6.24-6.24,16.384,0,22.624c 6.24,6.24, 16.384,6.24, 22.624,0L 256,118.624L 256,368 
+               C 256,376.832, 263.168,384, 272,384S 288,376.832, 288,368l0-249.376 l 68.672,68.672c 6.24,6.24, 16.384,6.24, 22.624,0C 385.568,181.056, 385.568,170.944, 379.328,164.672z
+               "  />
+<glyph unicode="&#xe03b;" d="M 272,448C 139.456,448, 32,340.544, 32,208S 139.456-32, 272-32S 512,75.456, 512,208S 404.544,448, 272,448z M 448,208
+               C 448,199.168, 440.832,192, 432,192L 182.624,192 l 68.672-68.672c 6.24-6.24, 6.24-16.384,0-22.624c-6.24-6.24-16.384-6.24-22.624,0l-96,96
+               C 132.64,196.736, 132.608,196.8, 132.576,196.864C 131.168,198.304, 130.016,200, 129.248,201.888C 128.448,203.84, 128,205.888, 128,207.936C 128,207.968, 128,207.968, 128,208l0,0
+               c0,2.080, 0.416,4.16, 1.248,6.112c 0.768,1.888, 1.92,3.584, 3.328,5.024c 0.064,0.064, 0.064,0.128, 0.128,0.192l 96,96
+               c 6.24,6.24, 16.384,6.24, 22.624,0c 6.24-6.24, 6.24-16.384,0-22.624L 182.624,224L 432,224 C 440.832,224, 448,216.832, 448,208z"  />
+<glyph unicode="&#xe03c;" d="M 272,448C 139.456,448, 32,340.544, 32,208S 139.456-32, 272-32S 512,75.456, 512,208S 404.544,448, 272,448z M 416,208
+               c0-0.032,0-0.032,0-0.064c0-2.080-0.416-4.128-1.216-6.048c-0.8-1.952-1.984-3.712-3.456-5.184l-96-96
+               c-6.24-6.24-16.384-6.24-22.624,0c-6.24,6.24-6.24,16.384,0,22.624L 361.376,192L 112,192 C 103.168,192, 96,199.168, 96,208C 96,216.832, 103.168,224, 112,224
+               l 249.376,0 L 292.672,292.672c-6.24,6.24-6.24,16.384,0,22.624c 6.24,6.24, 16.384,6.24, 22.624,0l 96-96c 1.472-1.472, 2.656-3.232, 3.456-5.184
+               C 415.584,212.16, 416,210.080, 416,208L 416,208z"  />
+<glyph unicode="&#xe03d;" d="M 102.304,377.696c-93.728-93.728-93.728-245.696,0-339.424c 93.728-93.728, 245.696-93.728, 339.424,0
+               c 93.728,93.728, 93.728,245.696,0,339.424C 347.968,471.424, 196.032,471.424, 102.304,377.696z M 390.976,89.024c-6.24-6.24-16.384-6.24-22.624,0
+               L 192,265.376l0-97.152 c0-8.832-7.168-16-16-16S 160,159.392, 160,168.224L 160,304 l0,0c0,2.080, 0.416,4.16, 1.248,6.112
+               c 0.768,1.888, 1.92,3.584, 3.328,5.024c 0.064,0.064, 0.064,0.128, 0.128,0.192C 164.736,315.36, 164.768,315.36, 164.8,315.392
+               c 1.44,1.408, 3.168,2.592, 5.056,3.36C 171.84,319.584, 173.92,320, 176,320l 135.776,0 c 8.832,0, 16-7.168, 16-16c0-8.832-7.168-16-16-16L 214.624,288 
+               l 176.32-176.32C 397.216,105.408, 397.216,95.296, 390.976,89.024z"  />
+<glyph unicode="&#xe03e;" d="M 102.304,377.696c-93.728-93.728-93.728-245.696,0-339.424c 93.728-93.728, 245.696-93.728, 339.424,0
+               c 93.728,93.728, 93.728,245.696,0,339.424C 347.968,471.424, 196.032,471.424, 102.304,377.696z M 384,304l0-135.776 c0-8.832-7.168-16-16-16
+               s-16,7.168-16,16L 352,265.376 l-176.32-176.32c-6.24-6.24-16.384-6.24-22.624,0c-6.24,6.24-6.24,16.384,0,22.624L 329.376,288L 232.224,288 
+               c-8.832,0-16,7.168-16,16c0,8.832, 7.168,16, 16,16L 368,320 c 2.080,0, 4.16-0.416, 6.112-1.248c 3.904-1.632, 7.040-4.736, 8.64-8.64
+               C 383.584,308.16, 384,306.080, 384,304L 384,304z"  />
+<glyph unicode="&#xe03f;" d="M 102.304,377.696c-93.728-93.728-93.728-245.696,0-339.424c 93.728-93.728, 245.696-93.728, 339.424,0
+               c 93.728,93.728, 93.728,245.696,0,339.424C 347.968,471.424, 196.032,471.424, 102.304,377.696z M 384,112c0-0.032,0-0.032,0-0.064
+               c0-2.080-0.416-4.128-1.216-6.048c-1.632-3.904-4.736-7.040-8.64-8.64C 372.16,96.416, 370.080,96, 368,96L 232.224,96 
+               c-8.832,0-16,7.168-16,16c0,8.832, 7.168,16, 16,16l 97.152,0 l-176.32,176.32c-6.24,6.24-6.24,16.384,0,22.624s 16.384,6.24, 22.624,0
+               l 176.32-176.32L 352,247.776 c0,8.832, 7.168,16, 16,16s 16-7.168, 16-16L 384,112 z"  />
+<glyph unicode="&#xe040;" d="M 102.304,377.696c-93.728-93.728-93.728-245.696,0-339.424c 93.728-93.728, 245.696-93.728, 339.424,0
+               c 93.728,93.728, 93.728,245.696,0,339.424C 347.968,471.424, 196.032,471.424, 102.304,377.696z M 390.976,304.32L 214.624,128l 97.152,0 c 8.832,0, 16-7.168, 16-16
+               c0-8.832-7.168-16-16-16L 176,96 c-2.080,0-4.16,0.416-6.112,1.248c-1.92,0.8-3.616,1.952-5.056,3.36
+               c-0.032,0.032-0.096,0.032-0.128,0.096c-0.064,0.064-0.064,0.128-0.128,0.192c-1.408,1.44-2.56,3.136-3.328,5.024
+               C 160.448,107.84, 160,109.888, 160,111.936c0,0.032,0,0.032,0,0.064L 160,247.776 c0,8.832, 7.168,16, 16,16S 192,256.608, 192,247.776l0-97.152 l 176.32,176.32
+               c 6.24,6.24, 16.384,6.24, 22.624,0S 397.216,310.592, 390.976,304.32z"  />
+<glyph unicode="&#xe041;" d="M 480,480L 32,480 C 14.336,480,0,465.664,0,448l0-448 c0-17.664, 14.336-32, 32-32l 448,0 c 17.664,0, 32,14.336, 32,32L 512,448 C 512,465.664, 497.664,480, 480,480z
+                M 224,176l0-128 C 224,39.168, 216.832,32, 208,32S 192,39.168, 192,48l0,89.376 l-100.672-100.672c-6.24-6.24-16.384-6.24-22.624,0
+               c-6.24,6.24-6.24,16.384,0,22.624L 169.376,160L 80,160 C 71.168,160, 64,167.168, 64,176C 64,184.832, 71.168,192, 80,192l 128,0 c 2.080,0, 4.16-0.416, 6.112-1.248
+               c 3.904-1.632, 7.040-4.736, 8.64-8.64C 223.584,180.16, 224,178.080, 224,176L 224,176z M 432,288C 440.832,288, 448,280.832, 448,272C 448,263.168, 440.832,256, 432,256l-128,0 
+               C 301.92,256, 299.84,256.416, 297.888,257.248C 295.968,258.016, 294.272,259.168, 292.8,260.608C 292.768,260.64, 292.736,260.64, 292.672,260.672
+               C 292.64,260.736, 292.608,260.8, 292.576,260.864C 291.168,262.304, 290.016,264, 289.248,265.888C 288.448,267.84, 288,269.888, 288,271.936C 288,271.968, 288,271.968, 288,272l0,128 
+               C 288,408.832, 295.168,416, 304,416S 320,408.832, 320,400l0-89.376 l 100.672,100.672c 6.24,6.24, 16.384,6.24, 22.624,0c 6.24-6.24, 6.24-16.384,0-22.624
+               L 342.624,288L 432,288 z"  />
+<glyph unicode="&#xe042;" d="M 480,480L 32,480 C 14.336,480,0,465.664,0,448l0-448 c0-17.664, 14.336-32, 32-32l 448,0 c 17.664,0, 32,14.336, 32,32L 512,448 C 512,465.664, 497.664,480, 480,480z
+                M 208,64C 216.832,64, 224,56.832, 224,48C 224,39.168, 216.832,32, 208,32l-128,0 c-2.080,0-4.16,0.416-6.112,1.248
+               c-1.92,0.8-3.616,1.952-5.056,3.36c-0.032,0.032-0.096,0.032-0.128,0.096c-0.064,0.064-0.064,0.128-0.128,0.192
+               c-1.408,1.44-2.56,3.136-3.328,5.024C 64.448,43.84, 64,45.888, 64,47.936c0,0.032,0,0.032,0,0.064l0,128 C 64,184.832, 71.168,192, 80,192
+               S 96,184.832, 96,176l0-89.376 l 100.672,100.672c 6.24,6.24, 16.384,6.24, 22.624,0c 6.24-6.24, 6.24-16.384,0-22.624L 118.624,64L 208,64 z M 448,400l0-128 
+               C 448,263.168, 440.832,256, 432,256S 416,263.168, 416,272L 416,361.376 L 315.328,260.672c-6.24-6.24-16.384-6.24-22.624,0c-6.24,6.24-6.24,16.384,0,22.624
+               L 393.376,384L 304,384 C 295.168,384, 288,391.168, 288,400C 288,408.832, 295.168,416, 304,416l 128,0 c 2.080,0, 4.16-0.416, 6.112-1.248c 3.904-1.632, 7.040-4.736, 8.64-8.64
+               C 447.584,404.16, 448,402.080, 448,400L 448,400z"  />
+<glyph unicode="&#xe043;" d="M 272-32c 132.544,0, 240,107.456, 240,240S 404.544,448, 272,448S 32,340.544, 32,208S 139.456-32, 272-32z M 156.864,179.424L 260.64,283.2
+               C 263.776,286.336, 267.872,287.872, 272,287.872c 4.128,0, 8.224-1.536, 11.36-4.672l 103.776-103.776c 6.24-6.24, 6.24-16.384,0-22.624
+               c-6.24-6.24-16.384-6.24-22.624,0L 272,249.312L 179.488,156.8c-6.24-6.24-16.384-6.24-22.624,0C 150.624,163.040, 150.624,173.184, 156.864,179.424z"  />
+<glyph unicode="&#xe044;" d="M 272,448C 139.456,448, 32,340.544, 32,208S 139.456-32, 272-32S 512,75.456, 512,208S 404.544,448, 272,448z M 387.136,236.576L 283.36,132.8
+               c-3.136-3.136-7.264-4.704-11.36-4.672c-4.128,0-8.224,1.536-11.36,4.672L 156.864,236.576c-6.24,6.24-6.24,16.384,0,22.624
+               c 6.24,6.24, 16.384,6.24, 22.624,0L 272,166.688L 364.512,259.2c 6.24,6.24, 16.384,6.24, 22.624,0C 393.376,252.96, 393.376,242.816, 387.136,236.576z"  />
+<glyph unicode="&#xe045;" d="M 272,448C 139.456,448, 32,340.544, 32,208S 139.456-32, 272-32S 512,75.456, 512,208S 404.544,448, 272,448z M 323.2,115.488
+               c 6.24-6.24, 6.24-16.384,0-22.624c-6.24-6.24-16.384-6.24-22.624,0L 196.8,196.64C 193.664,199.776, 192.128,203.872, 192.128,208
+               c0,4.128, 1.536,8.224, 4.672,11.36l 103.776,103.776c 6.24,6.24, 16.384,6.24, 22.624,0c 6.24-6.24, 6.24-16.384,0-22.624L 230.688,208
+               L 323.2,115.488z"  />
+<glyph unicode="&#xe046;" d="M 272,448C 139.456,448, 32,340.544, 32,208S 139.456-32, 272-32S 512,75.456, 512,208S 404.544,448, 272,448z M 347.2,196.64l-103.776-103.776
+               c-6.24-6.24-16.384-6.24-22.624,0c-6.24,6.24-6.24,16.384,0,22.624L 313.312,208L 220.8,300.512c-6.24,6.24-6.24,16.384,0,22.624
+               c 6.24,6.24, 16.384,6.24, 22.624,0l 103.776-103.776c 3.136-3.136, 4.704-7.264, 4.672-11.36C 351.872,203.872, 350.336,199.776, 347.2,196.64z"  />
+<glyph unicode="&#xe047;" d="M 272,448C 139.456,448, 32,340.544, 32,208S 139.456-32, 272-32S 512,75.456, 512,208S 404.544,448, 272,448z M 391.232,99.072
+               c-6.272-6.272-16.48-6.272-22.752,0l-95.872,84.8l-95.872-84.8c-6.272-6.272-16.48-6.272-22.752,0c-6.272,6.272-6.272,16.48,0,22.752
+               l 107.040,94.688c 3.2,3.2, 7.392,4.736, 11.584,4.672C 276.8,221.28, 280.992,219.744, 284.192,216.544l 107.040-94.688
+               C 397.536,115.552, 397.536,105.376, 391.232,99.072z M 391.232,213.824c-6.272-6.272-16.48-6.272-22.752,0L 272.576,298.656L 176.704,213.824
+               c-6.272-6.272-16.48-6.272-22.752,0c-6.272,6.272-6.272,16.48,0,22.752l 107.040,94.688c 3.2,3.2, 7.392,4.736, 11.584,4.672
+               C 276.8,336.032, 280.992,334.496, 284.192,331.296l 107.040-94.688C 397.536,230.304, 397.536,220.128, 391.232,213.824z"  />
+<glyph unicode="&#xe048;" d="M 273.056,445.856c-131.968,0-238.944-106.976-238.944-238.944S 141.12-32, 273.056-32S 512,74.976, 512,206.944
+               S 405.024,445.856, 273.056,445.856z M 390.048,179.392l-107.040-94.688c-3.2-3.2-7.392-4.736-11.584-4.672C 267.2,80, 263.008,81.504, 259.808,84.704
+               L 152.768,179.392c-6.272,6.272-6.272,16.48,0,22.752c 6.272,6.272, 16.48,6.272, 22.752,0l 95.872-84.8l 95.872,84.8
+               c 6.272,6.272, 16.48,6.272, 22.752,0S 396.352,185.696, 390.048,179.392z M 390.048,294.144L 283.008,199.456c-3.2-3.2-7.392-4.736-11.584-4.672
+               C 267.2,194.752, 263.008,196.256, 259.808,199.456L 152.768,294.144c-6.272,6.272-6.272,16.48,0,22.752C 159.040,323.2, 169.248,323.2, 175.52,316.928l 95.872-84.8
+               l 95.872,84.8c 6.272,6.272, 16.48,6.272, 22.752,0S 396.352,300.448, 390.048,294.144z"  />
+<glyph unicode="&#xe049;" d="M 273.152,445.728c-131.904,0-238.848-106.944-238.848-238.848C 34.272,74.944, 141.216-32, 273.152-32
+               C 405.056-32, 512,74.944, 512,206.848C 512,338.784, 405.056,445.728, 273.152,445.728z M 266.176,89.952c-6.272-6.272-16.48-6.272-22.752,0L 148.704,196.992
+               c-3.2,3.2-4.736,7.424-4.672,11.616C 144,212.8, 145.504,216.992, 148.704,220.192l 94.688,107.040c 6.272,6.272, 16.48,6.272, 22.752,0
+               s 6.272-16.48,0-22.752l-84.8-95.872l 84.8-95.872C 272.448,106.432, 272.448,96.224, 266.176,89.952z M 380.928,112.704
+               c 6.272-6.272, 6.272-16.48,0-22.752s-16.48-6.272-22.752,0L 263.456,196.992c-3.2,3.2-4.736,7.424-4.672,11.616
+               C 258.752,212.8, 260.256,216.992, 263.456,220.192l 94.688,107.040c 6.272,6.272, 16.48,6.272, 22.752,0s 6.272-16.48,0-22.752l-84.8-95.872L 380.928,112.704z
+               "  />
+<glyph unicode="&#xe04a;" d="M 273.152,445.696c-131.904,0-238.848-106.944-238.848-238.848S 141.248-32, 273.152-32S 512,74.944, 512,206.848
+               S 405.056,445.696, 273.152,445.696z M 163.072,88.768c-6.272,6.272-6.272,16.48,0,22.752l 84.8,95.872l-84.8,95.872
+               C 156.8,309.568, 156.8,319.776, 163.072,326.048s 16.48,6.272, 22.752,0l 94.688-107.040c 3.2-3.2, 4.736-7.392, 4.672-11.584
+               C 285.28,203.2, 283.744,199.008, 280.544,195.808l-94.688-107.040C 179.552,82.464, 169.376,82.464, 163.072,88.768z M 395.296,195.808l-94.688-107.040
+               c-6.272-6.272-16.48-6.272-22.752,0s-6.272,16.48,0,22.752l 84.8,95.872l-84.8,95.872c-6.272,6.272-6.272,16.48,0,22.752
+               s 16.48,6.272, 22.752,0l 94.688-107.040c 3.2-3.2, 4.736-7.392, 4.672-11.584C 400,203.2, 398.496,199.008, 395.296,195.808z"  />
+<glyph unicode="&#xe04b;" d="M 272,448C 139.456,448, 32,340.544, 32,208S 139.456-32, 272-32S 512,75.456, 512,208S 404.544,448, 272,448z M 379.584,165.568
+               l-0.064,0.064C 376.992,162.208, 373.44,160, 369.44,160l-195.52,0 c-3.936,0-7.456,2.080-9.984,5.408C 163.904,165.472, 163.84,165.504, 163.776,165.568
+               c-5.44,6.944-5.44,18.208,0,25.152l 97.76,123.424c 0.128,0.192, 0.192,0.448, 0.352,0.64c 5.44,6.944, 14.304,6.944, 19.744,0l 97.984-124.064
+               C 385.056,183.776, 385.056,172.512, 379.584,165.568z"  />
+<glyph unicode="&#xe04c;" d="M 272,448C 139.456,448, 32,340.544, 32,208S 139.456-32, 272-32S 512,75.456, 512,208S 404.544,448, 272,448z M 379.584,225.28l-97.76-123.424
+               c-0.128-0.192-0.192-0.448-0.352-0.64c-5.44-6.944-14.304-6.944-19.744,0L 163.776,225.28c-5.44,6.944-5.44,18.208,0,25.152L 163.84,250.368
+               C 166.368,253.792, 169.92,256, 173.92,256l 195.52,0 c 3.936,0, 7.456-2.080, 9.984-5.408c 0.064-0.064, 0.128-0.064, 0.16-0.128
+               C 385.056,243.488, 385.056,232.224, 379.584,225.28z"  />
+<glyph unicode="&#xe04d;" d="M 272,448C 139.456,448, 32,340.544, 32,208S 139.456-32, 272-32S 512,75.456, 512,208S 404.544,448, 272,448z M 320,110.56
+               c0-3.936-2.080-7.456-5.408-9.984c-0.064-0.064-0.064-0.128-0.128-0.16c-6.944-5.44-18.208-5.44-25.152,0L 165.856,198.144
+               c-0.192,0.16-0.448,0.192-0.64,0.352c-6.944,5.44-6.944,14.304,0,19.744L 289.28,316.224c 6.944,5.44, 18.208,5.44, 25.152,0L 314.368,316.16
+               C 317.792,313.632, 320,310.080, 320,306.080L 320,110.56 z"  />
+<glyph unicode="&#xe04e;" d="M 272,448C 139.456,448, 32,340.544, 32,208S 139.456-32, 272-32S 512,75.456, 512,208S 404.544,448, 272,448z M 378.784,198.4L 254.72,100.416
+               c-6.944-5.44-18.208-5.44-25.152,0l 0.064,0.064C 226.208,103.008, 224,106.56, 224,110.56l0,195.52 c0,3.936, 2.080,7.456, 5.408,9.984
+               C 229.472,316.096, 229.504,316.16, 229.568,316.224c 6.944,5.44, 18.208,5.44, 25.152,0l 123.424-97.76c 0.192-0.16, 0.448-0.192, 0.64-0.352
+               C 385.728,212.672, 385.728,203.84, 378.784,198.4z"  />
+<glyph unicode="&#xe04f;" d="M 272,448C 139.456,448, 32,340.544, 32,208S 139.456-32, 272-32S 512,75.456, 512,208S 404.544,448, 272,448z M 400,192l-256,0 
+               C 135.168,192, 128,199.168, 128,208C 128,216.832, 135.168,224, 144,224l 256,0 C 408.832,224, 416,216.832, 416,208C 416,199.168, 408.832,192, 400,192z"  />
+<glyph unicode="&#xe050;" d="M 272,448C 139.456,448, 32,340.544, 32,208S 139.456-32, 272-32S 512,75.456, 512,208S 404.544,448, 272,448z M 400,192L 288,192 l0-112 
+               C 288,71.168, 280.832,64, 272,64S 256,71.168, 256,80L 256,192 L 144,192 C 135.168,192, 128,199.168, 128,208C 128,216.832, 135.168,224, 144,224L 256,224 L 256,336 C 256,344.832, 263.168,352, 272,352
+               S 288,344.832, 288,336L 288,224 l 112,0 C 408.832,224, 416,216.832, 416,208C 416,199.168, 408.832,192, 400,192z"  />
+<glyph unicode="&#xe051;" d="M 272,448C 139.456,448, 32,340.544, 32,208S 139.456-32, 272-32S 512,75.456, 512,208S 404.544,448, 272,448z M 383.2,296.576L 294.016,207.392
+               l 78.912-87.968c 6.24-6.24, 6.24-16.384,0-22.624s-16.384-6.24-22.624,0L 271.392,184.768l-87.968-87.968c-6.24-6.24-16.384-6.24-22.624,0
+               c-6.24,6.24-6.24,16.384,0,22.624l 89.184,89.184L 171.072,296.576c-6.24,6.24-6.24,16.384,0,22.624c 6.24,6.24, 16.384,6.24, 22.624,0
+               l 78.912-87.968l 87.968,87.968c 6.24,6.24, 16.384,6.24, 22.624,0C 389.44,312.96, 389.44,302.816, 383.2,296.576z"  />
+<glyph unicode="&#xe052;" d="M 257.344,480c-141.376,0-256-114.624-256-256s 114.624-256, 256-256s 256,114.624, 256,256S 398.72,480, 257.344,480z M 375.936,294.816l-122.624-187.424
+               c-0.032-0.032-0.096-0.064-0.096-0.096c-0.64-0.96-0.992-2.048-1.792-2.944c-1.12-1.216-2.56-1.856-3.84-2.784
+               c-0.32-0.224-0.64-0.48-0.992-0.704c-1.984-1.248-4.032-2.080-6.272-2.624c-0.736-0.192-1.408-0.384-2.176-0.512
+               c-1.824-0.256-3.552-0.256-5.376-0.064c-1.28,0.096-2.496,0.256-3.744,0.576c-1.28,0.352-2.464,0.896-3.68,1.472
+               c-1.024,0.48-2.112,0.608-3.072,1.216c-0.704,0.448-1.088,1.152-1.696,1.696c-0.256,0.224-0.576,0.288-0.832,0.512L 148.352,169.152
+               C 139.264,177.568, 138.72,191.744, 147.104,200.8s 22.56,9.632, 31.648,1.248l 51.68-47.808l 108,165.088c 6.784,10.336, 20.64,13.248, 31.008,6.496
+               C 379.808,319.040, 382.72,305.152, 375.936,294.816z"  />
+<glyph unicode="&#xe053;" d="M 304,480C 189.12,480, 96,386.88, 96,272c0-49.44, 17.312-94.752, 46.112-130.464l-135.584-135.584
+               c-8.672-8.672-8.672-22.752,0-31.424c 8.672-8.672, 22.752-8.672, 31.424,0l 135.584,135.584C 209.248,81.312, 254.56,64, 304,64
+               c 114.88,0, 208,93.12, 208,208S 418.88,480, 304,480z M 400,256l-192,0 C 199.168,256, 192,263.168, 192,272C 192,280.832, 199.168,288, 208,288l 192,0 C 408.832,288, 416,280.832, 416,272
+               C 416,263.168, 408.832,256, 400,256z"  />
+<glyph unicode="&#xe054;" d="M 304,480C 189.12,480, 96,386.88, 96,272c0-49.44, 17.312-94.752, 46.112-130.464l-135.584-135.584
+               c-8.672-8.672-8.672-22.752,0-31.424c 8.672-8.672, 22.752-8.672, 31.424,0l 135.584,135.584C 209.248,81.312, 254.56,64, 304,64
+               c 114.88,0, 208,93.12, 208,208S 418.88,480, 304,480z M 400,256L 320,256 l0-80 C 320,167.168, 312.832,160, 304,160C 295.168,160, 288,167.168, 288,176L 288,256 L 208,256 
+               C 199.168,256, 192,263.168, 192,272C 192,280.832, 199.168,288, 208,288L 288,288 L 288,368 C 288,376.832, 295.168,384, 304,384C 312.832,384, 320,376.832, 320,368L 320,288 l 80,0 
+               C 408.832,288, 416,280.832, 416,272C 416,263.168, 408.832,256, 400,256z"  />
+<glyph unicode="&#xe055;" d="M 256,480C 114.624,480,0,365.376,0,224s 114.624-256, 256-256s 256,114.624, 256,256S 397.376,480, 256,480z M 352,160c0-17.664-14.336-32-32-32L 192,128 
+               c-17.664,0-32,14.336-32,32L 160,288 c0,17.664, 14.336,32, 32,32l 128,0 c 17.664,0, 32-14.336, 32-32L 352,160 z"  />
+<glyph unicode="&#xe056;" d="M 480,448L 64,448 C 46.336,448, 32,433.664, 32,416l0-416 c0-17.664, 14.336-32, 32-32l 416,0 c 17.664,0, 32,14.336, 32,32L 512,416 C 512,433.664, 497.664,448, 480,448z
+                M 400,96l-256,0 C 135.168,96, 128,103.168, 128,112C 128,120.832, 135.168,128, 144,128l 256,0 c 8.832,0, 16-7.168, 16-16C 416,103.168, 408.832,96, 400,96z
+                M 400,192l-256,0 C 135.168,192, 128,199.168, 128,208C 128,216.832, 135.168,224, 144,224l 256,0 C 408.832,224, 416,216.832, 416,208C 416,199.168, 408.832,192, 400,192z M 400,288l-256,0 
+               C 135.168,288, 128,295.168, 128,304C 128,312.832, 135.168,320, 144,320l 256,0 C 408.832,320, 416,312.832, 416,304C 416,295.168, 408.832,288, 400,288z"  />
+<glyph unicode="&#xe057;" d="M 272,448C 139.456,448, 32,340.544, 32,208S 139.456-32, 272-32S 512,75.456, 512,208S 404.544,448, 272,448z M 400,96l-256,0 
+               C 135.168,96, 128,103.168, 128,112C 128,120.832, 135.168,128, 144,128l 256,0 c 8.832,0, 16-7.168, 16-16C 416,103.168, 408.832,96, 400,96z M 400,192l-256,0 
+               C 135.168,192, 128,199.168, 128,208C 128,216.832, 135.168,224, 144,224l 256,0 C 408.832,224, 416,216.832, 416,208C 416,199.168, 408.832,192, 400,192z M 400,288l-256,0 
+               C 135.168,288, 128,295.168, 128,304C 128,312.832, 135.168,320, 144,320l 256,0 C 408.832,320, 416,312.832, 416,304C 416,295.168, 408.832,288, 400,288z"  />
+<glyph unicode="&#xe058;" d="M 64-32l 385.344,0 c 17.664,0, 32,14.336, 32,32L 481.344,448 c0,17.664-14.336,32-32,32L 64,480 C 46.336,480, 32,465.664, 32,448l0-448 C 32-17.664, 46.336-32, 64-32z
+                M 240,384l 129.344,0 c 8.832,0, 16-7.168, 16-16c0-8.832-7.168-16-16-16L 240,352 C 231.168,352, 224,359.168, 224,368C 224,376.832, 231.168,384, 240,384z M 144,288
+               l 225.344,0 c 8.832,0, 16-7.168, 16-16c0-8.832-7.168-16-16-16L 144,256 C 135.168,256, 128,263.168, 128,272C 128,280.832, 135.168,288, 144,288z M 144,192l 225.344,0 
+               c 8.832,0, 16-7.168, 16-16c0-8.832-7.168-16-16-16L 144,160 C 135.168,160, 128,167.168, 128,176C 128,184.832, 135.168,192, 144,192z M 144,96l 225.344,0 
+               c 8.832,0, 16-7.168, 16-16c0-8.832-7.168-16-16-16L 144,64 C 135.168,64, 128,71.168, 128,80C 128,88.832, 135.168,96, 144,96z"  />
+<glyph unicode="&#xe059;" d="M 64,32l 32,0 l0-32 c0-17.664, 14.336-32, 32-32l 320,0 c 17.664,0, 32,14.336, 32,32L 480,384 c0,17.664-14.336,32-32,32l-32,0 L 416,448 c0,17.664-14.336,32-32,32L 64,480 
+               C 46.336,480, 32,465.664, 32,448l0-384 C 32,46.336, 46.336,32, 64,32z M 448,384l0-384 L 128,0 l0,32 l 256,0 c 17.664,0, 32,14.336, 32,32L 416,384 L 448,384 z M 336,416C 344.832,416, 352,408.832, 352,400
+               C 352,391.168, 344.832,384, 336,384L 206.656,384 c-8.832,0-16,7.168-16,16c0,8.832, 7.168,16, 16,16L 336,416 z M 110.656,320L 336,320 
+               C 344.832,320, 352,312.832, 352,304C 352,295.168, 344.832,288, 336,288L 110.656,288 c-8.832,0-16,7.168-16,16C 94.656,312.832, 101.824,320, 110.656,320z M 110.656,224L 336,224 
+               C 344.832,224, 352,216.832, 352,208C 352,199.168, 344.832,192, 336,192L 110.656,192 c-8.832,0-16,7.168-16,16C 94.656,216.832, 101.824,224, 110.656,224z M 110.656,128
+               L 336,128 c 8.832,0, 16-7.168, 16-16c0-8.832-7.168-16-16-16L 110.656,96 c-8.832,0-16,7.168-16,16C 94.656,120.832, 101.824,128, 110.656,128z"  />
+<glyph unicode="&#xe05a;" d="M 480,480L 32,480 C 14.336,480,0,465.664,0,448l0-448 c0-17.664, 14.336-32, 32-32l 448,0 c 17.664,0, 32,14.336, 32,32L 512,448 C 512,465.664, 497.664,480, 480,480z
+                M 89.184,333.248c-15.904,15.904-15.904,41.664,0,57.568c 15.904,15.904, 41.664,15.904, 57.568,0L 189.12,348.448L 131.552,290.88L 89.184,333.248z
+                M 329.92,92.512l-164.48,164.48L 223.008,314.56l 164.48-164.48L 416,64L 329.92,92.512z"  />
+<glyph unicode="&#xe05b;" d="M 480,384l-160,0 C 302.336,384, 288,369.664, 288,352c0,0-4.16-29.344-32-32L 32,320 C 14.336,320,0,306.176,0,288.512L0,0 c0-17.664, 14.336-32, 32-32l 448,0 
+               c 17.664,0, 32,14.336, 32,32L 512,256 L 512,288.512 L 512,352 C 512,369.664, 497.664,384, 480,384z"  />
+<glyph unicode="&#xe05c;" d="M 480,416l-160,0 C 302.336,416, 288,401.664, 288,384c0,0-4.16-29.344-32-32L 32,352 C 14.336,352,0,338.176,0,320.512L0,288 l 512,0 L 512,320.512 L 512,384 
+               C 512,401.664, 497.664,416, 480,416zM0,0c0-17.664, 14.336-32, 32-32l 448,0 c 17.664,0, 32,14.336, 32,32L 512,256 L0,256 L0,0 z"  />
+<glyph unicode="&#xe05d;" d="M 480,384l-128,0 c-17.664,0-32-14.336-32-32c0,0-4.16-29.344-32-32L 64,320 C 46.336,320, 32,305.664, 32,288l0-288 c0-17.664, 14.336-32, 32-32l 416,0 
+               c 17.664,0, 32,14.336, 32,32L 512,352 C 512,369.664, 497.664,384, 480,384z M 368,128L 288,128 l0-80 C 288,39.168, 280.832,32, 272,32S 256,39.168, 256,48L 256,128 L 176,128 
+               C 167.168,128, 160,135.168, 160,144C 160,152.832, 167.168,160, 176,160L 256,160 L 256,240 C 256,248.832, 263.168,256, 272,256S 288,248.832, 288,240L 288,160 l 80,0 c 8.832,0, 16-7.168, 16-16
+               C 384,135.168, 376.832,128, 368,128z"  />
+<glyph unicode="&#xe05e;" d="M 480,416l-160,0 C 302.336,416, 288,401.664, 288,384c0,0-4.16-29.344-32-32L 32,352 C 14.336,352,0,338.176,0,320.512L0,32 c0-17.664, 14.336-32, 32-32l 192.096,0 
+               l0,160 L 156.192,160 l 99.904,128l 99.904-128L 288.096,160 l0-160 L 480,0 c 17.664,0, 32,14.336, 32,32L 512,288 L 512,320.512 L 512,384 C 512,401.664, 497.664,416, 480,416z"  />
+<glyph unicode="&#xe05f;" d="M 480,416l-160,0 C 302.336,416, 288,401.664, 288,384c0,0-4.16-29.344-32-32L 32,352 C 14.336,352,0,338.176,0,320.512L0,32 c0-17.664, 14.336-32, 32-32l 448,0 
+               c 17.664,0, 32,14.336, 32,32L 512,288 L 512,320.512 L 512,384 C 512,401.664, 497.664,416, 480,416z M 256.096,0.192l-99.904,128l 67.904,0 l0,128 c0,17.664, 14.336,32, 32,32s 32-14.336, 32-32l0-128 l 67.904,0 
+               L 256.096,0.192z"  />
+<glyph unicode="&#xe060;" d="M 256,480C 114.624,480,0,365.376,0,224s 114.624-256, 256-256s 256,114.624, 256,256S 397.376,480, 256,480z M 224,256c0,17.664, 14.336,32, 32,32s 32-14.336, 32-32l0-160 
+               c0-17.664-14.336-32-32-32s-32,14.336-32,32L 224,256 z M 256,319.488c-17.664,0-32,14.336-32,32c0,17.664, 14.336,32, 32,32s 32-14.336, 32-32C 288,333.824, 273.664,319.488, 256,319.488
+               z"  />
+<glyph unicode="&#xe061;" d="M 256-32c 141.376,0, 256,114.624, 256,256s-114.624,256-256,256S0,365.376,0,224S 114.624-32, 256-32z M 288,192c0-17.664-14.336-32-32-32S 224,174.336, 224,192
+               L 224,352 c0,17.664, 14.336,32, 32,32s 32-14.336, 32-32L 288,192 z M 256,128.512c 17.664,0, 32-14.336, 32-32c0-17.664-14.336-32-32-32s-32,14.336-32,32
+               C 224,114.176, 238.336,128.512, 256,128.512z"  />
+<glyph unicode="&#xe062;" d="M 371.424,470.624C 365.408,476.64, 357.28,480, 348.768,480L 163.232,480 c-8.48,0-16.64-3.36-22.624-9.376l-131.2-131.232
+               C 3.36,333.408,0,325.28,0,316.768l0-185.568 c0-8.48, 3.36-16.64, 9.376-22.624l 131.2-131.232C 146.592-28.64, 154.72-32, 163.232-32l 185.568,0 
+               c 8.48,0, 16.64,3.36, 22.624,9.376l 131.2,131.232C 508.64,114.592, 512,122.72, 512,131.232L 512,316.768 c0,8.48-3.36,16.64-9.376,22.624L 371.424,470.624z
+                M 256,160c-17.664,0-32,14.336-32,32L 224,384 c0,17.664, 14.336,32, 32,32s 32-14.336, 32-32l0-192 C 288,174.336, 273.664,160, 256,160z M 288,64c0-17.664-14.336-32-32-32s-32,14.336-32,32
+               c0,17.664, 14.336,32, 32,32S 288,81.664, 288,64z"  />
+<glyph unicode="&#xe063;" d="M 32.992-32l 444.992,0 c 11.232,0, 21.664,5.888, 27.456,15.552c 5.792,9.632, 6.080,21.6, 0.8,31.52l-222.016,416
+               C 278.688,441.472, 267.84,448, 256.032,448L 256,448 C 244.192,448, 233.376,441.504, 227.808,431.104l-223.008-416c-5.312-9.92-5.024-21.888, 0.736-31.552
+               C 11.328-26.080, 21.76-32, 32.992-32z M 256,96c 17.664,0, 32-14.336, 32-32c0-17.664-14.336-32-32-32s-32,14.336-32,32C 224,81.664, 238.336,96, 256,96z M 224,159.488
+               l0,128 c0,17.664, 14.336,32, 32,32s 32-14.336, 32-32l0-128 c0-17.664-14.336-32-32-32S 224,141.824, 224,159.488z"  />
+<glyph unicode="&#xe064;" d="M 256-32c 141.376,0, 256,114.624, 256,256s-114.624,256-256,256S0,365.376,0,224S 114.624-32, 256-32z M 256,416c 63.712,0, 128-36.48, 128-118.016
+               c0-47.456-23.52-84.512-69.888-110.016C 300.672,180.576, 288,165.952, 288,160c0-17.664-14.336-32-32-32s-32,14.336-32,32c0,40.608, 37.248,71.936, 59.264,84.032
+               C 315.616,261.888, 320,281.344, 320,297.984C 320,344.992, 279.904,352, 256,352C 225.184,352, 192,331.776, 192,287.328c0-17.664-14.336-32-32-32s-32,14.336-32,32
+               C 128,370.912, 193.952,416, 256,416z M 256,30.592c-18.208,0-32.96,14.752-32.96,32.96s 14.752,32.96, 32.96,32.96s 32.96-14.752, 32.96-32.96S 274.208,30.592, 256,30.592z
+               "  />
+<glyph unicode="&#xe065;" d="M 81.248,88.288C 71.872,64.064, 55.968,32.384, 28.992,0c 51.168,0, 116.992,6.72, 167.712,37.824
+               C 215.776,34.144, 235.552,32, 256,32c 141.376,0, 256,93.12, 256,208S 397.376,448, 256,448S0,354.88,0,240C0,180.096, 31.36,126.24, 81.248,88.288z"  />
+<glyph unicode="&#xe066;" d="M 446.56,291.36c 2.816-12.672, 4.448-25.696, 4.448-39.072c0-103.296-87.68-189.408-203.136-207.904
+               c 24.416-9.856, 51.776-15.616, 80.928-15.616c 27.488,0, 53.44,5.056, 76.864,13.856c 29.664-10.112, 62.048-12.736, 88.832-12.736
+               c-13.92,16.704-23.584,33.088-30.496,47.488C 493.696,103.872, 512,138.976, 512,177.632C 512,223.328, 486.496,264.064, 446.56,291.36zM 403.008,252.288C 403.008,342.688, 312.8,416, 201.504,416S0,342.688,0,252.288c0-47.168, 24.672-89.536, 63.968-119.424
+               c-7.392-19.072-19.904-44-41.12-69.504c 40.256,0, 92.096,5.28, 132,29.792c 15.008-2.912, 30.592-4.608, 46.656-4.608
+               C 312.8,88.576, 403.008,161.856, 403.008,252.288z"  />
+<glyph unicode="&#xe067;" d="M 32,91.936l 73.44,0 c 5.792-5.76, 139.232-118.080, 139.232-118.080c 8.032-4.864, 14.848-6.272, 20.672-5.728
+               c 11.84,1.12, 20.16,11.040, 22.688,21.504C 288.16-9.344, 288.16,457.344, 288,458.368C 285.504,468.864, 277.152,478.784, 265.344,479.904
+               C 259.52,480.448, 252.704,479.040, 244.672,474.176c0,0-133.44-116.416-139.232-122.176L 32,352 C 14.336,352,0,337.664,0,320l0-4.064 L0,128 l0-4.064 
+               C0,106.24, 14.336,91.936, 32,91.936zM 506.272,306.848c-7.616,7.616-20,7.616-27.616,0l-55.232-55.232l-55.232,55.232
+               c-7.616,7.616-20,7.616-27.616,0c-7.616-7.616-7.616-20,0-27.616L 395.808,224l-55.232-55.232c-7.616-7.616-7.616-20,0-27.616
+               c 7.616-7.616, 20-7.616, 27.616,0l 55.232,55.232l 55.232-55.232c 7.616-7.616, 20-7.616, 27.616,0c 7.616,7.616, 7.616,20,0,27.616
+               L 451.040,224l 55.232,55.232C 513.92,286.848, 513.92,299.232, 506.272,306.848z"  />
+<glyph unicode="&#xe068;" d="M 329.344,479.904C 323.52,480.448, 316.704,479.040, 308.672,474.176c0,0-133.44-116.416-139.232-122.176L 96,352 C 78.336,352, 64,337.664, 64,320l0-4.064 
+               L 64,128 l0-4.064 c0-17.664, 14.336-32, 32-32l 73.44,0 c 5.792-5.76, 139.232-118.080, 139.232-118.080c 8.032-4.864, 14.848-6.272, 20.672-5.728
+               c 11.84,1.12, 20.16,11.040, 22.688,21.504c 0.16,1.024, 0.16,467.744,0,468.736C 349.504,468.864, 341.152,478.784, 329.344,479.904zM 401.312,168.096c-7.904-4-11.072-13.6-7.104-21.504c 2.816-5.568, 8.448-8.8, 14.272-8.8
+               c 2.432,0, 4.864,0.544, 7.2,1.696C 448.032,155.808, 468.128,188.16, 468.128,224s-20.096,68.192-52.448,84.512
+               c-7.904,4-17.504,0.8-21.472-7.104c-3.968-7.904-0.8-17.504, 7.104-21.504C 422.784,269.088, 436.128,247.68, 436.128,224
+               S 422.784,178.912, 401.312,168.096z"  />
+<glyph unicode="&#xe069;" d="M 32,91.936l 73.44,0 c 5.792-5.76, 139.232-118.080, 139.232-118.080c 8.032-4.864, 14.848-6.272, 20.672-5.728
+               c 11.84,1.12, 20.16,11.040, 22.688,21.504C 288.16-9.344, 288.16,457.344, 288,458.368C 285.504,468.864, 277.152,478.784, 265.344,479.904
+               C 259.52,480.448, 252.704,479.040, 244.672,474.176c0,0-133.44-116.416-139.232-122.176L 32,352 C 14.336,352,0,337.664,0,320l0-4.064 L0,128 l0-4.064 
+               C0,106.24, 14.336,91.936, 32,91.936zM 337.312,168.096c-7.904-4-11.072-13.6-7.104-21.504c 2.816-5.568, 8.448-8.8, 14.272-8.8
+               c 2.432,0, 4.864,0.544, 7.2,1.696C 384.032,155.808, 404.128,188.16, 404.128,224s-20.096,68.192-52.448,84.512
+               c-7.904,4-17.472,0.8-21.472-7.104c-3.968-7.904-0.8-17.504, 7.104-21.504C 358.784,269.088, 372.128,247.68, 372.128,224
+               S 358.784,178.912, 337.312,168.096zM 315.296,40.352c 1.504-7.648, 8.192-12.928, 15.68-12.928c 1.024,0, 2.048,0.096, 3.104,0.288
+               C 427.904,46.016, 496,128.576, 496,224s-68.096,177.984-161.952,196.288C 325.504,422.016, 316.96,416.32, 315.296,407.648
+               C 313.6,398.976, 319.264,390.56, 327.936,388.864C 406.784,373.504, 464,304.16, 464,224s-57.216-149.504-136.064-164.864
+               C 319.264,57.44, 313.6,49.024, 315.296,40.352z"  />
+<glyph unicode="&#xe06a;" d="M 256,480C 114.624,480,0,365.376,0,224s 114.624-256, 256-256s 256,114.624, 256,256S 397.376,480, 256,480z M 384.416,228.672
+               c-1.984-32.832-16.8-81.984-76.096-129.824c-2.848-2.272-6.176-3.392-9.504-3.392c-4.64,0-9.216,2.144-12.256,6.24
+               c-5.248,7.040-4.032,17.152, 2.752,22.592c 48.288,38.944, 61.504,77.088, 63.84,103.264c-6.816-3.968-14.528-6.4-22.88-6.4
+               c-26.048,0-47.136,21.92-47.136,48.96c0,27.040, 21.088,48.96, 47.136,48.96c 5.888,0, 11.296-1.536, 16.448-3.616L 346.528,315.84
+               c0,0, 2.272-0.832, 5.44-2.592c 0.16-0.096, 0.32-0.128, 0.48-0.192c 0.096-0.064, 0.16-0.128, 0.256-0.192
+               c 2.176-1.248, 4.672-2.912, 7.456-5.28c 1.184-1.024, 2.176-2.208, 3.264-3.328C 375.040,292.704, 387.776,270.656, 384.416,228.672z M 175.104,221.152
+               c-26.048,0-47.136,21.92-47.136,48.96c0,27.040, 21.12,48.96, 47.136,48.96c 5.888,0, 11.296-1.536, 16.448-3.616L 191.392,315.84
+               c0,0, 2.272-0.832, 5.44-2.592c 0.16-0.096, 0.32-0.128, 0.48-0.192c 0.096-0.064, 0.16-0.128, 0.256-0.192
+               C 199.744,311.616, 202.24,309.952, 205.024,307.584c 1.184-1.024, 2.176-2.208, 3.264-3.328c 11.616-11.552, 24.384-33.6, 20.992-75.616
+               c-1.984-32.832-16.8-81.984-76.096-129.824c-2.848-2.272-6.176-3.392-9.504-3.392c-4.64,0-9.216,2.144-12.256,6.24
+               c-5.248,7.040-4.032,17.152, 2.752,22.592c 48.288,38.944, 61.504,77.088, 63.84,103.264C 191.168,223.616, 183.456,221.152, 175.104,221.152z"  />
+<glyph unicode="&#xe06b;" d="M 104.128,375.872c-93.312-93.312-93.312-244.608,0-337.888s 244.608-93.312, 337.888,0c 93.312,93.312, 93.312,244.608,0,337.888
+               C 348.704,469.184, 197.408,469.184, 104.128,375.872z M 400,192L 272.64,192 C 272.416,192, 272.224,191.872, 272,191.872c-8.832,0-16,7.168-16,16L 256,368 
+               C 256,376.832, 263.168,384, 272,384S 288,376.832, 288,368L 288,224 l 112,0 C 408.832,224, 416,216.832, 416,208C 416,199.168, 408.832,192, 400,192z"  />
+<glyph unicode="&#xe06c;" d="M 256,480C 166.272,480, 93.536,407.264, 93.536,317.536L 93.536,288 L 64,288 C 46.336,288, 32,273.664, 32,256l0-256 c0-17.664, 14.336-32, 32-32l 384,0 
+               c 17.664,0, 32,14.336, 32,32L 480,256 c0,17.664-14.336,32-32,32l-29.536,0 L 418.464,317.536 C 418.464,407.264, 345.728,480, 256,480z M 157.536,317.536C 157.536,371.84, 201.696,416, 256,416
+               s 98.464-44.16, 98.464-98.464L 354.464,288 L 157.536,288 L 157.536,317.536 z M 256,64c-35.36,0-64,28.64-64,64c0,35.36, 28.64,64, 64,64s 64-28.64, 64-64C 320,92.64, 291.36,64, 256,64z"  />
+<glyph unicode="&#xe06d;" d="M 416,288L 125.536,288 L 125.536,317.536 C 125.536,371.84, 169.696,416, 224,416c 35.776,0, 66.912-19.328, 84.128-47.968
+       c 0.16,0.192, 0.448,0.288, 0.64,0.48c 5.792-8.256, 14.912-14.016, 25.76-14.016c 17.664,0, 32,14.336, 32,32c0,4.32-0.896,8.448-2.464,12.224
+       c-0.128,0.224-0.224,0.48-0.352,0.704c-1.408,3.2-3.424,6.016-5.76,8.544C 328.832,451.2, 280.064,480, 224,480C 134.272,480, 61.536,407.264, 61.536,317.536
+       L 61.536,288 L 32,288 C 14.336,288,0,273.664,0,256l0-256 c0-17.664, 14.336-32, 32-32l 384,0 c 17.664,0, 32,14.336, 32,32L 448,256 C 448,273.664, 433.664,288, 416,288z M 224,64c-35.36,0-64,28.64-64,64
+       s 28.64,64, 64,64s 64-28.64, 64-64S 259.36,64, 224,64z"  />
+<glyph unicode="&#xe06e;" d="M 496,480l-64,0 c-3.872,0-7.616-1.408-10.56-3.968L 200.576,282.4C 189.152,284.8, 171.488,288, 160,288c-88.224,0-160-71.776-160-160
+               s 71.776-160, 160-160s 160,71.776, 160,160c0,26.208-4.992,43.776-10.656,58.368l 54.464,18.496c 6.624,2.24, 11.008,8.544, 10.848,15.52l-1.344,60.736
+               l 61.12,4.256c 8.192,0.576, 14.624,7.264, 14.88,15.456l 2.272,72.928l 47.872,10.624C 506.784,385.984, 512,392.512, 512,400l0,64 
+               C 512,472.832, 504.832,480, 496,480z M 112,128c 19.2,0, 35.776-11.296, 43.456-27.584C 158.368,94.208, 160,87.296, 160,80C 160,53.504, 138.496,32, 112,32
+               S 64,53.504, 64,80S 85.504,128, 112,128z"  />
+<glyph unicode="&#xe06f;" d="M 416,224c-1.12,0-2.176-0.288-3.264-0.32C 414.88,234.112, 416,244.928, 416,256c0,88.352-71.648,160-160,160S 96,344.352, 96,256
+               c0-0.544, 0.16-1.056, 0.16-1.6C 41.888,246.656,0,200.416,0,144c0-56.384, 41.792-102.56, 96-110.4L 96,32 l 320,0 c 53.024,0, 96,42.976, 96,96S 469.024,224, 416,224z
+               "  />
+<glyph unicode="&#xe070;" d="M 416,224c-1.12,0-2.176-0.288-3.264-0.32C 414.88,234.112, 416,244.928, 416,256c0,88.352-71.648,160-160,160S 96,344.352, 96,256
+       c0-0.544, 0.16-1.056, 0.16-1.6C 41.888,246.656,0,200.416,0,144C0,82.144, 50.144,32, 112,32l 80.256,0 C 209.792,32, 224,46.208, 224,63.744L 224,160 L 156.096,160 
+       L 256,288l 99.904-128L 288,160 l0-96.256 C 288,46.208, 302.208,32, 319.744,32L 416,32 c 53.024,0, 96,42.976, 96,96S 469.024,224, 416,224z"  />
+<glyph unicode="&#xe071;" d="M 416,224c-1.12,0-2.176-0.288-3.264-0.32C 414.88,234.112, 416,244.928, 416,256c0,88.352-71.648,160-160,160S 96,344.352, 96,256
+               c0-0.544, 0.16-1.056, 0.16-1.6C 41.888,246.656,0,200.416,0,144c0-56.384, 41.792-102.56, 96-110.4L 96,32 l 160,0 l-99.904,128L 224,160 L 224,288 c0,17.664, 14.336,32, 32,32
+               s 32-14.336, 32-32l0-128 l 67.904,0 L 256,32l 160,0 c 53.024,0, 96,42.976, 96,96S 469.024,224, 416,224z"  />
+<glyph unicode="&#xe072;" d="M 434.816,221.504c 2.272,6.080, 4.16,12.352, 5.792,18.656c 0.288,1.088, 0.64,2.112, 0.896,3.2
+               c 1.44,5.92, 2.464,11.968, 3.328,18.048c 0.192,1.408, 0.544,2.816, 0.704,4.224C 446.4,273.024, 446.88,280.48, 446.88,288c0,105.856-86.144,192-192,192
+               s-192-86.144-192-192c0-7.52, 0.48-14.976, 1.376-22.336C 64.416,264.224, 64.736,262.848, 64.928,261.44c 0.864-6.080, 1.888-12.128, 3.328-18.048
+               c 0.256-1.088, 0.608-2.144, 0.896-3.2c 1.632-6.304, 3.52-12.576, 5.792-18.656c 0.224-0.576, 0.48-1.152, 0.672-1.728
+               c 2.528-6.56, 5.344-12.992, 8.576-19.232C 84.32,200.32, 84.448,200.096, 84.576,199.872c 3.36-6.464, 7.072-12.736, 11.168-18.816
+               c 0.128-0.192, 0.256-0.352, 0.352-0.544c 4-5.92, 8.352-11.584, 12.992-17.056c 0.384-0.448, 0.736-0.864, 1.12-1.312
+               c 4.224-4.896, 8.8-9.536, 13.536-14.016c 1.056-0.992, 2.048-1.984, 3.136-2.944c 1.408-1.248, 2.656-2.656, 4.128-3.872
+               c 0.864-0.736, 1.92-1.216, 2.88-1.824c 3.168-2.624, 6.176-5.376, 9.536-7.808c 1.344-0.96, 2.176-1.888, 3.328-2.848
+               C 168.832,110.496, 158.048,96, 182.624,96c 3.424,0, 112.256,0, 144.512,0c 24.544,0, 13.792,14.496, 35.904,32.832c 1.152,0.96, 1.984,1.856, 3.328,2.848
+               c 3.36,2.432, 6.368,5.184, 9.536,7.808c 0.928,0.64, 1.984,1.088, 2.88,1.824c 1.44,1.216, 2.72,2.624, 4.128,3.872
+               c 1.056,0.96, 2.080,1.984, 3.136,2.944c 4.736,4.48, 9.28,9.12, 13.536,14.016c 0.384,0.448, 0.736,0.864, 1.12,1.312
+               c 4.64,5.472, 8.992,11.136, 12.992,17.056c 0.128,0.192, 0.256,0.352, 0.352,0.544c 4.064,6.048, 7.776,12.32, 11.136,18.784
+               c 0.128,0.224, 0.256,0.48, 0.384,0.704c 3.232,6.24, 6.048,12.672, 8.576,19.232C 434.336,220.384, 434.592,220.928, 434.816,221.504z M 368,286.496
+               c-8.832,0-16,7.168-16,16C 352,351.264, 308,384, 272,384C 263.168,384, 256,391.168, 256,400S 263.168,416, 272,416C 327.008,416, 384,375.488, 384,302.496
+               C 384,293.664, 376.832,286.496, 368,286.496zM 252.928,0L 217.76,0 L 182.624,0 l 57.696-29.504c 4.576-2.336, 9.568-3.52, 14.56-3.52c 4.928,0, 9.888,1.152, 14.432,3.424
+               L 327.84,0L 292.352,0 L 256.864,0 L 252.928,0 zM 352,48c0,8.832-7.168,16-16,16l-160,0 C 167.168,64, 160,56.832, 160,48C 160,39.168, 167.168,32, 176,32l 160,0 
+               C 344.832,32, 352,39.168, 352,48z"  />
+<glyph unicode="&#xe073;" d="M 480,352L 289.344,352 l0-96 L 512,256 L 512,320 C 512,337.664, 497.664,352, 480,352zM 32,352C 14.336,352,0,337.664,0,320l0-64 l 224,0 L 224,352 L 32,352 zM 32,224l0-224 c0-17.664, 14.336-32, 32-32l 160,0 L 224,224 L 32,224 zM 448-32c 17.664,0, 32,14.336, 32,32L 480,224 L 289.344,224 l0-256 L 448-32 zM 255.968,384.256l 0.096,0 C 256.032,384.192, 256,384.064, 256,384l 33.344,0 C 317.664,384, 357.76,384, 384,384c 44.192,0, 64,21.504, 64,48
+               S 428.192,480, 384,480c-41.376,0-73.952-18.624-96-40.224C 278.336,445.504, 267.168,448.992, 255.072,448.992c-11.584,0-22.304-3.264-31.712-8.576
+               C 201.344,461.76, 168.96,480, 128,480C 83.808,480, 64,458.496, 64,432S 83.808,384, 128,384c 26.656,0, 67.616,0, 96,0l 32,0 C 256,384.064, 255.968,384.192, 255.968,384.256z M 416,432
+               C 416,418.784, 398.592,416, 384,416L 311.328,416 C 311.072,416.448, 310.848,416.928, 310.592,417.344C 326.848,433.152, 351.488,448, 384,448C 398.592,448, 416,445.216, 416,432z M 96,432
+               C 96,445.216, 113.408,448, 128,448c 31.808,0, 55.936-14.24, 72.192-29.504C 199.68,417.696, 199.296,416.832, 198.816,416L 128,416 C 113.408,416, 96,418.784, 96,432z"  />
+<glyph unicode="&#xe074;" d="M 26.496,195.904L 256,394.816l 229.504-198.912C 488.544,193.28, 492.288,192, 496,192c 4.48,0, 8.928,1.888, 12.096,5.504
+               c 5.792,6.688, 5.056,16.768-1.6,22.592l-240,208c-6.016,5.216-14.944,5.216-20.96,0L 160,353.984L 160,384 c0,17.664-14.336,32-32,32S 96,401.664, 96,384l0-85.472 
+               L 5.504,220.096c-6.656-5.792-7.392-15.904-1.6-22.592C 9.728,190.848, 19.808,190.112, 26.496,195.904zM 192,128l 128,0 l0-160 l 96,0 c 17.664,0, 32,14.336, 32,32l0,156.832 c0,9.6-4.288,18.656-11.712,24.736l-160,131.168C 270.4,317.568, 263.2,320, 256,320
+               C 248.8,320, 241.6,317.568, 235.712,312.736l-160-131.168C 68.288,175.52, 64,166.432, 64,156.832L 64,0 c0-17.664, 14.336-32, 32-32l 96,0 L 192,128 z"  />
+<glyph unicode="&#xe075;" d="M 480,320l-64,0 c0,0-18.496,0-32,32c-6.88,16.288-14.336,32-32,32L 224,384 C 206.336,384, 198.656,368.384, 192,352C 179.008,320, 160,320, 160,320L 128,320 
+               c0,17.664-14.336,32-32,32L 64,352 C 46.336,352, 32,337.664, 32,320C 14.336,320,0,305.664,0,288l0-64 l 177.76,0 C 199.936,262.112, 240.736,288, 288,288s 88.064-25.888, 110.24-64L 512,224 L 512,288 
+               C 512,305.664, 497.664,320, 480,320z M 112,256l-64,0 C 39.168,256, 32,263.168, 32,272C 32,280.832, 39.168,288, 48,288L 64,288 l 32,0 l 16,0 C 120.832,288, 128,280.832, 128,272
+               C 128,263.168, 120.832,256, 112,256zM 192,160A96,96 1260 1 1 384,160A96,96 1260 1 1 192,160zM 416,160c0-70.688-57.312-128-128-128c-70.688,0-128,57.312-128,128c0,11.104, 1.856,21.728, 4.512,32L0,192 l0-160 c0-17.664, 14.336-32, 32-32l 448,0 
+               c 17.664,0, 32,14.336, 32,32L 512,192 l-100.512,0 C 414.144,181.728, 416,171.104, 416,160z"  />
+<glyph unicode="&#xe076;" d="M 480,352L 32,352 C 14.336,352,0,337.664,0,320l0-53.728 l 256-102.4l 256,102.4L 512,320 C 512,337.664, 497.664,352, 480,352zM0,214.016L0,0 c0-17.664, 14.336-32, 32-32l 448,0 c 17.664,0, 32,14.336, 32,32L 512,214.016 l-256-102.4L0,214.016z"  />
+<glyph unicode="&#xe077;" d="M 347.136,288L 286.144,458.752C 281.6,471.488, 269.536,480, 256,480S 230.4,471.488, 225.856,458.752L 164.864,288L 347.136,288 zM 427.136,64L 381.408,192L 130.592,192L 84.864,64  zM 32,32c-17.664,0-32-14.336-32-32c0-17.664, 14.336-32, 32-32l 64,0 l 320,0 l 64,0 c 17.664,0, 32,14.336, 32,32c0,17.664-14.336,32-32,32L 32,32 z"  />
+<glyph unicode="&#xe078;" d="M 64,384l0-384 c0-12.928, 7.808-24.608, 19.744-29.568C 87.712-31.2, 91.872-32, 96-32c 8.32,0, 16.512,3.264, 22.624,9.376
+               L 256,114.752l 137.376-137.376C 399.488-28.736, 407.68-32, 416-32c 4.128,0, 8.288,0.8, 12.224,2.432C 440.192-24.608, 448-12.928, 448,0L 448,384 L 64,384 zM 448,416L 448,448 c0,17.664-14.336,32-32,32L 96,480 C 78.336,480, 64,465.664, 64,448l0-32 L 448,416 z"  />
+<glyph unicode="&#xe079;" d="M 96-32l 320,0 c 17.664,0, 32,14.336, 32,32L 448,352 c0,17.664-14.336,32-32,32l-64.16,0 C 351.072,437.152, 308.512,480, 256,480S 160.928,437.152, 160.16,384
+               L 96,384 C 78.336,384, 64,369.664, 64,352l0-352 C 64-17.664, 78.336-32, 96-32z M 304,288l-96,0 C 199.168,288, 192,295.168, 192,304C 192,312.832, 199.168,320, 208,320l 96,0 
+               C 312.832,320, 320,312.832, 320,304C 320,295.168, 312.832,288, 304,288z M 256,448c 34.784,0, 63.072-28.576, 63.84-64L 192.16,384 C 192.928,419.424, 221.216,448, 256,448z"  />
+<glyph unicode="&#xe07a;" d="M 480,352L 96,352 C 93.504,352, 91.328,351.136, 88.992,350.592L 76.576,403.648C 74.88,410.88, 68.448,416, 60.992,416L 15.072,416 
+               c-8.832,0-16-7.168-16-16S 6.208,384, 15.072,384L 48.32,384 l 19.872-84.992L 96,160c0-1.152, 0.544-2.144, 0.672-3.264l-16.288-73.28
+               c-1.056-4.736, 0.096-9.696, 3.136-13.472C 86.56,66.176, 91.136,64, 96,64l 363.008,0 c 8.832,0, 16,7.168, 16,16s-7.168,16-16,16L 115.968,96 
+               l 7.328,32.96C 124.896,128.704, 126.336,128, 128,128l 291.68,0 c 17.664,0, 28.32,3.488, 36.832,24l 51.968,159.424C 517.504,340, 497.696,352, 480,352zM 96,0A32,32 1260 1 1 160,0A32,32 1260 1 1 96,0zM 384,0A32,32 1260 1 1 448,0A32,32 1260 1 1 384,0z"  />
+<glyph unicode="&#xe07b;" d="M 464.928,447.84c-0.288,0-0.576,0-0.864,0c-0.256,0-0.48,0.032-0.736,0L 262.144,447.84 
+               C 257.248,447.616, 246.112,439.968, 244.672,438.528L 9.344,203.2c-12.48-12.48-12.48-32.704,0-45.184l 180.672-180.672C 196.288-28.896, 204.448-32, 212.608-32
+               c 8.16,0, 16.352,3.104, 22.592,9.344l 235.328,235.328C 471.968,214.112, 480,224, 480,230.144L 480,431.968 C 480.448,440.896, 473.696,447.84, 464.928,447.84z M 432,384
+               C 423.168,384, 416,391.168, 416,400C 416,408.832, 423.168,416, 432,416S 448,408.832, 448,400C 448,391.168, 440.832,384, 432,384z"  />
+<glyph unicode="&#xe07c;" d="M 464.928,480c-0.288,0-0.576,0-0.864,0c-0.256,0-0.48,0.032-0.736,0L 294.144,480 
+               C 289.248,479.744, 278.112,472.096, 276.672,470.656L 72.992,267.008c-12.48-12.48-12.48-32.704,0-45.184l 25.408-25.408L 72.992,171.008
+               c-12.48-12.48-12.48-32.704,0-45.184l 148.672-148.672c 6.24-6.24, 14.4-9.344, 22.592-9.344s 16.352,3.104, 22.592,9.344l 203.648,203.68
+               C 471.968,182.272, 480,192.128, 480,198.272l0,96 L 480,368.096 l0,96 C 480.448,473.024, 473.696,480, 464.928,480z M 432,448.128c 8.832,0, 16-7.168, 16-16
+               s-7.168-16-16-16S 416,423.296, 416,432.128S 423.168,448.128, 432,448.128z M 447.904,203.424l-203.584-203.68l-148.672,148.608l 25.408,25.408l 100.64-100.64
+               c 6.24-6.24, 14.4-9.344, 22.592-9.344s 16.352,3.104, 22.592,9.344L 448,254.272l0-50.592 C 447.904,203.52, 447.84,203.424, 447.904,203.424
+               C 447.872,203.424, 447.872,203.424, 447.904,203.424z"  />
+<glyph unicode="&#xe07d;" d="M 416,448l-64,0 c0,17.664-14.336,32-32,32L 224,480 C 206.336,480, 192,465.664, 192,448L 128,448 C 110.336,448, 96,433.664, 96,416l 352,0 C 448,433.664, 433.664,448, 416,448zM 96,0c0-17.664, 14.336-32, 32-32l 288,0 c 17.664,0, 32,14.336, 32,32L 448,384 L 96,384 L 96,0 z M 352,304C 352,312.832, 359.168,320, 368,320
+               S 384,312.832, 384,304l0-256 c0-8.832-7.168-16-16-16S 352,39.168, 352,48L 352,304 z M 256,304C 256,312.832, 263.168,320, 272,320S 288,312.832, 288,304l0-256 
+               C 288,39.168, 280.832,32, 272,32S 256,39.168, 256,48L 256,304 z M 160,304C 160,312.832, 167.168,320, 176,320S 192,312.832, 192,304l0-256 C 192,39.168, 184.832,32, 176,32
+               S 160,39.168, 160,48L 160,304 z"  />
+<glyph unicode="&#xe07e;" d="M 424.96,139.648c 3.424,5.856, 2.816,13.216-1.568,18.4L 157.248,474.304C 152.896,479.456, 145.792,481.344, 139.52,479.040
+               C 133.216,476.736, 128.992,470.72, 128.992,464l0-417.504 c0-6.912, 4.416-13.024, 10.976-15.2c 1.632-0.544, 3.328-0.8, 5.024-0.8
+               c 4.96,0, 9.76,2.304, 12.832,6.464l 71.552,96.384l 49.632-141.984c 6.368-18.176, 26.272-27.776, 44.448-21.408s 27.776,26.272, 21.408,44.448
+               l-48.704,139.296l 111.936-21.664C 414.848,130.72, 421.536,133.824, 424.96,139.648z"  />
+<glyph unicode="&#xe07f;" d="M 224,67.072L 224,0 L 176,0 C 167.168,0, 160-7.168, 160-16C 160-24.832, 167.168-32, 176-32l 79.68,0 L 256.32-32 l 79.68,0 
+               c 8.832,0, 16,7.168, 16,16c0,8.832-7.168,16-16,16L 288,0 l0,67.264 c 66.656,13.152, 128,67.104, 128,156.736L 416,272 C 416,280.832, 408.832,288, 400,288
+               S 384,280.832, 384,272L 384,224 c0-84.032-64.416-128-128-128c-61.664,0-128,40.064-128,128L 128,272 C 128,280.832, 120.832,288, 112,288S 96,280.832, 96,272L 96,224 
+               C 96,133.12, 156.256,79.808, 224,67.072zM 256,160c 35.36,0, 64,28.64, 64,64L 320,416 c0,35.36-28.64,64-64,64S 192,451.36, 192,416l0-192 C 192,188.64, 220.64,160, 256,160z"  />
+<glyph unicode="&#xe080;" d="M 256,480C 114.624,480,0,365.376,0,224s 114.624-256, 256-256s 256,114.624, 256,256S 397.376,480, 256,480z M 381.568,327.52l-37.184-59.584L 319.584,228.192
+               C 319.68,226.784, 320,225.44, 320,224c0-35.36-28.64-64-64-64c-1.44,0-2.784,0.32-4.192,0.416l-39.776-24.8l-59.552-37.184
+               C 149.888,96.8, 146.944,96, 144,96c-4.128,0-8.224,1.6-11.328,4.672c-5.28,5.28-6.208,13.472-2.24,19.776l 37.184,59.584l 24.8,39.744
+               C 192.32,221.216, 192,222.56, 192,224c0,35.36, 28.64,64, 64,64c 1.44,0, 2.784-0.32, 4.192-0.416l 39.776,24.8l 59.552,37.184
+               c 6.208,3.936, 14.496,3.008, 19.776-2.272C 384.608,342.048, 385.536,333.856, 381.568,327.52zM 224,224A32,32 1260 1 1 288,224A32,32 1260 1 1 224,224z"  />
+<glyph unicode="&#xe081;" d="M 244.352-23.328c 2.688-2.976, 5.28-4.896, 7.776-6.24c 0.032-0.032, 0.096-0.032, 0.128-0.064
+               c 1.728-0.896, 3.424-1.568, 5.024-1.568c 1.6,0, 3.296,0.672, 5.024,1.568c 0.032,0.032, 0.096,0.032, 0.128,0.064
+               c 2.496,1.344, 5.088,3.264, 7.776,6.24c0,0, 148.736,161.76, 163.68,301.92c 0.896,7.232, 1.504,14.56, 1.504,22.016C 435.392,399.68, 355.072,480, 256,480
+               S 76.608,399.68, 76.608,300.608c0-7.584, 0.608-14.976, 1.536-22.304C 93.472,138.208, 244.352-23.328, 244.352-23.328z M 256,416
+               c 63.616,0, 115.392-51.776, 115.392-115.392c0-63.616-51.776-115.392-115.392-115.392S 140.608,236.992, 140.608,300.608C 140.608,364.224, 192.384,416, 256,416z"  />
+<glyph unicode="&#xe082;" d="M 128,167.776c0-24.544, 61.76-37.568, 128.032-39.392C 256.032,128.256, 256,128.128, 256,128l0-96 c0-17.664, 7.168-64, 16-64
+               S 288,14.336, 288,32l0,96 c0,0.128-0.032,0.256-0.032,0.384C 354.24,130.208, 416,143.232, 416,167.776c0,26.048-23.584,45.056-64,55.296L 352,388.8 
+               c 40.416,13.696, 64,35.744, 64,51.424c0,53.024-288,53.024-288,0c0-17.248, 23.584-38.816, 64-52l0-165.152 C 151.584,212.8, 128,193.824, 128,167.776z"  />
+<glyph unicode="&#xe083;" d="M 161.344,387.136L 32,448L 32,64L 161.344,3.136   zM 193.344,3.584L 320.672,60.96L 320.672,444.96L 193.344,387.584        zM 352.672,60.288L 480,0L 480,384L 352.672,444.288      z"  />
+<glyph unicode="&#xe084;" d="M 448,416c-8.992,20-25.312,32-43.008,32L 104,448 C 86.336,448, 72,436, 64,416l-64-256l0-0.512 l0-16 l0-16 l0-17.152 l0-0.512 l0-94.336 
+               c0-8.832, 7.168-16, 16-16l 480,0 c 8.832,0, 16,7.168, 16,16L 512,111.36 l0,0.512 l0,15.616 l0,16 l0,14.528 l-0.416,1.472L 448,416z M 94.24,405.344
+               C 95.712,408.64, 99.456,416, 104,416l 300.992,0 c 4.384,0, 9.44-4.512, 12.992-11.392l 56.352-229.024c0-0.064-0.096,0-0.096-0.064
+               c0-8.832-7.168-16-16-16c-0.032,0-0.032-0.032-0.064-0.032L 416,159.488 l-80,0 c-8.832,0-16-7.168-16-16L 320,112 c0-8.832-7.168-16-16-16
+               c-0.32,0-0.64-0.416-0.96-0.512L 208.544,95.488 C 208.32,95.584, 208.32,96, 208,96C 199.168,96, 192,103.168, 192,112l0,31.488 c0,8.832-7.168,16-16,16L 64,159.488 
+               L 53.824,159.488 c-0.032,0-0.032,0.032-0.064,0.032c-8.832,0-16.256,7.168-16.256,16c0,0.224-0.256,0.064-0.32,0.224L 94.24,405.344z"  />
+<glyph unicode="&#xe085;" d="M 480,320l-128,0 L 352,352 c0,17.664-14.336,32-32,32L 192,384 C 174.336,384, 160,369.664, 160,352l0-32 L 32,320 C 14.336,320,0,305.664,0,288l0-64 l 192,0 l 128,0 l 192,0 L 512,288 
+               C 512,305.664, 497.664,320, 480,320z M 192,352l 128,0 l0-32 L 192,320 L 192,352 zM 192,192L 320,192L 320,160L 192,160zM 352,160c0-17.664-14.336-32-32-32L 192,128 c-17.664,0-32,14.336-32,32L 160,192 L0,192 l0-192 c0-17.664, 14.336-32, 32-32l 448,0 c 17.664,0, 32,14.336, 32,32L 512,192 l-160,0 
+               L 352,160 z"  />
+<glyph unicode="&#xe086;" d="M 80.672-32l 14.592,0 l 192.096,0 L 320-32 l 11.328,0 l 51.904,0 c 17.664,0, 32,14.336, 32,32l0,68.992 L 415.232,80 l0,256 c0,8.832-7.168,16-16,16
+               c0,0,0,0,0,0L 128,352 C 127.2,352, 125.632,351.872, 124.128,351.776L 80.672,352C 53.824,352, 32,372.512, 32,399.328C 32,426.176, 53.152,448, 80,448l 64,0 L 320,448 l 128,0 l0-368 
+               c0-8.832, 6.4-16, 15.264-16S 480,71.168, 480,80l0,384 C 480,472.832, 472.096,480, 463.264,480l-111.648,0 L 144,480 L 80.672,480 C 36.512,480, 0.768,444.512, 0.128,400.512
+               L0,400.672l0-66.656 L0,288 l0-175.328 l0-39.584 l0-24.416 C0,4.128, 36.128-32, 80.672-32z"  />
+<glyph unicode="&#xe087;" d="M 32,480C 14.336,480,0,465.664,0,448l0-448 c0-17.664, 14.336-32, 32-32l 32,0 L 64,480 L 32,480 zM 416,480L 96,480 l0-512 l 320,0 c 17.664,0, 32,14.336, 32,32L 448,448 C 448,465.664, 433.664,480, 416,480z M 270.24,356.672
+               c 26.752,0, 48.416-21.696, 48.416-48.416c0-26.752-21.696-48.448-48.416-48.448c-26.752,0-48.448,21.696-48.448,48.448
+               C 221.792,335.008, 243.488,356.672, 270.24,356.672z M 192,134.176c0,58.688, 35.488,106.24, 79.232,106.24s 79.232-47.584, 79.232-106.24S 192,75.52, 192,134.176zM 480,448L 512,448L 512,352L 480,352zM 480,320L 512,320L 512,224L 480,224zM 480,192L 512,192L 512,96L 480,96z"  />
+<glyph unicode="&#xe088;" d="M 480,416L 32,416 C 14.336,416,0,401.664,0,384l0-64 l 512,0 L 512,384 C 512,401.664, 497.664,416, 480,416zM 32,0c0-17.664, 14.336-32, 32-32l 384,0 c 17.664,0, 32,14.336, 32,32L 480,288 L 32,288 L 32,0 z M 192,224l 128,0 c 17.664,0, 32-14.336, 32-32c0-17.664-14.336-32-32-32
+               L 192,160 c-17.664,0-32,14.336-32,32C 160,209.664, 174.336,224, 192,224z"  />
+<glyph unicode="&#xe089;" d="M 511.744,258.656C 510.4,337.184, 446.688,407.168, 368,407.168c-45.504,0-85.6-23.808-112-58.752
+               C 229.6,383.36, 189.504,407.168, 144,407.168c-78.688,0-142.4-69.984-143.744-148.512L0,258.656 c0-0.48, 0.096-0.928, 0.096-1.408
+               C 0.096,256.896,0,256.544,0,256.16c0-2.208, 0.544-3.872, 0.64-5.984C 7.68,50.048, 253.984-32, 253.984-32s 249.92,81.952, 257.312,281.856
+               C 511.424,252.096, 512,253.856, 512,256.16c0,0.384-0.096,0.736-0.096,1.088C 511.904,257.76, 512,258.176, 512,258.656L 511.744,258.656 z"  />
+<glyph unicode="&#xe08a;" d="M 352,384c0,51.392-44.608,96-96,96S 160,435.392, 160,384c0-51.392, 44.608-96, 96-96S 352,332.608, 352,384zM 256,256c-84.096,0-160-90.72-160-203.456s 320-112.736, 320,0S 340.096,256, 256,256z"  />
+<glyph unicode="&#xe08b;" d="M 224,400C 224,442.816, 186.816,480, 144,480S 64,442.816, 64,400C 64,357.184, 101.184,320, 144,320S 224,357.184, 224,400zM 280,96c0,128-66.432,192-140,192S0,224,0,96C0,8.32, 280,8.32, 280,96zM 376,257.76c 42.816,0, 80,37.184, 80,80s-37.184,80-80,80s-80-37.184-80-80S 333.184,257.76, 376,257.76zM 372,225.76c-22.112,0-43.296-6.496-62.496-18.080c 11.616-31.232, 18.496-68.256, 18.496-111.68
+               c0-43.104-28.736-76.672-78.048-95.872C 311.104-51.648, 512-40.608, 512,33.76C 512,161.76, 445.568,225.76, 372,225.76z"  />
+<glyph unicode="&#xe08c;" d="M 96,256l 96,0 c 17.664,0, 32,14.336, 32,32L 224,384 c0,17.664-14.336,32-32,32L 96,416 C 78.336,416, 64,401.664, 64,384l0-96 C 64,270.336, 78.336,256, 96,256zM 320,256l 96,0 c 17.664,0, 32,14.336, 32,32L 448,384 c0,17.664-14.336,32-32,32l-96,0 C 302.336,416, 288,401.664, 288,384l0-96 C 288,270.336, 302.336,256, 320,256zM 64,64c0-17.664, 14.336-32, 32-32l 96,0 c 17.664,0, 32,14.336, 32,32l0,96 c0,17.664-14.336,32-32,32L 96,192 c-17.664,0-32-14.336-32-32L 64,64 zM 288,64c0-17.664, 14.336-32, 32-32l 96,0 c 17.664,0, 32,14.336, 32,32l0,96 c0,17.664-14.336,32-32,32l-96,0 c-17.664,0-32-14.336-32-32L 288,64 z"  />
+<glyph unicode="&#xe08d;" d="M 64,320l 64,0 c 17.664,0, 32,14.336, 32,32L 160,416 c0,17.664-14.336,32-32,32L 64,448 C 46.336,448, 32,433.664, 32,416l0-64 C 32,334.336, 46.336,320, 64,320zM 224,320l 64,0 c 17.664,0, 32,14.336, 32,32L 320,416 c0,17.664-14.336,32-32,32L 224,448 C 206.336,448, 192,433.664, 192,416l0-64 C 192,334.336, 206.336,320, 224,320zM 384,320l 64,0 c 17.664,0, 32,14.336, 32,32L 480,416 c0,17.664-14.336,32-32,32l-64,0 c-17.664,0-32-14.336-32-32l0-64 C 352,334.336, 366.336,320, 384,320zM 32,192c0-17.664, 14.336-32, 32-32l 64,0 c 17.664,0, 32,14.336, 32,32L 160,256 c0,17.664-14.336,32-32,32L 64,288 C 46.336,288, 32,273.664, 32,256L 32,192 zM 192,192c0-17.664, 14.336-32, 32-32l 64,0 c 17.664,0, 32,14.336, 32,32L 320,256 c0,17.664-14.336,32-32,32L 224,288 C 206.336,288, 192,273.664, 192,256L 192,192 zM 352,192c0-17.664, 14.336-32, 32-32l 64,0 c 17.664,0, 32,14.336, 32,32L 480,256 c0,17.664-14.336,32-32,32l-64,0 c-17.664,0-32-14.336-32-32L 352,192 zM 32,32c0-17.664, 14.336-32, 32-32l 64,0 c 17.664,0, 32,14.336, 32,32l0,64 c0,17.664-14.336,32-32,32L 64,128 c-17.664,0-32-14.336-32-32L 32,32 zM 192,32c0-17.664, 14.336-32, 32-32l 64,0 c 17.664,0, 32,14.336, 32,32l0,64 c0,17.664-14.336,32-32,32L 224,128 c-17.664,0-32-14.336-32-32L 192,32 zM 352,32c0-17.664, 14.336-32, 32-32l 64,0 c 17.664,0, 32,14.336, 32,32l0,64 c0,17.664-14.336,32-32,32l-64,0 c-17.664,0-32-14.336-32-32L 352,32 z"  />
+<glyph unicode="&#xe08e;" d="M 12.768-7.296c 23.936-31.072, 73.376-33.088, 110.432-4.544c 15.072,11.616, 25.504,26.528, 31.296,42.176
+               C 157.824,36.928, 160,46.272, 160,56.96L 160,296.096 l 288,54.432l0-126.272 c0-44.544-34.080-54.784-46.144-57.056c-1.056-0.128-2.080-0.384-3.136-0.576
+               c-0.544-0.064-1.344-0.16-1.344-0.16L 397.568,166.4c-14.272-2.592-28.64-8.576-41.536-18.496c-37.056-28.544-47.712-76.864-23.776-107.936
+               c 23.936-31.072, 73.376-33.12, 110.432-4.576c 18.752,14.464, 30.688,33.984, 34.848,53.76C 478.976,93.952, 480,99.232, 480,105.216L 480,415.808 
+               c0,1.952-0.384,3.616-0.544,5.472C 479.52,422.24, 480,423.328, 480,424.288l0,32 c0,17.664-14.336,27.648-32,22.24L 160,424.096
+               C 142.336,418.72, 128,400, 128,382.336l0-32 c0-0.448, 0.224-0.768, 0.256-1.184C 128.224,348.192, 128,347.36, 128,346.4l0-169.408 c0-44.608-34.176-54.816-46.208-57.056
+               c-0.608-0.096-1.216-0.288-1.856-0.384c-1.568-0.256-2.592-0.352-2.592-0.352l 0.352-0.16c-14.144-2.656-28.384-8.576-41.152-18.4
+               C-0.512,72.096-11.136,23.776, 12.768-7.296z"  />
+<glyph unicode="&#xe08f;" d="M 256,480C 114.624,480,0,365.376,0,224s 114.624-256, 256-256s 256,114.624, 256,256S 397.376,480, 256,480z M 224,160c0-17.664-14.336-32-32-32s-32,14.336-32,32L 160,288 
+               c0,17.664, 14.336,32, 32,32s 32-14.336, 32-32L 224,160 z M 352,160c0-17.664-14.336-32-32-32s-32,14.336-32,32L 288,288 c0,17.664, 14.336,32, 32,32s 32-14.336, 32-32L 352,160 z"  />
+<glyph unicode="&#xe090;" d="M 211.456,350.976C 205.344,421.28, 132,455.776, 128.896,457.184C 125.984,458.56, 122.72,458.976, 119.584,458.432
+               c-84.672-14.048-97.408-63.328-97.92-65.376C 20.96,390.176, 21.088,387.2, 21.984,384.416c 100.992-313.344, 310.88-371.424, 379.872-390.528
+               c 5.312-1.472, 9.696-2.656, 13.024-3.744c 1.6-0.544, 3.264-0.768, 4.928-0.768c 2.272,0, 4.544,0.48, 6.624,1.44
+               c 2.112,0.96, 51.968,24.448, 64.16,101.056c 0.544,3.328,0,6.784-1.536,9.792c-1.088,2.112-27.168,51.744-99.488,69.28
+               c-5.056,1.312-10.24-0.032-14.144-3.36c-22.816-19.488-54.336-40.256-67.936-42.4c-91.168,44.576-142.080,130.112-144,146.336
+               C 162.368,280.64, 183.264,312.672, 207.296,338.72C 210.336,342.016, 211.872,346.496, 211.456,350.976z"  />
+<glyph unicode="&#xe091;" d="M 96,288L 192,288L 192,96L 320,96L 319.328,288L 416,288L 256,448  zM 384,32L 128,32L 128,96L 64,96L 64,32L 64-32L 448-32L 448,32L 448,96L 384,96  z"  />
+<glyph unicode="&#xe092;" d="M 256,96L 416,256L 320,256L 320,448L 192,448L 192.576,256L 96,256         zM 64,32L 64-32L 448-32L 448,32L 448,96L 384,96L 384,32L 128,32L 128,96L 64,96  z"  />
+<glyph unicode="&#xe093;" d="M 192.864-32l 95.936,0 l 0.064,256l 87.136,0.032l 9.344,88.224L 288.8,312.256 l 0.128,44.16c0,23.008, 1.568,35.328, 34.592,35.328l 60.992,0 
+               L 384.512,480 L 297.056,480 C 212.288,480, 192.768,436.192, 192.768,364.224l 0.096-51.968L 128.512,312.224L 128.512,224 l 64.352,0 L 192.864-32 z"  />
+<glyph unicode="&#xe094;" d="M 497.888,424.32c-20.288-12.032-42.784-20.768-66.72-25.504C 412,419.264, 384.704,432, 354.496,432
+               c-58.016,0-105.056-47.040-105.056-105.024c0-8.224, 0.928-16.256, 2.72-23.936c-87.296,4.384-164.704,46.208-216.512,109.76
+               C 26.592,397.312, 21.44,379.264, 21.44,360c0-36.448, 18.56-68.608, 46.72-87.424C 50.944,273.152, 34.752,277.888, 20.576,285.76c0-0.448,0-0.864,0-1.312
+               c0-50.88, 36.224-93.344, 84.256-103.008C 96.032,179.040, 86.752,177.76, 77.152,177.76c-6.784,0-13.344,0.672-19.776,1.888
+               c 13.376-41.728, 52.16-72.096, 98.112-72.96c-35.936-28.16-81.248-44.96-130.464-44.96c-8.48,0-16.832,0.512-25.056,1.472
+               C 46.464,33.408, 101.664,16, 160.992,16c 193.216,0, 298.88,160.064, 298.88,298.88c0,4.544-0.096,9.088-0.32,13.6
+               c 20.576,14.752, 38.4,33.248, 52.48,54.304c-18.848-8.352-39.072-14.016-60.32-16.544C 473.408,379.232, 490.048,399.84, 497.888,424.32z"  />
+<glyph unicode="&#xe095;" d="M 128.96,183.904c 24.736,43.744-7.968,53.344-13.088,85.056c-20.96,129.6, 149.504,218.112, 238.784,127.552
+               c 61.76-62.72, 21.088-255.552-78.496-235.52C 180.768,180.16, 322.88,333.664, 246.752,363.776C 184.864,388.288, 152,288.896, 181.344,239.488
+               C 164.128,154.528, 127.072,74.528, 142.080-32c 48.64,35.296, 65.056,102.912, 78.496,173.408c 24.448-14.88, 37.536-30.336, 68.704-32.736
+               c 114.976-8.928, 179.232,114.784, 163.488,228.96c-13.952,101.184-114.848,152.704-222.432,140.64c-85.056-9.536-169.856-78.304-173.376-176.64
+               C 54.816,241.6, 71.84,196.544, 128.96,183.904z"  />
+<glyph unicode="&#xe096;" d="M 137.152,14.368c 84.8,0, 131.648,48.128, 131.648,96.512c0,38.784-11.456,62.048-46.848,87.072
+               C 209.856,206.528, 186.688,227.36, 186.688,239.616c0,14.368, 4.096,21.44, 25.728,38.336C 234.56,295.264, 250.24,319.616, 250.24,347.904
+               c0,33.696-15.008,66.56-43.2,77.376l 42.464,0 l 30.016,21.664c0,0-100.48,0-133.984,0c-60.032,0-116.544-45.504-116.544-98.208
+               c0-53.856, 40.928-97.344, 102.048-97.344c 4.256,0, 8.384,0.096, 12.416,0.384C 139.488,244.192, 136.64,235.648, 136.64,226.752
+               c0-14.976, 8.064-27.104, 18.24-37.024c-7.68,0-15.136-0.224-23.232-0.224C 57.248,189.536,0,142.144,0,93.024
+               C0,44.64, 62.784,14.368, 137.152,14.368z M 150.4,265.056C 115.872,266.080, 83.072,303.68, 77.12,348.992C 71.168,394.336, 94.304,429.024, 128.8,428
+               c 34.496-1.024, 67.328-37.408, 73.28-82.72C 208.064,299.936, 184.896,264.032, 150.4,265.056z M 145.824,177.024c 12-0.128, 23.2-2.048, 33.344-5.344
+               c 27.904-19.36, 47.936-30.336, 53.568-52.48c 1.056-4.48, 1.632-9.088, 1.632-13.824c0-39.104-25.184-69.664-97.472-69.664
+               c-51.424,0-88.544,32.544-88.544,71.648C 48.352,145.696, 94.4,177.568, 145.824,177.024zM 416,352L 416,446.944L 384,446.944L 384,352L 288,352L 288,320L 384,320L 384,222.944L 416,222.944L 416,320L 512,320L 512,352      z"  />
+<glyph unicode="&#xe097;" d="M 164.736,90.624c0-23.392, 2.464-41.28, 7.36-53.6c 4.928-12.32, 13.696-23.968, 26.432-34.912
+               c 12.672-10.88, 28.032-19.36, 46.016-25.28C 262.56-29.056, 276.32-32, 299.744-32c 20.608,0, 39.776,2.080, 57.536,6.208
+               c 17.728,4.16, 36.8,10.176, 58.656,20.448l0,76.992 c-25.632-16.864-40.96-20.288-66.88-20.288c-14.56,0-27.488,3.392-38.848,10.208
+               c-8.544,5.024-16.352,13.728-19.488,22.080c-3.168,8.416-2.784,25.536-2.784,55.264L 288,256l 127.968,0 L 415.968,352 L 288,352 L 288,480 l-82.56,0 
+               C 202.176,453.6, 196.16,431.808, 187.488,414.752c-8.672-17.12-20.192-31.744-34.56-43.968C 138.656,358.592, 116.16,349.216, 96.064,342.688L 96.064,256 l 68.704,0 L 164.768,90.624 z"  />
+<glyph unicode="&#xe098;" d="M 352,229.056L 317.984,217.056L 288,229.056L 288,167.040 C 288,107.072, 331.072,64, 384,64s 96,43.072, 96,96L 480,224 l-64,0 l0-64 c0-17.632-14.368-32-32-32
+               c-17.632,0-32,14.368-32,39.008L 352,229.056 zM 128,64c 52.928,0, 96,43.072, 96,96L 224,288 c0,17.632, 14.368,32, 32,32C 273.6,320, 288,305.664, 288,295.040L 288,264 l 30.016-12L 352,264L 352,295.040 
+               C 352,340.96, 308.928,384, 256,384S 160,340.96, 160,288l0-128 c0-17.632-14.368-32-32-32c-17.632,0-32,14.368-32,32L 96,224 L 32,224 l0-64 C 32,107.072, 75.072,64, 128,64z"  />
+<glyph unicode="&#xe099;" d="M 256,480C 114.624,480,0,365.376,0,224s 114.624-256, 256-256s 256,114.624, 256,256S 397.376,480, 256,480z M 36.576,224c0,30.976, 6.848,60.416, 19.008,86.976
+               l 104.672-279.296C 87.040,66.304, 36.576,139.424, 36.576,224z M 256,10.272c-21.536,0-42.304,3.072-61.984,8.704L 259.84,205.312l 67.424-179.968
+               c 0.448-1.056, 0.992-2.048, 1.568-2.976C 306.080,14.56, 281.568,10.272, 256,10.272z M 286.176,324.192c 13.216,0.672, 25.12,2.016, 25.12,2.016
+               c 11.84,1.376, 10.432,18.272-1.376,17.632c0,0-35.552-2.72-58.464-2.72c-21.536,0-57.792,2.72-57.792,2.72
+               C 181.824,344.512, 180.448,326.912, 192.256,326.208c0,0, 11.2-1.344, 23.008-2.016L 249.44,232.96l-48.032-140.256L 121.536,324.192
+               c 13.248,0.672, 25.12,2.016, 25.12,2.016c 11.808,1.376, 10.432,18.272-1.376,17.632c0,0-35.552-2.72-58.464-2.72
+               c-4.096,0-8.96,0.096-14.112,0.256C 111.904,399.392, 179.36,437.728, 256,437.728c 57.12,0, 109.12-21.28, 148.192-56.096
+               c-0.96,0.064-1.856,0.192-2.848,0.192c-21.568,0-36.864-18.272-36.864-37.92c0-17.632, 10.432-32.512, 21.536-50.144
+               c 8.384-14.272, 18.112-32.544, 18.112-58.944c0-18.272-7.2-39.52-16.672-69.12l-21.92-71.2L 286.176,324.192z M 475.424,224
+               c0-78.848-43.872-147.68-109.12-184.672l 67.040,188.704c 12.512,30.496, 16.672,54.848, 16.672,76.544c0,7.872-0.512,15.168-1.472,21.984
+               C 465.664,296.096, 475.424,261.152, 475.424,224z"  />
+<glyph unicode="&#xe09a;" d="M 488.896,480L 23.104,480 C 10.368,480,0,469.664,0,456.928l0-465.856 C0-21.632, 10.368-32, 23.104-32l 465.792,0 
+               C 501.632-32, 512-21.632, 512-8.928L 512,456.928 C 512,469.664, 501.632,480, 488.896,480z M 345.344,224c0-49.344-40-89.344-89.344-89.344S 166.656,174.656, 166.656,224
+               c0,49.344, 40,89.344, 89.344,89.344S 345.344,273.344, 345.344,224z M 448,32L 64,32 L 64,256 l 42.144,0 C 103.936,245.664, 102.656,234.976, 102.656,224
+               c0-84.544, 68.8-153.344, 153.344-153.344s 153.344,68.8, 153.344,153.344c0,10.976-1.28,21.664-3.488,32L 448,256 L 448,32 z M 448,320l-96,0 L 352,416 l 96,0 L 448,320 z"  />
+<glyph unicode="&#xe09b;" d="M 256,480C 114.848,480,0,365.152,0,224s 114.848-256, 256-256s 256,114.848, 256,256S 397.152,480, 256,480z M 256,442.336c 55.584,0, 106.336-20.832, 144.96-55.104
+               c-3.936-5.6-36.832-49.824-114.592-78.976c-35.84,65.824-75.552,119.904-81.6,128C 221.216,440.224, 238.368,442.336, 256,442.336z M 163.040,421.568
+               c 5.76-7.904, 44.832-62.048, 81.056-126.464C 141.824,267.936, 51.744,268.32, 41.952,268.448C 56.128,336.32, 101.856,392.704, 163.040,421.568z M 37.312,223.68
+               c0,2.24, 0.032,4.48, 0.096,6.688C 46.976,230.144, 152.96,228.8, 262.144,261.472c 6.272-12.256, 12.224-24.704, 17.728-37.12
+               c-2.88-0.8-5.76-1.664-8.608-2.592c-112.768-36.448-172.768-135.808-177.728-144.288C 58.624,116.224, 37.344,167.52, 37.312,223.68z M 255.968,5.024
+               c-50.528,0-97.12,17.248-134.208,46.144c 3.936,8.032, 48.224,93.568, 171.552,136.544c 0.48,0.16, 0.96,0.32, 1.44,0.48
+               c 30.72-79.776, 43.392-146.624, 46.656-165.824C 315.168,11.2, 286.304,4.992, 255.968,5.024z M 378.176,42.4c-2.24,13.312-13.856,77.312-42.464,155.904
+               c 68.512,10.976, 128.704-6.976, 136.192-9.344C 462.144,128.128, 427.232,75.584, 378.176,42.4z M 322.336,232.768
+               c-1.536,3.744-3.104,7.52-4.704,11.296C 313.088,254.72, 308.224,265.312, 303.136,275.744C 384,308.736, 420.64,355.712, 425.248,361.952
+               c 30.464-37.216, 48.896-84.608, 49.344-136.224C 467.392,227.264, 395.104,241.92, 322.336,232.768z"  />
+<glyph unicode="&#xe09c;" d="M 293.696,327.136c 58.496,35.104, 89.728-14.272, 59.776-70.176c-29.888-55.872-57.184-92.288-71.488-92.288
+               c-14.272,0-25.248,37.376-41.6,102.72C 223.488,334.944, 223.584,456.608, 153.312,442.816C 87.072,429.792,0,325.824,0,325.824L 20.8,298.56
+               c0,0, 42.88,33.792, 57.184,16.896c 14.304-16.896, 68.864-220.992, 87.072-258.624c 15.904-33.024, 59.744-76.672, 107.872-45.504
+               c 48.064,31.168, 207.904,167.648, 236.544,328.8C 538.048,501.248, 317.12,467.488, 293.696,327.136z"  />
+<glyph unicode="&#xe09d;" d="M 33.024,320L 128,320L 128-32L 33.024-32zM 322.784,319.968C 288,319.968, 270.656,303.392, 256,292.16L 256,320 L 160.512,320 l0-352 L 256-32 L 256,189.6 c0,0-3.488,44.128, 49.408,44.128
+               C 337.28,233.728, 352,215.584, 352,189.6L 352-32 l 100.608,0 L 452.608,186.496 C 452.608,306.496, 356,319.968, 322.784,319.968zM 32,400A48,48 1260 1 1 128,400A48,48 1260 1 1 32,400z"  />
+<glyph unicode="&#xe09e;" d="M 0.192,480l0-98.176 C 228.096,381.824, 413.568,196.16, 413.568-32L 512-32 C 512,250.24, 282.368,480, 0.192,480zM 239.424-32l 98.56,0 c 0.032,186.432-151.616,338.080-337.92,338.080l0-98.144 c 63.904,0, 123.968-24.992, 169.216-70.272
+               C 214.464,92.512, 239.424,32.16, 239.424-32zM 68.16-31.36c 37.728,0, 68.256,30.336, 68.256,67.904c-0.032,37.344-30.528,68.032-68.256,68.032
+               C 30.56,104.576,0,73.92,0,36.544C0-1.024, 30.56-31.36, 68.16-31.36z"  />
+<glyph unicode="&#xe09f;" d="M 363.872,312.832C 306.56,326.272, 244.48,325.696, 180.896,316.096C 178.592,315.744, 176.32,315.392, 174.048,315.008l-21.12,39.136
+               c-20.576-2.752-39.904-7.040-57.792-12.736l 20.128-42.112C 82.368,286.56, 55.392,268.416, 35.936,246.592c-32.128-36.48-44.832-82.4-29.408-127.136
+               c 3.104-9.024, 7.296-17.568, 12.48-25.6l 239.040,65.664L 191.68,282.432C 193.952,282.88, 196.288,283.328, 198.656,283.744c 107.328,19.136, 166.048-10.432, 198.208-41.92
+               l-81.792-19.84L 280.928,276.544c-19.52,1.152-42.048-0.032-68.128-4.48l 60.16-108.448L 512,229.248c-2.592,6.144-6.336,12.128-11.328,17.888
+               C 475.936,275.776, 422.304,301.312, 363.872,312.832z M 87.36,166.848C 79.968,200.512, 85.856,238.112, 132.576,263.136l 36.576-76.48L 87.36,166.848z"  />
+<glyph unicode="&#xe0a0;" d="M 377.376,328.896c 14.080-10.656, 31.552-17.024, 50.56-17.024C 474.368,311.872, 512,349.504, 512,395.936
+               C 512,442.368, 474.368,480, 427.936,480c-46.4,0-84.064-37.632-84.064-84.064c0-0.032,0-0.064,0-0.064L 136.384,295.552
+               C 122.016,307.008, 103.84,313.92, 84.064,313.92C 37.632,313.92,0,276.256,0,229.856s 37.632-84.064, 84.064-84.064c 16.768,0, 32.384,4.992, 45.504,13.44
+               l 214.336-103.616c0-0.032,0-0.064,0-0.064c0-46.432, 37.632-84.064, 84.064-84.064c 46.432,0, 84.064,37.632, 84.064,84.064
+               c0,46.432-37.632,84.064-84.064,84.064c-19.008,0-36.48-6.368-50.56-17.024L 167.808,223.904c 0.096,1.28, 0.16,2.528, 0.192,3.808L 377.376,328.896z"  />
+<glyph unicode="&#xe0a1;" d="M 252.736,351.776C 265.152,364.192, 271.392,379.424, 271.392,397.44c0,17.536-6.24,32.544-18.656,44.96
+               C 240.352,454.784, 225.056,460.992, 207.040,460.992c-17.472,0-32.48-6.208-44.896-18.592C 149.728,429.952, 143.488,414.976, 143.488,397.44
+               c0-18.016, 6.24-33.248, 18.656-45.664C 174.592,339.36, 189.568,333.152, 207.040,333.152C 225.056,333.152, 240.352,339.36, 252.736,351.776zM 309.728,337.888C 317.28,330.336, 326.048,324.384, 336.032,320c 9.984-4.352, 20.864-6.56, 32.512-6.56
+               c 11.712,0, 22.528,2.208, 32.512,6.56c 9.984,4.416, 18.72,10.336, 26.304,17.888c 7.552,7.552, 13.536,16.32, 17.92,26.304
+               c 4.384,9.984, 6.592,20.8, 6.592,32.544c0,11.68-2.176,22.496-6.592,32.512c-4.352,9.984-10.368,18.752-17.92,26.304
+               c-7.552,7.552-16.288,13.536-26.304,17.888C 391.104,477.824, 380.256,480, 368.544,480c-11.648,0-22.528-2.176-32.512-6.56
+               c-9.984-4.352-18.752-10.336-26.304-17.888C 302.208,447.968, 296.256,439.2, 291.84,429.216c-4.384-9.984-6.592-20.8-6.592-32.512
+               c0-11.712, 2.208-22.528, 6.592-32.544C 296.256,354.208, 302.208,345.44, 309.728,337.888zM 85.024,347.744c 13.664,0, 25.088,4.736, 34.368,14.24C 128.64,371.52, 133.248,383.072, 133.248,396.736
+               c0,13.152-4.64,24.48-13.856,33.952c-9.28,9.504-20.704,14.272-34.368,14.272c-13.6,0-25.216-4.768-34.656-14.272
+               c-9.536-9.472-14.272-20.8-14.272-33.952c0-13.664, 4.768-25.216, 14.272-34.72C 59.84,352.512, 71.424,347.744, 85.024,347.744zM 448.96,247.648c-10.208,10.24-22.304,18.272-36.16,24.128c-13.92,5.856-28.672,8.768-44.256,8.768
+               c-15.584,0-30.208-2.912-43.808-8.768C 311.072,265.92, 299.168,258.112, 288.928,248.384c-4.864,18.016-14.752,32.96-29.6,44.928
+               C 244.448,305.248, 227.040,311.232, 207.040,311.232c-12.672,0-24.576-2.688-35.808-8.032C 160.096,297.792, 150.304,290.272, 142.080,280.544
+               C 138.592,293.184, 131.84,303.776, 121.6,312.32C 111.392,320.864, 99.2,325.088, 85.024,325.088c-16.544,0-30.56-5.728-41.984-17.152C 31.584,296.512, 32,282.464, 32,265.92
+               l0-102.432 l 84.128,0 l0-83.872 l 140.96,0 L 257.088-32 l 225.024,0 L 482.112,167.296 c0,15.584-2.592,30.336-8.704,44.192C 467.328,225.376, 459.168,237.44, 448.96,247.648z"  />
+<glyph unicode="&#xe0a2;" d="M 489.856,222.752c0,129.152-105.28,233.888-235.104,233.888c-12.896,0-25.568-1.056-37.856-3.072
+               c-22.080,14.4-48.352,22.752-76.608,22.752C 62.752,476.32,0,413.504,0,336c0-28.192, 8.288-54.4, 22.592-76.384c-1.92-12.032-2.912-24.32-2.912-36.864
+               c0-129.184, 105.216-233.888, 235.072-233.888c 14.656,0, 28.928,1.44, 42.784,3.936c 21.536-13.376, 46.944-21.152, 74.144-21.152
+               c 77.536,0, 140.32,62.816, 140.32,140.32c0,29.28-8.96,56.512-24.352,79.040C 489.056,201.408, 489.856,212, 489.856,222.752z M 276.736,50.4
+               c-74.72-3.904-109.664,12.64-141.696,42.688c-35.776,33.568-21.408,71.84, 7.744,73.792c 29.12,1.952, 46.592-33.024, 62.144-42.72
+               c 15.52-9.696, 74.592-31.776, 105.792,3.904c 33.984,38.816-22.592,58.912-64.064,64.992C 187.456,201.824, 112.704,233.824, 118.528,296.96
+               C 124.352,360, 172.096,392.384, 222.368,396.928c 64.064,5.824, 105.792-9.696, 138.784-37.856c 38.144-32.544, 17.504-68.896-6.784-71.808
+               c-24.224-2.912-51.392,53.504-104.8,54.336C 194.528,342.464, 157.344,284.32, 225.28,267.808c 67.968-16.512, 140.736-23.296, 166.976-85.408
+               S 351.52,54.304, 276.736,50.4z"  />
+<glyph unicode="&#xe0a3;" d="M 442.752,399.264c-116.576,7.84-254.784,9.984-373.504,0C 32.384,395.136, 7.136,350.272, 4.384,316.192
+               c-5.824-71.584-5.824-112.32,0-183.904c 2.784-34.080, 27.392-79.2, 64.896-83.936c 120.128-7.872, 257.632-8.96, 373.504,0
+               c 36.288,6.304, 62.112,49.856, 64.896,83.936c 5.824,71.584, 5.824,116.768,0,188.384C 504.864,354.752, 484.512,397.728, 442.752,399.264z M 192,133.44L 192,316.96 
+               l 160-91.776L 192,133.44z"  />
+<glyph unicode="&#xe0a4;" d="M 128,2.272L 128,229.12 l-106.944-106.912C 42.976,71.68, 80.704,29.632, 128,2.272zM 160-13.376C 189.632-25.376, 222.048-32, 256-32c 94.752,0, 177.472,51.488, 221.728,128L 160,96 L 160-13.376 zM 213.12,368L 132.736,448.416C 53.6,404.864,0,320.704,0,224c0-21.248, 2.592-41.888, 7.488-61.632L 213.12,368zM 352,461.376C 322.336,473.376, 289.952,480, 256,480C 225.728,480, 196.704,474.72, 169.76,465.088L 352,282.88L 352,461.376 zM 384,445.728L 384,128 l 109.376,0 C 505.376,157.664, 512,190.048, 512,224C 512,318.752, 460.512,401.472, 384,445.728z"  />
+<glyph unicode="&#xe0a5;" d="M 487.808,192L 341.344,445.76L 170.656,445.76L 317.152,192        zM 231.744,255.904L 146.432,403.744L0,150.080L 85.344,2.24      zM 144.352-0.672L 426.656-0.672L 512,160L 236,160       z"  />
+<glyph unicode="&#xe0a6;" d="M0,225.76A106.656,106.656 1260 1 1 213.312,225.76A106.656,106.656 1260 1 1 0,225.76zM 298.688,225.76A106.656,106.656 1260 1 1 512,225.76A106.656,106.656 1260 1 1 298.688,225.76z"  />
+<glyph unicode="&#xe0a7;" d="M 478.912,288l-28.096,0 l-0.608,0 C 432.64,288, 417.216,302.88, 416,320c0,91.328-73.632,160-165.6,160L 166.496,480 
+               C 74.592,480, 0.064,405.984,0,314.656l0-181.408 C0,41.952, 74.592-32, 166.496-32l 179.2,0 C 437.664-32, 512,41.952, 512,133.28L 512,250.464 
+               C 512,268.704, 497.28,288, 478.912,288z M 160,352l 96,0 c 17.6,0, 32-14.4, 32-32S 273.6,288, 256,288L 160,288 C 142.4,288, 128,302.4, 128,320S 142.4,352, 160,352z M 352,96L 160,96 c-17.6,0-32,14.4-32,32
+               s 14.4,32, 32,32l 192,0 c 17.6,0, 32-14.4, 32-32S 369.6,96, 352,96z"  />
+<glyph unicode="&#xe0a8;" d="M 256,480C 114.624,480,0,365.376,0,224c0-141.376, 114.624-256, 256-256s 256,114.624, 256,256C 512,365.376, 397.376,480, 256,480z M 374.272,73.92
+               c-3.2-5.824-9.216-9.12-15.424-9.12c-2.88,0-5.76,0.704-8.48,2.176c-40.992,22.592-87.552,34.528-134.592,34.528
+               c-28.192,0-56.032-4.192-82.688-12.448c-9.28-2.88-19.136,2.336-21.984,11.616c-2.88,9.28, 2.304,28.96, 11.616,31.84
+               c 30.048,9.28, 61.376,14.016, 93.088,14.016c 52.96,0, 105.376-13.44, 151.552-38.88C 375.872,102.976, 378.976,82.432, 374.272,73.92z M 406.784,170.368
+               c-3.648-7.040-10.816-18.464-18.24-18.464c-3.2,0-6.432,0.736-9.44,2.336c-50.784,26.368-105.728,39.744-163.296,39.744
+               c-31.712,0-63.2-4.192-93.6-12.512c-10.976-2.976-22.24,3.456-25.216,14.4C 94.048,206.816, 100.48,225.472, 111.424,228.448
+               c 33.92,9.248, 69.056,13.952, 104.384,13.952c 63.328,0, 126.336-15.36, 182.208-44.384C 408.064,192.8, 412,180.416, 406.784,170.368z M 441.408,263.040
+               c-4.128-8.224-12.384-15.456-21.024-15.456c-3.52,0-7.072,0.8-10.432,2.464c-60.64,30.24-125.952,45.536-194.144,45.536
+               c-35.52,0-70.912-4.32-105.248-12.8c-12.576-3.104-25.28,4.544-28.384,17.12C 79.040,312.448, 86.72,327.648, 99.296,330.752
+               C 137.28,340.192, 176.48,344.96, 215.808,344.96c 75.52,0, 147.872-16.992, 215.040-50.464C 442.464,288.704, 447.168,274.624, 441.408,263.040z"  />
+<glyph unicode="&#xe0a9;" d="M 480,480L 256,480 L 32,480 L 22.784,480 C 10.24,480,0,469.76,0,457.184L0,448 l0-224 l0-224 c0-17.664, 14.336-32, 32-32l 224.352,0 L 480-32 l 9.216,0 
+               C 501.76-32, 512-21.76, 512-9.184L 512,0 L 512,223.264 L 512,448 C 512,465.664, 497.664,480, 480,480z M 256.352,223.264L 256.352,0 L 32,0 L 32,224 l 224,0 L 256,448 l 224,0 l0-224.736 L 256.352,223.264 z"  />
+<glyph unicode="&#xe0aa;" d="M 256,480C 114.624,480,0,365.376,0,224s 114.624-256, 256-256s 256,114.624, 256,256C 512,365.408, 397.376,480, 256,480z M 322.176,224.032L 280.224,224
+               l-0.032-153.6L 222.624,70.4 L 222.624,224 l-38.4,0 L 184.224,276.928 l 38.4,0.032L 222.56,308.128C 222.56,351.328, 234.272,377.6, 285.12,377.6l 42.368,0 l0-52.96 L 300.992,324.64 
+               c-19.808,0-20.768-7.392-20.768-21.184L 280.16,276.96l 47.616,0 L 322.176,224.032z"  />
+<glyph unicode="&#xe0ab;" d="M 256,480C 114.624,480,0,365.376,0,224s 114.624-256, 256-256s 256,114.624, 256,256C 512,365.408, 397.376,480, 256,480z M 383.36,281.472
+               c 0.128-2.72, 0.192-5.44, 0.192-8.16c0-83.296-63.392-179.328-179.328-179.328c-35.584,0-68.704,10.432-96.608,28.32
+               c 4.928-0.576, 9.952-0.896, 15.040-0.896c 29.536,0, 56.704,10.080, 78.272,26.976c-27.584,0.512-50.848,18.752-58.88,43.776
+               C 145.92,191.424, 149.824,191.040, 153.92,191.040c 5.76,0, 11.328,0.768, 16.608,2.208C 141.696,199.040, 119.968,224.512, 119.968,255.040c0,0.256,0,0.512,0,0.8
+               c 8.512-4.736, 18.208-7.552, 28.544-7.904C 131.616,259.232, 120.48,278.528, 120.48,300.384c0,11.552, 3.104,22.368, 8.512,31.68
+               c 31.072-38.144, 77.536-63.232, 129.92-65.856C 257.824,270.816, 257.28,275.648, 257.28,280.576c0,34.784, 28.224,63.008, 63.040,63.008
+               c 18.112,0, 34.496-7.648, 46.016-19.904c 14.368,2.848, 27.872,8.096, 40.032,15.296c-4.704-14.72-14.688-27.072-27.712-34.88
+               c 12.736,1.504, 24.896,4.928, 36.192,9.92C 406.4,301.408, 395.68,290.304, 383.36,281.472z"  />
+<glyph unicode="&#xe0ac;" d="M 256,480C 114.624,480,0,365.376,0,224s 114.624-256, 256-256s 256,114.624, 256,256C 512,365.408, 397.376,480, 256,480z M 275.968,154.784
+               c-18.72,1.44-26.56,10.72-41.216,19.648c-8.064-42.304-17.92-82.88-47.104-104.032C 178.624,134.304, 200.864,182.304, 211.2,233.28
+               C 193.6,262.944, 213.312,322.56, 250.432,307.872c 45.664-18.080-39.584-110.176, 17.664-121.664c 59.744-12.032, 84.16,103.68, 47.104,141.312
+               c-53.568,54.336-155.84,1.248-143.264-76.544c 3.072-19.008, 22.688-24.768, 7.84-51.040C 145.504,207.52, 135.264,234.56, 136.576,270.592
+               c 2.112,58.976, 52.992,100.256, 104.032,105.984c 64.544,7.232, 125.088-23.68, 133.472-84.384C 383.52,223.68, 344.96,149.44, 275.968,154.784z"  />
+<glyph unicode="&#xe0ad;" d="M 256,480C 114.624,480,0,365.376,0,224s 114.624-256, 256-256s 256,114.624, 256,256C 512,365.408, 397.376,480, 256,480z M 184.576,51.744
+               c-56.672,0-104.48,23.072-104.48,59.936c0,37.408, 43.616,73.536, 100.288,73.504c 6.176,0, 11.84,0.16, 17.696,0.16
+               C 190.336,192.864, 184.192,202.112, 184.192,213.536c0,6.784, 2.176,13.28, 5.184,19.072C 186.304,232.384, 183.168,232.288, 179.936,232.288
+               c-46.56,0-77.728,33.12-77.728,74.176c0,40.16, 43.040,74.816, 88.8,74.816c 25.536,0, 102.080,0, 102.080,0L 270.176,364.768L 237.824,364.768 
+               c 21.472-8.256, 32.896-33.28, 32.896-58.944c0-21.536-11.936-40.096-28.8-53.28C 225.44,239.648, 222.336,234.272, 222.336,223.328
+               c0-9.344, 17.664-25.216, 26.88-31.744c 26.976-19.072, 35.68-36.8, 35.68-66.336C 284.864,88.384, 249.184,51.744, 184.576,51.744z M 448,255.392l-64,0 l0-63.872 
+               l-31.968,0 L 352.032,255.392 L 288,255.392 L 288,288 l 64.032,0 L 352.032,352 L 384,352 l0-64 l 64,0 L 448,255.392 zM 216.608,171.584C 208.864,174.080, 200.32,175.552, 191.2,175.648c-39.168,0.416-74.24-23.872-74.24-53.088
+               c0-29.792, 28.288-54.592, 67.456-54.592c 55.072,0, 74.24,23.296, 74.24,53.056c0,3.616-0.448,7.104-1.248,10.528
+               C 253.12,148.448, 237.856,156.832, 216.608,171.584zM 234.048,303.84C 229.504,338.336, 204.512,366.048, 178.24,366.848c-26.272,0.768-43.904-25.632-39.36-60.192
+               c 4.544-34.528, 29.536-63.168, 55.84-63.936C 220.96,241.92, 238.624,269.28, 234.048,303.84z"  />
+<glyph unicode="&#xe0ae;" d="M 256,480C 114.624,480,0,365.376,0,224s 114.624-256, 256-256s 256,114.624, 256,256C 512,365.408, 397.376,480, 256,480z M 351.968,243.2L 275.2,243.2 L 275.168,172.96
+               c0-17.824-0.224-28.096, 1.664-33.152c 1.888-5.024, 6.56-10.24, 11.68-13.248c 6.816-4.096, 14.56-6.112, 23.296-6.112
+               c 15.552,0, 24.736,2.048, 40.128,12.16L 351.936,86.4 c-13.12-6.176-24.544-9.76-35.2-12.256C 306.112,71.648, 294.624,70.4, 282.24,70.4
+               c-14.048,0-22.336,1.76-33.12,5.312c-10.784,3.552-20,8.64-27.616,15.168c-7.648,6.56-12.896,13.568-15.872,20.96
+               c-2.944,7.392-4.416,18.112-4.416,32.16L 201.216,251.712 L 160.032,251.712 l0,43.52 c 12.064,3.904, 25.568,9.536, 34.144,16.864
+               c 8.608,7.328, 15.52,16.096, 20.736,26.368C 220.096,348.672, 223.68,361.76, 225.664,377.6L 275.2,377.6 l0-76.8 l 76.768,0 L 351.968,243.2 z"  />
+<glyph unicode="&#xe0af;" d="M 256,480C 114.624,480,0,365.376,0,224s 114.624-256, 256-256s 256,114.624, 256,256C 512,365.408, 397.376,480, 256,480z M 256,292.608
+               c-12.608,0-22.88-10.272-22.88-22.88l0-91.488 c0-37.824-30.784-68.608-68.608-68.608c-37.824,0-68.608,30.784-68.608,68.608L 95.904,224 l 45.728,0 l0-45.728 
+               c0-12.608, 10.272-22.88, 22.88-22.88c 12.608,0, 22.88,10.272, 22.88,22.88L 187.392,269.728 c0,37.824, 30.784,68.608, 68.608,68.608s 68.608-30.784, 68.608-63.616
+               l0-22.176 L 295.296,244L 278.848,252.576L 278.848,274.752 C 278.848,282.336, 268.576,292.608, 256,292.608z M 416.064,178.272c0-37.824-30.784-68.608-68.608-68.608
+               s-68.608,30.784-68.608,73.632L 278.848,227.584 l 16.448-8.576l 29.312,8.576l0-44.32 c0-17.6, 10.272-27.872, 22.88-27.872s 22.88,10.272, 22.88,22.88L 370.368,224 l 45.728,0 
+               L 416.096,178.272 z"  />
+<glyph unicode="&#xe0b0;" d="M 256,480C 114.624,480,0,365.376,0,224s 114.624-256, 256-256s 256,114.624, 256,256S 397.376,480, 256,480z M 36.576,224c0,30.976, 6.848,60.416, 19.008,86.976
+               l 104.672-279.296C 87.040,66.304, 36.576,139.424, 36.576,224z M 256,10.272c-21.536,0-42.304,3.072-61.984,8.704L 259.84,205.312l 67.424-179.968
+               c 0.448-1.056, 0.992-2.048, 1.568-2.976C 306.080,14.56, 281.568,10.272, 256,10.272z M 286.176,324.192c 13.216,0.672, 25.12,2.016, 25.12,2.016
+               c 11.84,1.376, 10.432,18.272-1.376,17.632c0,0-35.552-2.72-58.464-2.72c-21.536,0-57.792,2.72-57.792,2.72
+               C 181.824,344.512, 180.448,326.912, 192.256,326.208c0,0, 11.2-1.344, 23.008-2.016L 249.44,232.96l-48.032-140.256L 121.536,324.192
+               c 13.248,0.672, 25.12,2.016, 25.12,2.016c 11.808,1.376, 10.432,18.272-1.376,17.632c0,0-35.552-2.72-58.464-2.72
+               c-4.096,0-8.96,0.096-14.112,0.256C 111.904,399.392, 179.36,437.728, 256,437.728c 57.12,0, 109.12-21.28, 148.192-56.096
+               c-0.96,0.064-1.856,0.192-2.848,0.192c-21.568,0-36.864-18.272-36.864-37.92c0-17.632, 10.432-32.512, 21.536-50.144
+               c 8.384-14.272, 18.112-32.544, 18.112-58.944c0-18.272-7.2-39.52-16.672-69.12l-21.92-71.2L 286.176,324.192z M 475.424,224
+               c0-78.848-43.872-147.68-109.12-184.672l 67.040,188.704c 12.512,30.496, 16.672,54.848, 16.672,76.544c0,7.872-0.512,15.168-1.472,21.984
+               C 465.664,296.096, 475.424,261.152, 475.424,224z"  />
+<glyph unicode="&#xe0b1;" d="M 256,480C 114.624,480,0,365.376,0,224s 114.624-256, 256-256s 256,114.624, 256,256C 512,365.408, 397.376,480, 256,480z M 416,75.552
+               C 416,69.184, 410.816,64, 404.448,64L 107.552,64 C 101.184,64, 96,69.184, 96,75.552L 96,372.448 C 96,378.816, 101.184,384, 107.552,384l 296.896,0 C 410.816,384, 416,378.816, 416,372.448
+               L 416,75.552 zM 192,224A64,64 1260 1 1 320,224A64,64 1260 1 1 192,224zM 320,352L 384,352L 384,288L 320,288zM 351.2,224c0-52.512-42.72-95.2-95.2-95.2S 160.8,171.488, 160.8,224c0,6.816, 0.8,9.568, 2.144,16L 128,240 L 128,96 l 256,0 L 384,240 
+               l-34.944,0 C 350.432,233.568, 351.2,230.816, 351.2,224z"  />
+<glyph unicode="&#xe0b2;" d="M 315.648,204.768c 21.408-58.816, 30.112-106.72, 31.776-116.672c 36.704,24.832, 62.848,64.16, 70.144,109.696
+               C 412,199.552, 366.944,212.992, 315.648,204.768zM 283.936,196.832c-92.288-32.16-125.44-96.192-128.384-102.208c 27.744-21.632, 62.624-34.528, 100.448-34.528
+               c 22.688-0.032, 44.32,4.608, 63.936,12.992c-2.432,14.368-11.936,64.416-34.912,124.096C 284.64,197.088, 284.288,196.96, 283.936,196.832zM 291.264,262.72c 3.808-7.808, 7.456-15.744, 10.848-23.712c 1.184-2.816, 2.368-5.664, 3.52-8.448
+               c 54.464,6.848, 108.576-4.128, 113.952-5.28c-0.32,38.624-14.144,74.112-36.928,101.952C 379.232,322.592, 351.808,287.424, 291.264,262.72zM 267.424,222.336C 269.568,223.008, 271.712,223.68, 273.856,224.256C 269.76,233.568, 265.28,242.88, 260.608,252.032
+               C 178.88,227.584, 99.552,228.608, 92.384,228.768C 92.352,227.104, 92.32,225.44, 92.32,223.776c 0.032-42.048, 15.936-80.416, 42.080-109.44
+               C 138.112,120.672, 183.008,195.040, 267.424,222.336zM 247.104,277.216C 219.968,325.44, 190.752,365.952, 186.432,371.872C 140.64,350.272, 106.4,308.064, 95.808,257.28
+               C 103.136,257.184, 170.56,256.896, 247.104,277.216zM 364.48,346.176C 335.584,371.808, 297.6,387.424, 256,387.424c-13.184,0-26.048-1.568-38.336-4.544
+               C 222.176,376.8, 251.904,336.32, 278.72,287.072C 336.928,308.864, 361.536,341.984, 364.48,346.176zM 256,480C 114.624,480,0,365.376,0,224s 114.624-256, 256-256s 256,114.624, 256,256C 512,365.408, 397.376,480, 256,480z M 256,32.416
+               c-105.632,0-191.584,85.952-191.584,191.584c0,105.632, 85.952,191.584, 191.584,191.584S 447.584,329.632, 447.584,224C 447.584,118.368, 361.632,32.416, 256,32.416z"  />
+<glyph unicode="&#xe0b3;" d="M 256,480C 114.624,480,0,365.376,0,224s 114.624-256, 256-256s 256,114.624, 256,256C 512,365.408, 397.376,480, 256,480z M 408.064,293.664
+               c-17.184-96.704-113.088-178.592-141.92-197.28c-28.864-18.688-55.168,7.488-64.736,27.296C 190.496,146.272, 157.76,268.736, 149.184,278.88
+               C 140.608,289.024, 114.88,268.736, 114.88,268.736L 102.4,285.088c0,0, 52.256,62.368, 92,70.208C 236.544,363.584, 236.48,290.56, 246.624,250.048
+               c 9.824-39.2, 16.384-61.632, 24.96-61.632c 8.576,0, 24.96,21.856, 42.88,55.36c 17.984,33.536-0.768,63.168-35.872,42.112
+               C 292.672,370.080, 425.216,390.336, 408.064,293.664z"  />
+<glyph unicode="&#xe0b4;" d="M 256,480C 114.624,480,0,365.376,0,224s 114.624-256, 256-256s 256,114.624, 256,256C 512,365.408, 397.376,480, 256,480z M 192,100L 128,100 l0,224 l 64,0 L 192,100 z
+                M 161.984,337.728c-16.576,0-29.984,13.44-29.984,30.016c0,16.576, 13.44,30.016, 29.984,30.016C 178.56,397.728, 192,384.288, 192,367.744
+               C 192,351.168, 178.56,337.728, 161.984,337.728z M 416,100l-64,0 L 352,238.496 c0,16.224-4.64,27.584-24.576,27.584C 294.368,266.080, 288,238.496, 288,238.496l0-138.496 L 224,100 l0,224 l 64,0 
+               l0-21.408 c 9.152,7.008, 32,21.376, 64,21.376c 20.768,0, 64-12.416, 64-87.424L 416,100 z"  />
+<glyph unicode="&#xe0b5;" d="M 256,480C 114.624,480,0,365.376,0,224s 114.624-256, 256-256s 256,114.624, 256,256C 512,365.408, 397.376,480, 256,480z M 138.080,64.768
+               c-23.008,0-41.696,18.56-41.696,41.536c0,22.848, 18.688,41.632, 41.696,41.632c 23.072,0, 41.728-18.784, 41.76-41.632
+               C 179.84,83.328, 161.184,64.768, 138.080,64.768z M 242.848,64.384c0,39.264-15.264,76.16-42.912,103.776C 172.288,195.872, 135.52,211.168, 96.448,211.168L 96.448,271.2 
+               c 113.952,0, 206.72-92.768, 206.72-206.816L 242.848,64.384 z M 349.376,64.416c0,139.584-113.44,253.152-252.864,253.152L 96.512,377.6 c 172.608,0, 313.088-140.544, 313.088-313.184
+               L 349.376,64.416 z"  />
+<glyph unicode="&#xe0b6;" d="M 256,480C 114.624,480,0,365.376,0,224s 114.624-256, 256-256s 256,114.624, 256,256C 512,365.408, 397.376,480, 256,480z M 273.664,183.36L 233.184,256.352
+               c 17.536,3.008, 32.704,3.776, 45.856,3.008l 22.976-36.704l 55.040,13.344c-21.632,21.184-61.152,41.088-133.408,28.224
+               C 222.048,263.936, 220.48,263.616, 218.944,263.328l 44.672-82.72l-160.864-44.192c-3.488,5.408-6.304,11.168-8.384,17.216
+               C 83.968,183.744, 92.512,214.656, 114.144,239.2c 13.088,14.688, 31.264,26.912, 53.376,35.456L 153.984,303.008c 12.032,3.84, 25.056,6.72, 38.88,8.576
+               l 14.208-26.336C 208.608,285.504, 210.144,285.76, 211.712,285.984c 42.784,6.464, 84.576,6.848, 123.136-2.208c 39.328-7.744, 75.424-24.928, 92.064-44.224
+               c 3.36-3.872, 5.888-7.904, 7.616-12.032L 273.664,183.36zM 148.736,185.536l 55.040,13.344L 179.168,250.336C 147.744,233.504, 143.776,208.192, 148.736,185.536z"  />
+<glyph unicode="&#xe0b7;" d="M 256,480C 114.624,480,0,365.376,0,224s 114.624-256, 256-256s 256,114.624, 256,256C 512,365.408, 397.376,480, 256,480z M 309.152,165.984
+               c 7.904,5.984, 17.76,9.568, 28.448,9.568c 26.112,0, 47.296-21.152, 47.296-47.296c0-26.112-21.184-47.296-47.296-47.296
+               c-26.112,0-47.264,21.152-47.264,47.296c0,0,0,0.032,0,0.032L 169.728,186.592c-7.392-4.768-16.16-7.584-25.6-7.584
+               c-26.112,0-47.296,21.184-47.296,47.296c0,26.112, 21.184,47.296, 47.296,47.296c 11.136,0, 21.344-3.872, 29.44-10.304L 290.304,319.68
+               c0,0,0,0.032,0,0.032c0,26.112, 21.184,47.296, 47.264,47.296c 26.112,0, 47.296-21.152, 47.296-47.296s-21.184-47.296-47.296-47.296
+               c-10.688,0-20.512,3.584-28.448,9.568L 191.36,225.088c0-0.704-0.064-1.44-0.096-2.144L 309.152,165.984z"  />
+<glyph unicode="&#xe0b8;" d="M 256,480C 114.624,480,0,365.376,0,224s 114.624-256, 256-256s 256,114.624, 256,256C 512,365.408, 397.376,480, 256,480z M 265.088,352.256
+               C 267.84,358.496, 271.552,364, 276.256,368.704c 4.736,4.736, 10.176,8.448, 16.448,11.2C 298.944,382.656, 305.76,384, 313.024,384
+               c 7.328,0, 14.080-1.344, 20.32-4.096c 6.24-2.72, 11.712-6.464, 16.416-11.2c 4.736-4.704, 8.48-10.208, 11.2-16.448
+               c 2.752-6.24, 4.128-12.992, 4.128-20.32c0-7.328-1.376-14.080-4.128-20.32c-2.72-6.24-6.464-11.712-11.2-16.448
+               c-4.736-4.704-10.176-8.448-16.416-11.2c-6.24-2.72-12.992-4.096-20.32-4.096c-7.296,0-14.080,1.376-20.32,4.096
+               c-6.24,2.752-11.712,6.464-16.448,11.2C 271.552,299.904, 267.84,305.376, 265.088,311.616C 262.336,317.856, 260.96,324.64, 260.96,331.936
+               C 260.96,339.264, 262.336,346.016, 265.088,352.256z M 184.032,360.512c 7.776,7.744, 17.12,11.616, 28.064,11.616c 11.264,0, 20.8-3.872, 28.544-11.616
+               C 248.416,352.736, 252.288,343.36, 252.288,332.384c0-11.264-3.904-20.768-11.68-28.544C 232.896,296.096, 223.36,292.224, 212.096,292.224
+               c-10.912,0-20.288,3.872-28.064,11.648c-7.776,7.776-11.68,17.28-11.68,28.544C 172.384,343.36, 176.256,352.736, 184.032,360.512z M 114.176,353.184
+               c 5.92,5.952, 13.152,8.928, 21.664,8.928c 8.544,0, 15.68-2.976, 21.472-8.928c 5.76-5.92, 8.64-12.992, 8.64-21.216
+               c0-8.544-2.912-15.744-8.64-21.696C 151.52,304.32, 144.384,301.344, 135.84,301.344c-8.512,0-15.744,2.976-21.664,8.896
+               C 108.224,316.192, 105.248,323.424, 105.248,331.936C 105.248,340.16, 108.224,347.264, 114.176,353.184z M 384,64L 243.36,64 l0,64 L 155.264,128 L 155.264,192 L 102.688,192 L 102.688,250.208 
+               c0,10.336-0.256,19.104, 6.912,26.24c 7.136,7.136, 15.904,10.72, 26.24,10.72c 8.832,0, 16.48-2.656, 22.848-8
+               c 6.4-5.344, 10.624-11.936, 12.8-19.872c 5.152,6.080, 11.264,10.784, 18.24,14.176c 7.008,3.328, 14.464,5.024, 22.368,5.024
+               c 12.48,0, 23.36-3.744, 32.672-11.2c 9.28-7.456, 15.456-16.832, 18.496-28.064c 6.4,6.080, 13.824,10.976, 22.4,14.592
+               c 8.512,3.648, 17.664,5.472, 27.392,5.472c 9.76,0, 18.976-1.824, 27.648-5.472c 8.64-3.648, 16.192-8.672, 22.592-15.072
+               c 6.4-6.4, 11.488-13.92, 15.264-22.592C 382.368,207.52, 384,198.304, 384,188.544L 384,64 z"  />
+<glyph unicode="&#xe0b9;" d="M 256,480C 114.624,480,0,365.376,0,224s 114.624-256, 256-256s 256,114.624, 256,256C 512,365.408, 397.376,480, 256,480z M 325.408,72.608
+               c-16.32,0-31.552,4.672-44.48,12.704c-8.32-1.504-16.864-2.368-25.664-2.368c-77.92,0-141.056,62.816-141.056,140.32
+               c0,7.52, 0.608,14.912, 1.76,22.112C 107.36,258.56, 102.4,274.304, 102.4,291.2c0,46.496, 37.664,84.16, 84.16,84.192c 16.96,0, 32.704-5.024, 45.952-13.664
+               c 7.36,1.216, 14.976,1.856, 22.72,1.856c 77.888,0, 141.056-62.848, 141.056-140.32c0-6.464-0.48-12.8-1.312-19.040
+               C 404.224,190.688, 409.6,174.368, 409.6,156.8C 409.6,110.304, 371.936,72.608, 325.408,72.608zM 237.568,250.272c-40.768,9.92-18.464,44.8, 14.56,44.288C 284.192,294.048, 300.48,260.192, 315.008,261.952
+               c 14.56,1.76, 26.944,23.552, 4.064,43.072C 299.296,321.92, 274.272,331.232, 235.808,327.744C 205.664,325.024, 177.024,305.6, 173.504,267.776
+               C 170.016,229.92, 214.88,210.688, 250.4,205.408c 24.896-3.648, 58.816-15.712, 38.432-39.008c-18.72-21.408-54.176-8.16-63.488-2.336
+               C 216.032,169.92, 205.536,190.88, 188.064,189.728c-17.504-1.184-26.112-24.128-4.64-44.288c 19.232-18.016, 40.192-27.968, 85.024-25.6
+               c 44.864,2.336, 85.056,41.92, 69.312,79.2S 278.336,240.384, 237.568,250.272z"  />
+<glyph unicode="&#xe0ba;" d="M 256,480C 114.624,480,0,365.376,0,224s 114.624-256, 256-256s 256,114.624, 256,256C 512,365.408, 397.376,480, 256,480z M 413.28,166.688
+               c-1.728-21.312-17.888-48.512-40.544-52.448c-72.416-5.6-158.368-4.928-233.44,0c-23.424,2.944-38.816,31.168-40.544,52.448
+               c-3.648,44.736-3.648,70.208,0,114.944C 100.48,302.912, 116.256,330.976, 139.296,333.536c 74.208,6.24, 160.576,4.896, 233.44,0
+               c 26.112-0.96, 38.816-27.808, 40.544-49.12C 416.896,239.68, 416.896,211.424, 413.28,166.688zM 224,160L 320,224L 224,288         z"  />
+<glyph unicode="&#xe0bb;" d="M 256,480C 114.624,480,0,365.376,0,224s 114.624-256, 256-256s 256,114.624, 256,256C 512,365.408, 397.376,480, 256,480z M 256,416
+               c 25.472,0, 49.76-4.96, 72-13.952L 328,268.16 L 191.328,404.832C 211.52,412.032, 233.312,416, 256,416z M 69.6,177.792C 65.952,192.576, 64,208.064, 64,224
+               c0,72.544, 40.192,135.648, 99.552,168.32l 60.288-60.32L 69.6,177.792z M 160,57.696c-35.488,20.512-63.776,52.064-80.192,89.952L 160,227.84L 160,57.696 z M 256,32
+               c-25.472,0-49.76,4.96-72,13.984L 184,128 l 238.304,0 C 389.088,70.624, 327.072,32, 256,32z M 434.016,152L 352,152 L 352,390.304 C 409.376,357.088, 448,295.072, 448,224
+               C 448,198.528, 443.040,174.24, 434.016,152z"  />
+<glyph unicode="&#xe0bc;" d="M 256,480C 114.624,480,0,365.376,0,224s 114.624-256, 256-256s 256,114.624, 256,256C 512,365.408, 397.376,480, 256,480z M 305.376,352.288l 84.736-146.816L 291.392,205.472 
+               L 206.624,352.288L 305.376,352.288 z M 107.904,181.248L 192.608,328l 49.344-85.536l-84.704-146.752L 107.904,181.248z M 354.72,95.712L 191.424,95.712 l 49.344,85.536l 163.328,0 
+               L 354.72,95.712z"  />
+<glyph unicode="&#xe0bd;" d="M 256,480C 114.624,480,0,365.376,0,224s 114.624-256, 256-256s 256,114.624, 256,256C 512,365.408, 397.376,480, 256,480z M 161.792,159.872
+               c-35.872,0-64.928,29.056-64.928,64.928s 29.056,64.928, 64.928,64.928c 35.872,0, 64.928-29.056, 64.928-64.928S 197.664,159.872, 161.792,159.872z
+                M 350.88,159.872c-35.872,0-64.928,29.056-64.928,64.928s 29.056,64.928, 64.928,64.928c 35.872,0, 64.928-29.056, 64.928-64.928
+               S 386.752,159.872, 350.88,159.872z"  />
+<glyph unicode="&#xe0be;" d="M 315.84,184.096L 196.16,184.096 c-10.976,0-19.936-8.992-19.936-19.936s 8.992-19.936, 19.936-19.936L 315.84,144.224 
+               c 10.976,0, 19.936,8.992, 19.936,19.936S 326.816,184.096, 315.84,184.096zM 196.16,263.904L 256,263.904 c 10.976,0, 19.936,8.992, 19.936,19.936c0,10.976-8.992,19.936-19.936,19.936L 196.16,303.776 
+               c-10.976,0-19.936-8.992-19.936-19.936C 176.192,272.864, 185.184,263.904, 196.16,263.904zM 256,480C 114.624,480,0,365.376,0,224s 114.624-256, 256-256s 256,114.624, 256,256C 512,365.408, 397.376,480, 256,480z M 415.584,167.456
+               c0-56.928-46.336-103.040-103.68-103.040L 200.192,64.416 c-57.28,0-103.808,46.112-103.808,103.008L 96.384,280.512 c 0.032,56.928, 46.496,103.072, 103.808,103.072l 52.32,0 
+               c 57.344,0, 103.232-42.816, 103.232-99.744c 0.768-10.656, 10.368-19.936, 21.312-19.936l 0.384,0 l 17.504,0 c 11.456,0, 20.64-12.032, 20.64-23.392L 415.584,167.456 z"  />
+<glyph unicode="&#xe0bf;" d="M 225.856,314.72c-29.504,0-58.88-3.584-87.392-10.656C 129.024,301.728, 123.296,290.336, 125.632,280.928
+               s 11.872-15.168, 21.312-12.832c 25.728,6.368, 52.288,9.6, 78.944,9.6c 51.136,0, 100.128-11.488, 145.6-34.176c 2.528-1.248, 5.184-1.856, 7.84-1.856
+               c 6.464,0, 12.672,5.408, 15.776,11.584c 4.32,8.672, 0.8,19.264-7.904,23.584C 336.768,301.984, 282.496,314.72, 225.856,314.72zM 225.856,165.888c-23.776,0-47.264-3.552-69.824-10.496c-6.976-2.144-10.848-16.928-8.704-23.872
+               c 2.144-6.976, 9.536-10.88, 16.512-8.704c 20,6.208, 40.896,9.344, 62.016,9.344c 35.264,0, 70.176-8.96, 100.928-25.888
+               c 2.016-1.12, 4.192-1.632, 6.368-1.632c 4.672,0, 9.184,2.464, 11.552,6.848c 3.52,6.368, 1.216,21.792-5.184,25.312
+               C 304.896,155.808, 265.568,165.888, 225.856,165.888zM 362.528,204.512c-41.888,21.76-89.152,33.28-136.64,33.28c-26.496,0-52.864-3.52-78.304-10.464
+               c-8.192-2.24-13.024-16.224-10.784-24.416c 2.24-8.192, 10.688-13.024, 18.912-10.784c 22.784,6.208, 46.432,9.376, 70.176,9.376
+               c 43.2,0, 84.384-10.048, 122.464-29.824c 2.272-1.184, 4.672-1.728, 7.072-1.728c 5.568,0, 10.912,8.576, 13.664,13.824
+               C 372.992,191.296, 370.048,200.608, 362.528,204.512zM 256,480C 114.624,480,0,365.376,0,224s 114.624-256, 256-256s 256,114.624, 256,256C 512,365.408, 397.376,480, 256,480z M 256,32c-106.048,0-192,85.952-192,192
+               c0,106.048, 85.952,192, 192,192s 192-85.952, 192-192C 448,117.952, 362.048,32, 256,32z"  />
+<glyph unicode="&#xe0c0;" d="M 256,480C 114.624,480,0,365.376,0,224s 114.624-256, 256-256s 256,114.624, 256,256C 512,365.408, 397.376,480, 256,480z M 416,223.648L 416,80 l0-4.608 
+               C 416,69.12, 410.88,64, 404.608,64L 400,64 L 256.192,64 L 112,64 C 103.168,64, 96,71.168, 96,80L 96,223.648 L 96,368 L 96,372.608 C 96,378.88, 101.12,384, 107.392,384L 112,384 l 144.192,0 L 400,384 
+               C 408.832,384, 416,376.832, 416,368L 416,223.648 zM 128,223.648L 256.192,223.648L 256.192,96L 128,96zM 256.192,352L 384,352L 384,223.648L 256.192,223.648z"  />
+<glyph unicode="&#xe0c1;" d="M 416,480L 96,480 C 42.976,480,0,437.024,0,384l0-320 c0-53.024, 42.976-96, 96-96l 320,0 c 53.024,0, 96,42.976, 96,96L 512,384 C 512,437.024, 469.024,480, 416,480z
+                M 322.176,224.032L 280.224,224l-0.032-153.6L 222.624,70.4 L 222.624,224 l-38.4,0 L 184.224,276.928 l 38.4,0.032L 222.56,308.128C 222.56,351.328, 234.272,377.6, 285.12,377.6l 42.368,0 l0-52.96 L 300.992,324.64 
+               c-19.808,0-20.768-7.392-20.768-21.184L 280.16,276.96l 47.616,0 L 322.176,224.032z"  />
+<glyph unicode="&#xe0c2;" d="M 416,480L 96,480 C 42.976,480,0,437.024,0,384l0-320 c0-53.024, 42.976-96, 96-96l 320,0 c 53.024,0, 96,42.976, 96,96L 512,384 C 512,437.024, 469.024,480, 416,480z
+                M 383.36,281.472c 0.128-2.72, 0.192-5.44, 0.192-8.16c0-83.296-63.392-179.328-179.328-179.328c-35.584,0-68.704,10.432-96.608,28.32
+               c 4.928-0.576, 9.952-0.896, 15.040-0.896c 29.536,0, 56.704,10.080, 78.272,26.976c-27.584,0.512-50.848,18.752-58.88,43.776
+               C 145.92,191.424, 149.824,191.040, 153.92,191.040c 5.76,0, 11.328,0.768, 16.608,2.208C 141.696,199.040, 119.968,224.512, 119.968,255.040c0,0.256,0,0.512,0,0.8
+               c 8.512-4.736, 18.208-7.552, 28.544-7.904C 131.616,259.232, 120.48,278.528, 120.48,300.384c0,11.552, 3.104,22.368, 8.512,31.68
+               c 31.072-38.144, 77.536-63.232, 129.92-65.856C 257.824,270.816, 257.28,275.648, 257.28,280.576c0,34.784, 28.224,63.008, 63.040,63.008
+               c 18.112,0, 34.496-7.648, 46.016-19.904c 14.368,2.848, 27.872,8.096, 40.032,15.296c-4.704-14.72-14.688-27.072-27.712-34.88
+               c 12.736,1.504, 24.896,4.928, 36.192,9.92C 406.4,301.408, 395.68,290.304, 383.36,281.472z"  />
+<glyph unicode="&#xe0c3;" d="M 416,480L 96,480 C 42.976,480,0,437.024,0,384l0-320 c0-53.024, 42.976-96, 96-96l 320,0 c 53.024,0, 96,42.976, 96,96L 512,384 C 512,437.024, 469.024,480, 416,480z
+                M 275.968,154.784c-18.72,1.44-26.56,10.72-41.216,19.648c-8.064-42.304-17.92-82.88-47.104-104.032C 178.624,134.304, 200.864,182.304, 211.2,233.28
+               C 193.6,262.944, 213.312,322.56, 250.432,307.872c 45.664-18.080-39.584-110.176, 17.664-121.664c 59.744-12.032, 84.16,103.68, 47.104,141.312
+               c-53.568,54.336-155.84,1.248-143.264-76.544c 3.072-19.008, 22.688-24.768, 7.84-51.040C 145.504,207.52, 135.264,234.56, 136.576,270.592
+               c 2.112,58.976, 52.992,100.256, 104.032,105.984c 64.544,7.232, 125.088-23.68, 133.472-84.384C 383.52,223.68, 344.96,149.44, 275.968,154.784z"  />
+<glyph unicode="&#xe0c4;" d="M 416,480L 96,480 C 42.976,480,0,437.024,0,384l0-320 c0-53.024, 42.976-96, 96-96l 320,0 c 53.024,0, 96,42.976, 96,96L 512,384 C 512,437.024, 469.024,480, 416,480z
+                M 184.576,51.744c-56.672,0-104.48,23.072-104.48,59.936c0,37.408, 43.616,73.536, 100.288,73.504c 6.176,0, 11.84,0.16, 17.696,0.16
+               C 190.336,192.864, 184.192,202.112, 184.192,213.536c0,6.784, 2.176,13.28, 5.184,19.072C 186.304,232.384, 183.168,232.288, 179.936,232.288
+               c-46.56,0-77.728,33.12-77.728,74.176c0,40.16, 43.040,74.816, 88.8,74.816c 25.536,0, 102.080,0, 102.080,0L 270.176,364.768L 237.824,364.768 
+               c 21.472-8.256, 32.896-33.28, 32.896-58.944c0-21.536-11.936-40.096-28.8-53.28C 225.44,239.648, 222.336,234.272, 222.336,223.328
+               c0-9.344, 17.664-25.216, 26.88-31.744c 26.976-19.072, 35.68-36.8, 35.68-66.336C 284.864,88.384, 249.184,51.744, 184.576,51.744z M 448,255.392l-64,0 l0-63.872 
+               l-31.968,0 L 352.032,255.392 L 288,255.392 L 288,288 l 64.032,0 L 352.032,352 L 384,352 l0-64 l 64,0 L 448,255.392 zM 234.048,303.84C 229.504,338.336, 204.512,366.048, 178.24,366.848c-26.272,0.768-43.904-25.632-39.36-60.192
+               c 4.544-34.528, 29.536-63.168, 55.84-63.936C 220.96,241.92, 238.624,269.28, 234.048,303.84zM 216.608,171.584C 208.864,174.080, 200.32,175.552, 191.2,175.648c-39.168,0.416-74.24-23.872-74.24-53.088
+               c0-29.792, 28.288-54.592, 67.456-54.592c 55.072,0, 74.24,23.296, 74.24,53.056c0,3.616-0.448,7.104-1.248,10.528
+               C 253.12,148.448, 237.856,156.832, 216.608,171.584z"  />
+<glyph unicode="&#xe0c5;" d="M 416,480L 96,480 C 42.976,480,0,437.024,0,384l0-320 c0-53.024, 42.976-96, 96-96l 320,0 c 53.024,0, 96,42.976, 96,96L 512,384 C 512,437.024, 469.024,480, 416,480z
+                M 351.968,243.2L 275.2,243.2 L 275.168,172.96c0-17.824-0.224-28.096, 1.664-33.152c 1.888-5.024, 6.56-10.24, 11.68-13.248
+               c 6.816-4.096, 14.56-6.112, 23.296-6.112c 15.552,0, 24.736,2.048, 40.128,12.16L 351.936,86.4 c-13.12-6.176-24.544-9.76-35.2-12.256
+               C 306.112,71.648, 294.624,70.4, 282.24,70.4c-14.048,0-22.336,1.76-33.12,5.312c-10.784,3.552-20,8.64-27.616,15.168
+               c-7.648,6.56-12.896,13.568-15.872,20.96c-2.944,7.392-4.416,18.112-4.416,32.16L 201.216,251.712 L 160.032,251.712 l0,43.52 
+               c 12.064,3.904, 25.568,9.536, 34.144,16.864c 8.608,7.328, 15.52,16.096, 20.736,26.368C 220.096,348.672, 223.68,361.76, 225.664,377.6L 275.2,377.6 l0-76.8 l 76.768,0 L 351.968,243.2 z"  />
+<glyph unicode="&#xe0c6;" d="M 416,480L 96,480 C 42.976,480,0,437.024,0,384l0-320 c0-53.024, 42.976-96, 96-96l 320,0 c 53.024,0, 96,42.976, 96,96L 512,384 C 512,437.024, 469.024,480, 416,480z
+                M 256,292.608c-12.608,0-22.88-10.272-22.88-22.88l0-91.488 c0-37.824-30.784-68.608-68.608-68.608c-37.824,0-68.608,30.784-68.608,68.608L 95.904,224 l 45.728,0 
+               l0-45.728 c0-12.608, 10.272-22.88, 22.88-22.88c 12.608,0, 22.88,10.272, 22.88,22.88L 187.392,269.728 c0,37.824, 30.784,68.608, 68.608,68.608
+               s 68.608-30.784, 68.608-63.616l0-22.176 L 295.296,244L 278.848,252.576L 278.848,274.752 C 278.848,282.336, 268.576,292.608, 256,292.608z M 416.064,178.272
+               c0-37.824-30.784-68.608-68.608-68.608s-68.608,30.784-68.608,73.632L 278.848,227.584 l 16.448-8.576l 29.312,8.576l0-44.32 c0-17.6, 10.272-27.872, 22.88-27.872
+               s 22.88,10.272, 22.88,22.88L 370.368,224 l 45.728,0 L 416.096,178.272 z"  />
+<glyph unicode="&#xe0c7;" d="M 416,480L 96,480 C 42.976,480,0,437.024,0,384l0-320 c0-53.024, 42.976-96, 96-96l 320,0 c 53.024,0, 96,42.976, 96,96L 512,384 C 512,437.024, 469.024,480, 416,480z
+                M 58.88,224c0,27.84, 6.144,54.272, 17.088,78.112l 94.016-250.912C 104.224,82.336, 58.88,148, 58.88,224z M 256,32c-19.36,0-38.016,2.752-55.68,7.808
+               l 61.696,161.184l 58.048-155.456c 0.384-0.96, 0.896-1.824, 1.408-2.656C 300.992,35.84, 278.976,32, 256,32z M 283.104,314.016
+               C 294.976,314.624, 305.664,315.84, 305.664,315.84c 10.656,1.248, 9.376,16.416-1.248,15.84c0,0-31.936-2.432-52.544-2.432
+               c-19.36,0-51.904,2.432-51.904,2.432C 189.376,332.256, 188.128,316.448, 198.72,315.84c0,0, 10.048-1.216, 20.672-1.792l 30.72-81.984l-47.104-126.048
+               L 135.2,314.016C 147.072,314.624, 157.76,315.84, 157.76,315.84c 10.624,1.248, 9.376,16.416-1.248,15.84c0,0-31.936-2.432-52.544-2.432
+               c-3.68,0-8.064,0.096-12.672,0.224C 126.56,381.568, 187.136,416, 256,416c 51.328,0, 98.048-19.136, 133.12-50.4c-0.864,0.064-1.664,0.16-2.56,0.16
+               c-19.392,0-33.12-16.416-33.12-34.080c0-15.84, 9.376-29.216, 19.36-45.056c 7.52-12.8, 12.864-19.872, 12.864-43.584
+               c0-16.416-6.464-35.52-14.976-62.080l-19.68-63.968L 283.104,314.016z M 355.072,58.080l 60.224,169.536c 11.232,27.392, 14.976,49.28, 14.976,68.768
+               c0,7.072-0.448,13.632-1.312,19.744C 444.352,288.768, 453.12,257.376, 453.12,224C 453.12,153.152, 413.696,91.328, 355.072,58.080z"  />
+<glyph unicode="&#xe0c8;" d="M 416,480L 96,480 C 42.976,480,0,437.024,0,384l0-320 c0-53.024, 42.976-96, 96-96l 320,0 c 53.024,0, 96,42.976, 96,96L 512,384 C 512,437.024, 469.024,480, 416,480z
+                M 416,75.552C 416,69.184, 410.816,64, 404.448,64L 107.552,64 C 101.184,64, 96,69.184, 96,75.552L 96,372.448 C 96,378.816, 101.184,384, 107.552,384l 296.896,0 
+               C 410.816,384, 416,378.816, 416,372.448L 416,75.552 zM 320,352L 384,352L 384,288L 320,288zM 192,224A64,64 1260 1 1 320,224A64,64 1260 1 1 192,224zM 351.2,224c0-52.512-42.72-95.2-95.2-95.2S 160.8,171.488, 160.8,224c0,6.816, 0.8,9.568, 2.144,16L 128,240 L 128,96 l 256,0 L 384,240 
+               l-34.944,0 C 350.432,233.568, 351.2,230.816, 351.2,224z"  />
+<glyph unicode="&#xe0c9;" d="M 247.104,277.216C 219.968,325.44, 190.752,365.952, 186.432,371.872C 140.64,350.272, 106.4,308.064, 95.808,257.28
+               C 103.136,257.184, 170.56,256.896, 247.104,277.216zM 416,480L 96,480 C 42.976,480,0,437.024,0,384l0-320 c0-53.024, 42.976-96, 96-96l 320,0 c 53.024,0, 96,42.976, 96,96L 512,384 C 512,437.024, 469.024,480, 416,480z
+                M 256,32.416c-105.632,0-191.584,85.952-191.584,191.584c0,105.632, 85.952,191.584, 191.584,191.584S 447.584,329.632, 447.584,224
+               C 447.584,118.368, 361.632,32.416, 256,32.416zM 267.424,222.336C 269.568,223.008, 271.712,223.68, 273.856,224.256C 269.76,233.568, 265.28,242.88, 260.608,252.032
+               C 178.88,227.584, 99.552,228.608, 92.384,228.768C 92.352,227.104, 92.32,225.44, 92.32,223.776c 0.032-42.048, 15.936-80.416, 42.080-109.44
+               C 138.112,120.672, 183.008,195.040, 267.424,222.336zM 291.264,262.72c 3.808-7.808, 7.456-15.744, 10.848-23.712c 1.184-2.816, 2.368-5.664, 3.52-8.448
+               c 54.464,6.848, 108.576-4.128, 113.952-5.28c-0.32,38.624-14.144,74.112-36.928,101.952C 379.232,322.592, 351.808,287.424, 291.264,262.72zM 283.936,196.832c-92.288-32.16-125.44-96.192-128.384-102.208c 27.744-21.632, 62.624-34.528, 100.448-34.528
+               c 22.688-0.032, 44.32,4.608, 63.936,12.992c-2.432,14.368-11.936,64.416-34.912,124.096C 284.64,197.088, 284.288,196.96, 283.936,196.832zM 364.48,346.176C 335.584,371.808, 297.6,387.424, 256,387.424c-13.184,0-26.048-1.568-38.336-4.544
+               C 222.176,376.8, 251.904,336.32, 278.72,287.072C 336.928,308.864, 361.536,341.984, 364.48,346.176zM 315.648,204.768c 21.408-58.816, 30.112-106.72, 31.776-116.672c 36.704,24.832, 62.848,64.16, 70.144,109.696
+               C 412,199.552, 366.944,212.992, 315.648,204.768z"  />
+<glyph unicode="&#xe0ca;" d="M 416,480L 96,480 C 42.976,480,0,437.024,0,384l0-320 c0-53.024, 42.976-96, 96-96l 320,0 c 53.024,0, 96,42.976, 96,96L 512,384 C 512,437.024, 469.024,480, 416,480z
+                M 408.064,293.664c-17.184-96.704-113.088-178.592-141.92-197.28c-28.864-18.688-55.168,7.488-64.736,27.296C 190.496,146.272, 157.76,268.736, 149.184,278.88
+               C 140.608,289.024, 114.88,268.736, 114.88,268.736L 102.4,285.088c0,0, 52.256,62.368, 92,70.208C 236.544,363.584, 236.48,290.56, 246.624,250.048
+               c 9.824-39.2, 16.384-61.632, 24.96-61.632c 8.576,0, 24.96,21.856, 42.88,55.36c 17.984,33.536-0.768,63.168-35.872,42.112
+               C 292.672,370.080, 425.216,390.336, 408.064,293.664z"  />
+<glyph unicode="&#xe0cb;" d="M 416,480L 96,480 C 42.976,480,0,437.024,0,384l0-320 c0-53.024, 42.976-96, 96-96l 320,0 c 53.024,0, 96,42.976, 96,96L 512,384 C 512,437.024, 469.024,480, 416,480z
+                M 192,100L 128,100 l0,224 l 64,0 L 192,100 z M 161.984,337.728c-16.576,0-29.984,13.44-29.984,30.016c0,16.576, 13.44,30.016, 29.984,30.016
+               C 178.56,397.728, 192,384.288, 192,367.744C 192,351.168, 178.56,337.728, 161.984,337.728z M 416,100l-64,0 L 352,238.496 c0,16.224-4.64,27.584-24.576,27.584
+               C 294.368,266.080, 288,238.496, 288,238.496l0-138.496 L 224,100 l0,224 l 64,0 l0-21.408 c 9.152,7.008, 32,21.376, 64,21.376c 20.768,0, 64-12.416, 64-87.424L 416,100 z"  />
+<glyph unicode="&#xe0cc;" d="M 416,480L 96,480 C 42.976,480,0,437.024,0,384l0-320 c0-53.024, 42.976-96, 96-96l 320,0 c 53.024,0, 96,42.976, 96,96L 512,384 C 512,437.024, 469.024,480, 416,480z
+                M 138.080,64.768c-23.008,0-41.696,18.56-41.696,41.536c0,22.848, 18.688,41.632, 41.696,41.632c 23.072,0, 41.728-18.784, 41.76-41.632
+               C 179.84,83.328, 161.184,64.768, 138.080,64.768z M 242.848,64.384c0,39.264-15.264,76.16-42.912,103.776C 172.288,195.872, 135.52,211.168, 96.448,211.168L 96.448,271.2 
+               c 113.952,0, 206.72-92.768, 206.72-206.816L 242.848,64.384 z M 349.376,64.416c0,139.584-113.44,253.152-252.864,253.152L 96.512,377.6 c 172.608,0, 313.088-140.544, 313.088-313.184
+               L 349.376,64.416 z"  />
+<glyph unicode="&#xe0cd;" d="M 416,480L 96,480 C 42.976,480,0,437.024,0,384l0-320 c0-53.024, 42.976-96, 96-96l 320,0 c 53.024,0, 96,42.976, 96,96L 512,384 C 512,437.024, 469.024,480, 416,480z
+                M 273.664,183.36L 233.184,256.352c 17.536,3.008, 32.704,3.776, 45.856,3.008l 22.976-36.704l 55.040,13.344c-21.632,21.184-61.152,41.088-133.408,28.224
+               C 222.048,263.936, 220.48,263.616, 218.944,263.328l 44.672-82.72l-160.864-44.192c-3.488,5.408-6.304,11.168-8.384,17.216
+               C 83.968,183.744, 92.512,214.656, 114.144,239.2c 13.088,14.688, 31.264,26.912, 53.376,35.456L 153.984,303.008c 12.032,3.84, 25.056,6.72, 38.88,8.576
+               l 14.208-26.336C 208.608,285.504, 210.144,285.76, 211.712,285.984c 42.784,6.464, 84.576,6.848, 123.136-2.208c 39.328-7.744, 75.424-24.928, 92.064-44.224
+               c 3.36-3.872, 5.888-7.904, 7.616-12.032L 273.664,183.36zM 148.736,185.536l 55.040,13.344L 179.168,250.336C 147.744,233.504, 143.776,208.192, 148.736,185.536z"  />
+<glyph unicode="&#xe0ce;" d="M 416,480L 96,480 C 42.976,480,0,437.024,0,384l0-320 c0-53.024, 42.976-96, 96-96l 320,0 c 53.024,0, 96,42.976, 96,96L 512,384 C 512,437.024, 469.024,480, 416,480z
+                M 309.152,165.984c 7.904,5.984, 17.76,9.568, 28.448,9.568c 26.112,0, 47.296-21.152, 47.296-47.296c0-26.112-21.184-47.296-47.296-47.296
+               c-26.112,0-47.264,21.152-47.264,47.296c0,0,0,0.032,0,0.032L 169.728,186.592c-7.392-4.768-16.16-7.584-25.6-7.584
+               c-26.112,0-47.296,21.184-47.296,47.296c0,26.112, 21.184,47.296, 47.296,47.296c 11.136,0, 21.344-3.872, 29.44-10.304L 290.304,319.68
+               c0,0,0,0.032,0,0.032c0,26.112, 21.184,47.296, 47.264,47.296c 26.112,0, 47.296-21.152, 47.296-47.296s-21.184-47.296-47.296-47.296
+               c-10.688,0-20.512,3.584-28.448,9.568L 191.36,225.088c0-0.704-0.064-1.44-0.096-2.144L 309.152,165.984z"  />
+<glyph unicode="&#xe0cf;" d="M 416,480L 96,480 C 42.976,480,0,437.024,0,384l0-320 c0-53.024, 42.976-96, 96-96l 320,0 c 53.024,0, 96,42.976, 96,96L 512,384 C 512,437.024, 469.024,480, 416,480z
+                M 265.088,352.256C 267.84,358.496, 271.552,364, 276.256,368.704c 4.736,4.736, 10.176,8.448, 16.448,11.2C 298.944,382.656, 305.76,384, 313.024,384
+               c 7.328,0, 14.080-1.344, 20.32-4.096c 6.24-2.72, 11.712-6.464, 16.416-11.2c 4.736-4.704, 8.48-10.208, 11.2-16.448
+               c 2.752-6.24, 4.128-12.992, 4.128-20.32c0-7.328-1.376-14.080-4.128-20.32c-2.72-6.24-6.464-11.712-11.2-16.448
+               c-4.736-4.704-10.176-8.448-16.416-11.2c-6.24-2.72-12.992-4.096-20.32-4.096c-7.296,0-14.080,1.376-20.32,4.096
+               c-6.24,2.752-11.712,6.464-16.448,11.2C 271.552,299.904, 267.84,305.376, 265.088,311.616C 262.336,317.856, 260.96,324.64, 260.96,331.936
+               C 260.96,339.264, 262.336,346.016, 265.088,352.256z M 184.032,360.512c 7.776,7.744, 17.12,11.616, 28.064,11.616c 11.264,0, 20.8-3.872, 28.544-11.616
+               C 248.416,352.736, 252.288,343.36, 252.288,332.384c0-11.264-3.904-20.768-11.68-28.544C 232.896,296.096, 223.36,292.224, 212.096,292.224
+               c-10.912,0-20.288,3.872-28.064,11.648c-7.776,7.776-11.68,17.28-11.68,28.544C 172.384,343.36, 176.256,352.736, 184.032,360.512z M 114.176,353.184
+               c 5.92,5.952, 13.152,8.928, 21.664,8.928c 8.544,0, 15.68-2.976, 21.472-8.928c 5.76-5.92, 8.64-12.992, 8.64-21.216
+               c0-8.544-2.912-15.744-8.64-21.696C 151.52,304.32, 144.384,301.344, 135.84,301.344c-8.512,0-15.744,2.976-21.664,8.896
+               C 108.224,316.192, 105.248,323.424, 105.248,331.936C 105.248,340.16, 108.224,347.264, 114.176,353.184z M 384,64L 243.36,64 l0,64 L 155.264,128 L 155.264,192 L 102.688,192 L 102.688,250.208 
+               c0,10.336-0.256,19.104, 6.912,26.24c 7.136,7.136, 15.904,10.72, 26.24,10.72c 8.832,0, 16.48-2.656, 22.848-8
+               c 6.4-5.344, 10.624-11.936, 12.8-19.872c 5.152,6.080, 11.264,10.784, 18.24,14.176c 7.008,3.328, 14.464,5.024, 22.368,5.024
+               c 12.48,0, 23.36-3.744, 32.672-11.2c 9.28-7.456, 15.456-16.832, 18.496-28.064c 6.4,6.080, 13.824,10.976, 22.4,14.592
+               c 8.512,3.648, 17.664,5.472, 27.392,5.472c 9.76,0, 18.976-1.824, 27.648-5.472c 8.64-3.648, 16.192-8.672, 22.592-15.072
+               c 6.4-6.4, 11.488-13.92, 15.264-22.592C 382.368,207.52, 384,198.304, 384,188.544L 384,64 z"  />
+<glyph unicode="&#xe0d0;" d="M 416,480L 96,480 C 42.976,480,0,437.024,0,384l0-320 c0-53.024, 42.976-96, 96-96l 320,0 c 53.024,0, 96,42.976, 96,96L 512,384 C 512,437.024, 469.024,480, 416,480z
+                M 325.408,72.608c-16.32,0-31.552,4.672-44.48,12.704c-8.32-1.504-16.864-2.368-25.664-2.368c-77.92,0-141.056,62.816-141.056,140.32
+               c0,7.52, 0.608,14.912, 1.76,22.112C 107.36,258.56, 102.4,274.304, 102.4,291.2c0,46.496, 37.664,84.16, 84.16,84.192c 16.96,0, 32.704-5.024, 45.952-13.664
+               c 7.36,1.216, 14.976,1.856, 22.72,1.856c 77.888,0, 141.056-62.848, 141.056-140.32c0-6.464-0.48-12.8-1.312-19.040
+               C 404.224,190.688, 409.6,174.368, 409.6,156.8C 409.6,110.304, 371.936,72.608, 325.408,72.608zM 237.568,250.272c-40.768,9.92-18.464,44.8, 14.56,44.288C 284.192,294.048, 300.48,260.192, 315.008,261.952
+               c 14.56,1.76, 26.944,23.552, 4.064,43.072C 299.296,321.92, 274.272,331.232, 235.808,327.744C 205.664,325.024, 177.024,305.6, 173.504,267.776
+               C 170.016,229.92, 214.88,210.688, 250.4,205.408c 24.896-3.648, 58.816-15.712, 38.432-39.008c-18.72-21.408-54.176-8.16-63.488-2.336
+               C 216.032,169.92, 205.536,190.88, 188.064,189.728c-17.504-1.184-26.112-24.128-4.64-44.288c 19.232-18.016, 40.192-27.968, 85.024-25.6
+               c 44.864,2.336, 85.056,41.92, 69.312,79.2S 278.336,240.384, 237.568,250.272z"  />
+<glyph unicode="&#xe0d1;" d="M 224,160L 320,224L 224,288       zM 416,480L 96,480 C 42.976,480,0,437.024,0,384l0-320 c0-53.024, 42.976-96, 96-96l 320,0 c 53.024,0, 96,42.976, 96,96L 512,384 C 512,437.024, 469.024,480, 416,480z
+                M 413.28,166.688c-1.728-21.312-17.888-48.512-40.544-52.448c-72.416-5.6-158.368-4.928-233.44,0c-23.424,2.944-38.816,31.168-40.544,52.448
+               c-3.648,44.736-3.648,70.208,0,114.944C 100.48,302.912, 116.256,330.976, 139.296,333.536c 74.208,6.24, 160.576,4.896, 233.44,0
+               c 26.112-0.96, 38.816-27.808, 40.544-49.12C 416.896,239.68, 416.896,211.424, 413.28,166.688z"  />
+<glyph unicode="&#xe0d2;" d="M 416,480L 96,480 C 42.976,480,0,437.024,0,384l0-320 c0-53.024, 42.976-96, 96-96l 320,0 c 53.024,0, 96,42.976, 96,96L 512,384 C 512,437.024, 469.024,480, 416,480z
+                M 256,416c 25.472,0, 49.76-4.96, 72-13.952L 328,268.16 L 191.328,404.832C 211.52,412.032, 233.312,416, 256,416z M 64,224c0,72.544, 40.192,135.648, 99.552,168.32l 60.288-60.32
+               l-154.24-154.208C 65.952,192.576, 64,208.064, 64,224z M 160,57.696c-35.488,20.512-63.776,52.064-80.192,89.952L 160,227.84L 160,57.696 z M 256,32
+               c-25.472,0-49.76,4.96-72,13.984L 184,128 l 238.304,0 C 389.088,70.624, 327.072,32, 256,32z M 434.016,152L 352,152 L 352,390.304 C 409.376,357.088, 448,295.072, 448,224
+               C 448,198.528, 443.040,174.24, 434.016,152z"  />
+<glyph unicode="&#xe0d3;" d="M 416,480L 96,480 C 42.976,480,0,437.024,0,384l0-320 c0-53.024, 42.976-96, 96-96l 320,0 c 53.024,0, 96,42.976, 96,96L 512,384 C 512,437.024, 469.024,480, 416,480z
+                M 305.376,352.288l 84.736-146.816L 291.392,205.472 L 206.624,352.288L 305.376,352.288 z M 107.904,181.248L 192.608,328l 49.344-85.536l-84.704-146.752L 107.904,181.248z
+                M 354.72,95.712L 191.424,95.712 l 49.344,85.536l 163.328,0 L 354.72,95.712z"  />
+<glyph unicode="&#xe0d4;" d="M 416,480L 96,480 C 42.976,480,0,437.024,0,384l0-320 c0-53.024, 42.976-96, 96-96l 320,0 c 53.024,0, 96,42.976, 96,96L 512,384 C 512,437.024, 469.024,480, 416,480z
+                M 161.792,159.872c-35.872,0-64.928,29.056-64.928,64.928s 29.056,64.928, 64.928,64.928c 35.872,0, 64.928-29.056, 64.928-64.928
+               S 197.664,159.872, 161.792,159.872z M 350.88,159.872c-35.872,0-64.928,29.056-64.928,64.928s 29.056,64.928, 64.928,64.928
+               c 35.872,0, 64.928-29.056, 64.928-64.928S 386.752,159.872, 350.88,159.872z"  />
+<glyph unicode="&#xe0d5;" d="M 416,480L 96,480 C 42.976,480,0,437.024,0,384l0-320 c0-53.024, 42.976-96, 96-96l 320,0 c 53.024,0, 96,42.976, 96,96L 512,384 C 512,437.024, 469.024,480, 416,480z
+                M 415.584,167.456c0-56.928-46.336-103.040-103.68-103.040L 200.192,64.416 c-57.28,0-103.808,46.112-103.808,103.008L 96.384,280.512 c 0.032,56.928, 46.496,103.072, 103.808,103.072
+               l 52.32,0 c 57.344,0, 103.232-42.816, 103.232-99.744c 0.768-10.656, 10.368-19.936, 21.312-19.936l 0.384,0 l 17.504,0 c 11.456,0, 20.64-12.032, 20.64-23.392L 415.584,167.456 zM 315.84,184.096L 196.16,184.096 c-10.976,0-19.936-8.992-19.936-19.936s 8.992-19.936, 19.936-19.936L 315.84,144.224 
+               c 10.976,0, 19.936,8.992, 19.936,19.936S 326.816,184.096, 315.84,184.096zM 196.16,263.904L 256,263.904 c 10.976,0, 19.936,8.992, 19.936,19.936c0,10.976-8.992,19.936-19.936,19.936L 196.16,303.776 
+               c-10.976,0-19.936-8.992-19.936-19.936C 176.192,272.864, 185.184,263.904, 196.16,263.904z"  />
+<glyph unicode="&#xe0d6;" d="M 362.528,204.512c-41.888,21.76-89.152,33.28-136.64,33.28c-26.496,0-52.864-3.52-78.304-10.464
+               c-8.192-2.24-13.024-16.224-10.784-24.416c 2.24-8.192, 10.688-13.024, 18.912-10.784c 22.784,6.208, 46.432,9.376, 70.176,9.376
+               c 43.2,0, 84.384-10.048, 122.464-29.824c 2.272-1.184, 4.672-1.728, 7.072-1.728c 5.568,0, 10.912,8.576, 13.664,13.824
+               C 372.992,191.296, 370.048,200.608, 362.528,204.512zM 416,480L 96,480 C 42.976,480,0,437.024,0,384l0-320 c0-53.024, 42.976-96, 96-96l 320,0 c 53.024,0, 96,42.976, 96,96L 512,384 C 512,437.024, 469.024,480, 416,480z
+                M 256,32c-106.048,0-192,85.952-192,192c0,106.048, 85.952,192, 192,192s 192-85.952, 192-192C 448,117.952, 362.048,32, 256,32zM 225.856,314.72c-29.504,0-58.88-3.584-87.392-10.656C 129.024,301.728, 123.296,290.336, 125.632,280.928
+               s 11.872-15.168, 21.312-12.832c 25.728,6.368, 52.288,9.6, 78.944,9.6c 51.136,0, 100.128-11.488, 145.6-34.176c 2.528-1.248, 5.184-1.856, 7.84-1.856
+               c 6.464,0, 12.672,5.408, 15.776,11.584c 4.32,8.672, 0.8,19.264-7.904,23.584C 336.768,301.984, 282.496,314.72, 225.856,314.72zM 225.856,165.888c-23.776,0-47.264-3.552-69.824-10.496c-6.976-2.144-10.848-16.928-8.704-23.872
+               c 2.144-6.976, 9.536-10.88, 16.512-8.704c 20,6.208, 40.896,9.344, 62.016,9.344c 35.264,0, 70.176-8.96, 100.928-25.888
+               c 2.016-1.12, 4.192-1.632, 6.368-1.632c 4.672,0, 9.184,2.464, 11.552,6.848c 3.52,6.368, 1.216,21.792-5.184,25.312
+               C 304.896,155.808, 265.568,165.888, 225.856,165.888z"  />
+<glyph unicode="&#xe0d7;" d="M 256.192,352L 384,352L 384,223.648L 256.192,223.648zM 416,480L 96,480 C 42.976,480,0,437.024,0,384l0-320 c0-53.024, 42.976-96, 96-96l 320,0 c 53.024,0, 96,42.976, 96,96L 512,384 C 512,437.024, 469.024,480, 416,480z
+                M 416,223.648L 416,80 l0-4.608 C 416,69.12, 410.88,64, 404.608,64L 400,64 L 256.192,64 L 112,64 C 103.168,64, 96,71.168, 96,80L 96,223.648 L 96,368 L 96,372.608 
+               C 96,378.88, 101.12,384, 107.392,384L 112,384 l 144.192,0 L 400,384 C 408.832,384, 416,376.832, 416,368L 416,223.648 zM 128,223.648L 256.192,223.648L 256.192,96L 128,96z"  />
+<glyph unicode="&#xe103;" d="M 480,320l-32,0 L 448,448 c0,17.664-14.336,32-32,32L 96,480 C 78.336,480, 64,465.664, 64,448l0-128 L 32,320 C 14.336,320,0,305.664,0,288l0-160 c0-17.664, 14.336-32, 32-32l 32,0 l0-96 
+               c0-17.664, 14.336-32, 32-32l 320,0 c 17.664,0, 32,14.336, 32,32l0,96 l 32,0 c 17.664,0, 32,14.336, 32,32L 512,288 C 512,305.664, 497.664,320, 480,320z M 96,160l 320,0 l0-160 L 96,0 L 96,160 z M 416,192L 96,192 
+               c-17.664,0-32-14.336-32-32l0-32 L 32,128 L 32,288 l 448,0 l0-160 l-32,0 l0,32 C 448,177.664, 433.664,192, 416,192z M 96,448l 320,0 l0-128 L 96,320 L 96,448 zM 352,240A16,16 180 1 1 384,240A16,16 180 1 1 352,240zM 64,240A16,16 180 1 1 96,240A16,16 180 1 1 64,240zM 416,240A16,16 180 1 1 448,240A16,16 180 1 1 416,240zM 384,112c0,8.832-7.168,16-16,16l-224,0 C 135.168,128, 128,120.832, 128,112C 128,103.168, 135.168,96, 144,96l 224,0 
+               C 376.832,96, 384,103.168, 384,112zM 368,64l-224,0 C 135.168,64, 128,56.832, 128,48C 128,39.168, 135.168,32, 144,32l 224,0 c 8.832,0, 16,7.168, 16,16
+               C 384,56.832, 376.832,64, 368,64z"  />
+<glyph unicode="&#xe0ee;" d="M 96-32l 320,0 c 17.664,0, 32,14.336, 32,32L 448,448 c0,17.664-14.336,32-32,32L 96,480 C 78.336,480, 64,465.664, 64,448l0-448 C 64-17.664, 78.336-32, 96-32z
+                M 96,448l 320,0 l0-448 L 96,0 L 96,448 zM 352,416L 160,416 C 142.336,416, 128,401.664, 128,384l0-32 c0-17.664, 14.336-32, 32-32l 192,0 c 17.664,0, 32,14.336, 32,32L 384,384 C 384,401.664, 369.664,416, 352,416z M 352,352
+               L 160,352 L 160,384 l 192,0 L 352,352 zM 128,256A32,32 180 1 1 192,256A32,32 180 1 1 128,256zM 128,160A32,32 180 1 1 192,160A32,32 180 1 1 128,160zM 128,64A32,32 180 1 1 192,64A32,32 180 1 1 128,64zM 224,256A32,32 180 1 1 288,256A32,32 180 1 1 224,256zM 224,160A32,32 180 1 1 288,160A32,32 180 1 1 224,160zM 224,64A32,32 180 1 1 288,64A32,32 180 1 1 224,64zM 320,256A32,32 180 1 1 384,256A32,32 180 1 1 320,256zM 320,160A32,32 180 1 1 384,160A32,32 180 1 1 320,160zM 320,64A32,32 180 1 1 384,64A32,32 180 1 1 320,64z"  />
+<glyph unicode="&#xe0ef;" d="M 320,416L 352,416L 352,384L 320,384zM 384,416L 416,416L 416,384L 384,384zM 320,352L 352,352L 352,320L 320,320zM 384,352L 416,352L 416,320L 384,320zM 320,288L 352,288L 352,256L 320,256zM 384,288L 416,288L 416,256L 384,256zM 320,224L 352,224L 352,192L 320,192zM 384,224L 416,224L 416,192L 384,192zM 320,160L 352,160L 352,128L 320,128zM 384,160L 416,160L 416,128L 384,128zM 448,480L 288,480 C 270.336,480, 256,465.664, 256,448l0-96 L 96,352 C 78.336,352, 64,337.664, 64,320l0-320 c0-17.664, 14.336-32, 32-32l 352,0 c 17.664,0, 32,14.336, 32,32L 480,448 
+                       C 480,465.664, 465.664,480, 448,480z M 192,0L 160,0 l0,64 l 32,0 L 192,0 z M 224,0l0,64 l0,32 L 192,96 L 160,96 L 128,96 l0-32 l0-64 L 96,0 L 96,320 l 160,0 l0-320 L 224,0 z M 384,0l-32,0 l0,64 l 32,0 L 384,0 z M 448,0l-32,0 l0,64 l0,32 l-32,0 l-32,0 l-32,0 l0-96 L 288,0 L 288,320 
+                       L 288,448 l 160,0 L 448,0 zM 128,288L 160,288L 160,256L 128,256zM 192,288L 224,288L 224,256L 192,256zM 128,224L 160,224L 160,192L 128,192zM 192,224L 224,224L 224,192L 192,192zM 128,160L 160,160L 160,128L 128,128zM 192,160L 224,160L 224,128L 192,128z"  />
+<glyph unicode="&#xe0e8;" d="M 384,480l-64,0 L 128,480 L 32,480 C 14.336,480,0,465.664,0,448l0-448 c0-17.664, 14.336-32, 32-32l 448,0 c 17.664,0, 32,14.336, 32,32L 512,384 l-96,96L 384,480 z M 384,448l0-128 l-64,0 L 320,448 
+               L 384,448 z M 288,448l0-128 L 128,320 L 128,448 L 288,448 z M 128,0L 128,192 l 256,0 l0-192 L 128,0 z M 480,0l-64,0 L 416,192 c0,17.664-14.336,32-32,32L 128,224 C 110.336,224, 96,209.664, 96,192l0-192 L 32,0 L 32,448 l 64,0 l0-128 c0-17.664, 14.336-32, 32-32l 192,0 l 64,0 
+               c 17.664,0, 32,14.336, 32,32L 416,434.752 l 64-64L 480,0 z"  />
+<glyph unicode="&#xe0ea;" d="M 480,416c-1.984,31.328-28.64,64-64,64L 96,480 C 60.64,480, 33.984,447.328, 32,416L0,73.344c0-1.504, 0.352-3.36, 0.448-4.96
+               C 0.352,66.912,0,65.504,0,64l0-32 c0-35.36, 28.64-64, 64-64l 384,0 c 35.36,0, 64,28.64, 64,64l0,32 c0,1.504-0.352,2.912-0.448,4.352
+               C 511.648,69.984, 512,71.84, 512,73.344L 480,416z M 32,32l0,32 c0,17.632, 14.368,32, 32,32l 384,0 c 17.632,0, 32-14.368, 32-32l0-32 c0-17.632-14.368-32-32-32L 64,0 
+               C 46.368,0, 32,14.368, 32,32z M 63.936,413.952C 64.928,429.696, 79.168,448, 96,448l 320,0 c 16.832,0, 31.072-18.304, 32.128-34.976l 27.2-291.392
+               C 467.040,125.6, 457.824,128, 448,128L 64,128 c-9.824,0-19.040-2.4-27.36-6.368L 63.936,413.952zM 416,48A16,16 180 1 1 448,48A16,16 180 1 1 416,48zM 352,48A16,16 180 1 1 384,48A16,16 180 1 1 352,48zM 80,32l 224,0 c 8.832,0, 16,7.168, 16,16c0,8.832-7.168,16-16,16l-224,0 C 71.168,64, 64,56.832, 64,48
+               C 64,39.168, 71.168,32, 80,32z"  />
+<glyph unicode="&#xe101;" d="M 32,0l 288,0 c 17.664,0, 32,14.336, 32,32l0,43.2 c 6.816,3.264, 13.184,7.168, 19.168,11.68l 98.208-98.208
+               c 3.136-3.136, 7.232-4.672, 11.328-4.672s 8.192,1.568, 11.328,4.672c 6.24,6.24, 6.24,16.384,0,22.624l-98.272,98.272
+               C 407.552,128.192, 416,151.040, 416,176c0,44.608-26.272,82.784-64,100.8L 352,448 c0,17.664-14.336,32-32,32L 32,480 C 14.336,480,0,465.664,0,448l0-416 
+               C0,14.336, 14.336,0, 32,0z M 304,96C 259.904,96, 224,131.904, 224,176S 259.904,256, 304,256S 384,220.096, 384,176S 348.096,96, 304,96z M 32,448l 288,0 l0-160 L 84.576,288 
+               C 73.216,288, 64,280.832, 64,272C 64,263.168, 73.216,256, 84.576,256l 141.216,0 C 208.608,239.232, 197.216,216.896, 193.6,192L 80,192 C 71.168,192, 64,184.832, 64,176
+               C 64,167.168, 71.168,160, 80,160l 113.6,0 c 7.84-54.208, 54.016-96, 110.4-96c 5.472,0, 10.72,0.864, 16,1.6L 320,32 L 32,32 L 32,448 zM 80,352l 192,0 C 280.832,352, 288,359.168, 288,368C 288,376.832, 280.832,384, 272,384l-192,0 C 71.168,384, 64,376.832, 64,368C 64,359.168, 71.168,352, 80,352z"  />
+<glyph unicode="&#xe107;" d="M 480,384L 32,384 C 14.336,384,0,369.664,0,352l0-288 c0-17.664, 14.336-32, 32-32l 448,0 c 17.664,0, 32,14.336, 32,32L 512,352 C 512,369.664, 497.664,384, 480,384z M 32,352
+               l 448,0 l0-288 L 32,64 L 32,352 zM 434.656,224L 240,224 C 231.168,224, 224,216.832, 224,208C 224,199.168, 231.168,192, 240,192l 194.656,0 c 8.832,0, 16,7.168, 16,16
+               C 450.656,216.832, 443.488,224, 434.656,224zM 434.656,160L 240,160 C 231.168,160, 224,152.832, 224,144C 224,135.168, 231.168,128, 240,128l 194.656,0 c 8.832,0, 16,7.168, 16,16
+               C 450.656,152.832, 443.488,160, 434.656,160zM 434.656,288L 240,288 C 231.168,288, 224,280.832, 224,272C 224,263.168, 231.168,256, 240,256l 194.656,0 c 8.832,0, 16,7.168, 16,16
+               C 450.656,280.832, 443.488,288, 434.656,288zM 89.28,281.344A38.656,38.656 180 1 1 166.592,281.344A38.656,38.656 180 1 1 89.28,281.344zM 128.768,227.232c-34.944,0-63.232-37.952-63.232-84.8S 192,95.616, 192,142.432S 163.68,227.232, 128.768,227.232z"  />
+<glyph unicode="&#xe108;" d="M 480,384l-160,0 l0-64 c0-17.664-14.336-32-32-32l 16,0 C 330.496,288, 352,309.504, 352,336c0,6.080-0.096,11.36-0.288,16L 480,352 l0-352 L 32,0 L 32,352 
+               l 128.288,0 C 160.096,347.36, 160,342.080, 160,336C 160,309.504, 181.504,288, 208,288L 224,288 C 206.336,288, 192,302.336, 192,320L 192,384 L 32,384 C 14.336,384,0,369.664,0,352l0-352 c0-17.664, 14.336-32, 32-32l 448,0 
+               c 17.664,0, 32,14.336, 32,32L 512,352 C 512,369.664, 497.664,384, 480,384zM 434.656,160L 240,160 C 231.168,160, 224,152.832, 224,144C 224,135.168, 231.168,128, 240,128l 194.656,0 c 8.832,0, 16,7.168, 16,16
+               C 450.656,152.832, 443.488,160, 434.656,160zM 434.656,96L 240,96 C 231.168,96, 224,88.832, 224,80C 224,71.168, 231.168,64, 240,64l 194.656,0 c 8.832,0, 16,7.168, 16,16
+               C 450.656,88.832, 443.488,96, 434.656,96zM 240,192l 194.656,0 c 8.832,0, 16,7.168, 16,16c0,8.832-7.168,16-16,16L 240,224 C 231.168,224, 224,216.832, 224,208
+               C 224,199.168, 231.168,192, 240,192zM 89.28,217.344A38.656,38.656 180 1 1 166.592,217.344A38.656,38.656 180 1 1 89.28,217.344zM 128.768,163.232c-34.944,0-63.232-37.952-63.232-84.8S 192,31.616, 192,78.432S 163.68,163.232, 128.768,163.232zM 192,320c0-17.664, 14.336-32, 32-32l 64,0 c 17.664,0, 32,14.336, 32,32L 320,384 L 320,448 c0,17.664-14.336,32-32,32L 224,480 C 206.336,480, 192,465.664, 192,448l0-64 L 192,320 z M 288,320
+               L 224,320 L 224,448 l 64,0 L 288,320 z"  />
+<glyph unicode="&#xe102;" d="M 179.968,104.896c-14.4,0-27.808,5.632-37.76,15.84c-27.392,28.224-61.344,15.904-69.376-21.472
+               c-12.96-60.48-11.712-99.232, 3.84-118.496c 8.928-11.072, 19.424-11.904, 22.4-11.904L 432.992-32c 43.456,0, 78.848,34.048, 78.848,75.904l0,209.6 
+               l 0.096,10.016c 0.288,25.76, 0.608,52.384-13.088,66.208c-9.056,9.184-22.112,11.136-36.896,4.832c-27.328-11.68-56.96-13.248-95.456-5.696
+               c-9.632,1.92-13.44,5.056-13.312,4.64c0,0.032, 0.64,2.848, 6.432,7.968c 17.216,15.264, 27.104,36.704, 27.104,58.944
+               C 386.688,444.32, 349.6,480, 304,480C 258.432,480, 221.344,444.32, 221.344,400.448c0-21.824, 9.984-42.304, 29.664-60.96
+               C 251.936,338.56, 253.824,336.768, 255.296,335.104c-3.2-1.568-9.568-3.872-21.728-5.92C 201.76,323.84, 170.432,331.392, 146.464,337.056
+               C 119.712,343.36, 102.688,345.44, 92.8,335.392c-11.072-11.2-35.104-45.472-19.872-122.464c 2.304-11.776, 9.408-47.616, 36.64-47.616
+               c 13.472,0, 23.552,9.76, 29.792,15.744c 39.616,38.112, 91.296,10.848, 91.296-28.608C 230.624,126.24, 207.904,104.896, 179.968,104.896z M 179.968,232.032
+               c-22.4,0-43.52-9.376-63.616-28.672C 115.264,202.272, 112.832,199.968, 110.88,198.496C 109.312,201.184, 106.72,207.072, 104.32,219.136
+               C 92.8,277.376, 107.456,302.976, 113.728,310.816C 119.136,310.656, 128.832,308.352, 139.136,305.92c 19.872-4.672, 44.608-10.496, 71.936-10.496
+               c 9.6,0, 18.976,0.736, 27.808,2.208C 257.184,300.704, 282.208,307.008, 288,325.984c 5.312,17.472-8.928,30.976-15.072,36.768
+               C 259.744,375.264, 253.344,387.552, 253.344,400.448C 253.344,426.656, 276.064,448, 304,448s 50.688-21.344, 50.688-47.552c0-13.248-5.792-25.664-16.288-34.944
+               c-17.984-15.872-18.752-30.24-16.224-39.488c 3.808-14.080, 17.728-24.48, 38.080-28.48c 44.8-8.768, 81.088-6.496, 114.24,7.616
+               c 1.024,0.48, 1.824,0.704, 2.24,0.928c 3.552-7.168, 3.296-30.56, 3.168-42.176l-0.096-220c0-24.192-20.992-43.904-46.816-43.904
+               l-330.88,0.288c-0.16,0.128-15.040,13.184, 1.984,92.256c 1.76,8.288, 5.024,11.968, 5.856,12.352c0,0, 3.2-0.16, 9.28-6.432
+               c 16-16.48, 37.568-25.536, 60.672-25.536c 45.568,0, 82.656,35.68, 82.656,79.552S 225.536,232.032, 179.968,232.032z"  />
+<glyph unicode="&#xe106;" d="M 433.6,320c0,0-121.952,0-145.6,0L 288,403.008 c 1.152,44.928-8.992,76.928-47.008,76.928C 200,479.936, 192,445.92, 192,445.92
+               C 184.512,325.44, 64,288, 64,288l0-256 l 46.752-1.984C 231.808,30.016, 159.168-32, 358.080-32C 509.12-32, 512,100.928, 512,192S 470.496,320, 433.6,320z M 358.080,0
+               c-101.056,0-122.464,16.096-141.376,30.304c-23.904,17.952-46.848,31.68-104.384,31.68c-0.064,0-0.128,0-0.192,0L 96,62.656L 96,266.496 
+               C 135.904,285.12, 215.2,335.040, 223.648,439.84c 1.248,2.56, 5.376,8.096, 17.344,8.096c 2.848,0, 6.528-0.32, 8.096-1.92
+               C 250.4,444.704, 256.832,436.384, 256,403.008L 256,320 l0-32 l 32,0 l 145.6,0 C 456.672,288, 480,255.040, 480,192C 480,67.488, 460.576,0, 358.080,0zM 16,0C 24.832,0, 32,7.168, 32,16L 32,302.656 c0,8.832-7.168,16-16,16S0,311.488,0,302.656L0,16 
+               C0,7.168, 7.168,0, 16,0z"  />
+<glyph unicode="&#xe0eb;" d="M 78.4,127.936c0,0, 121.952,0, 145.6,0l0-83.008 C 222.88,0.032, 232.992-32, 271.008-32C 312-32, 320,2.016, 320,2.016
+               c 7.488,120.48, 128,157.92, 128,157.92l0,256 l-46.752,1.984c-121.056,0-48.416,62.016-247.328,62.016c-151.040,0-153.92-132.928-153.92-224
+               S 41.504,127.936, 78.4,127.936z M 153.92,447.936c 101.056,0, 122.464-16.096, 141.376-30.304c 23.872-17.952, 46.848-31.68, 104.384-31.68
+               c 0.064,0, 0.128,0, 0.192,0L 416,385.28l0-203.808 c-39.904-18.656-119.2-68.544-127.648-173.376C 287.104,5.536, 282.976,0, 271.008,0
+               c-2.848,0-6.528,0.32-8.096,1.92C 261.6,3.264, 255.168,11.552, 256,44.928l0,83.008 l0,32 L 224,159.936 L 78.4,159.936 c-23.072,0-46.4,32.96-46.4,96
+               C 32,380.448, 51.424,447.936, 153.92,447.936zM 496,447.936c-8.832,0-16-7.168-16-16l0-286.656 c0-8.832, 7.168-16, 16-16s 16,7.168, 16,16L 512,431.936 
+               C 512,440.768, 504.832,447.936, 496,447.936z"  />
+<glyph unicode="&#xe105;" d="M 414.24,319.936c 0.896,13.376, 1.44,24.224, 1.728,30.72c 0.352,8.704-2.848,17.184-8.864,23.488S 392.704,384, 384,384L 32,384 
+               C 23.296,384, 14.944,380.448, 8.896,374.144S-0.32,359.36, 0.032,350.656c 1.76-42.272, 13.664-255.936, 74.624-310.496C 80.512,34.912, 88.128,32, 96,32l 224,0 
+               c 7.872,0, 15.488,2.912, 21.344,8.16c 19.104,17.12, 33.408,49.856, 44.064,88.064c 15.84,0.064, 26.784,0.096, 28.064,0.096
+               c 54.432,0, 98.56,39.68, 98.56,95.84C 512,300.416, 446.080,319.648, 414.24,319.936z M 320,64L 96,64 c-53.984,48.32-64,288-64,288l 352,0 C 384,352, 373.984,112.32, 320,64z
+                M 413.44,160.32l-10.080-0.032c-2.88,0-6.304-0.032-10.176-0.032c 9.536,43.808, 15.264,90.56, 18.56,127.744l 1.696,0 C 416.16,288, 480,287.264, 480,224.16
+               C 480,187.168, 452,160.32, 413.44,160.32z"  />
+<glyph unicode="&#xe0ed;" d="M 272,448C 139.456,448, 32,340.544, 32,208S 139.456-32, 272-32S 512,75.456, 512,208S 404.544,448, 272,448z M 272,0
+               C 157.312,0, 64,93.312, 64,208S 157.312,416, 272,416S 480,322.688, 480,208S 386.688,0, 272,0zM 299.424,320C 328.416,320, 352,298.464, 352,272C 352,263.168, 359.168,256, 368,256S 384,263.168, 384,272C 384,316.128, 346.048,352, 299.424,352L 288,352 
+               L 288,368 C 288,376.832, 280.832,384, 272,384S 256,376.832, 256,368L 256,352 L 244.576,352 C 197.952,352, 160,316.128, 160,272S 197.952,192, 244.576,192L 256,192 l0-96 L 244.576,96 C 215.584,96, 192,117.536, 192,144
+               C 192,152.832, 184.832,160, 176,160S 160,152.832, 160,144C 160,99.872, 197.952,64, 244.576,64L 256,64 l0-16 C 256,39.168, 263.168,32, 272,32S 288,39.168, 288,48L 288,64 l 11.424,0 
+               C 346.048,64, 384,99.872, 384,144S 346.048,224, 299.424,224L 288,224 L 288,320 L 299.424,320 z M 299.424,192C 328.416,192, 352,170.464, 352,144S 328.416,96, 299.424,96L 288,96 L 288,192 L 299.424,192 z M 256,224
+               L 244.576,224 C 215.584,224, 192,245.536, 192,272S 215.584,320, 244.576,320L 256,320 L 256,224 z"  />
+<glyph unicode="&#xe100;" d="M 480,256L 480,352 c0,17.664-14.336,32-32,32l-9.536,0 l-10.784,66.56c-0.672,4.192-2.976,7.936-6.432,10.4
+               c-3.392,2.496-7.68,3.552-11.904,2.816L 61.44,407.328C 52.704,405.92, 46.784,397.696, 48.224,388.96L 49.024,384L 32,384 C 14.336,384,0,369.664,0,352l0-352 
+               c0-17.664, 14.336-32, 32-32l 416,0 c 17.664,0, 32,14.336, 32,32l0,96 c 17.664,0, 32,14.336, 32,32L 512,224 C 512,241.664, 497.664,256, 480,256z M 32,352l 416,0 l0-96 l-128,0 C 302.336,256, 288,241.664, 288,224
+               l0-96 c0-17.664, 14.336-32, 32-32l 128,0 l0-96 L 32,0 L 32,352 z M 117.376,384l 281.28,45.664L 406.048,384L 117.376,384 z M 320,128L 320,224 l 160,0 l0-96 L 320,128 zM 352,176A16,16 180 1 1 384,176A16,16 180 1 1 352,176z"  />
+<glyph unicode="&#xe104;" d="M 64,384l0-256 l 4.736-11.84L 128-32l 64,160l-0.16,0.064C 191.936,128.16, 191.904,128.32, 192,128.416L 192,384 L 192,416 c0,35.36-28.64,64-64,64
+               S 64,451.36, 64,416L 64,384 z M 96,416c0,17.632, 14.368,32, 32,32s 32-14.368, 32-32l0-32 L 96,384 L 96,416 z M 128,54.176l-16.48,41.184l-6.4,16L 104.64,112.544L 128,124.224l 23.36-11.68
+               l-0.48-1.216l-6.4-16L 128,54.176z M 160,144L 128,160l-32-16L 96,328.864 L 96,348.48 L 96,352 l 32,0 l 32,0 l0-3.52 l0-19.616 L 160,144 zM 402.944,384.672L 372.288,464l-0.288-0.096C 369.76,473.056, 361.856,480, 352,480c-10.592,0-18.944-7.936-20.416-18.112
+               l-0.576,0.128L 301.056,384.672L 288,352l0-320 c0-35.36, 28.64-64, 64-64s 64,28.64, 64,64c 17.664,0, 32,14.336, 32,32l0,96 c0,17.664-14.336,32-32,32L 416,352 L 402.944,384.672z
+                M 384,160l0-96 l0-32 c0-17.632-14.368-32-32-32s-32,14.368-32,32L 320,352 l 2.464,0 l 59.072,0 L 384,352 l0-160 L 384,160 z M 368.736,384l-33.472,0 L 352,425.824L 368.736,384z"  />
+<glyph unicode="&#xe0e9;" d="M 144.48,216c 4.736,0, 9.472,2.112, 12.64,6.176l 70.464,90.72l 48.256-56.672c 3.072-3.552, 6.528-5.12, 12.256-5.632
+               C 292.736,250.624, 297.216,252.672, 300.256,256.32l 112,133.408c 5.696,6.752, 4.8,16.832-1.984,22.528c-6.752,5.728-16.832,4.768-22.528-1.984
+               l-99.84-118.912L 239.2,348.64C 236.032,352.288, 230.208,353.984, 226.656,354.24C 221.824,354.112, 217.312,351.872, 214.368,348.064L 131.84,241.824
+               C 126.4,234.848, 127.68,224.768, 134.656,219.36C 137.568,217.088, 141.024,216, 144.48,216zM 495.648,480L 448,480 L 96,480 L 48.352,480 C 39.328,480, 32,472.832, 32,464C 32,455.168, 39.328,448, 48.352,448L 64,448 l0-288 c0-17.664, 14.336-32, 32-32l 160,0 l0-49.952 
+               L 165.248-4.16c-6.528-5.92-7.040-16.032-1.088-22.592c 5.984-6.528, 16.096-7.040, 22.592-1.088L 256,34.88l0-50.88 C 256-24.832, 263.168-32, 272-32
+               S 288-24.832, 288-16l0,50.88 l 69.248-62.72C 360.32-30.624, 364.16-32, 368-32c 4.352,0, 8.672,1.792, 11.84,5.248
+               c 5.952,6.56, 5.44,16.672-1.088,22.592L 288,78.048L 288,128 l 160,0 c 17.664,0, 32,14.336, 32,32L 480,448 l 15.648,0 C 504.672,448, 512,455.168, 512,464
+               C 512,472.832, 504.672,480, 495.648,480z M 448,160L 96,160 L 96,448 l 352,0 L 448,160 z"  />
+<glyph unicode="&#xe109;" d="M 480,160L 480,224 c0,17.664-14.336,32-32,32L 288,256 L 288,320 l 96,0 c 17.664,0, 32,14.336, 32,32L 416,384 c0,17.664-14.336,32-32,32L 160,416 C 142.336,416, 128,401.664, 128,384l0-32 
+               c0-17.664, 14.336-32, 32-32l 96,0 l0-64 L 96,256 C 78.336,256, 64,241.664, 64,224l0-64 c-17.664,0-32-14.336-32-32l0-64 c0-17.664, 14.336-32, 32-32l 32,0 c 17.664,0, 32,14.336, 32,32l0,32 l0,32 
+               c0,17.664-14.336,32-32,32L 96,224 l 160,0 l0-64 c-17.664,0-32-14.336-32-32l0-32 l0-32 c0-17.664, 14.336-32, 32-32l 32,0 c 17.664,0, 32,14.336, 32,32l0,32 l0,32 c0,17.664-14.336,32-32,32L 288,224 l 160,0 l0-64 
+               c-17.664,0-32-14.336-32-32l0-32 l0-32 c0-17.664, 14.336-32, 32-32l 32,0 c 17.664,0, 32,14.336, 32,32l0,64 C 512,145.664, 497.664,160, 480,160z M 160,384l 224,0 l0-32 L 160,352 L 160,384 z M 96,96l0-32 L 64,64 l0,64 l 32,0 
+               L 96,96 z M 288,64L 256,64 l0,64 l 32,0 L 288,64 z M 448,96l0,32 l 32,0 l0-64 l-32,0 L 448,96 z"  />
+<glyph unicode="&#xe0ec;" d="M 32,0c0-17.664, 14.336-32, 32-32l 384,0 c 17.664,0, 32,14.336, 32,32L 480,448 c0,17.664-14.336,32-32,32L 64,480 C 46.336,480, 32,465.664, 32,448L 32,0 z M 64,448
+               l 384,0 l0-448 L 64,0 L 64,448 zM 128,192L 192,192L 192,64L 128,64zM 224,352L 288,352L 288,64L 224,64zM 320,288L 384,288L 384,64L 320,64z"  />
+<glyph unicode="&#xe0fe;" d="M 480,352l-96,0 L 384,416 c0,17.664-14.336,32-32,32L 160,448 C 142.336,448, 128,433.664, 128,416l0-64 L 32,352 C 14.336,352,0,337.664,0,320l0-288 c0-17.664, 14.336-32, 32-32l 448,0 
+               c 17.664,0, 32,14.336, 32,32L 512,320 C 512,337.664, 497.664,352, 480,352z M 32,320l 128,0 l 192,0 l 128,0 l0-288 L 32,32 L 32,320 z M 160,416l 192,0 l0-64 L 160,352 L 160,416 z"  />
+<glyph unicode="&#xe0f6;" d="M 247.2-30.752C 250.080-31.584, 253.056-32, 256-32s 5.92,0.416, 8.8,1.248c 198.048,56.576, 227.2,256.768, 214.976,354.752
+               C 477.76,339.968, 464.128,352, 448,352c-4.576,0.352-32,5.088-32,64c0,8.48-3.36,16.64-9.376,22.624C 399.712,445.536, 360,480, 256,480
+               S 112.288,445.536, 105.376,438.624C 99.36,432.64, 96,424.48, 96,416c0-58.912-27.424-63.648-32.928-64.032c-16.128,0-28.832-12-30.848-28
+               C 20,226.016, 49.184,25.824, 247.2-30.752z M 64,320c0,0, 64,0, 64,96c0,0, 32,32, 128,32s 128-32, 128-32c0-96, 64-96, 64-96s 32-256-192-320C 32,64, 64,320, 64,320zM 256,160c 17.664,0, 32,14.336, 32,32L 288,352 c0,17.664-14.336,32-32,32S 224,369.664, 224,352l0-160 C 224,174.336, 238.336,160, 256,160zM 224,96A32,32 180 1 1 288,96A32,32 180 1 1 224,96z"  />
+<glyph unicode="&#xe0fb;" d="M 256,480C 114.624,480,0,365.376,0,224s 114.624-256, 256-256s 256,114.624, 256,256S 397.376,480, 256,480z M 256,0c-123.52,0-224,100.48-224,224s 100.48,224, 224,224
+               s 224-100.48, 224-224S 379.52,0, 256,0zM 225.984,304.992c0,27.072-21.952,48.992-48.992,48.992S 128,332.064, 128,304.992S 149.952,256, 176.992,256S 225.984,277.952, 225.984,304.992z
+                M 160,304.992c0,9.376, 7.616,16.992, 16.992,16.992s 16.992-7.616, 16.992-16.992S 186.368,288, 176.992,288S 160,295.616, 160,304.992zM 335.008,193.984c-27.072,0-48.992-21.952-48.992-48.992S 307.936,96, 335.008,96S 384,117.952, 384,144.992
+               S 362.048,193.984, 335.008,193.984z M 335.008,128c-9.376,0-16.992,7.616-16.992,16.992s 7.616,16.992, 16.992,16.992S 352,154.368, 352,144.992
+               S 344.384,128, 335.008,128zM 363.328,331.328c-6.24,6.24-16.384,6.24-22.624,0l-192-192c-6.24-6.24-6.24-16.384,0-22.624
+               C 151.808,113.568, 155.904,112, 160,112s 8.192,1.568, 11.328,4.672l 192,192C 369.568,314.944, 369.568,325.056, 363.328,331.328z"  />
+<glyph unicode="&#xe0e2;" d="M 481.888,133.792c-87.136-87.104-228.928-87.168-316.064,0C 123.648,175.936, 100.448,232.064, 100.448,291.84
+               s 23.232,115.904, 65.344,158.016c 6.24,6.24, 6.24,16.384,0,22.624s-16.384,6.24-22.624,0C 94.976,424.32, 68.448,360.16, 68.448,291.84
+               s 26.56-132.512, 74.72-180.672C 183.84,70.464, 234.976,46.688, 288,39.232L 288,0 L 240,0 C 231.168,0, 224-7.168, 224-16C 224-24.832, 231.168-32, 240-32l 128,0 
+               c 8.832,0, 16,7.168, 16,16c0,8.832-7.168,16-16,16L 320,0 l0,36.608 c 1.28-0.032, 2.56-0.192, 3.84-0.192
+               c 65.408,0, 130.848,24.896, 180.672,74.72c 6.24,6.24, 6.24,16.384,0,22.624S 488.128,140.032, 481.888,133.792zM 323.84,480C 219.904,480, 135.68,395.744, 135.68,291.84s 84.256-188.16, 188.16-188.16S 512,187.904, 512,291.84S 427.744,480, 323.84,480z
+                M 323.84,135.68c-86.112,0-156.16,70.048-156.16,156.16C 167.68,377.952, 237.728,448, 323.84,448C 409.952,448, 480,377.952, 480,291.84
+               C 480,205.728, 409.952,135.68, 323.84,135.68z"  />
+<glyph unicode="&#xe0e3;" d="M 272,448C 139.456,448, 32,340.544, 32,208S 139.456-32, 272-32S 512,75.456, 512,208S 404.544,448, 272,448z M 447.008,320l-47.68,0 
+               c-9.28,29.184-22.016,54.752-37.376,75.264C 396.768,378.464, 426.24,352.32, 447.008,320z M 288,320L 288,413.376 C 318.24,404.448, 347.712,370.912, 365.856,320L 288,320 z
+                M 375.168,288c 4.512-19.584, 7.424-41.024, 8.352-64L 288,224 L 288,288 L 375.168,288 z M 256,413.376L 256,320 L 178.144,320 C 196.288,370.912, 225.76,404.448, 256,413.376z M 256,288l0-64 L 160.48,224 
+               c 0.928,22.976, 3.84,44.416, 8.352,64L 256,288 z M 128.48,224l-63.68,0 c 1.728,22.496, 6.88,44.064, 15.232,64l 56.32,0 C 132.064,267.744, 129.376,246.336, 128.48,224z
+                M 128.48,192c 0.896-22.336, 3.584-43.744, 7.872-64l-56.32,0 c-8.352,19.936-13.504,41.504-15.232,64L 128.48,192 z M 160.48,192L 256,192 l0-64 L 168.832,128 
+               C 164.32,147.584, 161.408,169.024, 160.48,192z M 256,96l0-93.376 C 225.76,11.552, 196.288,45.088, 178.144,96L 256,96 z M 288,2.624L 288,96 l 77.856,0 
+               C 347.712,45.088, 318.24,11.552, 288,2.624z M 288,128L 288,192 l 95.52,0 c-0.928-22.976-3.84-44.416-8.352-64L 288,128 z M 415.52,192l 63.68,0 
+               c-1.728-22.496-6.88-44.064-15.232-64l-56.32,0 C 411.936,148.256, 414.624,169.664, 415.52,192z M 415.52,224c-0.896,22.336-3.584,43.744-7.872,64l 56.32,0 
+               c 8.352-19.936, 13.504-41.504, 15.232-64L 415.52,224 z M 182.048,395.264C 166.72,374.752, 153.952,349.184, 144.672,320l-47.68,0 C 117.76,352.32, 147.232,378.464, 182.048,395.264z
+                M 96.992,96l 47.68,0 c 9.28-29.184, 22.016-54.752, 37.376-75.264C 147.232,37.536, 117.76,63.68, 96.992,96z M 361.952,20.736
+               c 15.328,20.512, 28.096,46.080, 37.376,75.264l 47.68,0 C 426.24,63.68, 396.768,37.536, 361.952,20.736z"  />
+<glyph unicode="&#xe0f5;" d="M 256,480C 114.624,480,0,365.376,0,224s 114.624-256, 256-256s 256,114.624, 256,256S 397.376,480, 256,480z M 256,0c-123.52,0-224,100.48-224,224s 100.48,224, 224,224
+               s 224-100.48, 224-224S 379.52,0, 256,0zM 256,384C 167.648,384, 96,312.352, 96,224s 71.648-160, 160-160s 160,71.648, 160,160S 344.352,384, 256,384z M 256,128c-52.928,0-96,43.072-96,96
+               c0,52.928, 43.072,96, 96,96s 96-43.072, 96-96C 352,171.072, 308.928,128, 256,128zM 224,224A32,32 180 1 1 288,224A32,32 180 1 1 224,224z"  />
+<glyph unicode="&#xe0e1;" d="M 416,309.568L 416,448 l 15.776,0 C 440.736,448, 448,455.168, 448,464C 448,472.832, 440.736,480, 431.776,480L 112.224,480 C 103.264,480, 96,472.832, 96,464
+               C 96,455.168, 103.264,448, 112.224,448L 128,448 l0-138.432 c0-9.12, 3.904-17.824, 10.72-23.904L 207.904,224L 138.72,162.336C 131.904,156.256, 128,147.552, 128,138.432L 128,0 L 112.224,0 
+               C 103.264,0, 96-7.168, 96-16C 96-24.832, 103.264-32, 112.224-32l 319.584,0 C 440.736-32, 448-24.832, 448-16c0,8.832-7.264,16-16.224,16L 416,0 l0,138.432 
+               c0,9.12-3.904,17.824-10.72,23.904L 336.096,224l 69.184,61.664C 412.096,291.744, 416,300.448, 416,309.568z M 384,309.568L 288,224l 96-85.568L 384,0 L 160,0 l0,138.432 L 256,224
+               L 160,309.568L 160,448 l 224,0 L 384,309.568 zM 352,355.904L 352,384L 192,384L 192,355.904L 272,284.608         zM 192,91.968L 192,32L 352,32L 352,91.968L 311.584,128L 232.416,128     z"  />
+<glyph unicode="&#xe0ff;" d="M 507.168,251.424l-77.152,140.32c-0.192,0.352-0.608,0.48-0.832,0.8c-3.872,5.984-11.168,9.024-18.272,6.656
+               L 288,358.272L 288,400 C 288,408.832, 280.832,416, 272,416S 256,408.832, 256,400l0-52.352 L 122.4,303.2c-1.088-0.352-1.92-1.088-2.88-1.664c0,0,0,0-0.032,0
+               C 117.312,300.224, 115.488,298.56, 114.176,296.48c-0.16-0.224-0.448-0.32-0.608-0.576l-79.456-140c-1.792-3.136-2.112-6.592-1.696-9.92
+               C 32.32,145.312, 32,144.704, 32,144C 32,111.040, 81.76,64, 128,64s 96,47.040, 96,80c0,2.048-0.448,4-1.184,5.792
+               c0,0.064-0.032,0.128-0.032,0.192c-0.032,0.096-0.064,0.224-0.096,0.32c-0.288,1.92-0.832,3.808-1.824,5.6L 151.008,278.944L 256,313.888
+               L 256,48 C 256,39.168, 263.168,32, 272,32S 288,39.168, 288,48L 288,324.544 l 94.272,31.36l-57.44-104.512C 321.856,248.512, 320,244.48, 320,240
+               c0-32.96, 49.76-80, 96-80s 96,47.040, 96,80C 512,244.48, 510.144,248.512, 507.168,251.424z M 73.216,160l 54.272,95.584L 181.728,160L 73.216,160 z M 363.904,256
+               L 416,350.784L 468.096,256L 363.904,256 z"  />
+<glyph unicode="&#xe0f8;" d="M 320,256L 192,256 l0-160 c0-32-64-78.336-64-96l0-16 C 128-24.832, 135.168-32, 144-32l 224,0 c 8.832,0, 16,7.168, 16,16L 384,0 c0,17.664-64,64-64,96L 320,256 
+               zM 370.656,447.456L 370.656,448 l-32,0 l0-0.544 C 337.76,447.616, 336.96,448, 336,448C 327.168,448, 320,440.832, 320,432L 320,416 L 288,416 L 288,432 
+               c0,7.904-5.824,14.144-13.344,15.456L 274.656,448 l-32,0 l0-0.544 C 241.76,447.616, 240.96,448, 240,448C 231.168,448, 224,440.832, 224,432L 224,416 L 192,416 L 192,432 
+               c0,7.904-5.824,14.144-13.344,15.456L 178.656,448 l-32,0 l0-0.544 C 145.76,447.616, 144.96,448, 144,448C 135.168,448, 128,440.832, 128,432L 128,384 l0-32 c0-8.48, 3.36-16.64, 9.376-22.624
+               l 32-32C 175.392,291.36, 183.52,288, 192,288l 128,0 c 8.48,0, 16.64,3.36, 22.624,9.376l 32,32C 380.64,335.36, 384,343.52, 384,352L 384,384 L 384,432 
+               C 384,439.904, 378.176,446.144, 370.656,447.456z"  />
+<glyph unicode="&#xe0fa;" d="M 480,320l-32,0 L 448,448 c0,17.664-14.336,32-32,32L 96,480 C 78.336,480, 64,465.664, 64,448l0-128 L 32,320 C 14.336,320,0,305.664,0,288l0-160 c0-17.664, 14.336-32, 32-32l 32,0 l0-96 
+               c0-17.664, 14.336-32, 32-32l 320,0 c 17.664,0, 32,14.336, 32,32l0,96 l 32,0 c 17.664,0, 32,14.336, 32,32L 512,288 C 512,305.664, 497.664,320, 480,320z M 96,160l 320,0 l0-160 L 96,0 L 96,160 z M 352,240
+               C 352,248.832, 359.168,256, 368,256S 384,248.832, 384,240C 384,231.168, 376.832,224, 368,224S 352,231.168, 352,240z M 80,224C 71.168,224, 64,231.168, 64,240
+               C 64,248.832, 71.168,256, 80,256S 96,248.832, 96,240C 96,231.168, 88.832,224, 80,224z M 432,224C 423.168,224, 416,231.168, 416,240C 416,248.832, 423.168,256, 432,256
+               S 448,248.832, 448,240C 448,231.168, 440.832,224, 432,224z M 96,448l 320,0 l0-128 L 96,320 L 96,448 zM 384,112c0,8.832-7.168,16-16,16l-224,0 C 135.168,128, 128,120.832, 128,112C 128,103.168, 135.168,96, 144,96l 224,0 
+               C 376.832,96, 384,103.168, 384,112zM 368,64l-224,0 C 135.168,64, 128,56.832, 128,48C 128,39.168, 135.168,32, 144,32l 224,0 c 8.832,0, 16,7.168, 16,16
+               C 384,56.832, 376.832,64, 368,64z"  />
+<glyph unicode="&#xe0e7;" d="M 96-32l 320,0 c 17.664,0, 32,14.336, 32,32L 448,448 c0,17.664-14.336,32-32,32L 96,480 C 78.336,480, 64,465.664, 64,448l0-448 C 64-17.664, 78.336-32, 96-32z
+                M 352,128c-17.664,0-32,14.336-32,32c0,17.664, 14.336,32, 32,32s 32-14.336, 32-32C 384,142.336, 369.664,128, 352,128z M 384,64c0-17.664-14.336-32-32-32
+               s-32,14.336-32,32c0,17.664, 14.336,32, 32,32S 384,81.664, 384,64z M 352,224c-17.664,0-32,14.336-32,32c0,17.664, 14.336,32, 32,32s 32-14.336, 32-32
+               C 384,238.336, 369.664,224, 352,224z M 128,352L 128,416 l 256,0 l0-64 L 128,352 z M 256,128c-17.664,0-32,14.336-32,32c0,17.664, 14.336,32, 32,32s 32-14.336, 32-32C 288,142.336, 273.664,128, 256,128z
+                M 288,64c0-17.664-14.336-32-32-32s-32,14.336-32,32c0,17.664, 14.336,32, 32,32S 288,81.664, 288,64z M 256,224C 238.336,224, 224,238.336, 224,256c0,17.664, 14.336,32, 32,32
+               s 32-14.336, 32-32C 288,238.336, 273.664,224, 256,224z M 160,288c 17.664,0, 32-14.336, 32-32c0-17.664-14.336-32-32-32S 128,238.336, 128,256C 128,273.664, 142.336,288, 160,288z M 160,192
+               c 17.664,0, 32-14.336, 32-32c0-17.664-14.336-32-32-32s-32,14.336-32,32C 128,177.664, 142.336,192, 160,192z M 160,96c 17.664,0, 32-14.336, 32-32c0-17.664-14.336-32-32-32
+               s-32,14.336-32,32C 128,81.664, 142.336,96, 160,96z"  />
+<glyph unicode="&#xe0fd;" d="M 32-32l 416,0 c 17.664,0, 32,14.336, 32,32L 480,192 c0,17.664-14.336,32-32,32l-96,0 c-17.664,0-32-14.336-32-32L 320,448 c0,17.664-14.336,32-32,32L 192,480 
+               C 174.336,480, 160,465.664, 160,448l0-128 c0,17.664-14.336,32-32,32L 32,352 C 14.336,352,0,337.664,0,320l0-320 C0-17.664, 14.336-32, 32-32z M 32,0l0,64 l 32,0 l0-64 L 32,0 z M 64,192l0-32 L 32,160 L 32,192 L 64,192 z M 32,224
+               L 32,256 l 32,0 l0-32 L 32,224 z M 64,128l0-32 L 32,96 l0,32 L 64,128 z M 96,160L 96,192 l 32,0 l0-32 L 96,160 z M 128,128l0-32 L 96,96 l0,32 L 128,128 z M 96,224L 96,256 l 32,0 l0-32 L 96,224 z M 96,0l0,64 l 32,0 l0-64 L 96,0 z M 128,288L 96,288 L 96,320 l 32,0 L 128,288 z M 64,288L 32,288 L 32,320 l 32,0 L 64,288 z M 256,0l0,64 l 32,0 
+               l0-64 L 256,0 z M 224,320l0-32 L 192,288 L 192,320 L 224,320 z M 192,352L 192,384 l 32,0 l0-32 L 192,352 z M 224,256l0-32 L 192,224 L 192,256 L 224,256 z M 224,192l0-32 L 192,160 L 192,192 L 224,192 z M 224,128l0-32 L 192,96 l0,32 L 224,128 z M 256,160L 256,192 l 32,0 l0-32 L 256,160 z M 288,128l0-32 L 256,96 l0,32 L 288,128 z M 256,224L 256,256 l 32,0 l0-32 L 256,224 z
+                M 256,288L 256,320 l 32,0 l0-32 L 256,288 z M 256,352L 256,384 l 32,0 l0-32 L 256,352 z M 288,416L 256,416 L 256,448 l 32,0 L 288,416 z M 224,416L 192,416 L 192,448 l 32,0 L 224,416 z M 192,64l 32,0 l0-64 L 192,0 L 192,64 z M 384,96l-32,0 l0,32 l 32,0 L 384,96 z M 416,128l 32,0 l0-32 l-32,0 L 416,128 z M 416,64l 32,0 l0-64 l-32,0 L 416,64 
+               z M 448,160l-32,0 L 416,192 l 32,0 L 448,160 z M 384,160l-32,0 L 352,192 l 32,0 L 384,160 z M 352,64l 32,0 l0-64 l-32,0 L 352,64 z"  />
+<glyph unicode="&#xe0e4;" d="M 384,480L 128,480 L 32,480 C 14.336,480,0,465.664,0,448l0-448 c0-17.664, 14.336-32, 32-32l 448,0 c 17.664,0, 32,14.336, 32,32L 512,384 l-96,96L 384,480 z M 352,320L 352,448 l 32,0 l0-128 
+               c0-17.664-14.336-32-32-32L 160,288 C 142.336,288, 128,302.336, 128,320L 128,448 l 128,0 l0-128 L 352,320 z M 96,192c0,17.664, 14.336,32, 32,32l 256,0 c 17.664,0, 32-14.336, 32-32l0-192 L 96,0 L 96,192 z"  />
+<glyph unicode="&#xe0e5;" d="M 64-32l 384,0 c 35.36,0, 64,28.64, 64,64l0,32 c0,1.504-0.352,2.912-0.448,4.352C 511.648,69.984, 512,71.84, 512,73.344L 480,416
+               c-1.984,31.328-28.64,64-64,64L 96,480 C 60.64,480, 33.984,447.328, 32,416L0,73.344c0-1.504, 0.352-3.36, 0.448-4.96C 0.352,66.912,0,65.504,0,64l0-32 
+               C0-3.36, 28.64-32, 64-32z M 32,32l0,32 c0,17.632, 14.368,32, 32,32l 384,0 c 17.632,0, 32-14.368, 32-32l0-32 c0-17.632-14.368-32-32-32L 64,0 C 46.368,0, 32,14.368, 32,32zM 416,48A16,16 180 1 1 448,48A16,16 180 1 1 416,48zM 355.328,48.672A16,16 180 1 1 387.328,48.672000000000025A16,16 180 1 1 355.328,48.672000000000025zM 80,32l 224,0 c 8.832,0, 16,7.168, 16,16c0,8.832-7.168,16-16,16l-224,0 C 71.168,64, 64,56.832, 64,48
+               C 64,39.168, 71.168,32, 80,32z"  />
+<glyph unicode="&#xe0f7;" d="M 32,0l 288,0 c 17.664,0, 32,14.336, 32,32l0,43.2 c 6.816,3.264, 13.184,7.168, 19.168,11.68l 98.208-98.208
+               c 3.136-3.136, 7.232-4.672, 11.328-4.672s 8.192,1.568, 11.328,4.672c 6.24,6.24, 6.24,16.384,0,22.624l-98.272,98.272
+               C 407.552,128.192, 416,151.040, 416,176c0,44.608-26.272,82.784-64,100.8L 352,448 c0,17.664-14.336,32-32,32L 32,480 C 14.336,480,0,465.664,0,448l0-416 
+               C0,14.336, 14.336,0, 32,0z M 304,96C 259.904,96, 224,131.904, 224,176S 259.904,256, 304,256S 384,220.096, 384,176S 348.096,96, 304,96z M 272,352l-192,0 
+               C 71.168,352, 64,359.168, 64,368C 64,376.832, 71.168,384, 80,384l 192,0 C 280.832,384, 288,376.832, 288,368C 288,359.168, 280.832,352, 272,352z M 80,288l 192,0 
+               c 3.104,0, 5.824-1.12, 8.256-2.624C 259.328,280.832, 240.576,270.464, 225.792,256L 80,256 C 71.168,256, 64,263.168, 64,272C 64,280.832, 71.168,288, 80,288z M 80,192l 113.6,0 
+               C 192.864,186.72, 192,181.472, 192,176S 192.864,165.28, 193.6,160L 80,160 C 71.168,160, 64,167.168, 64,176C 64,184.832, 71.168,192, 80,192z"  />
+<glyph unicode="&#xe0e0;" d="M 480,384L 32,384 C 14.336,384,0,369.664,0,352l0-288 c0-17.664, 14.336-32, 32-32l 448,0 c 17.664,0, 32,14.336, 32,32L 512,352 C 512,369.664, 497.664,384, 480,384z
+                M 434.656,192L 240,192 C 231.168,192, 224,199.168, 224,208C 224,216.832, 231.168,224, 240,224l 194.656,0 c 8.832,0, 16-7.168, 16-16C 450.656,199.168, 443.488,192, 434.656,192z
+                M 450.656,144c0-8.832-7.168-16-16-16L 240,128 C 231.168,128, 224,135.168, 224,144C 224,152.832, 231.168,160, 240,160l 194.656,0 
+               C 443.488,160, 450.656,152.832, 450.656,144z M 434.656,256L 240,256 C 231.168,256, 224,263.168, 224,272C 224,280.832, 231.168,288, 240,288l 194.656,0 
+               c 8.832,0, 16-7.168, 16-16C 450.656,263.168, 443.488,256, 434.656,256z M 128.768,227.232C 163.68,227.232, 192,189.28, 192,142.432s-126.496-46.848-126.496,0
+               S 93.824,227.232, 128.768,227.232z M 89.312,281.344C 89.312,302.688, 106.592,320, 127.936,320c 21.344,0, 38.656-17.312, 38.656-38.656
+               c0-21.344-17.312-38.656-38.656-38.656C 106.592,242.688, 89.312,260, 89.312,281.344z"  />
+<glyph unicode="&#xe0fc;" d="M 480,384l-160,0 l0-32 c 17.664,0, 32-14.336, 32-32c0-17.664-14.336-32-32-32L 288,288 L 224,288 L 192,288 C 174.336,288, 160,302.336, 160,320c0,17.664, 14.336,32, 32,32L 192,384 L 32,384 
+               C 14.336,384,0,369.664,0,352l0-352 c0-17.664, 14.336-32, 32-32l 448,0 c 17.664,0, 32,14.336, 32,32L 512,352 C 512,369.664, 497.664,384, 480,384z M 240,224l 194.656,0 
+               c 8.832,0, 16-7.168, 16-16c0-8.832-7.168-16-16-16L 240,192 C 231.168,192, 224,199.168, 224,208C 224,216.832, 231.168,224, 240,224z M 240,160l 194.656,0 
+               c 8.832,0, 16-7.168, 16-16c0-8.832-7.168-16-16-16L 240,128 C 231.168,128, 224,135.168, 224,144C 224,152.832, 231.168,160, 240,160z M 240,96l 194.656,0 
+               c 8.832,0, 16-7.168, 16-16c0-8.832-7.168-16-16-16L 240,64 C 231.168,64, 224,71.168, 224,80C 224,88.832, 231.168,96, 240,96z M 192,78.432
+               c0-46.848-126.496-46.848-126.496,0s 28.32,84.8, 63.232,84.8C 163.68,163.232, 192,125.28, 192,78.432z M 166.592,217.344c0-21.344-17.312-38.656-38.656-38.656
+               c-21.344,0-38.656,17.312-38.656,38.656C 89.312,238.688, 106.592,256, 127.936,256C 149.312,256, 166.592,238.688, 166.592,217.344zM 224,448L 288,448L 288,320L 224,320z"  />
+<glyph unicode="&#xe0f9;" d="M 190.016,79.168c-19.84,0-37.632,8.608-50.144,22.112c-22.112,23.84-38.24,8.832-43.072-14.624
+               C 72.32-32.928, 107.68-32, 107.68-32l 340.16-0.928c 35.36,0, 64,28.64, 64,64l0,224 c0,35.36, 4.096,85.408-28.16,70.912
+               c-24.416-10.944-56.512-17.504-106.816-7.136c-23.456,4.832-38.464,20.96-14.624,43.072c 13.504,12.512, 22.112,30.272, 22.112,50.144
+               C 384.32,449.6, 353.92,480, 316.416,480C 278.88,480, 248.48,449.6, 248.48,412.064c0-21.248, 11.072-38.784, 25.056-52.704c 8.416-8.384, 30.624-30.304-26.208-40.32
+               C 184.832,308.064, 124.896,343.392, 112.832,330.56C 104.832,322.080, 82.816,290.080, 96.96,215.040c 10.752-57.12, 32-33.472, 40.352-25.056
+               C 151.232,203.968, 168.768,215.040, 190.016,215.040c 37.504,0, 67.936-30.4, 67.936-67.936C 257.952,109.6, 227.552,79.168, 190.016,79.168z"  />
+<glyph unicode="&#xe0dd;" d="M 433.6,320c0,0-111.2,0-144.992,0L 288.608,407.392 c 2.368,39.36-8.96,72.576-33.152,72.544
+               C 213.344,479.872, 214.528,445.92, 214.528,445.92C 207.040,325.44, 96,288, 96,288l0-256 l 14.752-1.984C 231.808,30.016, 159.168-32, 358.080-32C 509.12-32, 512,100.928, 512,192
+               S 470.496,320, 433.6,320zM 32,0c 17.664,0, 32,14.336, 32,32L 64,287.008 c0,17.664-14.336,32-32,32s-32-14.336-32-32L0,32 C0,14.336, 14.336,0, 32,0z"  />
+<glyph unicode="&#xe0f1;" d="M 78.4,127.936c0,0, 111.2,0, 144.992,0l0-87.392 c-2.368-39.36, 8.96-72.576, 33.152-72.544
+               c 42.112,0.064, 40.928,34.016, 40.928,34.016C 304.96,122.496, 416,159.936, 416,159.936l0,256 l-14.752,1.984c-121.056,0-48.416,62.016-247.328,62.016
+               c-151.040,0-153.92-132.928-153.92-224S 41.504,127.936, 78.4,127.936zM 480,447.936c-17.664,0-32-14.336-32-32l0-255.008 c0-17.664, 14.336-32, 32-32s 32,14.336, 32,32L 512,415.936 
+               C 512,433.6, 497.664,447.936, 480,447.936z"  />
+<glyph unicode="&#xe0dc;" d="M 414.24,319.936c 0.896,13.376, 1.44,24.224, 1.728,30.72c 0.352,8.704-2.848,17.184-8.864,23.488S 392.704,384, 384,384L 32,384 
+               C 23.296,384, 14.944,380.448, 8.896,374.144S-0.32,359.36, 0.032,350.656c 1.76-42.272, 13.664-255.936, 74.624-310.496C 80.512,34.912, 88.128,32, 96,32l 224,0 
+               c 7.872,0, 15.488,2.912, 21.344,8.16c 19.104,17.12, 33.408,49.856, 44.064,88.064c 15.84,0.064, 26.784,0.096, 28.064,0.096
+               c 54.432,0, 98.56,39.68, 98.56,95.84C 512,300.416, 446.080,319.648, 414.24,319.936z M 413.44,176.32l-10.144-0.032c-1.92,0-4.352,0-6.72-0.032
+               c 6.368,32.8, 10.72,66.432, 13.664,95.744l 3.2,0 c 8.448,0, 50.56-2.304, 50.56-47.84C 464,191.296, 437.792,176.32, 413.44,176.32z"  />
+<glyph unicode="&#xe0f3;" d="M 272,448C 139.456,448, 32,340.544, 32,208S 139.456-32, 272-32S 512,75.456, 512,208S 404.544,448, 272,448z M 299.424,224
+               C 346.048,224, 384,188.128, 384,144S 346.048,64, 299.424,64L 288,64 l0-16 C 288,39.168, 280.832,32, 272,32S 256,39.168, 256,48L 256,64 L 244.576,64 C 197.952,64, 160,99.872, 160,144
+               C 160,152.832, 167.168,160, 176,160S 192,152.832, 192,144C 192,117.536, 215.584,96, 244.576,96L 256,96 L 256,192 L 244.576,192 C 197.952,192, 160,227.872, 160,272S 197.952,352, 244.576,352L 256,352 L 256,368 
+               C 256,376.832, 263.168,384, 272,384S 288,376.832, 288,368L 288,352 l 11.424,0 C 346.048,352, 384,316.128, 384,272C 384,263.168, 376.832,256, 368,256S 352,263.168, 352,272
+               C 352,298.464, 328.416,320, 299.424,320L 288,320 l0-96 L 299.424,224 zM 192,272C 192,245.536, 215.584,224, 244.576,224L 256,224 L 256,320 L 244.576,320 C 215.584,320, 192,298.464, 192,272zM 299.424,96C 328.416,96, 352,117.536, 352,144S 328.416,192, 299.424,192L 288,192 l0-96 L 299.424,96 z"  />
+<glyph unicode="&#xe0d8;" d="M 352,96L 352,192 c0,17.664, 14.336,32, 32,32l 96,0 L 480,288 c0,17.664-14.336,32-32,32l-36.736,0 l-15.616,92.768
+                       c-0.704,4.224-3.104,8-6.592,10.432c-3.52,2.464-7.904,3.328-12.096,2.656L 61.088,367.744C 56.896,366.976, 53.152,364.544, 50.752,360.992
+                       C 48.352,357.44, 47.456,353.088, 48.32,348.864L 54.048,320L 32,320 C 14.336,320,0,305.664,0,288l0-288 c0-17.664, 14.336-32, 32-32l 416,0 c 17.664,0, 32,14.336, 32,32l0,64 l-96,0 
+                       C 366.336,64, 352,78.336, 352,96z M 82.848,339.2l 283.936,52.256L 378.816,320l-292.16,0 L 82.848,339.2zM 496,192L 384,192 l0-96 l 112,0 c 8.832,0, 16,7.168, 16,16l0,64 C 512,184.832, 504.832,192, 496,192z M 432,128
+                       c-8.832,0-16,7.168-16,16c0,8.832, 7.168,16, 16,16s 16-7.168, 16-16C 448,135.168, 440.832,128, 432,128z"  />
+<glyph unicode="&#xe0db;" d="M 64,416l0-32 l0-256 l 4.736-11.84L 128-32l 64,160l-0.16,0.064C 191.936,128.16, 191.904,128.32, 192,128.416L 192,384 L 192,416 c0,35.36-28.64,64-64,64
+               S 64,451.36, 64,416z M 96,416c0,17.632, 14.368,32, 32,32s 32-14.368, 32-32l0-32 L 96,384 L 96,416 z M 128,54.176l-16.48,41.184l-6.4,16L 104.64,112.544L 128,124.224l 23.36-11.68
+               l-0.48-1.216l-6.4-16L 128,54.176zM 402.944,384.672l-30.24,77.344l-0.288-0.064C 370.912,472.096, 362.56,480, 352,480c-10.432,0-18.976-8.032-20.672-18.080
+               l-0.32,0.064L 301.056,384.672L 288,352l0-320 c0-35.36, 28.64-64, 64-64s 64,28.64, 64,64c 17.664,0, 32,14.336, 32,32l0,96 c0,17.664-14.336,32-32,32L 416,352 L 402.944,384.672z
+                M 373.216,372.768L 381.536,352l-59.072,0 l 8.32,20.768L 335.264,384L 352,425.824L 368.736,384L 373.216,372.768z"  />
+<glyph unicode="&#xe0f0;" d="M 480,480L 64,480 C 46.336,480, 32,465.664, 32,448c0-17.664, 14.336-32, 32-32l0-256 c0-17.664, 14.336-32, 32-32l 160,0 l0-49.952 L 165.248-4.16
+               c-6.528-5.92-7.040-16.032-1.088-22.592c 5.984-6.528, 16.096-7.040, 22.592-1.088L 256,34.88l0-50.88 C 256-24.832, 263.168-32, 272-32S 288-24.832, 288-16
+               l0,50.88 l 69.248-62.72C 360.32-30.624, 364.16-32, 368-32c 4.352,0, 8.672,1.792, 11.84,5.248c 5.952,6.56, 5.44,16.672-1.088,22.592L 288,78.048L 288,128 
+               l 160,0 c 17.664,0, 32,14.336, 32,32L 480,416 c 17.664,0, 32,14.336, 32,32C 512,465.664, 497.664,480, 480,480z M 411.104,356.48l-112-108
+               C 292.96,242.528, 283.232,242.496, 276.96,248.416L 227.52,295.424L 156,220.896C 152.864,217.664, 148.672,216, 144.48,216c-4,0-7.968,1.472-11.104,4.48
+               C 127.008,226.56, 126.816,236.672, 132.928,243.104l 82.528,86.016C 221.568,335.36, 231.68,335.616, 238.016,329.6l 49.92-47.424l 100.96,97.376
+               c 6.336,6.048, 16.48,6.016, 22.624-0.448C 417.664,372.736, 417.472,362.624, 411.104,356.48z"  />
+<glyph unicode="&#xe0df;" d="M 480,160L 480,224 c0,17.664-14.336,32-32,32L 288,256 L 288,320 l 96,0 c 17.664,0, 32,14.336, 32,32L 416,384 c0,17.664-14.336,32-32,32L 160,416 C 142.336,416, 128,401.664, 128,384l0-32 
+               c0-17.664, 14.336-32, 32-32l 96,0 l0-64 L 96,256 C 78.336,256, 64,241.664, 64,224l0-64 c-17.664,0-32-14.336-32-32l0-64 c0-17.664, 14.336-32, 32-32l 32,0 c 17.664,0, 32,14.336, 32,32l0,32 l0,32 
+               c0,17.664-14.336,32-32,32L 96,224 l 160,0 l0-64 c-17.664,0-32-14.336-32-32l0-32 l0-32 c0-17.664, 14.336-32, 32-32l 32,0 c 17.664,0, 32,14.336, 32,32l0,32 l0,32 c0,17.664-14.336,32-32,32L 288,224 l 160,0 l0-64 
+               c-17.664,0-32-14.336-32-32l0-32 l0-32 c0-17.664, 14.336-32, 32-32l 32,0 c 17.664,0, 32,14.336, 32,32l0,64 C 512,145.664, 497.664,160, 480,160z"  />
+<glyph unicode="&#xe0f2;" d="M 64,480C 46.336,480, 32,465.664, 32,448l0-448 c0-17.664, 14.336-32, 32-32l 416,0 c 17.664,0, 32,14.336, 32,32L 512,448 c0,17.664-14.336,32-32,32L 64,480 z
+                M 448,305.792L 448,32 l-96,0 L 352,305.792 L 448,305.792 z M 320,384l0-352 L 224,32 L 224,384 L 320,384 z M 192,188.448L 192,32 L 96,32 L 96,188.448 L 192,188.448 z"  />
+<glyph unicode="&#xe0f4;" d="M 480,352l-96,0 L 384,416 c0,17.664-14.336,32-32,32L 160,448 C 142.336,448, 128,433.664, 128,416l0-64 L 32,352 C 14.336,352,0,337.664,0,320l0-288 c0-17.664, 14.336-32, 32-32l 448,0 
+               c 17.664,0, 32,14.336, 32,32L 512,320 C 512,337.664, 497.664,352, 480,352z M 160,416l 192,0 l0-64 L 160,352 L 160,416 z"  />
+<glyph unicode="&#xe0d9;" d="M 247.2-30.752C 250.080-31.584, 253.056-32, 256-32s 5.92,0.416, 8.8,1.248c 198.048,56.576, 227.2,256.768, 214.976,354.752
+               C 477.76,339.968, 464.128,352, 448,352c-4.576,0.352-32,5.088-32,64c0,8.48-3.36,16.64-9.376,22.624C 399.712,445.536, 360,480, 256,480
+               S 112.288,445.536, 105.376,438.624C 99.36,432.64, 96,424.48, 96,416c0-58.912-27.424-63.648-32.928-64.032c-16.128,0-28.832-12-30.848-28
+               C 20,226.016, 49.184,25.824, 247.2-30.752z M 64,320c0,0, 64,0, 64,96c0,0, 32,32, 128,32l0-224 l 188.448,0 c-12.608-79.712-54.912-185.856-188.448-224L 256,224 L 67.552,224 
+               C 59.040,278.016, 64,320, 64,320z"  />
+<glyph unicode="&#xe0da;" d="M 160,304.992A16.992,16.992 180 1 1 193.984,304.99199999999996A16.992,16.992 180 1 1 160,304.99199999999996zM 256,480C 114.624,480,0,365.376,0,224s 114.624-256, 256-256s 256,114.624, 256,256S 397.376,480, 256,480z M 128,304.992c0,27.072, 21.952,48.992, 48.992,48.992
+               s 48.992-21.952, 48.992-48.992S 204.064,256, 176.992,256S 128,277.952, 128,304.992z M 171.328,116.672C 168.192,113.568, 164.096,112, 160,112
+               s-8.192,1.568-11.328,4.672c-6.24,6.24-6.24,16.384,0,22.624l 192,192c 6.24,6.24, 16.384,6.24, 22.624,0s 6.24-16.384,0-22.624
+               L 171.328,116.672z M 335.008,96c-27.072,0-48.992,21.952-48.992,48.992s 21.952,48.992, 48.992,48.992S 384,172.064, 384,144.992S 362.048,96, 335.008,96zM 318.016,144.992A16.992,16.992 180 1 1 352,144.99200000000002A16.992,16.992 180 1 1 318.016,144.99200000000002z"  />
+<glyph unicode="&#xe0de;" d="M 481.888,133.792c-87.136-87.104-228.928-87.168-316.064,0C 123.648,175.936, 100.448,232.064, 100.448,291.84
+               s 23.232,115.904, 65.344,158.016c 6.24,6.24, 6.24,16.384,0,22.624s-16.384,6.24-22.624,0C 94.976,424.32, 68.448,360.16, 68.448,291.84
+               s 26.56-132.512, 74.72-180.672C 183.84,70.464, 234.976,46.688, 288,39.232L 288,0 L 240,0 C 231.168,0, 224-7.168, 224-16C 224-24.832, 231.168-32, 240-32l 128,0 
+               c 8.832,0, 16,7.168, 16,16c0,8.832-7.168,16-16,16L 320,0 l0,36.608 c 1.28-0.032, 2.56-0.192, 3.84-0.192
+               c 65.408,0, 130.848,24.896, 180.672,74.72c 6.24,6.24, 6.24,16.384,0,22.624S 488.128,140.032, 481.888,133.792zM 135.68,291.84A188.16,188.16 180 1 1 512,291.84000000000003A188.16,188.16 180 1 1 135.68,291.84000000000003z"  />
+<glyph unicode="&#xe0e6;" d="M 416,448l-96,0 c0,17.664-14.336,32-32,32L 224,480 C 206.336,480, 192,465.664, 192,448L 96,448 C 78.336,448, 64,433.664, 64,416l0-416 c0-17.664, 14.336-32, 32-32l 320,0 
+               c 17.664,0, 32,14.336, 32,32L 448,416 C 448,433.664, 433.664,448, 416,448z M 416,32L 96,32 L 96,416 l 64,0 c0-17.664, 14.336-32, 32-32l 32,0 l 64,0 l 32,0 c 17.664,0, 32,14.336, 32,32l 64,0 L 416,32 zM 128,304C 128,295.168, 135.168,288, 144,288l 224,0 C 376.832,288, 384,295.168, 384,304C 384,312.832, 376.832,320, 368,320l-224,0 
+               C 135.168,320, 128,312.832, 128,304zM 368,224l-224,0 C 135.168,224, 128,216.832, 128,208C 128,199.168, 135.168,192, 144,192l 224,0 C 376.832,192, 384,199.168, 384,208
+               C 384,216.832, 376.832,224, 368,224zM 368,128l-224,0 C 135.168,128, 128,120.832, 128,112C 128,103.168, 135.168,96, 144,96l 224,0 c 8.832,0, 16,7.168, 16,16
+               C 384,120.832, 376.832,128, 368,128z"  />
+<glyph unicode="&#x20;" horiz-adv-x="256" />
+</font></defs></svg>
\ No newline at end of file
diff --git a/templates/shop-isle/assets/fonts/ElegantIcons.ttf b/templates/shop-isle/assets/fonts/ElegantIcons.ttf
new file mode 100644 (file)
index 0000000..12ff680
Binary files /dev/null and b/templates/shop-isle/assets/fonts/ElegantIcons.ttf differ
diff --git a/templates/shop-isle/assets/fonts/ElegantIcons.woff b/templates/shop-isle/assets/fonts/ElegantIcons.woff
new file mode 100644 (file)
index 0000000..3933052
Binary files /dev/null and b/templates/shop-isle/assets/fonts/ElegantIcons.woff differ
diff --git a/templates/shop-isle/assets/fonts/flexslider-icon.eot b/templates/shop-isle/assets/fonts/flexslider-icon.eot
new file mode 100644 (file)
index 0000000..97c4196
Binary files /dev/null and b/templates/shop-isle/assets/fonts/flexslider-icon.eot differ
diff --git a/templates/shop-isle/assets/fonts/flexslider-icon.svg b/templates/shop-isle/assets/fonts/flexslider-icon.svg
new file mode 100644 (file)
index 0000000..89fd1ab
--- /dev/null
@@ -0,0 +1,19 @@
+<?xml version="1.0" standalone="no"?>
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd" >
+<svg xmlns="http://www.w3.org/2000/svg">
+<metadata>
+This is a custom SVG font generated by IcoMoon.
+<iconset grid="14"></iconset>
+</metadata>
+<defs>
+<font id="flexslider-icon" horiz-adv-x="448" >
+<font-face units-per-em="448" ascent="384" descent="-64" />
+<missing-glyph horiz-adv-x="448" />
+<glyph unicode="&#xf001;" d="M 185.50-9.25l-163.00,162.75q-9.25,9.25 -9.25,22.625t 9.25,22.625l 163.00,162.75q 9.25,9.25 22.625,9.25t 22.625-9.25l 18.75-18.75q 9.25-9.25 9.25-22.625t-9.25-22.625l-121.50-121.50l 121.50-121.25q 9.25-9.50 9.25-22.75t-9.25-22.50l-18.75-18.75q-9.25-9.25 -22.625-9.25t-22.625,9.25z" horiz-adv-x="288"  />
+<glyph unicode="&#xf002;" d="M 274.75,176.00q0.00-13.00 -9.25-22.75l-163.00-162.75q-9.25-9.25 -22.50-9.25t-22.50,9.25l-19.00,18.75q-9.25,9.75 -9.25,22.75q0.00,13.25 9.25,22.50l 121.50,121.50l-121.50,121.25q-9.25,9.75 -9.25,22.75q0.00,13.25 9.25,22.50l 19.00,18.75q 9.00,9.50 22.50,9.50t 22.50-9.50l 163.00-162.75q 9.25-9.25 9.25-22.50z" horiz-adv-x="288"  />
+<glyph unicode="&#xf003;" d="M 346.00,152.25l-332.00-184.50q-5.75-3.25 -9.875-0.75t-4.125,9.00l0.00,368.00 q0.00,6.50 4.125,9.00t 9.875-0.75l 332.00-184.50q 5.75-3.25 5.75-7.75t-5.75-7.75z" horiz-adv-x="352"  />
+<glyph unicode="&#xf004;" d="M 384.00,336.00l0.00-352.00 q0.00-6.50 -4.75-11.25t-11.25-4.75l-128.00,0.00 q-6.50,0.00 -11.25,4.75t-4.75,11.25l0.00,352.00 q0.00,6.50 4.75,11.25t 11.25,4.75l 128.00,0.00 q 6.50,0.00 11.25-4.75t 4.75-11.25zM 160.00,336.00l0.00-352.00 q0.00-6.50 -4.75-11.25t-11.25-4.75l-128.00,0.00 q-6.50,0.00 -11.25,4.75t-4.75,11.25l0.00,352.00 q0.00,6.50 4.75,11.25t 11.25,4.75l 128.00,0.00 q 6.50,0.00 11.25-4.75t 4.75-11.25z" horiz-adv-x="384"  />
+<glyph unicode="&#xf005;" d="M 402.75,208.00q0.00-13.25 -9.25-22.50l-162.75-162.75q-9.50-9.50 -22.75-9.50q-13.50,0.00 -22.50,9.50l-162.75,162.75q-9.50,9.00 -9.50,22.50q0.00,13.25 9.50,22.75l 18.50,18.75q 9.75,9.25 22.75,9.25q 13.25,0.00 22.50-9.25l 121.50-121.50l 121.50,121.50q 9.25,9.25 22.50,9.25q 13.00,0.00 22.75-9.25l 18.75-18.75q 9.25-9.75 9.25-22.75z" horiz-adv-x="416"  />
+<glyph unicode="&#x20;" horiz-adv-x="224" />
+<glyph class="hidden" unicode="&#xf000;" d="M0,384L 448 -64L0 -64 z" horiz-adv-x="0" />
+</font></defs></svg>
\ No newline at end of file
diff --git a/templates/shop-isle/assets/fonts/flexslider-icon.ttf b/templates/shop-isle/assets/fonts/flexslider-icon.ttf
new file mode 100644 (file)
index 0000000..0543298
Binary files /dev/null and b/templates/shop-isle/assets/fonts/flexslider-icon.ttf differ
diff --git a/templates/shop-isle/assets/fonts/flexslider-icon.woff b/templates/shop-isle/assets/fonts/flexslider-icon.woff
new file mode 100644 (file)
index 0000000..10c4eeb
Binary files /dev/null and b/templates/shop-isle/assets/fonts/flexslider-icon.woff differ
diff --git a/templates/shop-isle/assets/images/404.jpg b/templates/shop-isle/assets/images/404.jpg
new file mode 100644 (file)
index 0000000..2e5fa9b
Binary files /dev/null and b/templates/shop-isle/assets/images/404.jpg differ
diff --git a/templates/shop-isle/assets/images/background-video.jpg b/templates/shop-isle/assets/images/background-video.jpg
new file mode 100644 (file)
index 0000000..2213cf0
Binary files /dev/null and b/templates/shop-isle/assets/images/background-video.jpg differ
diff --git a/templates/shop-isle/assets/images/banner1.jpg b/templates/shop-isle/assets/images/banner1.jpg
new file mode 100644 (file)
index 0000000..c9423f4
Binary files /dev/null and b/templates/shop-isle/assets/images/banner1.jpg differ
diff --git a/templates/shop-isle/assets/images/banner2.jpg b/templates/shop-isle/assets/images/banner2.jpg
new file mode 100644 (file)
index 0000000..d66856d
Binary files /dev/null and b/templates/shop-isle/assets/images/banner2.jpg differ
diff --git a/templates/shop-isle/assets/images/banner3.jpg b/templates/shop-isle/assets/images/banner3.jpg
new file mode 100644 (file)
index 0000000..9171f35
Binary files /dev/null and b/templates/shop-isle/assets/images/banner3.jpg differ
diff --git a/templates/shop-isle/assets/images/header.jpg b/templates/shop-isle/assets/images/header.jpg
new file mode 100644 (file)
index 0000000..c0f7d73
Binary files /dev/null and b/templates/shop-isle/assets/images/header.jpg differ
diff --git a/templates/shop-isle/assets/images/next-light.cur b/templates/shop-isle/assets/images/next-light.cur
new file mode 100644 (file)
index 0000000..61a7908
Binary files /dev/null and b/templates/shop-isle/assets/images/next-light.cur differ
diff --git a/templates/shop-isle/assets/images/next-light.png b/templates/shop-isle/assets/images/next-light.png
new file mode 100644 (file)
index 0000000..f29a951
Binary files /dev/null and b/templates/shop-isle/assets/images/next-light.png differ
diff --git a/templates/shop-isle/assets/images/prev-light.cur b/templates/shop-isle/assets/images/prev-light.cur
new file mode 100644 (file)
index 0000000..337be1b
Binary files /dev/null and b/templates/shop-isle/assets/images/prev-light.cur differ
diff --git a/templates/shop-isle/assets/images/prev-light.png b/templates/shop-isle/assets/images/prev-light.png
new file mode 100644 (file)
index 0000000..ab1351d
Binary files /dev/null and b/templates/shop-isle/assets/images/prev-light.png differ
diff --git a/templates/shop-isle/assets/images/ribbon-bg.jpg b/templates/shop-isle/assets/images/ribbon-bg.jpg
new file mode 100644 (file)
index 0000000..79c1d9f
Binary files /dev/null and b/templates/shop-isle/assets/images/ribbon-bg.jpg differ
diff --git a/templates/shop-isle/assets/images/slide1.jpg b/templates/shop-isle/assets/images/slide1.jpg
new file mode 100644 (file)
index 0000000..ecb4b22
Binary files /dev/null and b/templates/shop-isle/assets/images/slide1.jpg differ
diff --git a/templates/shop-isle/assets/images/slide2.jpg b/templates/shop-isle/assets/images/slide2.jpg
new file mode 100644 (file)
index 0000000..de2490e
Binary files /dev/null and b/templates/shop-isle/assets/images/slide2.jpg differ
diff --git a/templates/shop-isle/assets/images/slide3.jpg b/templates/shop-isle/assets/images/slide3.jpg
new file mode 100644 (file)
index 0000000..a185c53
Binary files /dev/null and b/templates/shop-isle/assets/images/slide3.jpg differ
diff --git a/templates/shop-isle/assets/images/team1.jpg b/templates/shop-isle/assets/images/team1.jpg
new file mode 100644 (file)
index 0000000..1975639
Binary files /dev/null and b/templates/shop-isle/assets/images/team1.jpg differ
diff --git a/templates/shop-isle/assets/images/team2.jpg b/templates/shop-isle/assets/images/team2.jpg
new file mode 100644 (file)
index 0000000..e3369b7
Binary files /dev/null and b/templates/shop-isle/assets/images/team2.jpg differ
diff --git a/templates/shop-isle/assets/images/team3.jpg b/templates/shop-isle/assets/images/team3.jpg
new file mode 100644 (file)
index 0000000..3f4a90b
Binary files /dev/null and b/templates/shop-isle/assets/images/team3.jpg differ
diff --git a/templates/shop-isle/assets/images/team4.jpg b/templates/shop-isle/assets/images/team4.jpg
new file mode 100644 (file)
index 0000000..490f4ec
Binary files /dev/null and b/templates/shop-isle/assets/images/team4.jpg differ
diff --git a/templates/shop-isle/assets/js/custom.js b/templates/shop-isle/assets/js/custom.js
new file mode 100644 (file)
index 0000000..049a89e
--- /dev/null
@@ -0,0 +1,464 @@
+(function($){
+
+       /* ---------------------------------------------- /*
+        * Preloader
+       /* ---------------------------------------------- */
+
+       $(window).load(function() {
+               $('.loader').fadeOut();
+               $('.page-loader').delay(350).fadeOut('slow');
+       });
+
+       $(document).ready(function() {
+
+               /* ---------------------------------------------- /*
+                * Initialization General Scripts for all pages
+               /* ---------------------------------------------- */
+
+               var homeSection = $('.home-section'),
+                       navbar      = $('.navbar-custom'),
+                       navHeight   = navbar.height(),
+                       width       = Math.max($(window).width(), window.innerWidth),
+                       mobileTest;
+
+               if(/Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent)) {
+                       mobileTest = true;
+               }
+
+               buildHomeSection(homeSection);
+               navbarAnimation(navbar, homeSection, navHeight);
+               navbarSubmenu(width);
+               hoverDropdown(width, mobileTest);
+
+               $(window).resize(function() {
+                       var width = Math.max($(window).width(), window.innerWidth);
+                       buildHomeSection(homeSection);
+                       hoverDropdown(width, mobileTest);
+               });
+
+               $(window).scroll(function() {
+                       effectsHomeSection(homeSection, this);
+                       navbarAnimation(navbar, homeSection, navHeight);
+               });
+
+               /* ---------------------------------------------- /*
+                * Home section height
+               /* ---------------------------------------------- */
+
+               function buildHomeSection(homeSection) {
+                       if (homeSection.length > 0) {
+                               if (homeSection.hasClass('home-full-height')) {
+                                       homeSection.height($(window).height());
+                               } else {
+                                       if ( !homeSection.hasClass('home-slider-plugin') ) {
+                                               homeSection.height($(window).height() * 0.85);
+                                       }
+                               }
+                       } else {
+                               if( $('body.home' ).length>0 && homeSection.length<1 ) {
+                                       //$('.main').css('margin-top', $('.navbar-custom').outerHeight() );
+                               }
+                       }
+               }
+
+               /* ---------------------------------------------- /*
+                * Home section effects
+               /* ---------------------------------------------- */
+
+               function effectsHomeSection(homeSection, scrollTopp) {
+                       if (homeSection.length > 0) {
+                               var homeSHeight = homeSection.height();
+                               var topScroll = $(document).scrollTop();
+                               if ( ( homeSection.hasClass( 'home-parallax' ) ) && ( $( scrollTopp ).scrollTop() <= homeSHeight ) ) {
+                                       $( '.home-slider-overlay' ).css( 'opacity', ( 0.3 + 0.7 * topScroll / $(window).height() ) );
+                               }
+                               if (homeSection.hasClass('home-fade') && ($(scrollTopp).scrollTop() <= homeSHeight)) {
+                                       var caption = $('.caption-content');
+                                       caption.css('opacity', (1 - topScroll/homeSection.height() * 1));
+                               }
+                       }
+               }
+
+               /* ---------------------------------------------- /*
+                * Intro slider setup
+               /* ---------------------------------------------- */
+
+               if( $('.hero-slider').length > 0 ) {
+                       $('.hero-slider').flexslider( {
+                               animation: 'fade',
+                               animationSpeed: 1000,
+                               animationLoop: true,
+                               prevText: '',
+                               nextText: '',
+                               before: function(slider) {
+                                       $('.hs-caption').fadeOut().animate({top:'-80px'},{queue:false, easing: 'swing', duration: 700});
+                                       slider.slides.eq(slider.currentSlide).delay(500);
+                                       slider.slides.eq(slider.animatingTo).delay(500);
+                               },
+                               after: function() {
+                                       $('.hs-caption').fadeIn().animate({top:'0'},{queue:false, easing: 'swing', duration: 700});
+                               },
+                               useCSS: true
+                       });
+               }
+
+               /* ---------------------------------------------- /*
+                * Youtube video background
+               /* ---------------------------------------------- */
+
+               $(function(){
+                       $('.video-player').mb_YTPlayer();
+               });
+
+               $('#video-play').click(function(event) {
+                       event.preventDefault();
+                       if ($(this).hasClass('fa-play')) {
+                               $('.video-player').playYTP();
+                       } else {
+                               $('.video-player').pauseYTP();
+                       }
+                       $(this).toggleClass('fa-play fa-pause');
+                       return false;
+               });
+
+               $('#video-volume').click(function(event) {
+                       event.preventDefault();
+                       $('.video-player').toggleVolume();
+                       $(this).toggleClass('fa-volume-off fa-volume-up');
+                       return false;
+               });
+
+               /* ---------------------------------------------- /*
+                * Transparent navbar animation
+               /* ---------------------------------------------- */
+
+               function navbarAnimation(navbar, homeSection, navHeight) {
+
+                       var topScroll = $(window).scrollTop();
+                       if (navbar.length > 0 && homeSection.length > 0) {
+                               if(topScroll >= navHeight) {
+                                       navbar.removeClass('navbar-transparent');
+                               } else {
+                                       navbar.addClass('navbar-transparent');
+                               }
+                       } else {
+                               navbar.removeClass('navbar-transparent');
+                       }
+               }
+
+               /* ---------------------------------------------- /*
+                * Navbar submenu
+               /* ---------------------------------------------- */
+
+               function navbarSubmenu(width) {
+                       if (width > 767) {
+                               $('.navbar-custom .navbar-nav > li.menu-item-has-children').on('click mouseover', function() {
+                                       var MenuLeftOffset  = $('.sub-menu', $(this)).offset().left;
+                                       var Menu1LevelWidth = $('.sub-menu', $(this)).width();
+                                       if (width - MenuLeftOffset < Menu1LevelWidth * 2) {
+                                               $(this).children('.sub-menu').addClass('leftauto');
+                                       } else {
+                                               $(this).children('.sub-menu').removeClass('leftauto');
+                                       }
+                                       if ($('.menu-item-has-children', $(this)).length > 0) {
+                                               var Menu2LevelWidth = $('.sub-menu', $(this)).width();
+                                               if (width - MenuLeftOffset - Menu1LevelWidth < Menu2LevelWidth) {
+                                                       $(this).children('.sub-menu').addClass('left-side');
+                                               } else {
+                                                       $(this).children('.sub-menu').removeClass('left-side');
+                                               }
+                                       }
+                               });
+                       }
+               }
+
+               /* ---------------------------------------------- /*
+                * Navbar hover dropdown on desctop
+               /* ---------------------------------------------- */
+
+               function hoverDropdown(width, mobileTest) {
+                       if ((width > 767) && (mobileTest !== true)) {
+                               $('.navbar-custom .navbar-nav > li, .navbar-custom li.dropdown > ul > li').removeClass('open');
+                               var delay = 0;
+                               var setTimeoutConst;
+                               $('.navbar-custom .navbar-nav > li, .navbar-custom li > ul > li').hover(function() {
+                                       var $this = $(this);
+                                       setTimeoutConst = setTimeout(function() {
+                                               $this.addClass('open');
+                                               $this.find('.dropdown-toggle').addClass('disabled');
+                                       }, delay);
+                               },
+                               function() {
+                                       clearTimeout(setTimeoutConst);
+                                       $(this).removeClass('open');
+                                       $(this).find('.dropdown-toggle').removeClass('disabled');
+                               });
+                       } else {
+                               $('.navbar-custom .navbar-nav > li, .navbar-custom li > ul > li').unbind('mouseenter mouseleave');
+                               $('.navbar-custom [data-toggle=dropdown]').not('.binded').addClass('binded').on('click', function(event) {
+                                       event.preventDefault();
+                                       event.stopPropagation();
+                                       $(this).parent().siblings().removeClass('open');
+                                       $(this).parent().siblings().find('[data-toggle=dropdown]').parent().removeClass('open');
+                                       $(this).parent().toggleClass('open');
+                               });
+                       }
+               }
+
+               /* ---------------------------------------------- /*
+                * Navbar collapse on click
+               /* ---------------------------------------------- */
+
+               $(document).on('click','.navbar-collapse.in',function(e) {
+            if( $(e.target).is('a') && $(e.target).attr('class') !== 'dropdown-toggle' && !$('body').hasClass('mega-menu-primary') ) {
+                               $(this).collapse('hide');
+                       }
+               });
+
+               /* ---------------------------------------------- /*
+                * Set sections backgrounds
+               /* ---------------------------------------------- */
+
+               var module = $('.home-section, .module, .module-small, .side-image');
+               module.each(function() {
+                       if ($(this).attr('data-background')) {
+                               $(this).css('background-image', 'url(' + $(this).attr('data-background') + ')');
+                       }
+               });
+
+               /* ---------------------------------------------- /*
+                * Testimonials, Post sliders
+               /* ---------------------------------------------- */
+
+               if ($('.testimonials-slider').length > 0 ) {
+                       $('.testimonials-slider').flexslider( {
+                               animation: 'slide',
+                               smoothHeight: true,
+                       });
+               }
+
+               $('.post-images-slider').flexslider( {
+                       animation: 'slide',
+                       smoothHeight: true,
+               });
+
+               /* ---------------------------------------------- /*
+                * Owl slider
+               /* ---------------------------------------------- */
+
+               $('.owl-carousel').each(function() {
+
+                       // Check items number
+                       var items;
+                       if ($(this).data('items') > 0) {
+                               items = $(this).data('items');
+                       } else {
+                               items = 4;
+                       }
+
+                       // Check pagination true/false
+                       var pagination;
+                       if (($(this).data('pagination') > 0) && ($(this).data('pagination') === true)) {
+                               pagination = true;
+                       } else {
+                               pagination = false;
+                       }
+
+                       // Check navigation true/false
+                       var navigation;
+                       if (($(this).data('navigation') > 0) && ($(this).data('navigation') === true)) {
+                               navigation = true;
+                       } else {
+                               navigation = false;
+                       }
+
+            // Check rtl true/false
+            var rtl;
+            if (($(this).data('rtl') > 0) && ($(this).data('rtl') === true)) {
+                rtl = true;
+            } else {
+                rtl = false;
+            }
+
+                       // Build carousel
+                       $(this).owlCarousel( {
+                loop:true,
+                autoplay:true,
+                autoplayTimeout:5000,
+                autoplayHoverPause:true,
+                dots: pagination,
+                dotsSpeed: 400,
+                items: items,
+                rtl: rtl,
+                nav: false,
+                navText: ['', ''],
+                               responsiveClass:true,
+                               responsive:{
+                                       0:{
+                                               items:1,
+                                       },
+                                       600:{
+                                               items:3,
+                                       },
+                                       1000:{
+                                               items:5,
+                                       }
+                               }
+                       });
+
+               });
+
+               /* ---------------------------------------------- /*
+                * Video popup, Gallery
+               /* ---------------------------------------------- */
+
+               $('.video-pop-up').magnificPopup({
+                       type: 'iframe',
+               });
+
+               $('a.gallery').magnificPopup({
+                       type: 'image',
+                       gallery: {
+                               enabled: true,
+                               navigateByImgClick: true,
+                               preload: [0,1]
+                       },
+                       image: {
+                               titleSrc: 'title',
+                               tError: 'The image could not be loaded.',
+                       }
+               });
+
+               /* ---------------------------------------------- /*
+                * A jQuery plugin for fluid width video embeds
+               /* ---------------------------------------------- */
+
+               $('body').fitVids();
+
+               /* ---------------------------------------------- /*
+                * Open tabs by external link
+               /* ---------------------------------------------- */
+
+               $('.open-tab').click(function (e) {
+                       var pattern = /#.+/gi;
+                       var contentID = e.target.toString().match(pattern)[0];
+                       $('.nav-tabs a[href="' + contentID + '"]').tab('show');
+               });
+
+               /* ---------------------------------------------- /*
+                * Scroll Animation
+               /* ---------------------------------------------- */
+
+               $('.section-scroll').bind('click', function(e) {
+                       var anchor = $(this);
+                       $('html, body').stop().animate({
+                               scrollTop: $(anchor.attr('href')).offset().top - 50
+                       }, 1000);
+                       e.preventDefault();
+               });
+
+               /* ---------------------------------------------- /*
+                * Scroll top
+               /* ---------------------------------------------- */
+
+               $(window).scroll(function() {
+                       if ($(this).scrollTop() > 100) {
+                               $('.scroll-up').fadeIn();
+                       } else {
+                               $('.scroll-up').fadeOut();
+                       }
+               });
+
+               $('a[href="#totop"]').click(function() {
+                       $('html, body').animate({ scrollTop: 0 }, 'slow');
+                       return false;
+               });
+               
+               /* ---------------------------------------------- /*
+                * Dropdown mennu on tablet
+                /* ---------------------------------------------- */
+
+               var $menuBtnChildren = $('.menu-item-has-children'),
+                       submenuOpenClass = 'open',
+                       $thisParent,
+                       $menuWrap = $('.header-menu-wrap');
+               $menuBtnChildren.click(function(event){
+                       if( mobileTest && !$(this).hasClass(submenuOpenClass) && window.innerWidth > 767 ) {
+                               $thisParent = $(this).parent('ul').parent('li');
+                               if( $thisParent.hasClass(submenuOpenClass) ){
+                                       $thisParent.find('.'+submenuOpenClass).removeClass(submenuOpenClass);
+                               } else {
+                                       $menuWrap.find('.'+submenuOpenClass).removeClass(submenuOpenClass);
+                               }
+                               $(this).addClass(submenuOpenClass);
+                               event.stopPropagation();
+                               return false;
+                       }
+               });
+
+               $('html,body,.main,.navbar-custom,.bottom-page-wrap').click(function(){
+                       $menuWrap.find('.'+submenuOpenClass).removeClass(submenuOpenClass);
+               });
+
+        /* Visible arrow on mobile */
+               if( mobileTest === true && $( '.flex-direction-nav' ).length>0 && $( 'ul.slides > li' ).length>1 ) {
+            $('.flex-direction-nav').addClass('visible-arrow');
+        }
+
+       });
+
+       $('#review_form form :input').each(function(index, elem) {
+               var eId = $(elem).attr('id');
+               var label = null;
+               if (eId && (label = $(elem).parents('form').find('label[for='+eId+']')).length === 1) {
+                       $(elem).attr('placeholder', $(label).text());
+                       $(label).remove();
+               }
+       });
+
+       $('#map').click(function(event){
+        $('.shop_isle_pro_map_overlay').css('display','none');
+        event.stopPropagation();
+    });
+    
+    $('html').click(function(){
+        $('.shop_isle_pro_map_overlay').css('display','block');
+    });
+
+       if(typeof $('.wr-megamenu-container') !== 'undefined') {
+               $('.wr-megamenu-container').addClass('bg-tr');
+       }
+
+    var isMobile = {
+        Android: function() {
+            return navigator.userAgent.match(/Android/i);
+        },
+        BlackBerry: function() {
+            return navigator.userAgent.match(/BlackBerry/i);
+        },
+        iOS: function() {
+            return navigator.userAgent.match(/iPhone|iPad|iPod/i);
+        },
+        Opera: function() {
+            return navigator.userAgent.match(/Opera Mini/i);
+        },
+        Windows: function() {
+            return navigator.userAgent.match(/IEMobile/i);
+        },
+        any: function() {
+            return (isMobile.Android() || isMobile.BlackBerry() || isMobile.iOS() || isMobile.Opera() || isMobile.Windows());
+        }
+    };
+    if( isMobile.iOS() ) {
+        $( '#ribbon' ).addClass( 'ribbon-ios' );
+    }
+
+       if( isMobile.Windows() && $( '.navbar-cart' ).length > 0 ) {
+               $( '.navbar-header' ).css({
+                       'float': 'left',
+                       'padding-left': '100px',
+                       'margin-left': '-100px',
+               });
+       }
+
+})(jQuery);
\ No newline at end of file
diff --git a/templates/shop-isle/assets/js/vendor/jqBootstrapValidation.js b/templates/shop-isle/assets/js/vendor/jqBootstrapValidation.js
new file mode 100644 (file)
index 0000000..27a226a
--- /dev/null
@@ -0,0 +1,912 @@
+/* jqBootstrapValidation
+ * A plugin for automating validation on Twitter Bootstrap formatted forms.
+ *
+ * v1.3.6
+ *
+ * License: MIT <http://opensource.org/licenses/mit-license.php> - see LICENSE file
+ *
+ * http://ReactiveRaven.github.com/jqBootstrapValidation/
+ */
+
+(function( $ ){
+
+  var createdElements = [];
+
+  var defaults = {
+    options: {
+      prependExistingHelpBlock: false,
+      sniffHtml: true, // sniff for 'required', 'maxlength', etc
+      preventSubmit: true, // stop the form submit event from firing if validation fails
+      submitError: false, // function called if there is an error when trying to submit
+      submitSuccess: false, // function called just before a successful submit event is sent to the server
+            semanticallyStrict: false, // set to true to tidy up generated HTML output
+      autoAdd: {
+        helpBlocks: true
+      },
+            filter: function () {
+                // return $(this).is(":visible"); // only validate elements you can see
+                return true; // validate everything
+            }
+    },
+    methods: {
+      init : function( options ) {
+
+        var settings = $.extend(true, {}, defaults);
+
+        settings.options = $.extend(true, settings.options, options);
+
+        var $siblingElements = this;
+
+        var uniqueForms = $.unique(
+          $siblingElements.map( function () {
+            return $(this).parents("form")[0];
+          }).toArray()
+        );
+
+        $(uniqueForms).bind("submit", function (e) {
+          var $form = $(this);
+          var warningsFound = 0;
+          var $inputs = $form.find("input,textarea,select").not("[type=submit],[type=image]").filter(settings.options.filter);
+          $inputs.trigger("submit.validation").trigger("validationLostFocus.validation");
+
+          $inputs.each(function (i, el) {
+            var $this = $(el),
+              $controlGroup = $this.parents(".form-group").first();
+            if (
+              $controlGroup.hasClass("warning")
+            ) {
+              $controlGroup.removeClass("warning").addClass("error");
+              warningsFound++;
+            }
+          });
+
+          $inputs.trigger("validationLostFocus.validation");
+
+          if (warningsFound) {
+            if (settings.options.preventSubmit) {
+              e.preventDefault();
+            }
+            $form.addClass("error");
+            if ($.isFunction(settings.options.submitError)) {
+              settings.options.submitError($form, e, $inputs.jqBootstrapValidation("collectErrors", true));
+            }
+          } else {
+            $form.removeClass("error");
+            if ($.isFunction(settings.options.submitSuccess)) {
+              settings.options.submitSuccess($form, e);
+            }
+          }
+        });
+
+        return this.each(function(){
+
+          // Get references to everything we're interested in
+          var $this = $(this),
+            $controlGroup = $this.parents(".form-group").first(),
+            $helpBlock = $controlGroup.find(".help-block").first(),
+            $form = $this.parents("form").first(),
+            validatorNames = [];
+
+          // create message container if not exists
+          if (!$helpBlock.length && settings.options.autoAdd && settings.options.autoAdd.helpBlocks) {
+              $helpBlock = $('<div class="help-block" />');
+              $controlGroup.find('.controls').append($helpBlock);
+              createdElements.push($helpBlock[0]);
+          }
+
+          // =============================================================
+          //                                     SNIFF HTML FOR VALIDATORS
+          // =============================================================
+
+          // *snort sniff snuffle*
+
+          if (settings.options.sniffHtml) {
+            var message = "";
+            // ---------------------------------------------------------
+            //                                                   PATTERN
+            // ---------------------------------------------------------
+            if ($this.attr("pattern") !== undefined) {
+              message = "Not in the expected format<!-- data-validation-pattern-message to override -->";
+              if ($this.data("validationPatternMessage")) {
+                message = $this.data("validationPatternMessage");
+              }
+              $this.data("validationPatternMessage", message);
+              $this.data("validationPatternRegex", $this.attr("pattern"));
+            }
+            // ---------------------------------------------------------
+            //                                                       MAX
+            // ---------------------------------------------------------
+            if ($this.attr("max") !== undefined || $this.attr("aria-valuemax") !== undefined) {
+              var max = ($this.attr("max") !== undefined ? $this.attr("max") : $this.attr("aria-valuemax"));
+              message = "Too high: Maximum of '" + max + "'<!-- data-validation-max-message to override -->";
+              if ($this.data("validationMaxMessage")) {
+                message = $this.data("validationMaxMessage");
+              }
+              $this.data("validationMaxMessage", message);
+              $this.data("validationMaxMax", max);
+            }
+            // ---------------------------------------------------------
+            //                                                       MIN
+            // ---------------------------------------------------------
+            if ($this.attr("min") !== undefined || $this.attr("aria-valuemin") !== undefined) {
+              var min = ($this.attr("min") !== undefined ? $this.attr("min") : $this.attr("aria-valuemin"));
+              message = "Too low: Minimum of '" + min + "'<!-- data-validation-min-message to override -->";
+              if ($this.data("validationMinMessage")) {
+                message = $this.data("validationMinMessage");
+              }
+              $this.data("validationMinMessage", message);
+              $this.data("validationMinMin", min);
+            }
+            // ---------------------------------------------------------
+            //                                                 MAXLENGTH
+            // ---------------------------------------------------------
+            if ($this.attr("maxlength") !== undefined) {
+              message = "Too long: Maximum of '" + $this.attr("maxlength") + "' characters<!-- data-validation-maxlength-message to override -->";
+              if ($this.data("validationMaxlengthMessage")) {
+                message = $this.data("validationMaxlengthMessage");
+              }
+              $this.data("validationMaxlengthMessage", message);
+              $this.data("validationMaxlengthMaxlength", $this.attr("maxlength"));
+            }
+            // ---------------------------------------------------------
+            //                                                 MINLENGTH
+            // ---------------------------------------------------------
+            if ($this.attr("minlength") !== undefined) {
+              message = "Too short: Minimum of '" + $this.attr("minlength") + "' characters<!-- data-validation-minlength-message to override -->";
+              if ($this.data("validationMinlengthMessage")) {
+                message = $this.data("validationMinlengthMessage");
+              }
+              $this.data("validationMinlengthMessage", message);
+              $this.data("validationMinlengthMinlength", $this.attr("minlength"));
+            }
+            // ---------------------------------------------------------
+            //                                                  REQUIRED
+            // ---------------------------------------------------------
+            if ($this.attr("required") !== undefined || $this.attr("aria-required") !== undefined) {
+              message = settings.builtInValidators.required.message;
+              if ($this.data("validationRequiredMessage")) {
+                message = $this.data("validationRequiredMessage");
+              }
+              $this.data("validationRequiredMessage", message);
+            }
+            // ---------------------------------------------------------
+            //                                                    NUMBER
+            // ---------------------------------------------------------
+            if ($this.attr("type") !== undefined && $this.attr("type").toLowerCase() === "number") {
+              message = settings.builtInValidators.number.message;
+              if ($this.data("validationNumberMessage")) {
+                message = $this.data("validationNumberMessage");
+              }
+              $this.data("validationNumberMessage", message);
+            }
+            // ---------------------------------------------------------
+            //                                                     EMAIL
+            // ---------------------------------------------------------
+            if ($this.attr("type") !== undefined && $this.attr("type").toLowerCase() === "email") {
+              message = "Not a valid email address<!-- data-validator-validemail-message to override -->";
+              if ($this.data("validationValidemailMessage")) {
+                message = $this.data("validationValidemailMessage");
+              } else if ($this.data("validationEmailMessage")) {
+                message = $this.data("validationEmailMessage");
+              }
+              $this.data("validationValidemailMessage", message);
+            }
+            // ---------------------------------------------------------
+            //                                                MINCHECKED
+            // ---------------------------------------------------------
+            if ($this.attr("minchecked") !== undefined) {
+              message = "Not enough options checked; Minimum of '" + $this.attr("minchecked") + "' required<!-- data-validation-minchecked-message to override -->";
+              if ($this.data("validationMincheckedMessage")) {
+                message = $this.data("validationMincheckedMessage");
+              }
+              $this.data("validationMincheckedMessage", message);
+              $this.data("validationMincheckedMinchecked", $this.attr("minchecked"));
+            }
+            // ---------------------------------------------------------
+            //                                                MAXCHECKED
+            // ---------------------------------------------------------
+            if ($this.attr("maxchecked") !== undefined) {
+              message = "Too many options checked; Maximum of '" + $this.attr("maxchecked") + "' required<!-- data-validation-maxchecked-message to override -->";
+              if ($this.data("validationMaxcheckedMessage")) {
+                message = $this.data("validationMaxcheckedMessage");
+              }
+              $this.data("validationMaxcheckedMessage", message);
+              $this.data("validationMaxcheckedMaxchecked", $this.attr("maxchecked"));
+            }
+          }
+
+          // =============================================================
+          //                                       COLLECT VALIDATOR NAMES
+          // =============================================================
+
+          // Get named validators
+          if ($this.data("validation") !== undefined) {
+            validatorNames = $this.data("validation").split(",");
+          }
+
+          // Get extra ones defined on the element's data attributes
+          $.each($this.data(), function (i, el) {
+            var parts = i.replace(/([A-Z])/g, ",$1").split(",");
+            if (parts[0] === "validation" && parts[1]) {
+              validatorNames.push(parts[1]);
+            }
+          });
+
+          // =============================================================
+          //                                     NORMALISE VALIDATOR NAMES
+          // =============================================================
+
+          var validatorNamesToInspect = validatorNames;
+          var newValidatorNamesToInspect = [];
+
+          do // repeatedly expand 'shortcut' validators into their real validators
+          {
+            // Uppercase only the first letter of each name
+            $.each(validatorNames, function (i, el) {
+              validatorNames[i] = formatValidatorName(el);
+            });
+
+            // Remove duplicate validator names
+            validatorNames = $.unique(validatorNames);
+
+            // Pull out the new validator names from each shortcut
+            newValidatorNamesToInspect = [];
+            $.each(validatorNamesToInspect, function(i, el) {
+              if ($this.data("validation" + el + "Shortcut") !== undefined) {
+                // Are these custom validators?
+                // Pull them out!
+                $.each($this.data("validation" + el + "Shortcut").split(","), function(i2, el2) {
+                  newValidatorNamesToInspect.push(el2);
+                });
+              } else if (settings.builtInValidators[el.toLowerCase()]) {
+                // Is this a recognised built-in?
+                // Pull it out!
+                var validator = settings.builtInValidators[el.toLowerCase()];
+                if (validator.type.toLowerCase() === "shortcut") {
+                  $.each(validator.shortcut.split(","), function (i, el) {
+                    el = formatValidatorName(el);
+                    newValidatorNamesToInspect.push(el);
+                    validatorNames.push(el);
+                  });
+                }
+              }
+            });
+
+            validatorNamesToInspect = newValidatorNamesToInspect;
+
+          } while (validatorNamesToInspect.length > 0)
+
+          // =============================================================
+          //                                       SET UP VALIDATOR ARRAYS
+          // =============================================================
+
+          var validators = {};
+
+          $.each(validatorNames, function (i, el) {
+            // Set up the 'override' message
+            var message = $this.data("validation" + el + "Message");
+            var hasOverrideMessage = (message !== undefined);
+            var foundValidator = false;
+            message =
+              (
+                message
+                  ? message
+                  : "'" + el + "' validation failed <!-- Add attribute 'data-validation-" + el.toLowerCase() + "-message' to input to change this message -->"
+              )
+            ;
+
+            $.each(
+              settings.validatorTypes,
+              function (validatorType, validatorTemplate) {
+                if (validators[validatorType] === undefined) {
+                  validators[validatorType] = [];
+                }
+                if (!foundValidator && $this.data("validation" + el + formatValidatorName(validatorTemplate.name)) !== undefined) {
+                  validators[validatorType].push(
+                    $.extend(
+                      true,
+                      {
+                        name: formatValidatorName(validatorTemplate.name),
+                        message: message
+                      },
+                      validatorTemplate.init($this, el)
+                    )
+                  );
+                  foundValidator = true;
+                }
+              }
+            );
+
+            if (!foundValidator && settings.builtInValidators[el.toLowerCase()]) {
+
+              var validator = $.extend(true, {}, settings.builtInValidators[el.toLowerCase()]);
+              if (hasOverrideMessage) {
+                validator.message = message;
+              }
+              var validatorType = validator.type.toLowerCase();
+
+              if (validatorType === "shortcut") {
+                foundValidator = true;
+              } else {
+                $.each(
+                  settings.validatorTypes,
+                  function (validatorTemplateType, validatorTemplate) {
+                    if (validators[validatorTemplateType] === undefined) {
+                      validators[validatorTemplateType] = [];
+                    }
+                    if (!foundValidator && validatorType === validatorTemplateType.toLowerCase()) {
+                      $this.data("validation" + el + formatValidatorName(validatorTemplate.name), validator[validatorTemplate.name.toLowerCase()]);
+                      validators[validatorType].push(
+                        $.extend(
+                          validator,
+                          validatorTemplate.init($this, el)
+                        )
+                      );
+                      foundValidator = true;
+                    }
+                  }
+                );
+              }
+            }
+
+            if (! foundValidator) {
+              $.error("Cannot find validation info for '" + el + "'");
+            }
+          });
+
+          // =============================================================
+          //                                         STORE FALLBACK VALUES
+          // =============================================================
+
+          $helpBlock.data(
+            "original-contents",
+            (
+              $helpBlock.data("original-contents")
+                ? $helpBlock.data("original-contents")
+                : $helpBlock.html()
+            )
+          );
+
+          $helpBlock.data(
+            "original-role",
+            (
+              $helpBlock.data("original-role")
+                ? $helpBlock.data("original-role")
+                : $helpBlock.attr("role")
+            )
+          );
+
+          $controlGroup.data(
+            "original-classes",
+            (
+              $controlGroup.data("original-clases")
+                ? $controlGroup.data("original-classes")
+                : $controlGroup.attr("class")
+            )
+          );
+
+          $this.data(
+            "original-aria-invalid",
+            (
+              $this.data("original-aria-invalid")
+                ? $this.data("original-aria-invalid")
+                : $this.attr("aria-invalid")
+            )
+          );
+
+          // =============================================================
+          //                                                    VALIDATION
+          // =============================================================
+
+          $this.bind(
+            "validation.validation",
+            function (event, params) {
+
+              var value = getValue($this);
+
+              // Get a list of the errors to apply
+              var errorsFound = [];
+
+              $.each(validators, function (validatorType, validatorTypeArray) {
+                if (value || value.length || (params && params.includeEmpty) || (!!settings.validatorTypes[validatorType].blockSubmit && params && !!params.submitting)) {
+                  $.each(validatorTypeArray, function (i, validator) {
+                    if (settings.validatorTypes[validatorType].validate($this, value, validator)) {
+                      errorsFound.push(validator.message);
+                    }
+                  });
+                }
+              });
+
+              return errorsFound;
+            }
+          );
+
+          $this.bind(
+            "getValidators.validation",
+            function () {
+              return validators;
+            }
+          );
+
+          // =============================================================
+          //                                             WATCH FOR CHANGES
+          // =============================================================
+          $this.bind(
+            "submit.validation",
+            function () {
+              return $this.triggerHandler("change.validation", {submitting: true});
+            }
+          );
+          $this.bind(
+            [
+              "keyup",
+              "focus",
+              "blur",
+              "click",
+              "keydown",
+              "keypress",
+              "change"
+            ].join(".validation ") + ".validation",
+            function (e, params) {
+
+              var value = getValue($this);
+
+              var errorsFound = [];
+
+              $controlGroup.find("input,textarea,select").each(function (i, el) {
+                var oldCount = errorsFound.length;
+                $.each($(el).triggerHandler("validation.validation", params), function (j, message) {
+                  errorsFound.push(message);
+                });
+                if (errorsFound.length > oldCount) {
+                  $(el).attr("aria-invalid", "true");
+                } else {
+                  var original = $this.data("original-aria-invalid");
+                  $(el).attr("aria-invalid", (original !== undefined ? original : false));
+                }
+              });
+
+              $form.find("input,select,textarea").not($this).not("[name=\"" + $this.attr("name") + "\"]").trigger("validationLostFocus.validation");
+
+              errorsFound = $.unique(errorsFound.sort());
+
+              // Were there any errors?
+              if (errorsFound.length) {
+                // Better flag it up as a warning.
+                $controlGroup.removeClass("success error").addClass("warning");
+
+                // How many errors did we find?
+                if (settings.options.semanticallyStrict && errorsFound.length === 1) {
+                  // Only one? Being strict? Just output it.
+                  $helpBlock.html(errorsFound[0] +
+                    ( settings.options.prependExistingHelpBlock ? $helpBlock.data("original-contents") : "" ));
+                } else {
+                  // Multiple? Being sloppy? Glue them together into an UL.
+                  $helpBlock.html("<ul role=\"alert\"><li>" + errorsFound.join("</li><li>") + "</li></ul>" +
+                    ( settings.options.prependExistingHelpBlock ? $helpBlock.data("original-contents") : "" ));
+                }
+              } else {
+                $controlGroup.removeClass("warning error success");
+                if (value.length > 0) {
+                  $controlGroup.addClass("success");
+                }
+                $helpBlock.html($helpBlock.data("original-contents"));
+              }
+
+              if (e.type === "blur") {
+                $controlGroup.removeClass("success");
+              }
+            }
+          );
+          $this.bind("validationLostFocus.validation", function () {
+            $controlGroup.removeClass("success");
+          });
+        });
+      },
+      destroy : function( ) {
+
+        return this.each(
+          function() {
+
+            var
+              $this = $(this),
+              $controlGroup = $this.parents(".form-group").first(),
+              $helpBlock = $controlGroup.find(".help-block").first();
+
+            // remove our events
+            $this.unbind('.validation'); // events are namespaced.
+            // reset help text
+            $helpBlock.html($helpBlock.data("original-contents"));
+            // reset classes
+            $controlGroup.attr("class", $controlGroup.data("original-classes"));
+            // reset aria
+            $this.attr("aria-invalid", $this.data("original-aria-invalid"));
+            // reset role
+            $helpBlock.attr("role", $this.data("original-role"));
+            // remove all elements we created
+            if (createdElements.indexOf($helpBlock[0]) > -1) {
+              $helpBlock.remove();
+            }
+
+          }
+        );
+
+      },
+      collectErrors : function(includeEmpty) {
+
+        var errorMessages = {};
+        this.each(function (i, el) {
+          var $el = $(el);
+          var name = $el.attr("name");
+          var errors = $el.triggerHandler("validation.validation", {includeEmpty: true});
+          errorMessages[name] = $.extend(true, errors, errorMessages[name]);
+        });
+
+        $.each(errorMessages, function (i, el) {
+          if (el.length === 0) {
+            delete errorMessages[i];
+          }
+        });
+
+        return errorMessages;
+
+      },
+      hasErrors: function() {
+
+        var errorMessages = [];
+
+        this.each(function (i, el) {
+          errorMessages = errorMessages.concat(
+            $(el).triggerHandler("getValidators.validation") ? $(el).triggerHandler("validation.validation", {submitting: true}) : []
+          );
+        });
+
+        return (errorMessages.length > 0);
+      },
+      override : function (newDefaults) {
+        defaults = $.extend(true, defaults, newDefaults);
+      }
+    },
+    validatorTypes: {
+      callback: {
+        name: "callback",
+        init: function ($this, name) {
+          return {
+            validatorName: name,
+            callback: $this.data("validation" + name + "Callback"),
+            lastValue: $this.val(),
+            lastValid: true,
+            lastFinished: true
+          };
+        },
+        validate: function ($this, value, validator) {
+          if (validator.lastValue === value && validator.lastFinished) {
+            return !validator.lastValid;
+          }
+
+          if (validator.lastFinished === true)
+          {
+            validator.lastValue = value;
+            validator.lastValid = true;
+            validator.lastFinished = false;
+
+            var rrjqbvValidator = validator;
+            var rrjqbvThis = $this;
+            executeFunctionByName(
+              validator.callback,
+              window,
+              $this,
+              value,
+              function (data) {
+                if (rrjqbvValidator.lastValue === data.value) {
+                  rrjqbvValidator.lastValid = data.valid;
+                  if (data.message) {
+                    rrjqbvValidator.message = data.message;
+                  }
+                  rrjqbvValidator.lastFinished = true;
+                  rrjqbvThis.data("validation" + rrjqbvValidator.validatorName + "Message", rrjqbvValidator.message);
+                  // Timeout is set to avoid problems with the events being considered 'already fired'
+                  setTimeout(function () {
+                    rrjqbvThis.trigger("change.validation");
+                  }, 1); // doesn't need a long timeout, just long enough for the event bubble to burst
+                }
+              }
+            );
+          }
+
+          return false;
+
+        }
+      },
+      ajax: {
+        name: "ajax",
+        init: function ($this, name) {
+          return {
+            validatorName: name,
+            url: $this.data("validation" + name + "Ajax"),
+            lastValue: $this.val(),
+            lastValid: true,
+            lastFinished: true
+          };
+        },
+        validate: function ($this, value, validator) {
+          if (""+validator.lastValue === ""+value && validator.lastFinished === true) {
+            return validator.lastValid === false;
+          }
+
+          if (validator.lastFinished === true)
+          {
+            validator.lastValue = value;
+            validator.lastValid = true;
+            validator.lastFinished = false;
+            $.ajax({
+              url: validator.url,
+              data: "value=" + value + "&field=" + $this.attr("name"),
+              dataType: "json",
+              success: function (data) {
+                if (""+validator.lastValue === ""+data.value) {
+                  validator.lastValid = !!(data.valid);
+                  if (data.message) {
+                    validator.message = data.message;
+                  }
+                  validator.lastFinished = true;
+                  $this.data("validation" + validator.validatorName + "Message", validator.message);
+                  // Timeout is set to avoid problems with the events being considered 'already fired'
+                  setTimeout(function () {
+                    $this.trigger("change.validation");
+                  }, 1); // doesn't need a long timeout, just long enough for the event bubble to burst
+                }
+              },
+              failure: function () {
+                validator.lastValid = true;
+                validator.message = "ajax call failed";
+                validator.lastFinished = true;
+                $this.data("validation" + validator.validatorName + "Message", validator.message);
+                // Timeout is set to avoid problems with the events being considered 'already fired'
+                setTimeout(function () {
+                  $this.trigger("change.validation");
+                }, 1); // doesn't need a long timeout, just long enough for the event bubble to burst
+              }
+            });
+          }
+
+          return false;
+
+        }
+      },
+      regex: {
+        name: "regex",
+        init: function ($this, name) {
+          return {regex: regexFromString($this.data("validation" + name + "Regex"))};
+        },
+        validate: function ($this, value, validator) {
+          return (!validator.regex.test(value) && ! validator.negative)
+            || (validator.regex.test(value) && validator.negative);
+        }
+      },
+      required: {
+        name: "required",
+        init: function ($this, name) {
+          return {};
+        },
+        validate: function ($this, value, validator) {
+          return !!(value.length === 0  && ! validator.negative)
+            || !!(value.length > 0 && validator.negative);
+        },
+        blockSubmit: true
+      },
+      match: {
+        name: "match",
+        init: function ($this, name) {
+          var element = $this.parents("form").first().find("[name=\"" + $this.data("validation" + name + "Match") + "\"]").first();
+          element.bind("validation.validation", function () {
+            $this.trigger("change.validation", {submitting: true});
+          });
+          return {"element": element};
+        },
+        validate: function ($this, value, validator) {
+          return (value !== validator.element.val() && ! validator.negative)
+            || (value === validator.element.val() && validator.negative);
+        },
+        blockSubmit: true
+      },
+      max: {
+        name: "max",
+        init: function ($this, name) {
+          return {max: $this.data("validation" + name + "Max")};
+        },
+        validate: function ($this, value, validator) {
+          return (parseFloat(value, 10) > parseFloat(validator.max, 10) && ! validator.negative)
+            || (parseFloat(value, 10) <= parseFloat(validator.max, 10) && validator.negative);
+        }
+      },
+      min: {
+        name: "min",
+        init: function ($this, name) {
+          return {min: $this.data("validation" + name + "Min")};
+        },
+        validate: function ($this, value, validator) {
+          return (parseFloat(value) < parseFloat(validator.min) && ! validator.negative)
+            || (parseFloat(value) >= parseFloat(validator.min) && validator.negative);
+        }
+      },
+      maxlength: {
+        name: "maxlength",
+        init: function ($this, name) {
+          return {maxlength: $this.data("validation" + name + "Maxlength")};
+        },
+        validate: function ($this, value, validator) {
+          return ((value.length > validator.maxlength) && ! validator.negative)
+            || ((value.length <= validator.maxlength) && validator.negative);
+        }
+      },
+      minlength: {
+        name: "minlength",
+        init: function ($this, name) {
+          return {minlength: $this.data("validation" + name + "Minlength")};
+        },
+        validate: function ($this, value, validator) {
+          return ((value.length < validator.minlength) && ! validator.negative)
+            || ((value.length >= validator.minlength) && validator.negative);
+        }
+      },
+      maxchecked: {
+        name: "maxchecked",
+        init: function ($this, name) {
+          var elements = $this.parents("form").first().find("[name=\"" + $this.attr("name") + "\"]");
+          elements.bind("click.validation", function () {
+            $this.trigger("change.validation", {includeEmpty: true});
+          });
+          return {maxchecked: $this.data("validation" + name + "Maxchecked"), elements: elements};
+        },
+        validate: function ($this, value, validator) {
+          return (validator.elements.filter(":checked").length > validator.maxchecked && ! validator.negative)
+            || (validator.elements.filter(":checked").length <= validator.maxchecked && validator.negative);
+        },
+        blockSubmit: true
+      },
+      minchecked: {
+        name: "minchecked",
+        init: function ($this, name) {
+          var elements = $this.parents("form").first().find("[name=\"" + $this.attr("name") + "\"]");
+          elements.bind("click.validation", function () {
+            $this.trigger("change.validation", {includeEmpty: true});
+          });
+          return {minchecked: $this.data("validation" + name + "Minchecked"), elements: elements};
+        },
+        validate: function ($this, value, validator) {
+          return (validator.elements.filter(":checked").length < validator.minchecked && ! validator.negative)
+            || (validator.elements.filter(":checked").length >= validator.minchecked && validator.negative);
+        },
+        blockSubmit: true
+      }
+    },
+    builtInValidators: {
+      email: {
+        name: "Email",
+        type: "shortcut",
+        shortcut: "validemail"
+      },
+      validemail: {
+        name: "Validemail",
+        type: "regex",
+        regex: "[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\\\.[A-Za-z]{2,4}",
+        message: "Not a valid email address<!-- data-validator-validemail-message to override -->"
+      },
+      passwordagain: {
+        name: "Passwordagain",
+        type: "match",
+        match: "password",
+        message: "Does not match the given password<!-- data-validator-paswordagain-message to override -->"
+      },
+      positive: {
+        name: "Positive",
+        type: "shortcut",
+        shortcut: "number,positivenumber"
+      },
+      negative: {
+        name: "Negative",
+        type: "shortcut",
+        shortcut: "number,negativenumber"
+      },
+      number: {
+        name: "Number",
+        type: "regex",
+        regex: "([+-]?\\\d+(\\\.\\\d*)?([eE][+-]?[0-9]+)?)?",
+        message: "Must be a number<!-- data-validator-number-message to override -->"
+      },
+      integer: {
+        name: "Integer",
+        type: "regex",
+        regex: "[+-]?\\\d+",
+        message: "No decimal places allowed<!-- data-validator-integer-message to override -->"
+      },
+      positivenumber: {
+        name: "Positivenumber",
+        type: "min",
+        min: 0,
+        message: "Must be a positive number<!-- data-validator-positivenumber-message to override -->"
+      },
+      negativenumber: {
+        name: "Negativenumber",
+        type: "max",
+        max: 0,
+        message: "Must be a negative number<!-- data-validator-negativenumber-message to override -->"
+      },
+      required: {
+        name: "Required",
+        type: "required",
+        message: "This is required<!-- data-validator-required-message to override -->"
+      },
+      checkone: {
+        name: "Checkone",
+        type: "minchecked",
+        minchecked: 1,
+        message: "Check at least one option<!-- data-validation-checkone-message to override -->"
+      }
+    }
+  };
+
+  var formatValidatorName = function (name) {
+    return name
+      .toLowerCase()
+      .replace(
+        /(^|\s)([a-z])/g ,
+        function(m,p1,p2) {
+          return p1+p2.toUpperCase();
+        }
+      )
+    ;
+  };
+
+  var getValue = function ($this) {
+    // Extract the value we're talking about
+    var value = $this.val();
+    var type = $this.attr("type");
+    if (type === "checkbox") {
+      value = ($this.is(":checked") ? value : "");
+    }
+    if (type === "radio") {
+      value = ($('input[name="' + $this.attr("name") + '"]:checked').length > 0 ? value : "");
+    }
+    return value;
+  };
+
+  function regexFromString(inputstring) {
+    return new RegExp("^" + inputstring + "$");
+  }
+
+  /**
+   * Thanks to Jason Bunting via StackOverflow.com
+   *
+   * http://stackoverflow.com/questions/359788/how-to-execute-a-javascript-function-when-i-have-its-name-as-a-string#answer-359910
+   * Short link: http://tinyurl.com/executeFunctionByName
+  **/
+  function executeFunctionByName(functionName, context /*, args*/) {
+    var args = Array.prototype.slice.call(arguments).splice(2);
+    var namespaces = functionName.split(".");
+    var func = namespaces.pop();
+    for(var i = 0; i < namespaces.length; i++) {
+      context = context[namespaces[i]];
+    }
+    return context[func].apply(this, args);
+  }
+
+  $.fn.jqBootstrapValidation = function( method ) {
+
+    if ( defaults.methods[method] ) {
+      return defaults.methods[method].apply( this, Array.prototype.slice.call( arguments, 1 ));
+    } else if ( typeof method === 'object' || ! method ) {
+      return defaults.methods.init.apply( this, arguments );
+    } else {
+    $.error( 'Method ' +  method + ' does not exist on jQuery.jqBootstrapValidation' );
+      return null;
+    }
+
+  };
+
+  $.jqBootstrapValidation = function (options) {
+    $(":input").not("[type=image],[type=submit]").jqBootstrapValidation.apply(this,arguments);
+  };
+
+})( jQuery );
\ No newline at end of file
diff --git a/templates/shop-isle/assets/js/vendor/jquery.fitvids.js b/templates/shop-isle/assets/js/vendor/jquery.fitvids.js
new file mode 100644 (file)
index 0000000..05e24cc
--- /dev/null
@@ -0,0 +1,83 @@
+/*global jQuery */
+/*jshint browser:true */
+/*!
+* FitVids 1.1
+*
+* Copyright 2013, Chris Coyier - http://css-tricks.com + Dave Rupert - http://daverupert.com
+* Credit to Thierry Koblentz - http://www.alistapart.com/articles/creating-intrinsic-ratios-for-video/
+* Released under the WTFPL license - http://sam.zoy.org/wtfpl/
+*
+*/
+
+(function( $ ){
+
+  "use strict";
+
+  $.fn.fitVids = function( options ) {
+    var settings = {
+      customSelector: null,
+      ignore: null
+    };
+
+    if(!document.getElementById('fit-vids-style')) {
+      // appendStyles: https://github.com/toddmotto/fluidvids/blob/master/dist/fluidvids.js
+      var head = document.head || document.getElementsByTagName('head')[0];
+      var css = '.fluid-width-video-wrapper{width:100%;position:relative;padding:0;}.fluid-width-video-wrapper iframe,.fluid-width-video-wrapper object,.fluid-width-video-wrapper embed {position:absolute;top:0;left:0;width:100%;height:100%;}';
+      var div = document.createElement('div');
+      div.innerHTML = '<p>x</p><style id="fit-vids-style">' + css + '</style>';
+      head.appendChild(div.childNodes[1]);
+    }
+
+    if ( options ) {
+      $.extend( settings, options );
+    }
+
+    return this.each(function(){
+      var selectors = [
+        "iframe[src*='player.vimeo.com']",
+        "iframe[src*='youtube.com']",
+        "iframe[src*='youtube-nocookie.com']",
+        "iframe[src*='kickstarter.com'][src*='video.html']",
+        "object",
+        "embed"
+      ];
+
+      if (settings.customSelector) {
+        selectors.push(settings.customSelector);
+      }
+
+      var ignoreList = '.fitvidsignore';
+
+      if(settings.ignore) {
+        ignoreList = ignoreList + ', ' + settings.ignore;
+      }
+
+      var $allVideos = $(this).find(selectors.join(','));
+      $allVideos = $allVideos.not("object object"); // SwfObj conflict patch
+      $allVideos = $allVideos.not(ignoreList); // Disable FitVids on this video.
+
+      $allVideos.each(function(){
+        var $this = $(this);
+        if($this.parents(ignoreList).length > 0) {
+          return; // Disable FitVids on this video.
+        }
+        if (this.tagName.toLowerCase() === 'embed' && $this.parent('object').length || $this.parent('.fluid-width-video-wrapper').length) { return; }
+        if ((!$this.css('height') && !$this.css('width')) && (isNaN($this.attr('height')) || isNaN($this.attr('width'))))
+        {
+          $this.attr('height', 9);
+          $this.attr('width', 16);
+        }
+        var height = ( this.tagName.toLowerCase() === 'object' || ($this.attr('height') && !isNaN(parseInt($this.attr('height'), 10))) ) ? parseInt($this.attr('height'), 10) : $this.height(),
+            width = !isNaN(parseInt($this.attr('width'), 10)) ? parseInt($this.attr('width'), 10) : $this.width(),
+            aspectRatio = height / width;
+        if(!$this.attr('id')){
+          var videoID = 'fitvid' + Math.floor(Math.random()*999999);
+          $this.attr('id', videoID);
+        }
+        $this.wrap('<div class="fluid-width-video-wrapper"></div>').parent('.fluid-width-video-wrapper').css('padding-top', (aspectRatio * 100)+"%");
+        $this.removeAttr('height').removeAttr('width');
+      });
+    });
+  };
+// Works with either jQuery or Zepto
+})( window.jQuery || window.Zepto );
diff --git a/templates/shop-isle/assets/js/vendor/jquery.flexslider-min.js b/templates/shop-isle/assets/js/vendor/jquery.flexslider-min.js
new file mode 100644 (file)
index 0000000..8439a5d
--- /dev/null
@@ -0,0 +1,6 @@
+/*
+ * jQuery FlexSlider v2.2.2
+ * Copyright 2012 WooThemes
+ * Contributing Author: Tyler Smith
+ */
+!function(a){a.flexslider=function(b,c){var d=a(b);d.vars=a.extend({},a.flexslider.defaults,c);var j,e=d.vars.namespace,f=window.navigator&&window.navigator.msPointerEnabled&&window.MSGesture,g=("ontouchstart"in window||f||window.DocumentTouch&&document instanceof DocumentTouch)&&d.vars.touch,h="click touchend MSPointerUp",i="",k="vertical"===d.vars.direction,l=d.vars.reverse,m=d.vars.itemWidth>0,n="fade"===d.vars.animation,o=""!==d.vars.asNavFor,p={},q=!0;a.data(b,"flexslider",d),p={init:function(){d.animating=!1,d.currentSlide=parseInt(d.vars.startAt?d.vars.startAt:0,10),isNaN(d.currentSlide)&&(d.currentSlide=0),d.animatingTo=d.currentSlide,d.atEnd=0===d.currentSlide||d.currentSlide===d.last,d.containerSelector=d.vars.selector.substr(0,d.vars.selector.search(" ")),d.slides=a(d.vars.selector,d),d.container=a(d.containerSelector,d),d.count=d.slides.length,d.syncExists=a(d.vars.sync).length>0,"slide"===d.vars.animation&&(d.vars.animation="swing"),d.prop=k?"top":"marginLeft",d.args={},d.manualPause=!1,d.stopped=!1,d.started=!1,d.startTimeout=null,d.transitions=!d.vars.video&&!n&&d.vars.useCSS&&function(){var a=document.createElement("div"),b=["perspectiveProperty","WebkitPerspective","MozPerspective","OPerspective","msPerspective"];for(var c in b)if(void 0!==a.style[b[c]])return d.pfx=b[c].replace("Perspective","").toLowerCase(),d.prop="-"+d.pfx+"-transform",!0;return!1}(),d.ensureAnimationEnd="",""!==d.vars.controlsContainer&&(d.controlsContainer=a(d.vars.controlsContainer).length>0&&a(d.vars.controlsContainer)),""!==d.vars.manualControls&&(d.manualControls=a(d.vars.manualControls).length>0&&a(d.vars.manualControls)),d.vars.randomize&&(d.slides.sort(function(){return Math.round(Math.random())-.5}),d.container.empty().append(d.slides)),d.doMath(),d.setup("init"),d.vars.controlNav&&p.controlNav.setup(),d.vars.directionNav&&p.directionNav.setup(),d.vars.keyboard&&(1===a(d.containerSelector).length||d.vars.multipleKeyboard)&&a(document).bind("keyup",function(a){var b=a.keyCode;if(!d.animating&&(39===b||37===b)){var c=39===b?d.getTarget("next"):37===b?d.getTarget("prev"):!1;d.flexAnimate(c,d.vars.pauseOnAction)}}),d.vars.mousewheel&&d.bind("mousewheel",function(a,b){a.preventDefault();var f=0>b?d.getTarget("next"):d.getTarget("prev");d.flexAnimate(f,d.vars.pauseOnAction)}),d.vars.pausePlay&&p.pausePlay.setup(),d.vars.slideshow&&d.vars.pauseInvisible&&p.pauseInvisible.init(),d.vars.slideshow&&(d.vars.pauseOnHover&&d.hover(function(){d.manualPlay||d.manualPause||d.pause()},function(){d.manualPause||d.manualPlay||d.stopped||d.play()}),d.vars.pauseInvisible&&p.pauseInvisible.isHidden()||(d.vars.initDelay>0?d.startTimeout=setTimeout(d.play,d.vars.initDelay):d.play())),o&&p.asNav.setup(),g&&d.vars.touch&&p.touch(),(!n||n&&d.vars.smoothHeight)&&a(window).bind("resize orientationchange focus",p.resize),d.find("img").attr("draggable","false"),setTimeout(function(){d.vars.start(d)},200)},asNav:{setup:function(){d.asNav=!0,d.animatingTo=Math.floor(d.currentSlide/d.move),d.currentItem=d.currentSlide,d.slides.removeClass(e+"active-slide").eq(d.currentItem).addClass(e+"active-slide"),f?(b._slider=d,d.slides.each(function(){var b=this;b._gesture=new MSGesture,b._gesture.target=b,b.addEventListener("MSPointerDown",function(a){a.preventDefault(),a.currentTarget._gesture&&a.currentTarget._gesture.addPointer(a.pointerId)},!1),b.addEventListener("MSGestureTap",function(b){b.preventDefault();var c=a(this),e=c.index();a(d.vars.asNavFor).data("flexslider").animating||c.hasClass("active")||(d.direction=d.currentItem<e?"next":"prev",d.flexAnimate(e,d.vars.pauseOnAction,!1,!0,!0))})})):d.slides.on(h,function(b){b.preventDefault();var c=a(this),f=c.index(),g=c.offset().left-a(d).scrollLeft();0>=g&&c.hasClass(e+"active-slide")?d.flexAnimate(d.getTarget("prev"),!0):a(d.vars.asNavFor).data("flexslider").animating||c.hasClass(e+"active-slide")||(d.direction=d.currentItem<f?"next":"prev",d.flexAnimate(f,d.vars.pauseOnAction,!1,!0,!0))})}},controlNav:{setup:function(){d.manualControls?p.controlNav.setupManual():p.controlNav.setupPaging()},setupPaging:function(){var f,g,b="thumbnails"===d.vars.controlNav?"control-thumbs":"control-paging",c=1;if(d.controlNavScaffold=a('<ol class="'+e+"control-nav "+e+b+'"></ol>'),d.pagingCount>1)for(var j=0;j<d.pagingCount;j++){if(g=d.slides.eq(j),f="thumbnails"===d.vars.controlNav?'<img src="'+g.attr("data-thumb")+'"/>':"<a>"+c+"</a>","thumbnails"===d.vars.controlNav&&!0===d.vars.thumbCaptions){var k=g.attr("data-thumbcaption");""!=k&&void 0!=k&&(f+='<span class="'+e+'caption">'+k+"</span>")}d.controlNavScaffold.append("<li>"+f+"</li>"),c++}d.controlsContainer?a(d.controlsContainer).append(d.controlNavScaffold):d.append(d.controlNavScaffold),p.controlNav.set(),p.controlNav.active(),d.controlNavScaffold.delegate("a, img",h,function(b){if(b.preventDefault(),""===i||i===b.type){var c=a(this),f=d.controlNav.index(c);c.hasClass(e+"active")||(d.direction=f>d.currentSlide?"next":"prev",d.flexAnimate(f,d.vars.pauseOnAction))}""===i&&(i=b.type),p.setToClearWatchedEvent()})},setupManual:function(){d.controlNav=d.manualControls,p.controlNav.active(),d.controlNav.bind(h,function(b){if(b.preventDefault(),""===i||i===b.type){var c=a(this),f=d.controlNav.index(c);c.hasClass(e+"active")||(d.direction=f>d.currentSlide?"next":"prev",d.flexAnimate(f,d.vars.pauseOnAction))}""===i&&(i=b.type),p.setToClearWatchedEvent()})},set:function(){var b="thumbnails"===d.vars.controlNav?"img":"a";d.controlNav=a("."+e+"control-nav li "+b,d.controlsContainer?d.controlsContainer:d)},active:function(){d.controlNav.removeClass(e+"active").eq(d.animatingTo).addClass(e+"active")},update:function(b,c){d.pagingCount>1&&"add"===b?d.controlNavScaffold.append(a("<li><a>"+d.count+"</a></li>")):1===d.pagingCount?d.controlNavScaffold.find("li").remove():d.controlNav.eq(c).closest("li").remove(),p.controlNav.set(),d.pagingCount>1&&d.pagingCount!==d.controlNav.length?d.update(c,b):p.controlNav.active()}},directionNav:{setup:function(){var b=a('<ul class="'+e+'direction-nav"><li><a class="'+e+'prev" href="#">'+d.vars.prevText+'</a></li><li><a class="'+e+'next" href="#">'+d.vars.nextText+"</a></li></ul>");d.controlsContainer?(a(d.controlsContainer).append(b),d.directionNav=a("."+e+"direction-nav li a",d.controlsContainer)):(d.append(b),d.directionNav=a("."+e+"direction-nav li a",d)),p.directionNav.update(),d.directionNav.bind(h,function(b){b.preventDefault();var c;(""===i||i===b.type)&&(c=a(this).hasClass(e+"next")?d.getTarget("next"):d.getTarget("prev"),d.flexAnimate(c,d.vars.pauseOnAction)),""===i&&(i=b.type),p.setToClearWatchedEvent()})},update:function(){var a=e+"disabled";1===d.pagingCount?d.directionNav.addClass(a).attr("tabindex","-1"):d.vars.animationLoop?d.directionNav.removeClass(a).removeAttr("tabindex"):0===d.animatingTo?d.directionNav.removeClass(a).filter("."+e+"prev").addClass(a).attr("tabindex","-1"):d.animatingTo===d.last?d.directionNav.removeClass(a).filter("."+e+"next").addClass(a).attr("tabindex","-1"):d.directionNav.removeClass(a).removeAttr("tabindex")}},pausePlay:{setup:function(){var b=a('<div class="'+e+'pauseplay"><a></a></div>');d.controlsContainer?(d.controlsContainer.append(b),d.pausePlay=a("."+e+"pauseplay a",d.controlsContainer)):(d.append(b),d.pausePlay=a("."+e+"pauseplay a",d)),p.pausePlay.update(d.vars.slideshow?e+"pause":e+"play"),d.pausePlay.bind(h,function(b){b.preventDefault(),(""===i||i===b.type)&&(a(this).hasClass(e+"pause")?(d.manualPause=!0,d.manualPlay=!1,d.pause()):(d.manualPause=!1,d.manualPlay=!0,d.play())),""===i&&(i=b.type),p.setToClearWatchedEvent()})},update:function(a){"play"===a?d.pausePlay.removeClass(e+"pause").addClass(e+"play").html(d.vars.playText):d.pausePlay.removeClass(e+"play").addClass(e+"pause").html(d.vars.pauseText)}},touch:function(){function r(f){d.animating?f.preventDefault():(window.navigator.msPointerEnabled||1===f.touches.length)&&(d.pause(),g=k?d.h:d.w,i=Number(new Date),o=f.touches[0].pageX,p=f.touches[0].pageY,e=m&&l&&d.animatingTo===d.last?0:m&&l?d.limit-(d.itemW+d.vars.itemMargin)*d.move*d.animatingTo:m&&d.currentSlide===d.last?d.limit:m?(d.itemW+d.vars.itemMargin)*d.move*d.currentSlide:l?(d.last-d.currentSlide+d.cloneOffset)*g:(d.currentSlide+d.cloneOffset)*g,a=k?p:o,c=k?o:p,b.addEventListener("touchmove",s,!1),b.addEventListener("touchend",t,!1))}function s(b){o=b.touches[0].pageX,p=b.touches[0].pageY,h=k?a-p:a-o,j=k?Math.abs(h)<Math.abs(o-c):Math.abs(h)<Math.abs(p-c);var f=500;(!j||Number(new Date)-i>f)&&(b.preventDefault(),!n&&d.transitions&&(d.vars.animationLoop||(h/=0===d.currentSlide&&0>h||d.currentSlide===d.last&&h>0?Math.abs(h)/g+2:1),d.setProps(e+h,"setTouch")))}function t(){if(b.removeEventListener("touchmove",s,!1),d.animatingTo===d.currentSlide&&!j&&null!==h){var k=l?-h:h,m=k>0?d.getTarget("next"):d.getTarget("prev");d.canAdvance(m)&&(Number(new Date)-i<550&&Math.abs(k)>50||Math.abs(k)>g/2)?d.flexAnimate(m,d.vars.pauseOnAction):n||d.flexAnimate(d.currentSlide,d.vars.pauseOnAction,!0)}b.removeEventListener("touchend",t,!1),a=null,c=null,h=null,e=null}function u(a){a.stopPropagation(),d.animating?a.preventDefault():(d.pause(),b._gesture.addPointer(a.pointerId),q=0,g=k?d.h:d.w,i=Number(new Date),e=m&&l&&d.animatingTo===d.last?0:m&&l?d.limit-(d.itemW+d.vars.itemMargin)*d.move*d.animatingTo:m&&d.currentSlide===d.last?d.limit:m?(d.itemW+d.vars.itemMargin)*d.move*d.currentSlide:l?(d.last-d.currentSlide+d.cloneOffset)*g:(d.currentSlide+d.cloneOffset)*g)}function v(a){a.stopPropagation();var c=a.target._slider;if(c){var d=-a.translationX,f=-a.translationY;return q+=k?f:d,h=q,j=k?Math.abs(q)<Math.abs(-d):Math.abs(q)<Math.abs(-f),a.detail===a.MSGESTURE_FLAG_INERTIA?(setImmediate(function(){b._gesture.stop()}),void 0):((!j||Number(new Date)-i>500)&&(a.preventDefault(),!n&&c.transitions&&(c.vars.animationLoop||(h=q/(0===c.currentSlide&&0>q||c.currentSlide===c.last&&q>0?Math.abs(q)/g+2:1)),c.setProps(e+h,"setTouch"))),void 0)}}function w(b){b.stopPropagation();var d=b.target._slider;if(d){if(d.animatingTo===d.currentSlide&&!j&&null!==h){var f=l?-h:h,k=f>0?d.getTarget("next"):d.getTarget("prev");d.canAdvance(k)&&(Number(new Date)-i<550&&Math.abs(f)>50||Math.abs(f)>g/2)?d.flexAnimate(k,d.vars.pauseOnAction):n||d.flexAnimate(d.currentSlide,d.vars.pauseOnAction,!0)}a=null,c=null,h=null,e=null,q=0}}var a,c,e,g,h,i,j=!1,o=0,p=0,q=0;f?(b.style.msTouchAction="none",b._gesture=new MSGesture,b._gesture.target=b,b.addEventListener("MSPointerDown",u,!1),b._slider=d,b.addEventListener("MSGestureChange",v,!1),b.addEventListener("MSGestureEnd",w,!1)):b.addEventListener("touchstart",r,!1)},resize:function(){!d.animating&&d.is(":visible")&&(m||d.doMath(),n?p.smoothHeight():m?(d.slides.width(d.computedW),d.update(d.pagingCount),d.setProps()):k?(d.viewport.height(d.h),d.setProps(d.h,"setTotal")):(d.vars.smoothHeight&&p.smoothHeight(),d.newSlides.width(d.computedW),d.setProps(d.computedW,"setTotal")))},smoothHeight:function(a){if(!k||n){var b=n?d:d.viewport;a?b.animate({height:d.slides.eq(d.animatingTo).height()},a):b.height(d.slides.eq(d.animatingTo).height())}},sync:function(b){var c=a(d.vars.sync).data("flexslider"),e=d.animatingTo;switch(b){case"animate":c.flexAnimate(e,d.vars.pauseOnAction,!1,!0);break;case"play":c.playing||c.asNav||c.play();break;case"pause":c.pause()}},uniqueID:function(b){return b.find("[id]").each(function(){var b=a(this);b.attr("id",b.attr("id")+"_clone")}),b},pauseInvisible:{visProp:null,init:function(){var a=["webkit","moz","ms","o"];if("hidden"in document)return"hidden";for(var b=0;b<a.length;b++)a[b]+"Hidden"in document&&(p.pauseInvisible.visProp=a[b]+"Hidden");if(p.pauseInvisible.visProp){var c=p.pauseInvisible.visProp.replace(/[H|h]idden/,"")+"visibilitychange";document.addEventListener(c,function(){p.pauseInvisible.isHidden()?d.startTimeout?clearTimeout(d.startTimeout):d.pause():d.started?d.play():d.vars.initDelay>0?setTimeout(d.play,d.vars.initDelay):d.play()})}},isHidden:function(){return document[p.pauseInvisible.visProp]||!1}},setToClearWatchedEvent:function(){clearTimeout(j),j=setTimeout(function(){i=""},3e3)}},d.flexAnimate=function(b,c,f,h,i){if(d.vars.animationLoop||b===d.currentSlide||(d.direction=b>d.currentSlide?"next":"prev"),o&&1===d.pagingCount&&(d.direction=d.currentItem<b?"next":"prev"),!d.animating&&(d.canAdvance(b,i)||f)&&d.is(":visible")){if(o&&h){var j=a(d.vars.asNavFor).data("flexslider");if(d.atEnd=0===b||b===d.count-1,j.flexAnimate(b,!0,!1,!0,i),d.direction=d.currentItem<b?"next":"prev",j.direction=d.direction,Math.ceil((b+1)/d.visible)-1===d.currentSlide||0===b)return d.currentItem=b,d.slides.removeClass(e+"active-slide").eq(b).addClass(e+"active-slide"),!1;d.currentItem=b,d.slides.removeClass(e+"active-slide").eq(b).addClass(e+"active-slide"),b=Math.floor(b/d.visible)}if(d.animating=!0,d.animatingTo=b,c&&d.pause(),d.vars.before(d),d.syncExists&&!i&&p.sync("animate"),d.vars.controlNav&&p.controlNav.active(),m||d.slides.removeClass(e+"active-slide").eq(b).addClass(e+"active-slide"),d.atEnd=0===b||b===d.last,d.vars.directionNav&&p.directionNav.update(),b===d.last&&(d.vars.end(d),d.vars.animationLoop||d.pause()),n)g?(d.slides.eq(d.currentSlide).css({opacity:0,zIndex:1}),d.slides.eq(b).css({opacity:1,zIndex:2}),d.wrapup(q)):(d.slides.eq(d.currentSlide).css({zIndex:1}).animate({opacity:0},d.vars.animationSpeed,d.vars.easing),d.slides.eq(b).css({zIndex:2}).animate({opacity:1},d.vars.animationSpeed,d.vars.easing,d.wrapup));else{var r,s,t,q=k?d.slides.filter(":first").height():d.computedW;m?(r=d.vars.itemMargin,t=(d.itemW+r)*d.move*d.animatingTo,s=t>d.limit&&1!==d.visible?d.limit:t):s=0===d.currentSlide&&b===d.count-1&&d.vars.animationLoop&&"next"!==d.direction?l?(d.count+d.cloneOffset)*q:0:d.currentSlide===d.last&&0===b&&d.vars.animationLoop&&"prev"!==d.direction?l?0:(d.count+1)*q:l?(d.count-1-b+d.cloneOffset)*q:(b+d.cloneOffset)*q,d.setProps(s,"",d.vars.animationSpeed),d.transitions?(d.vars.animationLoop&&d.atEnd||(d.animating=!1,d.currentSlide=d.animatingTo),d.container.unbind("webkitTransitionEnd transitionend"),d.container.bind("webkitTransitionEnd transitionend",function(){clearTimeout(d.ensureAnimationEnd),d.wrapup(q)}),clearTimeout(d.ensureAnimationEnd),d.ensureAnimationEnd=setTimeout(function(){d.wrapup(q)},d.vars.animationSpeed+100)):d.container.animate(d.args,d.vars.animationSpeed,d.vars.easing,function(){d.wrapup(q)})}d.vars.smoothHeight&&p.smoothHeight(d.vars.animationSpeed)}},d.wrapup=function(a){n||m||(0===d.currentSlide&&d.animatingTo===d.last&&d.vars.animationLoop?d.setProps(a,"jumpEnd"):d.currentSlide===d.last&&0===d.animatingTo&&d.vars.animationLoop&&d.setProps(a,"jumpStart")),d.animating=!1,d.currentSlide=d.animatingTo,d.vars.after(d)},d.animateSlides=function(){!d.animating&&q&&d.flexAnimate(d.getTarget("next"))},d.pause=function(){clearInterval(d.animatedSlides),d.animatedSlides=null,d.playing=!1,d.vars.pausePlay&&p.pausePlay.update("play"),d.syncExists&&p.sync("pause")},d.play=function(){d.playing&&clearInterval(d.animatedSlides),d.animatedSlides=d.animatedSlides||setInterval(d.animateSlides,d.vars.slideshowSpeed),d.started=d.playing=!0,d.vars.pausePlay&&p.pausePlay.update("pause"),d.syncExists&&p.sync("play")},d.stop=function(){d.pause(),d.stopped=!0},d.canAdvance=function(a,b){var c=o?d.pagingCount-1:d.last;return b?!0:o&&d.currentItem===d.count-1&&0===a&&"prev"===d.direction?!0:o&&0===d.currentItem&&a===d.pagingCount-1&&"next"!==d.direction?!1:a!==d.currentSlide||o?d.vars.animationLoop?!0:d.atEnd&&0===d.currentSlide&&a===c&&"next"!==d.direction?!1:d.atEnd&&d.currentSlide===c&&0===a&&"next"===d.direction?!1:!0:!1},d.getTarget=function(a){return d.direction=a,"next"===a?d.currentSlide===d.last?0:d.currentSlide+1:0===d.currentSlide?d.last:d.currentSlide-1},d.setProps=function(a,b,c){var e=function(){var c=a?a:(d.itemW+d.vars.itemMargin)*d.move*d.animatingTo,e=function(){if(m)return"setTouch"===b?a:l&&d.animatingTo===d.last?0:l?d.limit-(d.itemW+d.vars.itemMargin)*d.move*d.animatingTo:d.animatingTo===d.last?d.limit:c;switch(b){case"setTotal":return l?(d.count-1-d.currentSlide+d.cloneOffset)*a:(d.currentSlide+d.cloneOffset)*a;case"setTouch":return l?a:a;case"jumpEnd":return l?a:d.count*a;case"jumpStart":return l?d.count*a:a;default:return a}}();return-1*e+"px"}();d.transitions&&(e=k?"translate3d(0,"+e+",0)":"translate3d("+e+",0,0)",c=void 0!==c?c/1e3+"s":"0s",d.container.css("-"+d.pfx+"-transition-duration",c),d.container.css("transition-duration",c)),d.args[d.prop]=e,(d.transitions||void 0===c)&&d.container.css(d.args),d.container.css("transform",e)},d.setup=function(b){if(n)d.slides.css({width:"100%","float":"left",marginRight:"-100%",position:"relative"}),"init"===b&&(g?d.slides.css({opacity:0,display:"block",webkitTransition:"opacity "+d.vars.animationSpeed/1e3+"s ease",zIndex:1}).eq(d.currentSlide).css({opacity:1,zIndex:2}):d.slides.css({opacity:0,display:"block",zIndex:1}).eq(d.currentSlide).css({zIndex:2}).animate({opacity:1},d.vars.animationSpeed,d.vars.easing)),d.vars.smoothHeight&&p.smoothHeight();else{var c,f;"init"===b&&(d.viewport=a('<div class="'+e+'viewport"></div>').css({overflow:"hidden",position:"relative"}).appendTo(d).append(d.container),d.cloneCount=0,d.cloneOffset=0,l&&(f=a.makeArray(d.slides).reverse(),d.slides=a(f),d.container.empty().append(d.slides))),d.vars.animationLoop&&!m&&(d.cloneCount=2,d.cloneOffset=1,"init"!==b&&d.container.find(".clone").remove(),p.uniqueID(d.slides.first().clone().addClass("clone").attr("aria-hidden","true")).appendTo(d.container),p.uniqueID(d.slides.last().clone().addClass("clone").attr("aria-hidden","true")).prependTo(d.container)),d.newSlides=a(d.vars.selector,d),c=l?d.count-1-d.currentSlide+d.cloneOffset:d.currentSlide+d.cloneOffset,k&&!m?(d.container.height(200*(d.count+d.cloneCount)+"%").css("position","absolute").width("100%"),setTimeout(function(){d.newSlides.css({display:"block"}),d.doMath(),d.viewport.height(d.h),d.setProps(c*d.h,"init")},"init"===b?100:0)):(d.container.width(200*(d.count+d.cloneCount)+"%"),d.setProps(c*d.computedW,"init"),setTimeout(function(){d.doMath(),d.newSlides.css({width:d.computedW,"float":"left",display:"block"}),d.vars.smoothHeight&&p.smoothHeight()},"init"===b?100:0))}m||d.slides.removeClass(e+"active-slide").eq(d.currentSlide).addClass(e+"active-slide"),d.vars.init(d)},d.doMath=function(){var a=d.slides.first(),b=d.vars.itemMargin,c=d.vars.minItems,e=d.vars.maxItems;d.w=void 0===d.viewport?d.width():d.viewport.width(),d.h=a.height(),d.boxPadding=a.outerWidth()-a.width(),m?(d.itemT=d.vars.itemWidth+b,d.minW=c?c*d.itemT:d.w,d.maxW=e?e*d.itemT-b:d.w,d.itemW=d.minW>d.w?(d.w-b*(c-1))/c:d.maxW<d.w?(d.w-b*(e-1))/e:d.vars.itemWidth>d.w?d.w:d.vars.itemWidth,d.visible=Math.floor(d.w/d.itemW),d.move=d.vars.move>0&&d.vars.move<d.visible?d.vars.move:d.visible,d.pagingCount=Math.ceil((d.count-d.visible)/d.move+1),d.last=d.pagingCount-1,d.limit=1===d.pagingCount?0:d.vars.itemWidth>d.w?d.itemW*(d.count-1)+b*(d.count-1):(d.itemW+b)*d.count-d.w-b):(d.itemW=d.w,d.pagingCount=d.count,d.last=d.count-1),d.computedW=d.itemW-d.boxPadding},d.update=function(a,b){d.doMath(),m||(a<d.currentSlide?d.currentSlide+=1:a<=d.currentSlide&&0!==a&&(d.currentSlide-=1),d.animatingTo=d.currentSlide),d.vars.controlNav&&!d.manualControls&&("add"===b&&!m||d.pagingCount>d.controlNav.length?p.controlNav.update("add"):("remove"===b&&!m||d.pagingCount<d.controlNav.length)&&(m&&d.currentSlide>d.last&&(d.currentSlide-=1,d.animatingTo-=1),p.controlNav.update("remove",d.last))),d.vars.directionNav&&p.directionNav.update()},d.addSlide=function(b,c){var e=a(b);d.count+=1,d.last=d.count-1,k&&l?void 0!==c?d.slides.eq(d.count-c).after(e):d.container.prepend(e):void 0!==c?d.slides.eq(c).before(e):d.container.append(e),d.update(c,"add"),d.slides=a(d.vars.selector+":not(.clone)",d),d.setup(),d.vars.added(d)},d.removeSlide=function(b){var c=isNaN(b)?d.slides.index(a(b)):b;d.count-=1,d.last=d.count-1,isNaN(b)?a(b,d.slides).remove():k&&l?d.slides.eq(d.last).remove():d.slides.eq(b).remove(),d.doMath(),d.update(c,"remove"),d.slides=a(d.vars.selector+":not(.clone)",d),d.setup(),d.vars.removed(d)},p.init()},a(window).blur(function(){focused=!1}).focus(function(){focused=!0}),a.flexslider.defaults={namespace:"flex-",selector:".slides > li",animation:"fade",easing:"swing",direction:"horizontal",reverse:!1,animationLoop:!0,smoothHeight:!1,startAt:0,slideshow:!0,slideshowSpeed:7e3,animationSpeed:600,initDelay:0,randomize:!1,thumbCaptions:!1,pauseOnAction:!0,pauseOnHover:!1,pauseInvisible:!0,useCSS:!0,touch:!0,video:!1,controlNav:!0,directionNav:!0,prevText:"Previous",nextText:"Next",keyboard:!0,multipleKeyboard:!1,mousewheel:!1,pausePlay:!1,pauseText:"Pause",playText:"Play",controlsContainer:"",manualControls:"",sync:"",asNavFor:"",itemWidth:0,itemMargin:0,minItems:1,maxItems:0,move:0,allowOneSlide:!0,start:function(){},before:function(){},after:function(){},end:function(){},added:function(){},removed:function(){},init:function(){}},a.fn.flexslider=function(b){if(void 0===b&&(b={}),"object"==typeof b)return this.each(function(){var c=a(this),d=b.selector?b.selector:".slides > li",e=c.find(d);1===e.length&&b.allowOneSlide===!0||0===e.length?(e.fadeIn(400),b.start&&b.start(c)):void 0===c.data("flexslider")&&new a.flexslider(this,b)});var c=a(this).data("flexslider");switch(b){case"play":c.play();break;case"pause":c.pause();break;case"stop":c.stop();break;case"next":c.flexAnimate(c.getTarget("next"),!0);break;case"prev":case"previous":c.flexAnimate(c.getTarget("prev"),!0);break;default:"number"==typeof b&&c.flexAnimate(b,!0)}}}(jQuery);
\ No newline at end of file
diff --git a/templates/shop-isle/assets/js/vendor/jquery.flexslider.js b/templates/shop-isle/assets/js/vendor/jquery.flexslider.js
new file mode 100644 (file)
index 0000000..3f4f9f3
--- /dev/null
@@ -0,0 +1,1157 @@
+/*
+ * jQuery FlexSlider v2.2.2
+ * Copyright 2012 WooThemes
+ * Contributing Author: Tyler Smith
+ */
+;
+(function ($) {
+
+  //FlexSlider: Object Instance
+  $.flexslider = function(el, options) {
+    var slider = $(el);
+
+    // making variables public
+    slider.vars = $.extend({}, $.flexslider.defaults, options);
+
+    var namespace = slider.vars.namespace,
+        msGesture = window.navigator && window.navigator.msPointerEnabled && window.MSGesture,
+        touch = (( "ontouchstart" in window ) || msGesture || window.DocumentTouch && document instanceof DocumentTouch) && slider.vars.touch,
+        // depricating this idea, as devices are being released with both of these events
+        //eventType = (touch) ? "touchend" : "click",
+        eventType = "click touchend MSPointerUp keyup",
+        watchedEvent = "",
+        watchedEventClearTimer,
+        vertical = slider.vars.direction === "vertical",
+        reverse = slider.vars.reverse,
+        carousel = (slider.vars.itemWidth > 0),
+        fade = slider.vars.animation === "fade",
+        asNav = slider.vars.asNavFor !== "",
+        methods = {},
+        focused = true;
+
+    // Store a reference to the slider object
+    $.data(el, "flexslider", slider);
+
+    // Private slider methods
+    methods = {
+      init: function() {
+        slider.animating = false;
+        // Get current slide and make sure it is a number
+        slider.currentSlide = parseInt( ( slider.vars.startAt ? slider.vars.startAt : 0), 10 );
+        if ( isNaN( slider.currentSlide ) ) slider.currentSlide = 0;
+        slider.animatingTo = slider.currentSlide;
+        slider.atEnd = (slider.currentSlide === 0 || slider.currentSlide === slider.last);
+        slider.containerSelector = slider.vars.selector.substr(0,slider.vars.selector.search(' '));
+        slider.slides = $(slider.vars.selector, slider);
+        slider.container = $(slider.containerSelector, slider);
+        slider.count = slider.slides.length;
+        // SYNC:
+        slider.syncExists = $(slider.vars.sync).length > 0;
+        // SLIDE:
+        if (slider.vars.animation === "slide") slider.vars.animation = "swing";
+        slider.prop = (vertical) ? "top" : "marginLeft";
+        slider.args = {};
+        // SLIDESHOW:
+        slider.manualPause = false;
+        slider.stopped = false;
+        //PAUSE WHEN INVISIBLE
+        slider.started = false;
+        slider.startTimeout = null;
+        // TOUCH/USECSS:
+        slider.transitions = !slider.vars.video && !fade && slider.vars.useCSS && (function() {
+          var obj = document.createElement('div'),
+              props = ['perspectiveProperty', 'WebkitPerspective', 'MozPerspective', 'OPerspective', 'msPerspective'];
+          for (var i in props) {
+            if ( obj.style[ props[i] ] !== undefined ) {
+              slider.pfx = props[i].replace('Perspective','').toLowerCase();
+              slider.prop = "-" + slider.pfx + "-transform";
+              return true;
+            }
+          }
+          return false;
+        }());
+        slider.ensureAnimationEnd = '';
+        // CONTROLSCONTAINER:
+        if (slider.vars.controlsContainer !== "") slider.controlsContainer = $(slider.vars.controlsContainer).length > 0 && $(slider.vars.controlsContainer);
+        // MANUAL:
+        if (slider.vars.manualControls !== "") slider.manualControls = $(slider.vars.manualControls).length > 0 && $(slider.vars.manualControls);
+
+        // RANDOMIZE:
+        if (slider.vars.randomize) {
+          slider.slides.sort(function() { return (Math.round(Math.random())-0.5); });
+          slider.container.empty().append(slider.slides);
+        }
+
+        slider.doMath();
+
+        // INIT
+        slider.setup("init");
+
+        // CONTROLNAV:
+        if (slider.vars.controlNav) methods.controlNav.setup();
+
+        // DIRECTIONNAV:
+        if (slider.vars.directionNav) methods.directionNav.setup();
+
+        // KEYBOARD:
+        if (slider.vars.keyboard && ($(slider.containerSelector).length === 1 || slider.vars.multipleKeyboard)) {
+          $(document).bind('keyup', function(event) {
+            var keycode = event.keyCode;
+            if (!slider.animating && (keycode === 39 || keycode === 37)) {
+              var target = (keycode === 39) ? slider.getTarget('next') :
+                           (keycode === 37) ? slider.getTarget('prev') : false;
+              slider.flexAnimate(target, slider.vars.pauseOnAction);
+            }
+          });
+        }
+        // MOUSEWHEEL:
+        if (slider.vars.mousewheel) {
+          slider.bind('mousewheel', function(event, delta, deltaX, deltaY) {
+            event.preventDefault();
+            var target = (delta < 0) ? slider.getTarget('next') : slider.getTarget('prev');
+            slider.flexAnimate(target, slider.vars.pauseOnAction);
+          });
+        }
+
+        // PAUSEPLAY
+        if (slider.vars.pausePlay) methods.pausePlay.setup();
+
+        //PAUSE WHEN INVISIBLE
+        if (slider.vars.slideshow && slider.vars.pauseInvisible) methods.pauseInvisible.init();
+
+        // SLIDSESHOW
+        if (slider.vars.slideshow) {
+          if (slider.vars.pauseOnHover) {
+            slider.hover(function() {
+              if (!slider.manualPlay && !slider.manualPause) slider.pause();
+            }, function() {
+              if (!slider.manualPause && !slider.manualPlay && !slider.stopped) slider.play();
+            });
+          }
+          // initialize animation
+          //If we're visible, or we don't use PageVisibility API
+          if(!slider.vars.pauseInvisible || !methods.pauseInvisible.isHidden()) {
+            (slider.vars.initDelay > 0) ? slider.startTimeout = setTimeout(slider.play, slider.vars.initDelay) : slider.play();
+          }
+        }
+
+        // ASNAV:
+        if (asNav) methods.asNav.setup();
+
+        // TOUCH
+        if (touch && slider.vars.touch) methods.touch();
+
+        // FADE&&SMOOTHHEIGHT || SLIDE:
+        if (!fade || (fade && slider.vars.smoothHeight)) $(window).bind("resize orientationchange focus", methods.resize);
+
+        slider.find("img").attr("draggable", "false");
+
+        // API: start() Callback
+        setTimeout(function(){
+          slider.vars.start(slider);
+        }, 200);
+      },
+      asNav: {
+        setup: function() {
+          slider.asNav = true;
+          slider.animatingTo = Math.floor(slider.currentSlide/slider.move);
+          slider.currentItem = slider.currentSlide;
+          slider.slides.removeClass(namespace + "active-slide").eq(slider.currentItem).addClass(namespace + "active-slide");
+          if(!msGesture){
+              slider.slides.on(eventType, function(e){
+                e.preventDefault();
+                var $slide = $(this),
+                    target = $slide.index();
+                var posFromLeft = $slide.offset().left - $(slider).scrollLeft(); // Find position of slide relative to left of slider container
+                if( posFromLeft <= 0 && $slide.hasClass( namespace + 'active-slide' ) ) {
+                  slider.flexAnimate(slider.getTarget("prev"), true);
+                } else if (!$(slider.vars.asNavFor).data('flexslider').animating && !$slide.hasClass(namespace + "active-slide")) {
+                  slider.direction = (slider.currentItem < target) ? "next" : "prev";
+                  slider.flexAnimate(target, slider.vars.pauseOnAction, false, true, true);
+                }
+              });
+          }else{
+              el._slider = slider;
+              slider.slides.each(function (){
+                  var that = this;
+                  that._gesture = new MSGesture();
+                  that._gesture.target = that;
+                  that.addEventListener("MSPointerDown", function (e){
+                      e.preventDefault();
+                      if(e.currentTarget._gesture)
+                          e.currentTarget._gesture.addPointer(e.pointerId);
+                  }, false);
+                  that.addEventListener("MSGestureTap", function (e){
+                      e.preventDefault();
+                      var $slide = $(this),
+                          target = $slide.index();
+                      if (!$(slider.vars.asNavFor).data('flexslider').animating && !$slide.hasClass('active')) {
+                          slider.direction = (slider.currentItem < target) ? "next" : "prev";
+                          slider.flexAnimate(target, slider.vars.pauseOnAction, false, true, true);
+                      }
+                  });
+              });
+          }
+        }
+      },
+      controlNav: {
+        setup: function() {
+          if (!slider.manualControls) {
+            methods.controlNav.setupPaging();
+          } else { // MANUALCONTROLS:
+            methods.controlNav.setupManual();
+          }
+        },
+        setupPaging: function() {
+          var type = (slider.vars.controlNav === "thumbnails") ? 'control-thumbs' : 'control-paging',
+              j = 1,
+              item,
+              slide;
+
+          slider.controlNavScaffold = $('<ol class="'+ namespace + 'control-nav ' + namespace + type + '"></ol>');
+
+          if (slider.pagingCount > 1) {
+            for (var i = 0; i < slider.pagingCount; i++) {
+              slide = slider.slides.eq(i);
+              item = (slider.vars.controlNav === "thumbnails") ? '<img src="' + slide.attr( 'data-thumb' ) + '"/>' : '<a>' + j + '</a>';
+              if ( 'thumbnails' === slider.vars.controlNav && true === slider.vars.thumbCaptions ) {
+                var captn = slide.attr( 'data-thumbcaption' );
+                if ( '' != captn && undefined != captn ) item += '<span class="' + namespace + 'caption">' + captn + '</span>';
+              }
+              slider.controlNavScaffold.append('<li>' + item + '</li>');
+              j++;
+            }
+          }
+
+          // CONTROLSCONTAINER:
+          (slider.controlsContainer) ? $(slider.controlsContainer).append(slider.controlNavScaffold) : slider.append(slider.controlNavScaffold);
+          methods.controlNav.set();
+
+          methods.controlNav.active();
+
+          slider.controlNavScaffold.delegate('a, img', eventType, function(event) {
+            event.preventDefault();
+
+            if (watchedEvent === "" || watchedEvent === event.type) {
+              var $this = $(this),
+                  target = slider.controlNav.index($this);
+
+              if (!$this.hasClass(namespace + 'active')) {
+                slider.direction = (target > slider.currentSlide) ? "next" : "prev";
+                slider.flexAnimate(target, slider.vars.pauseOnAction);
+              }
+            }
+
+            // setup flags to prevent event duplication
+            if (watchedEvent === "") {
+              watchedEvent = event.type;
+            }
+            methods.setToClearWatchedEvent();
+
+          });
+        },
+        setupManual: function() {
+          slider.controlNav = slider.manualControls;
+          methods.controlNav.active();
+
+          slider.controlNav.bind(eventType, function(event) {
+            event.preventDefault();
+
+            if (watchedEvent === "" || watchedEvent === event.type) {
+              var $this = $(this),
+                  target = slider.controlNav.index($this);
+
+              if (!$this.hasClass(namespace + 'active')) {
+                (target > slider.currentSlide) ? slider.direction = "next" : slider.direction = "prev";
+                slider.flexAnimate(target, slider.vars.pauseOnAction);
+              }
+            }
+
+            // setup flags to prevent event duplication
+            if (watchedEvent === "") {
+              watchedEvent = event.type;
+            }
+            methods.setToClearWatchedEvent();
+          });
+        },
+        set: function() {
+          var selector = (slider.vars.controlNav === "thumbnails") ? 'img' : 'a';
+          slider.controlNav = $('.' + namespace + 'control-nav li ' + selector, (slider.controlsContainer) ? slider.controlsContainer : slider);
+        },
+        active: function() {
+          slider.controlNav.removeClass(namespace + "active").eq(slider.animatingTo).addClass(namespace + "active");
+        },
+        update: function(action, pos) {
+          if (slider.pagingCount > 1 && action === "add") {
+            slider.controlNavScaffold.append($('<li><a>' + slider.count + '</a></li>'));
+          } else if (slider.pagingCount === 1) {
+            slider.controlNavScaffold.find('li').remove();
+          } else {
+            slider.controlNav.eq(pos).closest('li').remove();
+          }
+          methods.controlNav.set();
+          (slider.pagingCount > 1 && slider.pagingCount !== slider.controlNav.length) ? slider.update(pos, action) : methods.controlNav.active();
+        }
+      },
+      directionNav: {
+        setup: function() {
+          var directionNavScaffold = $('<ul class="' + namespace + 'direction-nav"><li><a class="' + namespace + 'prev" href="#">' + slider.vars.prevText + '</a></li><li><a class="' + namespace + 'next" href="#">' + slider.vars.nextText + '</a></li></ul>');
+
+          // CONTROLSCONTAINER:
+          if (slider.controlsContainer) {
+            $(slider.controlsContainer).append(directionNavScaffold);
+            slider.directionNav = $('.' + namespace + 'direction-nav li a', slider.controlsContainer);
+          } else {
+            slider.append(directionNavScaffold);
+            slider.directionNav = $('.' + namespace + 'direction-nav li a', slider);
+          }
+
+          methods.directionNav.update();
+
+          slider.directionNav.bind(eventType, function(event) {
+            event.preventDefault();
+            var target;
+
+            if (watchedEvent === "" || watchedEvent === event.type) {
+              target = ($(this).hasClass(namespace + 'next')) ? slider.getTarget('next') : slider.getTarget('prev');
+              slider.flexAnimate(target, slider.vars.pauseOnAction);
+            }
+
+            // setup flags to prevent event duplication
+            if (watchedEvent === "") {
+              watchedEvent = event.type;
+            }
+            methods.setToClearWatchedEvent();
+          });
+        },
+        update: function() {
+          var disabledClass = namespace + 'disabled';
+          if (slider.pagingCount === 1) {
+            slider.directionNav.addClass(disabledClass).attr('tabindex', '-1');
+          } else if (!slider.vars.animationLoop) {
+            if (slider.animatingTo === 0) {
+              slider.directionNav.removeClass(disabledClass).filter('.' + namespace + "prev").addClass(disabledClass).attr('tabindex', '-1');
+            } else if (slider.animatingTo === slider.last) {
+              slider.directionNav.removeClass(disabledClass).filter('.' + namespace + "next").addClass(disabledClass).attr('tabindex', '-1');
+            } else {
+              slider.directionNav.removeClass(disabledClass).removeAttr('tabindex');
+            }
+          } else {
+            slider.directionNav.removeClass(disabledClass).removeAttr('tabindex');
+          }
+        }
+      },
+      pausePlay: {
+        setup: function() {
+          var pausePlayScaffold = $('<div class="' + namespace + 'pauseplay"><a></a></div>');
+
+          // CONTROLSCONTAINER:
+          if (slider.controlsContainer) {
+            slider.controlsContainer.append(pausePlayScaffold);
+            slider.pausePlay = $('.' + namespace + 'pauseplay a', slider.controlsContainer);
+          } else {
+            slider.append(pausePlayScaffold);
+            slider.pausePlay = $('.' + namespace + 'pauseplay a', slider);
+          }
+
+          methods.pausePlay.update((slider.vars.slideshow) ? namespace + 'pause' : namespace + 'play');
+
+          slider.pausePlay.bind(eventType, function(event) {
+            event.preventDefault();
+
+            if (watchedEvent === "" || watchedEvent === event.type) {
+              if ($(this).hasClass(namespace + 'pause')) {
+                slider.manualPause = true;
+                slider.manualPlay = false;
+                slider.pause();
+              } else {
+                slider.manualPause = false;
+                slider.manualPlay = true;
+                slider.play();
+              }
+            }
+
+            // setup flags to prevent event duplication
+            if (watchedEvent === "") {
+              watchedEvent = event.type;
+            }
+            methods.setToClearWatchedEvent();
+          });
+        },
+        update: function(state) {
+          (state === "play") ? slider.pausePlay.removeClass(namespace + 'pause').addClass(namespace + 'play').html(slider.vars.playText) : slider.pausePlay.removeClass(namespace + 'play').addClass(namespace + 'pause').html(slider.vars.pauseText);
+        }
+      },
+      touch: function() {
+        var startX,
+          startY,
+          offset,
+          cwidth,
+          dx,
+          startT,
+          scrolling = false,
+          localX = 0,
+          localY = 0,
+          accDx = 0;
+
+        if(!msGesture){
+            el.addEventListener('touchstart', onTouchStart, false);
+
+            function onTouchStart(e) {
+              if (slider.animating) {
+                e.preventDefault();
+              } else if ( ( window.navigator.msPointerEnabled ) || e.touches.length === 1 ) {
+                slider.pause();
+                // CAROUSEL:
+                cwidth = (vertical) ? slider.h : slider. w;
+                startT = Number(new Date());
+                // CAROUSEL:
+
+                // Local vars for X and Y points.
+                localX = e.touches[0].pageX;
+                localY = e.touches[0].pageY;
+
+                offset = (carousel && reverse && slider.animatingTo === slider.last) ? 0 :
+                         (carousel && reverse) ? slider.limit - (((slider.itemW + slider.vars.itemMargin) * slider.move) * slider.animatingTo) :
+                         (carousel && slider.currentSlide === slider.last) ? slider.limit :
+                         (carousel) ? ((slider.itemW + slider.vars.itemMargin) * slider.move) * slider.currentSlide :
+                         (reverse) ? (slider.last - slider.currentSlide + slider.cloneOffset) * cwidth : (slider.currentSlide + slider.cloneOffset) * cwidth;
+                startX = (vertical) ? localY : localX;
+                startY = (vertical) ? localX : localY;
+
+                el.addEventListener('touchmove', onTouchMove, false);
+                el.addEventListener('touchend', onTouchEnd, false);
+              }
+            }
+
+            function onTouchMove(e) {
+              // Local vars for X and Y points.
+
+              localX = e.touches[0].pageX;
+              localY = e.touches[0].pageY;
+
+              dx = (vertical) ? startX - localY : startX - localX;
+              scrolling = (vertical) ? (Math.abs(dx) < Math.abs(localX - startY)) : (Math.abs(dx) < Math.abs(localY - startY));
+
+              var fxms = 500;
+
+              if ( ! scrolling || Number( new Date() ) - startT > fxms ) {
+                e.preventDefault();
+                if (!fade && slider.transitions) {
+                  if (!slider.vars.animationLoop) {
+                    dx = dx/((slider.currentSlide === 0 && dx < 0 || slider.currentSlide === slider.last && dx > 0) ? (Math.abs(dx)/cwidth+2) : 1);
+                  }
+                  slider.setProps(offset + dx, "setTouch");
+                }
+              }
+            }
+
+            function onTouchEnd(e) {
+              // finish the touch by undoing the touch session
+              el.removeEventListener('touchmove', onTouchMove, false);
+
+              if (slider.animatingTo === slider.currentSlide && !scrolling && !(dx === null)) {
+                var updateDx = (reverse) ? -dx : dx,
+                    target = (updateDx > 0) ? slider.getTarget('next') : slider.getTarget('prev');
+
+                if (slider.canAdvance(target) && (Number(new Date()) - startT < 550 && Math.abs(updateDx) > 50 || Math.abs(updateDx) > cwidth/2)) {
+                  slider.flexAnimate(target, slider.vars.pauseOnAction);
+                } else {
+                  if (!fade) slider.flexAnimate(slider.currentSlide, slider.vars.pauseOnAction, true);
+                }
+              }
+              el.removeEventListener('touchend', onTouchEnd, false);
+
+              startX = null;
+              startY = null;
+              dx = null;
+              offset = null;
+            }
+        }else{
+            el.style.msTouchAction = "none";
+            el._gesture = new MSGesture();
+            el._gesture.target = el;
+            el.addEventListener("MSPointerDown", onMSPointerDown, false);
+            el._slider = slider;
+            el.addEventListener("MSGestureChange", onMSGestureChange, false);
+            el.addEventListener("MSGestureEnd", onMSGestureEnd, false);
+
+            function onMSPointerDown(e){
+                e.stopPropagation();
+                if (slider.animating) {
+                    e.preventDefault();
+                }else{
+                    slider.pause();
+                    el._gesture.addPointer(e.pointerId);
+                    accDx = 0;
+                    cwidth = (vertical) ? slider.h : slider. w;
+                    startT = Number(new Date());
+                    // CAROUSEL:
+
+                    offset = (carousel && reverse && slider.animatingTo === slider.last) ? 0 :
+                        (carousel && reverse) ? slider.limit - (((slider.itemW + slider.vars.itemMargin) * slider.move) * slider.animatingTo) :
+                            (carousel && slider.currentSlide === slider.last) ? slider.limit :
+                                (carousel) ? ((slider.itemW + slider.vars.itemMargin) * slider.move) * slider.currentSlide :
+                                    (reverse) ? (slider.last - slider.currentSlide + slider.cloneOffset) * cwidth : (slider.currentSlide + slider.cloneOffset) * cwidth;
+                }
+            }
+
+            function onMSGestureChange(e) {
+                e.stopPropagation();
+                var slider = e.target._slider;
+                if(!slider){
+                    return;
+                }
+                var transX = -e.translationX,
+                    transY = -e.translationY;
+
+                //Accumulate translations.
+                accDx = accDx + ((vertical) ? transY : transX);
+                dx = accDx;
+                scrolling = (vertical) ? (Math.abs(accDx) < Math.abs(-transX)) : (Math.abs(accDx) < Math.abs(-transY));
+
+                if(e.detail === e.MSGESTURE_FLAG_INERTIA){
+                    setImmediate(function (){
+                        el._gesture.stop();
+                    });
+
+                    return;
+                }
+
+                if (!scrolling || Number(new Date()) - startT > 500) {
+                    e.preventDefault();
+                    if (!fade && slider.transitions) {
+                        if (!slider.vars.animationLoop) {
+                            dx = accDx / ((slider.currentSlide === 0 && accDx < 0 || slider.currentSlide === slider.last && accDx > 0) ? (Math.abs(accDx) / cwidth + 2) : 1);
+                        }
+                        slider.setProps(offset + dx, "setTouch");
+                    }
+                }
+            }
+
+            function onMSGestureEnd(e) {
+                e.stopPropagation();
+                var slider = e.target._slider;
+                if(!slider){
+                    return;
+                }
+                if (slider.animatingTo === slider.currentSlide && !scrolling && !(dx === null)) {
+                    var updateDx = (reverse) ? -dx : dx,
+                        target = (updateDx > 0) ? slider.getTarget('next') : slider.getTarget('prev');
+
+                    if (slider.canAdvance(target) && (Number(new Date()) - startT < 550 && Math.abs(updateDx) > 50 || Math.abs(updateDx) > cwidth/2)) {
+                        slider.flexAnimate(target, slider.vars.pauseOnAction);
+                    } else {
+                        if (!fade) slider.flexAnimate(slider.currentSlide, slider.vars.pauseOnAction, true);
+                    }
+                }
+
+                startX = null;
+                startY = null;
+                dx = null;
+                offset = null;
+                accDx = 0;
+            }
+        }
+      },
+      resize: function() {
+        if (!slider.animating && slider.is(':visible')) {
+          if (!carousel) slider.doMath();
+
+          if (fade) {
+            // SMOOTH HEIGHT:
+            methods.smoothHeight();
+          } else if (carousel) { //CAROUSEL:
+            slider.slides.width(slider.computedW);
+            slider.update(slider.pagingCount);
+            slider.setProps();
+          }
+          else if (vertical) { //VERTICAL:
+            slider.viewport.height(slider.h);
+            slider.setProps(slider.h, "setTotal");
+          } else {
+            // SMOOTH HEIGHT:
+            if (slider.vars.smoothHeight) methods.smoothHeight();
+            slider.newSlides.width(slider.computedW);
+            slider.setProps(slider.computedW, "setTotal");
+          }
+        }
+      },
+      smoothHeight: function(dur) {
+        if (!vertical || fade) {
+          var $obj = (fade) ? slider : slider.viewport;
+          (dur) ? $obj.animate({"height": slider.slides.eq(slider.animatingTo).height()}, dur) : $obj.height(slider.slides.eq(slider.animatingTo).height());
+        }
+      },
+      sync: function(action) {
+        var $obj = $(slider.vars.sync).data("flexslider"),
+            target = slider.animatingTo;
+
+        switch (action) {
+          case "animate": $obj.flexAnimate(target, slider.vars.pauseOnAction, false, true); break;
+          case "play": if (!$obj.playing && !$obj.asNav) { $obj.play(); } break;
+          case "pause": $obj.pause(); break;
+        }
+      },
+      uniqueID: function($clone) {
+        // Append _clone to current level and children elements with id attributes
+        $clone.filter( '[id]' ).add($clone.find( '[id]' )).each(function() {
+          var $this = $(this);
+          $this.attr( 'id', $this.attr( 'id' ) + '_clone' );
+        });
+        return $clone;
+      },
+      pauseInvisible: {
+        visProp: null,
+        init: function() {
+          var prefixes = ['webkit','moz','ms','o'];
+
+          if ('hidden' in document) return 'hidden';
+          for (var i = 0; i < prefixes.length; i++) {
+            if ((prefixes[i] + 'Hidden') in document)
+            methods.pauseInvisible.visProp = prefixes[i] + 'Hidden';
+          }
+          if (methods.pauseInvisible.visProp) {
+            var evtname = methods.pauseInvisible.visProp.replace(/[H|h]idden/,'') + 'visibilitychange';
+            document.addEventListener(evtname, function() {
+              if (methods.pauseInvisible.isHidden()) {
+                if(slider.startTimeout) clearTimeout(slider.startTimeout); //If clock is ticking, stop timer and prevent from starting while invisible
+                else slider.pause(); //Or just pause
+              }
+              else {
+                if(slider.started) slider.play(); //Initiated before, just play
+                else (slider.vars.initDelay > 0) ? setTimeout(slider.play, slider.vars.initDelay) : slider.play(); //Didn't init before: simply init or wait for it
+              }
+            });
+          }
+        },
+        isHidden: function() {
+          return document[methods.pauseInvisible.visProp] || false;
+        }
+      },
+      setToClearWatchedEvent: function() {
+        clearTimeout(watchedEventClearTimer);
+        watchedEventClearTimer = setTimeout(function() {
+          watchedEvent = "";
+        }, 3000);
+      }
+    };
+
+    // public methods
+    slider.flexAnimate = function(target, pause, override, withSync, fromNav) {
+      if (!slider.vars.animationLoop && target !== slider.currentSlide) {
+        slider.direction = (target > slider.currentSlide) ? "next" : "prev";
+      }
+
+      if (asNav && slider.pagingCount === 1) slider.direction = (slider.currentItem < target) ? "next" : "prev";
+
+      if (!slider.animating && (slider.canAdvance(target, fromNav) || override) && slider.is(":visible")) {
+        if (asNav && withSync) {
+          var master = $(slider.vars.asNavFor).data('flexslider');
+          slider.atEnd = target === 0 || target === slider.count - 1;
+          master.flexAnimate(target, true, false, true, fromNav);
+          slider.direction = (slider.currentItem < target) ? "next" : "prev";
+          master.direction = slider.direction;
+
+          if (Math.ceil((target + 1)/slider.visible) - 1 !== slider.currentSlide && target !== 0) {
+            slider.currentItem = target;
+            slider.slides.removeClass(namespace + "active-slide").eq(target).addClass(namespace + "active-slide");
+            target = Math.floor(target/slider.visible);
+          } else {
+            slider.currentItem = target;
+            slider.slides.removeClass(namespace + "active-slide").eq(target).addClass(namespace + "active-slide");
+            return false;
+          }
+        }
+
+        slider.animating = true;
+        slider.animatingTo = target;
+
+        // SLIDESHOW:
+        if (pause) slider.pause();
+
+        // API: before() animation Callback
+        slider.vars.before(slider);
+
+        // SYNC:
+        if (slider.syncExists && !fromNav) methods.sync("animate");
+
+        // CONTROLNAV
+        if (slider.vars.controlNav) methods.controlNav.active();
+
+        // !CAROUSEL:
+        // CANDIDATE: slide active class (for add/remove slide)
+        if (!carousel) slider.slides.removeClass(namespace + 'active-slide').eq(target).addClass(namespace + 'active-slide');
+
+        // INFINITE LOOP:
+        // CANDIDATE: atEnd
+        slider.atEnd = target === 0 || target === slider.last;
+
+        // DIRECTIONNAV:
+        if (slider.vars.directionNav) methods.directionNav.update();
+
+        if (target === slider.last) {
+          // API: end() of cycle Callback
+          slider.vars.end(slider);
+          // SLIDESHOW && !INFINITE LOOP:
+          if (!slider.vars.animationLoop) slider.pause();
+        }
+
+        // SLIDE:
+        if (!fade) {
+          var dimension = (vertical) ? slider.slides.filter(':first').height() : slider.computedW,
+              margin, slideString, calcNext;
+
+          // INFINITE LOOP / REVERSE:
+          if (carousel) {
+            //margin = (slider.vars.itemWidth > slider.w) ? slider.vars.itemMargin * 2 : slider.vars.itemMargin;
+            margin = slider.vars.itemMargin;
+            calcNext = ((slider.itemW + margin) * slider.move) * slider.animatingTo;
+            slideString = (calcNext > slider.limit && slider.visible !== 1) ? slider.limit : calcNext;
+          } else if (slider.currentSlide === 0 && target === slider.count - 1 && slider.vars.animationLoop && slider.direction !== "next") {
+            slideString = (reverse) ? (slider.count + slider.cloneOffset) * dimension : 0;
+          } else if (slider.currentSlide === slider.last && target === 0 && slider.vars.animationLoop && slider.direction !== "prev") {
+            slideString = (reverse) ? 0 : (slider.count + 1) * dimension;
+          } else {
+            slideString = (reverse) ? ((slider.count - 1) - target + slider.cloneOffset) * dimension : (target + slider.cloneOffset) * dimension;
+          }
+          slider.setProps(slideString, "", slider.vars.animationSpeed);
+          if (slider.transitions) {
+            if (!slider.vars.animationLoop || !slider.atEnd) {
+              slider.animating = false;
+              slider.currentSlide = slider.animatingTo;
+            }
+            
+            // Unbind previous transitionEnd events and re-bind new transitionEnd event
+            slider.container.unbind("webkitTransitionEnd transitionend");
+            slider.container.bind("webkitTransitionEnd transitionend", function() {
+              clearTimeout(slider.ensureAnimationEnd);
+              slider.wrapup(dimension);
+            });
+
+            // Insurance for the ever-so-fickle transitionEnd event
+            clearTimeout(slider.ensureAnimationEnd);
+            slider.ensureAnimationEnd = setTimeout(function() {
+              slider.wrapup(dimension);
+            }, slider.vars.animationSpeed + 100);
+
+          } else {
+            slider.container.animate(slider.args, slider.vars.animationSpeed, slider.vars.easing, function(){
+              slider.wrapup(dimension);
+            });
+          }
+        } else { // FADE:
+          if (!touch) {
+            //slider.slides.eq(slider.currentSlide).fadeOut(slider.vars.animationSpeed, slider.vars.easing);
+            //slider.slides.eq(target).fadeIn(slider.vars.animationSpeed, slider.vars.easing, slider.wrapup);
+
+            slider.slides.eq(slider.currentSlide).css({"zIndex": 1}).animate({"opacity": 0}, slider.vars.animationSpeed, slider.vars.easing);
+            slider.slides.eq(target).css({"zIndex": 2}).animate({"opacity": 1}, slider.vars.animationSpeed, slider.vars.easing, slider.wrapup);
+
+          } else {
+            slider.slides.eq(slider.currentSlide).css({ "opacity": 0, "zIndex": 1 });
+            slider.slides.eq(target).css({ "opacity": 1, "zIndex": 2 });
+            slider.wrapup(dimension);
+          }
+        }
+        // SMOOTH HEIGHT:
+        if (slider.vars.smoothHeight) methods.smoothHeight(slider.vars.animationSpeed);
+      }
+    };
+    slider.wrapup = function(dimension) {
+      // SLIDE:
+      if (!fade && !carousel) {
+        if (slider.currentSlide === 0 && slider.animatingTo === slider.last && slider.vars.animationLoop) {
+          slider.setProps(dimension, "jumpEnd");
+        } else if (slider.currentSlide === slider.last && slider.animatingTo === 0 && slider.vars.animationLoop) {
+          slider.setProps(dimension, "jumpStart");
+        }
+      }
+      slider.animating = false;
+      slider.currentSlide = slider.animatingTo;
+      // API: after() animation Callback
+      slider.vars.after(slider);
+    };
+
+    // SLIDESHOW:
+    slider.animateSlides = function() {
+      if (!slider.animating && focused ) slider.flexAnimate(slider.getTarget("next"));
+    };
+    // SLIDESHOW:
+    slider.pause = function() {
+      clearInterval(slider.animatedSlides);
+      slider.animatedSlides = null;
+      slider.playing = false;
+      // PAUSEPLAY:
+      if (slider.vars.pausePlay) methods.pausePlay.update("play");
+      // SYNC:
+      if (slider.syncExists) methods.sync("pause");
+    };
+    // SLIDESHOW:
+    slider.play = function() {
+      if (slider.playing) clearInterval(slider.animatedSlides);
+      slider.animatedSlides = slider.animatedSlides || setInterval(slider.animateSlides, slider.vars.slideshowSpeed);
+      slider.started = slider.playing = true;
+      // PAUSEPLAY:
+      if (slider.vars.pausePlay) methods.pausePlay.update("pause");
+      // SYNC:
+      if (slider.syncExists) methods.sync("play");
+    };
+    // STOP:
+    slider.stop = function () {
+      slider.pause();
+      slider.stopped = true;
+    };
+    slider.canAdvance = function(target, fromNav) {
+      // ASNAV:
+      var last = (asNav) ? slider.pagingCount - 1 : slider.last;
+      return (fromNav) ? true :
+             (asNav && slider.currentItem === slider.count - 1 && target === 0 && slider.direction === "prev") ? true :
+             (asNav && slider.currentItem === 0 && target === slider.pagingCount - 1 && slider.direction !== "next") ? false :
+             (target === slider.currentSlide && !asNav) ? false :
+             (slider.vars.animationLoop) ? true :
+             (slider.atEnd && slider.currentSlide === 0 && target === last && slider.direction !== "next") ? false :
+             (slider.atEnd && slider.currentSlide === last && target === 0 && slider.direction === "next") ? false :
+             true;
+    };
+    slider.getTarget = function(dir) {
+      slider.direction = dir;
+      if (dir === "next") {
+        return (slider.currentSlide === slider.last) ? 0 : slider.currentSlide + 1;
+      } else {
+        return (slider.currentSlide === 0) ? slider.last : slider.currentSlide - 1;
+      }
+    };
+
+    // SLIDE:
+    slider.setProps = function(pos, special, dur) {
+      var target = (function() {
+        var posCheck = (pos) ? pos : ((slider.itemW + slider.vars.itemMargin) * slider.move) * slider.animatingTo,
+            posCalc = (function() {
+              if (carousel) {
+                return (special === "setTouch") ? pos :
+                       (reverse && slider.animatingTo === slider.last) ? 0 :
+                       (reverse) ? slider.limit - (((slider.itemW + slider.vars.itemMargin) * slider.move) * slider.animatingTo) :
+                       (slider.animatingTo === slider.last) ? slider.limit : posCheck;
+              } else {
+                switch (special) {
+                  case "setTotal": return (reverse) ? ((slider.count - 1) - slider.currentSlide + slider.cloneOffset) * pos : (slider.currentSlide + slider.cloneOffset) * pos;
+                  case "setTouch": return (reverse) ? pos : pos;
+                  case "jumpEnd": return (reverse) ? pos : slider.count * pos;
+                  case "jumpStart": return (reverse) ? slider.count * pos : pos;
+                  default: return pos;
+                }
+              }
+            }());
+
+            return (posCalc * -1) + "px";
+          }());
+
+      if (slider.transitions) {
+        target = (vertical) ? "translate3d(0," + target + ",0)" : "translate3d(" + target + ",0,0)";
+        dur = (dur !== undefined) ? (dur/1000) + "s" : "0s";
+        slider.container.css("-" + slider.pfx + "-transition-duration", dur);
+         slider.container.css("transition-duration", dur);
+      }
+
+      slider.args[slider.prop] = target;
+      if (slider.transitions || dur === undefined) slider.container.css(slider.args);
+
+      slider.container.css('transform',target);
+    };
+
+    slider.setup = function(type) {
+      // SLIDE:
+      if (!fade) {
+        var sliderOffset, arr;
+
+        if (type === "init") {
+          slider.viewport = $('<div class="' + namespace + 'viewport"></div>').css({"overflow": "hidden", "position": "relative"}).appendTo(slider).append(slider.container);
+          // INFINITE LOOP:
+          slider.cloneCount = 0;
+          slider.cloneOffset = 0;
+          // REVERSE:
+          if (reverse) {
+            arr = $.makeArray(slider.slides).reverse();
+            slider.slides = $(arr);
+            slider.container.empty().append(slider.slides);
+          }
+        }
+        // INFINITE LOOP && !CAROUSEL:
+        if (slider.vars.animationLoop && !carousel) {
+          slider.cloneCount = 2;
+          slider.cloneOffset = 1;
+          // clear out old clones
+          if (type !== "init") slider.container.find('.clone').remove();
+          slider.container.append(methods.uniqueID(slider.slides.first().clone().addClass('clone')).attr('aria-hidden', 'true'))
+                          .prepend(methods.uniqueID(slider.slides.last().clone().addClass('clone')).attr('aria-hidden', 'true'));
+        }
+        slider.newSlides = $(slider.vars.selector, slider);
+
+        sliderOffset = (reverse) ? slider.count - 1 - slider.currentSlide + slider.cloneOffset : slider.currentSlide + slider.cloneOffset;
+        // VERTICAL:
+        if (vertical && !carousel) {
+          slider.container.height((slider.count + slider.cloneCount) * 200 + "%").css("position", "absolute").width("100%");
+          setTimeout(function(){
+            slider.newSlides.css({"display": "block"});
+            slider.doMath();
+            slider.viewport.height(slider.h);
+            slider.setProps(sliderOffset * slider.h, "init");
+          }, (type === "init") ? 100 : 0);
+        } else {
+          slider.container.width((slider.count + slider.cloneCount) * 200 + "%");
+          slider.setProps(sliderOffset * slider.computedW, "init");
+          setTimeout(function(){
+            slider.doMath();
+            slider.newSlides.css({"width": slider.computedW, "float": "left", "display": "block"});
+            // SMOOTH HEIGHT:
+            if (slider.vars.smoothHeight) methods.smoothHeight();
+          }, (type === "init") ? 100 : 0);
+        }
+      } else { // FADE:
+        slider.slides.css({"width": "100%", "float": "left", "marginRight": "-100%", "position": "relative"});
+        if (type === "init") {
+          if (!touch) {
+            //slider.slides.eq(slider.currentSlide).fadeIn(slider.vars.animationSpeed, slider.vars.easing);
+            if (slider.vars.fadeFirstSlide == false) {
+              slider.slides.css({ "opacity": 0, "display": "block", "zIndex": 1 }).eq(slider.currentSlide).css({"zIndex": 2}).css({"opacity": 1});
+            } else {
+              slider.slides.css({ "opacity": 0, "display": "block", "zIndex": 1 }).eq(slider.currentSlide).css({"zIndex": 2}).animate({"opacity": 1},slider.vars.animationSpeed,slider.vars.easing);
+            }
+          } else {
+            slider.slides.css({ "opacity": 0, "display": "block", "webkitTransition": "opacity " + slider.vars.animationSpeed / 1000 + "s ease", "zIndex": 1 }).eq(slider.currentSlide).css({ "opacity": 1, "zIndex": 2});
+          }
+        }
+        // SMOOTH HEIGHT:
+        if (slider.vars.smoothHeight) methods.smoothHeight();
+      }
+      // !CAROUSEL:
+      // CANDIDATE: active slide
+      if (!carousel) slider.slides.removeClass(namespace + "active-slide").eq(slider.currentSlide).addClass(namespace + "active-slide");
+
+      //FlexSlider: init() Callback
+      slider.vars.init(slider);
+    };
+
+    slider.doMath = function() {
+      var slide = slider.slides.first(),
+          slideMargin = slider.vars.itemMargin,
+          minItems = slider.vars.minItems,
+          maxItems = slider.vars.maxItems;
+
+      slider.w = (slider.viewport===undefined) ? slider.width() : slider.viewport.width();
+      slider.h = slide.height();
+      slider.boxPadding = slide.outerWidth() - slide.width();
+
+      // CAROUSEL:
+      if (carousel) {
+        slider.itemT = slider.vars.itemWidth + slideMargin;
+        slider.minW = (minItems) ? minItems * slider.itemT : slider.w;
+        slider.maxW = (maxItems) ? (maxItems * slider.itemT) - slideMargin : slider.w;
+        slider.itemW = (slider.minW > slider.w) ? (slider.w - (slideMargin * (minItems - 1)))/minItems :
+                       (slider.maxW < slider.w) ? (slider.w - (slideMargin * (maxItems - 1)))/maxItems :
+                       (slider.vars.itemWidth > slider.w) ? slider.w : slider.vars.itemWidth;
+
+        slider.visible = Math.floor(slider.w/(slider.itemW));
+        slider.move = (slider.vars.move > 0 && slider.vars.move < slider.visible ) ? slider.vars.move : slider.visible;
+        slider.pagingCount = Math.ceil(((slider.count - slider.visible)/slider.move) + 1);
+        slider.last =  slider.pagingCount - 1;
+        slider.limit = (slider.pagingCount === 1) ? 0 :
+                       (slider.vars.itemWidth > slider.w) ? (slider.itemW * (slider.count - 1)) + (slideMargin * (slider.count - 1)) : ((slider.itemW + slideMargin) * slider.count) - slider.w - slideMargin;
+      } else {
+        slider.itemW = slider.w;
+        slider.pagingCount = slider.count;
+        slider.last = slider.count - 1;
+      }
+      slider.computedW = slider.itemW - slider.boxPadding;
+    };
+
+    slider.update = function(pos, action) {
+      slider.doMath();
+
+      // update currentSlide and slider.animatingTo if necessary
+      if (!carousel) {
+        if (pos < slider.currentSlide) {
+          slider.currentSlide += 1;
+        } else if (pos <= slider.currentSlide && pos !== 0) {
+          slider.currentSlide -= 1;
+        }
+        slider.animatingTo = slider.currentSlide;
+      }
+
+      // update controlNav
+      if (slider.vars.controlNav && !slider.manualControls) {
+        if ((action === "add" && !carousel) || slider.pagingCount > slider.controlNav.length) {
+          methods.controlNav.update("add");
+        } else if ((action === "remove" && !carousel) || slider.pagingCount < slider.controlNav.length) {
+          if (carousel && slider.currentSlide > slider.last) {
+            slider.currentSlide -= 1;
+            slider.animatingTo -= 1;
+          }
+          methods.controlNav.update("remove", slider.last);
+        }
+      }
+      // update directionNav
+      if (slider.vars.directionNav) methods.directionNav.update();
+
+    };
+
+    slider.addSlide = function(obj, pos) {
+      var $obj = $(obj);
+
+      slider.count += 1;
+      slider.last = slider.count - 1;
+
+      // append new slide
+      if (vertical && reverse) {
+        (pos !== undefined) ? slider.slides.eq(slider.count - pos).after($obj) : slider.container.prepend($obj);
+      } else {
+        (pos !== undefined) ? slider.slides.eq(pos).before($obj) : slider.container.append($obj);
+      }
+
+      // update currentSlide, animatingTo, controlNav, and directionNav
+      slider.update(pos, "add");
+
+      // update slider.slides
+      slider.slides = $(slider.vars.selector + ':not(.clone)', slider);
+      // re-setup the slider to accomdate new slide
+      slider.setup();
+
+      //FlexSlider: added() Callback
+      slider.vars.added(slider);
+    };
+    slider.removeSlide = function(obj) {
+      var pos = (isNaN(obj)) ? slider.slides.index($(obj)) : obj;
+
+      // update count
+      slider.count -= 1;
+      slider.last = slider.count - 1;
+
+      // remove slide
+      if (isNaN(obj)) {
+        $(obj, slider.slides).remove();
+      } else {
+        (vertical && reverse) ? slider.slides.eq(slider.last).remove() : slider.slides.eq(obj).remove();
+      }
+
+      // update currentSlide, animatingTo, controlNav, and directionNav
+      slider.doMath();
+      slider.update(pos, "remove");
+
+      // update slider.slides
+      slider.slides = $(slider.vars.selector + ':not(.clone)', slider);
+      // re-setup the slider to accomdate new slide
+      slider.setup();
+
+      // FlexSlider: removed() Callback
+      slider.vars.removed(slider);
+    };
+
+    //FlexSlider: Initialize
+    methods.init();
+  };
+
+  // Ensure the slider isn't focussed if the window loses focus.
+  $( window ).blur( function ( e ) {
+    focused = false;
+  }).focus( function ( e ) {
+    focused = true;
+  });
+
+  //FlexSlider: Default Settings
+  $.flexslider.defaults = {
+    namespace: "flex-",             //{NEW} String: Prefix string attached to the class of every element generated by the plugin
+    selector: ".slides > li",       //{NEW} Selector: Must match a simple pattern. '{container} > {slide}' -- Ignore pattern at your own peril
+    animation: "fade",              //String: Select your animation type, "fade" or "slide"
+    easing: "swing",                //{NEW} String: Determines the easing method used in jQuery transitions. jQuery easing plugin is supported!
+    direction: "horizontal",        //String: Select the sliding direction, "horizontal" or "vertical"
+    reverse: false,                 //{NEW} Boolean: Reverse the animation direction
+    animationLoop: true,            //Boolean: Should the animation loop? If false, directionNav will received "disable" classes at either end
+    smoothHeight: false,            //{NEW} Boolean: Allow height of the slider to animate smoothly in horizontal mode
+    startAt: 0,                     //Integer: The slide that the slider should start on. Array notation (0 = first slide)
+    slideshow: true,                //Boolean: Animate slider automatically
+    slideshowSpeed: 7000,           //Integer: Set the speed of the slideshow cycling, in milliseconds
+    animationSpeed: 600,            //Integer: Set the speed of animations, in milliseconds
+    initDelay: 0,                   //{NEW} Integer: Set an initialization delay, in milliseconds
+    randomize: false,               //Boolean: Randomize slide order
+    fadeFirstSlide: true,           //Boolean: Fade in the first slide when animation type is "fade"
+    thumbCaptions: false,           //Boolean: Whether or not to put captions on thumbnails when using the "thumbnails" controlNav.
+
+    // Usability features
+    pauseOnAction: true,            //Boolean: Pause the slideshow when interacting with control elements, highly recommended.
+    pauseOnHover: false,            //Boolean: Pause the slideshow when hovering over slider, then resume when no longer hovering
+    pauseInvisible: true,              //{NEW} Boolean: Pause the slideshow when tab is invisible, resume when visible. Provides better UX, lower CPU usage.
+    useCSS: true,                   //{NEW} Boolean: Slider will use CSS3 transitions if available
+    touch: true,                    //{NEW} Boolean: Allow touch swipe navigation of the slider on touch-enabled devices
+    video: false,                   //{NEW} Boolean: If using video in the slider, will prevent CSS3 3D Transforms to avoid graphical glitches
+
+    // Primary Controls
+    controlNav: true,               //Boolean: Create navigation for paging control of each slide? Note: Leave true for manualControls usage
+    directionNav: true,             //Boolean: Create navigation for previous/next navigation? (true/false)
+    prevText: "Previous",           //String: Set the text for the "previous" directionNav item
+    nextText: "Next",               //String: Set the text for the "next" directionNav item
+
+    // Secondary Navigation
+    keyboard: true,                 //Boolean: Allow slider navigating via keyboard left/right keys
+    multipleKeyboard: false,        //{NEW} Boolean: Allow keyboard navigation to affect multiple sliders. Default behavior cuts out keyboard navigation with more than one slider present.
+    mousewheel: false,              //{UPDATED} Boolean: Requires jquery.mousewheel.js (https://github.com/brandonaaron/jquery-mousewheel) - Allows slider navigating via mousewheel
+    pausePlay: false,               //Boolean: Create pause/play dynamic element
+    pauseText: "Pause",             //String: Set the text for the "pause" pausePlay item
+    playText: "Play",               //String: Set the text for the "play" pausePlay item
+
+    // Special properties
+    controlsContainer: "",          //{UPDATED} jQuery Object/Selector: Declare which container the navigation elements should be appended too. Default container is the FlexSlider element. Example use would be $(".flexslider-container"). Property is ignored if given element is not found.
+    manualControls: "",             //{UPDATED} jQuery Object/Selector: Declare custom control navigation. Examples would be $(".flex-control-nav li") or "#tabs-nav li img", etc. The number of elements in your controlNav should match the number of slides/tabs.
+    sync: "",                       //{NEW} Selector: Mirror the actions performed on this slider with another slider. Use with care.
+    asNavFor: "",                   //{NEW} Selector: Internal property exposed for turning the slider into a thumbnail navigation for another slider
+
+    // Carousel Options
+    itemWidth: 0,                   //{NEW} Integer: Box-model width of individual carousel items, including horizontal borders and padding.
+    itemMargin: 0,                  //{NEW} Integer: Margin between carousel items.
+    minItems: 1,                    //{NEW} Integer: Minimum number of carousel items that should be visible. Items will resize fluidly when below this.
+    maxItems: 0,                    //{NEW} Integer: Maxmimum number of carousel items that should be visible. Items will resize fluidly when above this limit.
+    move: 0,                        //{NEW} Integer: Number of carousel items that should move on animation. If 0, slider will move all visible items.
+    allowOneSlide: true,           //{NEW} Boolean: Whether or not to allow a slider comprised of a single slide
+
+    // Callback API
+    start: function(){},            //Callback: function(slider) - Fires when the slider loads the first slide
+    before: function(){},           //Callback: function(slider) - Fires asynchronously with each slider animation
+    after: function(){},            //Callback: function(slider) - Fires after each slider animation completes
+    end: function(){},              //Callback: function(slider) - Fires when the slider reaches the last slide (asynchronous)
+    added: function(){},            //{NEW} Callback: function(slider) - Fires after a slide is added
+    removed: function(){},           //{NEW} Callback: function(slider) - Fires after a slide is removed
+    init: function() {}             //{NEW} Callback: function(slider) - Fires after the slider is initially setup
+  };
+
+  //FlexSlider: Plugin Function
+  $.fn.flexslider = function(options) {
+    if (options === undefined) options = {};
+
+    if (typeof options === "object") {
+      return this.each(function() {
+        var $this = $(this),
+            selector = (options.selector) ? options.selector : ".slides > li",
+            $slides = $this.find(selector);
+
+      if ( ( $slides.length === 1 && options.allowOneSlide === true ) || $slides.length === 0 ) {
+          $slides.fadeIn(400);
+          if (options.start) options.start($this);
+        } else if ($this.data('flexslider') === undefined) {
+          new $.flexslider(this, options);
+        }
+      });
+    } else {
+      // Helper strings to quickly perform functions on the slider
+      var $slider = $(this).data('flexslider');
+      switch (options) {
+        case "play": $slider.play(); break;
+        case "pause": $slider.pause(); break;
+        case "stop": $slider.stop(); break;
+        case "next": $slider.flexAnimate($slider.getTarget("next"), true); break;
+        case "prev":
+        case "previous": $slider.flexAnimate($slider.getTarget("prev"), true); break;
+        default: if (typeof options === "number") $slider.flexAnimate(options, true);
+      }
+    }
+  };
+})(jQuery);
diff --git a/templates/shop-isle/assets/js/vendor/jquery.magnific-popup.js b/templates/shop-isle/assets/js/vendor/jquery.magnific-popup.js
new file mode 100644 (file)
index 0000000..bc09b3e
--- /dev/null
@@ -0,0 +1,2049 @@
+/*! Magnific Popup - v0.9.9 - 2013-12-27
+* http://dimsemenov.com/plugins/magnific-popup/
+* Copyright (c) 2013 Dmitry Semenov; */
+;(function($) {
+
+/*>>core*/
+/**
+ * 
+ * Magnific Popup Core JS file
+ * 
+ */
+
+
+/**
+ * Private static constants
+ */
+var CLOSE_EVENT = 'Close',
+       BEFORE_CLOSE_EVENT = 'BeforeClose',
+       AFTER_CLOSE_EVENT = 'AfterClose',
+       BEFORE_APPEND_EVENT = 'BeforeAppend',
+       MARKUP_PARSE_EVENT = 'MarkupParse',
+       OPEN_EVENT = 'Open',
+       CHANGE_EVENT = 'Change',
+       NS = 'mfp',
+       EVENT_NS = '.' + NS,
+       READY_CLASS = 'mfp-ready',
+       REMOVING_CLASS = 'mfp-removing',
+       PREVENT_CLOSE_CLASS = 'mfp-prevent-close';
+
+
+/**
+ * Private vars 
+ */
+var mfp, // As we have only one instance of MagnificPopup object, we define it locally to not to use 'this'
+       MagnificPopup = function(){},
+       _isJQ = !!(window.jQuery),
+       _prevStatus,
+       _window = $(window),
+       _body,
+       _document,
+       _prevContentType,
+       _wrapClasses,
+       _currPopupType;
+
+
+/**
+ * Private functions
+ */
+var _mfpOn = function(name, f) {
+               mfp.ev.on(NS + name + EVENT_NS, f);
+       },
+       _getEl = function(className, appendTo, html, raw) {
+               var el = document.createElement('div');
+               el.className = 'mfp-'+className;
+               if(html) {
+                       el.innerHTML = html;
+               }
+               if(!raw) {
+                       el = $(el);
+                       if(appendTo) {
+                               el.appendTo(appendTo);
+                       }
+               } else if(appendTo) {
+                       appendTo.appendChild(el);
+               }
+               return el;
+       },
+       _mfpTrigger = function(e, data) {
+               mfp.ev.triggerHandler(NS + e, data);
+
+               if(mfp.st.callbacks) {
+                       // converts "mfpEventName" to "eventName" callback and triggers it if it's present
+                       e = e.charAt(0).toLowerCase() + e.slice(1);
+                       if(mfp.st.callbacks[e]) {
+                               mfp.st.callbacks[e].apply(mfp, $.isArray(data) ? data : [data]);
+                       }
+               }
+       },
+       _getCloseBtn = function(type) {
+               if(type !== _currPopupType || !mfp.currTemplate.closeBtn) {
+                       mfp.currTemplate.closeBtn = $( mfp.st.closeMarkup.replace('%title%', mfp.st.tClose ) );
+                       _currPopupType = type;
+               }
+               return mfp.currTemplate.closeBtn;
+       },
+       // Initialize Magnific Popup only when called at least once
+       _checkInstance = function() {
+               if(!$.magnificPopup.instance) {
+                       mfp = new MagnificPopup();
+                       mfp.init();
+                       $.magnificPopup.instance = mfp;
+               }
+       },
+       // CSS transition detection, http://stackoverflow.com/questions/7264899/detect-css-transitions-using-javascript-and-without-modernizr
+       supportsTransitions = function() {
+               var s = document.createElement('p').style, // 's' for style. better to create an element if body yet to exist
+                       v = ['ms','O','Moz','Webkit']; // 'v' for vendor
+
+               if( s['transition'] !== undefined ) {
+                       return true; 
+               }
+                       
+               while( v.length ) {
+                       if( v.pop() + 'Transition' in s ) {
+                               return true;
+                       }
+               }
+                               
+               return false;
+       };
+
+
+
+/**
+ * Public functions
+ */
+MagnificPopup.prototype = {
+
+       constructor: MagnificPopup,
+
+       /**
+        * Initializes Magnific Popup plugin. 
+        * This function is triggered only once when $.fn.magnificPopup or $.magnificPopup is executed
+        */
+       init: function() {
+               var appVersion = navigator.appVersion;
+               mfp.isIE7 = appVersion.indexOf("MSIE 7.") !== -1; 
+               mfp.isIE8 = appVersion.indexOf("MSIE 8.") !== -1;
+               mfp.isLowIE = mfp.isIE7 || mfp.isIE8;
+               mfp.isAndroid = (/android/gi).test(appVersion);
+               mfp.isIOS = (/iphone|ipad|ipod/gi).test(appVersion);
+               mfp.supportsTransition = supportsTransitions();
+
+               // We disable fixed positioned lightbox on devices that don't handle it nicely.
+               // If you know a better way of detecting this - let me know.
+               mfp.probablyMobile = (mfp.isAndroid || mfp.isIOS || /(Opera Mini)|Kindle|webOS|BlackBerry|(Opera Mobi)|(Windows Phone)|IEMobile/i.test(navigator.userAgent) );
+               _document = $(document);
+
+               mfp.popupsCache = {};
+       },
+
+       /**
+        * Opens popup
+        * @param  data [description]
+        */
+       open: function(data) {
+
+               if(!_body) {
+                       _body = $(document.body);
+               }
+
+               var i;
+
+               if(data.isObj === false) { 
+                       // convert jQuery collection to array to avoid conflicts later
+                       mfp.items = data.items.toArray();
+
+                       mfp.index = 0;
+                       var items = data.items,
+                               item;
+                       for(i = 0; i < items.length; i++) {
+                               item = items[i];
+                               if(item.parsed) {
+                                       item = item.el[0];
+                               }
+                               if(item === data.el[0]) {
+                                       mfp.index = i;
+                                       break;
+                               }
+                       }
+               } else {
+                       mfp.items = $.isArray(data.items) ? data.items : [data.items];
+                       mfp.index = data.index || 0;
+               }
+
+               // if popup is already opened - we just update the content
+               if(mfp.isOpen) {
+                       mfp.updateItemHTML();
+                       return;
+               }
+               
+               mfp.types = []; 
+               _wrapClasses = '';
+               if(data.mainEl && data.mainEl.length) {
+                       mfp.ev = data.mainEl.eq(0);
+               } else {
+                       mfp.ev = _document;
+               }
+
+               if(data.key) {
+                       if(!mfp.popupsCache[data.key]) {
+                               mfp.popupsCache[data.key] = {};
+                       }
+                       mfp.currTemplate = mfp.popupsCache[data.key];
+               } else {
+                       mfp.currTemplate = {};
+               }
+
+
+
+               mfp.st = $.extend(true, {}, $.magnificPopup.defaults, data ); 
+               mfp.fixedContentPos = mfp.st.fixedContentPos === 'auto' ? !mfp.probablyMobile : mfp.st.fixedContentPos;
+
+               if(mfp.st.modal) {
+                       mfp.st.closeOnContentClick = false;
+                       mfp.st.closeOnBgClick = false;
+                       mfp.st.showCloseBtn = false;
+                       mfp.st.enableEscapeKey = false;
+               }
+               
+
+               // Building markup
+               // main containers are created only once
+               if(!mfp.bgOverlay) {
+
+                       // Dark overlay
+                       mfp.bgOverlay = _getEl('bg').on('click'+EVENT_NS, function() {
+                               mfp.close();
+                       });
+
+                       mfp.wrap = _getEl('wrap').attr('tabindex', -1).on('click'+EVENT_NS, function(e) {
+                               if(mfp._checkIfClose(e.target)) {
+                                       mfp.close();
+                               }
+                       });
+
+                       mfp.container = _getEl('container', mfp.wrap);
+               }
+
+               mfp.contentContainer = _getEl('content');
+               if(mfp.st.preloader) {
+                       mfp.preloader = _getEl('preloader', mfp.container, mfp.st.tLoading);
+               }
+
+
+               // Initializing modules
+               var modules = $.magnificPopup.modules;
+               for(i = 0; i < modules.length; i++) {
+                       var n = modules[i];
+                       n = n.charAt(0).toUpperCase() + n.slice(1);
+                       mfp['init'+n].call(mfp);
+               }
+               _mfpTrigger('BeforeOpen');
+
+
+               if(mfp.st.showCloseBtn) {
+                       // Close button
+                       if(!mfp.st.closeBtnInside) {
+                               mfp.wrap.append( _getCloseBtn() );
+                       } else {
+                               _mfpOn(MARKUP_PARSE_EVENT, function(e, template, values, item) {
+                                       values.close_replaceWith = _getCloseBtn(item.type);
+                               });
+                               _wrapClasses += ' mfp-close-btn-in';
+                       }
+               }
+
+               if(mfp.st.alignTop) {
+                       _wrapClasses += ' mfp-align-top';
+               }
+
+       
+
+               if(mfp.fixedContentPos) {
+                       mfp.wrap.css({
+                               overflow: mfp.st.overflowY,
+                               overflowX: 'hidden',
+                               overflowY: mfp.st.overflowY
+                       });
+               } else {
+                       mfp.wrap.css({ 
+                               top: _window.scrollTop(),
+                               position: 'absolute'
+                       });
+               }
+               if( mfp.st.fixedBgPos === false || (mfp.st.fixedBgPos === 'auto' && !mfp.fixedContentPos) ) {
+                       mfp.bgOverlay.css({
+                               height: _document.height(),
+                               position: 'absolute'
+                       });
+               }
+
+               
+
+               if(mfp.st.enableEscapeKey) {
+                       // Close on ESC key
+                       _document.on('keyup' + EVENT_NS, function(e) {
+                               if(e.keyCode === 27) {
+                                       mfp.close();
+                               }
+                       });
+               }
+
+               _window.on('resize' + EVENT_NS, function() {
+                       mfp.updateSize();
+               });
+
+
+               if(!mfp.st.closeOnContentClick) {
+                       _wrapClasses += ' mfp-auto-cursor';
+               }
+               
+               if(_wrapClasses)
+                       mfp.wrap.addClass(_wrapClasses);
+
+
+               // this triggers recalculation of layout, so we get it once to not to trigger twice
+               var windowHeight = mfp.wH = _window.height();
+
+               
+               var windowStyles = {};
+
+               if( mfp.fixedContentPos ) {
+            if(mfp._hasScrollBar(windowHeight)){
+                var s = mfp._getScrollbarSize();
+                if(s) {
+                    windowStyles.marginRight = s;
+                }
+            }
+        }
+
+               if(mfp.fixedContentPos) {
+                       if(!mfp.isIE7) {
+                               windowStyles.overflow = 'hidden';
+                       } else {
+                               // ie7 double-scroll bug
+                               $('body, html').css('overflow', 'hidden');
+                       }
+               }
+
+               
+               
+               var classesToadd = mfp.st.mainClass;
+               if(mfp.isIE7) {
+                       classesToadd += ' mfp-ie7';
+               }
+               if(classesToadd) {
+                       mfp._addClassToMFP( classesToadd );
+               }
+
+               // add content
+               mfp.updateItemHTML();
+
+               _mfpTrigger('BuildControls');
+
+               // remove scrollbar, add margin e.t.c
+               $('html').css(windowStyles);
+               
+               // add everything to DOM
+               mfp.bgOverlay.add(mfp.wrap).prependTo( mfp.st.prependTo || _body );
+
+               // Save last focused element
+               mfp._lastFocusedEl = document.activeElement;
+               
+               // Wait for next cycle to allow CSS transition
+               setTimeout(function() {
+                       
+                       if(mfp.content) {
+                               mfp._addClassToMFP(READY_CLASS);
+                               mfp._setFocus();
+                       } else {
+                               // if content is not defined (not loaded e.t.c) we add class only for BG
+                               mfp.bgOverlay.addClass(READY_CLASS);
+                       }
+                       
+                       // Trap the focus in popup
+                       _document.on('focusin' + EVENT_NS, mfp._onFocusIn);
+
+               }, 16);
+
+               mfp.isOpen = true;
+               mfp.updateSize(windowHeight);
+               _mfpTrigger(OPEN_EVENT);
+
+               return data;
+       },
+
+       /**
+        * Closes the popup
+        */
+       close: function() {
+               if(!mfp.isOpen) return;
+               _mfpTrigger(BEFORE_CLOSE_EVENT);
+
+               mfp.isOpen = false;
+               // for CSS3 animation
+               if(mfp.st.removalDelay && !mfp.isLowIE && mfp.supportsTransition )  {
+                       mfp._addClassToMFP(REMOVING_CLASS);
+                       setTimeout(function() {
+                               mfp._close();
+                       }, mfp.st.removalDelay);
+               } else {
+                       mfp._close();
+               }
+       },
+
+       /**
+        * Helper for close() function
+        */
+       _close: function() {
+               _mfpTrigger(CLOSE_EVENT);
+
+               var classesToRemove = REMOVING_CLASS + ' ' + READY_CLASS + ' ';
+
+               mfp.bgOverlay.detach();
+               mfp.wrap.detach();
+               mfp.container.empty();
+
+               if(mfp.st.mainClass) {
+                       classesToRemove += mfp.st.mainClass + ' ';
+               }
+
+               mfp._removeClassFromMFP(classesToRemove);
+
+               if(mfp.fixedContentPos) {
+                       var windowStyles = {marginRight: ''};
+                       if(mfp.isIE7) {
+                               $('body, html').css('overflow', '');
+                       } else {
+                               windowStyles.overflow = '';
+                       }
+                       $('html').css(windowStyles);
+               }
+               
+               _document.off('keyup' + EVENT_NS + ' focusin' + EVENT_NS);
+               mfp.ev.off(EVENT_NS);
+
+               // clean up DOM elements that aren't removed
+               mfp.wrap.attr('class', 'mfp-wrap').removeAttr('style');
+               mfp.bgOverlay.attr('class', 'mfp-bg');
+               mfp.container.attr('class', 'mfp-container');
+
+               // remove close button from target element
+               if(mfp.st.showCloseBtn &&
+               (!mfp.st.closeBtnInside || mfp.currTemplate[mfp.currItem.type] === true)) {
+                       if(mfp.currTemplate.closeBtn)
+                               mfp.currTemplate.closeBtn.detach();
+               }
+
+
+               if(mfp._lastFocusedEl) {
+                       $(mfp._lastFocusedEl).focus(); // put tab focus back
+               }
+               mfp.currItem = null;    
+               mfp.content = null;
+               mfp.currTemplate = null;
+               mfp.prevHeight = 0;
+
+               _mfpTrigger(AFTER_CLOSE_EVENT);
+       },
+       
+       updateSize: function(winHeight) {
+
+               if(mfp.isIOS) {
+                       // fixes iOS nav bars https://github.com/dimsemenov/Magnific-Popup/issues/2
+                       var zoomLevel = document.documentElement.clientWidth / window.innerWidth;
+                       var height = window.innerHeight * zoomLevel;
+                       mfp.wrap.css('height', height);
+                       mfp.wH = height;
+               } else {
+                       mfp.wH = winHeight || _window.height();
+               }
+               // Fixes #84: popup incorrectly positioned with position:relative on body
+               if(!mfp.fixedContentPos) {
+                       mfp.wrap.css('height', mfp.wH);
+               }
+
+               _mfpTrigger('Resize');
+
+       },
+
+       /**
+        * Set content of popup based on current index
+        */
+       updateItemHTML: function() {
+               var item = mfp.items[mfp.index];
+
+               // Detach and perform modifications
+               mfp.contentContainer.detach();
+
+               if(mfp.content)
+                       mfp.content.detach();
+
+               if(!item.parsed) {
+                       item = mfp.parseEl( mfp.index );
+               }
+
+               var type = item.type;   
+
+               _mfpTrigger('BeforeChange', [mfp.currItem ? mfp.currItem.type : '', type]);
+               // BeforeChange event works like so:
+               // _mfpOn('BeforeChange', function(e, prevType, newType) { });
+               
+               mfp.currItem = item;
+
+               
+
+               
+
+               if(!mfp.currTemplate[type]) {
+                       var markup = mfp.st[type] ? mfp.st[type].markup : false;
+
+                       // allows to modify markup
+                       _mfpTrigger('FirstMarkupParse', markup);
+
+                       if(markup) {
+                               mfp.currTemplate[type] = $(markup);
+                       } else {
+                               // if there is no markup found we just define that template is parsed
+                               mfp.currTemplate[type] = true;
+                       }
+               }
+
+               if(_prevContentType && _prevContentType !== item.type) {
+                       mfp.container.removeClass('mfp-'+_prevContentType+'-holder');
+               }
+               
+               var newContent = mfp['get' + type.charAt(0).toUpperCase() + type.slice(1)](item, mfp.currTemplate[type]);
+               mfp.appendContent(newContent, type);
+
+               item.preloaded = true;
+
+               _mfpTrigger(CHANGE_EVENT, item);
+               _prevContentType = item.type;
+               
+               // Append container back after its content changed
+               mfp.container.prepend(mfp.contentContainer);
+
+               _mfpTrigger('AfterChange');
+       },
+
+
+       /**
+        * Set HTML content of popup
+        */
+       appendContent: function(newContent, type) {
+               mfp.content = newContent;
+               
+               if(newContent) {
+                       if(mfp.st.showCloseBtn && mfp.st.closeBtnInside &&
+                               mfp.currTemplate[type] === true) {
+                               // if there is no markup, we just append close button element inside
+                               if(!mfp.content.find('.mfp-close').length) {
+                                       mfp.content.append(_getCloseBtn());
+                               }
+                       } else {
+                               mfp.content = newContent;
+                       }
+               } else {
+                       mfp.content = '';
+               }
+
+               _mfpTrigger(BEFORE_APPEND_EVENT);
+               mfp.container.addClass('mfp-'+type+'-holder');
+
+               mfp.contentContainer.append(mfp.content);
+       },
+
+
+
+       
+       /**
+        * Creates Magnific Popup data object based on given data
+        * @param  {int} index Index of item to parse
+        */
+       parseEl: function(index) {
+               var item = mfp.items[index],
+                       type;
+
+               if(item.tagName) {
+                       item = { el: $(item) };
+               } else {
+                       type = item.type;
+                       item = { data: item, src: item.src };
+               }
+
+               if(item.el) {
+                       var types = mfp.types;
+
+                       // check for 'mfp-TYPE' class
+                       for(var i = 0; i < types.length; i++) {
+                               if( item.el.hasClass('mfp-'+types[i]) ) {
+                                       type = types[i];
+                                       break;
+                               }
+                       }
+
+                       item.src = item.el.attr('data-mfp-src');
+                       if(!item.src) {
+                               item.src = item.el.attr('href');
+                       }
+               }
+
+               item.type = type || mfp.st.type || 'inline';
+               item.index = index;
+               item.parsed = true;
+               mfp.items[index] = item;
+               _mfpTrigger('ElementParse', item);
+
+               return mfp.items[index];
+       },
+
+
+       /**
+        * Initializes single popup or a group of popups
+        */
+       addGroup: function(el, options) {
+               var eHandler = function(e) {
+                       e.mfpEl = this;
+                       mfp._openClick(e, el, options);
+               };
+
+               if(!options) {
+                       options = {};
+               } 
+
+               var eName = 'click.magnificPopup';
+               options.mainEl = el;
+               
+               if(options.items) {
+                       options.isObj = true;
+                       el.off(eName).on(eName, eHandler);
+               } else {
+                       options.isObj = false;
+                       if(options.delegate) {
+                               el.off(eName).on(eName, options.delegate , eHandler);
+                       } else {
+                               options.items = el;
+                               el.off(eName).on(eName, eHandler);
+                       }
+               }
+       },
+       _openClick: function(e, el, options) {
+               var midClick = options.midClick !== undefined ? options.midClick : $.magnificPopup.defaults.midClick;
+
+
+               if(!midClick && ( e.which === 2 || e.ctrlKey || e.metaKey ) ) {
+                       return;
+               }
+
+               var disableOn = options.disableOn !== undefined ? options.disableOn : $.magnificPopup.defaults.disableOn;
+
+               if(disableOn) {
+                       if($.isFunction(disableOn)) {
+                               if( !disableOn.call(mfp) ) {
+                                       return true;
+                               }
+                       } else { // else it's number
+                               if( _window.width() < disableOn ) {
+                                       return true;
+                               }
+                       }
+               }
+               
+               if(e.type) {
+                       e.preventDefault();
+
+                       // This will prevent popup from closing if element is inside and popup is already opened
+                       if(mfp.isOpen) {
+                               e.stopPropagation();
+                       }
+               }
+                       
+
+               options.el = $(e.mfpEl);
+               if(options.delegate) {
+                       options.items = el.find(options.delegate);
+               }
+               mfp.open(options);
+       },
+
+
+       /**
+        * Updates text on preloader
+        */
+       updateStatus: function(status, text) {
+
+               if(mfp.preloader) {
+                       if(_prevStatus !== status) {
+                               mfp.container.removeClass('mfp-s-'+_prevStatus);
+                       }
+
+                       if(!text && status === 'loading') {
+                               text = mfp.st.tLoading;
+                       }
+
+                       var data = {
+                               status: status,
+                               text: text
+                       };
+                       // allows to modify status
+                       _mfpTrigger('UpdateStatus', data);
+
+                       status = data.status;
+                       text = data.text;
+
+                       mfp.preloader.html(text);
+
+                       mfp.preloader.find('a').on('click', function(e) {
+                               e.stopImmediatePropagation();
+                       });
+
+                       mfp.container.addClass('mfp-s-'+status);
+                       _prevStatus = status;
+               }
+       },
+
+
+       /*
+               "Private" helpers that aren't private at all
+        */
+       // Check to close popup or not
+       // "target" is an element that was clicked
+       _checkIfClose: function(target) {
+
+               if($(target).hasClass(PREVENT_CLOSE_CLASS)) {
+                       return;
+               }
+
+               var closeOnContent = mfp.st.closeOnContentClick;
+               var closeOnBg = mfp.st.closeOnBgClick;
+
+               if(closeOnContent && closeOnBg) {
+                       return true;
+               } else {
+
+                       // We close the popup if click is on close button or on preloader. Or if there is no content.
+                       if(!mfp.content || $(target).hasClass('mfp-close') || (mfp.preloader && target === mfp.preloader[0]) ) {
+                               return true;
+                       }
+
+                       // if click is outside the content
+                       if(  (target !== mfp.content[0] && !$.contains(mfp.content[0], target))  ) {
+                               if(closeOnBg) {
+                                       // last check, if the clicked element is in DOM, (in case it's removed onclick)
+                                       if( $.contains(document, target) ) {
+                                               return true;
+                                       }
+                               }
+                       } else if(closeOnContent) {
+                               return true;
+                       }
+
+               }
+               return false;
+       },
+       _addClassToMFP: function(cName) {
+               mfp.bgOverlay.addClass(cName);
+               mfp.wrap.addClass(cName);
+       },
+       _removeClassFromMFP: function(cName) {
+               this.bgOverlay.removeClass(cName);
+               mfp.wrap.removeClass(cName);
+       },
+       _hasScrollBar: function(winHeight) {
+               return (  (mfp.isIE7 ? _document.height() : document.body.scrollHeight) > (winHeight || _window.height()) );
+       },
+       _setFocus: function() {
+               (mfp.st.focus ? mfp.content.find(mfp.st.focus).eq(0) : mfp.wrap).focus();
+       },
+       _onFocusIn: function(e) {
+               if( e.target !== mfp.wrap[0] && !$.contains(mfp.wrap[0], e.target) ) {
+                       mfp._setFocus();
+                       return false;
+               }
+       },
+       _parseMarkup: function(template, values, item) {
+               var arr;
+               if(item.data) {
+                       values = $.extend(item.data, values);
+               }
+               _mfpTrigger(MARKUP_PARSE_EVENT, [template, values, item] );
+
+               $.each(values, function(key, value) {
+                       if(value === undefined || value === false) {
+                               return true;
+                       }
+                       arr = key.split('_');
+                       if(arr.length > 1) {
+                               var el = template.find(EVENT_NS + '-'+arr[0]);
+
+                               if(el.length > 0) {
+                                       var attr = arr[1];
+                                       if(attr === 'replaceWith') {
+                                               if(el[0] !== value[0]) {
+                                                       el.replaceWith(value);
+                                               }
+                                       } else if(attr === 'img') {
+                                               if(el.is('img')) {
+                                                       el.attr('src', value);
+                                               } else {
+                                                       el.replaceWith( '<img src="'+value+'" class="' + el.attr('class') + '" />' );
+                                               }
+                                       } else {
+                                               el.attr(arr[1], value);
+                                       }
+                               }
+
+                       } else {
+                               template.find(EVENT_NS + '-'+key).html(value);
+                       }
+               });
+       },
+
+       _getScrollbarSize: function() {
+               // thx David
+               if(mfp.scrollbarSize === undefined) {
+                       var scrollDiv = document.createElement("div");
+                       scrollDiv.id = "mfp-sbm";
+                       scrollDiv.style.cssText = 'width: 99px; height: 99px; overflow: scroll; position: absolute; top: -9999px;';
+                       document.body.appendChild(scrollDiv);
+                       mfp.scrollbarSize = scrollDiv.offsetWidth - scrollDiv.clientWidth;
+                       document.body.removeChild(scrollDiv);
+               }
+               return mfp.scrollbarSize;
+       }
+
+}; /* MagnificPopup core prototype end */
+
+
+
+
+/**
+ * Public static functions
+ */
+$.magnificPopup = {
+       instance: null,
+       proto: MagnificPopup.prototype,
+       modules: [],
+
+       open: function(options, index) {
+               _checkInstance();       
+
+               if(!options) {
+                       options = {};
+               } else {
+                       options = $.extend(true, {}, options);
+               }
+                       
+
+               options.isObj = true;
+               options.index = index || 0;
+               return this.instance.open(options);
+       },
+
+       close: function() {
+               return $.magnificPopup.instance && $.magnificPopup.instance.close();
+       },
+
+       registerModule: function(name, module) {
+               if(module.options) {
+                       $.magnificPopup.defaults[name] = module.options;
+               }
+               $.extend(this.proto, module.proto);                     
+               this.modules.push(name);
+       },
+
+       defaults: {   
+
+               // Info about options is in docs:
+               // http://dimsemenov.com/plugins/magnific-popup/documentation.html#options
+               
+               disableOn: 0,   
+
+               key: null,
+
+               midClick: false,
+
+               mainClass: '',
+
+               preloader: true,
+
+               focus: '', // CSS selector of input to focus after popup is opened
+               
+               closeOnContentClick: false,
+
+               closeOnBgClick: true,
+
+               closeBtnInside: true, 
+
+               showCloseBtn: true,
+
+               enableEscapeKey: true,
+
+               modal: false,
+
+               alignTop: false,
+       
+               removalDelay: 0,
+
+               prependTo: null,
+               
+               fixedContentPos: 'auto', 
+       
+               fixedBgPos: 'auto',
+
+               overflowY: 'auto',
+
+               closeMarkup: '<button title="%title%" type="button" class="mfp-close">&times;</button>',
+
+               tClose: 'Close (Esc)',
+
+               tLoading: 'Loading...'
+
+       }
+};
+
+
+
+$.fn.magnificPopup = function(options) {
+       _checkInstance();
+
+       var jqEl = $(this);
+
+       // We call some API method of first param is a string
+       if (typeof options === "string" ) {
+
+               if(options === 'open') {
+                       var items,
+                               itemOpts = _isJQ ? jqEl.data('magnificPopup') : jqEl[0].magnificPopup,
+                               index = parseInt(arguments[1], 10) || 0;
+
+                       if(itemOpts.items) {
+                               items = itemOpts.items[index];
+                       } else {
+                               items = jqEl;
+                               if(itemOpts.delegate) {
+                                       items = items.find(itemOpts.delegate);
+                               }
+                               items = items.eq( index );
+                       }
+                       mfp._openClick({mfpEl:items}, jqEl, itemOpts);
+               } else {
+                       if(mfp.isOpen)
+                               mfp[options].apply(mfp, Array.prototype.slice.call(arguments, 1));
+               }
+
+       } else {
+               // clone options obj
+               options = $.extend(true, {}, options);
+               
+               /*
+                * As Zepto doesn't support .data() method for objects 
+                * and it works only in normal browsers
+                * we assign "options" object directly to the DOM element. FTW!
+                */
+               if(_isJQ) {
+                       jqEl.data('magnificPopup', options);
+               } else {
+                       jqEl[0].magnificPopup = options;
+               }
+
+               mfp.addGroup(jqEl, options);
+
+       }
+       return jqEl;
+};
+
+
+//Quick benchmark
+/*
+var start = performance.now(),
+       i,
+       rounds = 1000;
+
+for(i = 0; i < rounds; i++) {
+
+}
+console.log('Test #1:', performance.now() - start);
+
+start = performance.now();
+for(i = 0; i < rounds; i++) {
+
+}
+console.log('Test #2:', performance.now() - start);
+*/
+
+
+/*>>core*/
+
+/*>>inline*/
+
+var INLINE_NS = 'inline',
+       _hiddenClass,
+       _inlinePlaceholder, 
+       _lastInlineElement,
+       _putInlineElementsBack = function() {
+               if(_lastInlineElement) {
+                       _inlinePlaceholder.after( _lastInlineElement.addClass(_hiddenClass) ).detach();
+                       _lastInlineElement = null;
+               }
+       };
+
+$.magnificPopup.registerModule(INLINE_NS, {
+       options: {
+               hiddenClass: 'hide', // will be appended with `mfp-` prefix
+               markup: '',
+               tNotFound: 'Content not found'
+       },
+       proto: {
+
+               initInline: function() {
+                       mfp.types.push(INLINE_NS);
+
+                       _mfpOn(CLOSE_EVENT+'.'+INLINE_NS, function() {
+                               _putInlineElementsBack();
+                       });
+               },
+
+               getInline: function(item, template) {
+
+                       _putInlineElementsBack();
+
+                       if(item.src) {
+                               var inlineSt = mfp.st.inline,
+                                       el = $(item.src);
+
+                               if(el.length) {
+
+                                       // If target element has parent - we replace it with placeholder and put it back after popup is closed
+                                       var parent = el[0].parentNode;
+                                       if(parent && parent.tagName) {
+                                               if(!_inlinePlaceholder) {
+                                                       _hiddenClass = inlineSt.hiddenClass;
+                                                       _inlinePlaceholder = _getEl(_hiddenClass);
+                                                       _hiddenClass = 'mfp-'+_hiddenClass;
+                                               }
+                                               // replace target inline element with placeholder
+                                               _lastInlineElement = el.after(_inlinePlaceholder).detach().removeClass(_hiddenClass);
+                                       }
+
+                                       mfp.updateStatus('ready');
+                               } else {
+                                       mfp.updateStatus('error', inlineSt.tNotFound);
+                                       el = $('<div>');
+                               }
+
+                               item.inlineElement = el;
+                               return el;
+                       }
+
+                       mfp.updateStatus('ready');
+                       mfp._parseMarkup(template, {}, item);
+                       return template;
+               }
+       }
+});
+
+/*>>inline*/
+
+/*>>ajax*/
+var AJAX_NS = 'ajax',
+       _ajaxCur,
+       _removeAjaxCursor = function() {
+               if(_ajaxCur) {
+                       _body.removeClass(_ajaxCur);
+               }
+       },
+       _destroyAjaxRequest = function() {
+               _removeAjaxCursor();
+               if(mfp.req) {
+                       mfp.req.abort();
+               }
+       };
+
+$.magnificPopup.registerModule(AJAX_NS, {
+
+       options: {
+               settings: null,
+               cursor: 'mfp-ajax-cur',
+               tError: '<a href="%url%">The content</a> could not be loaded.'
+       },
+
+       proto: {
+               initAjax: function() {
+                       mfp.types.push(AJAX_NS);
+                       _ajaxCur = mfp.st.ajax.cursor;
+
+                       _mfpOn(CLOSE_EVENT+'.'+AJAX_NS, _destroyAjaxRequest);
+                       _mfpOn('BeforeChange.' + AJAX_NS, _destroyAjaxRequest);
+               },
+               getAjax: function(item) {
+
+                       if(_ajaxCur)
+                               _body.addClass(_ajaxCur);
+
+                       mfp.updateStatus('loading');
+
+                       var opts = $.extend({
+                               url: item.src,
+                               success: function(data, textStatus, jqXHR) {
+                                       var temp = {
+                                               data:data,
+                                               xhr:jqXHR
+                                       };
+
+                                       _mfpTrigger('ParseAjax', temp);
+
+                                       mfp.appendContent( $(temp.data), AJAX_NS );
+
+                                       item.finished = true;
+
+                                       _removeAjaxCursor();
+
+                                       mfp._setFocus();
+
+                                       setTimeout(function() {
+                                               mfp.wrap.addClass(READY_CLASS);
+                                       }, 16);
+
+                                       mfp.updateStatus('ready');
+
+                                       _mfpTrigger('AjaxContentAdded');
+                               },
+                               error: function() {
+                                       _removeAjaxCursor();
+                                       item.finished = item.loadError = true;
+                                       mfp.updateStatus('error', mfp.st.ajax.tError.replace('%url%', item.src));
+                               }
+                       }, mfp.st.ajax.settings);
+
+                       mfp.req = $.ajax(opts);
+
+                       return '';
+               }
+       }
+});
+
+
+
+
+
+       
+
+/*>>ajax*/
+
+/*>>image*/
+var _imgInterval,
+       _getTitle = function(item) {
+               if(item.data && item.data.title !== undefined) 
+                       return item.data.title;
+
+               var src = mfp.st.image.titleSrc;
+
+               if(src) {
+                       if($.isFunction(src)) {
+                               return src.call(mfp, item);
+                       } else if(item.el) {
+                               return item.el.attr(src) || '';
+                       }
+               }
+               return '';
+       };
+
+$.magnificPopup.registerModule('image', {
+
+       options: {
+               markup: '<div class="mfp-figure">'+
+                                       '<div class="mfp-close"></div>'+
+                                       '<figure>'+
+                                               '<div class="mfp-img"></div>'+
+                                               '<figcaption>'+
+                                                       '<div class="mfp-bottom-bar">'+
+                                                               '<div class="mfp-title"></div>'+
+                                                               '<div class="mfp-counter"></div>'+
+                                                       '</div>'+
+                                               '</figcaption>'+
+                                       '</figure>'+
+                               '</div>',
+               cursor: 'mfp-zoom-out-cur',
+               titleSrc: 'title', 
+               verticalFit: true,
+               tError: '<a href="%url%">The image</a> could not be loaded.'
+       },
+
+       proto: {
+               initImage: function() {
+                       var imgSt = mfp.st.image,
+                               ns = '.image';
+
+                       mfp.types.push('image');
+
+                       _mfpOn(OPEN_EVENT+ns, function() {
+                               if(mfp.currItem.type === 'image' && imgSt.cursor) {
+                                       _body.addClass(imgSt.cursor);
+                               }
+                       });
+
+                       _mfpOn(CLOSE_EVENT+ns, function() {
+                               if(imgSt.cursor) {
+                                       _body.removeClass(imgSt.cursor);
+                               }
+                               _window.off('resize' + EVENT_NS);
+                       });
+
+                       _mfpOn('Resize'+ns, mfp.resizeImage);
+                       if(mfp.isLowIE) {
+                               _mfpOn('AfterChange', mfp.resizeImage);
+                       }
+               },
+               resizeImage: function() {
+                       var item = mfp.currItem;
+                       if(!item || !item.img) return;
+
+                       if(mfp.st.image.verticalFit) {
+                               var decr = 0;
+                               // fix box-sizing in ie7/8
+                               if(mfp.isLowIE) {
+                                       decr = parseInt(item.img.css('padding-top'), 10) + parseInt(item.img.css('padding-bottom'),10);
+                               }
+                               item.img.css('max-height', mfp.wH-decr);
+                       }
+               },
+               _onImageHasSize: function(item) {
+                       if(item.img) {
+                               
+                               item.hasSize = true;
+
+                               if(_imgInterval) {
+                                       clearInterval(_imgInterval);
+                               }
+                               
+                               item.isCheckingImgSize = false;
+
+                               _mfpTrigger('ImageHasSize', item);
+
+                               if(item.imgHidden) {
+                                       if(mfp.content)
+                                               mfp.content.removeClass('mfp-loading');
+                                       
+                                       item.imgHidden = false;
+                               }
+
+                       }
+               },
+
+               /**
+                * Function that loops until the image has size to display elements that rely on it asap
+                */
+               findImageSize: function(item) {
+
+                       var counter = 0,
+                               img = item.img[0],
+                               mfpSetInterval = function(delay) {
+
+                                       if(_imgInterval) {
+                                               clearInterval(_imgInterval);
+                                       }
+                                       // decelerating interval that checks for size of an image
+                                       _imgInterval = setInterval(function() {
+                                               if(img.naturalWidth > 0) {
+                                                       mfp._onImageHasSize(item);
+                                                       return;
+                                               }
+
+                                               if(counter > 200) {
+                                                       clearInterval(_imgInterval);
+                                               }
+
+                                               counter++;
+                                               if(counter === 3) {
+                                                       mfpSetInterval(10);
+                                               } else if(counter === 40) {
+                                                       mfpSetInterval(50);
+                                               } else if(counter === 100) {
+                                                       mfpSetInterval(500);
+                                               }
+                                       }, delay);
+                               };
+
+                       mfpSetInterval(1);
+               },
+
+               getImage: function(item, template) {
+
+                       var guard = 0,
+
+                               // image load complete handler
+                               onLoadComplete = function() {
+                                       if(item) {
+                                               if (item.img[0].complete) {
+                                                       item.img.off('.mfploader');
+                                                       
+                                                       if(item === mfp.currItem){
+                                                               mfp._onImageHasSize(item);
+
+                                                               mfp.updateStatus('ready');
+                                                       }
+
+                                                       item.hasSize = true;
+                                                       item.loaded = true;
+
+                                                       _mfpTrigger('ImageLoadComplete');
+                                                       
+                                               }
+                                               else {
+                                                       // if image complete check fails 200 times (20 sec), we assume that there was an error.
+                                                       guard++;
+                                                       if(guard < 200) {
+                                                               setTimeout(onLoadComplete,100);
+                                                       } else {
+                                                               onLoadError();
+                                                       }
+                                               }
+                                       }
+                               },
+
+                               // image error handler
+                               onLoadError = function() {
+                                       if(item) {
+                                               item.img.off('.mfploader');
+                                               if(item === mfp.currItem){
+                                                       mfp._onImageHasSize(item);
+                                                       mfp.updateStatus('error', imgSt.tError.replace('%url%', item.src) );
+                                               }
+
+                                               item.hasSize = true;
+                                               item.loaded = true;
+                                               item.loadError = true;
+                                       }
+                               },
+                               imgSt = mfp.st.image;
+
+
+                       var el = template.find('.mfp-img');
+                       if(el.length) {
+                               var img = document.createElement('img');
+                               img.className = 'mfp-img';
+                               item.img = $(img).on('load.mfploader', onLoadComplete).on('error.mfploader', onLoadError);
+                               img.src = item.src;
+
+                               // without clone() "error" event is not firing when IMG is replaced by new IMG
+                               // TODO: find a way to avoid such cloning
+                               if(el.is('img')) {
+                                       item.img = item.img.clone();
+                               }
+
+                               img = item.img[0];
+                               if(img.naturalWidth > 0) {
+                                       item.hasSize = true;
+                               } else if(!img.width) {                                                                         
+                                       item.hasSize = false;
+                               }
+                       }
+
+                       mfp._parseMarkup(template, {
+                               title: _getTitle(item),
+                               img_replaceWith: item.img
+                       }, item);
+
+                       mfp.resizeImage();
+
+                       if(item.hasSize) {
+                               if(_imgInterval) clearInterval(_imgInterval);
+
+                               if(item.loadError) {
+                                       template.addClass('mfp-loading');
+                                       mfp.updateStatus('error', imgSt.tError.replace('%url%', item.src) );
+                               } else {
+                                       template.removeClass('mfp-loading');
+                                       mfp.updateStatus('ready');
+                               }
+                               return template;
+                       }
+
+                       mfp.updateStatus('loading');
+                       item.loading = true;
+
+                       if(!item.hasSize) {
+                               item.imgHidden = true;
+                               template.addClass('mfp-loading');
+                               mfp.findImageSize(item);
+                       } 
+
+                       return template;
+               }
+       }
+});
+
+
+
+/*>>image*/
+
+/*>>zoom*/
+var hasMozTransform,
+       getHasMozTransform = function() {
+               if(hasMozTransform === undefined) {
+                       hasMozTransform = document.createElement('p').style.MozTransform !== undefined;
+               }
+               return hasMozTransform;         
+       };
+
+$.magnificPopup.registerModule('zoom', {
+
+       options: {
+               enabled: false,
+               easing: 'ease-in-out',
+               duration: 300,
+               opener: function(element) {
+                       return element.is('img') ? element : element.find('img');
+               }
+       },
+
+       proto: {
+
+               initZoom: function() {
+                       var zoomSt = mfp.st.zoom,
+                               ns = '.zoom',
+                               image;
+                               
+                       if(!zoomSt.enabled || !mfp.supportsTransition) {
+                               return;
+                       }
+
+                       var duration = zoomSt.duration,
+                               getElToAnimate = function(image) {
+                                       var newImg = image.clone().removeAttr('style').removeAttr('class').addClass('mfp-animated-image'),
+                                               transition = 'all '+(zoomSt.duration/1000)+'s ' + zoomSt.easing,
+                                               cssObj = {
+                                                       position: 'fixed',
+                                                       zIndex: 9999,
+                                                       left: 0,
+                                                       top: 0,
+                                                       '-webkit-backface-visibility': 'hidden'
+                                               },
+                                               t = 'transition';
+
+                                       cssObj['-webkit-'+t] = cssObj['-moz-'+t] = cssObj['-o-'+t] = cssObj[t] = transition;
+
+                                       newImg.css(cssObj);
+                                       return newImg;
+                               },
+                               showMainContent = function() {
+                                       mfp.content.css('visibility', 'visible');
+                               },
+                               openTimeout,
+                               animatedImg;
+
+                       _mfpOn('BuildControls'+ns, function() {
+                               if(mfp._allowZoom()) {
+
+                                       clearTimeout(openTimeout);
+                                       mfp.content.css('visibility', 'hidden');
+
+                                       // Basically, all code below does is clones existing image, puts in on top of the current one and animated it
+                                       
+                                       image = mfp._getItemToZoom();
+
+                                       if(!image) {
+                                               showMainContent();
+                                               return;
+                                       }
+
+                                       animatedImg = getElToAnimate(image); 
+                                       
+                                       animatedImg.css( mfp._getOffset() );
+
+                                       mfp.wrap.append(animatedImg);
+
+                                       openTimeout = setTimeout(function() {
+                                               animatedImg.css( mfp._getOffset( true ) );
+                                               openTimeout = setTimeout(function() {
+
+                                                       showMainContent();
+
+                                                       setTimeout(function() {
+                                                               animatedImg.remove();
+                                                               image = animatedImg = null;
+                                                               _mfpTrigger('ZoomAnimationEnded');
+                                                       }, 16); // avoid blink when switching images 
+
+                                               }, duration); // this timeout equals animation duration
+
+                                       }, 16); // by adding this timeout we avoid short glitch at the beginning of animation
+
+
+                                       // Lots of timeouts...
+                               }
+                       });
+                       _mfpOn(BEFORE_CLOSE_EVENT+ns, function() {
+                               if(mfp._allowZoom()) {
+
+                                       clearTimeout(openTimeout);
+
+                                       mfp.st.removalDelay = duration;
+
+                                       if(!image) {
+                                               image = mfp._getItemToZoom();
+                                               if(!image) {
+                                                       return;
+                                               }
+                                               animatedImg = getElToAnimate(image);
+                                       }
+                                       
+                                       
+                                       animatedImg.css( mfp._getOffset(true) );
+                                       mfp.wrap.append(animatedImg);
+                                       mfp.content.css('visibility', 'hidden');
+                                       
+                                       setTimeout(function() {
+                                               animatedImg.css( mfp._getOffset() );
+                                       }, 16);
+                               }
+
+                       });
+
+                       _mfpOn(CLOSE_EVENT+ns, function() {
+                               if(mfp._allowZoom()) {
+                                       showMainContent();
+                                       if(animatedImg) {
+                                               animatedImg.remove();
+                                       }
+                                       image = null;
+                               }       
+                       });
+               },
+
+               _allowZoom: function() {
+                       return mfp.currItem.type === 'image';
+               },
+
+               _getItemToZoom: function() {
+                       if(mfp.currItem.hasSize) {
+                               return mfp.currItem.img;
+                       } else {
+                               return false;
+                       }
+               },
+
+               // Get element postion relative to viewport
+               _getOffset: function(isLarge) {
+                       var el;
+                       if(isLarge) {
+                               el = mfp.currItem.img;
+                       } else {
+                               el = mfp.st.zoom.opener(mfp.currItem.el || mfp.currItem);
+                       }
+
+                       var offset = el.offset();
+                       var paddingTop = parseInt(el.css('padding-top'),10);
+                       var paddingBottom = parseInt(el.css('padding-bottom'),10);
+                       offset.top -= ( $(window).scrollTop() - paddingTop );
+
+
+                       /*
+                       
+                       Animating left + top + width/height looks glitchy in Firefox, but perfect in Chrome. And vice-versa.
+
+                        */
+                       var obj = {
+                               width: el.width(),
+                               // fix Zepto height+padding issue
+                               height: (_isJQ ? el.innerHeight() : el[0].offsetHeight) - paddingBottom - paddingTop
+                       };
+
+                       // I hate to do this, but there is no another option
+                       if( getHasMozTransform() ) {
+                               obj['-moz-transform'] = obj['transform'] = 'translate(' + offset.left + 'px,' + offset.top + 'px)';
+                       } else {
+                               obj.left = offset.left;
+                               obj.top = offset.top;
+                       }
+                       return obj;
+               }
+
+       }
+});
+
+
+
+/*>>zoom*/
+
+/*>>iframe*/
+
+var IFRAME_NS = 'iframe',
+       _emptyPage = '//about:blank',
+       
+       _fixIframeBugs = function(isShowing) {
+               if(mfp.currTemplate[IFRAME_NS]) {
+                       var el = mfp.currTemplate[IFRAME_NS].find('iframe');
+                       if(el.length) { 
+                               // reset src after the popup is closed to avoid "video keeps playing after popup is closed" bug
+                               if(!isShowing) {
+                                       el[0].src = _emptyPage;
+                               }
+
+                               // IE8 black screen bug fix
+                               if(mfp.isIE8) {
+                                       el.css('display', isShowing ? 'block' : 'none');
+                               }
+                       }
+               }
+       };
+
+$.magnificPopup.registerModule(IFRAME_NS, {
+
+       options: {
+               markup: '<div class="mfp-iframe-scaler">'+
+                                       '<div class="mfp-close"></div>'+
+                                       '<iframe class="mfp-iframe" src="//about:blank" frameborder="0" allowfullscreen></iframe>'+
+                               '</div>',
+
+               srcAction: 'iframe_src',
+
+               // we don't care and support only one default type of URL by default
+               patterns: {
+                       youtube: {
+                               index: 'youtube.com', 
+                               id: 'v=', 
+                               src: '//www.youtube.com/embed/%id%?autoplay=1'
+                       },
+                       vimeo: {
+                               index: 'vimeo.com/',
+                               id: '/',
+                               src: '//player.vimeo.com/video/%id%?autoplay=1'
+                       },
+                       gmaps: {
+                               index: '//maps.google.',
+                               src: '%id%&output=embed'
+                       }
+               }
+       },
+
+       proto: {
+               initIframe: function() {
+                       mfp.types.push(IFRAME_NS);
+
+                       _mfpOn('BeforeChange', function(e, prevType, newType) {
+                               if(prevType !== newType) {
+                                       if(prevType === IFRAME_NS) {
+                                               _fixIframeBugs(); // iframe if removed
+                                       } else if(newType === IFRAME_NS) {
+                                               _fixIframeBugs(true); // iframe is showing
+                                       } 
+                               }// else {
+                                       // iframe source is switched, don't do anything
+                               //}
+                       });
+
+                       _mfpOn(CLOSE_EVENT + '.' + IFRAME_NS, function() {
+                               _fixIframeBugs();
+                       });
+               },
+
+               getIframe: function(item, template) {
+                       var embedSrc = item.src;
+                       var iframeSt = mfp.st.iframe;
+                               
+                       $.each(iframeSt.patterns, function() {
+                               if(embedSrc.indexOf( this.index ) > -1) {
+                                       if(this.id) {
+                                               if(typeof this.id === 'string') {
+                                                       embedSrc = embedSrc.substr(embedSrc.lastIndexOf(this.id)+this.id.length, embedSrc.length);
+                                               } else {
+                                                       embedSrc = this.id.call( this, embedSrc );
+                                               }
+                                       }
+                                       embedSrc = this.src.replace('%id%', embedSrc );
+                                       return false; // break;
+                               }
+                       });
+                       
+                       var dataObj = {};
+                       if(iframeSt.srcAction) {
+                               dataObj[iframeSt.srcAction] = embedSrc;
+                       }
+                       mfp._parseMarkup(template, dataObj, item);
+
+                       mfp.updateStatus('ready');
+
+                       return template;
+               }
+       }
+});
+
+
+
+/*>>iframe*/
+
+/*>>gallery*/
+/**
+ * Get looped index depending on number of slides
+ */
+var _getLoopedId = function(index) {
+               var numSlides = mfp.items.length;
+               if(index > numSlides - 1) {
+                       return index - numSlides;
+               } else  if(index < 0) {
+                       return numSlides + index;
+               }
+               return index;
+       },
+       _replaceCurrTotal = function(text, curr, total) {
+               return text.replace(/%curr%/gi, curr + 1).replace(/%total%/gi, total);
+       };
+
+$.magnificPopup.registerModule('gallery', {
+
+       options: {
+               enabled: false,
+               arrowMarkup: '<button title="%title%" type="button" class="mfp-arrow mfp-arrow-%dir%"></button>',
+               preload: [0,2],
+               navigateByImgClick: true,
+               arrows: true,
+
+               tPrev: 'Previous (Left arrow key)',
+               tNext: 'Next (Right arrow key)',
+               tCounter: '%curr% of %total%'
+       },
+
+       proto: {
+               initGallery: function() {
+
+                       var gSt = mfp.st.gallery,
+                               ns = '.mfp-gallery',
+                               supportsFastClick = Boolean($.fn.mfpFastClick);
+
+                       mfp.direction = true; // true - next, false - prev
+                       
+                       if(!gSt || !gSt.enabled ) return false;
+
+                       _wrapClasses += ' mfp-gallery';
+
+                       _mfpOn(OPEN_EVENT+ns, function() {
+
+                               if(gSt.navigateByImgClick) {
+                                       mfp.wrap.on('click'+ns, '.mfp-img', function() {
+                                               if(mfp.items.length > 1) {
+                                                       mfp.next();
+                                                       return false;
+                                               }
+                                       });
+                               }
+
+                               _document.on('keydown'+ns, function(e) {
+                                       if (e.keyCode === 37) {
+                                               mfp.prev();
+                                       } else if (e.keyCode === 39) {
+                                               mfp.next();
+                                       }
+                               });
+                       });
+
+                       _mfpOn('UpdateStatus'+ns, function(e, data) {
+                               if(data.text) {
+                                       data.text = _replaceCurrTotal(data.text, mfp.currItem.index, mfp.items.length);
+                               }
+                       });
+
+                       _mfpOn(MARKUP_PARSE_EVENT+ns, function(e, element, values, item) {
+                               var l = mfp.items.length;
+                               values.counter = l > 1 ? _replaceCurrTotal(gSt.tCounter, item.index, l) : '';
+                       });
+
+                       _mfpOn('BuildControls' + ns, function() {
+                               if(mfp.items.length > 1 && gSt.arrows && !mfp.arrowLeft) {
+                                       var markup = gSt.arrowMarkup,
+                                               arrowLeft = mfp.arrowLeft = $( markup.replace(/%title%/gi, gSt.tPrev).replace(/%dir%/gi, 'left') ).addClass(PREVENT_CLOSE_CLASS),                       
+                                               arrowRight = mfp.arrowRight = $( markup.replace(/%title%/gi, gSt.tNext).replace(/%dir%/gi, 'right') ).addClass(PREVENT_CLOSE_CLASS);
+
+                                       var eName = supportsFastClick ? 'mfpFastClick' : 'click';
+                                       arrowLeft[eName](function() {
+                                               mfp.prev();
+                                       });                     
+                                       arrowRight[eName](function() {
+                                               mfp.next();
+                                       });     
+
+                                       // Polyfill for :before and :after (adds elements with classes mfp-a and mfp-b)
+                                       if(mfp.isIE7) {
+                                               _getEl('b', arrowLeft[0], false, true);
+                                               _getEl('a', arrowLeft[0], false, true);
+                                               _getEl('b', arrowRight[0], false, true);
+                                               _getEl('a', arrowRight[0], false, true);
+                                       }
+
+                                       mfp.container.append(arrowLeft.add(arrowRight));
+                               }
+                       });
+
+                       _mfpOn(CHANGE_EVENT+ns, function() {
+                               if(mfp._preloadTimeout) clearTimeout(mfp._preloadTimeout);
+
+                               mfp._preloadTimeout = setTimeout(function() {
+                                       mfp.preloadNearbyImages();
+                                       mfp._preloadTimeout = null;
+                               }, 16);         
+                       });
+
+
+                       _mfpOn(CLOSE_EVENT+ns, function() {
+                               _document.off(ns);
+                               mfp.wrap.off('click'+ns);
+                       
+                               if(mfp.arrowLeft && supportsFastClick) {
+                                       mfp.arrowLeft.add(mfp.arrowRight).destroyMfpFastClick();
+                               }
+                               mfp.arrowRight = mfp.arrowLeft = null;
+                       });
+
+               }, 
+               next: function() {
+                       mfp.direction = true;
+                       mfp.index = _getLoopedId(mfp.index + 1);
+                       mfp.updateItemHTML();
+               },
+               prev: function() {
+                       mfp.direction = false;
+                       mfp.index = _getLoopedId(mfp.index - 1);
+                       mfp.updateItemHTML();
+               },
+               goTo: function(newIndex) {
+                       mfp.direction = (newIndex >= mfp.index);
+                       mfp.index = newIndex;
+                       mfp.updateItemHTML();
+               },
+               preloadNearbyImages: function() {
+                       var p = mfp.st.gallery.preload,
+                               preloadBefore = Math.min(p[0], mfp.items.length),
+                               preloadAfter = Math.min(p[1], mfp.items.length),
+                               i;
+
+                       for(i = 1; i <= (mfp.direction ? preloadAfter : preloadBefore); i++) {
+                               mfp._preloadItem(mfp.index+i);
+                       }
+                       for(i = 1; i <= (mfp.direction ? preloadBefore : preloadAfter); i++) {
+                               mfp._preloadItem(mfp.index-i);
+                       }
+               },
+               _preloadItem: function(index) {
+                       index = _getLoopedId(index);
+
+                       if(mfp.items[index].preloaded) {
+                               return;
+                       }
+
+                       var item = mfp.items[index];
+                       if(!item.parsed) {
+                               item = mfp.parseEl( index );
+                       }
+
+                       _mfpTrigger('LazyLoad', item);
+
+                       if(item.type === 'image') {
+                               item.img = $('<img class="mfp-img" />').on('load.mfploader', function() {
+                                       item.hasSize = true;
+                               }).on('error.mfploader', function() {
+                                       item.hasSize = true;
+                                       item.loadError = true;
+                                       _mfpTrigger('LazyLoadError', item);
+                               }).attr('src', item.src);
+                       }
+
+
+                       item.preloaded = true;
+               }
+       }
+});
+
+/*
+Touch Support that might be implemented some day
+
+addSwipeGesture: function() {
+       var startX,
+               moved,
+               multipleTouches;
+
+               return;
+
+       var namespace = '.mfp',
+               addEventNames = function(pref, down, move, up, cancel) {
+                       mfp._tStart = pref + down + namespace;
+                       mfp._tMove = pref + move + namespace;
+                       mfp._tEnd = pref + up + namespace;
+                       mfp._tCancel = pref + cancel + namespace;
+               };
+
+       if(window.navigator.msPointerEnabled) {
+               addEventNames('MSPointer', 'Down', 'Move', 'Up', 'Cancel');
+       } else if('ontouchstart' in window) {
+               addEventNames('touch', 'start', 'move', 'end', 'cancel');
+       } else {
+               return;
+       }
+       _window.on(mfp._tStart, function(e) {
+               var oE = e.originalEvent;
+               multipleTouches = moved = false;
+               startX = oE.pageX || oE.changedTouches[0].pageX;
+       }).on(mfp._tMove, function(e) {
+               if(e.originalEvent.touches.length > 1) {
+                       multipleTouches = e.originalEvent.touches.length;
+               } else {
+                       //e.preventDefault();
+                       moved = true;
+               }
+       }).on(mfp._tEnd + ' ' + mfp._tCancel, function(e) {
+               if(moved && !multipleTouches) {
+                       var oE = e.originalEvent,
+                               diff = startX - (oE.pageX || oE.changedTouches[0].pageX);
+
+                       if(diff > 20) {
+                               mfp.next();
+                       } else if(diff < -20) {
+                               mfp.prev();
+                       }
+               }
+       });
+},
+*/
+
+
+/*>>gallery*/
+
+/*>>retina*/
+
+var RETINA_NS = 'retina';
+
+$.magnificPopup.registerModule(RETINA_NS, {
+       options: {
+               replaceSrc: function(item) {
+                       return item.src.replace(/\.\w+$/, function(m) { return '@2x' + m; });
+               },
+               ratio: 1 // Function or number.  Set to 1 to disable.
+       },
+       proto: {
+               initRetina: function() {
+                       if(window.devicePixelRatio > 1) {
+
+                               var st = mfp.st.retina,
+                                       ratio = st.ratio;
+
+                               ratio = !isNaN(ratio) ? ratio : ratio();
+
+                               if(ratio > 1) {
+                                       _mfpOn('ImageHasSize' + '.' + RETINA_NS, function(e, item) {
+                                               item.img.css({
+                                                       'max-width': item.img[0].naturalWidth / ratio,
+                                                       'width': '100%'
+                                               });
+                                       });
+                                       _mfpOn('ElementParse' + '.' + RETINA_NS, function(e, item) {
+                                               item.src = st.replaceSrc(item, ratio);
+                                       });
+                               }
+                       }
+
+               }
+       }
+});
+
+/*>>retina*/
+
+/*>>fastclick*/
+/**
+ * FastClick event implementation. (removes 300ms delay on touch devices)
+ * Based on https://developers.google.com/mobile/articles/fast_buttons
+ *
+ * You may use it outside the Magnific Popup by calling just:
+ *
+ * $('.your-el').mfpFastClick(function() {
+ *     console.log('Clicked!');
+ * });
+ *
+ * To unbind:
+ * $('.your-el').destroyMfpFastClick();
+ * 
+ * 
+ * Note that it's a very basic and simple implementation, it blocks ghost click on the same element where it was bound.
+ * If you need something more advanced, use plugin by FT Labs https://github.com/ftlabs/fastclick
+ * 
+ */
+
+(function() {
+       var ghostClickDelay = 1000,
+               supportsTouch = 'ontouchstart' in window,
+               unbindTouchMove = function() {
+                       _window.off('touchmove'+ns+' touchend'+ns);
+               },
+               eName = 'mfpFastClick',
+               ns = '.'+eName;
+
+
+       // As Zepto.js doesn't have an easy way to add custom events (like jQuery), so we implement it in this way
+       $.fn.mfpFastClick = function(callback) {
+
+               return $(this).each(function() {
+
+                       var elem = $(this),
+                               lock;
+
+                       if( supportsTouch ) {
+
+                               var timeout,
+                                       startX,
+                                       startY,
+                                       pointerMoved,
+                                       point,
+                                       numPointers;
+
+                               elem.on('touchstart' + ns, function(e) {
+                                       pointerMoved = false;
+                                       numPointers = 1;
+
+                                       point = e.originalEvent ? e.originalEvent.touches[0] : e.touches[0];
+                                       startX = point.clientX;
+                                       startY = point.clientY;
+
+                                       _window.on('touchmove'+ns, function(e) {
+                                               point = e.originalEvent ? e.originalEvent.touches : e.touches;
+                                               numPointers = point.length;
+                                               point = point[0];
+                                               if (Math.abs(point.clientX - startX) > 10 ||
+                                                       Math.abs(point.clientY - startY) > 10) {
+                                                       pointerMoved = true;
+                                                       unbindTouchMove();
+                                               }
+                                       }).on('touchend'+ns, function(e) {
+                                               unbindTouchMove();
+                                               if(pointerMoved || numPointers > 1) {
+                                                       return;
+                                               }
+                                               lock = true;
+                                               e.preventDefault();
+                                               clearTimeout(timeout);
+                                               timeout = setTimeout(function() {
+                                                       lock = false;
+                                               }, ghostClickDelay);
+                                               callback();
+                                       });
+                               });
+
+                       }
+
+                       elem.on('click' + ns, function() {
+                               if(!lock) {
+                                       callback();
+                               }
+                       });
+               });
+       };
+
+       $.fn.destroyMfpFastClick = function() {
+               $(this).off('touchstart' + ns + ' click' + ns);
+               if(supportsTouch) _window.off('touchmove'+ns+' touchend'+ns);
+       };
+})();
+
+/*>>fastclick*/
+ _checkInstance(); })(window.jQuery || window.Zepto);
\ No newline at end of file
diff --git a/templates/shop-isle/assets/js/vendor/jquery.magnific-popup.min.js b/templates/shop-isle/assets/js/vendor/jquery.magnific-popup.min.js
new file mode 100644 (file)
index 0000000..cf1f26d
--- /dev/null
@@ -0,0 +1,4 @@
+/*! Magnific Popup - v0.9.9 - 2013-12-27
+* http://dimsemenov.com/plugins/magnific-popup/
+* Copyright (c) 2013 Dmitry Semenov; */
+(function(e){var t,n,i,o,r,a,s,l="Close",c="BeforeClose",d="AfterClose",u="BeforeAppend",p="MarkupParse",f="Open",m="Change",g="mfp",h="."+g,v="mfp-ready",C="mfp-removing",y="mfp-prevent-close",w=function(){},b=!!window.jQuery,I=e(window),x=function(e,n){t.ev.on(g+e+h,n)},k=function(t,n,i,o){var r=document.createElement("div");return r.className="mfp-"+t,i&&(r.innerHTML=i),o?n&&n.appendChild(r):(r=e(r),n&&r.appendTo(n)),r},T=function(n,i){t.ev.triggerHandler(g+n,i),t.st.callbacks&&(n=n.charAt(0).toLowerCase()+n.slice(1),t.st.callbacks[n]&&t.st.callbacks[n].apply(t,e.isArray(i)?i:[i]))},E=function(n){return n===s&&t.currTemplate.closeBtn||(t.currTemplate.closeBtn=e(t.st.closeMarkup.replace("%title%",t.st.tClose)),s=n),t.currTemplate.closeBtn},_=function(){e.magnificPopup.instance||(t=new w,t.init(),e.magnificPopup.instance=t)},S=function(){var e=document.createElement("p").style,t=["ms","O","Moz","Webkit"];if(void 0!==e.transition)return!0;for(;t.length;)if(t.pop()+"Transition"in e)return!0;return!1};w.prototype={constructor:w,init:function(){var n=navigator.appVersion;t.isIE7=-1!==n.indexOf("MSIE 7."),t.isIE8=-1!==n.indexOf("MSIE 8."),t.isLowIE=t.isIE7||t.isIE8,t.isAndroid=/android/gi.test(n),t.isIOS=/iphone|ipad|ipod/gi.test(n),t.supportsTransition=S(),t.probablyMobile=t.isAndroid||t.isIOS||/(Opera Mini)|Kindle|webOS|BlackBerry|(Opera Mobi)|(Windows Phone)|IEMobile/i.test(navigator.userAgent),o=e(document),t.popupsCache={}},open:function(n){i||(i=e(document.body));var r;if(n.isObj===!1){t.items=n.items.toArray(),t.index=0;var s,l=n.items;for(r=0;l.length>r;r++)if(s=l[r],s.parsed&&(s=s.el[0]),s===n.el[0]){t.index=r;break}}else t.items=e.isArray(n.items)?n.items:[n.items],t.index=n.index||0;if(t.isOpen)return t.updateItemHTML(),void 0;t.types=[],a="",t.ev=n.mainEl&&n.mainEl.length?n.mainEl.eq(0):o,n.key?(t.popupsCache[n.key]||(t.popupsCache[n.key]={}),t.currTemplate=t.popupsCache[n.key]):t.currTemplate={},t.st=e.extend(!0,{},e.magnificPopup.defaults,n),t.fixedContentPos="auto"===t.st.fixedContentPos?!t.probablyMobile:t.st.fixedContentPos,t.st.modal&&(t.st.closeOnContentClick=!1,t.st.closeOnBgClick=!1,t.st.showCloseBtn=!1,t.st.enableEscapeKey=!1),t.bgOverlay||(t.bgOverlay=k("bg").on("click"+h,function(){t.close()}),t.wrap=k("wrap").attr("tabindex",-1).on("click"+h,function(e){t._checkIfClose(e.target)&&t.close()}),t.container=k("container",t.wrap)),t.contentContainer=k("content"),t.st.preloader&&(t.preloader=k("preloader",t.container,t.st.tLoading));var c=e.magnificPopup.modules;for(r=0;c.length>r;r++){var d=c[r];d=d.charAt(0).toUpperCase()+d.slice(1),t["init"+d].call(t)}T("BeforeOpen"),t.st.showCloseBtn&&(t.st.closeBtnInside?(x(p,function(e,t,n,i){n.close_replaceWith=E(i.type)}),a+=" mfp-close-btn-in"):t.wrap.append(E())),t.st.alignTop&&(a+=" mfp-align-top"),t.fixedContentPos?t.wrap.css({overflow:t.st.overflowY,overflowX:"hidden",overflowY:t.st.overflowY}):t.wrap.css({top:I.scrollTop(),position:"absolute"}),(t.st.fixedBgPos===!1||"auto"===t.st.fixedBgPos&&!t.fixedContentPos)&&t.bgOverlay.css({height:o.height(),position:"absolute"}),t.st.enableEscapeKey&&o.on("keyup"+h,function(e){27===e.keyCode&&t.close()}),I.on("resize"+h,function(){t.updateSize()}),t.st.closeOnContentClick||(a+=" mfp-auto-cursor"),a&&t.wrap.addClass(a);var u=t.wH=I.height(),m={};if(t.fixedContentPos&&t._hasScrollBar(u)){var g=t._getScrollbarSize();g&&(m.marginRight=g)}t.fixedContentPos&&(t.isIE7?e("body, html").css("overflow","hidden"):m.overflow="hidden");var C=t.st.mainClass;return t.isIE7&&(C+=" mfp-ie7"),C&&t._addClassToMFP(C),t.updateItemHTML(),T("BuildControls"),e("html").css(m),t.bgOverlay.add(t.wrap).prependTo(t.st.prependTo||i),t._lastFocusedEl=document.activeElement,setTimeout(function(){t.content?(t._addClassToMFP(v),t._setFocus()):t.bgOverlay.addClass(v),o.on("focusin"+h,t._onFocusIn)},16),t.isOpen=!0,t.updateSize(u),T(f),n},close:function(){t.isOpen&&(T(c),t.isOpen=!1,t.st.removalDelay&&!t.isLowIE&&t.supportsTransition?(t._addClassToMFP(C),setTimeout(function(){t._close()},t.st.removalDelay)):t._close())},_close:function(){T(l);var n=C+" "+v+" ";if(t.bgOverlay.detach(),t.wrap.detach(),t.container.empty(),t.st.mainClass&&(n+=t.st.mainClass+" "),t._removeClassFromMFP(n),t.fixedContentPos){var i={marginRight:""};t.isIE7?e("body, html").css("overflow",""):i.overflow="",e("html").css(i)}o.off("keyup"+h+" focusin"+h),t.ev.off(h),t.wrap.attr("class","mfp-wrap").removeAttr("style"),t.bgOverlay.attr("class","mfp-bg"),t.container.attr("class","mfp-container"),!t.st.showCloseBtn||t.st.closeBtnInside&&t.currTemplate[t.currItem.type]!==!0||t.currTemplate.closeBtn&&t.currTemplate.closeBtn.detach(),t._lastFocusedEl&&e(t._lastFocusedEl).focus(),t.currItem=null,t.content=null,t.currTemplate=null,t.prevHeight=0,T(d)},updateSize:function(e){if(t.isIOS){var n=document.documentElement.clientWidth/window.innerWidth,i=window.innerHeight*n;t.wrap.css("height",i),t.wH=i}else t.wH=e||I.height();t.fixedContentPos||t.wrap.css("height",t.wH),T("Resize")},updateItemHTML:function(){var n=t.items[t.index];t.contentContainer.detach(),t.content&&t.content.detach(),n.parsed||(n=t.parseEl(t.index));var i=n.type;if(T("BeforeChange",[t.currItem?t.currItem.type:"",i]),t.currItem=n,!t.currTemplate[i]){var o=t.st[i]?t.st[i].markup:!1;T("FirstMarkupParse",o),t.currTemplate[i]=o?e(o):!0}r&&r!==n.type&&t.container.removeClass("mfp-"+r+"-holder");var a=t["get"+i.charAt(0).toUpperCase()+i.slice(1)](n,t.currTemplate[i]);t.appendContent(a,i),n.preloaded=!0,T(m,n),r=n.type,t.container.prepend(t.contentContainer),T("AfterChange")},appendContent:function(e,n){t.content=e,e?t.st.showCloseBtn&&t.st.closeBtnInside&&t.currTemplate[n]===!0?t.content.find(".mfp-close").length||t.content.append(E()):t.content=e:t.content="",T(u),t.container.addClass("mfp-"+n+"-holder"),t.contentContainer.append(t.content)},parseEl:function(n){var i,o=t.items[n];if(o.tagName?o={el:e(o)}:(i=o.type,o={data:o,src:o.src}),o.el){for(var r=t.types,a=0;r.length>a;a++)if(o.el.hasClass("mfp-"+r[a])){i=r[a];break}o.src=o.el.attr("data-mfp-src"),o.src||(o.src=o.el.attr("href"))}return o.type=i||t.st.type||"inline",o.index=n,o.parsed=!0,t.items[n]=o,T("ElementParse",o),t.items[n]},addGroup:function(e,n){var i=function(i){i.mfpEl=this,t._openClick(i,e,n)};n||(n={});var o="click.magnificPopup";n.mainEl=e,n.items?(n.isObj=!0,e.off(o).on(o,i)):(n.isObj=!1,n.delegate?e.off(o).on(o,n.delegate,i):(n.items=e,e.off(o).on(o,i)))},_openClick:function(n,i,o){var r=void 0!==o.midClick?o.midClick:e.magnificPopup.defaults.midClick;if(r||2!==n.which&&!n.ctrlKey&&!n.metaKey){var a=void 0!==o.disableOn?o.disableOn:e.magnificPopup.defaults.disableOn;if(a)if(e.isFunction(a)){if(!a.call(t))return!0}else if(a>I.width())return!0;n.type&&(n.preventDefault(),t.isOpen&&n.stopPropagation()),o.el=e(n.mfpEl),o.delegate&&(o.items=i.find(o.delegate)),t.open(o)}},updateStatus:function(e,i){if(t.preloader){n!==e&&t.container.removeClass("mfp-s-"+n),i||"loading"!==e||(i=t.st.tLoading);var o={status:e,text:i};T("UpdateStatus",o),e=o.status,i=o.text,t.preloader.html(i),t.preloader.find("a").on("click",function(e){e.stopImmediatePropagation()}),t.container.addClass("mfp-s-"+e),n=e}},_checkIfClose:function(n){if(!e(n).hasClass(y)){var i=t.st.closeOnContentClick,o=t.st.closeOnBgClick;if(i&&o)return!0;if(!t.content||e(n).hasClass("mfp-close")||t.preloader&&n===t.preloader[0])return!0;if(n===t.content[0]||e.contains(t.content[0],n)){if(i)return!0}else if(o&&e.contains(document,n))return!0;return!1}},_addClassToMFP:function(e){t.bgOverlay.addClass(e),t.wrap.addClass(e)},_removeClassFromMFP:function(e){this.bgOverlay.removeClass(e),t.wrap.removeClass(e)},_hasScrollBar:function(e){return(t.isIE7?o.height():document.body.scrollHeight)>(e||I.height())},_setFocus:function(){(t.st.focus?t.content.find(t.st.focus).eq(0):t.wrap).focus()},_onFocusIn:function(n){return n.target===t.wrap[0]||e.contains(t.wrap[0],n.target)?void 0:(t._setFocus(),!1)},_parseMarkup:function(t,n,i){var o;i.data&&(n=e.extend(i.data,n)),T(p,[t,n,i]),e.each(n,function(e,n){if(void 0===n||n===!1)return!0;if(o=e.split("_"),o.length>1){var i=t.find(h+"-"+o[0]);if(i.length>0){var r=o[1];"replaceWith"===r?i[0]!==n[0]&&i.replaceWith(n):"img"===r?i.is("img")?i.attr("src",n):i.replaceWith('<img src="'+n+'" class="'+i.attr("class")+'" />'):i.attr(o[1],n)}}else t.find(h+"-"+e).html(n)})},_getScrollbarSize:function(){if(void 0===t.scrollbarSize){var e=document.createElement("div");e.id="mfp-sbm",e.style.cssText="width: 99px; height: 99px; overflow: scroll; position: absolute; top: -9999px;",document.body.appendChild(e),t.scrollbarSize=e.offsetWidth-e.clientWidth,document.body.removeChild(e)}return t.scrollbarSize}},e.magnificPopup={instance:null,proto:w.prototype,modules:[],open:function(t,n){return _(),t=t?e.extend(!0,{},t):{},t.isObj=!0,t.index=n||0,this.instance.open(t)},close:function(){return e.magnificPopup.instance&&e.magnificPopup.instance.close()},registerModule:function(t,n){n.options&&(e.magnificPopup.defaults[t]=n.options),e.extend(this.proto,n.proto),this.modules.push(t)},defaults:{disableOn:0,key:null,midClick:!1,mainClass:"",preloader:!0,focus:"",closeOnContentClick:!1,closeOnBgClick:!0,closeBtnInside:!0,showCloseBtn:!0,enableEscapeKey:!0,modal:!1,alignTop:!1,removalDelay:0,prependTo:null,fixedContentPos:"auto",fixedBgPos:"auto",overflowY:"auto",closeMarkup:'<button title="%title%" type="button" class="mfp-close">&times;</button>',tClose:"Close (Esc)",tLoading:"Loading..."}},e.fn.magnificPopup=function(n){_();var i=e(this);if("string"==typeof n)if("open"===n){var o,r=b?i.data("magnificPopup"):i[0].magnificPopup,a=parseInt(arguments[1],10)||0;r.items?o=r.items[a]:(o=i,r.delegate&&(o=o.find(r.delegate)),o=o.eq(a)),t._openClick({mfpEl:o},i,r)}else t.isOpen&&t[n].apply(t,Array.prototype.slice.call(arguments,1));else n=e.extend(!0,{},n),b?i.data("magnificPopup",n):i[0].magnificPopup=n,t.addGroup(i,n);return i};var P,O,z,M="inline",B=function(){z&&(O.after(z.addClass(P)).detach(),z=null)};e.magnificPopup.registerModule(M,{options:{hiddenClass:"hide",markup:"",tNotFound:"Content not found"},proto:{initInline:function(){t.types.push(M),x(l+"."+M,function(){B()})},getInline:function(n,i){if(B(),n.src){var o=t.st.inline,r=e(n.src);if(r.length){var a=r[0].parentNode;a&&a.tagName&&(O||(P=o.hiddenClass,O=k(P),P="mfp-"+P),z=r.after(O).detach().removeClass(P)),t.updateStatus("ready")}else t.updateStatus("error",o.tNotFound),r=e("<div>");return n.inlineElement=r,r}return t.updateStatus("ready"),t._parseMarkup(i,{},n),i}}});var F,H="ajax",L=function(){F&&i.removeClass(F)},A=function(){L(),t.req&&t.req.abort()};e.magnificPopup.registerModule(H,{options:{settings:null,cursor:"mfp-ajax-cur",tError:'<a href="%url%">The content</a> could not be loaded.'},proto:{initAjax:function(){t.types.push(H),F=t.st.ajax.cursor,x(l+"."+H,A),x("BeforeChange."+H,A)},getAjax:function(n){F&&i.addClass(F),t.updateStatus("loading");var o=e.extend({url:n.src,success:function(i,o,r){var a={data:i,xhr:r};T("ParseAjax",a),t.appendContent(e(a.data),H),n.finished=!0,L(),t._setFocus(),setTimeout(function(){t.wrap.addClass(v)},16),t.updateStatus("ready"),T("AjaxContentAdded")},error:function(){L(),n.finished=n.loadError=!0,t.updateStatus("error",t.st.ajax.tError.replace("%url%",n.src))}},t.st.ajax.settings);return t.req=e.ajax(o),""}}});var j,N=function(n){if(n.data&&void 0!==n.data.title)return n.data.title;var i=t.st.image.titleSrc;if(i){if(e.isFunction(i))return i.call(t,n);if(n.el)return n.el.attr(i)||""}return""};e.magnificPopup.registerModule("image",{options:{markup:'<div class="mfp-figure"><div class="mfp-close"></div><figure><div class="mfp-img"></div><figcaption><div class="mfp-bottom-bar"><div class="mfp-title"></div><div class="mfp-counter"></div></div></figcaption></figure></div>',cursor:"mfp-zoom-out-cur",titleSrc:"title",verticalFit:!0,tError:'<a href="%url%">The image</a> could not be loaded.'},proto:{initImage:function(){var e=t.st.image,n=".image";t.types.push("image"),x(f+n,function(){"image"===t.currItem.type&&e.cursor&&i.addClass(e.cursor)}),x(l+n,function(){e.cursor&&i.removeClass(e.cursor),I.off("resize"+h)}),x("Resize"+n,t.resizeImage),t.isLowIE&&x("AfterChange",t.resizeImage)},resizeImage:function(){var e=t.currItem;if(e&&e.img&&t.st.image.verticalFit){var n=0;t.isLowIE&&(n=parseInt(e.img.css("padding-top"),10)+parseInt(e.img.css("padding-bottom"),10)),e.img.css("max-height",t.wH-n)}},_onImageHasSize:function(e){e.img&&(e.hasSize=!0,j&&clearInterval(j),e.isCheckingImgSize=!1,T("ImageHasSize",e),e.imgHidden&&(t.content&&t.content.removeClass("mfp-loading"),e.imgHidden=!1))},findImageSize:function(e){var n=0,i=e.img[0],o=function(r){j&&clearInterval(j),j=setInterval(function(){return i.naturalWidth>0?(t._onImageHasSize(e),void 0):(n>200&&clearInterval(j),n++,3===n?o(10):40===n?o(50):100===n&&o(500),void 0)},r)};o(1)},getImage:function(n,i){var o=0,r=function(){n&&(n.img[0].complete?(n.img.off(".mfploader"),n===t.currItem&&(t._onImageHasSize(n),t.updateStatus("ready")),n.hasSize=!0,n.loaded=!0,T("ImageLoadComplete")):(o++,200>o?setTimeout(r,100):a()))},a=function(){n&&(n.img.off(".mfploader"),n===t.currItem&&(t._onImageHasSize(n),t.updateStatus("error",s.tError.replace("%url%",n.src))),n.hasSize=!0,n.loaded=!0,n.loadError=!0)},s=t.st.image,l=i.find(".mfp-img");if(l.length){var c=document.createElement("img");c.className="mfp-img",n.img=e(c).on("load.mfploader",r).on("error.mfploader",a),c.src=n.src,l.is("img")&&(n.img=n.img.clone()),c=n.img[0],c.naturalWidth>0?n.hasSize=!0:c.width||(n.hasSize=!1)}return t._parseMarkup(i,{title:N(n),img_replaceWith:n.img},n),t.resizeImage(),n.hasSize?(j&&clearInterval(j),n.loadError?(i.addClass("mfp-loading"),t.updateStatus("error",s.tError.replace("%url%",n.src))):(i.removeClass("mfp-loading"),t.updateStatus("ready")),i):(t.updateStatus("loading"),n.loading=!0,n.hasSize||(n.imgHidden=!0,i.addClass("mfp-loading"),t.findImageSize(n)),i)}}});var W,R=function(){return void 0===W&&(W=void 0!==document.createElement("p").style.MozTransform),W};e.magnificPopup.registerModule("zoom",{options:{enabled:!1,easing:"ease-in-out",duration:300,opener:function(e){return e.is("img")?e:e.find("img")}},proto:{initZoom:function(){var e,n=t.st.zoom,i=".zoom";if(n.enabled&&t.supportsTransition){var o,r,a=n.duration,s=function(e){var t=e.clone().removeAttr("style").removeAttr("class").addClass("mfp-animated-image"),i="all "+n.duration/1e3+"s "+n.easing,o={position:"fixed",zIndex:9999,left:0,top:0,"-webkit-backface-visibility":"hidden"},r="transition";return o["-webkit-"+r]=o["-moz-"+r]=o["-o-"+r]=o[r]=i,t.css(o),t},d=function(){t.content.css("visibility","visible")};x("BuildControls"+i,function(){if(t._allowZoom()){if(clearTimeout(o),t.content.css("visibility","hidden"),e=t._getItemToZoom(),!e)return d(),void 0;r=s(e),r.css(t._getOffset()),t.wrap.append(r),o=setTimeout(function(){r.css(t._getOffset(!0)),o=setTimeout(function(){d(),setTimeout(function(){r.remove(),e=r=null,T("ZoomAnimationEnded")},16)},a)},16)}}),x(c+i,function(){if(t._allowZoom()){if(clearTimeout(o),t.st.removalDelay=a,!e){if(e=t._getItemToZoom(),!e)return;r=s(e)}r.css(t._getOffset(!0)),t.wrap.append(r),t.content.css("visibility","hidden"),setTimeout(function(){r.css(t._getOffset())},16)}}),x(l+i,function(){t._allowZoom()&&(d(),r&&r.remove(),e=null)})}},_allowZoom:function(){return"image"===t.currItem.type},_getItemToZoom:function(){return t.currItem.hasSize?t.currItem.img:!1},_getOffset:function(n){var i;i=n?t.currItem.img:t.st.zoom.opener(t.currItem.el||t.currItem);var o=i.offset(),r=parseInt(i.css("padding-top"),10),a=parseInt(i.css("padding-bottom"),10);o.top-=e(window).scrollTop()-r;var s={width:i.width(),height:(b?i.innerHeight():i[0].offsetHeight)-a-r};return R()?s["-moz-transform"]=s.transform="translate("+o.left+"px,"+o.top+"px)":(s.left=o.left,s.top=o.top),s}}});var Z="iframe",q="//about:blank",D=function(e){if(t.currTemplate[Z]){var n=t.currTemplate[Z].find("iframe");n.length&&(e||(n[0].src=q),t.isIE8&&n.css("display",e?"block":"none"))}};e.magnificPopup.registerModule(Z,{options:{markup:'<div class="mfp-iframe-scaler"><div class="mfp-close"></div><iframe class="mfp-iframe" src="//about:blank" frameborder="0" allowfullscreen></iframe></div>',srcAction:"iframe_src",patterns:{youtube:{index:"youtube.com",id:"v=",src:"//www.youtube.com/embed/%id%?autoplay=1"},vimeo:{index:"vimeo.com/",id:"/",src:"//player.vimeo.com/video/%id%?autoplay=1"},gmaps:{index:"//maps.google.",src:"%id%&output=embed"}}},proto:{initIframe:function(){t.types.push(Z),x("BeforeChange",function(e,t,n){t!==n&&(t===Z?D():n===Z&&D(!0))}),x(l+"."+Z,function(){D()})},getIframe:function(n,i){var o=n.src,r=t.st.iframe;e.each(r.patterns,function(){return o.indexOf(this.index)>-1?(this.id&&(o="string"==typeof this.id?o.substr(o.lastIndexOf(this.id)+this.id.length,o.length):this.id.call(this,o)),o=this.src.replace("%id%",o),!1):void 0});var a={};return r.srcAction&&(a[r.srcAction]=o),t._parseMarkup(i,a,n),t.updateStatus("ready"),i}}});var K=function(e){var n=t.items.length;return e>n-1?e-n:0>e?n+e:e},Y=function(e,t,n){return e.replace(/%curr%/gi,t+1).replace(/%total%/gi,n)};e.magnificPopup.registerModule("gallery",{options:{enabled:!1,arrowMarkup:'<button title="%title%" type="button" class="mfp-arrow mfp-arrow-%dir%"></button>',preload:[0,2],navigateByImgClick:!0,arrows:!0,tPrev:"Previous (Left arrow key)",tNext:"Next (Right arrow key)",tCounter:"%curr% of %total%"},proto:{initGallery:function(){var n=t.st.gallery,i=".mfp-gallery",r=Boolean(e.fn.mfpFastClick);return t.direction=!0,n&&n.enabled?(a+=" mfp-gallery",x(f+i,function(){n.navigateByImgClick&&t.wrap.on("click"+i,".mfp-img",function(){return t.items.length>1?(t.next(),!1):void 0}),o.on("keydown"+i,function(e){37===e.keyCode?t.prev():39===e.keyCode&&t.next()})}),x("UpdateStatus"+i,function(e,n){n.text&&(n.text=Y(n.text,t.currItem.index,t.items.length))}),x(p+i,function(e,i,o,r){var a=t.items.length;o.counter=a>1?Y(n.tCounter,r.index,a):""}),x("BuildControls"+i,function(){if(t.items.length>1&&n.arrows&&!t.arrowLeft){var i=n.arrowMarkup,o=t.arrowLeft=e(i.replace(/%title%/gi,n.tPrev).replace(/%dir%/gi,"left")).addClass(y),a=t.arrowRight=e(i.replace(/%title%/gi,n.tNext).replace(/%dir%/gi,"right")).addClass(y),s=r?"mfpFastClick":"click";o[s](function(){t.prev()}),a[s](function(){t.next()}),t.isIE7&&(k("b",o[0],!1,!0),k("a",o[0],!1,!0),k("b",a[0],!1,!0),k("a",a[0],!1,!0)),t.container.append(o.add(a))}}),x(m+i,function(){t._preloadTimeout&&clearTimeout(t._preloadTimeout),t._preloadTimeout=setTimeout(function(){t.preloadNearbyImages(),t._preloadTimeout=null},16)}),x(l+i,function(){o.off(i),t.wrap.off("click"+i),t.arrowLeft&&r&&t.arrowLeft.add(t.arrowRight).destroyMfpFastClick(),t.arrowRight=t.arrowLeft=null}),void 0):!1},next:function(){t.direction=!0,t.index=K(t.index+1),t.updateItemHTML()},prev:function(){t.direction=!1,t.index=K(t.index-1),t.updateItemHTML()},goTo:function(e){t.direction=e>=t.index,t.index=e,t.updateItemHTML()},preloadNearbyImages:function(){var e,n=t.st.gallery.preload,i=Math.min(n[0],t.items.length),o=Math.min(n[1],t.items.length);for(e=1;(t.direction?o:i)>=e;e++)t._preloadItem(t.index+e);for(e=1;(t.direction?i:o)>=e;e++)t._preloadItem(t.index-e)},_preloadItem:function(n){if(n=K(n),!t.items[n].preloaded){var i=t.items[n];i.parsed||(i=t.parseEl(n)),T("LazyLoad",i),"image"===i.type&&(i.img=e('<img class="mfp-img" />').on("load.mfploader",function(){i.hasSize=!0}).on("error.mfploader",function(){i.hasSize=!0,i.loadError=!0,T("LazyLoadError",i)}).attr("src",i.src)),i.preloaded=!0}}}});var U="retina";e.magnificPopup.registerModule(U,{options:{replaceSrc:function(e){return e.src.replace(/\.\w+$/,function(e){return"@2x"+e})},ratio:1},proto:{initRetina:function(){if(window.devicePixelRatio>1){var e=t.st.retina,n=e.ratio;n=isNaN(n)?n():n,n>1&&(x("ImageHasSize."+U,function(e,t){t.img.css({"max-width":t.img[0].naturalWidth/n,width:"100%"})}),x("ElementParse."+U,function(t,i){i.src=e.replaceSrc(i,n)}))}}}}),function(){var t=1e3,n="ontouchstart"in window,i=function(){I.off("touchmove"+r+" touchend"+r)},o="mfpFastClick",r="."+o;e.fn.mfpFastClick=function(o){return e(this).each(function(){var a,s=e(this);if(n){var l,c,d,u,p,f;s.on("touchstart"+r,function(e){u=!1,f=1,p=e.originalEvent?e.originalEvent.touches[0]:e.touches[0],c=p.clientX,d=p.clientY,I.on("touchmove"+r,function(e){p=e.originalEvent?e.originalEvent.touches:e.touches,f=p.length,p=p[0],(Math.abs(p.clientX-c)>10||Math.abs(p.clientY-d)>10)&&(u=!0,i())}).on("touchend"+r,function(e){i(),u||f>1||(a=!0,e.preventDefault(),clearTimeout(l),l=setTimeout(function(){a=!1},t),o())})})}s.on("click"+r,function(){a||o()})})},e.fn.destroyMfpFastClick=function(){e(this).off("touchstart"+r+" click"+r),n&&I.off("touchmove"+r+" touchend"+r)}}(),_()})(window.jQuery||window.Zepto);
\ No newline at end of file
diff --git a/templates/shop-isle/assets/js/vendor/jquery.mb.YTPlayer.js b/templates/shop-isle/assets/js/vendor/jquery.mb.YTPlayer.js
new file mode 100644 (file)
index 0000000..0f78fbe
--- /dev/null
@@ -0,0 +1,1749 @@
+/*___________________________________________________________________________________________________________________________________________________
+ _ jquery.mb.components                                                                                                                             _
+ _                                                                                                                                                  _
+ _ file: jquery.mb.YTPlayer.src.js                                                                                                                  _
+ _ last modified: 05/01/16 17.43                                                                                                                    _
+ _                                                                                                                                                  _
+ _ Open Lab s.r.l., Florence - Italy                                                                                                                _
+ _                                                                                                                                                  _
+ _ email: matteo@open-lab.com                                                                                                                       _
+ _ site: http://pupunzi.com                                                                                                                         _
+ _       http://open-lab.com                                                                                                                        _
+ _ blog: http://pupunzi.open-lab.com                                                                                                                _
+ _ Q&A:  http://jquery.pupunzi.com                                                                                                                  _
+ _                                                                                                                                                  _
+ _ Licences: MIT, GPL                                                                                                                               _
+ _    http://www.opensource.org/licenses/mit-license.php                                                                                            _
+ _    http://www.gnu.org/licenses/gpl.html                                                                                                          _
+ _                                                                                                                                                  _
+ _ Copyright (c) 2001-2016. Matteo Bicocchi (Pupunzi);                                                                                              _
+ ___________________________________________________________________________________________________________________________________________________*/
+var ytp = ytp || {};
+
+function onYouTubeIframeAPIReady() {
+       if( ytp.YTAPIReady ) return;
+       ytp.YTAPIReady = true;
+       jQuery( document ).trigger( "YTAPIReady" );
+}
+
+var getYTPVideoID = function( url ) {
+       var videoID, playlistID;
+       if( url.indexOf( "youtu.be" ) > 0 ) {
+               videoID = url.substr( url.lastIndexOf( "/" ) + 1, url.length );
+               playlistID = videoID.indexOf( "?list=" ) > 0 ? videoID.substr( videoID.lastIndexOf( "=" ), videoID.length ) : null;
+               videoID = playlistID ? videoID.substr( 0, videoID.lastIndexOf( "?" ) ) : videoID;
+       } else if( url.indexOf( "http" ) > -1 ) {
+               //videoID = url.match( /([\/&]v\/([^&#]*))|([\\?&]v=([^&#]*))/ )[ 1 ];
+               videoID = url.match( /[\\?&]v=([^&#]*)/ )[ 1 ];
+               playlistID = url.indexOf( "list=" ) > 0 ? url.match( /[\\?&]list=([^&#]*)/ )[ 1 ] : null;
+       } else {
+               videoID = url.length > 15 ? null : url;
+               playlistID = videoID ? null : url;
+       }
+       return {
+               videoID: videoID,
+               playlistID: playlistID
+       };
+};
+
+( function( jQuery, ytp ) {
+
+       jQuery.mbYTPlayer = {
+               name: "jquery.mb.YTPlayer",
+               version: "3.0.0",
+               build: "5679",
+               author: "Matteo Bicocchi",
+               apiKey: "",
+               defaults: {
+                       containment: "body",
+                       ratio: "auto", // "auto", "16/9", "4/3"
+                       videoURL: null,
+                       playlistURL: null,
+                       startAt: 0,
+                       stopAt: 0,
+                       autoPlay: true,
+                       vol: 50, // 1 to 100
+                       addRaster: false,
+                       opacity: 1,
+                       quality: "default", //or “small”, “medium”, “large”, “hd720”, “hd1080”, “highres”
+                       mute: false,
+                       loop: true,
+                       showControls: true,
+                       showAnnotations: false,
+                       showYTLogo: true,
+                       stopMovieOnBlur: true,
+                       realfullscreen: true,
+                       gaTrack: true,
+                       optimizeDisplay: true,
+                       onReady: function( player ) {}
+               },
+               /**
+                *  @fontface icons
+                *  */
+               controls: {
+                       play: "P",
+                       pause: "p",
+                       mute: "M",
+                       unmute: "A",
+                       onlyYT: "O",
+                       showSite: "R",
+                       ytLogo: "Y"
+               },
+               locationProtocol: "https:",
+               /**
+                *
+                * @param options
+                * @returns [players]
+                */
+               buildPlayer: function( options ) {
+                       return this.each( function() {
+                               var YTPlayer = this;
+                               var $YTPlayer = jQuery( YTPlayer );
+                               YTPlayer.loop = 0;
+                               YTPlayer.opt = {};
+                               YTPlayer.state = {};
+                               YTPlayer.filtersEnabled = true;
+
+                               YTPlayer.id = YTPlayer.id || "YTP_" + new Date().getTime();
+
+                               YTPlayer.filters = {
+                                       grayscale: {
+                                               value: 0,
+                                               unit: "%"
+                                       },
+                                       hue_rotate: {
+                                               value: 0,
+                                               unit: "deg"
+                                       },
+                                       invert: {
+                                               value: 0,
+                                               unit: "%"
+                                       },
+                                       opacity: {
+                                               value: 0,
+                                               unit: "%"
+                                       },
+                                       saturate: {
+                                               value: 0,
+                                               unit: "%"
+                                       },
+                                       sepia: {
+                                               value: 0,
+                                               unit: "%"
+                                       },
+                                       brightness: {
+                                               value: 0,
+                                               unit: "%"
+                                       },
+                                       contrast: {
+                                               value: 0,
+                                               unit: "%"
+                                       },
+                                       blur: {
+                                               value: 0,
+                                               unit: "px"
+                                       }
+                               };
+                               $YTPlayer.addClass( "mb_YTPlayer" );
+                               var property = $YTPlayer.data( "property" ) && typeof $YTPlayer.data( "property" ) == "string" ? eval( '(' + $YTPlayer.data( "property" ) + ')' ) : $YTPlayer.data( "property" );
+                               if( typeof property != "undefined" && typeof property.vol != "undefined" ) property.vol = property.vol === 0 ? property.vol = 1 : property.vol;
+
+                               jQuery.extend( YTPlayer.opt, jQuery.mbYTPlayer.defaults, options, property );
+
+                               if( !YTPlayer.hasChanged ) {
+                                       YTPlayer.defaultOpt = {};
+                                       //                                      jQuery.extend( YTPlayer.defaultOpt, jQuery.mbYTPlayer.defaults, options, property );
+                                       jQuery.extend( YTPlayer.defaultOpt, jQuery.mbYTPlayer.defaults, options );
+                               }
+
+                               if( YTPlayer.opt.loop == "true" )
+                                       YTPlayer.opt.loop = 9999;
+
+                               YTPlayer.isRetina = ( window.retina || window.devicePixelRatio > 1 );
+                               var isIframe = function() {
+                                       var isIfr = false;
+                                       try {
+                                               if( self.location.href != top.location.href ) isIfr = true;
+                                       } catch( e ) {
+                                               isIfr = true;
+                                       }
+                                       return isIfr;
+                               };
+                               YTPlayer.canGoFullScreen = !( jQuery.browser.msie || jQuery.browser.opera || isIframe() );
+                               if( !YTPlayer.canGoFullScreen ) YTPlayer.opt.realfullscreen = false;
+                               if( !$YTPlayer.attr( "id" ) ) $YTPlayer.attr( "id", "video_" + new Date().getTime() );
+                               var playerID = "mbYTP_" + YTPlayer.id;
+                               YTPlayer.isAlone = false;
+                               YTPlayer.hasFocus = true;
+                               var videoID = this.opt.videoURL ? getYTPVideoID( this.opt.videoURL ).videoID : $YTPlayer.attr( "href" ) ? getYTPVideoID( $YTPlayer.attr( "href" ) ).videoID : false;
+                               var playlistID = this.opt.videoURL ? getYTPVideoID( this.opt.videoURL ).playlistID : $YTPlayer.attr( "href" ) ? getYTPVideoID( $YTPlayer.attr( "href" ) ).playlistID : false;
+                               YTPlayer.videoID = videoID;
+                               YTPlayer.playlistID = playlistID;
+                               YTPlayer.opt.showAnnotations = ( YTPlayer.opt.showAnnotations ) ? '0' : '3';
+                               var playerVars = {
+                                       'autoplay': 0,
+                                       'modestbranding': 1,
+                                       'controls': 0,
+                                       'showinfo': 0,
+                                       'rel': 0,
+                                       'enablejsapi': 1,
+                                       'version': 3,
+                                       'playerapiid': playerID,
+                                       'origin': '*',
+                                       'allowfullscreen': true,
+                                       'wmode': 'transparent',
+                                       'iv_load_policy': YTPlayer.opt.showAnnotations
+                               };
+                               if( document.createElement( 'video' ).canPlayType ) jQuery.extend( playerVars, {
+                                       'html5': 1
+                               } );
+                               if( jQuery.browser.msie && jQuery.browser.version < 9 ) this.opt.opacity = 1;
+                               var playerBox = jQuery( "<div/>" ).attr( "id", playerID ).addClass( "playerBox" );
+                               var overlay = jQuery( "<div/>" ).css( {
+                                       position: "absolute",
+                                       top: 0,
+                                       left: 0,
+                                       width: "100%",
+                                       height: "100%"
+                               } ).addClass( "YTPOverlay" );
+                               YTPlayer.isSelf = YTPlayer.opt.containment == "self";
+                               YTPlayer.defaultOpt.containment = YTPlayer.opt.containment = YTPlayer.opt.containment == "self" ? jQuery( this ) : jQuery( YTPlayer.opt.containment );
+                               YTPlayer.isBackground = YTPlayer.opt.containment.get( 0 ).tagName.toLowerCase() == "body";
+                               if( YTPlayer.isBackground && ytp.backgroundIsInited ) return;
+                               var isPlayer = YTPlayer.opt.containment.is( jQuery( this ) );
+                               YTPlayer.canPlayOnMobile = isPlayer && jQuery( this ).children().length === 0;
+                               if( !isPlayer ) {
+                                       $YTPlayer.hide();
+                               } else {
+                                       YTPlayer.isPlayer = true;
+                               }
+
+                               if( jQuery.browser.mobile && !YTPlayer.canPlayOnMobile ) {
+                                       $YTPlayer.remove();
+                                       return;
+                               }
+
+                               var wrapper = jQuery( "<div/>" ).addClass( "mbYTP_wrapper" ).attr( "id", "wrapper_" + playerID );
+                               wrapper.css( {
+                                       position: "absolute",
+                                       zIndex: 0,
+                                       minWidth: "100%",
+                                       minHeight: "100%",
+                                       left: 0,
+                                       top: 0,
+                                       overflow: "hidden",
+                                       opacity: 0
+                               } );
+
+                               playerBox.css( {
+                                       position: "absolute",
+                                       zIndex: 0,
+                                       width: "100%",
+                                       height: "100%",
+                                       top: 0,
+                                       left: 0,
+                                       overflow: "hidden"
+                               } );
+                               wrapper.append( playerBox );
+                               YTPlayer.opt.containment.children().not( "script, style" ).each( function() {
+                                       if( jQuery( this ).css( "position" ) == "static" ) jQuery( this ).css( "position", "relative" );
+                               } );
+                               if( YTPlayer.isBackground ) {
+                                       jQuery( "body" ).css( {
+                                               boxSizing: "border-box"
+                                       } );
+                                       wrapper.css( {
+                                               position: "fixed",
+                                               top: 0,
+                                               left: 0,
+                                               zIndex: 0
+                                       } );
+                                       $YTPlayer.hide();
+                               } else if( YTPlayer.opt.containment.css( "position" ) == "static" )
+                                       YTPlayer.opt.containment.css( {
+                                               position: "relative"
+                                       } );
+
+                               YTPlayer.opt.containment.prepend( wrapper );
+                               YTPlayer.wrapper = wrapper;
+                               playerBox.css( {
+                                       opacity: 1
+                               } );
+
+                               if( !jQuery.browser.mobile ) {
+                                       playerBox.after( overlay );
+                                       YTPlayer.overlay = overlay;
+                               }
+
+                               if( !YTPlayer.isBackground ) {
+                                       overlay.on( "mouseenter", function() {
+                                               if( YTPlayer.controlBar ) YTPlayer.controlBar.addClass( "visible" );
+                                       } ).on( "mouseleave", function() {
+                                               if( YTPlayer.controlBar ) YTPlayer.controlBar.removeClass( "visible" );
+                                       } );
+                               }
+                               if( !ytp.YTAPIReady ) {
+                                       jQuery( "#YTAPI" ).remove();
+                                       var tag = jQuery( "<script></script>" ).attr( {
+                                               "src": jQuery.mbYTPlayer.locationProtocol + "//www.youtube.com/iframe_api?v=" + jQuery.mbYTPlayer.version,
+                                               "id": "YTAPI"
+                                       } );
+                                       jQuery( "head" ).prepend( tag );
+                               } else {
+                                       setTimeout( function() {
+                                               jQuery( document ).trigger( "YTAPIReady" );
+                                       }, 100 )
+                               }
+
+                               jQuery( document ).on( "YTAPIReady", function() {
+                                       if( ( YTPlayer.isBackground && ytp.backgroundIsInited ) || YTPlayer.isInit ) return;
+                                       if( YTPlayer.isBackground ) {
+                                               ytp.backgroundIsInited = true;
+                                       }
+
+                                       YTPlayer.opt.autoPlay = typeof YTPlayer.opt.autoPlay == "undefined" ? ( YTPlayer.isBackground ? true : false ) : YTPlayer.opt.autoPlay;
+                                       YTPlayer.opt.vol = YTPlayer.opt.vol ? YTPlayer.opt.vol : 100;
+                                       jQuery.mbYTPlayer.getDataFromAPI( YTPlayer );
+                                       jQuery( YTPlayer ).on( "YTPChanged", function() {
+                                               if( YTPlayer.isInit ) return;
+                                               YTPlayer.isInit = true;
+
+                                               //if is mobile && isPlayer fallback to the default YT player
+                                               if( jQuery.browser.mobile && YTPlayer.canPlayOnMobile ) {
+                                                       // Try to adjust the player dimention
+                                                       if( YTPlayer.opt.containment.outerWidth() > jQuery( window ).width() ) {
+                                                               YTPlayer.opt.containment.css( {
+                                                                       maxWidth: "100%"
+                                                               } );
+                                                               var h = YTPlayer.opt.containment.outerWidth() * .6;
+                                                               YTPlayer.opt.containment.css( {
+                                                                       maxHeight: h
+                                                               } );
+                                                       }
+                                                       new YT.Player( playerID, {
+                                                               videoId: YTPlayer.videoID.toString(),
+                                                               height: '100%',
+                                                               width: '100%',
+                                                               events: {
+                                                                       'onReady': function( event ) {
+                                                                               YTPlayer.player = event.target;
+                                                                               playerBox.css( {
+                                                                                       opacity: 1
+                                                                               } );
+                                                                               YTPlayer.wrapper.css( {
+                                                                                       opacity: 1
+                                                                               } );
+                                                                       }
+                                                               }
+                                                       } );
+                                                       return;
+                                               }
+
+                                               new YT.Player( playerID, {
+                                                       videoId: YTPlayer.videoID.toString(),
+                                                       playerVars: playerVars,
+                                                       events: {
+                                                               'onReady': function( event ) {
+                                                                       YTPlayer.player = event.target;
+                                                                       if( YTPlayer.isReady ) return;
+                                                                       YTPlayer.isReady = YTPlayer.isPlayer && !YTPlayer.opt.autoPlay ? false : true;
+                                                                       YTPlayer.playerEl = YTPlayer.player.getIframe();
+
+                                                                       jQuery( YTPlayer.playerEl ).unselectable();
+
+                                                                       $YTPlayer.optimizeDisplay();
+                                                                       YTPlayer.videoID = videoID;
+                                                                       jQuery( window ).off( "resize.YTP_" + YTPlayer.id ).on( "resize.YTP_" + YTPlayer.id, function() {
+                                                                               $YTPlayer.optimizeDisplay();
+                                                                       } );
+
+                                                                       jQuery.mbYTPlayer.checkForState( YTPlayer );
+                                                               },
+                                                               /**
+                                                                *
+                                                                * @param event
+                                                                *
+                                                                * -1 (unstarted)
+                                                                * 0 (ended)
+                                                                * 1 (playing)
+                                                                * 2 (paused)
+                                                                * 3 (buffering)
+                                                                * 5 (video cued).
+                                                                *
+                                                                *
+                                                                */
+                                                               'onStateChange': function( event ) {
+                                                                       if( typeof event.target.getPlayerState != "function" ) return;
+                                                                       var state = event.target.getPlayerState();
+
+                                                                       if( YTPlayer.state == state ) return;
+
+                                                                       if( YTPlayer.preventTrigger ) {
+                                                                               YTPlayer.preventTrigger = false;
+                                                                               return
+                                                                       }
+
+                                                                       YTPlayer.state = state;
+
+                                                                       var eventType;
+                                                                       switch( state ) {
+                                                                               case -1: //----------------------------------------------- unstarted
+                                                                                       eventType = "YTPUnstarted";
+                                                                                       break;
+                                                                               case 0: //------------------------------------------------ ended
+                                                                                       eventType = "YTPEnd";
+                                                                                       break;
+                                                                               case 1: //------------------------------------------------ play
+                                                                                       eventType = "YTPPlay";
+                                                                                       if( YTPlayer.controlBar ) YTPlayer.controlBar.find( ".mb_YTPPlaypause" ).html( jQuery.mbYTPlayer.controls.pause );
+
+                                                                                       if( typeof _gaq != "undefined" && eval( YTPlayer.opt.gaTrack ) ) _gaq.push( [ '_trackEvent', 'YTPlayer', 'Play', ( YTPlayer.hasData ? YTPlayer.videoData.title : YTPlayer.videoID.toString() ) ] );
+                                                                                       if( typeof ga != "undefined" && eval( YTPlayer.opt.gaTrack ) ) ga( 'send', 'event', 'YTPlayer', 'play', ( YTPlayer.hasData ? YTPlayer.videoData.title : YTPlayer.videoID.toString() ) );
+
+                                                                                       break;
+                                                                               case 2: //------------------------------------------------ pause
+                                                                                       eventType = "YTPPause";
+                                                                                       if( YTPlayer.controlBar ) YTPlayer.controlBar.find( ".mb_YTPPlaypause" ).html( jQuery.mbYTPlayer.controls.play );
+                                                                                       break;
+                                                                               case 3: //------------------------------------------------ buffer
+                                                                                       YTPlayer.player.setPlaybackQuality( YTPlayer.opt.quality );
+                                                                                       eventType = "YTPBuffering";
+                                                                                       if( YTPlayer.controlBar ) YTPlayer.controlBar.find( ".mb_YTPPlaypause" ).html( jQuery.mbYTPlayer.controls.play );
+                                                                                       break;
+                                                                               case 5: //------------------------------------------------ cued
+                                                                                       eventType = "YTPCued";
+                                                                                       break;
+                                                                               default:
+                                                                                       break;
+                                                                       }
+                                                                       // Trigger state events
+                                                                       var YTPEvent = jQuery.Event( eventType );
+                                                                       YTPEvent.time = YTPlayer.player.time;
+                                                                       if( YTPlayer.canTrigger ) jQuery( YTPlayer ).trigger( YTPEvent );
+                                                               },
+                                                               /**
+                                                                *
+                                                                * @param e
+                                                                */
+                                                               'onPlaybackQualityChange': function( e ) {
+                                                                       var quality = e.target.getPlaybackQuality();
+                                                                       var YTPQualityChange = jQuery.Event( "YTPQualityChange" );
+                                                                       YTPQualityChange.quality = quality;
+                                                                       jQuery( YTPlayer ).trigger( YTPQualityChange );
+                                                               },
+                                                               /**
+                                                                *
+                                                                * @param err
+                                                                */
+                                                               'onError': function( err ) {
+                                                                       if( err.data == 150 ) {
+                                                                               console.log( "Embedding this video is restricted by Youtube." );
+                                                                               if( YTPlayer.isPlayList ) jQuery( YTPlayer ).playNext();
+                                                                       }
+                                                                       if( err.data == 2 && YTPlayer.isPlayList ) jQuery( YTPlayer ).playNext();
+                                                                       if( typeof YTPlayer.opt.onError == "function" ) YTPlayer.opt.onError( $YTPlayer, err );
+                                                               }
+                                                       }
+                                               } );
+                                       } );
+                               } )
+                       } );
+               },
+               /**
+                *
+                * @param YTPlayer
+                */
+               getDataFromAPI: function( YTPlayer ) {
+                       YTPlayer.videoData = jQuery.mbStorage.get( "YTPlayer_data_" + YTPlayer.videoID );
+                       jQuery( YTPlayer ).off( "YTPData.YTPlayer" ).on( "YTPData.YTPlayer", function() {
+                               if( YTPlayer.hasData ) {
+
+                                       if( YTPlayer.isPlayer && !YTPlayer.opt.autoPlay ) {
+                                               var bgndURL = YTPlayer.videoData.thumb_max || YTPlayer.videoData.thumb_high || YTPlayer.videoData.thumb_medium;
+                                               YTPlayer.opt.containment.css( {
+                                                       background: "rgba(0,0,0,0.5) url(" + bgndURL + ") center center",
+                                                       backgroundSize: "cover"
+                                               } );
+                                               YTPlayer.opt.backgroundUrl = bgndURL;
+                                       }
+                               }
+                       } );
+
+                       if( YTPlayer.videoData ) {
+
+                               setTimeout( function() {
+                                       YTPlayer.opt.ratio = YTPlayer.opt.ratio == "auto" ? "16/9" : YTPlayer.opt.ratio;
+                                       YTPlayer.dataReceived = true;
+                                       jQuery( YTPlayer ).trigger( "YTPChanged" );
+                                       var YTPData = jQuery.Event( "YTPData" );
+                                       YTPData.prop = {};
+                                       for( var x in YTPlayer.videoData ) YTPData.prop[ x ] = YTPlayer.videoData[ x ];
+                                       jQuery( YTPlayer ).trigger( YTPData );
+                               }, 500 );
+
+                               YTPlayer.hasData = true;
+                       } else if( jQuery.mbYTPlayer.apiKey ) {
+                               // Get video info from API3 (needs api key)
+                               // snippet,player,contentDetails,statistics,status
+                               jQuery.getJSON( jQuery.mbYTPlayer.locationProtocol + "//www.googleapis.com/youtube/v3/videos?id=" + YTPlayer.videoID + "&key=" + jQuery.mbYTPlayer.apiKey + "&part=snippet", function( data ) {
+                                       YTPlayer.dataReceived = true;
+                                       jQuery( YTPlayer ).trigger( "YTPChanged" );
+
+                                       function parseYTPlayer_data( data ) {
+                                               YTPlayer.videoData = {};
+                                               YTPlayer.videoData.id = YTPlayer.videoID;
+                                               YTPlayer.videoData.channelTitle = data.channelTitle;
+                                               YTPlayer.videoData.title = data.title;
+                                               YTPlayer.videoData.description = data.description.length < 400 ? data.description : data.description.substring( 0, 400 ) + " ...";
+                                               YTPlayer.videoData.aspectratio = YTPlayer.opt.ratio == "auto" ? "16/9" : YTPlayer.opt.ratio;
+                                               YTPlayer.opt.ratio = YTPlayer.videoData.aspectratio;
+                                               YTPlayer.videoData.thumb_max = data.thumbnails.maxres ? data.thumbnails.maxres.url : null;
+                                               YTPlayer.videoData.thumb_high = data.thumbnails.high ? data.thumbnails.high.url : null;
+                                               YTPlayer.videoData.thumb_medium = data.thumbnails.medium ? data.thumbnails.medium.url : null;
+                                               jQuery.mbStorage.set( "YTPlayer_data_" + YTPlayer.videoID, YTPlayer.videoData );
+                                       }
+                                       parseYTPlayer_data( data.items[ 0 ].snippet );
+                                       YTPlayer.hasData = true;
+                                       var YTPData = jQuery.Event( "YTPData" );
+                                       YTPData.prop = {};
+                                       for( var x in YTPlayer.videoData ) YTPData.prop[ x ] = YTPlayer.videoData[ x ];
+                                       jQuery( YTPlayer ).trigger( YTPData );
+                               } );
+                       } else {
+                               setTimeout( function() {
+                                       jQuery( YTPlayer ).trigger( "YTPChanged" );
+                               }, 50 );
+                               if( YTPlayer.isPlayer && !YTPlayer.opt.autoPlay ) {
+                                       var bgndURL = jQuery.mbYTPlayer.locationProtocol + "//i.ytimg.com/vi/" + YTPlayer.videoID + "/hqdefault.jpg";
+                                       YTPlayer.opt.containment.css( {
+                                               background: "rgba(0,0,0,0.5) url(" + bgndURL + ") center center",
+                                               backgroundSize: "cover"
+                                       } );
+                                       YTPlayer.opt.backgroundUrl = bgndURL;
+                               }
+                               YTPlayer.videoData = null;
+                               YTPlayer.opt.ratio = YTPlayer.opt.ratio == "auto" ? "16/9" : YTPlayer.opt.ratio;
+                       }
+                       if( YTPlayer.isPlayer && !YTPlayer.opt.autoPlay ) {
+                               YTPlayer.loading = jQuery( "<div/>" ).addClass( "loading" ).html( "Loading" ).hide();
+                               jQuery( YTPlayer ).append( YTPlayer.loading );
+                               YTPlayer.loading.fadeIn();
+                       }
+               },
+               /**
+                *
+                */
+               removeStoredData: function() {
+                       jQuery.mbStorage.remove();
+               },
+               /**
+                *
+                * @returns {*|YTPlayer.videoData}
+                */
+               getVideoData: function() {
+                       var YTPlayer = this.get( 0 );
+                       return YTPlayer.videoData;
+               },
+               /**
+                *
+                * @returns {*|YTPlayer.videoID|boolean}
+                */
+               getVideoID: function() {
+                       var YTPlayer = this.get( 0 );
+                       return YTPlayer.videoID || false;
+               },
+               /**
+                *
+                * @param quality
+                */
+               setVideoQuality: function( quality ) {
+                       var YTPlayer = this.get( 0 );
+                       //if( !jQuery.browser.chrome )
+                       YTPlayer.player.setPlaybackQuality( quality );
+               },
+               /**
+                * @param videos
+                * @param shuffle
+                * @param callback
+                * @returns {jQuery.mbYTPlayer}
+                */
+
+               playlist: function( videos, shuffle, callback ) {
+                       var $YTPlayer = this;
+                       var YTPlayer = $YTPlayer.get( 0 );
+                       YTPlayer.isPlayList = true;
+                       if( shuffle ) videos = jQuery.shuffle( videos );
+                       if( !YTPlayer.videoID ) {
+                               YTPlayer.videos = videos;
+                               YTPlayer.videoCounter = 0;
+                               YTPlayer.videoLength = videos.length;
+                               jQuery( YTPlayer ).data( "property", videos[ 0 ] );
+                               jQuery( YTPlayer ).mb_YTPlayer();
+                       }
+                       if( typeof callback == "function" ) jQuery( YTPlayer ).one( "YTPChanged", function() {
+                               callback( YTPlayer );
+                       } );
+                       jQuery( YTPlayer ).on( "YTPEnd", function() {
+                               jQuery( YTPlayer ).playNext();
+                       } );
+                       return $YTPlayer;
+               },
+               /**
+                *
+                * @returns {jQuery.mbYTPlayer}
+                */
+               playNext: function() {
+                       var YTPlayer = this.get( 0 );
+
+                       if( YTPlayer.checkForStartAt ) {
+                               clearTimeout( YTPlayer.checkForStartAt );
+                               clearInterval( YTPlayer.getState );
+                       }
+
+                       YTPlayer.videoCounter++;
+                       if( YTPlayer.videoCounter >= YTPlayer.videoLength ) YTPlayer.videoCounter = 0;
+                       jQuery( YTPlayer ).changeMovie( YTPlayer.videos[ YTPlayer.videoCounter ] );
+                       return this;
+               },
+               /**
+                *
+                * @returns {jQuery.mbYTPlayer}
+                */
+               playPrev: function() {
+                       var YTPlayer = this.get( 0 );
+
+                       if( YTPlayer.checkForStartAt ) {
+                               clearInterval( YTPlayer.checkForStartAt );
+                               clearInterval( YTPlayer.getState );
+                       }
+
+                       YTPlayer.videoCounter--;
+                       if( YTPlayer.videoCounter < 0 ) YTPlayer.videoCounter = YTPlayer.videoLength - 1;
+                       jQuery( YTPlayer ).changeMovie( YTPlayer.videos[ YTPlayer.videoCounter ] );
+                       return this;
+               },
+               /**
+                *
+                * @param opt
+                */
+               changeMovie: function( opt ) {
+
+                       var YTPlayer = this.get( 0 );
+                       YTPlayer.opt.startAt = 0;
+                       YTPlayer.opt.stopAt = 0;
+                       YTPlayer.opt.mute = true;
+                       YTPlayer.hasData = false;
+                       YTPlayer.hasChanged = true;
+                       YTPlayer.player.loopTime = undefined;
+
+                       if( opt ) jQuery.extend( YTPlayer.opt, YTPlayer.defaultOpt, opt );
+                       YTPlayer.videoID = getYTPVideoID( YTPlayer.opt.videoURL ).videoID;
+
+                       if( YTPlayer.opt.loop == "true" )
+                               YTPlayer.opt.loop = 9999;
+
+                       jQuery( YTPlayer.playerEl ).CSSAnimate( {
+                               opacity: 0
+                       }, 200, function() {
+
+                               var YTPChangeMovie = jQuery.Event( "YTPChangeMovie" );
+                               YTPChangeMovie.time = YTPlayer.player.time;
+                               YTPChangeMovie.videoId = YTPlayer.videoID;
+                               jQuery( YTPlayer ).trigger( YTPChangeMovie );
+
+                               jQuery( YTPlayer ).YTPGetPlayer().cueVideoByUrl( encodeURI( jQuery.mbYTPlayer.locationProtocol + "//www.youtube.com/v/" + YTPlayer.videoID ), 1, YTPlayer.opt.quality );
+                               jQuery( YTPlayer ).optimizeDisplay();
+
+                               jQuery.mbYTPlayer.checkForState( YTPlayer );
+                               jQuery.mbYTPlayer.getDataFromAPI( YTPlayer );
+                               return this;
+                       } );
+               },
+               /**
+                *
+                * @returns {player}
+                */
+               getPlayer: function() {
+                       return jQuery( this ).get( 0 ).player;
+               },
+
+               playerDestroy: function() {
+                       var YTPlayer = this.get( 0 );
+                       ytp.YTAPIReady = true;
+                       ytp.backgroundIsInited = false;
+                       YTPlayer.isInit = false;
+                       YTPlayer.videoID = null;
+                       var playerBox = YTPlayer.wrapper;
+                       playerBox.remove();
+                       jQuery( "#controlBar_" + YTPlayer.id ).remove();
+                       clearInterval( YTPlayer.checkForStartAt );
+                       clearInterval( YTPlayer.getState );
+                       return this;
+               },
+
+               /**
+                *
+                * @param real
+                * @returns {jQuery.mbYTPlayer}
+                */
+               fullscreen: function( real ) {
+                       var YTPlayer = this.get( 0 );
+                       if( typeof real == "undefined" ) real = YTPlayer.opt.realfullscreen;
+                       real = eval( real );
+                       var controls = jQuery( "#controlBar_" + YTPlayer.id );
+                       var fullScreenBtn = controls.find( ".mb_OnlyYT" );
+                       var videoWrapper = YTPlayer.isSelf ? YTPlayer.opt.containment : YTPlayer.wrapper;
+                       //var videoWrapper = YTPlayer.wrapper;
+                       if( real ) {
+                               var fullscreenchange = jQuery.browser.mozilla ? "mozfullscreenchange" : jQuery.browser.webkit ? "webkitfullscreenchange" : "fullscreenchange";
+                               jQuery( document ).off( fullscreenchange ).on( fullscreenchange, function() {
+                                       var isFullScreen = RunPrefixMethod( document, "IsFullScreen" ) || RunPrefixMethod( document, "FullScreen" );
+                                       if( !isFullScreen ) {
+                                               YTPlayer.isAlone = false;
+                                               fullScreenBtn.html( jQuery.mbYTPlayer.controls.onlyYT );
+                                               jQuery( YTPlayer ).YTPSetVideoQuality( YTPlayer.opt.quality );
+                                               videoWrapper.removeClass( "YTPFullscreen" );
+                                               videoWrapper.CSSAnimate( {
+                                                       opacity: YTPlayer.opt.opacity
+                                               }, 500 );
+                                               videoWrapper.css( {
+                                                       zIndex: 0
+                                               } );
+                                               if( YTPlayer.isBackground ) {
+                                                       jQuery( "body" ).after( controls );
+                                               } else {
+                                                       YTPlayer.wrapper.before( controls );
+                                               }
+                                               jQuery( window ).resize();
+                                               jQuery( YTPlayer ).trigger( "YTPFullScreenEnd" );
+                                       } else {
+                                               jQuery( YTPlayer ).YTPSetVideoQuality( "default" );
+                                               jQuery( YTPlayer ).trigger( "YTPFullScreenStart" );
+                                       }
+                               } );
+                       }
+                       if( !YTPlayer.isAlone ) {
+                               function hideMouse() {
+                                       YTPlayer.overlay.css( {
+                                               cursor: "none"
+                                       } );
+                               }
+                               jQuery( document ).on( "mousemove.YTPlayer", function( e ) {
+                                       YTPlayer.overlay.css( {
+                                               cursor: "auto"
+                                       } );
+                                       clearTimeout( YTPlayer.hideCursor );
+                                       if( !jQuery( e.target ).parents().is( ".mb_YTPBar" ) ) YTPlayer.hideCursor = setTimeout( hideMouse, 3000 );
+                               } );
+                               hideMouse();
+                               if( real ) {
+                                       videoWrapper.css( {
+                                               opacity: 0
+                                       } );
+                                       videoWrapper.addClass( "YTPFullscreen" );
+                                       launchFullscreen( videoWrapper.get( 0 ) );
+                                       setTimeout( function() {
+                                               videoWrapper.CSSAnimate( {
+                                                       opacity: 1
+                                               }, 1000 );
+                                               YTPlayer.wrapper.append( controls );
+                                               jQuery( YTPlayer ).optimizeDisplay();
+                                               YTPlayer.player.seekTo( YTPlayer.player.getCurrentTime() + .1, true );
+                                       }, 500 )
+                               } else videoWrapper.css( {
+                                       zIndex: 10000
+                               } ).CSSAnimate( {
+                                       opacity: 1
+                               }, 1000 );
+                               fullScreenBtn.html( jQuery.mbYTPlayer.controls.showSite );
+                               YTPlayer.isAlone = true;
+                       } else {
+                               jQuery( document ).off( "mousemove.YTPlayer" );
+                               YTPlayer.overlay.css( {
+                                       cursor: "auto"
+                               } );
+                               if( real ) {
+                                       cancelFullscreen();
+                               } else {
+                                       videoWrapper.CSSAnimate( {
+                                               opacity: YTPlayer.opt.opacity
+                                       }, 500 );
+                                       videoWrapper.css( {
+                                               zIndex: 0
+                                       } );
+                               }
+                               fullScreenBtn.html( jQuery.mbYTPlayer.controls.onlyYT );
+                               YTPlayer.isAlone = false;
+                       }
+
+                       function RunPrefixMethod( obj, method ) {
+                               var pfx = [ "webkit", "moz", "ms", "o", "" ];
+                               var p = 0,
+                                       m, t;
+                               while( p < pfx.length && !obj[ m ] ) {
+                                       m = method;
+                                       if( pfx[ p ] == "" ) {
+                                               m = m.substr( 0, 1 ).toLowerCase() + m.substr( 1 );
+                                       }
+                                       m = pfx[ p ] + m;
+                                       t = typeof obj[ m ];
+                                       if( t != "undefined" ) {
+                                               pfx = [ pfx[ p ] ];
+                                               return( t == "function" ? obj[ m ]() : obj[ m ] );
+                                       }
+                                       p++;
+                               }
+                       }
+
+                       function launchFullscreen( element ) {
+                               RunPrefixMethod( element, "RequestFullScreen" );
+                       }
+
+                       function cancelFullscreen() {
+                               if( RunPrefixMethod( document, "FullScreen" ) || RunPrefixMethod( document, "IsFullScreen" ) ) {
+                                       RunPrefixMethod( document, "CancelFullScreen" );
+                               }
+                       }
+                       return this;
+               },
+               /**
+                *
+                * @returns {jQuery.mbYTPlayer}
+                */
+               toggleLoops: function() {
+                       var YTPlayer = this.get( 0 );
+                       var data = YTPlayer.opt;
+                       if( data.loop == 1 ) {
+                               data.loop = 0;
+                       } else {
+                               if( data.startAt ) {
+                                       YTPlayer.player.seekTo( data.startAt );
+                               } else {
+                                       YTPlayer.player.playVideo();
+                               }
+                               data.loop = 1;
+                       }
+                       return this;
+               },
+               /**
+                *
+                * @returns {jQuery.mbYTPlayer}
+                */
+               play: function() {
+                       var YTPlayer = this.get( 0 );
+                       if( !YTPlayer.isReady ) return;
+
+                       YTPlayer.player.playVideo();
+                       YTPlayer.wrapper.CSSAnimate( {
+                               opacity: YTPlayer.isAlone ? 1 : YTPlayer.opt.opacity
+                       }, 2000 );
+
+                       jQuery( YTPlayer.playerEl ).CSSAnimate( {
+                               opacity: 1
+                       }, 1000 );
+
+                       jQuery( YTPlayer ).css( "background-image", "none" );
+                       return this;
+               },
+               /**
+                *
+                * @param callback
+                * @returns {jQuery.mbYTPlayer}
+                */
+               togglePlay: function( callback ) {
+                       var YTPlayer = this.get( 0 );
+                       if( YTPlayer.state == 1 ) this.YTPPause();
+                       else this.YTPPlay();
+                       if( typeof callback == "function" ) {
+                               callback( YTPlayer.state );
+                       }
+                       return this;
+               },
+               /**
+                *
+                * @returns {jQuery.mbYTPlayer}
+                */
+               stop: function() {
+                       var YTPlayer = this.get( 0 );
+                       var controls = jQuery( "#controlBar_" + YTPlayer.id );
+                       var playBtn = controls.find( ".mb_YTPPlaypause" );
+                       playBtn.html( jQuery.mbYTPlayer.controls.play );
+                       YTPlayer.player.stopVideo();
+                       return this;
+               },
+               /**
+                *
+                * @returns {jQuery.mbYTPlayer}
+                */
+               pause: function() {
+                       var YTPlayer = this.get( 0 );
+                       YTPlayer.player.pauseVideo();
+                       return this;
+               },
+               /**
+                *
+                * @param val
+                * @returns {jQuery.mbYTPlayer}
+                */
+               seekTo: function( val ) {
+                       var YTPlayer = this.get( 0 );
+                       YTPlayer.player.seekTo( val, true );
+                       return this;
+               },
+               /**
+                *
+                * @param val
+                * @returns {jQuery.mbYTPlayer}
+                */
+               setVolume: function( val ) {
+                       var YTPlayer = this.get( 0 );
+                       if( !val && !YTPlayer.opt.vol && YTPlayer.player.getVolume() == 0 ) jQuery( YTPlayer ).YTPUnmute();
+                       else if( ( !val && YTPlayer.player.getVolume() > 0 ) || ( val && YTPlayer.opt.vol == val ) ) {
+                               if( !YTPlayer.isMute ) jQuery( YTPlayer ).YTPMute();
+                               else jQuery( YTPlayer ).YTPUnmute();
+                       } else {
+                               YTPlayer.opt.vol = val;
+                               YTPlayer.player.setVolume( YTPlayer.opt.vol );
+                               if( YTPlayer.volumeBar && YTPlayer.volumeBar.length ) YTPlayer.volumeBar.updateSliderVal( val )
+                       }
+                       return this;
+               },
+               /**
+                *
+                * @returns {jQuery.mbYTPlayer}
+                */
+               mute: function() {
+                       var YTPlayer = this.get( 0 );
+                       if( YTPlayer.isMute ) return;
+                       YTPlayer.player.mute();
+                       YTPlayer.isMute = true;
+                       YTPlayer.player.setVolume( 0 );
+                       if( YTPlayer.volumeBar && YTPlayer.volumeBar.length && YTPlayer.volumeBar.width() > 10 ) {
+                               YTPlayer.volumeBar.updateSliderVal( 0 );
+                       }
+                       var controls = jQuery( "#controlBar_" + YTPlayer.id );
+                       var muteBtn = controls.find( ".mb_YTPMuteUnmute" );
+                       muteBtn.html( jQuery.mbYTPlayer.controls.unmute );
+                       jQuery( YTPlayer ).addClass( "isMuted" );
+                       if( YTPlayer.volumeBar && YTPlayer.volumeBar.length ) YTPlayer.volumeBar.addClass( "muted" );
+                       var YTPEvent = jQuery.Event( "YTPMuted" );
+                       YTPEvent.time = YTPlayer.player.time;
+                       if( YTPlayer.canTrigger ) jQuery( YTPlayer ).trigger( YTPEvent );
+                       return this;
+               },
+               /**
+                *
+                * @returns {jQuery.mbYTPlayer}
+                */
+               unmute: function() {
+                       var YTPlayer = this.get( 0 );
+                       if( !YTPlayer.isMute ) return;
+                       YTPlayer.player.unMute();
+                       YTPlayer.isMute = false;
+                       YTPlayer.player.setVolume( YTPlayer.opt.vol );
+                       if( YTPlayer.volumeBar && YTPlayer.volumeBar.length ) YTPlayer.volumeBar.updateSliderVal( YTPlayer.opt.vol > 10 ? YTPlayer.opt.vol : 10 );
+                       var controls = jQuery( "#controlBar_" + YTPlayer.id );
+                       var muteBtn = controls.find( ".mb_YTPMuteUnmute" );
+                       muteBtn.html( jQuery.mbYTPlayer.controls.mute );
+                       jQuery( YTPlayer ).removeClass( "isMuted" );
+                       if( YTPlayer.volumeBar && YTPlayer.volumeBar.length ) YTPlayer.volumeBar.removeClass( "muted" );
+                       var YTPEvent = jQuery.Event( "YTPUnmuted" );
+                       YTPEvent.time = YTPlayer.player.time;
+                       if( YTPlayer.canTrigger ) jQuery( YTPlayer ).trigger( YTPEvent );
+                       return this;
+               },
+               /**
+                *
+                * @param filter
+                * @param value
+                * @returns {jQuery.mbYTPlayer}
+                */
+               applyFilter: function( filter, value ) {
+                       var YTPlayer = this.get( 0 );
+                       YTPlayer.filters[ filter ].value = value;
+                       if( YTPlayer.filtersEnabled ) this.YTPEnableFilters();
+                       return this;
+               },
+               /**
+                *
+                * @param filters
+                * @returns {jQuery.mbYTPlayer}
+                */
+               applyFilters: function( filters ) {
+                       var YTPlayer = this.get( 0 );
+                       this.on( "YTPReady", function() {
+                               for( var key in filters ) {
+                                       YTPlayer.filters[ key ].value = filters[ key ];
+                                       jQuery( YTPlayer ).YTPApplyFilter( key, filters[ key ] );
+                               }
+                               jQuery( YTPlayer ).trigger( "YTPFiltersApplied" );
+                       } );
+                       return this;
+               },
+               /**
+                *
+                * @param filter
+                * @param value
+                * @returns {*}
+                */
+               toggleFilter: function( filter, value ) {
+                       return this.each( function() {
+                               var YTPlayer = this;
+                               if( !YTPlayer.filters[ filter ].value ) YTPlayer.filters[ filter ].value = value;
+                               else YTPlayer.filters[ filter ].value = 0;
+                               if( YTPlayer.filtersEnabled ) jQuery( this ).YTPEnableFilters();
+                       } )
+                       return this;
+               },
+               /**
+                *
+                * @param callback
+                * @returns {*}
+                */
+               toggleFilters: function( callback ) {
+                       return this.each( function() {
+                               var YTPlayer = this;
+                               if( YTPlayer.filtersEnabled ) {
+                                       jQuery( YTPlayer ).trigger( "YTPDisableFilters" );
+                                       jQuery( YTPlayer ).YTPDisableFilters();
+                               } else {
+                                       jQuery( YTPlayer ).YTPEnableFilters();
+                                       jQuery( YTPlayer ).trigger( "YTPEnableFilters" );
+                               }
+                               if( typeof callback == "function" ) callback( YTPlayer.filtersEnabled );
+                       } )
+               },
+               /**
+                *
+                * @returns {*}
+                */
+               disableFilters: function() {
+                       return this.each( function() {
+                               var YTPlayer = this;
+                               var iframe = jQuery( YTPlayer.playerEl );
+                               iframe.css( "-webkit-filter", "" );
+                               iframe.css( "filter", "" );
+                               YTPlayer.filtersEnabled = false;
+                       } )
+               },
+               /**
+                *
+                * @returns {*}
+                */
+               enableFilters: function() {
+                       return this.each( function() {
+                               var YTPlayer = this;
+                               var iframe = jQuery( YTPlayer.playerEl );
+                               var filterStyle = "";
+                               for( var key in YTPlayer.filters ) {
+                                       if( YTPlayer.filters[ key ].value ) filterStyle += key.replace( "_", "-" ) + "(" + YTPlayer.filters[ key ].value + YTPlayer.filters[ key ].unit + ") ";
+                               }
+                               iframe.css( "-webkit-filter", filterStyle );
+                               iframe.css( "filter", filterStyle );
+                               YTPlayer.filtersEnabled = true;
+                       } )
+                       return this;
+               },
+               /**
+                *
+                * @param filter
+                * @param callback
+                * @returns {*}
+                */
+               removeFilter: function( filter, callback ) {
+                       return this.each( function() {
+                               if( typeof filter == "function" ) {
+                                       callback = filter;
+                                       filter = null;
+                               }
+                               var YTPlayer = this;
+                               if( !filter )
+                                       for( var key in YTPlayer.filters ) {
+                                               jQuery( this ).YTPApplyFilter( key, 0 );
+                                               if( typeof callback == "function" ) callback( key );
+                                       } else {
+                                               jQuery( this ).YTPApplyFilter( filter, 0 );
+                                               if( typeof callback == "function" ) callback( filter );
+                                       }
+                       } );
+                       return this;
+               },
+               /**
+                *
+                */
+               addMask: function( mask ) {
+                       var YTPlayer = this.get( 0 );
+                       var overlay = YTPlayer.overlay;
+
+                       overlay.CSSAnimate( {
+                               opacity: 0
+                       }, 500, function() {
+
+                               overlay.css( {
+                                       backgroundImage: "url(" + mask + ")",
+                                       backgroundRepeat: "no-repeat",
+                                       backgroundPosition: "center center",
+                                       backgroundSize: "cover"
+                               } );
+
+                               overlay.CSSAnimate( {
+                                       opacity: 1
+                               }, 500 );
+
+                       } );
+                       return this;
+
+               },
+               /**
+                *
+                */
+               removeMask: function() {
+                       var YTPlayer = this.get( 0 );
+                       var overlay = YTPlayer.overlay;
+                       overlay.CSSAnimate( {
+                               opacity: 0
+                       }, 500, function() {
+                               overlay.css( {
+                                       backgroundImage: "",
+                                       backgroundRepeat: "",
+                                       backgroundPosition: "",
+                                       backgroundSize: ""
+                               } );
+                               overlay.CSSAnimate( {
+                                       opacity: 1
+                               }, 500 );
+
+                       } );
+
+                       return this;
+
+               },
+               /**
+                *
+                * @returns {{totalTime: number, currentTime: number}}
+                */
+               manageProgress: function() {
+                       var YTPlayer = this.get( 0 );
+                       var controls = jQuery( "#controlBar_" + YTPlayer.id );
+                       var progressBar = controls.find( ".mb_YTPProgress" );
+                       var loadedBar = controls.find( ".mb_YTPLoaded" );
+                       var timeBar = controls.find( ".mb_YTPseekbar" );
+                       var totW = progressBar.outerWidth();
+                       var currentTime = Math.floor( YTPlayer.player.getCurrentTime() );
+                       var totalTime = Math.floor( YTPlayer.player.getDuration() );
+                       var timeW = ( currentTime * totW ) / totalTime;
+                       var startLeft = 0;
+                       var loadedW = YTPlayer.player.getVideoLoadedFraction() * 100;
+                       loadedBar.css( {
+                               left: startLeft,
+                               width: loadedW + "%"
+                       } );
+                       timeBar.css( {
+                               left: 0,
+                               width: timeW
+                       } );
+                       return {
+                               totalTime: totalTime,
+                               currentTime: currentTime
+                       };
+               },
+               /**
+                *
+                * @param YTPlayer
+                */
+               buildControls: function( YTPlayer ) {
+                       var data = YTPlayer.opt;
+                       // @data.printUrl: is deprecated; use data.showYTLogo
+                       data.showYTLogo = data.showYTLogo || data.printUrl;
+                       if( jQuery( "#controlBar_" + YTPlayer.id ).length ) return;
+                       YTPlayer.controlBar = jQuery( "<span/>" ).attr( "id", "controlBar_" + YTPlayer.id ).addClass( "mb_YTPBar" ).css( {
+                               whiteSpace: "noWrap",
+                               position: YTPlayer.isBackground ? "fixed" : "absolute",
+                               zIndex: YTPlayer.isBackground ? 10000 : 1000
+                       } ).hide();
+                       var buttonBar = jQuery( "<div/>" ).addClass( "buttonBar" );
+                       /* play/pause button*/
+                       var playpause = jQuery( "<span>" + jQuery.mbYTPlayer.controls.play + "</span>" ).addClass( "mb_YTPPlaypause ytpicon" ).click( function() {
+                               if( YTPlayer.player.getPlayerState() == 1 ) jQuery( YTPlayer ).YTPPause();
+                               else jQuery( YTPlayer ).YTPPlay();
+                       } );
+                       /* mute/unmute button*/
+                       var MuteUnmute = jQuery( "<span>" + jQuery.mbYTPlayer.controls.mute + "</span>" ).addClass( "mb_YTPMuteUnmute ytpicon" ).click( function() {
+                               if( YTPlayer.player.getVolume() == 0 ) {
+                                       jQuery( YTPlayer ).YTPUnmute();
+                               } else {
+                                       jQuery( YTPlayer ).YTPMute();
+                               }
+                       } );
+                       /* volume bar*/
+                       var volumeBar = jQuery( "<div/>" ).addClass( "mb_YTPVolumeBar" ).css( {
+                               display: "inline-block"
+                       } );
+                       YTPlayer.volumeBar = volumeBar;
+                       /* time elapsed */
+                       var idx = jQuery( "<span/>" ).addClass( "mb_YTPTime" );
+                       var vURL = data.videoURL ? data.videoURL : "";
+                       if( vURL.indexOf( "http" ) < 0 ) vURL = jQuery.mbYTPlayer.locationProtocol + "//www.youtube.com/watch?v=" + data.videoURL;
+                       var movieUrl = jQuery( "<span/>" ).html( jQuery.mbYTPlayer.controls.ytLogo ).addClass( "mb_YTPUrl ytpicon" ).attr( "title", "view on YouTube" ).on( "click", function() {
+                               window.open( vURL, "viewOnYT" )
+                       } );
+                       var onlyVideo = jQuery( "<span/>" ).html( jQuery.mbYTPlayer.controls.onlyYT ).addClass( "mb_OnlyYT ytpicon" ).on( "click", function() {
+                               jQuery( YTPlayer ).YTPFullscreen( data.realfullscreen );
+                       } );
+                       var progressBar = jQuery( "<div/>" ).addClass( "mb_YTPProgress" ).css( "position", "absolute" ).click( function( e ) {
+                               timeBar.css( {
+                                       width: ( e.clientX - timeBar.offset().left )
+                               } );
+                               YTPlayer.timeW = e.clientX - timeBar.offset().left;
+                               YTPlayer.controlBar.find( ".mb_YTPLoaded" ).css( {
+                                       width: 0
+                               } );
+                               var totalTime = Math.floor( YTPlayer.player.getDuration() );
+                               YTPlayer.goto = ( timeBar.outerWidth() * totalTime ) / progressBar.outerWidth();
+                               YTPlayer.player.seekTo( parseFloat( YTPlayer.goto ), true );
+                               YTPlayer.controlBar.find( ".mb_YTPLoaded" ).css( {
+                                       width: 0
+                               } );
+                       } );
+                       var loadedBar = jQuery( "<div/>" ).addClass( "mb_YTPLoaded" ).css( "position", "absolute" );
+                       var timeBar = jQuery( "<div/>" ).addClass( "mb_YTPseekbar" ).css( "position", "absolute" );
+                       progressBar.append( loadedBar ).append( timeBar );
+                       buttonBar.append( playpause ).append( MuteUnmute ).append( volumeBar ).append( idx );
+                       if( data.showYTLogo ) {
+                               buttonBar.append( movieUrl );
+                       }
+                       if( YTPlayer.isBackground || ( eval( YTPlayer.opt.realfullscreen ) && !YTPlayer.isBackground ) ) buttonBar.append( onlyVideo );
+                       YTPlayer.controlBar.append( buttonBar ).append( progressBar );
+                       if( !YTPlayer.isBackground ) {
+                               YTPlayer.controlBar.addClass( "inlinePlayer" );
+                               YTPlayer.wrapper.before( YTPlayer.controlBar );
+                       } else {
+                               jQuery( "body" ).after( YTPlayer.controlBar );
+                       }
+                       volumeBar.simpleSlider( {
+                               initialval: YTPlayer.opt.vol,
+                               scale: 100,
+                               orientation: "h",
+                               callback: function( el ) {
+                                       if( el.value == 0 ) {
+                                               jQuery( YTPlayer ).YTPMute();
+                                       } else {
+                                               jQuery( YTPlayer ).YTPUnmute();
+                                       }
+                                       YTPlayer.player.setVolume( el.value );
+                                       if( !YTPlayer.isMute ) YTPlayer.opt.vol = el.value;
+                               }
+                       } );
+               },
+               /**
+                *
+                *
+                * */
+               checkForState: function( YTPlayer ) {
+                       var interval = YTPlayer.opt.showControls ? 100 : 400;
+                       clearInterval( YTPlayer.getState );
+                       //Checking if player has been removed from scene
+                       if( !jQuery.contains( document, YTPlayer ) ) {
+                               jQuery( YTPlayer ).YTPPlayerDestroy();
+                               clearInterval( YTPlayer.getState );
+                               clearInterval( YTPlayer.checkForStartAt );
+                               return;
+                       }
+
+                       jQuery.mbYTPlayer.checkForStart( YTPlayer );
+
+                       YTPlayer.getState = setInterval( function() {
+                               var prog = jQuery( YTPlayer ).YTPManageProgress();
+                               var $YTPlayer = jQuery( YTPlayer );
+                               var data = YTPlayer.opt;
+                               var startAt = YTPlayer.opt.startAt ? YTPlayer.opt.startAt : 1;
+                               var stopAt = YTPlayer.opt.stopAt > YTPlayer.opt.startAt ? YTPlayer.opt.stopAt : 0;
+                               stopAt = stopAt < YTPlayer.player.getDuration() ? stopAt : 0;
+                               if( YTPlayer.player.time != prog.currentTime ) {
+                                       var YTPEvent = jQuery.Event( "YTPTime" );
+                                       YTPEvent.time = YTPlayer.player.time;
+                                       jQuery( YTPlayer ).trigger( YTPEvent );
+                               }
+                               YTPlayer.player.time = prog.currentTime;
+                               if( YTPlayer.player.getVolume() == 0 ) $YTPlayer.addClass( "isMuted" );
+                               else $YTPlayer.removeClass( "isMuted" );
+
+                               if( YTPlayer.opt.showControls )
+                                       if( prog.totalTime ) {
+                                               YTPlayer.controlBar.find( ".mb_YTPTime" ).html( jQuery.mbYTPlayer.formatTime( prog.currentTime ) + " / " + jQuery.mbYTPlayer.formatTime( prog.totalTime ) );
+                                       } else {
+                                               YTPlayer.controlBar.find( ".mb_YTPTime" ).html( "-- : -- / -- : --" );
+                                       }
+
+
+                               if( eval( YTPlayer.opt.stopMovieOnBlur ) )
+                                       if( !document.hasFocus() ) {
+                                               if( YTPlayer.state == 1 ) {
+                                                       YTPlayer.hasFocus = false;
+                                                       $YTPlayer.YTPPause();
+                                               }
+                                       } else if( document.hasFocus() && !YTPlayer.hasFocus && !( YTPlayer.state == -1 || YTPlayer.state == 0 ) ) {
+
+                                       YTPlayer.hasFocus = true;
+                                       $YTPlayer.YTPPlay();
+                               }
+
+                               if( YTPlayer.controlBar && YTPlayer.controlBar.outerWidth() <= 400 && !YTPlayer.isCompact ) {
+                                       YTPlayer.controlBar.addClass( "compact" );
+                                       YTPlayer.isCompact = true;
+                                       if( !YTPlayer.isMute && YTPlayer.volumeBar ) YTPlayer.volumeBar.updateSliderVal( YTPlayer.opt.vol );
+                               } else if( YTPlayer.controlBar && YTPlayer.controlBar.outerWidth() > 400 && YTPlayer.isCompact ) {
+                                       YTPlayer.controlBar.removeClass( "compact" );
+                                       YTPlayer.isCompact = false;
+                                       if( !YTPlayer.isMute && YTPlayer.volumeBar ) YTPlayer.volumeBar.updateSliderVal( YTPlayer.opt.vol );
+                               }
+                               if( YTPlayer.player.getPlayerState() == 1 && ( parseFloat( YTPlayer.player.getDuration() - 1.5 ) < YTPlayer.player.getCurrentTime() || ( stopAt > 0 && parseFloat( YTPlayer.player.getCurrentTime() ) > stopAt ) ) ) {
+                                       if( YTPlayer.isEnded ) return;
+                                       YTPlayer.isEnded = true;
+                                       setTimeout( function() {
+                                               YTPlayer.isEnded = false
+                                       }, 1000 );
+
+                                       if( YTPlayer.isPlayList ) {
+
+                                               if( !data.loop || ( data.loop > 0 && YTPlayer.player.loopTime === data.loop - 1 ) ) {
+
+                                                       YTPlayer.player.loopTime = undefined;
+                                                       clearInterval( YTPlayer.getState );
+                                                       var YTPEnd = jQuery.Event( "YTPEnd" );
+                                                       YTPEnd.time = YTPlayer.player.time;
+                                                       jQuery( YTPlayer ).trigger( YTPEnd );
+                                                       YTPlayer.state = 0;
+
+                                                       return;
+                                               }
+
+                                       } else if( !data.loop || ( data.loop > 0 && YTPlayer.player.loopTime === data.loop - 1 ) ) {
+
+                                               YTPlayer.player.loopTime = undefined;
+                                               YTPlayer.preventTrigger = true;
+                                               jQuery( YTPlayer ).YTPPause();
+                                               YTPlayer.state = 0;
+
+                                               YTPlayer.wrapper.CSSAnimate( {
+                                                       opacity: 0
+                                               }, 500, function() {
+
+                                                       if( YTPlayer.controlBar )
+                                                               YTPlayer.controlBar.find( ".mb_YTPPlaypause" ).html( jQuery.mbYTPlayer.controls.play );
+
+                                                       var YTPEnd = jQuery.Event( "YTPEnd" );
+                                                       YTPEnd.time = YTPlayer.player.time;
+                                                       jQuery( YTPlayer ).trigger( YTPEnd );
+
+                                                       YTPlayer.player.seekTo( startAt, true );
+                                                       if( !YTPlayer.isBackground ) {
+                                                               YTPlayer.opt.containment.css( {
+                                                                       background: "rgba(0,0,0,0.5) url(" + YTPlayer.opt.backgroundUrl + ") center center",
+                                                                       backgroundSize: "cover"
+                                                               } );
+                                                       }
+                                               } );
+
+                                               return;
+
+                                       }
+
+                                       YTPlayer.player.loopTime = YTPlayer.player.loopTime ? ++YTPlayer.player.loopTime : 1;
+                                       startAt = startAt || 1;
+                                       YTPlayer.preventTrigger = true;
+                                       jQuery( YTPlayer ).YTPPause();
+                                       YTPlayer.player.seekTo( startAt, true );
+                                       $YTPlayer.YTPPlay();
+
+
+                               }
+                       }, interval );
+               },
+               /**
+                *
+                * */
+               checkForStart: function( YTPlayer ) {
+                       var $YTPlayer = jQuery( YTPlayer );
+
+                       //Checking if player has been removed from scene
+                       if( !jQuery.contains( document, YTPlayer ) ) {
+                               jQuery( YTPlayer ).YTPPlayerDestroy();
+                               return
+                       }
+
+                       /*
+                        if( jQuery.browser.chrome )
+                        YTPlayer.opt.quality = "default";
+                        */
+
+                       YTPlayer.preventTrigger = true;
+                       jQuery( YTPlayer ).YTPPause();
+
+                       jQuery( YTPlayer ).muteYTPVolume();
+                       jQuery( "#controlBar_" + YTPlayer.id ).remove();
+
+                       if( YTPlayer.opt.showControls )
+                               jQuery.mbYTPlayer.buildControls( YTPlayer );
+
+                       if( YTPlayer.opt.addRaster ) {
+
+                               var classN = YTPlayer.opt.addRaster == "dot" ? "raster-dot" : "raster";
+                               YTPlayer.overlay.addClass( YTPlayer.isRetina ? classN + " retina" : classN );
+
+                       } else {
+
+                               YTPlayer.overlay.removeClass( function( index, classNames ) {
+                                       // change the list into an array
+                                       var current_classes = classNames.split( " " ),
+                                               // array of classes which are to be removed
+                                               classes_to_remove = [];
+                                       jQuery.each( current_classes, function( index, class_name ) {
+                                               // if the classname begins with bg add it to the classes_to_remove array
+                                               if( /raster.*/.test( class_name ) ) {
+                                                       classes_to_remove.push( class_name );
+                                               }
+                                       } );
+                                       classes_to_remove.push( "retina" );
+                                       // turn the array back into a string
+                                       return classes_to_remove.join( " " );
+                               } )
+
+                       }
+
+                       var startAt = YTPlayer.opt.startAt ? YTPlayer.opt.startAt : 1;
+                       YTPlayer.player.playVideo();
+                       YTPlayer.player.seekTo( startAt, true );
+
+                       YTPlayer.checkForStartAt = setInterval( function() {
+
+                               jQuery( YTPlayer ).YTPMute();
+
+                               var canPlayVideo = YTPlayer.player.getVideoLoadedFraction() >= startAt / YTPlayer.player.getDuration();
+
+                               if( YTPlayer.player.getDuration() > 0 && YTPlayer.player.getCurrentTime() >= startAt && canPlayVideo ) {
+
+                                       //YTPlayer.player.playVideo();
+
+                                       //console.timeEnd( "checkforStart" );
+
+                                       //      console.debug( "checkForStartAt:: checked ::  ", YTPlayer );
+
+                                       clearInterval( YTPlayer.checkForStartAt );
+
+                                       YTPlayer.isReady = true;
+                                       if( typeof YTPlayer.opt.onReady == "function" )
+                                               YTPlayer.opt.onReady( YTPlayer );
+
+                                       var YTPready = jQuery.Event( "YTPReady" );
+                                       YTPready.time = YTPlayer.player.time;
+                                       jQuery( YTPlayer ).trigger( YTPready );
+
+
+                                       YTPlayer.preventTrigger = true;
+                                       jQuery( YTPlayer ).YTPPause();
+
+                                       if( !YTPlayer.opt.mute ) jQuery( YTPlayer ).YTPUnmute();
+                                       YTPlayer.canTrigger = true;
+                                       if( YTPlayer.opt.autoPlay ) {
+                                               $YTPlayer.YTPPlay();
+
+                                               var YTPStart = jQuery.Event( "YTPStart" );
+                                               YTPStart.time = YTPlayer.player.time;
+                                               jQuery( YTPlayer ).trigger( YTPStart );
+
+                                               $YTPlayer.css( "background-image", "none" );
+                                               jQuery( YTPlayer.playerEl ).CSSAnimate( {
+                                                       opacity: 1
+                                               }, 1000 );
+                                               YTPlayer.wrapper.CSSAnimate( {
+                                                       opacity: YTPlayer.isAlone ? 1 : YTPlayer.opt.opacity
+                                               }, 1000 );
+                                       } else {
+
+                                               $YTPlayer.YTPPause();
+                                               //YTPlayer.player.pauseVideo();
+                                               if( !YTPlayer.isPlayer ) {
+                                                       jQuery( YTPlayer.playerEl ).CSSAnimate( {
+                                                               opacity: 1
+                                                       }, 500 );
+
+                                                       YTPlayer.wrapper.CSSAnimate( {
+                                                               opacity: YTPlayer.isAlone ? 1 : YTPlayer.opt.opacity
+                                                       }, 500 );
+                                               }
+                                       }
+
+                                       if( YTPlayer.isPlayer && !YTPlayer.opt.autoPlay ) {
+                                               YTPlayer.loading.html( "Ready" );
+                                               setTimeout( function() {
+                                                       YTPlayer.loading.fadeOut();
+                                               }, 100 )
+                                       }
+                                       if( YTPlayer.controlBar ) YTPlayer.controlBar.slideDown( 1000 );
+
+                               } else if( jQuery.browser.safari ) {
+                                       //YTPlayer.player.playVideo();
+                                       //if( startAt >= 0 ) YTPlayer.player.seekTo( startAt, true );
+                               }
+
+                       }, 1 );
+
+
+               },
+               /**
+                *
+                * @param s
+                * @returns {string}
+                */
+               formatTime: function( s ) {
+                       var min = Math.floor( s / 60 );
+                       var sec = Math.floor( s - ( 60 * min ) );
+                       return( min <= 9 ? "0" + min : min ) + " : " + ( sec <= 9 ? "0" + sec : sec );
+               }
+       };
+       /**
+        *
+        * @returns {boolean}
+        */
+       jQuery.fn.toggleVolume = function() {
+               var YTPlayer = this.get( 0 );
+               if( !YTPlayer ) return;
+               if( YTPlayer.player.isMuted() ) {
+                       jQuery( YTPlayer ).YTPUnmute();
+                       return true;
+               } else {
+                       jQuery( YTPlayer ).YTPMute();
+                       return false;
+               }
+       };
+       /**
+        *
+        */
+       jQuery.fn.optimizeDisplay = function() {
+               var YTPlayer = this.get( 0 );
+               var data = YTPlayer.opt;
+               var playerBox = jQuery( YTPlayer.playerEl );
+               var vid = {};
+
+               if( data.optimizeDisplay ) {
+                       var margin = 24;
+                       var overprint = 100;
+                       var win = {};
+                       var el = YTPlayer.wrapper;
+                       win.width = el.outerWidth();
+                       win.height = el.outerHeight();
+                       vid.width = win.width + ( ( win.width * margin ) / 100 );
+                       vid.height = data.ratio == "16/9" ? Math.ceil( ( 9 * win.width ) / 16 ) : Math.ceil( ( 3 * win.width ) / 4 );
+                       vid.marginTop = -( ( vid.height - win.height ) / 2 );
+                       vid.marginLeft = -( ( win.width * ( margin / 2 ) ) / 100 );
+                       if( vid.height < win.height ) {
+                               vid.height = win.height + ( ( win.height * margin ) / 100 );
+                               vid.width = data.ratio == "16/9" ? Math.floor( ( 16 * win.height ) / 9 ) : Math.floor( ( 4 * win.height ) / 3 );
+                               vid.marginTop = -( ( win.height * ( margin / 2 ) ) / 100 );
+                               vid.marginLeft = -( ( vid.width - win.width ) / 2 );
+                       }
+                       vid.width += overprint;
+                       vid.height += overprint;
+                       vid.marginTop -= overprint / 2;
+                       vid.marginLeft -= overprint / 2;
+               } else {
+                       vid.width = "100%";
+                       vid.height = "100%";
+                       vid.marginTop = 0;
+                       vid.marginLeft = 0;
+               }
+
+               playerBox.css( {
+                       width: vid.width,
+                       height: vid.height,
+                       marginTop: vid.marginTop,
+                       marginLeft: vid.marginLeft
+               } );
+
+       };
+       /**
+        *
+        * @param arr
+        * @returns {Array|string|Blob|*}
+        *
+        */
+       jQuery.shuffle = function( arr ) {
+               var newArray = arr.slice();
+               var len = newArray.length;
+               var i = len;
+               while( i-- ) {
+                       var p = parseInt( Math.random() * len );
+                       var t = newArray[ i ];
+                       newArray[ i ] = newArray[ p ];
+                       newArray[ p ] = t;
+               }
+               return newArray;
+       };
+
+       jQuery.fn.unselectable = function() {
+               return this.each( function() {
+                       jQuery( this ).css( {
+                               "-moz-user-select": "none",
+                               "-webkit-user-select": "none",
+                               "user-select": "none"
+                       } ).attr( "unselectable", "on" );
+               } );
+       };
+
+
+       /* Exposed public method */
+       jQuery.fn.YTPlayer = jQuery.mbYTPlayer.buildPlayer;
+       jQuery.fn.YTPGetPlayer = jQuery.mbYTPlayer.getPlayer;
+       jQuery.fn.YTPGetVideoID = jQuery.mbYTPlayer.getVideoID;
+       jQuery.fn.YTPChangeMovie = jQuery.mbYTPlayer.changeMovie;
+       jQuery.fn.YTPPlayerDestroy = jQuery.mbYTPlayer.playerDestroy;
+
+       jQuery.fn.YTPPlay = jQuery.mbYTPlayer.play;
+       jQuery.fn.YTPTogglePlay = jQuery.mbYTPlayer.togglePlay;
+       jQuery.fn.YTPStop = jQuery.mbYTPlayer.stop;
+       jQuery.fn.YTPPause = jQuery.mbYTPlayer.pause;
+       jQuery.fn.YTPSeekTo = jQuery.mbYTPlayer.seekTo;
+
+       jQuery.fn.YTPlaylist = jQuery.mbYTPlayer.playlist;
+       jQuery.fn.YTPPlayNext = jQuery.mbYTPlayer.playNext;
+       jQuery.fn.YTPPlayPrev = jQuery.mbYTPlayer.playPrev;
+
+       jQuery.fn.YTPMute = jQuery.mbYTPlayer.mute;
+       jQuery.fn.YTPUnmute = jQuery.mbYTPlayer.unmute;
+       jQuery.fn.YTPToggleVolume = jQuery.mbYTPlayer.toggleVolume;
+       jQuery.fn.YTPSetVolume = jQuery.mbYTPlayer.setVolume;
+
+       jQuery.fn.YTPGetVideoData = jQuery.mbYTPlayer.getVideoData;
+       jQuery.fn.YTPFullscreen = jQuery.mbYTPlayer.fullscreen;
+       jQuery.fn.YTPToggleLoops = jQuery.mbYTPlayer.toggleLoops;
+       jQuery.fn.YTPSetVideoQuality = jQuery.mbYTPlayer.setVideoQuality;
+       jQuery.fn.YTPManageProgress = jQuery.mbYTPlayer.manageProgress;
+
+       jQuery.fn.YTPApplyFilter = jQuery.mbYTPlayer.applyFilter;
+       jQuery.fn.YTPApplyFilters = jQuery.mbYTPlayer.applyFilters;
+       jQuery.fn.YTPToggleFilter = jQuery.mbYTPlayer.toggleFilter;
+       jQuery.fn.YTPToggleFilters = jQuery.mbYTPlayer.toggleFilters;
+       jQuery.fn.YTPRemoveFilter = jQuery.mbYTPlayer.removeFilter;
+       jQuery.fn.YTPDisableFilters = jQuery.mbYTPlayer.disableFilters;
+       jQuery.fn.YTPEnableFilters = jQuery.mbYTPlayer.enableFilters;
+
+       jQuery.fn.YTPAddMask = jQuery.mbYTPlayer.addMask;
+       jQuery.fn.YTPRemoveMask = jQuery.mbYTPlayer.removeMask;
+
+
+       /**
+        *
+        * @deprecated
+        *
+        **/
+       jQuery.fn.mb_YTPlayer = jQuery.mbYTPlayer.buildPlayer;
+       jQuery.fn.playNext = jQuery.mbYTPlayer.playNext;
+       jQuery.fn.playPrev = jQuery.mbYTPlayer.playPrev;
+       jQuery.fn.changeMovie = jQuery.mbYTPlayer.changeMovie;
+       jQuery.fn.getVideoID = jQuery.mbYTPlayer.getVideoID;
+       jQuery.fn.getPlayer = jQuery.mbYTPlayer.getPlayer;
+       jQuery.fn.playerDestroy = jQuery.mbYTPlayer.playerDestroy;
+       jQuery.fn.fullscreen = jQuery.mbYTPlayer.fullscreen;
+       jQuery.fn.buildYTPControls = jQuery.mbYTPlayer.buildControls;
+       jQuery.fn.playYTP = jQuery.mbYTPlayer.play;
+       jQuery.fn.toggleLoops = jQuery.mbYTPlayer.toggleLoops;
+       jQuery.fn.stopYTP = jQuery.mbYTPlayer.stop;
+       jQuery.fn.pauseYTP = jQuery.mbYTPlayer.pause;
+       jQuery.fn.seekToYTP = jQuery.mbYTPlayer.seekTo;
+       jQuery.fn.muteYTPVolume = jQuery.mbYTPlayer.mute;
+       jQuery.fn.unmuteYTPVolume = jQuery.mbYTPlayer.unmute;
+       jQuery.fn.setYTPVolume = jQuery.mbYTPlayer.setVolume;
+       jQuery.fn.setVideoQuality = jQuery.mbYTPlayer.setVideoQuality;
+       jQuery.fn.manageYTPProgress = jQuery.mbYTPlayer.manageProgress;
+       jQuery.fn.YTPGetDataFromFeed = jQuery.mbYTPlayer.getVideoData;
+
+
+} )( jQuery, ytp );
+;
+/*
+ * ******************************************************************************
+ *  jquery.mb.components
+ *  file: jquery.mb.CSSAnimate.min.js
+ *
+ *  Copyright (c) 2001-2014. Matteo Bicocchi (Pupunzi);
+ *  Open lab srl, Firenze - Italy
+ *  email: matteo@open-lab.com
+ *  site:      http://pupunzi.com
+ *  blog:      http://pupunzi.open-lab.com
+ *     http://open-lab.com
+ *
+ *  Licences: MIT, GPL
+ *  http://www.opensource.org/licenses/mit-license.php
+ *  http://www.gnu.org/licenses/gpl.html
+ *
+ *  last modified: 26/03/14 21.40
+ *  *****************************************************************************
+ */
+
+function uncamel(a){return a.replace(/([A-Z])/g,function(a){return"-"+a.toLowerCase()})}function setUnit(a,b){return"string"!=typeof a||a.match(/^[\-0-9\.]+jQuery/)?""+a+b:a}function setFilter(a,b,c){var d=uncamel(b),e=jQuery.browser.mozilla?"":jQuery.CSS.sfx;a[e+"filter"]=a[e+"filter"]||"",c=setUnit(c>jQuery.CSS.filters[b].max?jQuery.CSS.filters[b].max:c,jQuery.CSS.filters[b].unit),a[e+"filter"]+=d+"("+c+") ",delete a[b]}jQuery.support.CSStransition=function(){var a=document.body||document.documentElement,b=a.style;return void 0!==b.transition||void 0!==b.WebkitTransition||void 0!==b.MozTransition||void 0!==b.MsTransition||void 0!==b.OTransition}(),jQuery.CSS={name:"mb.CSSAnimate",author:"Matteo Bicocchi",version:"2.0.0",transitionEnd:"transitionEnd",sfx:"",filters:{blur:{min:0,max:100,unit:"px"},brightness:{min:0,max:400,unit:"%"},contrast:{min:0,max:400,unit:"%"},grayscale:{min:0,max:100,unit:"%"},hueRotate:{min:0,max:360,unit:"deg"},invert:{min:0,max:100,unit:"%"},saturate:{min:0,max:400,unit:"%"},sepia:{min:0,max:100,unit:"%"}},normalizeCss:function(a){var b=jQuery.extend(!0,{},a);jQuery.browser.webkit||jQuery.browser.opera?jQuery.CSS.sfx="-webkit-":jQuery.browser.mozilla?jQuery.CSS.sfx="-moz-":jQuery.browser.msie&&(jQuery.CSS.sfx="-ms-");for(var c in b){"transform"===c&&(b[jQuery.CSS.sfx+"transform"]=b[c],delete b[c]),"transform-origin"===c&&(b[jQuery.CSS.sfx+"transform-origin"]=a[c],delete b[c]),"filter"!==c||jQuery.browser.mozilla||(b[jQuery.CSS.sfx+"filter"]=a[c],delete b[c]),"blur"===c&&setFilter(b,"blur",a[c]),"brightness"===c&&setFilter(b,"brightness",a[c]),"contrast"===c&&setFilter(b,"contrast",a[c]),"grayscale"===c&&setFilter(b,"grayscale",a[c]),"hueRotate"===c&&setFilter(b,"hueRotate",a[c]),"invert"===c&&setFilter(b,"invert",a[c]),"saturate"===c&&setFilter(b,"saturate",a[c]),"sepia"===c&&setFilter(b,"sepia",a[c]);var d="";"x"===c&&(d=jQuery.CSS.sfx+"transform",b[d]=b[d]||"",b[d]+=" translateX("+setUnit(a[c],"px")+")",delete b[c]),"y"===c&&(d=jQuery.CSS.sfx+"transform",b[d]=b[d]||"",b[d]+=" translateY("+setUnit(a[c],"px")+")",delete b[c]),"z"===c&&(d=jQuery.CSS.sfx+"transform",b[d]=b[d]||"",b[d]+=" translateZ("+setUnit(a[c],"px")+")",delete b[c]),"rotate"===c&&(d=jQuery.CSS.sfx+"transform",b[d]=b[d]||"",b[d]+=" rotate("+setUnit(a[c],"deg")+")",delete b[c]),"rotateX"===c&&(d=jQuery.CSS.sfx+"transform",b[d]=b[d]||"",b[d]+=" rotateX("+setUnit(a[c],"deg")+")",delete b[c]),"rotateY"===c&&(d=jQuery.CSS.sfx+"transform",b[d]=b[d]||"",b[d]+=" rotateY("+setUnit(a[c],"deg")+")",delete b[c]),"rotateZ"===c&&(d=jQuery.CSS.sfx+"transform",b[d]=b[d]||"",b[d]+=" rotateZ("+setUnit(a[c],"deg")+")",delete b[c]),"scale"===c&&(d=jQuery.CSS.sfx+"transform",b[d]=b[d]||"",b[d]+=" scale("+setUnit(a[c],"")+")",delete b[c]),"scaleX"===c&&(d=jQuery.CSS.sfx+"transform",b[d]=b[d]||"",b[d]+=" scaleX("+setUnit(a[c],"")+")",delete b[c]),"scaleY"===c&&(d=jQuery.CSS.sfx+"transform",b[d]=b[d]||"",b[d]+=" scaleY("+setUnit(a[c],"")+")",delete b[c]),"scaleZ"===c&&(d=jQuery.CSS.sfx+"transform",b[d]=b[d]||"",b[d]+=" scaleZ("+setUnit(a[c],"")+")",delete b[c]),"skew"===c&&(d=jQuery.CSS.sfx+"transform",b[d]=b[d]||"",b[d]+=" skew("+setUnit(a[c],"deg")+")",delete b[c]),"skewX"===c&&(d=jQuery.CSS.sfx+"transform",b[d]=b[d]||"",b[d]+=" skewX("+setUnit(a[c],"deg")+")",delete b[c]),"skewY"===c&&(d=jQuery.CSS.sfx+"transform",b[d]=b[d]||"",b[d]+=" skewY("+setUnit(a[c],"deg")+")",delete b[c]),"perspective"===c&&(d=jQuery.CSS.sfx+"transform",b[d]=b[d]||"",b[d]+=" perspective("+setUnit(a[c],"px")+")",delete b[c])}return b},getProp:function(a){var b=[];for(var c in a)b.indexOf(c)<0&&b.push(uncamel(c));return b.join(",")},animate:function(a,b,c,d,e){return this.each(function(){function o(){f.called=!0,f.CSSAIsRunning=!1,g.off(jQuery.CSS.transitionEnd+"."+f.id),clearTimeout(f.timeout),g.css(jQuery.CSS.sfx+"transition",""),"function"==typeof e&&e.apply(f),"function"==typeof f.CSSqueue&&(f.CSSqueue(),f.CSSqueue=null)}var f=this,g=jQuery(this);f.id=f.id||"CSSA_"+(new Date).getTime();var h=h||{type:"noEvent"};if(f.CSSAIsRunning&&f.eventType==h.type&&!jQuery.browser.msie&&jQuery.browser.version<=9)return f.CSSqueue=function(){g.CSSAnimate(a,b,c,d,e)},void 0;if(f.CSSqueue=null,f.eventType=h.type,0!==g.length&&a){if(a=jQuery.normalizeCss(a),f.CSSAIsRunning=!0,"function"==typeof b&&(e=b,b=jQuery.fx.speeds._default),"function"==typeof c&&(d=c,c=0),"string"==typeof c&&(e=c,c=0),"function"==typeof d&&(e=d,d="cubic-bezier(0.65,0.03,0.36,0.72)"),"string"==typeof b)for(var i in jQuery.fx.speeds){if(b==i){b=jQuery.fx.speeds[i];break}b=jQuery.fx.speeds._default}if(b||(b=jQuery.fx.speeds._default),"string"==typeof e&&(d=e,e=null),!jQuery.support.CSStransition){for(var j in a){if("transform"===j&&delete a[j],"filter"===j&&delete a[j],"transform-origin"===j&&delete a[j],"auto"===a[j]&&delete a[j],"x"===j){var k=a[j],l="left";a[l]=k,delete a[j]}if("y"===j){var k=a[j],l="top";a[l]=k,delete a[j]}("-ms-transform"===j||"-ms-filter"===j)&&delete a[j]}return g.delay(c).animate(a,b,e),void 0}var m={"default":"ease","in":"ease-in",out:"ease-out","in-out":"ease-in-out",snap:"cubic-bezier(0,1,.5,1)",easeOutCubic:"cubic-bezier(.215,.61,.355,1)",easeInOutCubic:"cubic-bezier(.645,.045,.355,1)",easeInCirc:"cubic-bezier(.6,.04,.98,.335)",easeOutCirc:"cubic-bezier(.075,.82,.165,1)",easeInOutCirc:"cubic-bezier(.785,.135,.15,.86)",easeInExpo:"cubic-bezier(.95,.05,.795,.035)",easeOutExpo:"cubic-bezier(.19,1,.22,1)",easeInOutExpo:"cubic-bezier(1,0,0,1)",easeInQuad:"cubic-bezier(.55,.085,.68,.53)",easeOutQuad:"cubic-bezier(.25,.46,.45,.94)",easeInOutQuad:"cubic-bezier(.455,.03,.515,.955)",easeInQuart:"cubic-bezier(.895,.03,.685,.22)",easeOutQuart:"cubic-bezier(.165,.84,.44,1)",easeInOutQuart:"cubic-bezier(.77,0,.175,1)",easeInQuint:"cubic-bezier(.755,.05,.855,.06)",easeOutQuint:"cubic-bezier(.23,1,.32,1)",easeInOutQuint:"cubic-bezier(.86,0,.07,1)",easeInSine:"cubic-bezier(.47,0,.745,.715)",easeOutSine:"cubic-bezier(.39,.575,.565,1)",easeInOutSine:"cubic-bezier(.445,.05,.55,.95)",easeInBack:"cubic-bezier(.6,-.28,.735,.045)",easeOutBack:"cubic-bezier(.175, .885,.32,1.275)",easeInOutBack:"cubic-bezier(.68,-.55,.265,1.55)"};m[d]&&(d=m[d]),g.off(jQuery.CSS.transitionEnd+"."+f.id);var n=jQuery.CSS.getProp(a),p={};jQuery.extend(p,a),p[jQuery.CSS.sfx+"transition-property"]=n,p[jQuery.CSS.sfx+"transition-duration"]=b+"ms",p[jQuery.CSS.sfx+"transition-delay"]=c+"ms",p[jQuery.CSS.sfx+"transition-timing-function"]=d,setTimeout(function(){g.one(jQuery.CSS.transitionEnd+"."+f.id,o),g.css(p)},1),f.timeout=setTimeout(function(){return f.called||!e?(f.called=!1,f.CSSAIsRunning=!1,void 0):(g.css(jQuery.CSS.sfx+"transition",""),e.apply(f),f.CSSAIsRunning=!1,"function"==typeof f.CSSqueue&&(f.CSSqueue(),f.CSSqueue=null),void 0)},b+c+10)}})}},jQuery.fn.CSSAnimate=jQuery.CSS.animate,jQuery.normalizeCss=jQuery.CSS.normalizeCss,jQuery.fn.css3=function(a){return this.each(function(){var b=jQuery(this),c=jQuery.normalizeCss(a);b.css(c)})};
+;/*
+ * ******************************************************************************
+ *  jquery.mb.components
+ *  file: jquery.mb.browser.min.js
+ *
+ *  Copyright (c) 2001-2014. Matteo Bicocchi (Pupunzi);
+ *  Open lab srl, Firenze - Italy
+ *  email: matteo@open-lab.com
+ *  site:      http://pupunzi.com
+ *  blog:      http://pupunzi.open-lab.com
+ *     http://open-lab.com
+ *
+ *  Licences: MIT, GPL
+ *  http://www.opensource.org/licenses/mit-license.php
+ *  http://www.gnu.org/licenses/gpl.html
+ *
+ *  last modified: 26/03/14 21.43
+ *  *****************************************************************************
+ */
+
+var nAgt=navigator.userAgent;if(!jQuery.browser){jQuery.browser={},jQuery.browser.mozilla=!1,jQuery.browser.webkit=!1,jQuery.browser.opera=!1,jQuery.browser.safari=!1,jQuery.browser.chrome=!1,jQuery.browser.msie=!1,jQuery.browser.ua=nAgt,jQuery.browser.name=navigator.appName,jQuery.browser.fullVersion=""+parseFloat(navigator.appVersion),jQuery.browser.majorVersion=parseInt(navigator.appVersion,10);var nameOffset,verOffset,ix;if(-1!=(verOffset=nAgt.indexOf("Opera")))jQuery.browser.opera=!0,jQuery.browser.name="Opera",jQuery.browser.fullVersion=nAgt.substring(verOffset+6),-1!=(verOffset=nAgt.indexOf("Version"))&&(jQuery.browser.fullVersion=nAgt.substring(verOffset+8));else if(-1!=(verOffset=nAgt.indexOf("OPR")))jQuery.browser.opera=!0,jQuery.browser.name="Opera",jQuery.browser.fullVersion=nAgt.substring(verOffset+4);else if(-1!=(verOffset=nAgt.indexOf("MSIE")))jQuery.browser.msie=!0,jQuery.browser.name="Microsoft Internet Explorer",jQuery.browser.fullVersion=nAgt.substring(verOffset+5);else if(-1!=nAgt.indexOf("Trident")){jQuery.browser.msie=!0,jQuery.browser.name="Microsoft Internet Explorer";var start=nAgt.indexOf("rv:")+3,end=start+4;jQuery.browser.fullVersion=nAgt.substring(start,end)}else-1!=(verOffset=nAgt.indexOf("Chrome"))?(jQuery.browser.webkit=!0,jQuery.browser.chrome=!0,jQuery.browser.name="Chrome",jQuery.browser.fullVersion=nAgt.substring(verOffset+7)):-1!=(verOffset=nAgt.indexOf("Safari"))?(jQuery.browser.webkit=!0,jQuery.browser.safari=!0,jQuery.browser.name="Safari",jQuery.browser.fullVersion=nAgt.substring(verOffset+7),-1!=(verOffset=nAgt.indexOf("Version"))&&(jQuery.browser.fullVersion=nAgt.substring(verOffset+8))):-1!=(verOffset=nAgt.indexOf("AppleWebkit"))?(jQuery.browser.webkit=!0,jQuery.browser.name="Safari",jQuery.browser.fullVersion=nAgt.substring(verOffset+7),-1!=(verOffset=nAgt.indexOf("Version"))&&(jQuery.browser.fullVersion=nAgt.substring(verOffset+8))):-1!=(verOffset=nAgt.indexOf("Firefox"))?(jQuery.browser.mozilla=!0,jQuery.browser.name="Firefox",jQuery.browser.fullVersion=nAgt.substring(verOffset+8)):(nameOffset=nAgt.lastIndexOf(" ")+1)<(verOffset=nAgt.lastIndexOf("/"))&&(jQuery.browser.name=nAgt.substring(nameOffset,verOffset),jQuery.browser.fullVersion=nAgt.substring(verOffset+1),jQuery.browser.name.toLowerCase()==jQuery.browser.name.toUpperCase()&&(jQuery.browser.name=navigator.appName));-1!=(ix=jQuery.browser.fullVersion.indexOf(";"))&&(jQuery.browser.fullVersion=jQuery.browser.fullVersion.substring(0,ix)),-1!=(ix=jQuery.browser.fullVersion.indexOf(" "))&&(jQuery.browser.fullVersion=jQuery.browser.fullVersion.substring(0,ix)),jQuery.browser.majorVersion=parseInt(""+jQuery.browser.fullVersion,10),isNaN(jQuery.browser.majorVersion)&&(jQuery.browser.fullVersion=""+parseFloat(navigator.appVersion),jQuery.browser.majorVersion=parseInt(navigator.appVersion,10)),jQuery.browser.version=jQuery.browser.majorVersion}jQuery.browser.android=/Android/i.test(nAgt),jQuery.browser.blackberry=/BlackBerry|BB|PlayBook/i.test(nAgt),jQuery.browser.ios=/iPhone|iPad|iPod|webOS/i.test(nAgt),jQuery.browser.operaMobile=/Opera Mini/i.test(nAgt),jQuery.browser.windowsMobile=/IEMobile|Windows Phone/i.test(nAgt),jQuery.browser.kindle=/Kindle|Silk/i.test(nAgt),jQuery.browser.mobile=jQuery.browser.android||jQuery.browser.blackberry||jQuery.browser.ios||jQuery.browser.windowsMobile||jQuery.browser.operaMobile||jQuery.browser.kindle,jQuery.isMobile=jQuery.browser.mobile,jQuery.isTablet=jQuery.browser.mobile&&jQuery(window).width()>765,jQuery.isAndroidDefault=jQuery.browser.android&&!/chrome/i.test(nAgt);
+;/*___________________________________________________________________________________________________________________________________________________
+ _ jquery.mb.components                                                                                                                             _
+ _                                                                                                                                                  _
+ _ file: jquery.mb.simpleSlider.min.js                                                                                                              _
+ _ last modified: 16/05/15 23.45                                                                                                                    _
+ _                                                                                                                                                  _
+ _ Open Lab s.r.l., Florence - Italy                                                                                                                _
+ _                                                                                                                                                  _
+ _ email: matteo@open-lab.com                                                                                                                       _
+ _ site: http://pupunzi.com                                                                                                                         _
+ _       http://open-lab.com                                                                                                                        _
+ _ blog: http://pupunzi.open-lab.com                                                                                                                _
+ _ Q&A:  http://jquery.pupunzi.com                                                                                                                  _
+ _                                                                                                                                                  _
+ _ Licences: MIT, GPL                                                                                                                               _
+ _    http://www.opensource.org/licenses/mit-license.php                                                                                            _
+ _    http://www.gnu.org/licenses/gpl.html                                                                                                          _
+ _                                                                                                                                                  _
+ _ Copyright (c) 2001-2015. Matteo Bicocchi (Pupunzi);                                                                                              _
+ ___________________________________________________________________________________________________________________________________________________*/
+
+!function(a){/iphone|ipod|ipad|android|ie|blackberry|fennec/.test(navigator.userAgent.toLowerCase());var c="ontouchstart"in window||window.navigator&&window.navigator.msPointerEnabled&&window.MSGesture||window.DocumentTouch&&document instanceof DocumentTouch||!1;a.simpleSlider={defaults:{initialval:0,scale:100,orientation:"h",readonly:!1,callback:!1},events:{start:c?"touchstart":"mousedown",end:c?"touchend":"mouseup",move:c?"touchmove":"mousemove"},init:function(b){return this.each(function(){var d=this,e=a(d);e.addClass("simpleSlider"),d.opt={},a.extend(d.opt,a.simpleSlider.defaults,b),a.extend(d.opt,e.data());var f="h"==d.opt.orientation?"horizontal":"vertical",g=a("<div/>").addClass("level").addClass(f);e.prepend(g),d.level=g,e.css({cursor:"default"}),"auto"==d.opt.scale&&(d.opt.scale=a(d).outerWidth()),e.updateSliderVal(),d.opt.readonly||(e.on(a.simpleSlider.events.start,function(a){c&&(a=a.changedTouches[0]),d.canSlide=!0,e.updateSliderVal(a),e.css({cursor:"col-resize"}),a.preventDefault(),a.stopPropagation()}),a(document).on(a.simpleSlider.events.move,function(b){c&&(b=b.changedTouches[0]),d.canSlide&&(a(document).css({cursor:"default"}),e.updateSliderVal(b),b.preventDefault(),b.stopPropagation())}).on(a.simpleSlider.events.end,function(){a(document).css({cursor:"auto"}),d.canSlide=!1,e.css({cursor:"auto"})}))})},updateSliderVal:function(b){function g(a,b){return Math.floor(100*a/b)}var c=this,d=c.get(0);d.opt.initialval="number"==typeof d.opt.initialval?d.opt.initialval:d.opt.initialval(d);var e=a(d).outerWidth(),f=a(d).outerHeight();d.x="object"==typeof b?b.clientX+document.body.scrollLeft-c.offset().left:"number"==typeof b?b*e/d.opt.scale:d.opt.initialval*e/d.opt.scale,d.y="object"==typeof b?b.clientY+document.body.scrollTop-c.offset().top:"number"==typeof b?(d.opt.scale-d.opt.initialval-b)*f/d.opt.scale:d.opt.initialval*f/d.opt.scale,d.y=c.outerHeight()-d.y,d.scaleX=d.x*d.opt.scale/e,d.scaleY=d.y*d.opt.scale/f,d.outOfRangeX=d.scaleX>d.opt.scale?d.scaleX-d.opt.scale:d.scaleX<0?d.scaleX:0,d.outOfRangeY=d.scaleY>d.opt.scale?d.scaleY-d.opt.scale:d.scaleY<0?d.scaleY:0,d.outOfRange="h"==d.opt.orientation?d.outOfRangeX:d.outOfRangeY,d.value="undefined"!=typeof b?"h"==d.opt.orientation?d.x>=c.outerWidth()?d.opt.scale:d.x<=0?0:d.scaleX:d.y>=c.outerHeight()?d.opt.scale:d.y<=0?0:d.scaleY:"h"==d.opt.orientation?d.scaleX:d.scaleY,"h"==d.opt.orientation?d.level.width(g(d.x,e)+"%"):d.level.height(g(d.y,f)),"function"==typeof d.opt.callback&&d.opt.callback(d)}},a.fn.simpleSlider=a.simpleSlider.init,a.fn.updateSliderVal=a.simpleSlider.updateSliderVal}(jQuery);
+;/*___________________________________________________________________________________________________________________________________________________
+ _ jquery.mb.components                                                                                                                             _
+ _                                                                                                                                                  _
+ _ file: jquery.mb.storage.min.js                                                                                                                   _
+ _ last modified: 24/05/15 16.08                                                                                                                    _
+ _                                                                                                                                                  _
+ _ Open Lab s.r.l., Florence - Italy                                                                                                                _
+ _                                                                                                                                                  _
+ _ email: matteo@open-lab.com                                                                                                                       _
+ _ site: http://pupunzi.com                                                                                                                         _
+ _       http://open-lab.com                                                                                                                        _
+ _ blog: http://pupunzi.open-lab.com                                                                                                                _
+ _ Q&A:  http://jquery.pupunzi.com                                                                                                                  _
+ _                                                                                                                                                  _
+ _ Licences: MIT, GPL                                                                                                                               _
+ _    http://www.opensource.org/licenses/mit-license.php                                                                                            _
+ _    http://www.gnu.org/licenses/gpl.html                                                                                                          _
+ _                                                                                                                                                  _
+ _ Copyright (c) 2001-2015. Matteo Bicocchi (Pupunzi);                                                                                              _
+ ___________________________________________________________________________________________________________________________________________________*/
+
+!function(a){a.mbCookie={set:function(a,b,c,d){b=JSON.stringify(b),c||(c=7),d=d?"; domain="+d:"";var f,e=new Date;e.setTime(e.getTime()+1e3*60*60*24*c),f="; expires="+e.toGMTString(),document.cookie=a+"="+b+f+"; path=/"+d},get:function(a){for(var b=a+"=",c=document.cookie.split(";"),d=0;d<c.length;d++){for(var e=c[d];" "==e.charAt(0);)e=e.substring(1,e.length);if(0==e.indexOf(b))return JSON.parse(e.substring(b.length,e.length))}return null},remove:function(b){a.mbCookie.set(b,"",-1)}},a.mbStorage={set:function(a,b){b=JSON.stringify(b),localStorage.setItem(a,b)},get:function(a){return localStorage[a]?JSON.parse(localStorage[a]):null},remove:function(a){a?localStorage.removeItem(a):localStorage.clear()}}}(jQuery);
\ No newline at end of file
diff --git a/templates/shop-isle/assets/js/vendor/jquery.mb.YTPlayer.min.js b/templates/shop-isle/assets/js/vendor/jquery.mb.YTPlayer.min.js
new file mode 100644 (file)
index 0000000..f375c42
--- /dev/null
@@ -0,0 +1,9 @@
+/*jquery.mb.YTPlayer 13-03-2016
+ _ jquery.mb.components 
+ _ email: matteo@open-lab.com 
+ _ Copyright (c) 2001-2016. Matteo Bicocchi (Pupunzi); 
+ _ blog: http://pupunzi.open-lab.com 
+ _ Open Lab s.r.l., Florence - Italy 
+ */
+function onYouTubeIframeAPIReady(){ytp.YTAPIReady||(ytp.YTAPIReady=!0,jQuery(document).trigger("YTAPIReady"))}function uncamel(a){return a.replace(/([A-Z])/g,function(a){return"-"+a.toLowerCase()})}function setUnit(a,b){return"string"!=typeof a||a.match(/^[\-0-9\.]+jQuery/)?""+a+b:a}function setFilter(a,b,c){var d=uncamel(b),e=jQuery.browser.mozilla?"":jQuery.CSS.sfx;a[e+"filter"]=a[e+"filter"]||"",c=setUnit(c>jQuery.CSS.filters[b].max?jQuery.CSS.filters[b].max:c,jQuery.CSS.filters[b].unit),a[e+"filter"]+=d+"("+c+") ",delete a[b]}var ytp=ytp||{},getYTPVideoID=function(a){var b,c;return a.indexOf("youtu.be")>0?(b=a.substr(a.lastIndexOf("/")+1,a.length),c=b.indexOf("?list=")>0?b.substr(b.lastIndexOf("="),b.length):null,b=c?b.substr(0,b.lastIndexOf("?")):b):a.indexOf("http")>-1?(b=a.match(/[\\?&]v=([^&#]*)/)[1],c=a.indexOf("list=")>0?a.match(/[\\?&]list=([^&#]*)/)[1]:null):(b=a.length>15?null:a,c=b?null:a),{videoID:b,playlistID:c}};!function(jQuery,ytp){jQuery.mbYTPlayer={name:"jquery.mb.YTPlayer",version:"3.0.0",build:"5679",author:"Matteo Bicocchi",apiKey:"",defaults:{containment:"body",ratio:"auto",videoURL:null,playlistURL:null,startAt:0,stopAt:0,autoPlay:!0,vol:50,addRaster:!1,opacity:1,quality:"default",mute:!1,loop:!0,showControls:!0,showAnnotations:!1,showYTLogo:!0,stopMovieOnBlur:!0,realfullscreen:!0,gaTrack:!0,optimizeDisplay:!0,onReady:function(a){}},controls:{play:"P",pause:"p",mute:"M",unmute:"A",onlyYT:"O",showSite:"R",ytLogo:"Y"},locationProtocol:"https:",buildPlayer:function(options){return this.each(function(){var YTPlayer=this,$YTPlayer=jQuery(YTPlayer);YTPlayer.loop=0,YTPlayer.opt={},YTPlayer.state={},YTPlayer.filtersEnabled=!0,YTPlayer.id=YTPlayer.id||"YTP_"+(new Date).getTime(),YTPlayer.filters={grayscale:{value:0,unit:"%"},hue_rotate:{value:0,unit:"deg"},invert:{value:0,unit:"%"},opacity:{value:0,unit:"%"},saturate:{value:0,unit:"%"},sepia:{value:0,unit:"%"},brightness:{value:0,unit:"%"},contrast:{value:0,unit:"%"},blur:{value:0,unit:"px"}},$YTPlayer.addClass("mb_YTPlayer");var property=$YTPlayer.data("property")&&"string"==typeof $YTPlayer.data("property")?eval("("+$YTPlayer.data("property")+")"):$YTPlayer.data("property");"undefined"!=typeof property&&"undefined"!=typeof property.vol&&(property.vol=0===property.vol?property.vol=1:property.vol),jQuery.extend(YTPlayer.opt,jQuery.mbYTPlayer.defaults,options,property),YTPlayer.hasChanged||(YTPlayer.defaultOpt={},jQuery.extend(YTPlayer.defaultOpt,jQuery.mbYTPlayer.defaults,options)),"true"==YTPlayer.opt.loop&&(YTPlayer.opt.loop=9999),YTPlayer.isRetina=window.retina||window.devicePixelRatio>1;var isIframe=function(){var a=!1;try{self.location.href!=top.location.href&&(a=!0)}catch(b){a=!0}return a};YTPlayer.canGoFullScreen=!(jQuery.browser.msie||jQuery.browser.opera||isIframe()),YTPlayer.canGoFullScreen||(YTPlayer.opt.realfullscreen=!1),$YTPlayer.attr("id")||$YTPlayer.attr("id","video_"+(new Date).getTime());var playerID="mbYTP_"+YTPlayer.id;YTPlayer.isAlone=!1,YTPlayer.hasFocus=!0;var videoID=this.opt.videoURL?getYTPVideoID(this.opt.videoURL).videoID:$YTPlayer.attr("href")?getYTPVideoID($YTPlayer.attr("href")).videoID:!1,playlistID=this.opt.videoURL?getYTPVideoID(this.opt.videoURL).playlistID:$YTPlayer.attr("href")?getYTPVideoID($YTPlayer.attr("href")).playlistID:!1;YTPlayer.videoID=videoID,YTPlayer.playlistID=playlistID,YTPlayer.opt.showAnnotations=YTPlayer.opt.showAnnotations?"0":"3";var playerVars={autoplay:0,modestbranding:1,controls:0,showinfo:0,rel:0,enablejsapi:1,version:3,playerapiid:playerID,origin:"*",allowfullscreen:!0,wmode:"transparent",iv_load_policy:YTPlayer.opt.showAnnotations};document.createElement("video").canPlayType&&jQuery.extend(playerVars,{html5:1}),jQuery.browser.msie&&jQuery.browser.version<9&&(this.opt.opacity=1);var playerBox=jQuery("<div/>").attr("id",playerID).addClass("playerBox"),overlay=jQuery("<div/>").css({position:"absolute",top:0,left:0,width:"100%",height:"100%"}).addClass("YTPOverlay");if(YTPlayer.isSelf="self"==YTPlayer.opt.containment,YTPlayer.defaultOpt.containment=YTPlayer.opt.containment=jQuery("self"==YTPlayer.opt.containment?this:YTPlayer.opt.containment),YTPlayer.isBackground="body"==YTPlayer.opt.containment.get(0).tagName.toLowerCase(),!YTPlayer.isBackground||!ytp.backgroundIsInited){var isPlayer=YTPlayer.opt.containment.is(jQuery(this));if(YTPlayer.canPlayOnMobile=isPlayer&&0===jQuery(this).children().length,isPlayer?YTPlayer.isPlayer=!0:$YTPlayer.hide(),jQuery.browser.mobile&&!YTPlayer.canPlayOnMobile)return void $YTPlayer.remove();var wrapper=jQuery("<div/>").addClass("mbYTP_wrapper").attr("id","wrapper_"+playerID);if(wrapper.css({position:"absolute",zIndex:0,minWidth:"100%",minHeight:"100%",left:0,top:0,overflow:"hidden",opacity:0}),playerBox.css({position:"absolute",zIndex:0,width:"100%",height:"100%",top:0,left:0,overflow:"hidden"}),wrapper.append(playerBox),YTPlayer.opt.containment.children().not("script, style").each(function(){"static"==jQuery(this).css("position")&&jQuery(this).css("position","relative")}),YTPlayer.isBackground?(jQuery("body").css({boxSizing:"border-box"}),wrapper.css({position:"fixed",top:0,left:0,zIndex:0}),$YTPlayer.hide()):"static"==YTPlayer.opt.containment.css("position")&&YTPlayer.opt.containment.css({position:"relative"}),YTPlayer.opt.containment.prepend(wrapper),YTPlayer.wrapper=wrapper,playerBox.css({opacity:1}),jQuery.browser.mobile||(playerBox.after(overlay),YTPlayer.overlay=overlay),YTPlayer.isBackground||overlay.on("mouseenter",function(){YTPlayer.controlBar&&YTPlayer.controlBar.addClass("visible")}).on("mouseleave",function(){YTPlayer.controlBar&&YTPlayer.controlBar.removeClass("visible")}),ytp.YTAPIReady)setTimeout(function(){jQuery(document).trigger("YTAPIReady")},100);else{jQuery("#YTAPI").remove();var tag=jQuery("<script></script>").attr({src:jQuery.mbYTPlayer.locationProtocol+"//www.youtube.com/iframe_api?v="+jQuery.mbYTPlayer.version,id:"YTAPI"});jQuery("head").prepend(tag)}jQuery(document).on("YTAPIReady",function(){YTPlayer.isBackground&&ytp.backgroundIsInited||YTPlayer.isInit||(YTPlayer.isBackground&&(ytp.backgroundIsInited=!0),YTPlayer.opt.autoPlay="undefined"==typeof YTPlayer.opt.autoPlay?YTPlayer.isBackground?!0:!1:YTPlayer.opt.autoPlay,YTPlayer.opt.vol=YTPlayer.opt.vol?YTPlayer.opt.vol:100,jQuery.mbYTPlayer.getDataFromAPI(YTPlayer),jQuery(YTPlayer).on("YTPChanged",function(){if(!YTPlayer.isInit){if(YTPlayer.isInit=!0,jQuery.browser.mobile&&YTPlayer.canPlayOnMobile){if(YTPlayer.opt.containment.outerWidth()>jQuery(window).width()){YTPlayer.opt.containment.css({maxWidth:"100%"});var h=.6*YTPlayer.opt.containment.outerWidth();YTPlayer.opt.containment.css({maxHeight:h})}return void new YT.Player(playerID,{videoId:YTPlayer.videoID.toString(),height:"100%",width:"100%",events:{onReady:function(a){YTPlayer.player=a.target,playerBox.css({opacity:1}),YTPlayer.wrapper.css({opacity:1})}}})}new YT.Player(playerID,{videoId:YTPlayer.videoID.toString(),playerVars:playerVars,events:{onReady:function(a){YTPlayer.player=a.target,YTPlayer.isReady||(YTPlayer.isReady=YTPlayer.isPlayer&&!YTPlayer.opt.autoPlay?!1:!0,YTPlayer.playerEl=YTPlayer.player.getIframe(),jQuery(YTPlayer.playerEl).unselectable(),$YTPlayer.optimizeDisplay(),YTPlayer.videoID=videoID,jQuery(window).off("resize.YTP_"+YTPlayer.id).on("resize.YTP_"+YTPlayer.id,function(){$YTPlayer.optimizeDisplay()}),jQuery.mbYTPlayer.checkForState(YTPlayer))},onStateChange:function(event){if("function"==typeof event.target.getPlayerState){var state=event.target.getPlayerState();if(YTPlayer.state!=state){if(YTPlayer.preventTrigger)return void(YTPlayer.preventTrigger=!1);YTPlayer.state=state;var eventType;switch(state){case-1:eventType="YTPUnstarted";break;case 0:eventType="YTPEnd";break;case 1:eventType="YTPPlay",YTPlayer.controlBar&&YTPlayer.controlBar.find(".mb_YTPPlaypause").html(jQuery.mbYTPlayer.controls.pause),"undefined"!=typeof _gaq&&eval(YTPlayer.opt.gaTrack)&&_gaq.push(["_trackEvent","YTPlayer","Play",YTPlayer.hasData?YTPlayer.videoData.title:YTPlayer.videoID.toString()]),"undefined"!=typeof ga&&eval(YTPlayer.opt.gaTrack)&&ga("send","event","YTPlayer","play",YTPlayer.hasData?YTPlayer.videoData.title:YTPlayer.videoID.toString());break;case 2:eventType="YTPPause",YTPlayer.controlBar&&YTPlayer.controlBar.find(".mb_YTPPlaypause").html(jQuery.mbYTPlayer.controls.play);break;case 3:YTPlayer.player.setPlaybackQuality(YTPlayer.opt.quality),eventType="YTPBuffering",YTPlayer.controlBar&&YTPlayer.controlBar.find(".mb_YTPPlaypause").html(jQuery.mbYTPlayer.controls.play);break;case 5:eventType="YTPCued"}var YTPEvent=jQuery.Event(eventType);YTPEvent.time=YTPlayer.player.time,YTPlayer.canTrigger&&jQuery(YTPlayer).trigger(YTPEvent)}}},onPlaybackQualityChange:function(a){var b=a.target.getPlaybackQuality(),c=jQuery.Event("YTPQualityChange");c.quality=b,jQuery(YTPlayer).trigger(c)},onError:function(a){150==a.data&&(console.log("Embedding this video is restricted by Youtube."),YTPlayer.isPlayList&&jQuery(YTPlayer).playNext()),2==a.data&&YTPlayer.isPlayList&&jQuery(YTPlayer).playNext(),"function"==typeof YTPlayer.opt.onError&&YTPlayer.opt.onError($YTPlayer,a)}}})}}))})}})},getDataFromAPI:function(a){if(a.videoData=jQuery.mbStorage.get("YTPlayer_data_"+a.videoID),jQuery(a).off("YTPData.YTPlayer").on("YTPData.YTPlayer",function(){if(a.hasData&&a.isPlayer&&!a.opt.autoPlay){var b=a.videoData.thumb_max||a.videoData.thumb_high||a.videoData.thumb_medium;a.opt.containment.css({background:"rgba(0,0,0,0.5) url("+b+") center center",backgroundSize:"cover"}),a.opt.backgroundUrl=b}}),a.videoData)setTimeout(function(){a.opt.ratio="auto"==a.opt.ratio?"16/9":a.opt.ratio,a.dataReceived=!0,jQuery(a).trigger("YTPChanged");var b=jQuery.Event("YTPData");b.prop={};for(var c in a.videoData)b.prop[c]=a.videoData[c];jQuery(a).trigger(b)},500),a.hasData=!0;else if(jQuery.mbYTPlayer.apiKey)jQuery.getJSON(jQuery.mbYTPlayer.locationProtocol+"//www.googleapis.com/youtube/v3/videos?id="+a.videoID+"&key="+jQuery.mbYTPlayer.apiKey+"&part=snippet",function(b){function c(b){a.videoData={},a.videoData.id=a.videoID,a.videoData.channelTitle=b.channelTitle,a.videoData.title=b.title,a.videoData.description=b.description.length<400?b.description:b.description.substring(0,400)+" ...",a.videoData.aspectratio="auto"==a.opt.ratio?"16/9":a.opt.ratio,a.opt.ratio=a.videoData.aspectratio,a.videoData.thumb_max=b.thumbnails.maxres?b.thumbnails.maxres.url:null,a.videoData.thumb_high=b.thumbnails.high?b.thumbnails.high.url:null,a.videoData.thumb_medium=b.thumbnails.medium?b.thumbnails.medium.url:null,jQuery.mbStorage.set("YTPlayer_data_"+a.videoID,a.videoData)}a.dataReceived=!0,jQuery(a).trigger("YTPChanged"),c(b.items[0].snippet),a.hasData=!0;var d=jQuery.Event("YTPData");d.prop={};for(var e in a.videoData)d.prop[e]=a.videoData[e];jQuery(a).trigger(d)});else{if(setTimeout(function(){jQuery(a).trigger("YTPChanged")},50),a.isPlayer&&!a.opt.autoPlay){var b=jQuery.mbYTPlayer.locationProtocol+"//i.ytimg.com/vi/"+a.videoID+"/hqdefault.jpg";a.opt.containment.css({background:"rgba(0,0,0,0.5) url("+b+") center center",backgroundSize:"cover"}),a.opt.backgroundUrl=b}a.videoData=null,a.opt.ratio="auto"==a.opt.ratio?"16/9":a.opt.ratio}a.isPlayer&&!a.opt.autoPlay&&(a.loading=jQuery("<div/>").addClass("loading").html("Loading").hide(),jQuery(a).append(a.loading),a.loading.fadeIn())},removeStoredData:function(){jQuery.mbStorage.remove()},getVideoData:function(){var a=this.get(0);return a.videoData},getVideoID:function(){var a=this.get(0);return a.videoID||!1},setVideoQuality:function(a){var b=this.get(0);b.player.setPlaybackQuality(a)},playlist:function(a,b,c){var d=this,e=d.get(0);return e.isPlayList=!0,b&&(a=jQuery.shuffle(a)),e.videoID||(e.videos=a,e.videoCounter=0,e.videoLength=a.length,jQuery(e).data("property",a[0]),jQuery(e).mb_YTPlayer()),"function"==typeof c&&jQuery(e).one("YTPChanged",function(){c(e)}),jQuery(e).on("YTPEnd",function(){jQuery(e).playNext()}),d},playNext:function(){var a=this.get(0);return a.checkForStartAt&&(clearTimeout(a.checkForStartAt),clearInterval(a.getState)),a.videoCounter++,a.videoCounter>=a.videoLength&&(a.videoCounter=0),jQuery(a).changeMovie(a.videos[a.videoCounter]),this},playPrev:function(){var a=this.get(0);return a.checkForStartAt&&(clearInterval(a.checkForStartAt),clearInterval(a.getState)),a.videoCounter--,a.videoCounter<0&&(a.videoCounter=a.videoLength-1),jQuery(a).changeMovie(a.videos[a.videoCounter]),this},changeMovie:function(a){var b=this.get(0);b.opt.startAt=0,b.opt.stopAt=0,b.opt.mute=!0,b.hasData=!1,b.hasChanged=!0,b.player.loopTime=void 0,a&&jQuery.extend(b.opt,b.defaultOpt,a),b.videoID=getYTPVideoID(b.opt.videoURL).videoID,"true"==b.opt.loop&&(b.opt.loop=9999),jQuery(b.playerEl).CSSAnimate({opacity:0},200,function(){var a=jQuery.Event("YTPChangeMovie");return a.time=b.player.time,a.videoId=b.videoID,jQuery(b).trigger(a),jQuery(b).YTPGetPlayer().cueVideoByUrl(encodeURI(jQuery.mbYTPlayer.locationProtocol+"//www.youtube.com/v/"+b.videoID),1,b.opt.quality),jQuery(b).optimizeDisplay(),jQuery.mbYTPlayer.checkForState(b),jQuery.mbYTPlayer.getDataFromAPI(b),this})},getPlayer:function(){return jQuery(this).get(0).player},playerDestroy:function(){var a=this.get(0);ytp.YTAPIReady=!0,ytp.backgroundIsInited=!1,a.isInit=!1,a.videoID=null;var b=a.wrapper;return b.remove(),jQuery("#controlBar_"+a.id).remove(),clearInterval(a.checkForStartAt),clearInterval(a.getState),this},fullscreen:function(real){function hideMouse(){YTPlayer.overlay.css({cursor:"none"})}function RunPrefixMethod(a,b){for(var c,d,e=["webkit","moz","ms","o",""],f=0;f<e.length&&!a[c];){if(c=b,""==e[f]&&(c=c.substr(0,1).toLowerCase()+c.substr(1)),c=e[f]+c,d=typeof a[c],"undefined"!=d)return e=[e[f]],"function"==d?a[c]():a[c];f++}}function launchFullscreen(a){RunPrefixMethod(a,"RequestFullScreen")}function cancelFullscreen(){(RunPrefixMethod(document,"FullScreen")||RunPrefixMethod(document,"IsFullScreen"))&&RunPrefixMethod(document,"CancelFullScreen")}var YTPlayer=this.get(0);"undefined"==typeof real&&(real=YTPlayer.opt.realfullscreen),real=eval(real);var controls=jQuery("#controlBar_"+YTPlayer.id),fullScreenBtn=controls.find(".mb_OnlyYT"),videoWrapper=YTPlayer.isSelf?YTPlayer.opt.containment:YTPlayer.wrapper;if(real){var fullscreenchange=jQuery.browser.mozilla?"mozfullscreenchange":jQuery.browser.webkit?"webkitfullscreenchange":"fullscreenchange";jQuery(document).off(fullscreenchange).on(fullscreenchange,function(){var a=RunPrefixMethod(document,"IsFullScreen")||RunPrefixMethod(document,"FullScreen");a?(jQuery(YTPlayer).YTPSetVideoQuality("default"),jQuery(YTPlayer).trigger("YTPFullScreenStart")):(YTPlayer.isAlone=!1,fullScreenBtn.html(jQuery.mbYTPlayer.controls.onlyYT),jQuery(YTPlayer).YTPSetVideoQuality(YTPlayer.opt.quality),videoWrapper.removeClass("YTPFullscreen"),videoWrapper.CSSAnimate({opacity:YTPlayer.opt.opacity},500),videoWrapper.css({zIndex:0}),YTPlayer.isBackground?jQuery("body").after(controls):YTPlayer.wrapper.before(controls),jQuery(window).resize(),jQuery(YTPlayer).trigger("YTPFullScreenEnd"))})}return YTPlayer.isAlone?(jQuery(document).off("mousemove.YTPlayer"),YTPlayer.overlay.css({cursor:"auto"}),real?cancelFullscreen():(videoWrapper.CSSAnimate({opacity:YTPlayer.opt.opacity},500),videoWrapper.css({zIndex:0})),fullScreenBtn.html(jQuery.mbYTPlayer.controls.onlyYT),YTPlayer.isAlone=!1):(jQuery(document).on("mousemove.YTPlayer",function(a){YTPlayer.overlay.css({cursor:"auto"}),clearTimeout(YTPlayer.hideCursor),jQuery(a.target).parents().is(".mb_YTPBar")||(YTPlayer.hideCursor=setTimeout(hideMouse,3e3))}),hideMouse(),real?(videoWrapper.css({opacity:0}),videoWrapper.addClass("YTPFullscreen"),launchFullscreen(videoWrapper.get(0)),setTimeout(function(){videoWrapper.CSSAnimate({opacity:1},1e3),YTPlayer.wrapper.append(controls),jQuery(YTPlayer).optimizeDisplay(),YTPlayer.player.seekTo(YTPlayer.player.getCurrentTime()+.1,!0)},500)):videoWrapper.css({zIndex:1e4}).CSSAnimate({opacity:1},1e3),fullScreenBtn.html(jQuery.mbYTPlayer.controls.showSite),YTPlayer.isAlone=!0),this},toggleLoops:function(){var a=this.get(0),b=a.opt;return 1==b.loop?b.loop=0:(b.startAt?a.player.seekTo(b.startAt):a.player.playVideo(),b.loop=1),this},play:function(){var a=this.get(0);if(a.isReady)return a.player.playVideo(),a.wrapper.CSSAnimate({opacity:a.isAlone?1:a.opt.opacity},2e3),jQuery(a.playerEl).CSSAnimate({opacity:1},1e3),jQuery(a).css("background-image","none"),this},togglePlay:function(a){var b=this.get(0);return 1==b.state?this.YTPPause():this.YTPPlay(),"function"==typeof a&&a(b.state),this},stop:function(){var a=this.get(0),b=jQuery("#controlBar_"+a.id),c=b.find(".mb_YTPPlaypause");return c.html(jQuery.mbYTPlayer.controls.play),a.player.stopVideo(),this},pause:function(){var a=this.get(0);return a.player.pauseVideo(),this},seekTo:function(a){var b=this.get(0);return b.player.seekTo(a,!0),this},setVolume:function(a){var b=this.get(0);return a||b.opt.vol||0!=b.player.getVolume()?!a&&b.player.getVolume()>0||a&&b.opt.vol==a?b.isMute?jQuery(b).YTPUnmute():jQuery(b).YTPMute():(b.opt.vol=a,b.player.setVolume(b.opt.vol),b.volumeBar&&b.volumeBar.length&&b.volumeBar.updateSliderVal(a)):jQuery(b).YTPUnmute(),this},mute:function(){var a=this.get(0);if(!a.isMute){a.player.mute(),a.isMute=!0,a.player.setVolume(0),a.volumeBar&&a.volumeBar.length&&a.volumeBar.width()>10&&a.volumeBar.updateSliderVal(0);var b=jQuery("#controlBar_"+a.id),c=b.find(".mb_YTPMuteUnmute");c.html(jQuery.mbYTPlayer.controls.unmute),jQuery(a).addClass("isMuted"),a.volumeBar&&a.volumeBar.length&&a.volumeBar.addClass("muted");var d=jQuery.Event("YTPMuted");return d.time=a.player.time,a.canTrigger&&jQuery(a).trigger(d),this}},unmute:function(){var a=this.get(0);if(a.isMute){a.player.unMute(),a.isMute=!1,a.player.setVolume(a.opt.vol),a.volumeBar&&a.volumeBar.length&&a.volumeBar.updateSliderVal(a.opt.vol>10?a.opt.vol:10);var b=jQuery("#controlBar_"+a.id),c=b.find(".mb_YTPMuteUnmute");c.html(jQuery.mbYTPlayer.controls.mute),jQuery(a).removeClass("isMuted"),a.volumeBar&&a.volumeBar.length&&a.volumeBar.removeClass("muted");var d=jQuery.Event("YTPUnmuted");return d.time=a.player.time,a.canTrigger&&jQuery(a).trigger(d),this}},applyFilter:function(a,b){var c=this.get(0);return c.filters[a].value=b,c.filtersEnabled&&this.YTPEnableFilters(),this},applyFilters:function(a){var b=this.get(0);return this.on("YTPReady",function(){for(var c in a)b.filters[c].value=a[c],jQuery(b).YTPApplyFilter(c,a[c]);jQuery(b).trigger("YTPFiltersApplied")}),this},toggleFilter:function(a,b){return this.each(function(){var c=this;c.filters[a].value?c.filters[a].value=0:c.filters[a].value=b,c.filtersEnabled&&jQuery(this).YTPEnableFilters()})},toggleFilters:function(a){return this.each(function(){var b=this;b.filtersEnabled?(jQuery(b).trigger("YTPDisableFilters"),jQuery(b).YTPDisableFilters()):(jQuery(b).YTPEnableFilters(),jQuery(b).trigger("YTPEnableFilters")),"function"==typeof a&&a(b.filtersEnabled)})},disableFilters:function(){return this.each(function(){var a=this,b=jQuery(a.playerEl);b.css("-webkit-filter",""),b.css("filter",""),a.filtersEnabled=!1})},enableFilters:function(){return this.each(function(){var a=this,b=jQuery(a.playerEl),c="";for(var d in a.filters)a.filters[d].value&&(c+=d.replace("_","-")+"("+a.filters[d].value+a.filters[d].unit+") ");b.css("-webkit-filter",c),b.css("filter",c),a.filtersEnabled=!0})},removeFilter:function(a,b){return this.each(function(){"function"==typeof a&&(b=a,a=null);var c=this;if(a)jQuery(this).YTPApplyFilter(a,0),"function"==typeof b&&b(a);else for(var d in c.filters)jQuery(this).YTPApplyFilter(d,0),"function"==typeof b&&b(d)})},addMask:function(a){var b=this.get(0),c=b.overlay;return c.CSSAnimate({opacity:0},500,function(){c.css({backgroundImage:"url("+a+")",backgroundRepeat:"no-repeat",backgroundPosition:"center center",backgroundSize:"cover"}),c.CSSAnimate({opacity:1},500)}),this},removeMask:function(){var a=this.get(0),b=a.overlay;return b.CSSAnimate({opacity:0},500,function(){b.css({backgroundImage:"",backgroundRepeat:"",backgroundPosition:"",backgroundSize:""}),b.CSSAnimate({opacity:1},500)}),this},manageProgress:function(){var a=this.get(0),b=jQuery("#controlBar_"+a.id),c=b.find(".mb_YTPProgress"),d=b.find(".mb_YTPLoaded"),e=b.find(".mb_YTPseekbar"),f=c.outerWidth(),g=Math.floor(a.player.getCurrentTime()),h=Math.floor(a.player.getDuration()),i=g*f/h,j=0,k=100*a.player.getVideoLoadedFraction();return d.css({left:j,width:k+"%"}),e.css({left:0,width:i}),{totalTime:h,currentTime:g}},buildControls:function(YTPlayer){var data=YTPlayer.opt;if(data.showYTLogo=data.showYTLogo||data.printUrl,!jQuery("#controlBar_"+YTPlayer.id).length){YTPlayer.controlBar=jQuery("<span/>").attr("id","controlBar_"+YTPlayer.id).addClass("mb_YTPBar").css({whiteSpace:"noWrap",position:YTPlayer.isBackground?"fixed":"absolute",zIndex:YTPlayer.isBackground?1e4:1e3}).hide();var buttonBar=jQuery("<div/>").addClass("buttonBar"),playpause=jQuery("<span>"+jQuery.mbYTPlayer.controls.play+"</span>").addClass("mb_YTPPlaypause ytpicon").click(function(){1==YTPlayer.player.getPlayerState()?jQuery(YTPlayer).YTPPause():jQuery(YTPlayer).YTPPlay()}),MuteUnmute=jQuery("<span>"+jQuery.mbYTPlayer.controls.mute+"</span>").addClass("mb_YTPMuteUnmute ytpicon").click(function(){0==YTPlayer.player.getVolume()?jQuery(YTPlayer).YTPUnmute():jQuery(YTPlayer).YTPMute()}),volumeBar=jQuery("<div/>").addClass("mb_YTPVolumeBar").css({display:"inline-block"});YTPlayer.volumeBar=volumeBar;var idx=jQuery("<span/>").addClass("mb_YTPTime"),vURL=data.videoURL?data.videoURL:"";vURL.indexOf("http")<0&&(vURL=jQuery.mbYTPlayer.locationProtocol+"//www.youtube.com/watch?v="+data.videoURL);var movieUrl=jQuery("<span/>").html(jQuery.mbYTPlayer.controls.ytLogo).addClass("mb_YTPUrl ytpicon").attr("title","view on YouTube").on("click",function(){window.open(vURL,"viewOnYT")}),onlyVideo=jQuery("<span/>").html(jQuery.mbYTPlayer.controls.onlyYT).addClass("mb_OnlyYT ytpicon").on("click",function(){jQuery(YTPlayer).YTPFullscreen(data.realfullscreen)}),progressBar=jQuery("<div/>").addClass("mb_YTPProgress").css("position","absolute").click(function(a){timeBar.css({width:a.clientX-timeBar.offset().left}),YTPlayer.timeW=a.clientX-timeBar.offset().left,YTPlayer.controlBar.find(".mb_YTPLoaded").css({width:0});var b=Math.floor(YTPlayer.player.getDuration());YTPlayer["goto"]=timeBar.outerWidth()*b/progressBar.outerWidth(),YTPlayer.player.seekTo(parseFloat(YTPlayer["goto"]),!0),YTPlayer.controlBar.find(".mb_YTPLoaded").css({width:0})}),loadedBar=jQuery("<div/>").addClass("mb_YTPLoaded").css("position","absolute"),timeBar=jQuery("<div/>").addClass("mb_YTPseekbar").css("position","absolute");progressBar.append(loadedBar).append(timeBar),buttonBar.append(playpause).append(MuteUnmute).append(volumeBar).append(idx),data.showYTLogo&&buttonBar.append(movieUrl),(YTPlayer.isBackground||eval(YTPlayer.opt.realfullscreen)&&!YTPlayer.isBackground)&&buttonBar.append(onlyVideo),YTPlayer.controlBar.append(buttonBar).append(progressBar),YTPlayer.isBackground?jQuery("body").after(YTPlayer.controlBar):(YTPlayer.controlBar.addClass("inlinePlayer"),YTPlayer.wrapper.before(YTPlayer.controlBar)),volumeBar.simpleSlider({initialval:YTPlayer.opt.vol,scale:100,orientation:"h",callback:function(a){0==a.value?jQuery(YTPlayer).YTPMute():jQuery(YTPlayer).YTPUnmute(),YTPlayer.player.setVolume(a.value),YTPlayer.isMute||(YTPlayer.opt.vol=a.value)}})}},checkForState:function(YTPlayer){var interval=YTPlayer.opt.showControls?100:400;return clearInterval(YTPlayer.getState),jQuery.contains(document,YTPlayer)?(jQuery.mbYTPlayer.checkForStart(YTPlayer),void(YTPlayer.getState=setInterval(function(){var prog=jQuery(YTPlayer).YTPManageProgress(),$YTPlayer=jQuery(YTPlayer),data=YTPlayer.opt,startAt=YTPlayer.opt.startAt?YTPlayer.opt.startAt:1,stopAt=YTPlayer.opt.stopAt>YTPlayer.opt.startAt?YTPlayer.opt.stopAt:0;if(stopAt=stopAt<YTPlayer.player.getDuration()?stopAt:0,YTPlayer.player.time!=prog.currentTime){var YTPEvent=jQuery.Event("YTPTime");YTPEvent.time=YTPlayer.player.time,jQuery(YTPlayer).trigger(YTPEvent)}if(YTPlayer.player.time=prog.currentTime,0==YTPlayer.player.getVolume()?$YTPlayer.addClass("isMuted"):$YTPlayer.removeClass("isMuted"),YTPlayer.opt.showControls&&(prog.totalTime?YTPlayer.controlBar.find(".mb_YTPTime").html(jQuery.mbYTPlayer.formatTime(prog.currentTime)+" / "+jQuery.mbYTPlayer.formatTime(prog.totalTime)):YTPlayer.controlBar.find(".mb_YTPTime").html("-- : -- / -- : --")),eval(YTPlayer.opt.stopMovieOnBlur)&&(document.hasFocus()?document.hasFocus()&&!YTPlayer.hasFocus&&-1!=YTPlayer.state&&0!=YTPlayer.state&&(YTPlayer.hasFocus=!0,$YTPlayer.YTPPlay()):1==YTPlayer.state&&(YTPlayer.hasFocus=!1,$YTPlayer.YTPPause())),YTPlayer.controlBar&&YTPlayer.controlBar.outerWidth()<=400&&!YTPlayer.isCompact?(YTPlayer.controlBar.addClass("compact"),YTPlayer.isCompact=!0,!YTPlayer.isMute&&YTPlayer.volumeBar&&YTPlayer.volumeBar.updateSliderVal(YTPlayer.opt.vol)):YTPlayer.controlBar&&YTPlayer.controlBar.outerWidth()>400&&YTPlayer.isCompact&&(YTPlayer.controlBar.removeClass("compact"),YTPlayer.isCompact=!1,!YTPlayer.isMute&&YTPlayer.volumeBar&&YTPlayer.volumeBar.updateSliderVal(YTPlayer.opt.vol)),1==YTPlayer.player.getPlayerState()&&(parseFloat(YTPlayer.player.getDuration()-1.5)<YTPlayer.player.getCurrentTime()||stopAt>0&&parseFloat(YTPlayer.player.getCurrentTime())>stopAt)){if(YTPlayer.isEnded)return;if(YTPlayer.isEnded=!0,setTimeout(function(){YTPlayer.isEnded=!1},1e3),YTPlayer.isPlayList){if(!data.loop||data.loop>0&&YTPlayer.player.loopTime===data.loop-1){YTPlayer.player.loopTime=void 0,clearInterval(YTPlayer.getState);var YTPEnd=jQuery.Event("YTPEnd");return YTPEnd.time=YTPlayer.player.time,jQuery(YTPlayer).trigger(YTPEnd),void(YTPlayer.state=0)}}else if(!data.loop||data.loop>0&&YTPlayer.player.loopTime===data.loop-1)return YTPlayer.player.loopTime=void 0,YTPlayer.preventTrigger=!0,jQuery(YTPlayer).YTPPause(),YTPlayer.state=0,void YTPlayer.wrapper.CSSAnimate({opacity:0},500,function(){YTPlayer.controlBar&&YTPlayer.controlBar.find(".mb_YTPPlaypause").html(jQuery.mbYTPlayer.controls.play);var a=jQuery.Event("YTPEnd");a.time=YTPlayer.player.time,jQuery(YTPlayer).trigger(a),YTPlayer.player.seekTo(startAt,!0),YTPlayer.isBackground||YTPlayer.opt.containment.css({background:"rgba(0,0,0,0.5) url("+YTPlayer.opt.backgroundUrl+") center center",backgroundSize:"cover"})});YTPlayer.player.loopTime=YTPlayer.player.loopTime?++YTPlayer.player.loopTime:1,startAt=startAt||1,YTPlayer.preventTrigger=!0,jQuery(YTPlayer).YTPPause(),YTPlayer.player.seekTo(startAt,!0),$YTPlayer.YTPPlay()}},interval))):(jQuery(YTPlayer).YTPPlayerDestroy(),clearInterval(YTPlayer.getState),void clearInterval(YTPlayer.checkForStartAt))},checkForStart:function(a){var b=jQuery(a);if(!jQuery.contains(document,a))return void jQuery(a).YTPPlayerDestroy();if(a.preventTrigger=!0,jQuery(a).YTPPause(),jQuery(a).muteYTPVolume(),jQuery("#controlBar_"+a.id).remove(),a.opt.showControls&&jQuery.mbYTPlayer.buildControls(a),a.opt.addRaster){var c="dot"==a.opt.addRaster?"raster-dot":"raster";a.overlay.addClass(a.isRetina?c+" retina":c)}else a.overlay.removeClass(function(a,b){var c=b.split(" "),d=[];return jQuery.each(c,function(a,b){/raster.*/.test(b)&&d.push(b)}),d.push("retina"),d.join(" ")});var d=a.opt.startAt?a.opt.startAt:1;a.player.playVideo(),a.player.seekTo(d,!0),a.checkForStartAt=setInterval(function(){jQuery(a).YTPMute();var c=a.player.getVideoLoadedFraction()>=d/a.player.getDuration();if(a.player.getDuration()>0&&a.player.getCurrentTime()>=d&&c){clearInterval(a.checkForStartAt),a.isReady=!0,"function"==typeof a.opt.onReady&&a.opt.onReady(a);var e=jQuery.Event("YTPReady");if(e.time=a.player.time,jQuery(a).trigger(e),a.preventTrigger=!0,jQuery(a).YTPPause(),a.opt.mute||jQuery(a).YTPUnmute(),a.canTrigger=!0,a.opt.autoPlay){b.YTPPlay();var f=jQuery.Event("YTPStart");f.time=a.player.time,jQuery(a).trigger(f),b.css("background-image","none"),jQuery(a.playerEl).CSSAnimate({opacity:1},1e3),a.wrapper.CSSAnimate({opacity:a.isAlone?1:a.opt.opacity},1e3)}else b.YTPPause(),a.isPlayer||(jQuery(a.playerEl).CSSAnimate({opacity:1},500),a.wrapper.CSSAnimate({opacity:a.isAlone?1:a.opt.opacity},500));a.isPlayer&&!a.opt.autoPlay&&(a.loading.html("Ready"),setTimeout(function(){a.loading.fadeOut()},100)),a.controlBar&&a.controlBar.slideDown(1e3)}else jQuery.browser.safari},1)},formatTime:function(a){var b=Math.floor(a/60),c=Math.floor(a-60*b);return(9>=b?"0"+b:b)+" : "+(9>=c?"0"+c:c)}},jQuery.fn.toggleVolume=function(){var a=this.get(0);if(a)return a.player.isMuted()?(jQuery(a).YTPUnmute(),!0):(jQuery(a).YTPMute(),!1)},jQuery.fn.optimizeDisplay=function(){var a=this.get(0),b=a.opt,c=jQuery(a.playerEl),d={};if(b.optimizeDisplay){var e=24,f=100,g={},h=a.wrapper;g.width=h.outerWidth(),g.height=h.outerHeight(),d.width=g.width+g.width*e/100,d.height="16/9"==b.ratio?Math.ceil(9*g.width/16):Math.ceil(3*g.width/4),d.marginTop=-((d.height-g.height)/2),d.marginLeft=-(g.width*(e/2)/100),d.height<g.height&&(d.height=g.height+g.height*e/100,d.width="16/9"==b.ratio?Math.floor(16*g.height/9):Math.floor(4*g.height/3),d.marginTop=-(g.height*(e/2)/100),d.marginLeft=-((d.width-g.width)/2)),d.width+=f,d.height+=f,d.marginTop-=f/2,d.marginLeft-=f/2}else d.width="100%",d.height="100%",d.marginTop=0,d.marginLeft=0;c.css({width:d.width,height:d.height,marginTop:d.marginTop,marginLeft:d.marginLeft})},jQuery.shuffle=function(a){for(var b=a.slice(),c=b.length,d=c;d--;){var e=parseInt(Math.random()*c),f=b[d];b[d]=b[e],b[e]=f}return b},jQuery.fn.unselectable=function(){return this.each(function(){jQuery(this).css({"-moz-user-select":"none","-webkit-user-select":"none","user-select":"none"}).attr("unselectable","on")})},jQuery.fn.YTPlayer=jQuery.mbYTPlayer.buildPlayer,jQuery.fn.YTPGetPlayer=jQuery.mbYTPlayer.getPlayer,jQuery.fn.YTPGetVideoID=jQuery.mbYTPlayer.getVideoID,jQuery.fn.YTPChangeMovie=jQuery.mbYTPlayer.changeMovie,jQuery.fn.YTPPlayerDestroy=jQuery.mbYTPlayer.playerDestroy,jQuery.fn.YTPPlay=jQuery.mbYTPlayer.play,jQuery.fn.YTPTogglePlay=jQuery.mbYTPlayer.togglePlay,jQuery.fn.YTPStop=jQuery.mbYTPlayer.stop,jQuery.fn.YTPPause=jQuery.mbYTPlayer.pause,jQuery.fn.YTPSeekTo=jQuery.mbYTPlayer.seekTo,jQuery.fn.YTPlaylist=jQuery.mbYTPlayer.playlist,jQuery.fn.YTPPlayNext=jQuery.mbYTPlayer.playNext,jQuery.fn.YTPPlayPrev=jQuery.mbYTPlayer.playPrev,jQuery.fn.YTPMute=jQuery.mbYTPlayer.mute,jQuery.fn.YTPUnmute=jQuery.mbYTPlayer.unmute,jQuery.fn.YTPToggleVolume=jQuery.mbYTPlayer.toggleVolume,jQuery.fn.YTPSetVolume=jQuery.mbYTPlayer.setVolume,jQuery.fn.YTPGetVideoData=jQuery.mbYTPlayer.getVideoData,jQuery.fn.YTPFullscreen=jQuery.mbYTPlayer.fullscreen,jQuery.fn.YTPToggleLoops=jQuery.mbYTPlayer.toggleLoops,jQuery.fn.YTPSetVideoQuality=jQuery.mbYTPlayer.setVideoQuality,jQuery.fn.YTPManageProgress=jQuery.mbYTPlayer.manageProgress,jQuery.fn.YTPApplyFilter=jQuery.mbYTPlayer.applyFilter,jQuery.fn.YTPApplyFilters=jQuery.mbYTPlayer.applyFilters,jQuery.fn.YTPToggleFilter=jQuery.mbYTPlayer.toggleFilter,jQuery.fn.YTPToggleFilters=jQuery.mbYTPlayer.toggleFilters,jQuery.fn.YTPRemoveFilter=jQuery.mbYTPlayer.removeFilter,jQuery.fn.YTPDisableFilters=jQuery.mbYTPlayer.disableFilters,jQuery.fn.YTPEnableFilters=jQuery.mbYTPlayer.enableFilters,jQuery.fn.YTPAddMask=jQuery.mbYTPlayer.addMask,jQuery.fn.YTPRemoveMask=jQuery.mbYTPlayer.removeMask,jQuery.fn.mb_YTPlayer=jQuery.mbYTPlayer.buildPlayer,jQuery.fn.playNext=jQuery.mbYTPlayer.playNext,jQuery.fn.playPrev=jQuery.mbYTPlayer.playPrev,jQuery.fn.changeMovie=jQuery.mbYTPlayer.changeMovie,jQuery.fn.getVideoID=jQuery.mbYTPlayer.getVideoID,jQuery.fn.getPlayer=jQuery.mbYTPlayer.getPlayer,jQuery.fn.playerDestroy=jQuery.mbYTPlayer.playerDestroy,jQuery.fn.fullscreen=jQuery.mbYTPlayer.fullscreen,jQuery.fn.buildYTPControls=jQuery.mbYTPlayer.buildControls,jQuery.fn.playYTP=jQuery.mbYTPlayer.play,jQuery.fn.toggleLoops=jQuery.mbYTPlayer.toggleLoops,jQuery.fn.stopYTP=jQuery.mbYTPlayer.stop,jQuery.fn.pauseYTP=jQuery.mbYTPlayer.pause,jQuery.fn.seekToYTP=jQuery.mbYTPlayer.seekTo,jQuery.fn.muteYTPVolume=jQuery.mbYTPlayer.mute,
+jQuery.fn.unmuteYTPVolume=jQuery.mbYTPlayer.unmute,jQuery.fn.setYTPVolume=jQuery.mbYTPlayer.setVolume,jQuery.fn.setVideoQuality=jQuery.mbYTPlayer.setVideoQuality,jQuery.fn.manageYTPProgress=jQuery.mbYTPlayer.manageProgress,jQuery.fn.YTPGetDataFromFeed=jQuery.mbYTPlayer.getVideoData}(jQuery,ytp),jQuery.support.CSStransition=function(){var a=document.body||document.documentElement,b=a.style;return void 0!==b.transition||void 0!==b.WebkitTransition||void 0!==b.MozTransition||void 0!==b.MsTransition||void 0!==b.OTransition}(),jQuery.CSS={name:"mb.CSSAnimate",author:"Matteo Bicocchi",version:"2.0.0",transitionEnd:"transitionEnd",sfx:"",filters:{blur:{min:0,max:100,unit:"px"},brightness:{min:0,max:400,unit:"%"},contrast:{min:0,max:400,unit:"%"},grayscale:{min:0,max:100,unit:"%"},hueRotate:{min:0,max:360,unit:"deg"},invert:{min:0,max:100,unit:"%"},saturate:{min:0,max:400,unit:"%"},sepia:{min:0,max:100,unit:"%"}},normalizeCss:function(a){var b=jQuery.extend(!0,{},a);jQuery.browser.webkit||jQuery.browser.opera?jQuery.CSS.sfx="-webkit-":jQuery.browser.mozilla?jQuery.CSS.sfx="-moz-":jQuery.browser.msie&&(jQuery.CSS.sfx="-ms-");for(var c in b){"transform"===c&&(b[jQuery.CSS.sfx+"transform"]=b[c],delete b[c]),"transform-origin"===c&&(b[jQuery.CSS.sfx+"transform-origin"]=a[c],delete b[c]),"filter"!==c||jQuery.browser.mozilla||(b[jQuery.CSS.sfx+"filter"]=a[c],delete b[c]),"blur"===c&&setFilter(b,"blur",a[c]),"brightness"===c&&setFilter(b,"brightness",a[c]),"contrast"===c&&setFilter(b,"contrast",a[c]),"grayscale"===c&&setFilter(b,"grayscale",a[c]),"hueRotate"===c&&setFilter(b,"hueRotate",a[c]),"invert"===c&&setFilter(b,"invert",a[c]),"saturate"===c&&setFilter(b,"saturate",a[c]),"sepia"===c&&setFilter(b,"sepia",a[c]);var d="";"x"===c&&(d=jQuery.CSS.sfx+"transform",b[d]=b[d]||"",b[d]+=" translateX("+setUnit(a[c],"px")+")",delete b[c]),"y"===c&&(d=jQuery.CSS.sfx+"transform",b[d]=b[d]||"",b[d]+=" translateY("+setUnit(a[c],"px")+")",delete b[c]),"z"===c&&(d=jQuery.CSS.sfx+"transform",b[d]=b[d]||"",b[d]+=" translateZ("+setUnit(a[c],"px")+")",delete b[c]),"rotate"===c&&(d=jQuery.CSS.sfx+"transform",b[d]=b[d]||"",b[d]+=" rotate("+setUnit(a[c],"deg")+")",delete b[c]),"rotateX"===c&&(d=jQuery.CSS.sfx+"transform",b[d]=b[d]||"",b[d]+=" rotateX("+setUnit(a[c],"deg")+")",delete b[c]),"rotateY"===c&&(d=jQuery.CSS.sfx+"transform",b[d]=b[d]||"",b[d]+=" rotateY("+setUnit(a[c],"deg")+")",delete b[c]),"rotateZ"===c&&(d=jQuery.CSS.sfx+"transform",b[d]=b[d]||"",b[d]+=" rotateZ("+setUnit(a[c],"deg")+")",delete b[c]),"scale"===c&&(d=jQuery.CSS.sfx+"transform",b[d]=b[d]||"",b[d]+=" scale("+setUnit(a[c],"")+")",delete b[c]),"scaleX"===c&&(d=jQuery.CSS.sfx+"transform",b[d]=b[d]||"",b[d]+=" scaleX("+setUnit(a[c],"")+")",delete b[c]),"scaleY"===c&&(d=jQuery.CSS.sfx+"transform",b[d]=b[d]||"",b[d]+=" scaleY("+setUnit(a[c],"")+")",delete b[c]),"scaleZ"===c&&(d=jQuery.CSS.sfx+"transform",b[d]=b[d]||"",b[d]+=" scaleZ("+setUnit(a[c],"")+")",delete b[c]),"skew"===c&&(d=jQuery.CSS.sfx+"transform",b[d]=b[d]||"",b[d]+=" skew("+setUnit(a[c],"deg")+")",delete b[c]),"skewX"===c&&(d=jQuery.CSS.sfx+"transform",b[d]=b[d]||"",b[d]+=" skewX("+setUnit(a[c],"deg")+")",delete b[c]),"skewY"===c&&(d=jQuery.CSS.sfx+"transform",b[d]=b[d]||"",b[d]+=" skewY("+setUnit(a[c],"deg")+")",delete b[c]),"perspective"===c&&(d=jQuery.CSS.sfx+"transform",b[d]=b[d]||"",b[d]+=" perspective("+setUnit(a[c],"px")+")",delete b[c])}return b},getProp:function(a){var b=[];for(var c in a)b.indexOf(c)<0&&b.push(uncamel(c));return b.join(",")},animate:function(a,b,c,d,e){return this.each(function(){function f(){g.called=!0,g.CSSAIsRunning=!1,h.off(jQuery.CSS.transitionEnd+"."+g.id),clearTimeout(g.timeout),h.css(jQuery.CSS.sfx+"transition",""),"function"==typeof e&&e.apply(g),"function"==typeof g.CSSqueue&&(g.CSSqueue(),g.CSSqueue=null)}var g=this,h=jQuery(this);g.id=g.id||"CSSA_"+(new Date).getTime();var i=i||{type:"noEvent"};if(g.CSSAIsRunning&&g.eventType==i.type&&!jQuery.browser.msie&&jQuery.browser.version<=9)return void(g.CSSqueue=function(){h.CSSAnimate(a,b,c,d,e)});if(g.CSSqueue=null,g.eventType=i.type,0!==h.length&&a){if(a=jQuery.normalizeCss(a),g.CSSAIsRunning=!0,"function"==typeof b&&(e=b,b=jQuery.fx.speeds._default),"function"==typeof c&&(d=c,c=0),"string"==typeof c&&(e=c,c=0),"function"==typeof d&&(e=d,d="cubic-bezier(0.65,0.03,0.36,0.72)"),"string"==typeof b)for(var j in jQuery.fx.speeds){if(b==j){b=jQuery.fx.speeds[j];break}b=jQuery.fx.speeds._default}if(b||(b=jQuery.fx.speeds._default),"string"==typeof e&&(d=e,e=null),!jQuery.support.CSStransition){for(var k in a){if("transform"===k&&delete a[k],"filter"===k&&delete a[k],"transform-origin"===k&&delete a[k],"auto"===a[k]&&delete a[k],"x"===k){var l=a[k],m="left";a[m]=l,delete a[k]}if("y"===k){var l=a[k],m="top";a[m]=l,delete a[k]}("-ms-transform"===k||"-ms-filter"===k)&&delete a[k]}return void h.delay(c).animate(a,b,e)}var n={"default":"ease","in":"ease-in",out:"ease-out","in-out":"ease-in-out",snap:"cubic-bezier(0,1,.5,1)",easeOutCubic:"cubic-bezier(.215,.61,.355,1)",easeInOutCubic:"cubic-bezier(.645,.045,.355,1)",easeInCirc:"cubic-bezier(.6,.04,.98,.335)",easeOutCirc:"cubic-bezier(.075,.82,.165,1)",easeInOutCirc:"cubic-bezier(.785,.135,.15,.86)",easeInExpo:"cubic-bezier(.95,.05,.795,.035)",easeOutExpo:"cubic-bezier(.19,1,.22,1)",easeInOutExpo:"cubic-bezier(1,0,0,1)",easeInQuad:"cubic-bezier(.55,.085,.68,.53)",easeOutQuad:"cubic-bezier(.25,.46,.45,.94)",easeInOutQuad:"cubic-bezier(.455,.03,.515,.955)",easeInQuart:"cubic-bezier(.895,.03,.685,.22)",easeOutQuart:"cubic-bezier(.165,.84,.44,1)",easeInOutQuart:"cubic-bezier(.77,0,.175,1)",easeInQuint:"cubic-bezier(.755,.05,.855,.06)",easeOutQuint:"cubic-bezier(.23,1,.32,1)",easeInOutQuint:"cubic-bezier(.86,0,.07,1)",easeInSine:"cubic-bezier(.47,0,.745,.715)",easeOutSine:"cubic-bezier(.39,.575,.565,1)",easeInOutSine:"cubic-bezier(.445,.05,.55,.95)",easeInBack:"cubic-bezier(.6,-.28,.735,.045)",easeOutBack:"cubic-bezier(.175, .885,.32,1.275)",easeInOutBack:"cubic-bezier(.68,-.55,.265,1.55)"};n[d]&&(d=n[d]),h.off(jQuery.CSS.transitionEnd+"."+g.id);var o=jQuery.CSS.getProp(a),p={};jQuery.extend(p,a),p[jQuery.CSS.sfx+"transition-property"]=o,p[jQuery.CSS.sfx+"transition-duration"]=b+"ms",p[jQuery.CSS.sfx+"transition-delay"]=c+"ms",p[jQuery.CSS.sfx+"transition-timing-function"]=d,setTimeout(function(){h.one(jQuery.CSS.transitionEnd+"."+g.id,f),h.css(p)},1),g.timeout=setTimeout(function(){return g.called||!e?(g.called=!1,void(g.CSSAIsRunning=!1)):(h.css(jQuery.CSS.sfx+"transition",""),e.apply(g),g.CSSAIsRunning=!1,void("function"==typeof g.CSSqueue&&(g.CSSqueue(),g.CSSqueue=null)))},b+c+10)}})}},jQuery.fn.CSSAnimate=jQuery.CSS.animate,jQuery.normalizeCss=jQuery.CSS.normalizeCss,jQuery.fn.css3=function(a){return this.each(function(){var b=jQuery(this),c=jQuery.normalizeCss(a);b.css(c)})};var nAgt=navigator.userAgent;if(!jQuery.browser){jQuery.browser={},jQuery.browser.mozilla=!1,jQuery.browser.webkit=!1,jQuery.browser.opera=!1,jQuery.browser.safari=!1,jQuery.browser.chrome=!1,jQuery.browser.msie=!1,jQuery.browser.ua=nAgt,jQuery.browser.name=navigator.appName,jQuery.browser.fullVersion=""+parseFloat(navigator.appVersion),jQuery.browser.majorVersion=parseInt(navigator.appVersion,10);var nameOffset,verOffset,ix;if(-1!=(verOffset=nAgt.indexOf("Opera")))jQuery.browser.opera=!0,jQuery.browser.name="Opera",jQuery.browser.fullVersion=nAgt.substring(verOffset+6),-1!=(verOffset=nAgt.indexOf("Version"))&&(jQuery.browser.fullVersion=nAgt.substring(verOffset+8));else if(-1!=(verOffset=nAgt.indexOf("OPR")))jQuery.browser.opera=!0,jQuery.browser.name="Opera",jQuery.browser.fullVersion=nAgt.substring(verOffset+4);else if(-1!=(verOffset=nAgt.indexOf("MSIE")))jQuery.browser.msie=!0,jQuery.browser.name="Microsoft Internet Explorer",jQuery.browser.fullVersion=nAgt.substring(verOffset+5);else if(-1!=nAgt.indexOf("Trident")){jQuery.browser.msie=!0,jQuery.browser.name="Microsoft Internet Explorer";var start=nAgt.indexOf("rv:")+3,end=start+4;jQuery.browser.fullVersion=nAgt.substring(start,end)}else-1!=(verOffset=nAgt.indexOf("Chrome"))?(jQuery.browser.webkit=!0,jQuery.browser.chrome=!0,jQuery.browser.name="Chrome",jQuery.browser.fullVersion=nAgt.substring(verOffset+7)):-1!=(verOffset=nAgt.indexOf("Safari"))?(jQuery.browser.webkit=!0,jQuery.browser.safari=!0,jQuery.browser.name="Safari",jQuery.browser.fullVersion=nAgt.substring(verOffset+7),-1!=(verOffset=nAgt.indexOf("Version"))&&(jQuery.browser.fullVersion=nAgt.substring(verOffset+8))):-1!=(verOffset=nAgt.indexOf("AppleWebkit"))?(jQuery.browser.webkit=!0,jQuery.browser.name="Safari",jQuery.browser.fullVersion=nAgt.substring(verOffset+7),-1!=(verOffset=nAgt.indexOf("Version"))&&(jQuery.browser.fullVersion=nAgt.substring(verOffset+8))):-1!=(verOffset=nAgt.indexOf("Firefox"))?(jQuery.browser.mozilla=!0,jQuery.browser.name="Firefox",jQuery.browser.fullVersion=nAgt.substring(verOffset+8)):(nameOffset=nAgt.lastIndexOf(" ")+1)<(verOffset=nAgt.lastIndexOf("/"))&&(jQuery.browser.name=nAgt.substring(nameOffset,verOffset),jQuery.browser.fullVersion=nAgt.substring(verOffset+1),jQuery.browser.name.toLowerCase()==jQuery.browser.name.toUpperCase()&&(jQuery.browser.name=navigator.appName));-1!=(ix=jQuery.browser.fullVersion.indexOf(";"))&&(jQuery.browser.fullVersion=jQuery.browser.fullVersion.substring(0,ix)),-1!=(ix=jQuery.browser.fullVersion.indexOf(" "))&&(jQuery.browser.fullVersion=jQuery.browser.fullVersion.substring(0,ix)),jQuery.browser.majorVersion=parseInt(""+jQuery.browser.fullVersion,10),isNaN(jQuery.browser.majorVersion)&&(jQuery.browser.fullVersion=""+parseFloat(navigator.appVersion),jQuery.browser.majorVersion=parseInt(navigator.appVersion,10)),jQuery.browser.version=jQuery.browser.majorVersion}jQuery.browser.android=/Android/i.test(nAgt),jQuery.browser.blackberry=/BlackBerry|BB|PlayBook/i.test(nAgt),jQuery.browser.ios=/iPhone|iPad|iPod|webOS/i.test(nAgt),jQuery.browser.operaMobile=/Opera Mini/i.test(nAgt),jQuery.browser.windowsMobile=/IEMobile|Windows Phone/i.test(nAgt),jQuery.browser.kindle=/Kindle|Silk/i.test(nAgt),jQuery.browser.mobile=jQuery.browser.android||jQuery.browser.blackberry||jQuery.browser.ios||jQuery.browser.windowsMobile||jQuery.browser.operaMobile||jQuery.browser.kindle,jQuery.isMobile=jQuery.browser.mobile,jQuery.isTablet=jQuery.browser.mobile&&jQuery(window).width()>765,jQuery.isAndroidDefault=jQuery.browser.android&&!/chrome/i.test(nAgt),!function(a){/iphone|ipod|ipad|android|ie|blackberry|fennec/.test(navigator.userAgent.toLowerCase());var b="ontouchstart"in window||window.navigator&&window.navigator.msPointerEnabled&&window.MSGesture||window.DocumentTouch&&document instanceof DocumentTouch||!1;a.simpleSlider={defaults:{initialval:0,scale:100,orientation:"h",readonly:!1,callback:!1},events:{start:b?"touchstart":"mousedown",end:b?"touchend":"mouseup",move:b?"touchmove":"mousemove"},init:function(c){return this.each(function(){var d=this,e=a(d);e.addClass("simpleSlider"),d.opt={},a.extend(d.opt,a.simpleSlider.defaults,c),a.extend(d.opt,e.data());var f="h"==d.opt.orientation?"horizontal":"vertical",g=a("<div/>").addClass("level").addClass(f);e.prepend(g),d.level=g,e.css({cursor:"default"}),"auto"==d.opt.scale&&(d.opt.scale=a(d).outerWidth()),e.updateSliderVal(),d.opt.readonly||(e.on(a.simpleSlider.events.start,function(a){b&&(a=a.changedTouches[0]),d.canSlide=!0,e.updateSliderVal(a),e.css({cursor:"col-resize"}),a.preventDefault(),a.stopPropagation()}),a(document).on(a.simpleSlider.events.move,function(c){b&&(c=c.changedTouches[0]),d.canSlide&&(a(document).css({cursor:"default"}),e.updateSliderVal(c),c.preventDefault(),c.stopPropagation())}).on(a.simpleSlider.events.end,function(){a(document).css({cursor:"auto"}),d.canSlide=!1,e.css({cursor:"auto"})}))})},updateSliderVal:function(b){function c(a,b){return Math.floor(100*a/b)}var d=this,e=d.get(0);e.opt.initialval="number"==typeof e.opt.initialval?e.opt.initialval:e.opt.initialval(e);var f=a(e).outerWidth(),g=a(e).outerHeight();e.x="object"==typeof b?b.clientX+document.body.scrollLeft-d.offset().left:"number"==typeof b?b*f/e.opt.scale:e.opt.initialval*f/e.opt.scale,e.y="object"==typeof b?b.clientY+document.body.scrollTop-d.offset().top:"number"==typeof b?(e.opt.scale-e.opt.initialval-b)*g/e.opt.scale:e.opt.initialval*g/e.opt.scale,e.y=d.outerHeight()-e.y,e.scaleX=e.x*e.opt.scale/f,e.scaleY=e.y*e.opt.scale/g,e.outOfRangeX=e.scaleX>e.opt.scale?e.scaleX-e.opt.scale:e.scaleX<0?e.scaleX:0,e.outOfRangeY=e.scaleY>e.opt.scale?e.scaleY-e.opt.scale:e.scaleY<0?e.scaleY:0,e.outOfRange="h"==e.opt.orientation?e.outOfRangeX:e.outOfRangeY,e.value="undefined"!=typeof b?"h"==e.opt.orientation?e.x>=d.outerWidth()?e.opt.scale:e.x<=0?0:e.scaleX:e.y>=d.outerHeight()?e.opt.scale:e.y<=0?0:e.scaleY:"h"==e.opt.orientation?e.scaleX:e.scaleY,"h"==e.opt.orientation?e.level.width(c(e.x,f)+"%"):e.level.height(c(e.y,g)),"function"==typeof e.opt.callback&&e.opt.callback(e)}},a.fn.simpleSlider=a.simpleSlider.init,a.fn.updateSliderVal=a.simpleSlider.updateSliderVal}(jQuery),!function(a){a.mbCookie={set:function(a,b,c,d){b=JSON.stringify(b),c||(c=7),d=d?"; domain="+d:"";var e,f=new Date;f.setTime(f.getTime()+864e5*c),e="; expires="+f.toGMTString(),document.cookie=a+"="+b+e+"; path=/"+d},get:function(a){for(var b=a+"=",c=document.cookie.split(";"),d=0;d<c.length;d++){for(var e=c[d];" "==e.charAt(0);)e=e.substring(1,e.length);if(0==e.indexOf(b))return JSON.parse(e.substring(b.length,e.length))}return null},remove:function(b){a.mbCookie.set(b,"",-1)}},a.mbStorage={set:function(a,b){b=JSON.stringify(b),localStorage.setItem(a,b)},get:function(a){return localStorage[a]?JSON.parse(localStorage[a]):null},remove:function(a){a?localStorage.removeItem(a):localStorage.clear()}}}(jQuery);
\ No newline at end of file
diff --git a/templates/shop-isle/assets/js/vendor/owl.carousel.js b/templates/shop-isle/assets/js/vendor/owl.carousel.js
new file mode 100644 (file)
index 0000000..c1d3ea7
--- /dev/null
@@ -0,0 +1,3275 @@
+/**
+ * Owl Carousel v2.2.1
+ * Copyright 2013-2017 David Deutsch
+ * Licensed under  ()
+ */
+/**
+ * Owl carousel
+ * @version 2.1.6
+ * @author Bartosz Wojciechowski
+ * @author David Deutsch
+ * @license The MIT License (MIT)
+ * @todo Lazy Load Icon
+ * @todo prevent animationend bubling
+ * @todo itemsScaleUp
+ * @todo Test Zepto
+ * @todo stagePadding calculate wrong active classes
+ */
+;(function($, window, document, undefined) {
+
+       /**
+        * Creates a carousel.
+        * @class The Owl Carousel.
+        * @public
+        * @param {HTMLElement|jQuery} element - The element to create the carousel for.
+        * @param {Object} [options] - The options
+        */
+       function Owl(element, options) {
+
+               /**
+                * Current settings for the carousel.
+                * @public
+                */
+               this.settings = null;
+
+               /**
+                * Current options set by the caller including defaults.
+                * @public
+                */
+               this.options = $.extend({}, Owl.Defaults, options);
+
+               /**
+                * Plugin element.
+                * @public
+                */
+               this.$element = $(element);
+
+               /**
+                * Proxied event handlers.
+                * @protected
+                */
+               this._handlers = {};
+
+               /**
+                * References to the running plugins of this carousel.
+                * @protected
+                */
+               this._plugins = {};
+
+               /**
+                * Currently suppressed events to prevent them from beeing retriggered.
+                * @protected
+                */
+               this._supress = {};
+
+               /**
+                * Absolute current position.
+                * @protected
+                */
+               this._current = null;
+
+               /**
+                * Animation speed in milliseconds.
+                * @protected
+                */
+               this._speed = null;
+
+               /**
+                * Coordinates of all items in pixel.
+                * @todo The name of this member is missleading.
+                * @protected
+                */
+               this._coordinates = [];
+
+               /**
+                * Current breakpoint.
+                * @todo Real media queries would be nice.
+                * @protected
+                */
+               this._breakpoint = null;
+
+               /**
+                * Current width of the plugin element.
+                */
+               this._width = null;
+
+               /**
+                * All real items.
+                * @protected
+                */
+               this._items = [];
+
+               /**
+                * All cloned items.
+                * @protected
+                */
+               this._clones = [];
+
+               /**
+                * Merge values of all items.
+                * @todo Maybe this could be part of a plugin.
+                * @protected
+                */
+               this._mergers = [];
+
+               /**
+                * Widths of all items.
+                */
+               this._widths = [];
+
+               /**
+                * Invalidated parts within the update process.
+                * @protected
+                */
+               this._invalidated = {};
+
+               /**
+                * Ordered list of workers for the update process.
+                * @protected
+                */
+               this._pipe = [];
+
+               /**
+                * Current state information for the drag operation.
+                * @todo #261
+                * @protected
+                */
+               this._drag = {
+                       time: null,
+                       target: null,
+                       pointer: null,
+                       stage: {
+                               start: null,
+                               current: null
+                       },
+                       direction: null
+               };
+
+               /**
+                * Current state information and their tags.
+                * @type {Object}
+                * @protected
+                */
+               this._states = {
+                       current: {},
+                       tags: {
+                               'initializing': [ 'busy' ],
+                               'animating': [ 'busy' ],
+                               'dragging': [ 'interacting' ]
+                       }
+               };
+
+               $.each([ 'onResize', 'onThrottledResize' ], $.proxy(function(i, handler) {
+                       this._handlers[handler] = $.proxy(this[handler], this);
+               }, this));
+
+               $.each(Owl.Plugins, $.proxy(function(key, plugin) {
+                       this._plugins[key.charAt(0).toLowerCase() + key.slice(1)]
+                               = new plugin(this);
+               }, this));
+
+               $.each(Owl.Workers, $.proxy(function(priority, worker) {
+                       this._pipe.push({
+                               'filter': worker.filter,
+                               'run': $.proxy(worker.run, this)
+                       });
+               }, this));
+
+               this.setup();
+               this.initialize();
+       }
+
+       /**
+        * Default options for the carousel.
+        * @public
+        */
+       Owl.Defaults = {
+               items: 3,
+               loop: false,
+               center: false,
+               rewind: false,
+
+               mouseDrag: true,
+               touchDrag: true,
+               pullDrag: true,
+               freeDrag: false,
+
+               margin: 0,
+               stagePadding: 0,
+
+               merge: false,
+               mergeFit: true,
+               autoWidth: false,
+
+               startPosition: 0,
+               rtl: false,
+
+               smartSpeed: 250,
+               fluidSpeed: false,
+               dragEndSpeed: false,
+
+               responsive: {},
+               responsiveRefreshRate: 200,
+               responsiveBaseElement: window,
+
+               fallbackEasing: 'swing',
+
+               info: false,
+
+               nestedItemSelector: false,
+               itemElement: 'div',
+               stageElement: 'div',
+
+               refreshClass: 'owl-refresh',
+               loadedClass: 'owl-loaded',
+               loadingClass: 'owl-loading',
+               rtlClass: 'owl-rtl',
+               responsiveClass: 'owl-responsive',
+               dragClass: 'owl-drag',
+               itemClass: 'owl-item',
+               stageClass: 'owl-stage',
+               stageOuterClass: 'owl-stage-outer',
+               grabClass: 'owl-grab'
+       };
+
+       /**
+        * Enumeration for width.
+        * @public
+        * @readonly
+        * @enum {String}
+        */
+       Owl.Width = {
+               Default: 'default',
+               Inner: 'inner',
+               Outer: 'outer'
+       };
+
+       /**
+        * Enumeration for types.
+        * @public
+        * @readonly
+        * @enum {String}
+        */
+       Owl.Type = {
+               Event: 'event',
+               State: 'state'
+       };
+
+       /**
+        * Contains all registered plugins.
+        * @public
+        */
+       Owl.Plugins = {};
+
+       /**
+        * List of workers involved in the update process.
+        */
+       Owl.Workers = [ {
+               filter: [ 'width', 'settings' ],
+               run: function() {
+                       this._width = this.$element.width();
+               }
+       }, {
+               filter: [ 'width', 'items', 'settings' ],
+               run: function(cache) {
+                       cache.current = this._items && this._items[this.relative(this._current)];
+               }
+       }, {
+               filter: [ 'items', 'settings' ],
+               run: function() {
+                       this.$stage.children('.cloned').remove();
+               }
+       }, {
+               filter: [ 'width', 'items', 'settings' ],
+               run: function(cache) {
+                       var margin = this.settings.margin || '',
+                               grid = !this.settings.autoWidth,
+                               rtl = this.settings.rtl,
+                               css = {
+                                       'width': 'auto',
+                                       'margin-left': rtl ? margin : '',
+                                       'margin-right': rtl ? '' : margin
+                               };
+
+                       !grid && this.$stage.children().css(css);
+
+                       cache.css = css;
+               }
+       }, {
+               filter: [ 'width', 'items', 'settings' ],
+               run: function(cache) {
+                       var width = (this.width() / this.settings.items).toFixed(3) - this.settings.margin,
+                               merge = null,
+                               iterator = this._items.length,
+                               grid = !this.settings.autoWidth,
+                               widths = [];
+
+                       cache.items = {
+                               merge: false,
+                               width: width
+                       };
+
+                       while (iterator--) {
+                               merge = this._mergers[iterator];
+                               merge = this.settings.mergeFit && Math.min(merge, this.settings.items) || merge;
+
+                               cache.items.merge = merge > 1 || cache.items.merge;
+
+                               widths[iterator] = !grid ? this._items[iterator].width() : width * merge;
+                       }
+
+                       this._widths = widths;
+               }
+       }, {
+               filter: [ 'items', 'settings' ],
+               run: function() {
+                       var clones = [],
+                               items = this._items,
+                               settings = this.settings,
+                               // TODO: Should be computed from number of min width items in stage
+                               view = Math.max(settings.items * 2, 4),
+                               size = Math.ceil(items.length / 2) * 2,
+                               repeat = settings.loop && items.length ? settings.rewind ? view : Math.max(view, size) : 0,
+                               append = '',
+                               prepend = '';
+
+                       repeat /= 2;
+
+                       while (repeat--) {
+                               // Switch to only using appended clones
+                               clones.push(this.normalize(clones.length / 2, true));
+                               append = append + items[clones[clones.length - 1]][0].outerHTML;
+                               clones.push(this.normalize(items.length - 1 - (clones.length - 1) / 2, true));
+                               prepend = items[clones[clones.length - 1]][0].outerHTML + prepend;
+                       }
+
+                       this._clones = clones;
+
+                       $(append).addClass('cloned').appendTo(this.$stage);
+                       $(prepend).addClass('cloned').prependTo(this.$stage);
+               }
+       }, {
+               filter: [ 'width', 'items', 'settings' ],
+               run: function() {
+                       var rtl = this.settings.rtl ? 1 : -1,
+                               size = this._clones.length + this._items.length,
+                               iterator = -1,
+                               previous = 0,
+                               current = 0,
+                               coordinates = [];
+
+                       while (++iterator < size) {
+                               previous = coordinates[iterator - 1] || 0;
+                               current = this._widths[this.relative(iterator)] + this.settings.margin;
+                               coordinates.push(previous + current * rtl);
+                       }
+
+                       this._coordinates = coordinates;
+               }
+       }, {
+               filter: [ 'width', 'items', 'settings' ],
+               run: function() {
+                       var padding = this.settings.stagePadding,
+                               coordinates = this._coordinates,
+                               css = {
+                                       'width': Math.ceil(Math.abs(coordinates[coordinates.length - 1])) + padding * 2,
+                                       'padding-left': padding || '',
+                                       'padding-right': padding || ''
+                               };
+
+                       this.$stage.css(css);
+               }
+       }, {
+               filter: [ 'width', 'items', 'settings' ],
+               run: function(cache) {
+                       var iterator = this._coordinates.length,
+                               grid = !this.settings.autoWidth,
+                               items = this.$stage.children();
+
+                       if (grid && cache.items.merge) {
+                               while (iterator--) {
+                                       cache.css.width = this._widths[this.relative(iterator)];
+                                       items.eq(iterator).css(cache.css);
+                               }
+                       } else if (grid) {
+                               cache.css.width = cache.items.width;
+                               items.css(cache.css);
+                       }
+               }
+       }, {
+               filter: [ 'items' ],
+               run: function() {
+                       this._coordinates.length < 1 && this.$stage.removeAttr('style');
+               }
+       }, {
+               filter: [ 'width', 'items', 'settings' ],
+               run: function(cache) {
+                       cache.current = cache.current ? this.$stage.children().index(cache.current) : 0;
+                       cache.current = Math.max(this.minimum(), Math.min(this.maximum(), cache.current));
+                       this.reset(cache.current);
+               }
+       }, {
+               filter: [ 'position' ],
+               run: function() {
+                       this.animate(this.coordinates(this._current));
+               }
+       }, {
+               filter: [ 'width', 'position', 'items', 'settings' ],
+               run: function() {
+                       var rtl = this.settings.rtl ? 1 : -1,
+                               padding = this.settings.stagePadding * 2,
+                               begin = this.coordinates(this.current()) + padding,
+                               end = begin + this.width() * rtl,
+                               inner, outer, matches = [], i, n;
+
+                       for (i = 0, n = this._coordinates.length; i < n; i++) {
+                               inner = this._coordinates[i - 1] || 0;
+                               outer = Math.abs(this._coordinates[i]) + padding * rtl;
+
+                               if ((this.op(inner, '<=', begin) && (this.op(inner, '>', end)))
+                                       || (this.op(outer, '<', begin) && this.op(outer, '>', end))) {
+                                       matches.push(i);
+                               }
+                       }
+
+                       this.$stage.children('.active').removeClass('active');
+                       this.$stage.children(':eq(' + matches.join('), :eq(') + ')').addClass('active');
+
+                       if (this.settings.center) {
+                               this.$stage.children('.center').removeClass('center');
+                               this.$stage.children().eq(this.current()).addClass('center');
+                       }
+               }
+       } ];
+
+       /**
+        * Initializes the carousel.
+        * @protected
+        */
+       Owl.prototype.initialize = function() {
+               this.enter('initializing');
+               this.trigger('initialize');
+
+               this.$element.toggleClass(this.settings.rtlClass, this.settings.rtl);
+
+               if (this.settings.autoWidth && !this.is('pre-loading')) {
+                       var imgs, nestedSelector, width;
+                       imgs = this.$element.find('img');
+                       nestedSelector = this.settings.nestedItemSelector ? '.' + this.settings.nestedItemSelector : undefined;
+                       width = this.$element.children(nestedSelector).width();
+
+                       if (imgs.length && width <= 0) {
+                               this.preloadAutoWidthImages(imgs);
+                       }
+               }
+
+               this.$element.addClass(this.options.loadingClass);
+
+               // create stage
+               this.$stage = $('<' + this.settings.stageElement + ' class="' + this.settings.stageClass + '"/>')
+                       .wrap('<div class="' + this.settings.stageOuterClass + '"/>');
+
+               // append stage
+               this.$element.append(this.$stage.parent());
+
+               // append content
+               this.replace(this.$element.children().not(this.$stage.parent()));
+
+               // check visibility
+               if (this.$element.is(':visible')) {
+                       // update view
+                       this.refresh();
+               } else {
+                       // invalidate width
+                       this.invalidate('width');
+               }
+
+               this.$element
+                       .removeClass(this.options.loadingClass)
+                       .addClass(this.options.loadedClass);
+
+               // register event handlers
+               this.registerEventHandlers();
+
+               this.leave('initializing');
+               this.trigger('initialized');
+       };
+
+       /**
+        * Setups the current settings.
+        * @todo Remove responsive classes. Why should adaptive designs be brought into IE8?
+        * @todo Support for media queries by using `matchMedia` would be nice.
+        * @public
+        */
+       Owl.prototype.setup = function() {
+               var viewport = this.viewport(),
+                       overwrites = this.options.responsive,
+                       match = -1,
+                       settings = null;
+
+               if (!overwrites) {
+                       settings = $.extend({}, this.options);
+               } else {
+                       $.each(overwrites, function(breakpoint) {
+                               if (breakpoint <= viewport && breakpoint > match) {
+                                       match = Number(breakpoint);
+                               }
+                       });
+
+                       settings = $.extend({}, this.options, overwrites[match]);
+                       if (typeof settings.stagePadding === 'function') {
+                               settings.stagePadding = settings.stagePadding();
+                       }
+                       delete settings.responsive;
+
+                       // responsive class
+                       if (settings.responsiveClass) {
+                               this.$element.attr('class',
+                                       this.$element.attr('class').replace(new RegExp('(' + this.options.responsiveClass + '-)\\S+\\s', 'g'), '$1' + match)
+                               );
+                       }
+               }
+
+               this.trigger('change', { property: { name: 'settings', value: settings } });
+               this._breakpoint = match;
+               this.settings = settings;
+               this.invalidate('settings');
+               this.trigger('changed', { property: { name: 'settings', value: this.settings } });
+       };
+
+       /**
+        * Updates option logic if necessery.
+        * @protected
+        */
+       Owl.prototype.optionsLogic = function() {
+               if (this.settings.autoWidth) {
+                       this.settings.stagePadding = false;
+                       this.settings.merge = false;
+               }
+       };
+
+       /**
+        * Prepares an item before add.
+        * @todo Rename event parameter `content` to `item`.
+        * @protected
+        * @returns {jQuery|HTMLElement} - The item container.
+        */
+       Owl.prototype.prepare = function(item) {
+               var event = this.trigger('prepare', { content: item });
+
+               if (!event.data) {
+                       event.data = $('<' + this.settings.itemElement + '/>')
+                               .addClass(this.options.itemClass).append(item)
+               }
+
+               this.trigger('prepared', { content: event.data });
+
+               return event.data;
+       };
+
+       /**
+        * Updates the view.
+        * @public
+        */
+       Owl.prototype.update = function() {
+               var i = 0,
+                       n = this._pipe.length,
+                       filter = $.proxy(function(p) { return this[p] }, this._invalidated),
+                       cache = {};
+
+               while (i < n) {
+                       if (this._invalidated.all || $.grep(this._pipe[i].filter, filter).length > 0) {
+                               this._pipe[i].run(cache);
+                       }
+                       i++;
+               }
+
+               this._invalidated = {};
+
+               !this.is('valid') && this.enter('valid');
+       };
+
+       /**
+        * Gets the width of the view.
+        * @public
+        * @param {Owl.Width} [dimension=Owl.Width.Default] - The dimension to return.
+        * @returns {Number} - The width of the view in pixel.
+        */
+       Owl.prototype.width = function(dimension) {
+               dimension = dimension || Owl.Width.Default;
+               switch (dimension) {
+                       case Owl.Width.Inner:
+                       case Owl.Width.Outer:
+                               return this._width;
+                       default:
+                               return this._width - this.settings.stagePadding * 2 + this.settings.margin;
+               }
+       };
+
+       /**
+        * Refreshes the carousel primarily for adaptive purposes.
+        * @public
+        */
+       Owl.prototype.refresh = function() {
+               this.enter('refreshing');
+               this.trigger('refresh');
+
+               this.setup();
+
+               this.optionsLogic();
+
+               this.$element.addClass(this.options.refreshClass);
+
+               this.update();
+
+               this.$element.removeClass(this.options.refreshClass);
+
+               this.leave('refreshing');
+               this.trigger('refreshed');
+       };
+
+       /**
+        * Checks window `resize` event.
+        * @protected
+        */
+       Owl.prototype.onThrottledResize = function() {
+               window.clearTimeout(this.resizeTimer);
+               this.resizeTimer = window.setTimeout(this._handlers.onResize, this.settings.responsiveRefreshRate);
+       };
+
+       /**
+        * Checks window `resize` event.
+        * @protected
+        */
+       Owl.prototype.onResize = function() {
+               if (!this._items.length) {
+                       return false;
+               }
+
+               if (this._width === this.$element.width()) {
+                       return false;
+               }
+
+               if (!this.$element.is(':visible')) {
+                       return false;
+               }
+
+               this.enter('resizing');
+
+               if (this.trigger('resize').isDefaultPrevented()) {
+                       this.leave('resizing');
+                       return false;
+               }
+
+               this.invalidate('width');
+
+               this.refresh();
+
+               this.leave('resizing');
+               this.trigger('resized');
+       };
+
+       /**
+        * Registers event handlers.
+        * @todo Check `msPointerEnabled`
+        * @todo #261
+        * @protected
+        */
+       Owl.prototype.registerEventHandlers = function() {
+               if ($.support.transition) {
+                       this.$stage.on($.support.transition.end + '.owl.core', $.proxy(this.onTransitionEnd, this));
+               }
+
+               if (this.settings.responsive !== false) {
+                       this.on(window, 'resize', this._handlers.onThrottledResize);
+               }
+
+               if (this.settings.mouseDrag) {
+                       this.$element.addClass(this.options.dragClass);
+                       this.$stage.on('mousedown.owl.core', $.proxy(this.onDragStart, this));
+                       this.$stage.on('dragstart.owl.core selectstart.owl.core', function() { return false });
+               }
+
+               if (this.settings.touchDrag){
+                       this.$stage.on('touchstart.owl.core', $.proxy(this.onDragStart, this));
+                       this.$stage.on('touchcancel.owl.core', $.proxy(this.onDragEnd, this));
+               }
+       };
+
+       /**
+        * Handles `touchstart` and `mousedown` events.
+        * @todo Horizontal swipe threshold as option
+        * @todo #261
+        * @protected
+        * @param {Event} event - The event arguments.
+        */
+       Owl.prototype.onDragStart = function(event) {
+               var stage = null;
+
+               if (event.which === 3) {
+                       return;
+               }
+
+               if ($.support.transform) {
+                       stage = this.$stage.css('transform').replace(/.*\(|\)| /g, '').split(',');
+                       stage = {
+                               x: stage[stage.length === 16 ? 12 : 4],
+                               y: stage[stage.length === 16 ? 13 : 5]
+                       };
+               } else {
+                       stage = this.$stage.position();
+                       stage = {
+                               x: this.settings.rtl ?
+                                       stage.left + this.$stage.width() - this.width() + this.settings.margin :
+                                       stage.left,
+                               y: stage.top
+                       };
+               }
+
+               if (this.is('animating')) {
+                       $.support.transform ? this.animate(stage.x) : this.$stage.stop()
+                       this.invalidate('position');
+               }
+
+               this.$element.toggleClass(this.options.grabClass, event.type === 'mousedown');
+
+               this.speed(0);
+
+               this._drag.time = new Date().getTime();
+               this._drag.target = $(event.target);
+               this._drag.stage.start = stage;
+               this._drag.stage.current = stage;
+               this._drag.pointer = this.pointer(event);
+
+               $(document).on('mouseup.owl.core touchend.owl.core', $.proxy(this.onDragEnd, this));
+
+               $(document).one('mousemove.owl.core touchmove.owl.core', $.proxy(function(event) {
+                       var delta = this.difference(this._drag.pointer, this.pointer(event));
+
+                       $(document).on('mousemove.owl.core touchmove.owl.core', $.proxy(this.onDragMove, this));
+
+                       if (Math.abs(delta.x) < Math.abs(delta.y) && this.is('valid')) {
+                               return;
+                       }
+
+                       event.preventDefault();
+
+                       this.enter('dragging');
+                       this.trigger('drag');
+               }, this));
+       };
+
+       /**
+        * Handles the `touchmove` and `mousemove` events.
+        * @todo #261
+        * @protected
+        * @param {Event} event - The event arguments.
+        */
+       Owl.prototype.onDragMove = function(event) {
+               var minimum = null,
+                       maximum = null,
+                       pull = null,
+                       delta = this.difference(this._drag.pointer, this.pointer(event)),
+                       stage = this.difference(this._drag.stage.start, delta);
+
+               if (!this.is('dragging')) {
+                       return;
+               }
+
+               event.preventDefault();
+
+               if (this.settings.loop) {
+                       minimum = this.coordinates(this.minimum());
+                       maximum = this.coordinates(this.maximum() + 1) - minimum;
+                       stage.x = (((stage.x - minimum) % maximum + maximum) % maximum) + minimum;
+               } else {
+                       minimum = this.settings.rtl ? this.coordinates(this.maximum()) : this.coordinates(this.minimum());
+                       maximum = this.settings.rtl ? this.coordinates(this.minimum()) : this.coordinates(this.maximum());
+                       pull = this.settings.pullDrag ? -1 * delta.x / 5 : 0;
+                       stage.x = Math.max(Math.min(stage.x, minimum + pull), maximum + pull);
+               }
+
+               this._drag.stage.current = stage;
+
+               this.animate(stage.x);
+       };
+
+       /**
+        * Handles the `touchend` and `mouseup` events.
+        * @todo #261
+        * @todo Threshold for click event
+        * @protected
+        * @param {Event} event - The event arguments.
+        */
+       Owl.prototype.onDragEnd = function(event) {
+               var delta = this.difference(this._drag.pointer, this.pointer(event)),
+                       stage = this._drag.stage.current,
+                       direction = delta.x > 0 ^ this.settings.rtl ? 'left' : 'right';
+
+               $(document).off('.owl.core');
+
+               this.$element.removeClass(this.options.grabClass);
+
+               if (delta.x !== 0 && this.is('dragging') || !this.is('valid')) {
+                       this.speed(this.settings.dragEndSpeed || this.settings.smartSpeed);
+                       this.current(this.closest(stage.x, delta.x !== 0 ? direction : this._drag.direction));
+                       this.invalidate('position');
+                       this.update();
+
+                       this._drag.direction = direction;
+
+                       if (Math.abs(delta.x) > 3 || new Date().getTime() - this._drag.time > 300) {
+                               this._drag.target.one('click.owl.core', function() { return false; });
+                       }
+               }
+
+               if (!this.is('dragging')) {
+                       return;
+               }
+
+               this.leave('dragging');
+               this.trigger('dragged');
+       };
+
+       /**
+        * Gets absolute position of the closest item for a coordinate.
+        * @todo Setting `freeDrag` makes `closest` not reusable. See #165.
+        * @protected
+        * @param {Number} coordinate - The coordinate in pixel.
+        * @param {String} direction - The direction to check for the closest item. Ether `left` or `right`.
+        * @return {Number} - The absolute position of the closest item.
+        */
+       Owl.prototype.closest = function(coordinate, direction) {
+               var position = -1,
+                       pull = 30,
+                       width = this.width(),
+                       coordinates = this.coordinates();
+
+               if (!this.settings.freeDrag) {
+                       // check closest item
+                       $.each(coordinates, $.proxy(function(index, value) {
+                               // on a left pull, check on current index
+                               if (direction === 'left' && coordinate > value - pull && coordinate < value + pull) {
+                                       position = index;
+                               // on a right pull, check on previous index
+                               // to do so, subtract width from value and set position = index + 1
+                               } else if (direction === 'right' && coordinate > value - width - pull && coordinate < value - width + pull) {
+                                       position = index + 1;
+                               } else if (this.op(coordinate, '<', value)
+                                       && this.op(coordinate, '>', coordinates[index + 1] || value - width)) {
+                                       position = direction === 'left' ? index + 1 : index;
+                               }
+                               return position === -1;
+                       }, this));
+               }
+
+               if (!this.settings.loop) {
+                       // non loop boundries
+                       if (this.op(coordinate, '>', coordinates[this.minimum()])) {
+                               position = coordinate = this.minimum();
+                       } else if (this.op(coordinate, '<', coordinates[this.maximum()])) {
+                               position = coordinate = this.maximum();
+                       }
+               }
+
+               return position;
+       };
+
+       /**
+        * Animates the stage.
+        * @todo #270
+        * @public
+        * @param {Number} coordinate - The coordinate in pixels.
+        */
+       Owl.prototype.animate = function(coordinate) {
+               var animate = this.speed() > 0;
+
+               this.is('animating') && this.onTransitionEnd();
+
+               if (animate) {
+                       this.enter('animating');
+                       this.trigger('translate');
+               }
+
+               if ($.support.transform3d && $.support.transition) {
+                       this.$stage.css({
+                               transform: 'translate3d(' + coordinate + 'px,0px,0px)',
+                               transition: (this.speed() / 1000) + 's'
+                       });
+               } else if (animate) {
+                       this.$stage.animate({
+                               left: coordinate + 'px'
+                       }, this.speed(), this.settings.fallbackEasing, $.proxy(this.onTransitionEnd, this));
+               } else {
+                       this.$stage.css({
+                               left: coordinate + 'px'
+                       });
+               }
+       };
+
+       /**
+        * Checks whether the carousel is in a specific state or not.
+        * @param {String} state - The state to check.
+        * @returns {Boolean} - The flag which indicates if the carousel is busy.
+        */
+       Owl.prototype.is = function(state) {
+               return this._states.current[state] && this._states.current[state] > 0;
+       };
+
+       /**
+        * Sets the absolute position of the current item.
+        * @public
+        * @param {Number} [position] - The new absolute position or nothing to leave it unchanged.
+        * @returns {Number} - The absolute position of the current item.
+        */
+       Owl.prototype.current = function(position) {
+               if (position === undefined) {
+                       return this._current;
+               }
+
+               if (this._items.length === 0) {
+                       return undefined;
+               }
+
+               position = this.normalize(position);
+
+               if (this._current !== position) {
+                       var event = this.trigger('change', { property: { name: 'position', value: position } });
+
+                       if (event.data !== undefined) {
+                               position = this.normalize(event.data);
+                       }
+
+                       this._current = position;
+
+                       this.invalidate('position');
+
+                       this.trigger('changed', { property: { name: 'position', value: this._current } });
+               }
+
+               return this._current;
+       };
+
+       /**
+        * Invalidates the given part of the update routine.
+        * @param {String} [part] - The part to invalidate.
+        * @returns {Array.<String>} - The invalidated parts.
+        */
+       Owl.prototype.invalidate = function(part) {
+               if ($.type(part) === 'string') {
+                       this._invalidated[part] = true;
+                       this.is('valid') && this.leave('valid');
+               }
+               return $.map(this._invalidated, function(v, i) { return i });
+       };
+
+       /**
+        * Resets the absolute position of the current item.
+        * @public
+        * @param {Number} position - The absolute position of the new item.
+        */
+       Owl.prototype.reset = function(position) {
+               position = this.normalize(position);
+
+               if (position === undefined) {
+                       return;
+               }
+
+               this._speed = 0;
+               this._current = position;
+
+               this.suppress([ 'translate', 'translated' ]);
+
+               this.animate(this.coordinates(position));
+
+               this.release([ 'translate', 'translated' ]);
+       };
+
+       /**
+        * Normalizes an absolute or a relative position of an item.
+        * @public
+        * @param {Number} position - The absolute or relative position to normalize.
+        * @param {Boolean} [relative=false] - Whether the given position is relative or not.
+        * @returns {Number} - The normalized position.
+        */
+       Owl.prototype.normalize = function(position, relative) {
+               var n = this._items.length,
+                       m = relative ? 0 : this._clones.length;
+
+               if (!this.isNumeric(position) || n < 1) {
+                       position = undefined;
+               } else if (position < 0 || position >= n + m) {
+                       position = ((position - m / 2) % n + n) % n + m / 2;
+               }
+
+               return position;
+       };
+
+       /**
+        * Converts an absolute position of an item into a relative one.
+        * @public
+        * @param {Number} position - The absolute position to convert.
+        * @returns {Number} - The converted position.
+        */
+       Owl.prototype.relative = function(position) {
+               position -= this._clones.length / 2;
+               return this.normalize(position, true);
+       };
+
+       /**
+        * Gets the maximum position for the current item.
+        * @public
+        * @param {Boolean} [relative=false] - Whether to return an absolute position or a relative position.
+        * @returns {Number}
+        */
+       Owl.prototype.maximum = function(relative) {
+               var settings = this.settings,
+                       maximum = this._coordinates.length,
+                       iterator,
+                       reciprocalItemsWidth,
+                       elementWidth;
+
+               if (settings.loop) {
+                       maximum = this._clones.length / 2 + this._items.length - 1;
+               } else if (settings.autoWidth || settings.merge) {
+                       iterator = this._items.length;
+                       reciprocalItemsWidth = this._items[--iterator].width();
+                       elementWidth = this.$element.width();
+                       while (iterator--) {
+                               reciprocalItemsWidth += this._items[iterator].width() + this.settings.margin;
+                               if (reciprocalItemsWidth > elementWidth) {
+                                       break;
+                               }
+                       }
+                       maximum = iterator + 1;
+               } else if (settings.center) {
+                       maximum = this._items.length - 1;
+               } else {
+                       maximum = this._items.length - settings.items;
+               }
+
+               if (relative) {
+                       maximum -= this._clones.length / 2;
+               }
+
+               return Math.max(maximum, 0);
+       };
+
+       /**
+        * Gets the minimum position for the current item.
+        * @public
+        * @param {Boolean} [relative=false] - Whether to return an absolute position or a relative position.
+        * @returns {Number}
+        */
+       Owl.prototype.minimum = function(relative) {
+               return relative ? 0 : this._clones.length / 2;
+       };
+
+       /**
+        * Gets an item at the specified relative position.
+        * @public
+        * @param {Number} [position] - The relative position of the item.
+        * @return {jQuery|Array.<jQuery>} - The item at the given position or all items if no position was given.
+        */
+       Owl.prototype.items = function(position) {
+               if (position === undefined) {
+                       return this._items.slice();
+               }
+
+               position = this.normalize(position, true);
+               return this._items[position];
+       };
+
+       /**
+        * Gets an item at the specified relative position.
+        * @public
+        * @param {Number} [position] - The relative position of the item.
+        * @return {jQuery|Array.<jQuery>} - The item at the given position or all items if no position was given.
+        */
+       Owl.prototype.mergers = function(position) {
+               if (position === undefined) {
+                       return this._mergers.slice();
+               }
+
+               position = this.normalize(position, true);
+               return this._mergers[position];
+       };
+
+       /**
+        * Gets the absolute positions of clones for an item.
+        * @public
+        * @param {Number} [position] - The relative position of the item.
+        * @returns {Array.<Number>} - The absolute positions of clones for the item or all if no position was given.
+        */
+       Owl.prototype.clones = function(position) {
+               var odd = this._clones.length / 2,
+                       even = odd + this._items.length,
+                       map = function(index) { return index % 2 === 0 ? even + index / 2 : odd - (index + 1) / 2 };
+
+               if (position === undefined) {
+                       return $.map(this._clones, function(v, i) { return map(i) });
+               }
+
+               return $.map(this._clones, function(v, i) { return v === position ? map(i) : null });
+       };
+
+       /**
+        * Sets the current animation speed.
+        * @public
+        * @param {Number} [speed] - The animation speed in milliseconds or nothing to leave it unchanged.
+        * @returns {Number} - The current animation speed in milliseconds.
+        */
+       Owl.prototype.speed = function(speed) {
+               if (speed !== undefined) {
+                       this._speed = speed;
+               }
+
+               return this._speed;
+       };
+
+       /**
+        * Gets the coordinate of an item.
+        * @todo The name of this method is missleanding.
+        * @public
+        * @param {Number} position - The absolute position of the item within `minimum()` and `maximum()`.
+        * @returns {Number|Array.<Number>} - The coordinate of the item in pixel or all coordinates.
+        */
+       Owl.prototype.coordinates = function(position) {
+               var multiplier = 1,
+                       newPosition = position - 1,
+                       coordinate;
+
+               if (position === undefined) {
+                       return $.map(this._coordinates, $.proxy(function(coordinate, index) {
+                               return this.coordinates(index);
+                       }, this));
+               }
+
+               if (this.settings.center) {
+                       if (this.settings.rtl) {
+                               multiplier = -1;
+                               newPosition = position + 1;
+                       }
+
+                       coordinate = this._coordinates[position];
+                       coordinate += (this.width() - coordinate + (this._coordinates[newPosition] || 0)) / 2 * multiplier;
+               } else {
+                       coordinate = this._coordinates[newPosition] || 0;
+               }
+
+               coordinate = Math.ceil(coordinate);
+
+               return coordinate;
+       };
+
+       /**
+        * Calculates the speed for a translation.
+        * @protected
+        * @param {Number} from - The absolute position of the start item.
+        * @param {Number} to - The absolute position of the target item.
+        * @param {Number} [factor=undefined] - The time factor in milliseconds.
+        * @returns {Number} - The time in milliseconds for the translation.
+        */
+       Owl.prototype.duration = function(from, to, factor) {
+               if (factor === 0) {
+                       return 0;
+               }
+
+               return Math.min(Math.max(Math.abs(to - from), 1), 6) * Math.abs((factor || this.settings.smartSpeed));
+       };
+
+       /**
+        * Slides to the specified item.
+        * @public
+        * @param {Number} position - The position of the item.
+        * @param {Number} [speed] - The time in milliseconds for the transition.
+        */
+       Owl.prototype.to = function(position, speed) {
+               var current = this.current(),
+                       revert = null,
+                       distance = position - this.relative(current),
+                       direction = (distance > 0) - (distance < 0),
+                       items = this._items.length,
+                       minimum = this.minimum(),
+                       maximum = this.maximum();
+
+               if (this.settings.loop) {
+                       if (!this.settings.rewind && Math.abs(distance) > items / 2) {
+                               distance += direction * -1 * items;
+                       }
+
+                       position = current + distance;
+                       revert = ((position - minimum) % items + items) % items + minimum;
+
+                       if (revert !== position && revert - distance <= maximum && revert - distance > 0) {
+                               current = revert - distance;
+                               position = revert;
+                               this.reset(current);
+                       }
+               } else if (this.settings.rewind) {
+                       maximum += 1;
+                       position = (position % maximum + maximum) % maximum;
+               } else {
+                       position = Math.max(minimum, Math.min(maximum, position));
+               }
+
+               this.speed(this.duration(current, position, speed));
+               this.current(position);
+
+               if (this.$element.is(':visible')) {
+                       this.update();
+               }
+       };
+
+       /**
+        * Slides to the next item.
+        * @public
+        * @param {Number} [speed] - The time in milliseconds for the transition.
+        */
+       Owl.prototype.next = function(speed) {
+               speed = speed || false;
+               this.to(this.relative(this.current()) + 1, speed);
+       };
+
+       /**
+        * Slides to the previous item.
+        * @public
+        * @param {Number} [speed] - The time in milliseconds for the transition.
+        */
+       Owl.prototype.prev = function(speed) {
+               speed = speed || false;
+               this.to(this.relative(this.current()) - 1, speed);
+       };
+
+       /**
+        * Handles the end of an animation.
+        * @protected
+        * @param {Event} event - The event arguments.
+        */
+       Owl.prototype.onTransitionEnd = function(event) {
+
+               // if css2 animation then event object is undefined
+               if (event !== undefined) {
+                       event.stopPropagation();
+
+                       // Catch only owl-stage transitionEnd event
+                       if ((event.target || event.srcElement || event.originalTarget) !== this.$stage.get(0)) {
+                               return false;
+                       }
+               }
+
+               this.leave('animating');
+               this.trigger('translated');
+       };
+
+       /**
+        * Gets viewport width.
+        * @protected
+        * @return {Number} - The width in pixel.
+        */
+       Owl.prototype.viewport = function() {
+               var width;
+               if (this.options.responsiveBaseElement !== window) {
+                       width = $(this.options.responsiveBaseElement).width();
+               } else if (window.innerWidth) {
+                       width = window.innerWidth;
+               } else if (document.documentElement && document.documentElement.clientWidth) {
+                       width = document.documentElement.clientWidth;
+               } else {
+                       console.warn('Can not detect viewport width.');
+               }
+               return width;
+       };
+
+       /**
+        * Replaces the current content.
+        * @public
+        * @param {HTMLElement|jQuery|String} content - The new content.
+        */
+       Owl.prototype.replace = function(content) {
+               this.$stage.empty();
+               this._items = [];
+
+               if (content) {
+                       content = (content instanceof jQuery) ? content : $(content);
+               }
+
+               if (this.settings.nestedItemSelector) {
+                       content = content.find('.' + this.settings.nestedItemSelector);
+               }
+
+               content.filter(function() {
+                       return this.nodeType === 1;
+               }).each($.proxy(function(index, item) {
+                       item = this.prepare(item);
+                       this.$stage.append(item);
+                       this._items.push(item);
+                       this._mergers.push(item.find('[data-merge]').addBack('[data-merge]').attr('data-merge') * 1 || 1);
+               }, this));
+
+               this.reset(this.isNumeric(this.settings.startPosition) ? this.settings.startPosition : 0);
+
+               this.invalidate('items');
+       };
+
+       /**
+        * Adds an item.
+        * @todo Use `item` instead of `content` for the event arguments.
+        * @public
+        * @param {HTMLElement|jQuery|String} content - The item content to add.
+        * @param {Number} [position] - The relative position at which to insert the item otherwise the item will be added to the end.
+        */
+       Owl.prototype.add = function(content, position) {
+               var current = this.relative(this._current);
+
+               position = position === undefined ? this._items.length : this.normalize(position, true);
+               content = content instanceof jQuery ? content : $(content);
+
+               this.trigger('add', { content: content, position: position });
+
+               content = this.prepare(content);
+
+               if (this._items.length === 0 || position === this._items.length) {
+                       this._items.length === 0 && this.$stage.append(content);
+                       this._items.length !== 0 && this._items[position - 1].after(content);
+                       this._items.push(content);
+                       this._mergers.push(content.find('[data-merge]').addBack('[data-merge]').attr('data-merge') * 1 || 1);
+               } else {
+                       this._items[position].before(content);
+                       this._items.splice(position, 0, content);
+                       this._mergers.splice(position, 0, content.find('[data-merge]').addBack('[data-merge]').attr('data-merge') * 1 || 1);
+               }
+
+               this._items[current] && this.reset(this._items[current].index());
+
+               this.invalidate('items');
+
+               this.trigger('added', { content: content, position: position });
+       };
+
+       /**
+        * Removes an item by its position.
+        * @todo Use `item` instead of `content` for the event arguments.
+        * @public
+        * @param {Number} position - The relative position of the item to remove.
+        */
+       Owl.prototype.remove = function(position) {
+               position = this.normalize(position, true);
+
+               if (position === undefined) {
+                       return;
+               }
+
+               this.trigger('remove', { content: this._items[position], position: position });
+
+               this._items[position].remove();
+               this._items.splice(position, 1);
+               this._mergers.splice(position, 1);
+
+               this.invalidate('items');
+
+               this.trigger('removed', { content: null, position: position });
+       };
+
+       /**
+        * Preloads images with auto width.
+        * @todo Replace by a more generic approach
+        * @protected
+        */
+       Owl.prototype.preloadAutoWidthImages = function(images) {
+               images.each($.proxy(function(i, element) {
+                       this.enter('pre-loading');
+                       element = $(element);
+                       $(new Image()).one('load', $.proxy(function(e) {
+                               element.attr('src', e.target.src);
+                               element.css('opacity', 1);
+                               this.leave('pre-loading');
+                               !this.is('pre-loading') && !this.is('initializing') && this.refresh();
+                       }, this)).attr('src', element.attr('src') || element.attr('data-src') || element.attr('data-src-retina'));
+               }, this));
+       };
+
+       /**
+        * Destroys the carousel.
+        * @public
+        */
+       Owl.prototype.destroy = function() {
+
+               this.$element.off('.owl.core');
+               this.$stage.off('.owl.core');
+               $(document).off('.owl.core');
+
+               if (this.settings.responsive !== false) {
+                       window.clearTimeout(this.resizeTimer);
+                       this.off(window, 'resize', this._handlers.onThrottledResize);
+               }
+
+               for (var i in this._plugins) {
+                       this._plugins[i].destroy();
+               }
+
+               this.$stage.children('.cloned').remove();
+
+               this.$stage.unwrap();
+               this.$stage.children().contents().unwrap();
+               this.$stage.children().unwrap();
+
+               this.$element
+                       .removeClass(this.options.refreshClass)
+                       .removeClass(this.options.loadingClass)
+                       .removeClass(this.options.loadedClass)
+                       .removeClass(this.options.rtlClass)
+                       .removeClass(this.options.dragClass)
+                       .removeClass(this.options.grabClass)
+                       .attr('class', this.$element.attr('class').replace(new RegExp(this.options.responsiveClass + '-\\S+\\s', 'g'), ''))
+                       .removeData('owl.carousel');
+       };
+
+       /**
+        * Operators to calculate right-to-left and left-to-right.
+        * @protected
+        * @param {Number} [a] - The left side operand.
+        * @param {String} [o] - The operator.
+        * @param {Number} [b] - The right side operand.
+        */
+       Owl.prototype.op = function(a, o, b) {
+               var rtl = this.settings.rtl;
+               switch (o) {
+                       case '<':
+                               return rtl ? a > b : a < b;
+                       case '>':
+                               return rtl ? a < b : a > b;
+                       case '>=':
+                               return rtl ? a <= b : a >= b;
+                       case '<=':
+                               return rtl ? a >= b : a <= b;
+                       default:
+                               break;
+               }
+       };
+
+       /**
+        * Attaches to an internal event.
+        * @protected
+        * @param {HTMLElement} element - The event source.
+        * @param {String} event - The event name.
+        * @param {Function} listener - The event handler to attach.
+        * @param {Boolean} capture - Wether the event should be handled at the capturing phase or not.
+        */
+       Owl.prototype.on = function(element, event, listener, capture) {
+               if (element.addEventListener) {
+                       element.addEventListener(event, listener, capture);
+               } else if (element.attachEvent) {
+                       element.attachEvent('on' + event, listener);
+               }
+       };
+
+       /**
+        * Detaches from an internal event.
+        * @protected
+        * @param {HTMLElement} element - The event source.
+        * @param {String} event - The event name.
+        * @param {Function} listener - The attached event handler to detach.
+        * @param {Boolean} capture - Wether the attached event handler was registered as a capturing listener or not.
+        */
+       Owl.prototype.off = function(element, event, listener, capture) {
+               if (element.removeEventListener) {
+                       element.removeEventListener(event, listener, capture);
+               } else if (element.detachEvent) {
+                       element.detachEvent('on' + event, listener);
+               }
+       };
+
+       /**
+        * Triggers a public event.
+        * @todo Remove `status`, `relatedTarget` should be used instead.
+        * @protected
+        * @param {String} name - The event name.
+        * @param {*} [data=null] - The event data.
+        * @param {String} [namespace=carousel] - The event namespace.
+        * @param {String} [state] - The state which is associated with the event.
+        * @param {Boolean} [enter=false] - Indicates if the call enters the specified state or not.
+        * @returns {Event} - The event arguments.
+        */
+       Owl.prototype.trigger = function(name, data, namespace, state, enter) {
+               var status = {
+                       item: { count: this._items.length, index: this.current() }
+               }, handler = $.camelCase(
+                       $.grep([ 'on', name, namespace ], function(v) { return v })
+                               .join('-').toLowerCase()
+               ), event = $.Event(
+                       [ name, 'owl', namespace || 'carousel' ].join('.').toLowerCase(),
+                       $.extend({ relatedTarget: this }, status, data)
+               );
+
+               if (!this._supress[name]) {
+                       $.each(this._plugins, function(name, plugin) {
+                               if (plugin.onTrigger) {
+                                       plugin.onTrigger(event);
+                               }
+                       });
+
+                       this.register({ type: Owl.Type.Event, name: name });
+                       this.$element.trigger(event);
+
+                       if (this.settings && typeof this.settings[handler] === 'function') {
+                               this.settings[handler].call(this, event);
+                       }
+               }
+
+               return event;
+       };
+
+       /**
+        * Enters a state.
+        * @param name - The state name.
+        */
+       Owl.prototype.enter = function(name) {
+               $.each([ name ].concat(this._states.tags[name] || []), $.proxy(function(i, name) {
+                       if (this._states.current[name] === undefined) {
+                               this._states.current[name] = 0;
+                       }
+
+                       this._states.current[name]++;
+               }, this));
+       };
+
+       /**
+        * Leaves a state.
+        * @param name - The state name.
+        */
+       Owl.prototype.leave = function(name) {
+               $.each([ name ].concat(this._states.tags[name] || []), $.proxy(function(i, name) {
+                       this._states.current[name]--;
+               }, this));
+       };
+
+       /**
+        * Registers an event or state.
+        * @public
+        * @param {Object} object - The event or state to register.
+        */
+       Owl.prototype.register = function(object) {
+               if (object.type === Owl.Type.Event) {
+                       if (!$.event.special[object.name]) {
+                               $.event.special[object.name] = {};
+                       }
+
+                       if (!$.event.special[object.name].owl) {
+                               var _default = $.event.special[object.name]._default;
+                               $.event.special[object.name]._default = function(e) {
+                                       if (_default && _default.apply && (!e.namespace || e.namespace.indexOf('owl') === -1)) {
+                                               return _default.apply(this, arguments);
+                                       }
+                                       return e.namespace && e.namespace.indexOf('owl') > -1;
+                               };
+                               $.event.special[object.name].owl = true;
+                       }
+               } else if (object.type === Owl.Type.State) {
+                       if (!this._states.tags[object.name]) {
+                               this._states.tags[object.name] = object.tags;
+                       } else {
+                               this._states.tags[object.name] = this._states.tags[object.name].concat(object.tags);
+                       }
+
+                       this._states.tags[object.name] = $.grep(this._states.tags[object.name], $.proxy(function(tag, i) {
+                               return $.inArray(tag, this._states.tags[object.name]) === i;
+                       }, this));
+               }
+       };
+
+       /**
+        * Suppresses events.
+        * @protected
+        * @param {Array.<String>} events - The events to suppress.
+        */
+       Owl.prototype.suppress = function(events) {
+               $.each(events, $.proxy(function(index, event) {
+                       this._supress[event] = true;
+               }, this));
+       };
+
+       /**
+        * Releases suppressed events.
+        * @protected
+        * @param {Array.<String>} events - The events to release.
+        */
+       Owl.prototype.release = function(events) {
+               $.each(events, $.proxy(function(index, event) {
+                       delete this._supress[event];
+               }, this));
+       };
+
+       /**
+        * Gets unified pointer coordinates from event.
+        * @todo #261
+        * @protected
+        * @param {Event} - The `mousedown` or `touchstart` event.
+        * @returns {Object} - Contains `x` and `y` coordinates of current pointer position.
+        */
+       Owl.prototype.pointer = function(event) {
+               var result = { x: null, y: null };
+
+               event = event.originalEvent || event || window.event;
+
+               event = event.touches && event.touches.length ?
+                       event.touches[0] : event.changedTouches && event.changedTouches.length ?
+                               event.changedTouches[0] : event;
+
+               if (event.pageX) {
+                       result.x = event.pageX;
+                       result.y = event.pageY;
+               } else {
+                       result.x = event.clientX;
+                       result.y = event.clientY;
+               }
+
+               return result;
+       };
+
+       /**
+        * Determines if the input is a Number or something that can be coerced to a Number
+        * @protected
+        * @param {Number|String|Object|Array|Boolean|RegExp|Function|Symbol} - The input to be tested
+        * @returns {Boolean} - An indication if the input is a Number or can be coerced to a Number
+        */
+       Owl.prototype.isNumeric = function(number) {
+               return !isNaN(parseFloat(number));
+       };
+
+       /**
+        * Gets the difference of two vectors.
+        * @todo #261
+        * @protected
+        * @param {Object} - The first vector.
+        * @param {Object} - The second vector.
+        * @returns {Object} - The difference.
+        */
+       Owl.prototype.difference = function(first, second) {
+               return {
+                       x: first.x - second.x,
+                       y: first.y - second.y
+               };
+       };
+
+       /**
+        * The jQuery Plugin for the Owl Carousel
+        * @todo Navigation plugin `next` and `prev`
+        * @public
+        */
+       $.fn.owlCarousel = function(option) {
+               var args = Array.prototype.slice.call(arguments, 1);
+
+               return this.each(function() {
+                       var $this = $(this),
+                               data = $this.data('owl.carousel');
+
+                       if (!data) {
+                               data = new Owl(this, typeof option == 'object' && option);
+                               $this.data('owl.carousel', data);
+
+                               $.each([
+                                       'next', 'prev', 'to', 'destroy', 'refresh', 'replace', 'add', 'remove'
+                               ], function(i, event) {
+                                       data.register({ type: Owl.Type.Event, name: event });
+                                       data.$element.on(event + '.owl.carousel.core', $.proxy(function(e) {
+                                               if (e.namespace && e.relatedTarget !== this) {
+                                                       this.suppress([ event ]);
+                                                       data[event].apply(this, [].slice.call(arguments, 1));
+                                                       this.release([ event ]);
+                                               }
+                                       }, data));
+                               });
+                       }
+
+                       if (typeof option == 'string' && option.charAt(0) !== '_') {
+                               data[option].apply(data, args);
+                       }
+               });
+       };
+
+       /**
+        * The constructor for the jQuery Plugin
+        * @public
+        */
+       $.fn.owlCarousel.Constructor = Owl;
+
+})(window.Zepto || window.jQuery, window, document);
+
+/**
+ * AutoRefresh Plugin
+ * @version 2.1.0
+ * @author Artus Kolanowski
+ * @author David Deutsch
+ * @license The MIT License (MIT)
+ */
+;(function($, window, document, undefined) {
+
+       /**
+        * Creates the auto refresh plugin.
+        * @class The Auto Refresh Plugin
+        * @param {Owl} carousel - The Owl Carousel
+        */
+       var AutoRefresh = function(carousel) {
+               /**
+                * Reference to the core.
+                * @protected
+                * @type {Owl}
+                */
+               this._core = carousel;
+
+               /**
+                * Refresh interval.
+                * @protected
+                * @type {number}
+                */
+               this._interval = null;
+
+               /**
+                * Whether the element is currently visible or not.
+                * @protected
+                * @type {Boolean}
+                */
+               this._visible = null;
+
+               /**
+                * All event handlers.
+                * @protected
+                * @type {Object}
+                */
+               this._handlers = {
+                       'initialized.owl.carousel': $.proxy(function(e) {
+                               if (e.namespace && this._core.settings.autoRefresh) {
+                                       this.watch();
+                               }
+                       }, this)
+               };
+
+               // set default options
+               this._core.options = $.extend({}, AutoRefresh.Defaults, this._core.options);
+
+               // register event handlers
+               this._core.$element.on(this._handlers);
+       };
+
+       /**
+        * Default options.
+        * @public
+        */
+       AutoRefresh.Defaults = {
+               autoRefresh: true,
+               autoRefreshInterval: 500
+       };
+
+       /**
+        * Watches the element.
+        */
+       AutoRefresh.prototype.watch = function() {
+               if (this._interval) {
+                       return;
+               }
+
+               this._visible = this._core.$element.is(':visible');
+               this._interval = window.setInterval($.proxy(this.refresh, this), this._core.settings.autoRefreshInterval);
+       };
+
+       /**
+        * Refreshes the element.
+        */
+       AutoRefresh.prototype.refresh = function() {
+               if (this._core.$element.is(':visible') === this._visible) {
+                       return;
+               }
+
+               this._visible = !this._visible;
+
+               this._core.$element.toggleClass('owl-hidden', !this._visible);
+
+               this._visible && (this._core.invalidate('width') && this._core.refresh());
+       };
+
+       /**
+        * Destroys the plugin.
+        */
+       AutoRefresh.prototype.destroy = function() {
+               var handler, property;
+
+               window.clearInterval(this._interval);
+
+               for (handler in this._handlers) {
+                       this._core.$element.off(handler, this._handlers[handler]);
+               }
+               for (property in Object.getOwnPropertyNames(this)) {
+                       typeof this[property] != 'function' && (this[property] = null);
+               }
+       };
+
+       $.fn.owlCarousel.Constructor.Plugins.AutoRefresh = AutoRefresh;
+
+})(window.Zepto || window.jQuery, window, document);
+
+/**
+ * Lazy Plugin
+ * @version 2.1.0
+ * @author Bartosz Wojciechowski
+ * @author David Deutsch
+ * @license The MIT License (MIT)
+ */
+;(function($, window, document, undefined) {
+
+       /**
+        * Creates the lazy plugin.
+        * @class The Lazy Plugin
+        * @param {Owl} carousel - The Owl Carousel
+        */
+       var Lazy = function(carousel) {
+
+               /**
+                * Reference to the core.
+                * @protected
+                * @type {Owl}
+                */
+               this._core = carousel;
+
+               /**
+                * Already loaded items.
+                * @protected
+                * @type {Array.<jQuery>}
+                */
+               this._loaded = [];
+
+               /**
+                * Event handlers.
+                * @protected
+                * @type {Object}
+                */
+               this._handlers = {
+                       'initialized.owl.carousel change.owl.carousel resized.owl.carousel': $.proxy(function(e) {
+                               if (!e.namespace) {
+                                       return;
+                               }
+
+                               if (!this._core.settings || !this._core.settings.lazyLoad) {
+                                       return;
+                               }
+
+                               if ((e.property && e.property.name == 'position') || e.type == 'initialized') {
+                                       var settings = this._core.settings,
+                                               n = (settings.center && Math.ceil(settings.items / 2) || settings.items),
+                                               i = ((settings.center && n * -1) || 0),
+                                               position = (e.property && e.property.value !== undefined ? e.property.value : this._core.current()) + i,
+                                               clones = this._core.clones().length,
+                                               load = $.proxy(function(i, v) { this.load(v) }, this);
+
+                                       while (i++ < n) {
+                                               this.load(clones / 2 + this._core.relative(position));
+                                               clones && $.each(this._core.clones(this._core.relative(position)), load);
+                                               position++;
+                                       }
+                               }
+                       }, this)
+               };
+
+               // set the default options
+               this._core.options = $.extend({}, Lazy.Defaults, this._core.options);
+
+               // register event handler
+               this._core.$element.on(this._handlers);
+       };
+
+       /**
+        * Default options.
+        * @public
+        */
+       Lazy.Defaults = {
+               lazyLoad: false
+       };
+
+       /**
+        * Loads all resources of an item at the specified position.
+        * @param {Number} position - The absolute position of the item.
+        * @protected
+        */
+       Lazy.prototype.load = function(position) {
+               var $item = this._core.$stage.children().eq(position),
+                       $elements = $item && $item.find('.owl-lazy');
+
+               if (!$elements || $.inArray($item.get(0), this._loaded) > -1) {
+                       return;
+               }
+
+               $elements.each($.proxy(function(index, element) {
+                       var $element = $(element), image,
+                               url = (window.devicePixelRatio > 1 && $element.attr('data-src-retina')) || $element.attr('data-src');
+
+                       this._core.trigger('load', { element: $element, url: url }, 'lazy');
+
+                       if ($element.is('img')) {
+                               $element.one('load.owl.lazy', $.proxy(function() {
+                                       $element.css('opacity', 1);
+                                       this._core.trigger('loaded', { element: $element, url: url }, 'lazy');
+                               }, this)).attr('src', url);
+                       } else {
+                               image = new Image();
+                               image.onload = $.proxy(function() {
+                                       $element.css({
+                                               'background-image': 'url("' + url + '")',
+                                               'opacity': '1'
+                                       });
+                                       this._core.trigger('loaded', { element: $element, url: url }, 'lazy');
+                               }, this);
+                               image.src = url;
+                       }
+               }, this));
+
+               this._loaded.push($item.get(0));
+       };
+
+       /**
+        * Destroys the plugin.
+        * @public
+        */
+       Lazy.prototype.destroy = function() {
+               var handler, property;
+
+               for (handler in this.handlers) {
+                       this._core.$element.off(handler, this.handlers[handler]);
+               }
+               for (property in Object.getOwnPropertyNames(this)) {
+                       typeof this[property] != 'function' && (this[property] = null);
+               }
+       };
+
+       $.fn.owlCarousel.Constructor.Plugins.Lazy = Lazy;
+
+})(window.Zepto || window.jQuery, window, document);
+
+/**
+ * AutoHeight Plugin
+ * @version 2.1.0
+ * @author Bartosz Wojciechowski
+ * @author David Deutsch
+ * @license The MIT License (MIT)
+ */
+;(function($, window, document, undefined) {
+
+       /**
+        * Creates the auto height plugin.
+        * @class The Auto Height Plugin
+        * @param {Owl} carousel - The Owl Carousel
+        */
+       var AutoHeight = function(carousel) {
+               /**
+                * Reference to the core.
+                * @protected
+                * @type {Owl}
+                */
+               this._core = carousel;
+
+               /**
+                * All event handlers.
+                * @protected
+                * @type {Object}
+                */
+               this._handlers = {
+                       'initialized.owl.carousel refreshed.owl.carousel': $.proxy(function(e) {
+                               if (e.namespace && this._core.settings.autoHeight) {
+                                       this.update();
+                               }
+                       }, this),
+                       'changed.owl.carousel': $.proxy(function(e) {
+                               if (e.namespace && this._core.settings.autoHeight && e.property.name == 'position'){
+                                       this.update();
+                               }
+                       }, this),
+                       'loaded.owl.lazy': $.proxy(function(e) {
+                               if (e.namespace && this._core.settings.autoHeight
+                                       && e.element.closest('.' + this._core.settings.itemClass).index() === this._core.current()) {
+                                       this.update();
+                               }
+                       }, this)
+               };
+
+               // set default options
+               this._core.options = $.extend({}, AutoHeight.Defaults, this._core.options);
+
+               // register event handlers
+               this._core.$element.on(this._handlers);
+       };
+
+       /**
+        * Default options.
+        * @public
+        */
+       AutoHeight.Defaults = {
+               autoHeight: false,
+               autoHeightClass: 'owl-height'
+       };
+
+       /**
+        * Updates the view.
+        */
+       AutoHeight.prototype.update = function() {
+               var start = this._core._current,
+                       end = start + this._core.settings.items,
+                       visible = this._core.$stage.children().toArray().slice(start, end),
+                       heights = [],
+                       maxheight = 0;
+
+               $.each(visible, function(index, item) {
+                       heights.push($(item).height());
+               });
+
+               maxheight = Math.max.apply(null, heights);
+
+               this._core.$stage.parent()
+                       .height(maxheight)
+                       .addClass(this._core.settings.autoHeightClass);
+       };
+
+       AutoHeight.prototype.destroy = function() {
+               var handler, property;
+
+               for (handler in this._handlers) {
+                       this._core.$element.off(handler, this._handlers[handler]);
+               }
+               for (property in Object.getOwnPropertyNames(this)) {
+                       typeof this[property] != 'function' && (this[property] = null);
+               }
+       };
+
+       $.fn.owlCarousel.Constructor.Plugins.AutoHeight = AutoHeight;
+
+})(window.Zepto || window.jQuery, window, document);
+
+/**
+ * Video Plugin
+ * @version 2.1.0
+ * @author Bartosz Wojciechowski
+ * @author David Deutsch
+ * @license The MIT License (MIT)
+ */
+;(function($, window, document, undefined) {
+
+       /**
+        * Creates the video plugin.
+        * @class The Video Plugin
+        * @param {Owl} carousel - The Owl Carousel
+        */
+       var Video = function(carousel) {
+               /**
+                * Reference to the core.
+                * @protected
+                * @type {Owl}
+                */
+               this._core = carousel;
+
+               /**
+                * Cache all video URLs.
+                * @protected
+                * @type {Object}
+                */
+               this._videos = {};
+
+               /**
+                * Current playing item.
+                * @protected
+                * @type {jQuery}
+                */
+               this._playing = null;
+
+               /**
+                * All event handlers.
+                * @todo The cloned content removale is too late
+                * @protected
+                * @type {Object}
+                */
+               this._handlers = {
+                       'initialized.owl.carousel': $.proxy(function(e) {
+                               if (e.namespace) {
+                                       this._core.register({ type: 'state', name: 'playing', tags: [ 'interacting' ] });
+                               }
+                       }, this),
+                       'resize.owl.carousel': $.proxy(function(e) {
+                               if (e.namespace && this._core.settings.video && this.isInFullScreen()) {
+                                       e.preventDefault();
+                               }
+                       }, this),
+                       'refreshed.owl.carousel': $.proxy(function(e) {
+                               if (e.namespace && this._core.is('resizing')) {
+                                       this._core.$stage.find('.cloned .owl-video-frame').remove();
+                               }
+                       }, this),
+                       'changed.owl.carousel': $.proxy(function(e) {
+                               if (e.namespace && e.property.name === 'position' && this._playing) {
+                                       this.stop();
+                               }
+                       }, this),
+                       'prepared.owl.carousel': $.proxy(function(e) {
+                               if (!e.namespace) {
+                                       return;
+                               }
+
+                               var $element = $(e.content).find('.owl-video');
+
+                               if ($element.length) {
+                                       $element.css('display', 'none');
+                                       this.fetch($element, $(e.content));
+                               }
+                       }, this)
+               };
+
+               // set default options
+               this._core.options = $.extend({}, Video.Defaults, this._core.options);
+
+               // register event handlers
+               this._core.$element.on(this._handlers);
+
+               this._core.$element.on('click.owl.video', '.owl-video-play-icon', $.proxy(function(e) {
+                       this.play(e);
+               }, this));
+       };
+
+       /**
+        * Default options.
+        * @public
+        */
+       Video.Defaults = {
+               video: false,
+               videoHeight: false,
+               videoWidth: false
+       };
+
+       /**
+        * Gets the video ID and the type (YouTube/Vimeo/vzaar only).
+        * @protected
+        * @param {jQuery} target - The target containing the video data.
+        * @param {jQuery} item - The item containing the video.
+        */
+       Video.prototype.fetch = function(target, item) {
+                       var type = (function() {
+                                       if (target.attr('data-vimeo-id')) {
+                                               return 'vimeo';
+                                       } else if (target.attr('data-vzaar-id')) {
+                                               return 'vzaar'
+                                       } else {
+                                               return 'youtube';
+                                       }
+                               })(),
+                               id = target.attr('data-vimeo-id') || target.attr('data-youtube-id') || target.attr('data-vzaar-id'),
+                               width = target.attr('data-width') || this._core.settings.videoWidth,
+                               height = target.attr('data-height') || this._core.settings.videoHeight,
+                               url = target.attr('href');
+
+               if (url) {
+
+                       /*
+                                       Parses the id's out of the following urls (and probably more):
+                                       https://www.youtube.com/watch?v=:id
+                                       https://youtu.be/:id
+                                       https://vimeo.com/:id
+                                       https://vimeo.com/channels/:channel/:id
+                                       https://vimeo.com/groups/:group/videos/:id
+                                       https://app.vzaar.com/videos/:id
+
+                                       Visual example: https://regexper.com/#(http%3A%7Chttps%3A%7C)%5C%2F%5C%2F(player.%7Cwww.%7Capp.)%3F(vimeo%5C.com%7Cyoutu(be%5C.com%7C%5C.be%7Cbe%5C.googleapis%5C.com)%7Cvzaar%5C.com)%5C%2F(video%5C%2F%7Cvideos%5C%2F%7Cembed%5C%2F%7Cchannels%5C%2F.%2B%5C%2F%7Cgroups%5C%2F.%2B%5C%2F%7Cwatch%5C%3Fv%3D%7Cv%5C%2F)%3F(%5BA-Za-z0-9._%25-%5D*)(%5C%26%5CS%2B)%3F
+                       */
+
+                       id = url.match(/(http:|https:|)\/\/(player.|www.|app.)?(vimeo\.com|youtu(be\.com|\.be|be\.googleapis\.com)|vzaar\.com)\/(video\/|videos\/|embed\/|channels\/.+\/|groups\/.+\/|watch\?v=|v\/)?([A-Za-z0-9._%-]*)(\&\S+)?/);
+
+                       if (id[3].indexOf('youtu') > -1) {
+                               type = 'youtube';
+                       } else if (id[3].indexOf('vimeo') > -1) {
+                               type = 'vimeo';
+                       } else if (id[3].indexOf('vzaar') > -1) {
+                               type = 'vzaar';
+                       } else {
+                               throw new Error('Video URL not supported.');
+                       }
+                       id = id[6];
+               } else {
+                       throw new Error('Missing video URL.');
+               }
+
+               this._videos[url] = {
+                       type: type,
+                       id: id,
+                       width: width,
+                       height: height
+               };
+
+               item.attr('data-video', url);
+
+               this.thumbnail(target, this._videos[url]);
+       };
+
+       /**
+        * Creates video thumbnail.
+        * @protected
+        * @param {jQuery} target - The target containing the video data.
+        * @param {Object} info - The video info object.
+        * @see `fetch`
+        */
+       Video.prototype.thumbnail = function(target, video) {
+               var tnLink,
+                       icon,
+                       path,
+                       dimensions = video.width && video.height ? 'style="width:' + video.width + 'px;height:' + video.height + 'px;"' : '',
+                       customTn = target.find('img'),
+                       srcType = 'src',
+                       lazyClass = '',
+                       settings = this._core.settings,
+                       create = function(path) {
+                               icon = '<div class="owl-video-play-icon"></div>';
+
+                               if (settings.lazyLoad) {
+                                       tnLink = '<div class="owl-video-tn ' + lazyClass + '" ' + srcType + '="' + path + '"></div>';
+                               } else {
+                                       tnLink = '<div class="owl-video-tn" style="opacity:1;background-image:url(' + path + ')"></div>';
+                               }
+                               target.after(tnLink);
+                               target.after(icon);
+                       };
+
+               // wrap video content into owl-video-wrapper div
+               target.wrap('<div class="owl-video-wrapper"' + dimensions + '></div>');
+
+               if (this._core.settings.lazyLoad) {
+                       srcType = 'data-src';
+                       lazyClass = 'owl-lazy';
+               }
+
+               // custom thumbnail
+               if (customTn.length) {
+                       create(customTn.attr(srcType));
+                       customTn.remove();
+                       return false;
+               }
+
+               if (video.type === 'youtube') {
+                       path = "//img.youtube.com/vi/" + video.id + "/hqdefault.jpg";
+                       create(path);
+               } else if (video.type === 'vimeo') {
+                       $.ajax({
+                               type: 'GET',
+                               url: '//vimeo.com/api/v2/video/' + video.id + '.json',
+                               jsonp: 'callback',
+                               dataType: 'jsonp',
+                               success: function(data) {
+                                       path = data[0].thumbnail_large;
+                                       create(path);
+                               }
+                       });
+               } else if (video.type === 'vzaar') {
+                       $.ajax({
+                               type: 'GET',
+                               url: '//vzaar.com/api/videos/' + video.id + '.json',
+                               jsonp: 'callback',
+                               dataType: 'jsonp',
+                               success: function(data) {
+                                       path = data.framegrab_url;
+                                       create(path);
+                               }
+                       });
+               }
+       };
+
+       /**
+        * Stops the current video.
+        * @public
+        */
+       Video.prototype.stop = function() {
+               this._core.trigger('stop', null, 'video');
+               this._playing.find('.owl-video-frame').remove();
+               this._playing.removeClass('owl-video-playing');
+               this._playing = null;
+               this._core.leave('playing');
+               this._core.trigger('stopped', null, 'video');
+       };
+
+       /**
+        * Starts the current video.
+        * @public
+        * @param {Event} event - The event arguments.
+        */
+       Video.prototype.play = function(event) {
+               var target = $(event.target),
+                       item = target.closest('.' + this._core.settings.itemClass),
+                       video = this._videos[item.attr('data-video')],
+                       width = video.width || '100%',
+                       height = video.height || this._core.$stage.height(),
+                       html;
+
+               if (this._playing) {
+                       return;
+               }
+
+               this._core.enter('playing');
+               this._core.trigger('play', null, 'video');
+
+               item = this._core.items(this._core.relative(item.index()));
+
+               this._core.reset(item.index());
+
+               if (video.type === 'youtube') {
+                       html = '<iframe width="' + width + '" height="' + height + '" src="//www.youtube.com/embed/' +
+                               video.id + '?autoplay=1&rel=0&v=' + video.id + '" frameborder="0" allowfullscreen></iframe>';
+               } else if (video.type === 'vimeo') {
+                       html = '<iframe src="//player.vimeo.com/video/' + video.id +
+                               '?autoplay=1" width="' + width + '" height="' + height +
+                               '" frameborder="0" webkitallowfullscreen mozallowfullscreen allowfullscreen></iframe>';
+               } else if (video.type === 'vzaar') {
+                       html = '<iframe frameborder="0"' + 'height="' + height + '"' + 'width="' + width +
+                               '" allowfullscreen mozallowfullscreen webkitAllowFullScreen ' +
+                               'src="//view.vzaar.com/' + video.id + '/player?autoplay=true"></iframe>';
+               }
+
+               $('<div class="owl-video-frame">' + html + '</div>').insertAfter(item.find('.owl-video'));
+
+               this._playing = item.addClass('owl-video-playing');
+       };
+
+       /**
+        * Checks whether an video is currently in full screen mode or not.
+        * @todo Bad style because looks like a readonly method but changes members.
+        * @protected
+        * @returns {Boolean}
+        */
+       Video.prototype.isInFullScreen = function() {
+               var element = document.fullscreenElement || document.mozFullScreenElement ||
+                               document.webkitFullscreenElement;
+
+               return element && $(element).parent().hasClass('owl-video-frame');
+       };
+
+       /**
+        * Destroys the plugin.
+        */
+       Video.prototype.destroy = function() {
+               var handler, property;
+
+               this._core.$element.off('click.owl.video');
+
+               for (handler in this._handlers) {
+                       this._core.$element.off(handler, this._handlers[handler]);
+               }
+               for (property in Object.getOwnPropertyNames(this)) {
+                       typeof this[property] != 'function' && (this[property] = null);
+               }
+       };
+
+       $.fn.owlCarousel.Constructor.Plugins.Video = Video;
+
+})(window.Zepto || window.jQuery, window, document);
+
+/**
+ * Animate Plugin
+ * @version 2.1.0
+ * @author Bartosz Wojciechowski
+ * @author David Deutsch
+ * @license The MIT License (MIT)
+ */
+;(function($, window, document, undefined) {
+
+       /**
+        * Creates the animate plugin.
+        * @class The Navigation Plugin
+        * @param {Owl} scope - The Owl Carousel
+        */
+       var Animate = function(scope) {
+               this.core = scope;
+               this.core.options = $.extend({}, Animate.Defaults, this.core.options);
+               this.swapping = true;
+               this.previous = undefined;
+               this.next = undefined;
+
+               this.handlers = {
+                       'change.owl.carousel': $.proxy(function(e) {
+                               if (e.namespace && e.property.name == 'position') {
+                                       this.previous = this.core.current();
+                                       this.next = e.property.value;
+                               }
+                       }, this),
+                       'drag.owl.carousel dragged.owl.carousel translated.owl.carousel': $.proxy(function(e) {
+                               if (e.namespace) {
+                                       this.swapping = e.type == 'translated';
+                               }
+                       }, this),
+                       'translate.owl.carousel': $.proxy(function(e) {
+                               if (e.namespace && this.swapping && (this.core.options.animateOut || this.core.options.animateIn)) {
+                                       this.swap();
+                               }
+                       }, this)
+               };
+
+               this.core.$element.on(this.handlers);
+       };
+
+       /**
+        * Default options.
+        * @public
+        */
+       Animate.Defaults = {
+               animateOut: false,
+               animateIn: false
+       };
+
+       /**
+        * Toggles the animation classes whenever an translations starts.
+        * @protected
+        * @returns {Boolean|undefined}
+        */
+       Animate.prototype.swap = function() {
+
+               if (this.core.settings.items !== 1) {
+                       return;
+               }
+
+               if (!$.support.animation || !$.support.transition) {
+                       return;
+               }
+
+               this.core.speed(0);
+
+               var left,
+                       clear = $.proxy(this.clear, this),
+                       previous = this.core.$stage.children().eq(this.previous),
+                       next = this.core.$stage.children().eq(this.next),
+                       incoming = this.core.settings.animateIn,
+                       outgoing = this.core.settings.animateOut;
+
+               if (this.core.current() === this.previous) {
+                       return;
+               }
+
+               if (outgoing) {
+                       left = this.core.coordinates(this.previous) - this.core.coordinates(this.next);
+                       previous.one($.support.animation.end, clear)
+                               .css( { 'left': left + 'px' } )
+                               .addClass('animated owl-animated-out')
+                               .addClass(outgoing);
+               }
+
+               if (incoming) {
+                       next.one($.support.animation.end, clear)
+                               .addClass('animated owl-animated-in')
+                               .addClass(incoming);
+               }
+       };
+
+       Animate.prototype.clear = function(e) {
+               $(e.target).css( { 'left': '' } )
+                       .removeClass('animated owl-animated-out owl-animated-in')
+                       .removeClass(this.core.settings.animateIn)
+                       .removeClass(this.core.settings.animateOut);
+               this.core.onTransitionEnd();
+       };
+
+       /**
+        * Destroys the plugin.
+        * @public
+        */
+       Animate.prototype.destroy = function() {
+               var handler, property;
+
+               for (handler in this.handlers) {
+                       this.core.$element.off(handler, this.handlers[handler]);
+               }
+               for (property in Object.getOwnPropertyNames(this)) {
+                       typeof this[property] != 'function' && (this[property] = null);
+               }
+       };
+
+       $.fn.owlCarousel.Constructor.Plugins.Animate = Animate;
+
+})(window.Zepto || window.jQuery, window, document);
+
+/**
+ * Autoplay Plugin
+ * @version 2.1.0
+ * @author Bartosz Wojciechowski
+ * @author Artus Kolanowski
+ * @author David Deutsch
+ * @license The MIT License (MIT)
+ */
+;(function($, window, document, undefined) {
+
+       /**
+        * Creates the autoplay plugin.
+        * @class The Autoplay Plugin
+        * @param {Owl} scope - The Owl Carousel
+        */
+       var Autoplay = function(carousel) {
+               /**
+                * Reference to the core.
+                * @protected
+                * @type {Owl}
+                */
+               this._core = carousel;
+
+               /**
+                * The autoplay timeout.
+                * @type {Timeout}
+                */
+               this._timeout = null;
+
+               /**
+                * Indicates whenever the autoplay is paused.
+                * @type {Boolean}
+                */
+               this._paused = false;
+
+               /**
+                * All event handlers.
+                * @protected
+                * @type {Object}
+                */
+               this._handlers = {
+                       'changed.owl.carousel': $.proxy(function(e) {
+                               if (e.namespace && e.property.name === 'settings') {
+                                       if (this._core.settings.autoplay) {
+                                               this.play();
+                                       } else {
+                                               this.stop();
+                                       }
+                               } else if (e.namespace && e.property.name === 'position') {
+                                       //console.log('play?', e);
+                                       if (this._core.settings.autoplay) {
+                                               this._setAutoPlayInterval();
+                                       }
+                               }
+                       }, this),
+                       'initialized.owl.carousel': $.proxy(function(e) {
+                               if (e.namespace && this._core.settings.autoplay) {
+                                       this.play();
+                               }
+                       }, this),
+                       'play.owl.autoplay': $.proxy(function(e, t, s) {
+                               if (e.namespace) {
+                                       this.play(t, s);
+                               }
+                       }, this),
+                       'stop.owl.autoplay': $.proxy(function(e) {
+                               if (e.namespace) {
+                                       this.stop();
+                               }
+                       }, this),
+                       'mouseover.owl.autoplay': $.proxy(function() {
+                               if (this._core.settings.autoplayHoverPause && this._core.is('rotating')) {
+                                       this.pause();
+                               }
+                       }, this),
+                       'mouseleave.owl.autoplay': $.proxy(function() {
+                               if (this._core.settings.autoplayHoverPause && this._core.is('rotating')) {
+                                       this.play();
+                               }
+                       }, this),
+                       'touchstart.owl.core': $.proxy(function() {
+                               if (this._core.settings.autoplayHoverPause && this._core.is('rotating')) {
+                                       this.pause();
+                               }
+                       }, this),
+                       'touchend.owl.core': $.proxy(function() {
+                               if (this._core.settings.autoplayHoverPause) {
+                                       this.play();
+                               }
+                       }, this)
+               };
+
+               // register event handlers
+               this._core.$element.on(this._handlers);
+
+               // set default options
+               this._core.options = $.extend({}, Autoplay.Defaults, this._core.options);
+       };
+
+       /**
+        * Default options.
+        * @public
+        */
+       Autoplay.Defaults = {
+               autoplay: false,
+               autoplayTimeout: 5000,
+               autoplayHoverPause: false,
+               autoplaySpeed: false
+       };
+
+       /**
+        * Starts the autoplay.
+        * @public
+        * @param {Number} [timeout] - The interval before the next animation starts.
+        * @param {Number} [speed] - The animation speed for the animations.
+        */
+       Autoplay.prototype.play = function(timeout, speed) {
+               this._paused = false;
+
+               if (this._core.is('rotating')) {
+                       return;
+               }
+
+               this._core.enter('rotating');
+
+               this._setAutoPlayInterval();
+       };
+
+       /**
+        * Gets a new timeout
+        * @private
+        * @param {Number} [timeout] - The interval before the next animation starts.
+        * @param {Number} [speed] - The animation speed for the animations.
+        * @return {Timeout}
+        */
+       Autoplay.prototype._getNextTimeout = function(timeout, speed) {
+               if ( this._timeout ) {
+                       window.clearTimeout(this._timeout);
+               }
+               return window.setTimeout($.proxy(function() {
+                       if (this._paused || this._core.is('busy') || this._core.is('interacting') || document.hidden) {
+                               return;
+                       }
+                       this._core.next(speed || this._core.settings.autoplaySpeed);
+               }, this), timeout || this._core.settings.autoplayTimeout);
+       };
+
+       /**
+        * Sets autoplay in motion.
+        * @private
+        */
+       Autoplay.prototype._setAutoPlayInterval = function() {
+               this._timeout = this._getNextTimeout();
+       };
+
+       /**
+        * Stops the autoplay.
+        * @public
+        */
+       Autoplay.prototype.stop = function() {
+               if (!this._core.is('rotating')) {
+                       return;
+               }
+
+               window.clearTimeout(this._timeout);
+               this._core.leave('rotating');
+       };
+
+       /**
+        * Stops the autoplay.
+        * @public
+        */
+       Autoplay.prototype.pause = function() {
+               if (!this._core.is('rotating')) {
+                       return;
+               }
+
+               this._paused = true;
+       };
+
+       /**
+        * Destroys the plugin.
+        */
+       Autoplay.prototype.destroy = function() {
+               var handler, property;
+
+               this.stop();
+
+               for (handler in this._handlers) {
+                       this._core.$element.off(handler, this._handlers[handler]);
+               }
+               for (property in Object.getOwnPropertyNames(this)) {
+                       typeof this[property] != 'function' && (this[property] = null);
+               }
+       };
+
+       $.fn.owlCarousel.Constructor.Plugins.autoplay = Autoplay;
+
+})(window.Zepto || window.jQuery, window, document);
+
+/**
+ * Navigation Plugin
+ * @version 2.1.0
+ * @author Artus Kolanowski
+ * @author David Deutsch
+ * @license The MIT License (MIT)
+ */
+;(function($, window, document, undefined) {
+       'use strict';
+
+       /**
+        * Creates the navigation plugin.
+        * @class The Navigation Plugin
+        * @param {Owl} carousel - The Owl Carousel.
+        */
+       var Navigation = function(carousel) {
+               /**
+                * Reference to the core.
+                * @protected
+                * @type {Owl}
+                */
+               this._core = carousel;
+
+               /**
+                * Indicates whether the plugin is initialized or not.
+                * @protected
+                * @type {Boolean}
+                */
+               this._initialized = false;
+
+               /**
+                * The current paging indexes.
+                * @protected
+                * @type {Array}
+                */
+               this._pages = [];
+
+               /**
+                * All DOM elements of the user interface.
+                * @protected
+                * @type {Object}
+                */
+               this._controls = {};
+
+               /**
+                * Markup for an indicator.
+                * @protected
+                * @type {Array.<String>}
+                */
+               this._templates = [];
+
+               /**
+                * The carousel element.
+                * @type {jQuery}
+                */
+               this.$element = this._core.$element;
+
+               /**
+                * Overridden methods of the carousel.
+                * @protected
+                * @type {Object}
+                */
+               this._overrides = {
+                       next: this._core.next,
+                       prev: this._core.prev,
+                       to: this._core.to
+               };
+
+               /**
+                * All event handlers.
+                * @protected
+                * @type {Object}
+                */
+               this._handlers = {
+                       'prepared.owl.carousel': $.proxy(function(e) {
+                               if (e.namespace && this._core.settings.dotsData) {
+                                       this._templates.push('<div class="' + this._core.settings.dotClass + '">' +
+                                               $(e.content).find('[data-dot]').addBack('[data-dot]').attr('data-dot') + '</div>');
+                               }
+                       }, this),
+                       'added.owl.carousel': $.proxy(function(e) {
+                               if (e.namespace && this._core.settings.dotsData) {
+                                       this._templates.splice(e.position, 0, this._templates.pop());
+                               }
+                       }, this),
+                       'remove.owl.carousel': $.proxy(function(e) {
+                               if (e.namespace && this._core.settings.dotsData) {
+                                       this._templates.splice(e.position, 1);
+                               }
+                       }, this),
+                       'changed.owl.carousel': $.proxy(function(e) {
+                               if (e.namespace && e.property.name == 'position') {
+                                       this.draw();
+                               }
+                       }, this),
+                       'initialized.owl.carousel': $.proxy(function(e) {
+                               if (e.namespace && !this._initialized) {
+                                       this._core.trigger('initialize', null, 'navigation');
+                                       this.initialize();
+                                       this.update();
+                                       this.draw();
+                                       this._initialized = true;
+                                       this._core.trigger('initialized', null, 'navigation');
+                               }
+                       }, this),
+                       'refreshed.owl.carousel': $.proxy(function(e) {
+                               if (e.namespace && this._initialized) {
+                                       this._core.trigger('refresh', null, 'navigation');
+                                       this.update();
+                                       this.draw();
+                                       this._core.trigger('refreshed', null, 'navigation');
+                               }
+                       }, this)
+               };
+
+               // set default options
+               this._core.options = $.extend({}, Navigation.Defaults, this._core.options);
+
+               // register event handlers
+               this.$element.on(this._handlers);
+       };
+
+       /**
+        * Default options.
+        * @public
+        * @todo Rename `slideBy` to `navBy`
+        */
+       Navigation.Defaults = {
+               nav: false,
+               navText: [ 'prev', 'next' ],
+               navSpeed: false,
+               navElement: 'div',
+               navContainer: false,
+               navContainerClass: 'owl-nav',
+               navClass: [ 'owl-prev', 'owl-next' ],
+               slideBy: 1,
+               dotClass: 'owl-dot',
+               dotsClass: 'owl-dots',
+               dots: true,
+               dotsEach: false,
+               dotsData: false,
+               dotsSpeed: false,
+               dotsContainer: false
+       };
+
+       /**
+        * Initializes the layout of the plugin and extends the carousel.
+        * @protected
+        */
+       Navigation.prototype.initialize = function() {
+               var override,
+                       settings = this._core.settings;
+
+               // create DOM structure for relative navigation
+               this._controls.$relative = (settings.navContainer ? $(settings.navContainer)
+                       : $('<div>').addClass(settings.navContainerClass).appendTo(this.$element)).addClass('disabled');
+
+               this._controls.$previous = $('<' + settings.navElement + '>')
+                       .addClass(settings.navClass[0])
+                       .html(settings.navText[0])
+                       .prependTo(this._controls.$relative)
+                       .on('click', $.proxy(function(e) {
+                               this.prev(settings.navSpeed);
+                       }, this));
+               this._controls.$next = $('<' + settings.navElement + '>')
+                       .addClass(settings.navClass[1])
+                       .html(settings.navText[1])
+                       .appendTo(this._controls.$relative)
+                       .on('click', $.proxy(function(e) {
+                               this.next(settings.navSpeed);
+                       }, this));
+
+               // create DOM structure for absolute navigation
+               if (!settings.dotsData) {
+                       this._templates = [ $('<div>')
+                               .addClass(settings.dotClass)
+                               .append($('<span>'))
+                               .prop('outerHTML') ];
+               }
+
+               this._controls.$absolute = (settings.dotsContainer ? $(settings.dotsContainer)
+                       : $('<div>').addClass(settings.dotsClass).appendTo(this.$element)).addClass('disabled');
+
+               this._controls.$absolute.on('click', 'div', $.proxy(function(e) {
+                       var index = $(e.target).parent().is(this._controls.$absolute)
+                               ? $(e.target).index() : $(e.target).parent().index();
+
+                       e.preventDefault();
+
+                       this.to(index, settings.dotsSpeed);
+               }, this));
+
+               // override public methods of the carousel
+               for (override in this._overrides) {
+                       this._core[override] = $.proxy(this[override], this);
+               }
+       };
+
+       /**
+        * Destroys the plugin.
+        * @protected
+        */
+       Navigation.prototype.destroy = function() {
+               var handler, control, property, override;
+
+               for (handler in this._handlers) {
+                       this.$element.off(handler, this._handlers[handler]);
+               }
+               for (control in this._controls) {
+                       this._controls[control].remove();
+               }
+               for (override in this.overides) {
+                       this._core[override] = this._overrides[override];
+               }
+               for (property in Object.getOwnPropertyNames(this)) {
+                       typeof this[property] != 'function' && (this[property] = null);
+               }
+       };
+
+       /**
+        * Updates the internal state.
+        * @protected
+        */
+       Navigation.prototype.update = function() {
+               var i, j, k,
+                       lower = this._core.clones().length / 2,
+                       upper = lower + this._core.items().length,
+                       maximum = this._core.maximum(true),
+                       settings = this._core.settings,
+                       size = settings.center || settings.autoWidth || settings.dotsData
+                               ? 1 : settings.dotsEach || settings.items;
+
+               if (settings.slideBy !== 'page') {
+                       settings.slideBy = Math.min(settings.slideBy, settings.items);
+               }
+
+               if (settings.dots || settings.slideBy == 'page') {
+                       this._pages = [];
+
+                       for (i = lower, j = 0, k = 0; i < upper; i++) {
+                               if (j >= size || j === 0) {
+                                       this._pages.push({
+                                               start: Math.min(maximum, i - lower),
+                                               end: i - lower + size - 1
+                                       });
+                                       if (Math.min(maximum, i - lower) === maximum) {
+                                               break;
+                                       }
+                                       j = 0, ++k;
+                               }
+                               j += this._core.mergers(this._core.relative(i));
+                       }
+               }
+       };
+
+       /**
+        * Draws the user interface.
+        * @todo The option `dotsData` wont work.
+        * @protected
+        */
+       Navigation.prototype.draw = function() {
+               var difference,
+                       settings = this._core.settings,
+                       disabled = this._core.items().length <= settings.items,
+                       index = this._core.relative(this._core.current()),
+                       loop = settings.loop || settings.rewind;
+
+               this._controls.$relative.toggleClass('disabled', !settings.nav || disabled);
+
+               if (settings.nav) {
+                       this._controls.$previous.toggleClass('disabled', !loop && index <= this._core.minimum(true));
+                       this._controls.$next.toggleClass('disabled', !loop && index >= this._core.maximum(true));
+               }
+
+               this._controls.$absolute.toggleClass('disabled', !settings.dots || disabled);
+
+               if (settings.dots) {
+                       difference = this._pages.length - this._controls.$absolute.children().length;
+
+                       if (settings.dotsData && difference !== 0) {
+                               this._controls.$absolute.html(this._templates.join(''));
+                       } else if (difference > 0) {
+                               this._controls.$absolute.append(new Array(difference + 1).join(this._templates[0]));
+                       } else if (difference < 0) {
+                               this._controls.$absolute.children().slice(difference).remove();
+                       }
+
+                       this._controls.$absolute.find('.active').removeClass('active');
+                       this._controls.$absolute.children().eq($.inArray(this.current(), this._pages)).addClass('active');
+               }
+       };
+
+       /**
+        * Extends event data.
+        * @protected
+        * @param {Event} event - The event object which gets thrown.
+        */
+       Navigation.prototype.onTrigger = function(event) {
+               var settings = this._core.settings;
+
+               event.page = {
+                       index: $.inArray(this.current(), this._pages),
+                       count: this._pages.length,
+                       size: settings && (settings.center || settings.autoWidth || settings.dotsData
+                               ? 1 : settings.dotsEach || settings.items)
+               };
+       };
+
+       /**
+        * Gets the current page position of the carousel.
+        * @protected
+        * @returns {Number}
+        */
+       Navigation.prototype.current = function() {
+               var current = this._core.relative(this._core.current());
+               return $.grep(this._pages, $.proxy(function(page, index) {
+                       return page.start <= current && page.end >= current;
+               }, this)).pop();
+       };
+
+       /**
+        * Gets the current succesor/predecessor position.
+        * @protected
+        * @returns {Number}
+        */
+       Navigation.prototype.getPosition = function(successor) {
+               var position, length,
+                       settings = this._core.settings;
+
+               if (settings.slideBy == 'page') {
+                       position = $.inArray(this.current(), this._pages);
+                       length = this._pages.length;
+                       successor ? ++position : --position;
+                       position = this._pages[((position % length) + length) % length].start;
+               } else {
+                       position = this._core.relative(this._core.current());
+                       length = this._core.items().length;
+                       successor ? position += settings.slideBy : position -= settings.slideBy;
+               }
+
+               return position;
+       };
+
+       /**
+        * Slides to the next item or page.
+        * @public
+        * @param {Number} [speed=false] - The time in milliseconds for the transition.
+        */
+       Navigation.prototype.next = function(speed) {
+               $.proxy(this._overrides.to, this._core)(this.getPosition(true), speed);
+       };
+
+       /**
+        * Slides to the previous item or page.
+        * @public
+        * @param {Number} [speed=false] - The time in milliseconds for the transition.
+        */
+       Navigation.prototype.prev = function(speed) {
+               $.proxy(this._overrides.to, this._core)(this.getPosition(false), speed);
+       };
+
+       /**
+        * Slides to the specified item or page.
+        * @public
+        * @param {Number} position - The position of the item or page.
+        * @param {Number} [speed] - The time in milliseconds for the transition.
+        * @param {Boolean} [standard=false] - Whether to use the standard behaviour or not.
+        */
+       Navigation.prototype.to = function(position, speed, standard) {
+               var length;
+
+               if (!standard && this._pages.length) {
+                       length = this._pages.length;
+                       $.proxy(this._overrides.to, this._core)(this._pages[((position % length) + length) % length].start, speed);
+               } else {
+                       $.proxy(this._overrides.to, this._core)(position, speed);
+               }
+       };
+
+       $.fn.owlCarousel.Constructor.Plugins.Navigation = Navigation;
+
+})(window.Zepto || window.jQuery, window, document);
+
+/**
+ * Hash Plugin
+ * @version 2.1.0
+ * @author Artus Kolanowski
+ * @author David Deutsch
+ * @license The MIT License (MIT)
+ */
+;(function($, window, document, undefined) {
+       'use strict';
+
+       /**
+        * Creates the hash plugin.
+        * @class The Hash Plugin
+        * @param {Owl} carousel - The Owl Carousel
+        */
+       var Hash = function(carousel) {
+               /**
+                * Reference to the core.
+                * @protected
+                * @type {Owl}
+                */
+               this._core = carousel;
+
+               /**
+                * Hash index for the items.
+                * @protected
+                * @type {Object}
+                */
+               this._hashes = {};
+
+               /**
+                * The carousel element.
+                * @type {jQuery}
+                */
+               this.$element = this._core.$element;
+
+               /**
+                * All event handlers.
+                * @protected
+                * @type {Object}
+                */
+               this._handlers = {
+                       'initialized.owl.carousel': $.proxy(function(e) {
+                               if (e.namespace && this._core.settings.startPosition === 'URLHash') {
+                                       $(window).trigger('hashchange.owl.navigation');
+                               }
+                       }, this),
+                       'prepared.owl.carousel': $.proxy(function(e) {
+                               if (e.namespace) {
+                                       var hash = $(e.content).find('[data-hash]').addBack('[data-hash]').attr('data-hash');
+
+                                       if (!hash) {
+                                               return;
+                                       }
+
+                                       this._hashes[hash] = e.content;
+                               }
+                       }, this),
+                       'changed.owl.carousel': $.proxy(function(e) {
+                               if (e.namespace && e.property.name === 'position') {
+                                       var current = this._core.items(this._core.relative(this._core.current())),
+                                               hash = $.map(this._hashes, function(item, hash) {
+                                                       return item === current ? hash : null;
+                                               }).join();
+
+                                       if (!hash || window.location.hash.slice(1) === hash) {
+                                               return;
+                                       }
+
+                                       window.location.hash = hash;
+                               }
+                       }, this)
+               };
+
+               // set default options
+               this._core.options = $.extend({}, Hash.Defaults, this._core.options);
+
+               // register the event handlers
+               this.$element.on(this._handlers);
+
+               // register event listener for hash navigation
+               $(window).on('hashchange.owl.navigation', $.proxy(function(e) {
+                       var hash = window.location.hash.substring(1),
+                               items = this._core.$stage.children(),
+                               position = this._hashes[hash] && items.index(this._hashes[hash]);
+
+                       if (position === undefined || position === this._core.current()) {
+                               return;
+                       }
+
+                       this._core.to(this._core.relative(position), false, true);
+               }, this));
+       };
+
+       /**
+        * Default options.
+        * @public
+        */
+       Hash.Defaults = {
+               URLhashListener: false
+       };
+
+       /**
+        * Destroys the plugin.
+        * @public
+        */
+       Hash.prototype.destroy = function() {
+               var handler, property;
+
+               $(window).off('hashchange.owl.navigation');
+
+               for (handler in this._handlers) {
+                       this._core.$element.off(handler, this._handlers[handler]);
+               }
+               for (property in Object.getOwnPropertyNames(this)) {
+                       typeof this[property] != 'function' && (this[property] = null);
+               }
+       };
+
+       $.fn.owlCarousel.Constructor.Plugins.Hash = Hash;
+
+})(window.Zepto || window.jQuery, window, document);
+
+/**
+ * Support Plugin
+ *
+ * @version 2.1.0
+ * @author Vivid Planet Software GmbH
+ * @author Artus Kolanowski
+ * @author David Deutsch
+ * @license The MIT License (MIT)
+ */
+;(function($, window, document, undefined) {
+
+       var style = $('<support>').get(0).style,
+               prefixes = 'Webkit Moz O ms'.split(' '),
+               events = {
+                       transition: {
+                               end: {
+                                       WebkitTransition: 'webkitTransitionEnd',
+                                       MozTransition: 'transitionend',
+                                       OTransition: 'oTransitionEnd',
+                                       transition: 'transitionend'
+                               }
+                       },
+                       animation: {
+                               end: {
+                                       WebkitAnimation: 'webkitAnimationEnd',
+                                       MozAnimation: 'animationend',
+                                       OAnimation: 'oAnimationEnd',
+                                       animation: 'animationend'
+                               }
+                       }
+               },
+               tests = {
+                       csstransforms: function() {
+                               return !!test('transform');
+                       },
+                       csstransforms3d: function() {
+                               return !!test('perspective');
+                       },
+                       csstransitions: function() {
+                               return !!test('transition');
+                       },
+                       cssanimations: function() {
+                               return !!test('animation');
+                       }
+               };
+
+       function test(property, prefixed) {
+               var result = false,
+                       upper = property.charAt(0).toUpperCase() + property.slice(1);
+
+               $.each((property + ' ' + prefixes.join(upper + ' ') + upper).split(' '), function(i, property) {
+                       if (style[property] !== undefined) {
+                               result = prefixed ? property : true;
+                               return false;
+                       }
+               });
+
+               return result;
+       }
+
+       function prefixed(property) {
+               return test(property, true);
+       }
+
+       if (tests.csstransitions()) {
+               /* jshint -W053 */
+               $.support.transition = new String(prefixed('transition'))
+               $.support.transition.end = events.transition.end[ $.support.transition ];
+       }
+
+       if (tests.cssanimations()) {
+               /* jshint -W053 */
+               $.support.animation = new String(prefixed('animation'))
+               $.support.animation.end = events.animation.end[ $.support.animation ];
+       }
+
+       if (tests.csstransforms()) {
+               /* jshint -W053 */
+               $.support.transform = new String(prefixed('transform'));
+               $.support.transform3d = tests.csstransforms3d();
+       }
+
+})(window.Zepto || window.jQuery, window, document);
diff --git a/templates/shop-isle/assets/js/vendor/owl.carousel.min.js b/templates/shop-isle/assets/js/vendor/owl.carousel.min.js
new file mode 100644 (file)
index 0000000..9b9566f
--- /dev/null
@@ -0,0 +1,7 @@
+/**
+ * Owl Carousel v2.2.1
+ * Copyright 2013-2017 David Deutsch
+ * Licensed under  ()
+ */
+!function(a,b,c,d){function e(b,c){this.settings=null,this.options=a.extend({},e.Defaults,c),this.$element=a(b),this._handlers={},this._plugins={},this._supress={},this._current=null,this._speed=null,this._coordinates=[],this._breakpoint=null,this._width=null,this._items=[],this._clones=[],this._mergers=[],this._widths=[],this._invalidated={},this._pipe=[],this._drag={time:null,target:null,pointer:null,stage:{start:null,current:null},direction:null},this._states={current:{},tags:{initializing:["busy"],animating:["busy"],dragging:["interacting"]}},a.each(["onResize","onThrottledResize"],a.proxy(function(b,c){this._handlers[c]=a.proxy(this[c],this)},this)),a.each(e.Plugins,a.proxy(function(a,b){this._plugins[a.charAt(0).toLowerCase()+a.slice(1)]=new b(this)},this)),a.each(e.Workers,a.proxy(function(b,c){this._pipe.push({filter:c.filter,run:a.proxy(c.run,this)})},this)),this.setup(),this.initialize()}e.Defaults={items:3,loop:!1,center:!1,rewind:!1,mouseDrag:!0,touchDrag:!0,pullDrag:!0,freeDrag:!1,margin:0,stagePadding:0,merge:!1,mergeFit:!0,autoWidth:!1,startPosition:0,rtl:!1,smartSpeed:250,fluidSpeed:!1,dragEndSpeed:!1,responsive:{},responsiveRefreshRate:200,responsiveBaseElement:b,fallbackEasing:"swing",info:!1,nestedItemSelector:!1,itemElement:"div",stageElement:"div",refreshClass:"owl-refresh",loadedClass:"owl-loaded",loadingClass:"owl-loading",rtlClass:"owl-rtl",responsiveClass:"owl-responsive",dragClass:"owl-drag",itemClass:"owl-item",stageClass:"owl-stage",stageOuterClass:"owl-stage-outer",grabClass:"owl-grab"},e.Width={Default:"default",Inner:"inner",Outer:"outer"},e.Type={Event:"event",State:"state"},e.Plugins={},e.Workers=[{filter:["width","settings"],run:function(){this._width=this.$element.width()}},{filter:["width","items","settings"],run:function(a){a.current=this._items&&this._items[this.relative(this._current)]}},{filter:["items","settings"],run:function(){this.$stage.children(".cloned").remove()}},{filter:["width","items","settings"],run:function(a){var b=this.settings.margin||"",c=!this.settings.autoWidth,d=this.settings.rtl,e={width:"auto","margin-left":d?b:"","margin-right":d?"":b};!c&&this.$stage.children().css(e),a.css=e}},{filter:["width","items","settings"],run:function(a){var b=(this.width()/this.settings.items).toFixed(3)-this.settings.margin,c=null,d=this._items.length,e=!this.settings.autoWidth,f=[];for(a.items={merge:!1,width:b};d--;)c=this._mergers[d],c=this.settings.mergeFit&&Math.min(c,this.settings.items)||c,a.items.merge=c>1||a.items.merge,f[d]=e?b*c:this._items[d].width();this._widths=f}},{filter:["items","settings"],run:function(){var b=[],c=this._items,d=this.settings,e=Math.max(2*d.items,4),f=2*Math.ceil(c.length/2),g=d.loop&&c.length?d.rewind?e:Math.max(e,f):0,h="",i="";for(g/=2;g--;)b.push(this.normalize(b.length/2,!0)),h+=c[b[b.length-1]][0].outerHTML,b.push(this.normalize(c.length-1-(b.length-1)/2,!0)),i=c[b[b.length-1]][0].outerHTML+i;this._clones=b,a(h).addClass("cloned").appendTo(this.$stage),a(i).addClass("cloned").prependTo(this.$stage)}},{filter:["width","items","settings"],run:function(){for(var a=this.settings.rtl?1:-1,b=this._clones.length+this._items.length,c=-1,d=0,e=0,f=[];++c<b;)d=f[c-1]||0,e=this._widths[this.relative(c)]+this.settings.margin,f.push(d+e*a);this._coordinates=f}},{filter:["width","items","settings"],run:function(){var a=this.settings.stagePadding,b=this._coordinates,c={width:Math.ceil(Math.abs(b[b.length-1]))+2*a,"padding-left":a||"","padding-right":a||""};this.$stage.css(c)}},{filter:["width","items","settings"],run:function(a){var b=this._coordinates.length,c=!this.settings.autoWidth,d=this.$stage.children();if(c&&a.items.merge)for(;b--;)a.css.width=this._widths[this.relative(b)],d.eq(b).css(a.css);else c&&(a.css.width=a.items.width,d.css(a.css))}},{filter:["items"],run:function(){this._coordinates.length<1&&this.$stage.removeAttr("style")}},{filter:["width","items","settings"],run:function(a){a.current=a.current?this.$stage.children().index(a.current):0,a.current=Math.max(this.minimum(),Math.min(this.maximum(),a.current)),this.reset(a.current)}},{filter:["position"],run:function(){this.animate(this.coordinates(this._current))}},{filter:["width","position","items","settings"],run:function(){var a,b,c,d,e=this.settings.rtl?1:-1,f=2*this.settings.stagePadding,g=this.coordinates(this.current())+f,h=g+this.width()*e,i=[];for(c=0,d=this._coordinates.length;c<d;c++)a=this._coordinates[c-1]||0,b=Math.abs(this._coordinates[c])+f*e,(this.op(a,"<=",g)&&this.op(a,">",h)||this.op(b,"<",g)&&this.op(b,">",h))&&i.push(c);this.$stage.children(".active").removeClass("active"),this.$stage.children(":eq("+i.join("), :eq(")+")").addClass("active"),this.settings.center&&(this.$stage.children(".center").removeClass("center"),this.$stage.children().eq(this.current()).addClass("center"))}}],e.prototype.initialize=function(){if(this.enter("initializing"),this.trigger("initialize"),this.$element.toggleClass(this.settings.rtlClass,this.settings.rtl),this.settings.autoWidth&&!this.is("pre-loading")){var b,c,e;b=this.$element.find("img"),c=this.settings.nestedItemSelector?"."+this.settings.nestedItemSelector:d,e=this.$element.children(c).width(),b.length&&e<=0&&this.preloadAutoWidthImages(b)}this.$element.addClass(this.options.loadingClass),this.$stage=a("<"+this.settings.stageElement+' class="'+this.settings.stageClass+'"/>').wrap('<div class="'+this.settings.stageOuterClass+'"/>'),this.$element.append(this.$stage.parent()),this.replace(this.$element.children().not(this.$stage.parent())),this.$element.is(":visible")?this.refresh():this.invalidate("width"),this.$element.removeClass(this.options.loadingClass).addClass(this.options.loadedClass),this.registerEventHandlers(),this.leave("initializing"),this.trigger("initialized")},e.prototype.setup=function(){var b=this.viewport(),c=this.options.responsive,d=-1,e=null;c?(a.each(c,function(a){a<=b&&a>d&&(d=Number(a))}),e=a.extend({},this.options,c[d]),"function"==typeof e.stagePadding&&(e.stagePadding=e.stagePadding()),delete e.responsive,e.responsiveClass&&this.$element.attr("class",this.$element.attr("class").replace(new RegExp("("+this.options.responsiveClass+"-)\\S+\\s","g"),"$1"+d))):e=a.extend({},this.options),this.trigger("change",{property:{name:"settings",value:e}}),this._breakpoint=d,this.settings=e,this.invalidate("settings"),this.trigger("changed",{property:{name:"settings",value:this.settings}})},e.prototype.optionsLogic=function(){this.settings.autoWidth&&(this.settings.stagePadding=!1,this.settings.merge=!1)},e.prototype.prepare=function(b){var c=this.trigger("prepare",{content:b});return c.data||(c.data=a("<"+this.settings.itemElement+"/>").addClass(this.options.itemClass).append(b)),this.trigger("prepared",{content:c.data}),c.data},e.prototype.update=function(){for(var b=0,c=this._pipe.length,d=a.proxy(function(a){return this[a]},this._invalidated),e={};b<c;)(this._invalidated.all||a.grep(this._pipe[b].filter,d).length>0)&&this._pipe[b].run(e),b++;this._invalidated={},!this.is("valid")&&this.enter("valid")},e.prototype.width=function(a){switch(a=a||e.Width.Default){case e.Width.Inner:case e.Width.Outer:return this._width;default:return this._width-2*this.settings.stagePadding+this.settings.margin}},e.prototype.refresh=function(){this.enter("refreshing"),this.trigger("refresh"),this.setup(),this.optionsLogic(),this.$element.addClass(this.options.refreshClass),this.update(),this.$element.removeClass(this.options.refreshClass),this.leave("refreshing"),this.trigger("refreshed")},e.prototype.onThrottledResize=function(){b.clearTimeout(this.resizeTimer),this.resizeTimer=b.setTimeout(this._handlers.onResize,this.settings.responsiveRefreshRate)},e.prototype.onResize=function(){return!!this._items.length&&(this._width!==this.$element.width()&&(!!this.$element.is(":visible")&&(this.enter("resizing"),this.trigger("resize").isDefaultPrevented()?(this.leave("resizing"),!1):(this.invalidate("width"),this.refresh(),this.leave("resizing"),void this.trigger("resized")))))},e.prototype.registerEventHandlers=function(){a.support.transition&&this.$stage.on(a.support.transition.end+".owl.core",a.proxy(this.onTransitionEnd,this)),this.settings.responsive!==!1&&this.on(b,"resize",this._handlers.onThrottledResize),this.settings.mouseDrag&&(this.$element.addClass(this.options.dragClass),this.$stage.on("mousedown.owl.core",a.proxy(this.onDragStart,this)),this.$stage.on("dragstart.owl.core selectstart.owl.core",function(){return!1})),this.settings.touchDrag&&(this.$stage.on("touchstart.owl.core",a.proxy(this.onDragStart,this)),this.$stage.on("touchcancel.owl.core",a.proxy(this.onDragEnd,this)))},e.prototype.onDragStart=function(b){var d=null;3!==b.which&&(a.support.transform?(d=this.$stage.css("transform").replace(/.*\(|\)| /g,"").split(","),d={x:d[16===d.length?12:4],y:d[16===d.length?13:5]}):(d=this.$stage.position(),d={x:this.settings.rtl?d.left+this.$stage.width()-this.width()+this.settings.margin:d.left,y:d.top}),this.is("animating")&&(a.support.transform?this.animate(d.x):this.$stage.stop(),this.invalidate("position")),this.$element.toggleClass(this.options.grabClass,"mousedown"===b.type),this.speed(0),this._drag.time=(new Date).getTime(),this._drag.target=a(b.target),this._drag.stage.start=d,this._drag.stage.current=d,this._drag.pointer=this.pointer(b),a(c).on("mouseup.owl.core touchend.owl.core",a.proxy(this.onDragEnd,this)),a(c).one("mousemove.owl.core touchmove.owl.core",a.proxy(function(b){var d=this.difference(this._drag.pointer,this.pointer(b));a(c).on("mousemove.owl.core touchmove.owl.core",a.proxy(this.onDragMove,this)),Math.abs(d.x)<Math.abs(d.y)&&this.is("valid")||(b.preventDefault(),this.enter("dragging"),this.trigger("drag"))},this)))},e.prototype.onDragMove=function(a){var b=null,c=null,d=null,e=this.difference(this._drag.pointer,this.pointer(a)),f=this.difference(this._drag.stage.start,e);this.is("dragging")&&(a.preventDefault(),this.settings.loop?(b=this.coordinates(this.minimum()),c=this.coordinates(this.maximum()+1)-b,f.x=((f.x-b)%c+c)%c+b):(b=this.settings.rtl?this.coordinates(this.maximum()):this.coordinates(this.minimum()),c=this.settings.rtl?this.coordinates(this.minimum()):this.coordinates(this.maximum()),d=this.settings.pullDrag?-1*e.x/5:0,f.x=Math.max(Math.min(f.x,b+d),c+d)),this._drag.stage.current=f,this.animate(f.x))},e.prototype.onDragEnd=function(b){var d=this.difference(this._drag.pointer,this.pointer(b)),e=this._drag.stage.current,f=d.x>0^this.settings.rtl?"left":"right";a(c).off(".owl.core"),this.$element.removeClass(this.options.grabClass),(0!==d.x&&this.is("dragging")||!this.is("valid"))&&(this.speed(this.settings.dragEndSpeed||this.settings.smartSpeed),this.current(this.closest(e.x,0!==d.x?f:this._drag.direction)),this.invalidate("position"),this.update(),this._drag.direction=f,(Math.abs(d.x)>3||(new Date).getTime()-this._drag.time>300)&&this._drag.target.one("click.owl.core",function(){return!1})),this.is("dragging")&&(this.leave("dragging"),this.trigger("dragged"))},e.prototype.closest=function(b,c){var d=-1,e=30,f=this.width(),g=this.coordinates();return this.settings.freeDrag||a.each(g,a.proxy(function(a,h){return"left"===c&&b>h-e&&b<h+e?d=a:"right"===c&&b>h-f-e&&b<h-f+e?d=a+1:this.op(b,"<",h)&&this.op(b,">",g[a+1]||h-f)&&(d="left"===c?a+1:a),d===-1},this)),this.settings.loop||(this.op(b,">",g[this.minimum()])?d=b=this.minimum():this.op(b,"<",g[this.maximum()])&&(d=b=this.maximum())),d},e.prototype.animate=function(b){var c=this.speed()>0;this.is("animating")&&this.onTransitionEnd(),c&&(this.enter("animating"),this.trigger("translate")),a.support.transform3d&&a.support.transition?this.$stage.css({transform:"translate3d("+b+"px,0px,0px)",transition:this.speed()/1e3+"s"}):c?this.$stage.animate({left:b+"px"},this.speed(),this.settings.fallbackEasing,a.proxy(this.onTransitionEnd,this)):this.$stage.css({left:b+"px"})},e.prototype.is=function(a){return this._states.current[a]&&this._states.current[a]>0},e.prototype.current=function(a){if(a===d)return this._current;if(0===this._items.length)return d;if(a=this.normalize(a),this._current!==a){var b=this.trigger("change",{property:{name:"position",value:a}});b.data!==d&&(a=this.normalize(b.data)),this._current=a,this.invalidate("position"),this.trigger("changed",{property:{name:"position",value:this._current}})}return this._current},e.prototype.invalidate=function(b){return"string"===a.type(b)&&(this._invalidated[b]=!0,this.is("valid")&&this.leave("valid")),a.map(this._invalidated,function(a,b){return b})},e.prototype.reset=function(a){a=this.normalize(a),a!==d&&(this._speed=0,this._current=a,this.suppress(["translate","translated"]),this.animate(this.coordinates(a)),this.release(["translate","translated"]))},e.prototype.normalize=function(a,b){var c=this._items.length,e=b?0:this._clones.length;return!this.isNumeric(a)||c<1?a=d:(a<0||a>=c+e)&&(a=((a-e/2)%c+c)%c+e/2),a},e.prototype.relative=function(a){return a-=this._clones.length/2,this.normalize(a,!0)},e.prototype.maximum=function(a){var b,c,d,e=this.settings,f=this._coordinates.length;if(e.loop)f=this._clones.length/2+this._items.length-1;else if(e.autoWidth||e.merge){for(b=this._items.length,c=this._items[--b].width(),d=this.$element.width();b--&&(c+=this._items[b].width()+this.settings.margin,!(c>d)););f=b+1}else f=e.center?this._items.length-1:this._items.length-e.items;return a&&(f-=this._clones.length/2),Math.max(f,0)},e.prototype.minimum=function(a){return a?0:this._clones.length/2},e.prototype.items=function(a){return a===d?this._items.slice():(a=this.normalize(a,!0),this._items[a])},e.prototype.mergers=function(a){return a===d?this._mergers.slice():(a=this.normalize(a,!0),this._mergers[a])},e.prototype.clones=function(b){var c=this._clones.length/2,e=c+this._items.length,f=function(a){return a%2===0?e+a/2:c-(a+1)/2};return b===d?a.map(this._clones,function(a,b){return f(b)}):a.map(this._clones,function(a,c){return a===b?f(c):null})},e.prototype.speed=function(a){return a!==d&&(this._speed=a),this._speed},e.prototype.coordinates=function(b){var c,e=1,f=b-1;return b===d?a.map(this._coordinates,a.proxy(function(a,b){return this.coordinates(b)},this)):(this.settings.center?(this.settings.rtl&&(e=-1,f=b+1),c=this._coordinates[b],c+=(this.width()-c+(this._coordinates[f]||0))/2*e):c=this._coordinates[f]||0,c=Math.ceil(c))},e.prototype.duration=function(a,b,c){return 0===c?0:Math.min(Math.max(Math.abs(b-a),1),6)*Math.abs(c||this.settings.smartSpeed)},e.prototype.to=function(a,b){var c=this.current(),d=null,e=a-this.relative(c),f=(e>0)-(e<0),g=this._items.length,h=this.minimum(),i=this.maximum();this.settings.loop?(!this.settings.rewind&&Math.abs(e)>g/2&&(e+=f*-1*g),a=c+e,d=((a-h)%g+g)%g+h,d!==a&&d-e<=i&&d-e>0&&(c=d-e,a=d,this.reset(c))):this.settings.rewind?(i+=1,a=(a%i+i)%i):a=Math.max(h,Math.min(i,a)),this.speed(this.duration(c,a,b)),this.current(a),this.$element.is(":visible")&&this.update()},e.prototype.next=function(a){a=a||!1,this.to(this.relative(this.current())+1,a)},e.prototype.prev=function(a){a=a||!1,this.to(this.relative(this.current())-1,a)},e.prototype.onTransitionEnd=function(a){if(a!==d&&(a.stopPropagation(),(a.target||a.srcElement||a.originalTarget)!==this.$stage.get(0)))return!1;this.leave("animating"),this.trigger("translated")},e.prototype.viewport=function(){var d;return this.options.responsiveBaseElement!==b?d=a(this.options.responsiveBaseElement).width():b.innerWidth?d=b.innerWidth:c.documentElement&&c.documentElement.clientWidth?d=c.documentElement.clientWidth:console.warn("Can not detect viewport width."),d},e.prototype.replace=function(b){this.$stage.empty(),this._items=[],b&&(b=b instanceof jQuery?b:a(b)),this.settings.nestedItemSelector&&(b=b.find("."+this.settings.nestedItemSelector)),b.filter(function(){return 1===this.nodeType}).each(a.proxy(function(a,b){b=this.prepare(b),this.$stage.append(b),this._items.push(b),this._mergers.push(1*b.find("[data-merge]").addBack("[data-merge]").attr("data-merge")||1)},this)),this.reset(this.isNumeric(this.settings.startPosition)?this.settings.startPosition:0),this.invalidate("items")},e.prototype.add=function(b,c){var e=this.relative(this._current);c=c===d?this._items.length:this.normalize(c,!0),b=b instanceof jQuery?b:a(b),this.trigger("add",{content:b,position:c}),b=this.prepare(b),0===this._items.length||c===this._items.length?(0===this._items.length&&this.$stage.append(b),0!==this._items.length&&this._items[c-1].after(b),this._items.push(b),this._mergers.push(1*b.find("[data-merge]").addBack("[data-merge]").attr("data-merge")||1)):(this._items[c].before(b),this._items.splice(c,0,b),this._mergers.splice(c,0,1*b.find("[data-merge]").addBack("[data-merge]").attr("data-merge")||1)),this._items[e]&&this.reset(this._items[e].index()),this.invalidate("items"),this.trigger("added",{content:b,position:c})},e.prototype.remove=function(a){a=this.normalize(a,!0),a!==d&&(this.trigger("remove",{content:this._items[a],position:a}),this._items[a].remove(),this._items.splice(a,1),this._mergers.splice(a,1),this.invalidate("items"),this.trigger("removed",{content:null,position:a}))},e.prototype.preloadAutoWidthImages=function(b){b.each(a.proxy(function(b,c){this.enter("pre-loading"),c=a(c),a(new Image).one("load",a.proxy(function(a){c.attr("src",a.target.src),c.css("opacity",1),this.leave("pre-loading"),!this.is("pre-loading")&&!this.is("initializing")&&this.refresh()},this)).attr("src",c.attr("src")||c.attr("data-src")||c.attr("data-src-retina"))},this))},e.prototype.destroy=function(){this.$element.off(".owl.core"),this.$stage.off(".owl.core"),a(c).off(".owl.core"),this.settings.responsive!==!1&&(b.clearTimeout(this.resizeTimer),this.off(b,"resize",this._handlers.onThrottledResize));for(var d in this._plugins)this._plugins[d].destroy();this.$stage.children(".cloned").remove(),this.$stage.unwrap(),this.$stage.children().contents().unwrap(),this.$stage.children().unwrap(),this.$element.removeClass(this.options.refreshClass).removeClass(this.options.loadingClass).removeClass(this.options.loadedClass).removeClass(this.options.rtlClass).removeClass(this.options.dragClass).removeClass(this.options.grabClass).attr("class",this.$element.attr("class").replace(new RegExp(this.options.responsiveClass+"-\\S+\\s","g"),"")).removeData("owl.carousel")},e.prototype.op=function(a,b,c){var d=this.settings.rtl;switch(b){case"<":return d?a>c:a<c;case">":return d?a<c:a>c;case">=":return d?a<=c:a>=c;case"<=":return d?a>=c:a<=c}},e.prototype.on=function(a,b,c,d){a.addEventListener?a.addEventListener(b,c,d):a.attachEvent&&a.attachEvent("on"+b,c)},e.prototype.off=function(a,b,c,d){a.removeEventListener?a.removeEventListener(b,c,d):a.detachEvent&&a.detachEvent("on"+b,c)},e.prototype.trigger=function(b,c,d,f,g){var h={item:{count:this._items.length,index:this.current()}},i=a.camelCase(a.grep(["on",b,d],function(a){return a}).join("-").toLowerCase()),j=a.Event([b,"owl",d||"carousel"].join(".").toLowerCase(),a.extend({relatedTarget:this},h,c));return this._supress[b]||(a.each(this._plugins,function(a,b){b.onTrigger&&b.onTrigger(j)}),this.register({type:e.Type.Event,name:b}),this.$element.trigger(j),this.settings&&"function"==typeof this.settings[i]&&this.settings[i].call(this,j)),j},e.prototype.enter=function(b){a.each([b].concat(this._states.tags[b]||[]),a.proxy(function(a,b){this._states.current[b]===d&&(this._states.current[b]=0),this._states.current[b]++},this))},e.prototype.leave=function(b){a.each([b].concat(this._states.tags[b]||[]),a.proxy(function(a,b){this._states.current[b]--},this))},e.prototype.register=function(b){if(b.type===e.Type.Event){if(a.event.special[b.name]||(a.event.special[b.name]={}),!a.event.special[b.name].owl){var c=a.event.special[b.name]._default;a.event.special[b.name]._default=function(a){return!c||!c.apply||a.namespace&&a.namespace.indexOf("owl")!==-1?a.namespace&&a.namespace.indexOf("owl")>-1:c.apply(this,arguments)},a.event.special[b.name].owl=!0}}else b.type===e.Type.State&&(this._states.tags[b.name]?this._states.tags[b.name]=this._states.tags[b.name].concat(b.tags):this._states.tags[b.name]=b.tags,this._states.tags[b.name]=a.grep(this._states.tags[b.name],a.proxy(function(c,d){return a.inArray(c,this._states.tags[b.name])===d},this)))},e.prototype.suppress=function(b){a.each(b,a.proxy(function(a,b){this._supress[b]=!0},this))},e.prototype.release=function(b){a.each(b,a.proxy(function(a,b){delete this._supress[b]},this))},e.prototype.pointer=function(a){var c={x:null,y:null};return a=a.originalEvent||a||b.event,a=a.touches&&a.touches.length?a.touches[0]:a.changedTouches&&a.changedTouches.length?a.changedTouches[0]:a,a.pageX?(c.x=a.pageX,c.y=a.pageY):(c.x=a.clientX,c.y=a.clientY),c},e.prototype.isNumeric=function(a){return!isNaN(parseFloat(a))},e.prototype.difference=function(a,b){return{x:a.x-b.x,y:a.y-b.y}},a.fn.owlCarousel=function(b){var c=Array.prototype.slice.call(arguments,1);return this.each(function(){var d=a(this),f=d.data("owl.carousel");f||(f=new e(this,"object"==typeof b&&b),d.data("owl.carousel",f),a.each(["next","prev","to","destroy","refresh","replace","add","remove"],function(b,c){f.register({type:e.Type.Event,name:c}),f.$element.on(c+".owl.carousel.core",a.proxy(function(a){a.namespace&&a.relatedTarget!==this&&(this.suppress([c]),f[c].apply(this,[].slice.call(arguments,1)),this.release([c]))},f))})),"string"==typeof b&&"_"!==b.charAt(0)&&f[b].apply(f,c)})},a.fn.owlCarousel.Constructor=e}(window.Zepto||window.jQuery,window,document),function(a,b,c,d){var e=function(b){this._core=b,this._interval=null,this._visible=null,this._handlers={"initialized.owl.carousel":a.proxy(function(a){a.namespace&&this._core.settings.autoRefresh&&this.watch()},this)},this._core.options=a.extend({},e.Defaults,this._core.options),this._core.$element.on(this._handlers)};e.Defaults={autoRefresh:!0,autoRefreshInterval:500},e.prototype.watch=function(){this._interval||(this._visible=this._core.$element.is(":visible"),this._interval=b.setInterval(a.proxy(this.refresh,this),this._core.settings.autoRefreshInterval))},e.prototype.refresh=function(){this._core.$element.is(":visible")!==this._visible&&(this._visible=!this._visible,this._core.$element.toggleClass("owl-hidden",!this._visible),this._visible&&this._core.invalidate("width")&&this._core.refresh())},e.prototype.destroy=function(){var a,c;b.clearInterval(this._interval);for(a in this._handlers)this._core.$element.off(a,this._handlers[a]);for(c in Object.getOwnPropertyNames(this))"function"!=typeof this[c]&&(this[c]=null)},a.fn.owlCarousel.Constructor.Plugins.AutoRefresh=e}(window.Zepto||window.jQuery,window,document),function(a,b,c,d){var e=function(b){this._core=b,this._loaded=[],this._handlers={"initialized.owl.carousel change.owl.carousel resized.owl.carousel":a.proxy(function(b){if(b.namespace&&this._core.settings&&this._core.settings.lazyLoad&&(b.property&&"position"==b.property.name||"initialized"==b.type))for(var c=this._core.settings,e=c.center&&Math.ceil(c.items/2)||c.items,f=c.center&&e*-1||0,g=(b.property&&b.property.value!==d?b.property.value:this._core.current())+f,h=this._core.clones().length,i=a.proxy(function(a,b){this.load(b)},this);f++<e;)this.load(h/2+this._core.relative(g)),h&&a.each(this._core.clones(this._core.relative(g)),i),g++},this)},this._core.options=a.extend({},e.Defaults,this._core.options),this._core.$element.on(this._handlers)};e.Defaults={lazyLoad:!1},e.prototype.load=function(c){var d=this._core.$stage.children().eq(c),e=d&&d.find(".owl-lazy");!e||a.inArray(d.get(0),this._loaded)>-1||(e.each(a.proxy(function(c,d){var e,f=a(d),g=b.devicePixelRatio>1&&f.attr("data-src-retina")||f.attr("data-src");this._core.trigger("load",{element:f,url:g},"lazy"),f.is("img")?f.one("load.owl.lazy",a.proxy(function(){f.css("opacity",1),this._core.trigger("loaded",{element:f,url:g},"lazy")},this)).attr("src",g):(e=new Image,e.onload=a.proxy(function(){f.css({"background-image":'url("'+g+'")',opacity:"1"}),this._core.trigger("loaded",{element:f,url:g},"lazy")},this),e.src=g)},this)),this._loaded.push(d.get(0)))},e.prototype.destroy=function(){var a,b;for(a in this.handlers)this._core.$element.off(a,this.handlers[a]);for(b in Object.getOwnPropertyNames(this))"function"!=typeof this[b]&&(this[b]=null)},a.fn.owlCarousel.Constructor.Plugins.Lazy=e}(window.Zepto||window.jQuery,window,document),function(a,b,c,d){var e=function(b){this._core=b,this._handlers={"initialized.owl.carousel refreshed.owl.carousel":a.proxy(function(a){a.namespace&&this._core.settings.autoHeight&&this.update()},this),"changed.owl.carousel":a.proxy(function(a){a.namespace&&this._core.settings.autoHeight&&"position"==a.property.name&&this.update()},this),"loaded.owl.lazy":a.proxy(function(a){a.namespace&&this._core.settings.autoHeight&&a.element.closest("."+this._core.settings.itemClass).index()===this._core.current()&&this.update()},this)},this._core.options=a.extend({},e.Defaults,this._core.options),this._core.$element.on(this._handlers)};e.Defaults={autoHeight:!1,autoHeightClass:"owl-height"},e.prototype.update=function(){var b=this._core._current,c=b+this._core.settings.items,d=this._core.$stage.children().toArray().slice(b,c),e=[],f=0;a.each(d,function(b,c){e.push(a(c).height())}),f=Math.max.apply(null,e),this._core.$stage.parent().height(f).addClass(this._core.settings.autoHeightClass)},e.prototype.destroy=function(){var a,b;for(a in this._handlers)this._core.$element.off(a,this._handlers[a]);for(b in Object.getOwnPropertyNames(this))"function"!=typeof this[b]&&(this[b]=null)},a.fn.owlCarousel.Constructor.Plugins.AutoHeight=e}(window.Zepto||window.jQuery,window,document),function(a,b,c,d){var e=function(b){this._core=b,this._videos={},this._playing=null,this._handlers={"initialized.owl.carousel":a.proxy(function(a){a.namespace&&this._core.register({type:"state",name:"playing",tags:["interacting"]})},this),"resize.owl.carousel":a.proxy(function(a){a.namespace&&this._core.settings.video&&this.isInFullScreen()&&a.preventDefault()},this),"refreshed.owl.carousel":a.proxy(function(a){a.namespace&&this._core.is("resizing")&&this._core.$stage.find(".cloned .owl-video-frame").remove()},this),"changed.owl.carousel":a.proxy(function(a){a.namespace&&"position"===a.property.name&&this._playing&&this.stop()},this),"prepared.owl.carousel":a.proxy(function(b){if(b.namespace){var c=a(b.content).find(".owl-video");c.length&&(c.css("display","none"),this.fetch(c,a(b.content)))}},this)},this._core.options=a.extend({},e.Defaults,this._core.options),this._core.$element.on(this._handlers),this._core.$element.on("click.owl.video",".owl-video-play-icon",a.proxy(function(a){this.play(a)},this))};e.Defaults={video:!1,videoHeight:!1,videoWidth:!1},e.prototype.fetch=function(a,b){var c=function(){return a.attr("data-vimeo-id")?"vimeo":a.attr("data-vzaar-id")?"vzaar":"youtube"}(),d=a.attr("data-vimeo-id")||a.attr("data-youtube-id")||a.attr("data-vzaar-id"),e=a.attr("data-width")||this._core.settings.videoWidth,f=a.attr("data-height")||this._core.settings.videoHeight,g=a.attr("href");if(!g)throw new Error("Missing video URL.");if(d=g.match(/(http:|https:|)\/\/(player.|www.|app.)?(vimeo\.com|youtu(be\.com|\.be|be\.googleapis\.com)|vzaar\.com)\/(video\/|videos\/|embed\/|channels\/.+\/|groups\/.+\/|watch\?v=|v\/)?([A-Za-z0-9._%-]*)(\&\S+)?/),d[3].indexOf("youtu")>-1)c="youtube";else if(d[3].indexOf("vimeo")>-1)c="vimeo";else{if(!(d[3].indexOf("vzaar")>-1))throw new Error("Video URL not supported.");c="vzaar"}d=d[6],this._videos[g]={type:c,id:d,width:e,height:f},b.attr("data-video",g),this.thumbnail(a,this._videos[g])},e.prototype.thumbnail=function(b,c){var d,e,f,g=c.width&&c.height?'style="width:'+c.width+"px;height:"+c.height+'px;"':"",h=b.find("img"),i="src",j="",k=this._core.settings,l=function(a){e='<div class="owl-video-play-icon"></div>',d=k.lazyLoad?'<div class="owl-video-tn '+j+'" '+i+'="'+a+'"></div>':'<div class="owl-video-tn" style="opacity:1;background-image:url('+a+')"></div>',b.after(d),b.after(e)};if(b.wrap('<div class="owl-video-wrapper"'+g+"></div>"),this._core.settings.lazyLoad&&(i="data-src",j="owl-lazy"),h.length)return l(h.attr(i)),h.remove(),!1;"youtube"===c.type?(f="//img.youtube.com/vi/"+c.id+"/hqdefault.jpg",l(f)):"vimeo"===c.type?a.ajax({type:"GET",url:"//vimeo.com/api/v2/video/"+c.id+".json",jsonp:"callback",dataType:"jsonp",success:function(a){f=a[0].thumbnail_large,l(f)}}):"vzaar"===c.type&&a.ajax({type:"GET",url:"//vzaar.com/api/videos/"+c.id+".json",jsonp:"callback",dataType:"jsonp",success:function(a){f=a.framegrab_url,l(f)}})},e.prototype.stop=function(){this._core.trigger("stop",null,"video"),this._playing.find(".owl-video-frame").remove(),this._playing.removeClass("owl-video-playing"),this._playing=null,this._core.leave("playing"),this._core.trigger("stopped",null,"video")},e.prototype.play=function(b){var c,d=a(b.target),e=d.closest("."+this._core.settings.itemClass),f=this._videos[e.attr("data-video")],g=f.width||"100%",h=f.height||this._core.$stage.height();this._playing||(this._core.enter("playing"),this._core.trigger("play",null,"video"),e=this._core.items(this._core.relative(e.index())),this._core.reset(e.index()),"youtube"===f.type?c='<iframe width="'+g+'" height="'+h+'" src="//www.youtube.com/embed/'+f.id+"?autoplay=1&rel=0&v="+f.id+'" frameborder="0" allowfullscreen></iframe>':"vimeo"===f.type?c='<iframe src="//player.vimeo.com/video/'+f.id+'?autoplay=1" width="'+g+'" height="'+h+'" frameborder="0" webkitallowfullscreen mozallowfullscreen allowfullscreen></iframe>':"vzaar"===f.type&&(c='<iframe frameborder="0"height="'+h+'"width="'+g+'" allowfullscreen mozallowfullscreen webkitAllowFullScreen src="//view.vzaar.com/'+f.id+'/player?autoplay=true"></iframe>'),a('<div class="owl-video-frame">'+c+"</div>").insertAfter(e.find(".owl-video")),this._playing=e.addClass("owl-video-playing"))},e.prototype.isInFullScreen=function(){var b=c.fullscreenElement||c.mozFullScreenElement||c.webkitFullscreenElement;return b&&a(b).parent().hasClass("owl-video-frame")},e.prototype.destroy=function(){var a,b;this._core.$element.off("click.owl.video");for(a in this._handlers)this._core.$element.off(a,this._handlers[a]);for(b in Object.getOwnPropertyNames(this))"function"!=typeof this[b]&&(this[b]=null)},a.fn.owlCarousel.Constructor.Plugins.Video=e}(window.Zepto||window.jQuery,window,document),function(a,b,c,d){var e=function(b){this.core=b,this.core.options=a.extend({},e.Defaults,this.core.options),this.swapping=!0,this.previous=d,this.next=d,this.handlers={"change.owl.carousel":a.proxy(function(a){a.namespace&&"position"==a.property.name&&(this.previous=this.core.current(),this.next=a.property.value)},this),"drag.owl.carousel dragged.owl.carousel translated.owl.carousel":a.proxy(function(a){a.namespace&&(this.swapping="translated"==a.type)},this),"translate.owl.carousel":a.proxy(function(a){a.namespace&&this.swapping&&(this.core.options.animateOut||this.core.options.animateIn)&&this.swap()},this)},this.core.$element.on(this.handlers)};e.Defaults={animateOut:!1,animateIn:!1},e.prototype.swap=function(){if(1===this.core.settings.items&&a.support.animation&&a.support.transition){this.core.speed(0);var b,c=a.proxy(this.clear,this),d=this.core.$stage.children().eq(this.previous),e=this.core.$stage.children().eq(this.next),f=this.core.settings.animateIn,g=this.core.settings.animateOut;this.core.current()!==this.previous&&(g&&(b=this.core.coordinates(this.previous)-this.core.coordinates(this.next),d.one(a.support.animation.end,c).css({left:b+"px"}).addClass("animated owl-animated-out").addClass(g)),f&&e.one(a.support.animation.end,c).addClass("animated owl-animated-in").addClass(f))}},e.prototype.clear=function(b){a(b.target).css({left:""}).removeClass("animated owl-animated-out owl-animated-in").removeClass(this.core.settings.animateIn).removeClass(this.core.settings.animateOut),this.core.onTransitionEnd()},e.prototype.destroy=function(){var a,b;for(a in this.handlers)this.core.$element.off(a,this.handlers[a]);for(b in Object.getOwnPropertyNames(this))"function"!=typeof this[b]&&(this[b]=null)},
+a.fn.owlCarousel.Constructor.Plugins.Animate=e}(window.Zepto||window.jQuery,window,document),function(a,b,c,d){var e=function(b){this._core=b,this._timeout=null,this._paused=!1,this._handlers={"changed.owl.carousel":a.proxy(function(a){a.namespace&&"settings"===a.property.name?this._core.settings.autoplay?this.play():this.stop():a.namespace&&"position"===a.property.name&&this._core.settings.autoplay&&this._setAutoPlayInterval()},this),"initialized.owl.carousel":a.proxy(function(a){a.namespace&&this._core.settings.autoplay&&this.play()},this),"play.owl.autoplay":a.proxy(function(a,b,c){a.namespace&&this.play(b,c)},this),"stop.owl.autoplay":a.proxy(function(a){a.namespace&&this.stop()},this),"mouseover.owl.autoplay":a.proxy(function(){this._core.settings.autoplayHoverPause&&this._core.is("rotating")&&this.pause()},this),"mouseleave.owl.autoplay":a.proxy(function(){this._core.settings.autoplayHoverPause&&this._core.is("rotating")&&this.play()},this),"touchstart.owl.core":a.proxy(function(){this._core.settings.autoplayHoverPause&&this._core.is("rotating")&&this.pause()},this),"touchend.owl.core":a.proxy(function(){this._core.settings.autoplayHoverPause&&this.play()},this)},this._core.$element.on(this._handlers),this._core.options=a.extend({},e.Defaults,this._core.options)};e.Defaults={autoplay:!1,autoplayTimeout:5e3,autoplayHoverPause:!1,autoplaySpeed:!1},e.prototype.play=function(a,b){this._paused=!1,this._core.is("rotating")||(this._core.enter("rotating"),this._setAutoPlayInterval())},e.prototype._getNextTimeout=function(d,e){return this._timeout&&b.clearTimeout(this._timeout),b.setTimeout(a.proxy(function(){this._paused||this._core.is("busy")||this._core.is("interacting")||c.hidden||this._core.next(e||this._core.settings.autoplaySpeed)},this),d||this._core.settings.autoplayTimeout)},e.prototype._setAutoPlayInterval=function(){this._timeout=this._getNextTimeout()},e.prototype.stop=function(){this._core.is("rotating")&&(b.clearTimeout(this._timeout),this._core.leave("rotating"))},e.prototype.pause=function(){this._core.is("rotating")&&(this._paused=!0)},e.prototype.destroy=function(){var a,b;this.stop();for(a in this._handlers)this._core.$element.off(a,this._handlers[a]);for(b in Object.getOwnPropertyNames(this))"function"!=typeof this[b]&&(this[b]=null)},a.fn.owlCarousel.Constructor.Plugins.autoplay=e}(window.Zepto||window.jQuery,window,document),function(a,b,c,d){"use strict";var e=function(b){this._core=b,this._initialized=!1,this._pages=[],this._controls={},this._templates=[],this.$element=this._core.$element,this._overrides={next:this._core.next,prev:this._core.prev,to:this._core.to},this._handlers={"prepared.owl.carousel":a.proxy(function(b){b.namespace&&this._core.settings.dotsData&&this._templates.push('<div class="'+this._core.settings.dotClass+'">'+a(b.content).find("[data-dot]").addBack("[data-dot]").attr("data-dot")+"</div>")},this),"added.owl.carousel":a.proxy(function(a){a.namespace&&this._core.settings.dotsData&&this._templates.splice(a.position,0,this._templates.pop())},this),"remove.owl.carousel":a.proxy(function(a){a.namespace&&this._core.settings.dotsData&&this._templates.splice(a.position,1)},this),"changed.owl.carousel":a.proxy(function(a){a.namespace&&"position"==a.property.name&&this.draw()},this),"initialized.owl.carousel":a.proxy(function(a){a.namespace&&!this._initialized&&(this._core.trigger("initialize",null,"navigation"),this.initialize(),this.update(),this.draw(),this._initialized=!0,this._core.trigger("initialized",null,"navigation"))},this),"refreshed.owl.carousel":a.proxy(function(a){a.namespace&&this._initialized&&(this._core.trigger("refresh",null,"navigation"),this.update(),this.draw(),this._core.trigger("refreshed",null,"navigation"))},this)},this._core.options=a.extend({},e.Defaults,this._core.options),this.$element.on(this._handlers)};e.Defaults={nav:!1,navText:["prev","next"],navSpeed:!1,navElement:"div",navContainer:!1,navContainerClass:"owl-nav",navClass:["owl-prev","owl-next"],slideBy:1,dotClass:"owl-dot",dotsClass:"owl-dots",dots:!0,dotsEach:!1,dotsData:!1,dotsSpeed:!1,dotsContainer:!1},e.prototype.initialize=function(){var b,c=this._core.settings;this._controls.$relative=(c.navContainer?a(c.navContainer):a("<div>").addClass(c.navContainerClass).appendTo(this.$element)).addClass("disabled"),this._controls.$previous=a("<"+c.navElement+">").addClass(c.navClass[0]).html(c.navText[0]).prependTo(this._controls.$relative).on("click",a.proxy(function(a){this.prev(c.navSpeed)},this)),this._controls.$next=a("<"+c.navElement+">").addClass(c.navClass[1]).html(c.navText[1]).appendTo(this._controls.$relative).on("click",a.proxy(function(a){this.next(c.navSpeed)},this)),c.dotsData||(this._templates=[a("<div>").addClass(c.dotClass).append(a("<span>")).prop("outerHTML")]),this._controls.$absolute=(c.dotsContainer?a(c.dotsContainer):a("<div>").addClass(c.dotsClass).appendTo(this.$element)).addClass("disabled"),this._controls.$absolute.on("click","div",a.proxy(function(b){var d=a(b.target).parent().is(this._controls.$absolute)?a(b.target).index():a(b.target).parent().index();b.preventDefault(),this.to(d,c.dotsSpeed)},this));for(b in this._overrides)this._core[b]=a.proxy(this[b],this)},e.prototype.destroy=function(){var a,b,c,d;for(a in this._handlers)this.$element.off(a,this._handlers[a]);for(b in this._controls)this._controls[b].remove();for(d in this.overides)this._core[d]=this._overrides[d];for(c in Object.getOwnPropertyNames(this))"function"!=typeof this[c]&&(this[c]=null)},e.prototype.update=function(){var a,b,c,d=this._core.clones().length/2,e=d+this._core.items().length,f=this._core.maximum(!0),g=this._core.settings,h=g.center||g.autoWidth||g.dotsData?1:g.dotsEach||g.items;if("page"!==g.slideBy&&(g.slideBy=Math.min(g.slideBy,g.items)),g.dots||"page"==g.slideBy)for(this._pages=[],a=d,b=0,c=0;a<e;a++){if(b>=h||0===b){if(this._pages.push({start:Math.min(f,a-d),end:a-d+h-1}),Math.min(f,a-d)===f)break;b=0,++c}b+=this._core.mergers(this._core.relative(a))}},e.prototype.draw=function(){var b,c=this._core.settings,d=this._core.items().length<=c.items,e=this._core.relative(this._core.current()),f=c.loop||c.rewind;this._controls.$relative.toggleClass("disabled",!c.nav||d),c.nav&&(this._controls.$previous.toggleClass("disabled",!f&&e<=this._core.minimum(!0)),this._controls.$next.toggleClass("disabled",!f&&e>=this._core.maximum(!0))),this._controls.$absolute.toggleClass("disabled",!c.dots||d),c.dots&&(b=this._pages.length-this._controls.$absolute.children().length,c.dotsData&&0!==b?this._controls.$absolute.html(this._templates.join("")):b>0?this._controls.$absolute.append(new Array(b+1).join(this._templates[0])):b<0&&this._controls.$absolute.children().slice(b).remove(),this._controls.$absolute.find(".active").removeClass("active"),this._controls.$absolute.children().eq(a.inArray(this.current(),this._pages)).addClass("active"))},e.prototype.onTrigger=function(b){var c=this._core.settings;b.page={index:a.inArray(this.current(),this._pages),count:this._pages.length,size:c&&(c.center||c.autoWidth||c.dotsData?1:c.dotsEach||c.items)}},e.prototype.current=function(){var b=this._core.relative(this._core.current());return a.grep(this._pages,a.proxy(function(a,c){return a.start<=b&&a.end>=b},this)).pop()},e.prototype.getPosition=function(b){var c,d,e=this._core.settings;return"page"==e.slideBy?(c=a.inArray(this.current(),this._pages),d=this._pages.length,b?++c:--c,c=this._pages[(c%d+d)%d].start):(c=this._core.relative(this._core.current()),d=this._core.items().length,b?c+=e.slideBy:c-=e.slideBy),c},e.prototype.next=function(b){a.proxy(this._overrides.to,this._core)(this.getPosition(!0),b)},e.prototype.prev=function(b){a.proxy(this._overrides.to,this._core)(this.getPosition(!1),b)},e.prototype.to=function(b,c,d){var e;!d&&this._pages.length?(e=this._pages.length,a.proxy(this._overrides.to,this._core)(this._pages[(b%e+e)%e].start,c)):a.proxy(this._overrides.to,this._core)(b,c)},a.fn.owlCarousel.Constructor.Plugins.Navigation=e}(window.Zepto||window.jQuery,window,document),function(a,b,c,d){"use strict";var e=function(c){this._core=c,this._hashes={},this.$element=this._core.$element,this._handlers={"initialized.owl.carousel":a.proxy(function(c){c.namespace&&"URLHash"===this._core.settings.startPosition&&a(b).trigger("hashchange.owl.navigation")},this),"prepared.owl.carousel":a.proxy(function(b){if(b.namespace){var c=a(b.content).find("[data-hash]").addBack("[data-hash]").attr("data-hash");if(!c)return;this._hashes[c]=b.content}},this),"changed.owl.carousel":a.proxy(function(c){if(c.namespace&&"position"===c.property.name){var d=this._core.items(this._core.relative(this._core.current())),e=a.map(this._hashes,function(a,b){return a===d?b:null}).join();if(!e||b.location.hash.slice(1)===e)return;b.location.hash=e}},this)},this._core.options=a.extend({},e.Defaults,this._core.options),this.$element.on(this._handlers),a(b).on("hashchange.owl.navigation",a.proxy(function(a){var c=b.location.hash.substring(1),e=this._core.$stage.children(),f=this._hashes[c]&&e.index(this._hashes[c]);f!==d&&f!==this._core.current()&&this._core.to(this._core.relative(f),!1,!0)},this))};e.Defaults={URLhashListener:!1},e.prototype.destroy=function(){var c,d;a(b).off("hashchange.owl.navigation");for(c in this._handlers)this._core.$element.off(c,this._handlers[c]);for(d in Object.getOwnPropertyNames(this))"function"!=typeof this[d]&&(this[d]=null)},a.fn.owlCarousel.Constructor.Plugins.Hash=e}(window.Zepto||window.jQuery,window,document),function(a,b,c,d){function e(b,c){var e=!1,f=b.charAt(0).toUpperCase()+b.slice(1);return a.each((b+" "+h.join(f+" ")+f).split(" "),function(a,b){if(g[b]!==d)return e=!c||b,!1}),e}function f(a){return e(a,!0)}var g=a("<support>").get(0).style,h="Webkit Moz O ms".split(" "),i={transition:{end:{WebkitTransition:"webkitTransitionEnd",MozTransition:"transitionend",OTransition:"oTransitionEnd",transition:"transitionend"}},animation:{end:{WebkitAnimation:"webkitAnimationEnd",MozAnimation:"animationend",OAnimation:"oAnimationEnd",animation:"animationend"}}},j={csstransforms:function(){return!!e("transform")},csstransforms3d:function(){return!!e("perspective")},csstransitions:function(){return!!e("transition")},cssanimations:function(){return!!e("animation")}};j.csstransitions()&&(a.support.transition=new String(f("transition")),a.support.transition.end=i.transition.end[a.support.transition]),j.cssanimations()&&(a.support.animation=new String(f("animation")),a.support.animation.end=i.animation.end[a.support.animation]),j.csstransforms()&&(a.support.transform=new String(f("transform")),a.support.transform3d=j.csstransforms3d())}(window.Zepto||window.jQuery,window,document);
\ No newline at end of file
diff --git a/templates/shop-isle/assets/js/vendor/smoothscroll.js b/templates/shop-isle/assets/js/vendor/smoothscroll.js
new file mode 100644 (file)
index 0000000..09bd2fa
--- /dev/null
@@ -0,0 +1,304 @@
+// SmoothScroll v0.9.9
+// Licensed under the terms of the MIT license.
+
+// People involved
+// - Balazs Galambosi: maintainer (CHANGELOG.txt)
+// - Patrick Brunner (patrickb1991@gmail.com)
+// - Michael Herf: ssc_pulse Algorithm
+
+function ssc_init() {
+    if (!document.body) return;
+    var e = document.body;
+    var t = document.documentElement;
+    var n = window.innerHeight;
+    var r = e.scrollHeight;
+    ssc_root = document.compatMode.indexOf("CSS") >= 0 ? t : e;
+    ssc_activeElement = e;
+    ssc_initdone = true;
+    if (top != self) {
+        ssc_frame = true
+    } else if (r > n && (e.offsetHeight <= n || t.offsetHeight <= n)) {
+        ssc_root.style.height = "auto";
+        if (ssc_root.offsetHeight <= n) {
+            var i = document.createElement("div");
+            i.style.clear = "both";
+            e.appendChild(i)
+        }
+    }
+    if (!ssc_fixedback) {
+        e.style.backgroundAttachment = "scroll";
+        t.style.backgroundAttachment = "scroll"
+    }
+    if (ssc_keyboardsupport) {
+        ssc_addEvent("keydown", ssc_keydown)
+    }
+}
+
+function ssc_scrollArray(e, t, n, r) {
+    r || (r = 1e3);
+    ssc_directionCheck(t, n);
+    ssc_que.push({
+        x: t,
+        y: n,
+        lastX: t < 0 ? .99 : -.99,
+        lastY: n < 0 ? .99 : -.99,
+        start: +(new Date)
+    });
+    if (ssc_pending) {
+        return
+    }
+    var i = function () {
+        var s = +(new Date);
+        var o = 0;
+        var u = 0;
+        for (var a = 0; a < ssc_que.length; a++) {
+            var f = ssc_que[a];
+            var l = s - f.start;
+            var c = l >= ssc_animtime;
+            var h = c ? 1 : l / ssc_animtime;
+            if (ssc_pulseAlgorithm) {
+                h = ssc_pulse(h)
+            }
+            var p = f.x * h - f.lastX >> 0;
+            var d = f.y * h - f.lastY >> 0;
+            o += p;
+            u += d;
+            f.lastX += p;
+            f.lastY += d;
+            if (c) {
+                ssc_que.splice(a, 1);
+                a--
+            }
+        }
+        if (t) {
+            var v = e.scrollLeft;
+            e.scrollLeft += o;
+            if (o && e.scrollLeft === v) {
+                t = 0
+            }
+        }
+        if (n) {
+            var m = e.scrollTop;
+            e.scrollTop += u;
+            if (u && e.scrollTop === m) {
+                n = 0
+            }
+        }
+        if (!t && !n) {
+            ssc_que = []
+        }
+        if (ssc_que.length) {
+            setTimeout(i, r / ssc_framerate + 1)
+        } else {
+            ssc_pending = false
+        }
+    };
+    setTimeout(i, 0);
+    ssc_pending = true
+}
+
+function ssc_wheel(e) {
+    if (!ssc_initdone) {
+        ssc_init()
+    }
+    var t = e.target;
+    var n = ssc_overflowingAncestor(t);
+    if (!n || e.defaultPrevented || ssc_isNodeName(ssc_activeElement, "embed") || ssc_isNodeName(t, "embed") && /\.pdf/i.test(t.src)) {
+        return true
+    }
+    var r = e.wheelDeltaX || 0;
+    var i = e.wheelDeltaY || 0;
+    if (!r && !i) {
+        i = e.wheelDelta || 0
+    }
+    if (Math.abs(r) > 1.2) {
+        r *= ssc_stepsize / 120
+    }
+    if (Math.abs(i) > 1.2) {
+        i *= ssc_stepsize / 120
+    }
+    ssc_scrollArray(n, -r, -i);
+    e.preventDefault()
+}
+
+function ssc_keydown(e) {
+    var t = e.target;
+    var n = e.ctrlKey || e.altKey || e.metaKey;
+    if (/input|textarea|embed/i.test(t.nodeName) || t.isContentEditable || e.defaultPrevented || n) {
+        return true
+    }
+    if (ssc_isNodeName(t, "button") && e.keyCode === ssc_key.spacebar) {
+        return true
+    }
+    var r, i = 0,
+        s = 0;
+    var o = ssc_overflowingAncestor(ssc_activeElement);
+    var u = o.clientHeight;
+    if (o == document.body) {
+        u = window.innerHeight
+    }
+    switch (e.keyCode) {
+    case ssc_key.up:
+        s = -ssc_arrowscroll;
+        break;
+    case ssc_key.down:
+        s = ssc_arrowscroll;
+        break;
+    case ssc_key.spacebar:
+        r = e.shiftKey ? 1 : -1;
+        s = -r * u * .9;
+        break;
+    case ssc_key.pageup:
+        s = -u * .9;
+        break;
+    case ssc_key.pagedown:
+        s = u * .9;
+        break;
+    case ssc_key.home:
+        s = -o.scrollTop;
+        break;
+    case ssc_key.end:
+        var a = o.scrollHeight - o.scrollTop - u;
+        s = a > 0 ? a + 10 : 0;
+        break;
+    case ssc_key.left:
+        i = -ssc_arrowscroll;
+        break;
+    case ssc_key.right:
+        i = ssc_arrowscroll;
+        break;
+    default:
+        return true
+    }
+    ssc_scrollArray(o, i, s);
+    e.preventDefault()
+}
+
+function ssc_mousedown(e) {
+    ssc_activeElement = e.target
+}
+
+function ssc_setCache(e, t) {
+    for (var n = e.length; n--;) ssc_cache[ssc_uniqueID(e[n])] = t;
+    return t
+}
+
+function ssc_overflowingAncestor(e) {
+    var t = [];
+    var n = ssc_root.scrollHeight;
+    do {
+        var r = ssc_cache[ssc_uniqueID(e)];
+        if (r) {
+            return ssc_setCache(t, r)
+        }
+        t.push(e);
+        if (n === e.scrollHeight) {
+            if (!ssc_frame || ssc_root.clientHeight + 10 < n) {
+                return ssc_setCache(t, document.body)
+            }
+        } else if (e.clientHeight + 10 < e.scrollHeight) {
+            overflow = getComputedStyle(e, "").getPropertyValue("overflow");
+            if (overflow === "scroll" || overflow === "auto") {
+                return ssc_setCache(t, e)
+            }
+        }
+    } while (e = e.parentNode)
+}
+
+function ssc_addEvent(e, t, n) {
+    window.addEventListener(e, t, n || false)
+}
+
+function ssc_removeEvent(e, t, n) {
+    window.removeEventListener(e, t, n || false)
+}
+
+function ssc_isNodeName(e, t) {
+    return e.nodeName.toLowerCase() === t.toLowerCase()
+}
+
+function ssc_directionCheck(e, t) {
+    e = e > 0 ? 1 : -1;
+    t = t > 0 ? 1 : -1;
+    if (ssc_direction.x !== e || ssc_direction.y !== t) {
+        ssc_direction.x = e;
+        ssc_direction.y = t;
+        ssc_que = []
+    }
+}
+
+function ssc_pulse_(e) {
+    var t, n, r;
+    e = e * ssc_pulseScale;
+    if (e < 1) {
+        t = e - (1 - Math.exp(-e))
+    } else {
+        n = Math.exp(-1);
+        e -= 1;
+        r = 1 - Math.exp(-e);
+        t = n + r * (1 - n)
+    }
+    return t * ssc_pulseNormalize
+}
+
+function ssc_pulse(e) {
+    if (e >= 1) return 1;
+    if (e <= 0) return 0;
+    if (ssc_pulseNormalize == 1) {
+        ssc_pulseNormalize /= ssc_pulse_(1)
+    }
+    return ssc_pulse_(e)
+}
+
+var ssc_framerate = 150;
+var ssc_animtime = 500;
+var ssc_stepsize = 150;
+var ssc_pulseAlgorithm = true;
+var ssc_pulseScale = 6;
+var ssc_pulseNormalize = 1;
+var ssc_keyboardsupport = true;
+var ssc_arrowscroll = 50;
+var ssc_frame = false;
+var ssc_direction = {
+    x: 0,
+    y: 0
+};
+
+var ssc_initdone = false;
+var ssc_fixedback = true;
+var ssc_root = document.documentElement;
+var ssc_activeElement;
+var ssc_key = {
+    left: 37,
+    up: 38,
+    right: 39,
+    down: 40,
+    spacebar: 32,
+    pageup: 33,
+    pagedown: 34,
+    end: 35,
+    home: 36
+};
+
+var ssc_que = [];
+var ssc_pending = false;
+var ssc_cache = {};
+
+setInterval(function () {
+    ssc_cache = {}
+}, 10 * 1e3);
+
+var ssc_uniqueID = function () {
+    var e = 0;
+    return function (t) {
+        return t.ssc_uniqueID || (t.ssc_uniqueID = e++)
+    }
+}();
+
+var ischrome = /chrome/.test(navigator.userAgent.toLowerCase());
+
+if (ischrome) {
+    ssc_addEvent("mousedown", ssc_mousedown);
+    ssc_addEvent("mousewheel", ssc_wheel);
+    ssc_addEvent("load", ssc_init)
+}
\ No newline at end of file
diff --git a/templates/shop-isle/class-tgm-plugin-activation.php b/templates/shop-isle/class-tgm-plugin-activation.php
new file mode 100644 (file)
index 0000000..b168144
--- /dev/null
@@ -0,0 +1,3760 @@
+<?php
+/**
+ * Plugin installation and activation for WordPress themes.
+ *
+ * Please note that this is a drop-in library for a theme or plugin.
+ * The authors of this library (Thomas, Gary and Juliette) are NOT responsible
+ * for the support of your plugin or theme. Please contact the plugin
+ * or theme author for support.
+ *
+ * @package   TGM-Plugin-Activation
+ * @version   2.6.1 for parent theme Shop Isle for publication on WordPress.org
+ * @link      http://tgmpluginactivation.com/
+ * @author    Thomas Griffin, Gary Jones, Juliette Reinders Folmer
+ * @copyright Copyright (c) 2011, Thomas Griffin
+ * @license   GPL-2.0+
+ */
+
+/*
+       Copyright 2011 Thomas Griffin (thomasgriffinmedia.com)
+
+       This program is free software; you can redistribute it and/or modify
+       it under the terms of the GNU General Public License, version 2, as
+       published by the Free Software Foundation.
+
+       This program is distributed in the hope that it will be useful,
+       but WITHOUT ANY WARRANTY; without even the implied warranty of
+       MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+       GNU General Public License for more details.
+
+       You should have received a copy of the GNU General Public License
+       along with this program; if not, write to the Free Software
+       Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
+*/
+
+if ( ! class_exists( 'TGM_Plugin_Activation' ) ) {
+
+       /**
+        * Automatic plugin installation and activation library.
+        *
+        * Creates a way to automatically install and activate plugins from within themes.
+        * The plugins can be either bundled, downloaded from the WordPress
+        * Plugin Repository or downloaded from another external source.
+        *
+        * @since 1.0.0
+        *
+        * @package TGM-Plugin-Activation
+        * @author  Thomas Griffin
+        * @author  Gary Jones
+        */
+       class TGM_Plugin_Activation {
+               /**
+                * TGMPA version number.
+                *
+                * @since 2.5.0
+                *
+                * @const string Version number.
+                */
+               const TGMPA_VERSION = '2.6.1';
+
+               /**
+                * Regular expression to test if a URL is a WP plugin repo URL.
+                *
+                * @const string Regex.
+                *
+                * @since 2.5.0
+                */
+               const WP_REPO_REGEX = '|^http[s]?://wordpress\.org/(?:extend/)?plugins/|';
+
+               /**
+                * Arbitrary regular expression to test if a string starts with a URL.
+                *
+                * @const string Regex.
+                *
+                * @since 2.5.0
+                */
+               const IS_URL_REGEX = '|^http[s]?://|';
+
+               /**
+                * Holds a copy of itself, so it can be referenced by the class name.
+                *
+                * @since 1.0.0
+                *
+                * @var TGM_Plugin_Activation
+                */
+               public static $instance;
+
+               /**
+                * Holds arrays of plugin details.
+                *
+                * @since 1.0.0
+                * @since 2.5.0 the array has the plugin slug as an associative key.
+                *
+                * @var array
+                */
+               public $plugins = array();
+
+               /**
+                * Holds arrays of plugin names to use to sort the plugins array.
+                *
+                * @since 2.5.0
+                *
+                * @var array
+                */
+               protected $sort_order = array();
+
+               /**
+                * Whether any plugins have the 'force_activation' setting set to true.
+                *
+                * @since 2.5.0
+                *
+                * @var bool
+                */
+               protected $has_forced_activation = false;
+
+               /**
+                * Whether any plugins have the 'force_deactivation' setting set to true.
+                *
+                * @since 2.5.0
+                *
+                * @var bool
+                */
+               protected $has_forced_deactivation = false;
+
+               /**
+                * Name of the unique ID to hash notices.
+                *
+                * @since 2.4.0
+                *
+                * @var string
+                */
+               public $id = 'tgmpa';
+
+               /**
+                * Name of the query-string argument for the admin page.
+                *
+                * @since 1.0.0
+                *
+                * @var string
+                */
+               protected $menu = 'tgmpa-install-plugins';
+
+               /**
+                * Parent menu file slug.
+                *
+                * @since 2.5.0
+                *
+                * @var string
+                */
+               public $parent_slug = 'themes.php';
+
+               /**
+                * Capability needed to view the plugin installation menu item.
+                *
+                * @since 2.5.0
+                *
+                * @var string
+                */
+               public $capability = 'edit_theme_options';
+
+               /**
+                * Default absolute path to folder containing bundled plugin zip files.
+                *
+                * @since 2.0.0
+                *
+                * @var string Absolute path prefix to zip file location for bundled plugins. Default is empty string.
+                */
+               public $default_path = '';
+
+               /**
+                * Flag to show admin notices or not.
+                *
+                * @since 2.1.0
+                *
+                * @var boolean
+                */
+               public $has_notices = true;
+
+               /**
+                * Flag to determine if the user can dismiss the notice nag.
+                *
+                * @since 2.4.0
+                *
+                * @var boolean
+                */
+               public $dismissable = true;
+
+               /**
+                * Message to be output above nag notice if dismissable is false.
+                *
+                * @since 2.4.0
+                *
+                * @var string
+                */
+               public $dismiss_msg = '';
+
+               /**
+                * Flag to set automatic activation of plugins. Off by default.
+                *
+                * @since 2.2.0
+                *
+                * @var boolean
+                */
+               public $is_automatic = false;
+
+               /**
+                * Optional message to display before the plugins table.
+                *
+                * @since 2.2.0
+                *
+                * @var string Message filtered by wp_kses_post(). Default is empty string.
+                */
+               public $message = '';
+
+               /**
+                * Holds configurable array of strings.
+                *
+                * Default values are added in the constructor.
+                *
+                * @since 2.0.0
+                *
+                * @var array
+                */
+               public $strings = array();
+
+               /**
+                * Holds the version of WordPress.
+                *
+                * @since 2.4.0
+                *
+                * @var int
+                */
+               public $wp_version;
+
+               /**
+                * Holds the hook name for the admin page.
+                *
+                * @since 2.5.0
+                *
+                * @var string
+                */
+               public $page_hook;
+
+               /**
+                * Adds a reference of this object to $instance, populates default strings,
+                * does the tgmpa_init action hook, and hooks in the interactions to init.
+                *
+                * {@internal This method should be `protected`, but as too many TGMPA implementations
+                * haven't upgraded beyond v2.3.6 yet, this gives backward compatibility issues.
+                * Reverted back to public for the time being.}}
+                *
+                * @since 1.0.0
+                *
+                * @see TGM_Plugin_Activation::init()
+                */
+               public function __construct() {
+                       // Set the current WordPress version.
+                       $this->wp_version = $GLOBALS['wp_version'];
+
+                       // Announce that the class is ready, and pass the object (for advanced use).
+                       do_action_ref_array( 'tgmpa_init', array( $this ) );
+
+
+
+                       // When the rest of WP has loaded, kick-start the rest of the class.
+                       add_action( 'init', array( $this, 'init' ) );
+               }
+
+               /**
+                * Magic method to (not) set protected properties from outside of this class.
+                *
+                * {@internal hackedihack... There is a serious bug in v2.3.2 - 2.3.6  where the `menu` property
+                * is being assigned rather than tested in a conditional, effectively rendering it useless.
+                * This 'hack' prevents this from happening.}}
+                *
+                * @see https://github.com/TGMPA/TGM-Plugin-Activation/blob/2.3.6/tgm-plugin-activation/class-tgm-plugin-activation.php#L1593
+                *
+                * @since 2.5.2
+                *
+                * @param string $name  Name of an inaccessible property.
+                * @param mixed  $value Value to assign to the property.
+                * @return void  Silently fail to set the property when this is tried from outside of this class context.
+                *               (Inside this class context, the __set() method if not used as there is direct access.)
+                */
+               public function __set( $name, $value ) {
+                       return;
+               }
+
+               /**
+                * Magic method to get the value of a protected property outside of this class context.
+                *
+                * @since 2.5.2
+                *
+                * @param string $name Name of an inaccessible property.
+                * @return mixed The property value.
+                */
+               public function __get( $name ) {
+                       return $this->{$name};
+               }
+
+               /**
+                * Initialise the interactions between this class and WordPress.
+                *
+                * Hooks in three new methods for the class: admin_menu, notices and styles.
+                *
+                * @since 2.0.0
+                *
+                * @see TGM_Plugin_Activation::admin_menu()
+                * @see TGM_Plugin_Activation::notices()
+                * @see TGM_Plugin_Activation::styles()
+                */
+               public function init() {
+                       /**
+                        * By default TGMPA only loads on the WP back-end and not in an Ajax call. Using this filter
+                        * you can overrule that behaviour.
+                        *
+                        * @since 2.5.0
+                        *
+                        * @param bool $load Whether or not TGMPA should load.
+                        *                   Defaults to the return of `is_admin() && ! defined( 'DOING_AJAX' )`.
+                        */
+                       if ( true !== apply_filters( 'tgmpa_load', ( is_admin() && ! defined( 'DOING_AJAX' ) ) ) ) {
+                               return;
+                       }
+
+                       // Load class strings.
+                       $this->strings = array(
+                               'page_title'                      => __( 'Install Required Plugins', 'shop-isle' ),
+                               'menu_title'                      => __( 'Install Plugins', 'shop-isle' ),
+                               /* translators: %s: plugin name. */
+                               'installing'                      => __( 'Installing Plugin: %s', 'shop-isle' ),
+                               /* translators: %s: plugin name. */
+                               'updating'                        => __( 'Updating Plugin: %s', 'shop-isle' ),
+                               'oops'                            => __( 'Something went wrong with the plugin API.', 'shop-isle' ),
+                               'notice_can_install_required'     => _n_noop(
+                               /* translators: 1: plugin name(s). */
+                                       'This theme requires the following plugin: %1$s.',
+                                       'This theme requires the following plugins: %1$s.',
+                                       'shop-isle'
+                               ),
+                               'notice_can_install_recommended'  => _n_noop(
+                               /* translators: 1: plugin name(s). */
+                                       'This theme recommends the following plugin: %1$s.',
+                                       'This theme recommends the following plugins: %1$s.',
+                                       'shop-isle'
+                               ),
+                               'notice_ask_to_update'            => _n_noop(
+                               /* translators: 1: plugin name(s). */
+                                       'The following plugin needs to be updated to its latest version to ensure maximum compatibility with this theme: %1$s.',
+                                       'The following plugins need to be updated to their latest version to ensure maximum compatibility with this theme: %1$s.',
+                                       'shop-isle'
+                               ),
+                               'notice_ask_to_update_maybe'      => _n_noop(
+                               /* translators: 1: plugin name(s). */
+                                       'There is an update available for: %1$s.',
+                                       'There are updates available for the following plugins: %1$s.',
+                                       'shop-isle'
+                               ),
+                               'notice_can_activate_required'    => _n_noop(
+                               /* translators: 1: plugin name(s). */
+                                       'The following required plugin is currently inactive: %1$s.',
+                                       'The following required plugins are currently inactive: %1$s.',
+                                       'shop-isle'
+                               ),
+                               'notice_can_activate_recommended' => _n_noop(
+                               /* translators: 1: plugin name(s). */
+                                       'The following recommended plugin is currently inactive: %1$s.',
+                                       'The following recommended plugins are currently inactive: %1$s.',
+                                       'shop-isle'
+                               ),
+                               'install_link'                    => _n_noop(
+                                       'Begin installing plugin',
+                                       'Begin installing plugins',
+                                       'shop-isle'
+                               ),
+                               'update_link'                     => _n_noop(
+                                       'Begin updating plugin',
+                                       'Begin updating plugins',
+                                       'shop-isle'
+                               ),
+                               'activate_link'                   => _n_noop(
+                                       'Begin activating plugin',
+                                       'Begin activating plugins',
+                                       'shop-isle'
+                               ),
+                               'return'                          => __( 'Return to Required Plugins Installer', 'shop-isle' ),
+                               'dashboard'                       => __( 'Return to the Dashboard', 'shop-isle' ),
+                               'plugin_activated'                => __( 'Plugin activated successfully.', 'shop-isle' ),
+                               'activated_successfully'          => __( 'The following plugin was activated successfully:', 'shop-isle' ),
+                               /* translators: 1: plugin name. */
+                               'plugin_already_active'           => __( 'No action taken. Plugin %1$s was already active.', 'shop-isle' ),
+                               /* translators: 1: plugin name. */
+                               'plugin_needs_higher_version'     => __( 'Plugin not activated. A higher version of %s is needed for this theme. Please update the plugin.', 'shop-isle' ),
+                               /* translators: 1: dashboard link. */
+                               'complete'                        => __( 'All plugins installed and activated successfully. %1$s', 'shop-isle' ),
+                               'dismiss'                         => __( 'Dismiss this notice', 'shop-isle' ),
+                               'notice_cannot_install_activate'  => __( 'There are one or more required or recommended plugins to install, update or activate.', 'shop-isle' ),
+                               'contact_admin'                   => __( 'Please contact the administrator of this site for help.', 'shop-isle' ),
+                       );
+
+                       do_action( 'tgmpa_register' );
+
+                       /* After this point, the plugins should be registered and the configuration set. */
+
+                       // Proceed only if we have plugins to handle.
+                       if ( empty( $this->plugins ) || ! is_array( $this->plugins ) ) {
+                               return;
+                       }
+
+                       // Set up the menu and notices if we still have outstanding actions.
+                       if ( true !== $this->is_tgmpa_complete() ) {
+                               // Sort the plugins.
+                               array_multisort( $this->sort_order, SORT_ASC, $this->plugins );
+
+                               add_action( 'admin_menu', array( $this, 'admin_menu' ) );
+                               add_action( 'admin_head', array( $this, 'dismiss' ) );
+
+                               // Prevent the normal links from showing underneath a single install/update page.
+                               add_filter( 'install_plugin_complete_actions', array( $this, 'actions' ) );
+                               add_filter( 'update_plugin_complete_actions', array( $this, 'actions' ) );
+
+                               if ( $this->has_notices ) {
+                                       add_action( 'admin_notices', array( $this, 'notices' ) );
+                                       add_action( 'admin_init', array( $this, 'admin_init' ), 1 );
+                                       add_action( 'admin_enqueue_scripts', array( $this, 'thickbox' ) );
+                               }
+                       }
+
+                       // If needed, filter plugin action links.
+                       add_action( 'load-plugins.php', array( $this, 'add_plugin_action_link_filters' ), 1 );
+
+                       // Make sure things get reset on switch theme.
+                       add_action( 'switch_theme', array( $this, 'flush_plugins_cache' ) );
+
+                       if ( $this->has_notices ) {
+                               add_action( 'switch_theme', array( $this, 'update_dismiss' ) );
+                       }
+
+                       // Setup the force activation hook.
+                       if ( true === $this->has_forced_activation ) {
+                               add_action( 'admin_init', array( $this, 'force_activation' ) );
+                       }
+
+                       // Setup the force deactivation hook.
+                       if ( true === $this->has_forced_deactivation ) {
+                               add_action( 'switch_theme', array( $this, 'force_deactivation' ) );
+                       }
+               }
+
+
+
+
+
+
+
+               /**
+                * Hook in plugin action link filters for the WP native plugins page.
+                *
+                * - Prevent activation of plugins which don't meet the minimum version requirements.
+                * - Prevent deactivation of force-activated plugins.
+                * - Add update notice if update available.
+                *
+                * @since 2.5.0
+                */
+               public function add_plugin_action_link_filters() {
+                       foreach ( $this->plugins as $slug => $plugin ) {
+                               if ( false === $this->can_plugin_activate( $slug ) ) {
+                                       add_filter( 'plugin_action_links_' . $plugin['file_path'], array( $this, 'filter_plugin_action_links_activate' ), 20 );
+                               }
+
+                               if ( true === $plugin['force_activation'] ) {
+                                       add_filter( 'plugin_action_links_' . $plugin['file_path'], array( $this, 'filter_plugin_action_links_deactivate' ), 20 );
+                               }
+
+                               if ( false !== $this->does_plugin_require_update( $slug ) ) {
+                                       add_filter( 'plugin_action_links_' . $plugin['file_path'], array( $this, 'filter_plugin_action_links_update' ), 20 );
+                               }
+                       }
+               }
+
+               /**
+                * Remove the 'Activate' link on the WP native plugins page if the plugin does not meet the
+                * minimum version requirements.
+                *
+                * @since 2.5.0
+                *
+                * @param array $actions Action links.
+                * @return array
+                */
+               public function filter_plugin_action_links_activate( $actions ) {
+                       unset( $actions['activate'] );
+
+                       return $actions;
+               }
+
+               /**
+                * Remove the 'Deactivate' link on the WP native plugins page if the plugin has been set to force activate.
+                *
+                * @since 2.5.0
+                *
+                * @param array $actions Action links.
+                * @return array
+                */
+               public function filter_plugin_action_links_deactivate( $actions ) {
+                       unset( $actions['deactivate'] );
+
+                       return $actions;
+               }
+
+               /**
+                * Add a 'Requires update' link on the WP native plugins page if the plugin does not meet the
+                * minimum version requirements.
+                *
+                * @since 2.5.0
+                *
+                * @param array $actions Action links.
+                * @return array
+                */
+               public function filter_plugin_action_links_update( $actions ) {
+                       $actions['update'] = sprintf(
+                               '<a href="%1$s" title="%2$s" class="edit">%3$s</a>',
+                               esc_url( $this->get_tgmpa_status_url( 'update' ) ),
+                               esc_attr__( 'This plugin needs to be updated to be compatible with your theme.', 'shop-isle' ),
+                               esc_html__( 'Update Required', 'shop-isle' )
+                       );
+
+                       return $actions;
+               }
+
+               /**
+                * Handles calls to show plugin information via links in the notices.
+                *
+                * We get the links in the admin notices to point to the TGMPA page, rather
+                * than the typical plugin-install.php file, so we can prepare everything
+                * beforehand.
+                *
+                * WP does not make it easy to show the plugin information in the thickbox -
+                * here we have to require a file that includes a function that does the
+                * main work of displaying it, enqueue some styles, set up some globals and
+                * finally call that function before exiting.
+                *
+                * Down right easy once you know how...
+                *
+                * Returns early if not the TGMPA page.
+                *
+                * @since 2.1.0
+                *
+                * @global string $tab Used as iframe div class names, helps with styling
+                * @global string $body_id Used as the iframe body ID, helps with styling
+                *
+                * @return null Returns early if not the TGMPA page.
+                */
+               public function admin_init() {
+                       if ( ! $this->is_tgmpa_page() ) {
+                               return;
+                       }
+
+                       if ( isset( $_REQUEST['tab'] ) && 'plugin-information' === $_REQUEST['tab'] ) {
+                               // Needed for install_plugin_information().
+                               require_once ABSPATH . 'wp-admin/includes/plugin-install.php';
+
+                               wp_enqueue_style( 'plugin-install' );
+
+                               global $tab, $body_id;
+                               $body_id = 'plugin-information';
+                               // @codingStandardsIgnoreStart
+                               $tab     = 'plugin-information';
+                               // @codingStandardsIgnoreEnd
+
+                               install_plugin_information();
+
+                               exit;
+                       }
+               }
+
+               /**
+                * Enqueue thickbox scripts/styles for plugin info.
+                *
+                * Thickbox is not automatically included on all admin pages, so we must
+                * manually enqueue it for those pages.
+                *
+                * Thickbox is only loaded if the user has not dismissed the admin
+                * notice or if there are any plugins left to install and activate.
+                *
+                * @since 2.1.0
+                */
+               public function thickbox() {
+                       if ( ! get_user_meta( get_current_user_id(), 'tgmpa_dismissed_notice_' . $this->id, true ) ) {
+                               add_thickbox();
+                       }
+               }
+
+               /**
+                * Adds submenu page if there are plugin actions to take.
+                *
+                * This method adds the submenu page letting users know that a required
+                * plugin needs to be installed.
+                *
+                * This page disappears once the plugin has been installed and activated.
+                *
+                * @since 1.0.0
+                *
+                * @see TGM_Plugin_Activation::init()
+                * @see TGM_Plugin_Activation::install_plugins_page()
+                *
+                * @return null Return early if user lacks capability to install a plugin.
+                */
+               public function admin_menu() {
+                       // Make sure privileges are correct to see the page.
+                       if ( ! current_user_can( 'install_plugins' ) ) {
+                               return;
+                       }
+
+                       $args = apply_filters(
+                               'tgmpa_admin_menu_args',
+                               array(
+                                       'parent_slug' => $this->parent_slug,                     // Parent Menu slug.
+                                       'page_title'  => $this->strings['page_title'],           // Page title.
+                                       'menu_title'  => $this->strings['menu_title'],           // Menu title.
+                                       'capability'  => $this->capability,                      // Capability.
+                                       'menu_slug'   => $this->menu,                            // Menu slug.
+                                       'function'    => array( $this, 'install_plugins_page' ), // Callback.
+                               )
+                       );
+
+                       $this->add_admin_menu( $args );
+               }
+
+               /**
+                * Add the menu item.
+                *
+                * {@internal IMPORTANT! If this function changes, review the regex in the custom TGMPA
+                * generator on the website.}}
+                *
+                * @since 2.5.0
+                *
+                * @param array $args Menu item configuration.
+                */
+               protected function add_admin_menu( array $args ) {
+                       $this->page_hook = add_theme_page( $args['page_title'], $args['menu_title'], $args['capability'], $args['menu_slug'], $args['function'] );
+               }
+
+               /**
+                * Echoes plugin installation form.
+                *
+                * This method is the callback for the admin_menu method function.
+                * This displays the admin page and form area where the user can select to install and activate the plugin.
+                * Aborts early if we're processing a plugin installation action.
+                *
+                * @since 1.0.0
+                *
+                * @return null Aborts early if we're processing a plugin installation action.
+                */
+               public function install_plugins_page() {
+                       // Store new instance of plugin table in object.
+                       $plugin_table = new TGMPA_List_Table;
+
+                       // Return early if processing a plugin installation action.
+                       if ( ( ( 'tgmpa-bulk-install' === $plugin_table->current_action() || 'tgmpa-bulk-update' === $plugin_table->current_action() ) && $plugin_table->process_bulk_actions() ) || $this->do_plugin_install() ) {
+                               return;
+                       }
+
+                       // Force refresh of available plugin information so we'll know about manual updates/deletes.
+                       wp_clean_plugins_cache( false );
+
+                       ?>
+                       <div class="tgmpa wrap">
+                               <h1><?php echo esc_html( get_admin_page_title() ); ?></h1>
+                               <?php $plugin_table->prepare_items(); ?>
+
+                               <?php
+                               if ( ! empty( $this->message ) && is_string( $this->message ) ) {
+                                       echo wp_kses_post( $this->message );
+                               }
+                               ?>
+                               <?php $plugin_table->views(); ?>
+
+                               <form id="tgmpa-plugins" action="" method="post">
+                                       <input type="hidden" name="tgmpa-page" value="<?php echo esc_attr( $this->menu ); ?>" />
+                                       <input type="hidden" name="plugin_status" value="<?php echo esc_attr( $plugin_table->view_context ); ?>" />
+                                       <?php $plugin_table->display(); ?>
+                               </form>
+                       </div>
+                       <?php
+               }
+
+               /**
+                * Installs, updates or activates a plugin depending on the action link clicked by the user.
+                *
+                * Checks the $_GET variable to see which actions have been
+                * passed and responds with the appropriate method.
+                *
+                * Uses WP_Filesystem to process and handle the plugin installation
+                * method.
+                *
+                * @since 1.0.0
+                *
+                * @uses WP_Filesystem
+                * @uses WP_Error
+                * @uses WP_Upgrader
+                * @uses Plugin_Upgrader
+                * @uses Plugin_Installer_Skin
+                * @uses Plugin_Upgrader_Skin
+                *
+                * @return boolean True on success, false on failure.
+                */
+               protected function do_plugin_install() {
+                       if ( empty( $_GET['plugin'] ) ) {
+                               return false;
+                       }
+
+                       // All plugin information will be stored in an array for processing.
+                       $slug = $this->sanitize_key( urldecode( $_GET['plugin'] ) );
+
+                       if ( ! isset( $this->plugins[ $slug ] ) ) {
+                               return false;
+                       }
+
+                       // Was an install or upgrade action link clicked?
+                       if ( ( isset( $_GET['tgmpa-install'] ) && 'install-plugin' === $_GET['tgmpa-install'] ) || ( isset( $_GET['tgmpa-update'] ) && 'update-plugin' === $_GET['tgmpa-update'] ) ) {
+
+                               $install_type = 'install';
+                               if ( isset( $_GET['tgmpa-update'] ) && 'update-plugin' === $_GET['tgmpa-update'] ) {
+                                       $install_type = 'update';
+                               }
+
+                               check_admin_referer( 'tgmpa-' . $install_type, 'tgmpa-nonce' );
+
+                               // Pass necessary information via URL if WP_Filesystem is needed.
+                               $url = wp_nonce_url(
+                                       add_query_arg(
+                                               array(
+                                                       'plugin'                 => urlencode( $slug ),
+                                                       'tgmpa-' . $install_type => $install_type . '-plugin',
+                                               ),
+                                               $this->get_tgmpa_url()
+                                       ),
+                                       'tgmpa-' . $install_type,
+                                       'tgmpa-nonce'
+                               );
+
+                               $method = ''; // Leave blank so WP_Filesystem can populate it as necessary.
+
+                               if ( false === ( $creds = request_filesystem_credentials( esc_url_raw( $url ), $method, false, false, array() ) ) ) {
+                                       return true;
+                               }
+
+                               if ( ! WP_Filesystem( $creds ) ) {
+                                       request_filesystem_credentials( esc_url_raw( $url ), $method, true, false, array() ); // Setup WP_Filesystem.
+                                       return true;
+                               }
+
+                               /* If we arrive here, we have the filesystem. */
+
+                               // Prep variables for Plugin_Installer_Skin class.
+                               $extra         = array();
+                               $extra['slug'] = $slug; // Needed for potentially renaming of directory name.
+                               $source        = $this->get_download_url( $slug );
+                               $api           = ( 'repo' === $this->plugins[ $slug ]['source_type'] ) ? $this->get_plugins_api( $slug ) : null;
+                               $api           = ( false !== $api ) ? $api : null;
+
+                               $url = add_query_arg(
+                                       array(
+                                               'action' => $install_type . '-plugin',
+                                               'plugin' => urlencode( $slug ),
+                                       ),
+                                       'update.php'
+                               );
+
+                               if ( ! class_exists( 'Plugin_Upgrader', false ) ) {
+                                       require_once ABSPATH . 'wp-admin/includes/class-wp-upgrader.php';
+                               }
+
+                               $title     = ( 'update' === $install_type ) ? $this->strings['updating'] : $this->strings['installing'];
+                               $skin_args = array(
+                                       'type'   => ( 'bundled' !== $this->plugins[ $slug ]['source_type'] ) ? 'web' : 'upload',
+                                       'title'  => sprintf( $title, $this->plugins[ $slug ]['name'] ),
+                                       'url'    => esc_url_raw( $url ),
+                                       'nonce'  => $install_type . '-plugin_' . $slug,
+                                       'plugin' => '',
+                                       'api'    => $api,
+                                       'extra'  => $extra,
+                               );
+                               unset( $title );
+
+                               if ( 'update' === $install_type ) {
+                                       $skin_args['plugin'] = $this->plugins[ $slug ]['file_path'];
+                                       $skin                = new Plugin_Upgrader_Skin( $skin_args );
+                               } else {
+                                       $skin = new Plugin_Installer_Skin( $skin_args );
+                               }
+
+                               // Create a new instance of Plugin_Upgrader.
+                               $upgrader = new Plugin_Upgrader( $skin );
+
+                               // Perform the action and install the plugin from the $source urldecode().
+                               add_filter( 'upgrader_source_selection', array( $this, 'maybe_adjust_source_dir' ), 1, 3 );
+
+                               if ( 'update' === $install_type ) {
+                                       // Inject our info into the update transient.
+                                       $to_inject                    = array( $slug => $this->plugins[ $slug ] );
+                                       $to_inject[ $slug ]['source'] = $source;
+                                       $this->inject_update_info( $to_inject );
+
+                                       $upgrader->upgrade( $this->plugins[ $slug ]['file_path'] );
+                               } else {
+                                       $upgrader->install( $source );
+                               }
+
+                               remove_filter( 'upgrader_source_selection', array( $this, 'maybe_adjust_source_dir' ), 1 );
+
+                               // Make sure we have the correct file path now the plugin is installed/updated.
+                               $this->populate_file_path( $slug );
+
+                               // Only activate plugins if the config option is set to true and the plugin isn't
+                               // already active (upgrade).
+                               if ( $this->is_automatic && ! $this->is_plugin_active( $slug ) ) {
+                                       $plugin_activate = $upgrader->plugin_info(); // Grab the plugin info from the Plugin_Upgrader method.
+                                       if ( false === $this->activate_single_plugin( $plugin_activate, $slug, true ) ) {
+                                               return true; // Finish execution of the function early as we encountered an error.
+                                       }
+                               }
+
+                               $this->show_tgmpa_version();
+
+                               // Display message based on if all plugins are now active or not.
+                               if ( $this->is_tgmpa_complete() ) {
+                                       echo '<p>', sprintf( esc_html( $this->strings['complete'] ), '<a href="' . esc_url( self_admin_url() ) . '">' . esc_html__( 'Return to the Dashboard', 'shop-isle' ) . '</a>' ), '</p>';
+                                       echo '<style type="text/css">#adminmenu .wp-submenu li.current { display: none !important; }</style>';
+                               } else {
+                                       echo '<p><a href="', esc_url( $this->get_tgmpa_url() ), '" target="_parent">', esc_html( $this->strings['return'] ), '</a></p>';
+                               }
+
+                               return true;
+                       } elseif ( isset( $this->plugins[ $slug ]['file_path'], $_GET['tgmpa-activate'] ) && 'activate-plugin' === $_GET['tgmpa-activate'] ) {
+                               // Activate action link was clicked.
+                               check_admin_referer( 'tgmpa-activate', 'tgmpa-nonce' );
+
+                               if ( false === $this->activate_single_plugin( $this->plugins[ $slug ]['file_path'], $slug ) ) {
+                                       return true; // Finish execution of the function early as we encountered an error.
+                               }
+                       }
+
+                       return false;
+               }
+
+               /**
+                * Inject information into the 'update_plugins' site transient as WP checks that before running an update.
+                *
+                * @since 2.5.0
+                *
+                * @param array $plugins The plugin information for the plugins which are to be updated.
+                */
+               public function inject_update_info( $plugins ) {
+                       $repo_updates = get_site_transient( 'update_plugins' );
+
+                       if ( ! is_object( $repo_updates ) ) {
+                               $repo_updates = new stdClass;
+                       }
+
+                       foreach ( $plugins as $slug => $plugin ) {
+                               $file_path = $plugin['file_path'];
+
+                               if ( empty( $repo_updates->response[ $file_path ] ) ) {
+                                       $repo_updates->response[ $file_path ] = new stdClass;
+                               }
+
+                               // We only really need to set package, but let's do all we can in case WP changes something.
+                               $repo_updates->response[ $file_path ]->slug        = $slug;
+                               $repo_updates->response[ $file_path ]->plugin      = $file_path;
+                               $repo_updates->response[ $file_path ]->new_version = $plugin['version'];
+                               $repo_updates->response[ $file_path ]->package     = $plugin['source'];
+                               if ( empty( $repo_updates->response[ $file_path ]->url ) && ! empty( $plugin['external_url'] ) ) {
+                                       $repo_updates->response[ $file_path ]->url = $plugin['external_url'];
+                               }
+                       }
+
+                       set_site_transient( 'update_plugins', $repo_updates );
+               }
+
+               /**
+                * Adjust the plugin directory name if necessary.
+                *
+                * The final destination directory of a plugin is based on the subdirectory name found in the
+                * (un)zipped source. In some cases - most notably GitHub repository plugin downloads -, this
+                * subdirectory name is not the same as the expected slug and the plugin will not be recognized
+                * as installed. This is fixed by adjusting the temporary unzipped source subdirectory name to
+                * the expected plugin slug.
+                *
+                * @since 2.5.0
+                *
+                * @param string       $source        Path to upgrade/zip-file-name.tmp/subdirectory/.
+                * @param string       $remote_source Path to upgrade/zip-file-name.tmp.
+                * @param \WP_Upgrader $upgrader      Instance of the upgrader which installs the plugin.
+                * @return string $source
+                */
+               public function maybe_adjust_source_dir( $source, $remote_source, $upgrader ) {
+                       if ( ! $this->is_tgmpa_page() || ! is_object( $GLOBALS['wp_filesystem'] ) ) {
+                               return $source;
+                       }
+
+                       // Check for single file plugins.
+                       $source_files = array_keys( $GLOBALS['wp_filesystem']->dirlist( $remote_source ) );
+                       if ( 1 === count( $source_files ) && false === $GLOBALS['wp_filesystem']->is_dir( $source ) ) {
+                               return $source;
+                       }
+
+                       // Multi-file plugin, let's see if the directory is correctly named.
+                       $desired_slug = '';
+
+                       // Figure out what the slug is supposed to be.
+                       if ( false === $upgrader->bulk && ! empty( $upgrader->skin->options['extra']['slug'] ) ) {
+                               $desired_slug = $upgrader->skin->options['extra']['slug'];
+                       } else {
+                               // Bulk installer contains less info, so fall back on the info registered here.
+                               foreach ( $this->plugins as $slug => $plugin ) {
+                                       if ( ! empty( $upgrader->skin->plugin_names[ $upgrader->skin->i ] ) && $plugin['name'] === $upgrader->skin->plugin_names[ $upgrader->skin->i ] ) {
+                                               $desired_slug = $slug;
+                                               break;
+                                       }
+                               }
+                               unset( $slug, $plugin );
+                       }
+
+                       if ( ! empty( $desired_slug ) ) {
+                               $subdir_name = untrailingslashit( str_replace( trailingslashit( $remote_source ), '', $source ) );
+
+                               if ( ! empty( $subdir_name ) && $subdir_name !== $desired_slug ) {
+                                       $from_path = untrailingslashit( $source );
+                                       $to_path   = trailingslashit( $remote_source ) . $desired_slug;
+
+                                       if ( true === $GLOBALS['wp_filesystem']->move( $from_path, $to_path ) ) {
+                                               return trailingslashit( $to_path );
+                                       } else {
+                                               return new WP_Error( 'rename_failed', esc_html__( 'The remote plugin package does not contain a folder with the desired slug and renaming did not work.', 'shop-isle' ) . ' ' . esc_html__( 'Please contact the plugin provider and ask them to package their plugin according to the WordPress guidelines.', 'shop-isle' ), array( 'found' => $subdir_name, 'expected' => $desired_slug ) );
+                                       }
+                               } elseif ( empty( $subdir_name ) ) {
+                                       return new WP_Error( 'packaged_wrong', esc_html__( 'The remote plugin package consists of more than one file, but the files are not packaged in a folder.', 'shop-isle' ) . ' ' . esc_html__( 'Please contact the plugin provider and ask them to package their plugin according to the WordPress guidelines.', 'shop-isle' ), array( 'found' => $subdir_name, 'expected' => $desired_slug ) );
+                               }
+                       }
+
+                       return $source;
+               }
+
+               /**
+                * Activate a single plugin and send feedback about the result to the screen.
+                *
+                * @since 2.5.0
+                *
+                * @param string $file_path Path within wp-plugins/ to main plugin file.
+                * @param string $slug      Plugin slug.
+                * @param bool   $automatic Whether this is an automatic activation after an install. Defaults to false.
+                *                          This determines the styling of the output messages.
+                * @return bool False if an error was encountered, true otherwise.
+                */
+               protected function activate_single_plugin( $file_path, $slug, $automatic = false ) {
+                       if ( $this->can_plugin_activate( $slug ) ) {
+                               $activate = activate_plugin( $file_path );
+
+                               if ( is_wp_error( $activate ) ) {
+                                       echo '<div id="message" class="error"><p>', wp_kses_post( $activate->get_error_message() ), '</p></div>',
+                                       '<p><a href="', esc_url( $this->get_tgmpa_url() ), '" target="_parent">', esc_html( $this->strings['return'] ), '</a></p>';
+
+                                       return false; // End it here if there is an error with activation.
+                               } else {
+                                       if ( ! $automatic ) {
+                                               // Make sure message doesn't display again if bulk activation is performed
+                                               // immediately after a single activation.
+                                               if ( ! isset( $_POST['action'] ) ) { // WPCS: CSRF OK.
+                                                       echo '<div id="message" class="updated"><p>', esc_html( $this->strings['activated_successfully'] ), ' <strong>', esc_html( $this->plugins[ $slug ]['name'] ), '.</strong></p></div>';
+                                               }
+                                       } else {
+                                               // Simpler message layout for use on the plugin install page.
+                                               echo '<p>', esc_html( $this->strings['plugin_activated'] ), '</p>';
+                                       }
+                               }
+                       } elseif ( $this->is_plugin_active( $slug ) ) {
+                               // No simpler message format provided as this message should never be encountered
+                               // on the plugin install page.
+                               echo '<div id="message" class="error"><p>',
+                               sprintf(
+                                       esc_html( $this->strings['plugin_already_active'] ),
+                                       '<strong>' . esc_html( $this->plugins[ $slug ]['name'] ) . '</strong>'
+                               ),
+                               '</p></div>';
+                       } elseif ( $this->does_plugin_require_update( $slug ) ) {
+                               if ( ! $automatic ) {
+                                       // Make sure message doesn't display again if bulk activation is performed
+                                       // immediately after a single activation.
+                                       if ( ! isset( $_POST['action'] ) ) { // WPCS: CSRF OK.
+                                               echo '<div id="message" class="error"><p>',
+                                               sprintf(
+                                                       esc_html( $this->strings['plugin_needs_higher_version'] ),
+                                                       '<strong>' . esc_html( $this->plugins[ $slug ]['name'] ) . '</strong>'
+                                               ),
+                                               '</p></div>';
+                                       }
+                               } else {
+                                       // Simpler message layout for use on the plugin install page.
+                                       echo '<p>', sprintf( esc_html( $this->strings['plugin_needs_higher_version'] ), esc_html( $this->plugins[ $slug ]['name'] ) ), '</p>';
+                               }
+                       }
+
+                       return true;
+               }
+
+               /**
+                * Echoes required plugin notice.
+                *
+                * Outputs a message telling users that a specific plugin is required for
+                * their theme. If appropriate, it includes a link to the form page where
+                * users can install and activate the plugin.
+                *
+                * Returns early if we're on the Install page.
+                *
+                * @since 1.0.0
+                *
+                * @global object $current_screen
+                *
+                * @return null Returns early if we're on the Install page.
+                */
+               public function notices() {
+                       // Remove nag on the install page / Return early if the nag message has been dismissed or user < author.
+                       if ( ( $this->is_tgmpa_page() || $this->is_core_update_page() ) || get_user_meta( get_current_user_id(), 'tgmpa_dismissed_notice_' . $this->id, true ) || ! current_user_can( apply_filters( 'tgmpa_show_admin_notice_capability', 'publish_posts' ) ) ) {
+                               return;
+                       }
+
+                       // Store for the plugin slugs by message type.
+                       $message = array();
+
+                       // Initialize counters used to determine plurality of action link texts.
+                       $install_link_count          = 0;
+                       $update_link_count           = 0;
+                       $activate_link_count         = 0;
+                       $total_required_action_count = 0;
+
+                       foreach ( $this->plugins as $slug => $plugin ) {
+                               if ( $this->is_plugin_active( $slug ) && false === $this->does_plugin_have_update( $slug ) ) {
+                                       continue;
+                               }
+
+                               if ( ! $this->is_plugin_installed( $slug ) ) {
+                                       if ( current_user_can( 'install_plugins' ) ) {
+                                               $install_link_count++;
+
+                                               if ( true === $plugin['required'] ) {
+                                                       $message['notice_can_install_required'][] = $slug;
+                                               } else {
+                                                       $message['notice_can_install_recommended'][] = $slug;
+                                               }
+                                       }
+                                       if ( true === $plugin['required'] ) {
+                                               $total_required_action_count++;
+                                       }
+                               } else {
+                                       if ( ! $this->is_plugin_active( $slug ) && $this->can_plugin_activate( $slug ) ) {
+                                               if ( current_user_can( 'activate_plugins' ) ) {
+                                                       $activate_link_count++;
+
+                                                       if ( true === $plugin['required'] ) {
+                                                               $message['notice_can_activate_required'][] = $slug;
+                                                       } else {
+                                                               $message['notice_can_activate_recommended'][] = $slug;
+                                                       }
+                                               }
+                                               if ( true === $plugin['required'] ) {
+                                                       $total_required_action_count++;
+                                               }
+                                       }
+
+                                       if ( $this->does_plugin_require_update( $slug ) || false !== $this->does_plugin_have_update( $slug ) ) {
+
+                                               if ( current_user_can( 'update_plugins' ) ) {
+                                                       $update_link_count++;
+
+                                                       if ( $this->does_plugin_require_update( $slug ) ) {
+                                                               $message['notice_ask_to_update'][] = $slug;
+                                                       } elseif ( false !== $this->does_plugin_have_update( $slug ) ) {
+                                                               $message['notice_ask_to_update_maybe'][] = $slug;
+                                                       }
+                                               }
+                                               if ( true === $plugin['required'] ) {
+                                                       $total_required_action_count++;
+                                               }
+                                       }
+                               }
+                       }
+                       unset( $slug, $plugin );
+
+                       // If we have notices to display, we move forward.
+                       if ( ! empty( $message ) || $total_required_action_count > 0 ) {
+                               krsort( $message ); // Sort messages.
+                               $rendered = '';
+
+                               // As add_settings_error() wraps the final message in a <p> and as the final message can't be
+                               // filtered, using <p>'s in our html would render invalid html output.
+                               $line_template = '<span style="display: block; margin: 0.5em 0.5em 0 0; clear: both;">%s</span>' . "\n";
+
+                               if ( ! current_user_can( 'activate_plugins' ) && ! current_user_can( 'install_plugins' ) && ! current_user_can( 'update_plugins' ) ) {
+                                       $rendered  = esc_html( $this->strings['notice_cannot_install_activate'] ) . ' ' . esc_html( $this->strings['contact_admin'] );
+                                       $rendered .= $this->create_user_action_links_for_notice( 0, 0, 0, $line_template );
+                               } else {
+
+                                       // If dismissable is false and a message is set, output it now.
+                                       if ( ! $this->dismissable && ! empty( $this->dismiss_msg ) ) {
+                                               $rendered .= sprintf( $line_template, wp_kses_post( $this->dismiss_msg ) );
+                                       }
+
+                                       // Render the individual message lines for the notice.
+                                       foreach ( $message as $type => $plugin_group ) {
+                                               $linked_plugins = array();
+
+                                               // Get the external info link for a plugin if one is available.
+                                               foreach ( $plugin_group as $plugin_slug ) {
+                                                       $linked_plugins[] = $this->get_info_link( $plugin_slug );
+                                               }
+                                               unset( $plugin_slug );
+
+                                               $count          = count( $plugin_group );
+                                               $linked_plugins = array_map( array( 'TGMPA_Utils', 'wrap_in_em' ), $linked_plugins );
+                                               $last_plugin    = array_pop( $linked_plugins ); // Pop off last name to prep for readability.
+                                               $imploded       = empty( $linked_plugins ) ? $last_plugin : ( implode( ', ', $linked_plugins ) . ' ' . esc_html_x( 'and', 'plugin A *and* plugin B', 'shop-isle' ) . ' ' . $last_plugin );
+
+                                               $rendered .= sprintf(
+                                                       $line_template,
+                                                       sprintf(
+                                                               translate_nooped_plural( $this->strings[ $type ], $count, 'shop-isle' ),
+                                                               $imploded,
+                                                               $count
+                                                       )
+                                               );
+
+                                       }
+                                       unset( $type, $plugin_group, $linked_plugins, $count, $last_plugin, $imploded );
+
+                                       $rendered .= $this->create_user_action_links_for_notice( $install_link_count, $update_link_count, $activate_link_count, $line_template );
+                               }
+
+                               // Register the nag messages and prepare them to be processed.
+                               add_settings_error( 'tgmpa', 'tgmpa', $rendered, $this->get_admin_notice_class() );
+                       }
+
+                       // Admin options pages already output settings_errors, so this is to avoid duplication.
+                       if ( 'options-general' !== $GLOBALS['current_screen']->parent_base ) {
+                               $this->display_settings_errors();
+                       }
+               }
+
+               /**
+                * Generate the user action links for the admin notice.
+                *
+                * @since 2.6.0
+                *
+                * @param int $install_count  Number of plugins to install.
+                * @param int $update_count   Number of plugins to update.
+                * @param int $activate_count Number of plugins to activate.
+                * @param int $line_template  Template for the HTML tag to output a line.
+                * @return string Action links.
+                */
+               protected function create_user_action_links_for_notice( $install_count, $update_count, $activate_count, $line_template ) {
+                       // Setup action links.
+                       $action_links = array(
+                               'install'  => '',
+                               'update'   => '',
+                               'activate' => '',
+                               'dismiss'  => $this->dismissable ? '<a href="' . esc_url( wp_nonce_url( add_query_arg( 'tgmpa-dismiss', 'dismiss_admin_notices' ), 'tgmpa-dismiss-' . get_current_user_id() ) ) . '" class="dismiss-notice" target="_parent">' . esc_html( $this->strings['dismiss'] ) . '</a>' : '',
+                       );
+
+                       $link_template = '<a href="%2$s">%1$s</a>';
+
+                       if ( current_user_can( 'install_plugins' ) ) {
+                               if ( $install_count > 0 ) {
+                                       $action_links['install'] = sprintf(
+                                               $link_template,
+                                               translate_nooped_plural( $this->strings['install_link'], $install_count, 'shop-isle' ),
+                                               esc_url( $this->get_tgmpa_status_url( 'install' ) )
+                                       );
+                               }
+                               if ( $update_count > 0 ) {
+                                       $action_links['update'] = sprintf(
+                                               $link_template,
+                                               translate_nooped_plural( $this->strings['update_link'], $update_count, 'shop-isle' ),
+                                               esc_url( $this->get_tgmpa_status_url( 'update' ) )
+                                       );
+                               }
+                       }
+
+                       if ( current_user_can( 'activate_plugins' ) && $activate_count > 0 ) {
+                               $action_links['activate'] = sprintf(
+                                       $link_template,
+                                       translate_nooped_plural( $this->strings['activate_link'], $activate_count, 'shop-isle' ),
+                                       esc_url( $this->get_tgmpa_status_url( 'activate' ) )
+                               );
+                       }
+
+                       $action_links = apply_filters( 'tgmpa_notice_action_links', $action_links );
+
+                       $action_links = array_filter( (array) $action_links ); // Remove any empty array items.
+
+                       if ( ! empty( $action_links ) ) {
+                               $action_links = sprintf( $line_template, implode( ' | ', $action_links ) );
+                               return apply_filters( 'tgmpa_notice_rendered_action_links', $action_links );
+                       } else {
+                               return '';
+                       }
+               }
+
+               /**
+                * Get admin notice class.
+                *
+                * Work around all the changes to the various admin notice classes between WP 4.4 and 3.7
+                * (lowest supported version by TGMPA).
+                *
+                * @since 2.6.0
+                *
+                * @return string
+                */
+               protected function get_admin_notice_class() {
+                       if ( ! empty( $this->strings['nag_type'] ) ) {
+                               return sanitize_html_class( strtolower( $this->strings['nag_type'] ) );
+                       } else {
+                               if ( version_compare( $this->wp_version, '4.2', '>=' ) ) {
+                                       return 'notice-warning';
+                               } elseif ( version_compare( $this->wp_version, '4.1', '>=' ) ) {
+                                       return 'notice';
+                               } else {
+                                       return 'updated';
+                               }
+                       }
+               }
+
+               /**
+                * Display settings errors and remove those which have been displayed to avoid duplicate messages showing
+                *
+                * @since 2.5.0
+                */
+               protected function display_settings_errors() {
+                       global $wp_settings_errors;
+
+                       settings_errors( 'tgmpa' );
+
+                       foreach ( (array) $wp_settings_errors as $key => $details ) {
+                               if ( 'tgmpa' === $details['setting'] ) {
+                                       unset( $wp_settings_errors[ $key ] );
+                                       break;
+                               }
+                       }
+               }
+
+               /**
+                * Register dismissal of admin notices.
+                *
+                * Acts on the dismiss link in the admin nag messages.
+                * If clicked, the admin notice disappears and will no longer be visible to this user.
+                *
+                * @since 2.1.0
+                */
+               public function dismiss() {
+                       if ( isset( $_GET['tgmpa-dismiss'] ) && check_admin_referer( 'tgmpa-dismiss-' . get_current_user_id() ) ) {
+                               update_user_meta( get_current_user_id(), 'tgmpa_dismissed_notice_' . $this->id, 1 );
+                       }
+               }
+
+               /**
+                * Add individual plugin to our collection of plugins.
+                *
+                * If the required keys are not set or the plugin has already
+                * been registered, the plugin is not added.
+                *
+                * @since 2.0.0
+                *
+                * @param array|null $plugin Array of plugin arguments or null if invalid argument.
+                * @return null Return early if incorrect argument.
+                */
+               public function register( $plugin ) {
+                       if ( empty( $plugin['slug'] ) || empty( $plugin['name'] ) ) {
+                               return;
+                       }
+
+                       if ( empty( $plugin['slug'] ) || ! is_string( $plugin['slug'] ) || isset( $this->plugins[ $plugin['slug'] ] ) ) {
+                               return;
+                       }
+
+                       $defaults = array(
+                               'name'               => '',      // String
+                               'slug'               => '',      // String
+                               'source'             => 'repo',  // String
+                               'required'           => false,   // Boolean
+                               'version'            => '',      // String
+                               'force_activation'   => false,   // Boolean
+                               'force_deactivation' => false,   // Boolean
+                               'external_url'       => '',      // String
+                               'is_callable'        => '',      // String|Array.
+                       );
+
+                       // Prepare the received data.
+                       $plugin = wp_parse_args( $plugin, $defaults );
+
+                       // Standardize the received slug.
+                       $plugin['slug'] = $this->sanitize_key( $plugin['slug'] );
+
+                       // Forgive users for using string versions of booleans or floats for version number.
+                       $plugin['version']            = (string) $plugin['version'];
+                       $plugin['source']             = empty( $plugin['source'] ) ? 'repo' : $plugin['source'];
+                       $plugin['required']           = TGMPA_Utils::validate_bool( $plugin['required'] );
+                       $plugin['force_activation']   = TGMPA_Utils::validate_bool( $plugin['force_activation'] );
+                       $plugin['force_deactivation'] = TGMPA_Utils::validate_bool( $plugin['force_deactivation'] );
+
+                       // Enrich the received data.
+                       $plugin['file_path']   = $this->_get_plugin_basename_from_slug( $plugin['slug'] );
+                       $plugin['source_type'] = $this->get_plugin_source_type( $plugin['source'] );
+
+                       // Set the class properties.
+                       $this->plugins[ $plugin['slug'] ]    = $plugin;
+                       $this->sort_order[ $plugin['slug'] ] = $plugin['name'];
+
+                       // Should we add the force activation hook ?
+                       if ( true === $plugin['force_activation'] ) {
+                               $this->has_forced_activation = true;
+                       }
+
+                       // Should we add the force deactivation hook ?
+                       if ( true === $plugin['force_deactivation'] ) {
+                               $this->has_forced_deactivation = true;
+                       }
+               }
+
+               /**
+                * Determine what type of source the plugin comes from.
+                *
+                * @since 2.5.0
+                *
+                * @param string $source The source of the plugin as provided, either empty (= WP repo), a file path
+                *                       (= bundled) or an external URL.
+                * @return string 'repo', 'external', or 'bundled'
+                */
+               protected function get_plugin_source_type( $source ) {
+                       if ( 'repo' === $source || preg_match( self::WP_REPO_REGEX, $source ) ) {
+                               return 'repo';
+                       } elseif ( preg_match( self::IS_URL_REGEX, $source ) ) {
+                               return 'external';
+                       } else {
+                               return 'bundled';
+                       }
+               }
+
+               /**
+                * Sanitizes a string key.
+                *
+                * Near duplicate of WP Core `sanitize_key()`. The difference is that uppercase characters *are*
+                * allowed, so as not to break upgrade paths from non-standard bundled plugins using uppercase
+                * characters in the plugin directory path/slug. Silly them.
+                *
+                * @see https://developer.wordpress.org/reference/hooks/sanitize_key/
+                *
+                * @since 2.5.0
+                *
+                * @param string $key String key.
+                * @return string Sanitized key
+                */
+               public function sanitize_key( $key ) {
+                       $raw_key = $key;
+                       $key     = preg_replace( '`[^A-Za-z0-9_-]`', '', $key );
+
+                       /**
+                        * Filter a sanitized key string.
+                        *
+                        * @since 2.5.0
+                        *
+                        * @param string $key     Sanitized key.
+                        * @param string $raw_key The key prior to sanitization.
+                        */
+                       return apply_filters( 'tgmpa_sanitize_key', $key, $raw_key );
+               }
+
+               /**
+                * Amend default configuration settings.
+                *
+                * @since 2.0.0
+                *
+                * @param array $config Array of config options to pass as class properties.
+                */
+               public function config( $config ) {
+                       $keys = array(
+                               'id',
+                               'default_path',
+                               'has_notices',
+                               'dismissable',
+                               'dismiss_msg',
+                               'menu',
+                               'parent_slug',
+                               'capability',
+                               'is_automatic',
+                               'message',
+                               'strings',
+                       );
+
+                       foreach ( $keys as $key ) {
+                               if ( isset( $config[ $key ] ) ) {
+                                       if ( is_array( $config[ $key ] ) ) {
+                                               $this->$key = array_merge( $this->$key, $config[ $key ] );
+                                       } else {
+                                               $this->$key = $config[ $key ];
+                                       }
+                               }
+                       }
+               }
+
+               /**
+                * Amend action link after plugin installation.
+                *
+                * @since 2.0.0
+                *
+                * @param array $install_actions Existing array of actions.
+                * @return false|array Amended array of actions.
+                */
+               public function actions( $install_actions ) {
+                       // Remove action links on the TGMPA install page.
+                       if ( $this->is_tgmpa_page() ) {
+                               return false;
+                       }
+
+                       return $install_actions;
+               }
+
+               /**
+                * Flushes the plugins cache on theme switch to prevent stale entries
+                * from remaining in the plugin table.
+                *
+                * @since 2.4.0
+                *
+                * @param bool $clear_update_cache Optional. Whether to clear the Plugin updates cache.
+                *                                 Parameter added in v2.5.0.
+                */
+               public function flush_plugins_cache( $clear_update_cache = true ) {
+                       wp_clean_plugins_cache( $clear_update_cache );
+               }
+
+               /**
+                * Set file_path key for each installed plugin.
+                *
+                * @since 2.1.0
+                *
+                * @param string $plugin_slug Optional. If set, only (re-)populates the file path for that specific plugin.
+                *                            Parameter added in v2.5.0.
+                */
+               public function populate_file_path( $plugin_slug = '' ) {
+                       if ( ! empty( $plugin_slug ) && is_string( $plugin_slug ) && isset( $this->plugins[ $plugin_slug ] ) ) {
+                               $this->plugins[ $plugin_slug ]['file_path'] = $this->_get_plugin_basename_from_slug( $plugin_slug );
+                       } else {
+                               // Add file_path key for all plugins.
+                               foreach ( $this->plugins as $slug => $values ) {
+                                       $this->plugins[ $slug ]['file_path'] = $this->_get_plugin_basename_from_slug( $slug );
+                               }
+                       }
+               }
+
+               /**
+                * Helper function to extract the file path of the plugin file from the
+                * plugin slug, if the plugin is installed.
+                *
+                * @since 2.0.0
+                *
+                * @param string $slug Plugin slug (typically folder name) as provided by the developer.
+                * @return string Either file path for plugin if installed, or just the plugin slug.
+                */
+               protected function _get_plugin_basename_from_slug( $slug ) {
+                       $keys = array_keys( $this->get_plugins() );
+
+                       foreach ( $keys as $key ) {
+                               if ( preg_match( '|^' . $slug . '/|', $key ) ) {
+                                       return $key;
+                               }
+                       }
+
+                       return $slug;
+               }
+
+               /**
+                * Retrieve plugin data, given the plugin name.
+                *
+                * Loops through the registered plugins looking for $name. If it finds it,
+                * it returns the $data from that plugin. Otherwise, returns false.
+                *
+                * @since 2.1.0
+                *
+                * @param string $name Name of the plugin, as it was registered.
+                * @param string $data Optional. Array key of plugin data to return. Default is slug.
+                * @return string|boolean Plugin slug if found, false otherwise.
+                */
+               public function _get_plugin_data_from_name( $name, $data = 'slug' ) {
+                       foreach ( $this->plugins as $values ) {
+                               if ( $name === $values['name'] && isset( $values[ $data ] ) ) {
+                                       return $values[ $data ];
+                               }
+                       }
+
+                       return false;
+               }
+
+               /**
+                * Retrieve the download URL for a package.
+                *
+                * @since 2.5.0
+                *
+                * @param string $slug Plugin slug.
+                * @return string Plugin download URL or path to local file or empty string if undetermined.
+                */
+               public function get_download_url( $slug ) {
+                       $dl_source = '';
+
+                       switch ( $this->plugins[ $slug ]['source_type'] ) {
+                               case 'repo':
+                                       return $this->get_wp_repo_download_url( $slug );
+                               case 'external':
+                                       return $this->plugins[ $slug ]['source'];
+                               case 'bundled':
+                                       return $this->default_path . $this->plugins[ $slug ]['source'];
+                       }
+
+                       return $dl_source; // Should never happen.
+               }
+
+               /**
+                * Retrieve the download URL for a WP repo package.
+                *
+                * @since 2.5.0
+                *
+                * @param string $slug Plugin slug.
+                * @return string Plugin download URL.
+                */
+               protected function get_wp_repo_download_url( $slug ) {
+                       $source = '';
+                       $api    = $this->get_plugins_api( $slug );
+
+                       if ( false !== $api && isset( $api->download_link ) ) {
+                               $source = $api->download_link;
+                       }
+
+                       return $source;
+               }
+
+               /**
+                * Try to grab information from WordPress API.
+                *
+                * @since 2.5.0
+                *
+                * @param string $slug Plugin slug.
+                * @return object Plugins_api response object on success, WP_Error on failure.
+                */
+               protected function get_plugins_api( $slug ) {
+                       static $api = array(); // Cache received responses.
+
+                       if ( ! isset( $api[ $slug ] ) ) {
+                               if ( ! function_exists( 'plugins_api' ) ) {
+                                       require_once ABSPATH . 'wp-admin/includes/plugin-install.php';
+                               }
+
+                               $response = plugins_api( 'plugin_information', array( 'slug' => $slug, 'fields' => array( 'sections' => false ) ) );
+
+                               $api[ $slug ] = false;
+
+                               if ( is_wp_error( $response ) ) {
+                                       wp_die( esc_html( $this->strings['oops'] ) );
+                               } else {
+                                       $api[ $slug ] = $response;
+                               }
+                       }
+
+                       return $api[ $slug ];
+               }
+
+               /**
+                * Retrieve a link to a plugin information page.
+                *
+                * @since 2.5.0
+                *
+                * @param string $slug Plugin slug.
+                * @return string Fully formed html link to a plugin information page if available
+                *                or the plugin name if not.
+                */
+               public function get_info_link( $slug ) {
+                       if ( ! empty( $this->plugins[ $slug ]['external_url'] ) && preg_match( self::IS_URL_REGEX, $this->plugins[ $slug ]['external_url'] ) ) {
+                               $link = sprintf(
+                                       '<a href="%1$s" target="_blank">%2$s</a>',
+                                       esc_url( $this->plugins[ $slug ]['external_url'] ),
+                                       esc_html( $this->plugins[ $slug ]['name'] )
+                               );
+                       } elseif ( 'repo' === $this->plugins[ $slug ]['source_type'] ) {
+                               $url = add_query_arg(
+                                       array(
+                                               'tab'       => 'plugin-information',
+                                               'plugin'    => urlencode( $slug ),
+                                               'TB_iframe' => 'true',
+                                               'width'     => '640',
+                                               'height'    => '500',
+                                       ),
+                                       self_admin_url( 'plugin-install.php' )
+                               );
+
+                               $link = sprintf(
+                                       '<a href="%1$s" class="thickbox">%2$s</a>',
+                                       esc_url( $url ),
+                                       esc_html( $this->plugins[ $slug ]['name'] )
+                               );
+                       } else {
+                               $link = esc_html( $this->plugins[ $slug ]['name'] ); // No hyperlink.
+                       }
+
+                       return $link;
+               }
+
+               /**
+                * Determine if we're on the TGMPA Install page.
+                *
+                * @since 2.1.0
+                *
+                * @return boolean True when on the TGMPA page, false otherwise.
+                */
+               protected function is_tgmpa_page() {
+                       return isset( $_GET['page'] ) && $this->menu === $_GET['page'];
+               }
+
+               /**
+                * Determine if we're on a WP Core installation/upgrade page.
+                *
+                * @since 2.6.0
+                *
+                * @return boolean True when on a WP Core installation/upgrade page, false otherwise.
+                */
+               protected function is_core_update_page() {
+                       // Current screen is not always available, most notably on the customizer screen.
+                       if ( ! function_exists( 'get_current_screen' ) ) {
+                               return false;
+                       }
+
+                       $screen = get_current_screen();
+
+                       if ( 'update-core' === $screen->base ) {
+                               // Core update screen.
+                               return true;
+                       } elseif ( 'plugins' === $screen->base && ! empty( $_POST['action'] ) ) { // WPCS: CSRF ok.
+                               // Plugins bulk update screen.
+                               return true;
+                       } elseif ( 'update' === $screen->base && ! empty( $_POST['action'] ) ) { // WPCS: CSRF ok.
+                               // Individual updates (ajax call).
+                               return true;
+                       }
+
+                       return false;
+               }
+
+               /**
+                * Retrieve the URL to the TGMPA Install page.
+                *
+                * I.e. depending on the config settings passed something along the lines of:
+                * http://example.com/wp-admin/themes.php?page=tgmpa-install-plugins
+                *
+                * @since 2.5.0
+                *
+                * @return string Properly encoded URL (not escaped).
+                */
+               public function get_tgmpa_url() {
+                       static $url;
+
+                       if ( ! isset( $url ) ) {
+                               $parent = $this->parent_slug;
+                               if ( false === strpos( $parent, '.php' ) ) {
+                                       $parent = 'admin.php';
+                               }
+                               $url = add_query_arg(
+                                       array(
+                                               'page' => urlencode( $this->menu ),
+                                       ),
+                                       self_admin_url( $parent )
+                               );
+                       }
+
+                       return $url;
+               }
+
+               /**
+                * Retrieve the URL to the TGMPA Install page for a specific plugin status (view).
+                *
+                * I.e. depending on the config settings passed something along the lines of:
+                * http://example.com/wp-admin/themes.php?page=tgmpa-install-plugins&plugin_status=install
+                *
+                * @since 2.5.0
+                *
+                * @param string $status Plugin status - either 'install', 'update' or 'activate'.
+                * @return string Properly encoded URL (not escaped).
+                */
+               public function get_tgmpa_status_url( $status ) {
+                       return add_query_arg(
+                               array(
+                                       'plugin_status' => urlencode( $status ),
+                               ),
+                               $this->get_tgmpa_url()
+                       );
+               }
+
+               /**
+                * Determine whether there are open actions for plugins registered with TGMPA.
+                *
+                * @since 2.5.0
+                *
+                * @return bool True if complete, i.e. no outstanding actions. False otherwise.
+                */
+               public function is_tgmpa_complete() {
+                       $complete = true;
+                       foreach ( $this->plugins as $slug => $plugin ) {
+                               if ( ! $this->is_plugin_active( $slug ) || false !== $this->does_plugin_have_update( $slug ) ) {
+                                       $complete = false;
+                                       break;
+                               }
+                       }
+
+                       return $complete;
+               }
+
+               /**
+                * Check if a plugin is installed. Does not take must-use plugins into account.
+                *
+                * @since 2.5.0
+                *
+                * @param string $slug Plugin slug.
+                * @return bool True if installed, false otherwise.
+                */
+               public function is_plugin_installed( $slug ) {
+                       $installed_plugins = $this->get_plugins(); // Retrieve a list of all installed plugins (WP cached).
+
+                       return ( ! empty( $installed_plugins[ $this->plugins[ $slug ]['file_path'] ] ) );
+               }
+
+               /**
+                * Check if a plugin is active.
+                *
+                * @since 2.5.0
+                *
+                * @param string $slug Plugin slug.
+                * @return bool True if active, false otherwise.
+                */
+               public function is_plugin_active( $slug ) {
+                       return ( ( ! empty( $this->plugins[ $slug ]['is_callable'] ) && is_callable( $this->plugins[ $slug ]['is_callable'] ) ) || is_plugin_active( $this->plugins[ $slug ]['file_path'] ) );
+               }
+
+               /**
+                * Check if a plugin can be updated, i.e. if we have information on the minimum WP version required
+                * available, check whether the current install meets them.
+                *
+                * @since 2.5.0
+                *
+                * @param string $slug Plugin slug.
+                * @return bool True if OK to update, false otherwise.
+                */
+               public function can_plugin_update( $slug ) {
+                       // We currently can't get reliable info on non-WP-repo plugins - issue #380.
+                       if ( 'repo' !== $this->plugins[ $slug ]['source_type'] ) {
+                               return true;
+                       }
+
+                       $api = $this->get_plugins_api( $slug );
+
+                       if ( false !== $api && isset( $api->requires ) ) {
+                               return version_compare( $this->wp_version, $api->requires, '>=' );
+                       }
+
+                       // No usable info received from the plugins API, presume we can update.
+                       return true;
+               }
+
+               /**
+                * Check to see if the plugin is 'updatetable', i.e. installed, with an update available
+                * and no WP version requirements blocking it.
+                *
+                * @since 2.6.0
+                *
+                * @param string $slug Plugin slug.
+                * @return bool True if OK to proceed with update, false otherwise.
+                */
+               public function is_plugin_updatetable( $slug ) {
+                       if ( ! $this->is_plugin_installed( $slug ) ) {
+                               return false;
+                       } else {
+                               return ( false !== $this->does_plugin_have_update( $slug ) && $this->can_plugin_update( $slug ) );
+                       }
+               }
+
+               /**
+                * Check if a plugin can be activated, i.e. is not currently active and meets the minimum
+                * plugin version requirements set in TGMPA (if any).
+                *
+                * @since 2.5.0
+                *
+                * @param string $slug Plugin slug.
+                * @return bool True if OK to activate, false otherwise.
+                */
+               public function can_plugin_activate( $slug ) {
+                       return ( ! $this->is_plugin_active( $slug ) && ! $this->does_plugin_require_update( $slug ) );
+               }
+
+               /**
+                * Retrieve the version number of an installed plugin.
+                *
+                * @since 2.5.0
+                *
+                * @param string $slug Plugin slug.
+                * @return string Version number as string or an empty string if the plugin is not installed
+                *                or version unknown (plugins which don't comply with the plugin header standard).
+                */
+               public function get_installed_version( $slug ) {
+                       $installed_plugins = $this->get_plugins(); // Retrieve a list of all installed plugins (WP cached).
+
+                       if ( ! empty( $installed_plugins[ $this->plugins[ $slug ]['file_path'] ]['Version'] ) ) {
+                               return $installed_plugins[ $this->plugins[ $slug ]['file_path'] ]['Version'];
+                       }
+
+                       return '';
+               }
+
+               /**
+                * Check whether a plugin complies with the minimum version requirements.
+                *
+                * @since 2.5.0
+                *
+                * @param string $slug Plugin slug.
+                * @return bool True when a plugin needs to be updated, otherwise false.
+                */
+               public function does_plugin_require_update( $slug ) {
+                       $installed_version = $this->get_installed_version( $slug );
+                       $minimum_version   = $this->plugins[ $slug ]['version'];
+
+                       return version_compare( $minimum_version, $installed_version, '>' );
+               }
+
+               /**
+                * Check whether there is an update available for a plugin.
+                *
+                * @since 2.5.0
+                *
+                * @param string $slug Plugin slug.
+                * @return false|string Version number string of the available update or false if no update available.
+                */
+               public function does_plugin_have_update( $slug ) {
+                       // Presume bundled and external plugins will point to a package which meets the minimum required version.
+                       if ( 'repo' !== $this->plugins[ $slug ]['source_type'] ) {
+                               if ( $this->does_plugin_require_update( $slug ) ) {
+                                       return $this->plugins[ $slug ]['version'];
+                               }
+
+                               return false;
+                       }
+
+                       $repo_updates = get_site_transient( 'update_plugins' );
+
+                       if ( isset( $repo_updates->response[ $this->plugins[ $slug ]['file_path'] ]->new_version ) ) {
+                               return $repo_updates->response[ $this->plugins[ $slug ]['file_path'] ]->new_version;
+                       }
+
+                       return false;
+               }
+
+               /**
+                * Retrieve potential upgrade notice for a plugin.
+                *
+                * @since 2.5.0
+                *
+                * @param string $slug Plugin slug.
+                * @return string The upgrade notice or an empty string if no message was available or provided.
+                */
+               public function get_upgrade_notice( $slug ) {
+                       // We currently can't get reliable info on non-WP-repo plugins - issue #380.
+                       if ( 'repo' !== $this->plugins[ $slug ]['source_type'] ) {
+                               return '';
+                       }
+
+                       $repo_updates = get_site_transient( 'update_plugins' );
+
+                       if ( ! empty( $repo_updates->response[ $this->plugins[ $slug ]['file_path'] ]->upgrade_notice ) ) {
+                               return $repo_updates->response[ $this->plugins[ $slug ]['file_path'] ]->upgrade_notice;
+                       }
+
+                       return '';
+               }
+
+               /**
+                * Wrapper around the core WP get_plugins function, making sure it's actually available.
+                *
+                * @since 2.5.0
+                *
+                * @param string $plugin_folder Optional. Relative path to single plugin folder.
+                * @return array Array of installed plugins with plugin information.
+                */
+               public function get_plugins( $plugin_folder = '' ) {
+                       if ( ! function_exists( 'get_plugins' ) ) {
+                               require_once ABSPATH . 'wp-admin/includes/plugin.php';
+                       }
+
+                       return get_plugins( $plugin_folder );
+               }
+
+               /**
+                * Delete dismissable nag option when theme is switched.
+                *
+                * This ensures that the user(s) is/are again reminded via nag of required
+                * and/or recommended plugins if they re-activate the theme.
+                *
+                * @since 2.1.1
+                */
+               public function update_dismiss() {
+                       delete_metadata( 'user', null, 'tgmpa_dismissed_notice_' . $this->id, null, true );
+               }
+
+               /**
+                * Forces plugin activation if the parameter 'force_activation' is
+                * set to true.
+                *
+                * This allows theme authors to specify certain plugins that must be
+                * active at all times while using the current theme.
+                *
+                * Please take special care when using this parameter as it has the
+                * potential to be harmful if not used correctly. Setting this parameter
+                * to true will not allow the specified plugin to be deactivated unless
+                * the user switches themes.
+                *
+                * @since 2.2.0
+                */
+               public function force_activation() {
+                       foreach ( $this->plugins as $slug => $plugin ) {
+                               if ( true === $plugin['force_activation'] ) {
+                                       if ( ! $this->is_plugin_installed( $slug ) ) {
+                                               // Oops, plugin isn't there so iterate to next condition.
+                                               continue;
+                                       } elseif ( $this->can_plugin_activate( $slug ) ) {
+                                               // There we go, activate the plugin.
+                                               activate_plugin( $plugin['file_path'] );
+                                       }
+                               }
+                       }
+               }
+
+               /**
+                * Forces plugin deactivation if the parameter 'force_deactivation'
+                * is set to true and adds the plugin to the 'recently active' plugins list.
+                *
+                * This allows theme authors to specify certain plugins that must be
+                * deactivated upon switching from the current theme to another.
+                *
+                * Please take special care when using this parameter as it has the
+                * potential to be harmful if not used correctly.
+                *
+                * @since 2.2.0
+                */
+               public function force_deactivation() {
+                       $deactivated = array();
+
+                       foreach ( $this->plugins as $slug => $plugin ) {
+                               /*
+                                * Only proceed forward if the parameter is set to true and plugin is active
+                                * as a 'normal' (not must-use) plugin.
+                                */
+                               if ( true === $plugin['force_deactivation'] && is_plugin_active( $plugin['file_path'] ) ) {
+                                       deactivate_plugins( $plugin['file_path'] );
+                                       $deactivated[ $plugin['file_path'] ] = time();
+                               }
+                       }
+
+                       if ( ! empty( $deactivated ) ) {
+                               update_option( 'recently_activated', $deactivated + (array) get_option( 'recently_activated' ) );
+                       }
+               }
+
+               /**
+                * Echo the current TGMPA version number to the page.
+                *
+                * @since 2.5.0
+                */
+               public function show_tgmpa_version() {
+                       echo '<p style="float: right; padding: 0em 1.5em 0.5em 0;"><strong><small>',
+                       esc_html(
+                               sprintf(
+                               /* translators: %s: version number */
+                                       __( 'TGMPA v%s', 'shop-isle' ),
+                                       self::TGMPA_VERSION
+                               )
+                       ),
+                       '</small></strong></p>';
+               }
+
+               /**
+                * Returns the singleton instance of the class.
+                *
+                * @since 2.4.0
+                *
+                * @return \TGM_Plugin_Activation The TGM_Plugin_Activation object.
+                */
+               public static function get_instance() {
+                       if ( ! isset( self::$instance ) && ! ( self::$instance instanceof self ) ) {
+                               self::$instance = new self();
+                       }
+
+                       return self::$instance;
+               }
+       }
+
+       if ( ! function_exists( 'load_tgm_plugin_activation' ) ) {
+               /**
+                * Ensure only one instance of the class is ever invoked.
+                *
+                * @since 2.5.0
+                */
+               function load_tgm_plugin_activation() {
+                       $GLOBALS['tgmpa'] = TGM_Plugin_Activation::get_instance();
+               }
+       }
+
+       if ( did_action( 'plugins_loaded' ) ) {
+               load_tgm_plugin_activation();
+       } else {
+               add_action( 'plugins_loaded', 'load_tgm_plugin_activation' );
+       }
+}
+
+if ( ! function_exists( 'tgmpa' ) ) {
+       /**
+        * Helper function to register a collection of required plugins.
+        *
+        * @since 2.0.0
+        * @api
+        *
+        * @param array $plugins An array of plugin arrays.
+        * @param array $config  Optional. An array of configuration values.
+        */
+       function tgmpa( $plugins, $config = array() ) {
+               $instance = call_user_func( array( get_class( $GLOBALS['tgmpa'] ), 'get_instance' ) );
+
+               foreach ( $plugins as $plugin ) {
+                       call_user_func( array( $instance, 'register' ), $plugin );
+               }
+
+               if ( ! empty( $config ) && is_array( $config ) ) {
+                       // Send out notices for deprecated arguments passed.
+                       if ( isset( $config['notices'] ) ) {
+                               _deprecated_argument( __FUNCTION__, '2.2.0', 'The `notices` config parameter was renamed to `has_notices` in TGMPA 2.2.0. Please adjust your configuration.' );
+                               if ( ! isset( $config['has_notices'] ) ) {
+                                       $config['has_notices'] = $config['notices'];
+                               }
+                       }
+
+                       if ( isset( $config['parent_menu_slug'] ) ) {
+                               _deprecated_argument( __FUNCTION__, '2.4.0', 'The `parent_menu_slug` config parameter was removed in TGMPA 2.4.0. In TGMPA 2.5.0 an alternative was (re-)introduced. Please adjust your configuration. For more information visit the website: http://tgmpluginactivation.com/configuration/#h-configuration-options.' );
+                       }
+                       if ( isset( $config['parent_url_slug'] ) ) {
+                               _deprecated_argument( __FUNCTION__, '2.4.0', 'The `parent_url_slug` config parameter was removed in TGMPA 2.4.0. In TGMPA 2.5.0 an alternative was (re-)introduced. Please adjust your configuration. For more information visit the website: http://tgmpluginactivation.com/configuration/#h-configuration-options.' );
+                       }
+
+                       call_user_func( array( $instance, 'config' ), $config );
+               }
+       }
+}
+
+/**
+ * WP_List_Table isn't always available. If it isn't available,
+ * we load it here.
+ *
+ * @since 2.2.0
+ */
+if ( ! class_exists( 'WP_List_Table' ) ) {
+       require_once ABSPATH . 'wp-admin/includes/class-wp-list-table.php';
+}
+
+if ( ! class_exists( 'TGMPA_List_Table' ) ) {
+
+       /**
+        * List table class for handling plugins.
+        *
+        * Extends the WP_List_Table class to provide a future-compatible
+        * way of listing out all required/recommended plugins.
+        *
+        * Gives users an interface similar to the Plugin Administration
+        * area with similar (albeit stripped down) capabilities.
+        *
+        * This class also allows for the bulk install of plugins.
+        *
+        * @since 2.2.0
+        *
+        * @package TGM-Plugin-Activation
+        * @author  Thomas Griffin
+        * @author  Gary Jones
+        */
+       class TGMPA_List_Table extends WP_List_Table {
+               /**
+                * TGMPA instance.
+                *
+                * @since 2.5.0
+                *
+                * @var object
+                */
+               protected $tgmpa;
+
+               /**
+                * The currently chosen view.
+                *
+                * @since 2.5.0
+                *
+                * @var string One of: 'all', 'install', 'update', 'activate'
+                */
+               public $view_context = 'all';
+
+               /**
+                * The plugin counts for the various views.
+                *
+                * @since 2.5.0
+                *
+                * @var array
+                */
+               protected $view_totals = array(
+                       'all'      => 0,
+                       'install'  => 0,
+                       'update'   => 0,
+                       'activate' => 0,
+               );
+
+               /**
+                * References parent constructor and sets defaults for class.
+                *
+                * @since 2.2.0
+                */
+               public function __construct() {
+                       $this->tgmpa = call_user_func( array( get_class( $GLOBALS['tgmpa'] ), 'get_instance' ) );
+
+                       parent::__construct(
+                               array(
+                                       'singular' => 'plugin',
+                                       'plural'   => 'plugins',
+                                       'ajax'     => false,
+                               )
+                       );
+
+                       if ( isset( $_REQUEST['plugin_status'] ) && in_array( $_REQUEST['plugin_status'], array( 'install', 'update', 'activate' ), true ) ) {
+                               $this->view_context = sanitize_key( $_REQUEST['plugin_status'] );
+                       }
+
+                       add_filter( 'tgmpa_table_data_items', array( $this, 'sort_table_items' ) );
+               }
+
+               /**
+                * Get a list of CSS classes for the <table> tag.
+                *
+                * Overruled to prevent the 'plural' argument from being added.
+                *
+                * @since 2.5.0
+                *
+                * @return array CSS classnames.
+                */
+               public function get_table_classes() {
+                       return array( 'widefat', 'fixed' );
+               }
+
+               /**
+                * Gathers and renames all of our plugin information to be used by WP_List_Table to create our table.
+                *
+                * @since 2.2.0
+                *
+                * @return array $table_data Information for use in table.
+                */
+               protected function _gather_plugin_data() {
+                       // Load thickbox for plugin links.
+                       $this->tgmpa->admin_init();
+                       $this->tgmpa->thickbox();
+
+                       // Categorize the plugins which have open actions.
+                       $plugins = $this->categorize_plugins_to_views();
+
+                       // Set the counts for the view links.
+                       $this->set_view_totals( $plugins );
+
+                       // Prep variables for use and grab list of all installed plugins.
+                       $table_data = array();
+                       $i          = 0;
+
+                       // Redirect to the 'all' view if no plugins were found for the selected view context.
+                       if ( empty( $plugins[ $this->view_context ] ) ) {
+                               $this->view_context = 'all';
+                       }
+
+                       foreach ( $plugins[ $this->view_context ] as $slug => $plugin ) {
+                               $table_data[ $i ]['sanitized_plugin']  = $plugin['name'];
+                               $table_data[ $i ]['slug']              = $slug;
+                               $table_data[ $i ]['plugin']            = '<strong>' . $this->tgmpa->get_info_link( $slug ) . '</strong>';
+                               $table_data[ $i ]['source']            = $this->get_plugin_source_type_text( $plugin['source_type'] );
+                               $table_data[ $i ]['type']              = $this->get_plugin_advise_type_text( $plugin['required'] );
+                               $table_data[ $i ]['status']            = $this->get_plugin_status_text( $slug );
+                               $table_data[ $i ]['installed_version'] = $this->tgmpa->get_installed_version( $slug );
+                               $table_data[ $i ]['minimum_version']   = $plugin['version'];
+                               $table_data[ $i ]['available_version'] = $this->tgmpa->does_plugin_have_update( $slug );
+
+                               // Prep the upgrade notice info.
+                               $upgrade_notice = $this->tgmpa->get_upgrade_notice( $slug );
+                               if ( ! empty( $upgrade_notice ) ) {
+                                       $table_data[ $i ]['upgrade_notice'] = $upgrade_notice;
+
+                                       add_action( "tgmpa_after_plugin_row_{$slug}", array( $this, 'wp_plugin_update_row' ), 10, 2 );
+                               }
+
+                               $table_data[ $i ] = apply_filters( 'tgmpa_table_data_item', $table_data[ $i ], $plugin );
+
+                               $i++;
+                       }
+
+                       return $table_data;
+               }
+
+               /**
+                * Categorize the plugins which have open actions into views for the TGMPA page.
+                *
+                * @since 2.5.0
+                */
+               protected function categorize_plugins_to_views() {
+                       $plugins = array(
+                               'all'      => array(), // Meaning: all plugins which still have open actions.
+                               'install'  => array(),
+                               'update'   => array(),
+                               'activate' => array(),
+                       );
+
+                       foreach ( $this->tgmpa->plugins as $slug => $plugin ) {
+                               if ( $this->tgmpa->is_plugin_active( $slug ) && false === $this->tgmpa->does_plugin_have_update( $slug ) ) {
+                                       // No need to display plugins if they are installed, up-to-date and active.
+                                       continue;
+                               } else {
+                                       $plugins['all'][ $slug ] = $plugin;
+
+                                       if ( ! $this->tgmpa->is_plugin_installed( $slug ) ) {
+                                               $plugins['install'][ $slug ] = $plugin;
+                                       } else {
+                                               if ( false !== $this->tgmpa->does_plugin_have_update( $slug ) ) {
+                                                       $plugins['update'][ $slug ] = $plugin;
+                                               }
+
+                                               if ( $this->tgmpa->can_plugin_activate( $slug ) ) {
+                                                       $plugins['activate'][ $slug ] = $plugin;
+                                               }
+                                       }
+                               }
+                       }
+
+                       return $plugins;
+               }
+
+               /**
+                * Set the counts for the view links.
+                *
+                * @since 2.5.0
+                *
+                * @param array $plugins Plugins order by view.
+                */
+               protected function set_view_totals( $plugins ) {
+                       foreach ( $plugins as $type => $list ) {
+                               $this->view_totals[ $type ] = count( $list );
+                       }
+               }
+
+               /**
+                * Get the plugin required/recommended text string.
+                *
+                * @since 2.5.0
+                *
+                * @param string $required Plugin required setting.
+                * @return string
+                */
+               protected function get_plugin_advise_type_text( $required ) {
+                       if ( true === $required ) {
+                               return __( 'Required', 'shop-isle' );
+                       }
+
+                       return __( 'Recommended', 'shop-isle' );
+               }
+
+               /**
+                * Get the plugin source type text string.
+                *
+                * @since 2.5.0
+                *
+                * @param string $type Plugin type.
+                * @return string
+                */
+               protected function get_plugin_source_type_text( $type ) {
+                       $string = '';
+
+                       switch ( $type ) {
+                               case 'repo':
+                                       $string = __( 'WordPress Repository', 'shop-isle' );
+                                       break;
+                               case 'external':
+                                       $string = __( 'External Source', 'shop-isle' );
+                                       break;
+                               case 'bundled':
+                                       $string = __( 'Pre-Packaged', 'shop-isle' );
+                                       break;
+                       }
+
+                       return $string;
+               }
+
+               /**
+                * Determine the plugin status message.
+                *
+                * @since 2.5.0
+                *
+                * @param string $slug Plugin slug.
+                * @return string
+                */
+               protected function get_plugin_status_text( $slug ) {
+                       if ( ! $this->tgmpa->is_plugin_installed( $slug ) ) {
+                               return __( 'Not Installed', 'shop-isle' );
+                       }
+
+                       if ( ! $this->tgmpa->is_plugin_active( $slug ) ) {
+                               $install_status = __( 'Installed But Not Activated', 'shop-isle' );
+                       } else {
+                               $install_status = __( 'Active', 'shop-isle' );
+                       }
+
+                       $update_status = '';
+
+                       if ( $this->tgmpa->does_plugin_require_update( $slug ) && false === $this->tgmpa->does_plugin_have_update( $slug ) ) {
+                               $update_status = __( 'Required Update not Available', 'shop-isle' );
+
+                       } elseif ( $this->tgmpa->does_plugin_require_update( $slug ) ) {
+                               $update_status = __( 'Requires Update', 'shop-isle' );
+
+                       } elseif ( false !== $this->tgmpa->does_plugin_have_update( $slug ) ) {
+                               $update_status = __( 'Update recommended', 'shop-isle' );
+                       }
+
+                       if ( '' === $update_status ) {
+                               return $install_status;
+                       }
+
+                       return sprintf(
+                       /* translators: 1: install status, 2: update status */
+                               _x( '%1$s, %2$s', 'Install/Update Status', 'shop-isle' ),
+                               $install_status,
+                               $update_status
+                       );
+               }
+
+               /**
+                * Sort plugins by Required/Recommended type and by alphabetical plugin name within each type.
+                *
+                * @since 2.5.0
+                *
+                * @param array $items Prepared table items.
+                * @return array Sorted table items.
+                */
+               public function sort_table_items( $items ) {
+                       $type = array();
+                       $name = array();
+
+                       foreach ( $items as $i => $plugin ) {
+                               $type[ $i ] = $plugin['type']; // Required / recommended.
+                               $name[ $i ] = $plugin['sanitized_plugin'];
+                       }
+
+                       array_multisort( $type, SORT_DESC, $name, SORT_ASC, $items );
+
+                       return $items;
+               }
+
+               /**
+                * Get an associative array ( id => link ) of the views available on this table.
+                *
+                * @since 2.5.0
+                *
+                * @return array
+                */
+               public function get_views() {
+                       $status_links = array();
+
+                       foreach ( $this->view_totals as $type => $count ) {
+                               if ( $count < 1 ) {
+                                       continue;
+                               }
+
+                               switch ( $type ) {
+                                       case 'all':
+                                               /* translators: 1: number of plugins. */
+                                               $text = _nx( 'All <span class="count">(%s)</span>', 'All <span class="count">(%s)</span>', $count, 'plugins', 'shop-isle' );
+                                               break;
+                                       case 'install':
+                                               /* translators: 1: number of plugins. */
+                                               $text = _n( 'To Install <span class="count">(%s)</span>', 'To Install <span class="count">(%s)</span>', $count, 'shop-isle' );
+                                               break;
+                                       case 'update':
+                                               /* translators: 1: number of plugins. */
+                                               $text = _n( 'Update Available <span class="count">(%s)</span>', 'Update Available <span class="count">(%s)</span>', $count, 'shop-isle' );
+                                               break;
+                                       case 'activate':
+                                               /* translators: 1: number of plugins. */
+                                               $text = _n( 'To Activate <span class="count">(%s)</span>', 'To Activate <span class="count">(%s)</span>', $count, 'shop-isle' );
+                                               break;
+                                       default:
+                                               $text = '';
+                                               break;
+                               }
+
+                               if ( ! empty( $text ) ) {
+
+                                       $status_links[ $type ] = sprintf(
+                                               '<a href="%s"%s>%s</a>',
+                                               esc_url( $this->tgmpa->get_tgmpa_status_url( $type ) ),
+                                               ( $type === $this->view_context ) ? ' class="current"' : '',
+                                               sprintf( $text, number_format_i18n( $count ) )
+                                       );
+                               }
+                       }
+
+                       return $status_links;
+               }
+
+               /**
+                * Create default columns to display important plugin information
+                * like type, action and status.
+                *
+                * @since 2.2.0
+                *
+                * @param array  $item        Array of item data.
+                * @param string $column_name The name of the column.
+                * @return string
+                */
+               public function column_default( $item, $column_name ) {
+                       return $item[ $column_name ];
+               }
+
+               /**
+                * Required for bulk installing.
+                *
+                * Adds a checkbox for each plugin.
+                *
+                * @since 2.2.0
+                *
+                * @param array $item Array of item data.
+                * @return string The input checkbox with all necessary info.
+                */
+               public function column_cb( $item ) {
+                       return sprintf(
+                               '<input type="checkbox" name="%1$s[]" value="%2$s" id="%3$s" />',
+                               esc_attr( $this->_args['singular'] ),
+                               esc_attr( $item['slug'] ),
+                               esc_attr( $item['sanitized_plugin'] )
+                       );
+               }
+
+               /**
+                * Create default title column along with the action links.
+                *
+                * @since 2.2.0
+                *
+                * @param array $item Array of item data.
+                * @return string The plugin name and action links.
+                */
+               public function column_plugin( $item ) {
+                       return sprintf(
+                               '%1$s %2$s',
+                               $item['plugin'],
+                               $this->row_actions( $this->get_row_actions( $item ), true )
+                       );
+               }
+
+               /**
+                * Create version information column.
+                *
+                * @since 2.5.0
+                *
+                * @param array $item Array of item data.
+                * @return string HTML-formatted version information.
+                */
+               public function column_version( $item ) {
+                       $output = array();
+
+                       if ( $this->tgmpa->is_plugin_installed( $item['slug'] ) ) {
+                               $installed = ! empty( $item['installed_version'] ) ? $item['installed_version'] : _x( 'unknown', 'as in: "version nr unknown"', 'shop-isle' );
+
+                               $color = '';
+                               if ( ! empty( $item['minimum_version'] ) && $this->tgmpa->does_plugin_require_update( $item['slug'] ) ) {
+                                       $color = ' color: #ff0000; font-weight: bold;';
+                               }
+
+                               $output[] = sprintf(
+                                       '<p><span style="min-width: 32px; text-align: right; float: right;%1$s">%2$s</span>' . __( 'Installed version:', 'shop-isle' ) . '</p>',
+                                       $color,
+                                       $installed
+                               );
+                       }
+
+                       if ( ! empty( $item['minimum_version'] ) ) {
+                               $output[] = sprintf(
+                                       '<p><span style="min-width: 32px; text-align: right; float: right;">%1$s</span>' . __( 'Minimum required version:', 'shop-isle' ) . '</p>',
+                                       $item['minimum_version']
+                               );
+                       }
+
+                       if ( ! empty( $item['available_version'] ) ) {
+                               $color = '';
+                               if ( ! empty( $item['minimum_version'] ) && version_compare( $item['available_version'], $item['minimum_version'], '>=' ) ) {
+                                       $color = ' color: #71C671; font-weight: bold;';
+                               }
+
+                               $output[] = sprintf(
+                                       '<p><span style="min-width: 32px; text-align: right; float: right;%1$s">%2$s</span>' . __( 'Available version:', 'shop-isle' ) . '</p>',
+                                       $color,
+                                       $item['available_version']
+                               );
+                       }
+
+                       if ( empty( $output ) ) {
+                               return '&nbsp;'; // Let's not break the table layout.
+                       } else {
+                               return implode( "\n", $output );
+                       }
+               }
+
+               /**
+                * Sets default message within the plugins table if no plugins
+                * are left for interaction.
+                *
+                * Hides the menu item to prevent the user from clicking and
+                * getting a permissions error.
+                *
+                * @since 2.2.0
+                */
+               public function no_items() {
+                       echo esc_html__( 'No plugins to install, update or activate.', 'shop-isle' ) . ' <a href="' . esc_url( self_admin_url() ) . '"> ' . esc_html__( 'Return to the Dashboard', 'shop-isle' ) . '</a>';
+                       echo '<style type="text/css">#adminmenu .wp-submenu li.current { display: none !important; }</style>';
+               }
+
+               /**
+                * Output all the column information within the table.
+                *
+                * @since 2.2.0
+                *
+                * @return array $columns The column names.
+                */
+               public function get_columns() {
+                       $columns = array(
+                               'cb'     => '<input type="checkbox" />',
+                               'plugin' => __( 'Plugin', 'shop-isle' ),
+                               'source' => __( 'Source', 'shop-isle' ),
+                               'type'   => __( 'Type', 'shop-isle' ),
+                       );
+
+                       if ( 'all' === $this->view_context || 'update' === $this->view_context ) {
+                               $columns['version'] = __( 'Version', 'shop-isle' );
+                               $columns['status']  = __( 'Status', 'shop-isle' );
+                       }
+
+                       return apply_filters( 'tgmpa_table_columns', $columns );
+               }
+
+               /**
+                * Get name of default primary column
+                *
+                * @since 2.5.0 / WP 4.3+ compatibility
+                * @access protected
+                *
+                * @return string
+                */
+               protected function get_default_primary_column_name() {
+                       return 'plugin';
+               }
+
+               /**
+                * Get the name of the primary column.
+                *
+                * @since 2.5.0 / WP 4.3+ compatibility
+                * @access protected
+                *
+                * @return string The name of the primary column.
+                */
+               protected function get_primary_column_name() {
+                       if ( method_exists( 'WP_List_Table', 'get_primary_column_name' ) ) {
+                               return parent::get_primary_column_name();
+                       } else {
+                               return $this->get_default_primary_column_name();
+                       }
+               }
+
+               /**
+                * Get the actions which are relevant for a specific plugin row.
+                *
+                * @since 2.5.0
+                *
+                * @param array $item Array of item data.
+                * @return array Array with relevant action links.
+                */
+               protected function get_row_actions( $item ) {
+                       $actions      = array();
+                       $action_links = array();
+
+                       // Display the 'Install' action link if the plugin is not yet available.
+                       if ( ! $this->tgmpa->is_plugin_installed( $item['slug'] ) ) {
+                               /* translators: %2$s: plugin name in screen reader markup */
+                               $actions['install'] = __( 'Install %2$s', 'shop-isle' );
+                       } else {
+                               // Display the 'Update' action link if an update is available and WP complies with plugin minimum.
+                               if ( false !== $this->tgmpa->does_plugin_have_update( $item['slug'] ) && $this->tgmpa->can_plugin_update( $item['slug'] ) ) {
+                                       /* translators: %2$s: plugin name in screen reader markup */
+                                       $actions['update'] = __( 'Update %2$s', 'shop-isle' );
+                               }
+
+                               // Display the 'Activate' action link, but only if the plugin meets the minimum version.
+                               if ( $this->tgmpa->can_plugin_activate( $item['slug'] ) ) {
+                                       /* translators: %2$s: plugin name in screen reader markup */
+                                       $actions['activate'] = __( 'Activate %2$s', 'shop-isle' );
+                               }
+                       }
+
+                       // Create the actual links.
+                       foreach ( $actions as $action => $text ) {
+                               $nonce_url = wp_nonce_url(
+                                       add_query_arg(
+                                               array(
+                                                       'plugin'           => urlencode( $item['slug'] ),
+                                                       'tgmpa-' . $action => $action . '-plugin',
+                                               ),
+                                               $this->tgmpa->get_tgmpa_url()
+                                       ),
+                                       'tgmpa-' . $action,
+                                       'tgmpa-nonce'
+                               );
+
+                               $action_links[ $action ] = sprintf(
+                                       '<a href="%1$s">' . esc_html( $text ) . '</a>', // $text contains the second placeholder.
+                                       esc_url( $nonce_url ),
+                                       '<span class="screen-reader-text">' . esc_html( $item['sanitized_plugin'] ) . '</span>'
+                               );
+                       }
+
+                       $prefix = ( defined( 'WP_NETWORK_ADMIN' ) && WP_NETWORK_ADMIN ) ? 'network_admin_' : '';
+                       return apply_filters( "tgmpa_{$prefix}plugin_action_links", array_filter( $action_links ), $item['slug'], $item, $this->view_context );
+               }
+
+               /**
+                * Generates content for a single row of the table.
+                *
+                * @since 2.5.0
+                *
+                * @param object $item The current item.
+                */
+               public function single_row( $item ) {
+                       parent::single_row( $item );
+
+                       /**
+                        * Fires after each specific row in the TGMPA Plugins list table.
+                        *
+                        * The dynamic portion of the hook name, `$item['slug']`, refers to the slug
+                        * for the plugin.
+                        *
+                        * @since 2.5.0
+                        */
+                       do_action( "tgmpa_after_plugin_row_{$item['slug']}", $item['slug'], $item, $this->view_context );
+               }
+
+               /**
+                * Show the upgrade notice below a plugin row if there is one.
+                *
+                * @since 2.5.0
+                *
+                * @see /wp-admin/includes/update.php
+                *
+                * @param string $slug Plugin slug.
+                * @param array  $item The information available in this table row.
+                * @return null Return early if upgrade notice is empty.
+                */
+               public function wp_plugin_update_row( $slug, $item ) {
+                       if ( empty( $item['upgrade_notice'] ) ) {
+                               return;
+                       }
+
+                       echo '
+                               <tr class="plugin-update-tr">
+                                       <td colspan="', absint( $this->get_column_count() ), '" class="plugin-update colspanchange">
+                                               <div class="update-message">',
+                       esc_html__( 'Upgrade message from the plugin author:', 'shop-isle' ),
+                       ' <strong>', wp_kses_data( $item['upgrade_notice'] ), '</strong>
+                                               </div>
+                                       </td>
+                               </tr>';
+               }
+
+               /**
+                * Extra controls to be displayed between bulk actions and pagination.
+                *
+                * @since 2.5.0
+                *
+                * @param string $which 'top' or 'bottom' table navigation.
+                */
+               public function extra_tablenav( $which ) {
+                       if ( 'bottom' === $which ) {
+                               $this->tgmpa->show_tgmpa_version();
+                       }
+               }
+
+               /**
+                * Defines the bulk actions for handling registered plugins.
+                *
+                * @since 2.2.0
+                *
+                * @return array $actions The bulk actions for the plugin install table.
+                */
+               public function get_bulk_actions() {
+
+                       $actions = array();
+
+                       if ( 'update' !== $this->view_context && 'activate' !== $this->view_context ) {
+                               if ( current_user_can( 'install_plugins' ) ) {
+                                       $actions['tgmpa-bulk-install'] = __( 'Install', 'shop-isle' );
+                               }
+                       }
+
+                       if ( 'install' !== $this->view_context ) {
+                               if ( current_user_can( 'update_plugins' ) ) {
+                                       $actions['tgmpa-bulk-update'] = __( 'Update', 'shop-isle' );
+                               }
+                               if ( current_user_can( 'activate_plugins' ) ) {
+                                       $actions['tgmpa-bulk-activate'] = __( 'Activate', 'shop-isle' );
+                               }
+                       }
+
+                       return $actions;
+               }
+
+               /**
+                * Processes bulk installation and activation actions.
+                *
+                * The bulk installation process looks for the $_POST information and passes that
+                * through if a user has to use WP_Filesystem to enter their credentials.
+                *
+                * @since 2.2.0
+                */
+               public function process_bulk_actions() {
+                       // Bulk installation process.
+                       if ( 'tgmpa-bulk-install' === $this->current_action() || 'tgmpa-bulk-update' === $this->current_action() ) {
+
+                               check_admin_referer( 'bulk-' . $this->_args['plural'] );
+
+                               $install_type = 'install';
+                               if ( 'tgmpa-bulk-update' === $this->current_action() ) {
+                                       $install_type = 'update';
+                               }
+
+                               $plugins_to_install = array();
+
+                               // Did user actually select any plugins to install/update ?
+                               if ( empty( $_POST['plugin'] ) ) {
+                                       if ( 'install' === $install_type ) {
+                                               $message = __( 'No plugins were selected to be installed. No action taken.', 'shop-isle' );
+                                       } else {
+                                               $message = __( 'No plugins were selected to be updated. No action taken.', 'shop-isle' );
+                                       }
+
+                                       echo '<div id="message" class="error"><p>', esc_html( $message ), '</p></div>';
+
+                                       return false;
+                               }
+
+                               if ( is_array( $_POST['plugin'] ) ) {
+                                       $plugins_to_install = (array) $_POST['plugin'];
+                               } elseif ( is_string( $_POST['plugin'] ) ) {
+                                       // Received via Filesystem page - un-flatten array (WP bug #19643).
+                                       $plugins_to_install = explode( ',', $_POST['plugin'] );
+                               }
+
+                               // Sanitize the received input.
+                               $plugins_to_install = array_map( 'urldecode', $plugins_to_install );
+                               $plugins_to_install = array_map( array( $this->tgmpa, 'sanitize_key' ), $plugins_to_install );
+
+                               // Validate the received input.
+                               foreach ( $plugins_to_install as $key => $slug ) {
+                                       // Check if the plugin was registered with TGMPA and remove if not.
+                                       if ( ! isset( $this->tgmpa->plugins[ $slug ] ) ) {
+                                               unset( $plugins_to_install[ $key ] );
+                                               continue;
+                                       }
+
+                                       // For install: make sure this is a plugin we *can* install and not one already installed.
+                                       if ( 'install' === $install_type && true === $this->tgmpa->is_plugin_installed( $slug ) ) {
+                                               unset( $plugins_to_install[ $key ] );
+                                       }
+
+                                       // For updates: make sure this is a plugin we *can* update (update available and WP version ok).
+                                       if ( 'update' === $install_type && false === $this->tgmpa->is_plugin_updatetable( $slug ) ) {
+                                               unset( $plugins_to_install[ $key ] );
+                                       }
+                               }
+
+                               // No need to proceed further if we have no plugins to handle.
+                               if ( empty( $plugins_to_install ) ) {
+                                       if ( 'install' === $install_type ) {
+                                               $message = __( 'No plugins are available to be installed at this time.', 'shop-isle' );
+                                       } else {
+                                               $message = __( 'No plugins are available to be updated at this time.', 'shop-isle' );
+                                       }
+
+                                       echo '<div id="message" class="error"><p>', esc_html( $message ), '</p></div>';
+
+                                       return false;
+                               }
+
+                               // Pass all necessary information if WP_Filesystem is needed.
+                               $url = wp_nonce_url(
+                                       $this->tgmpa->get_tgmpa_url(),
+                                       'bulk-' . $this->_args['plural']
+                               );
+
+                               // Give validated data back to $_POST which is the only place the filesystem looks for extra fields.
+                               $_POST['plugin'] = implode( ',', $plugins_to_install ); // Work around for WP bug #19643.
+
+                               $method = ''; // Leave blank so WP_Filesystem can populate it as necessary.
+                               $fields = array_keys( $_POST ); // Extra fields to pass to WP_Filesystem.
+
+                               if ( false === ( $creds = request_filesystem_credentials( esc_url_raw( $url ), $method, false, false, $fields ) ) ) {
+                                       return true; // Stop the normal page form from displaying, credential request form will be shown.
+                               }
+
+                               // Now we have some credentials, setup WP_Filesystem.
+                               if ( ! WP_Filesystem( $creds ) ) {
+                                       // Our credentials were no good, ask the user for them again.
+                                       request_filesystem_credentials( esc_url_raw( $url ), $method, true, false, $fields );
+
+                                       return true;
+                               }
+
+                               /* If we arrive here, we have the filesystem */
+
+                               // Store all information in arrays since we are processing a bulk installation.
+                               $names      = array();
+                               $sources    = array(); // Needed for installs.
+                               $file_paths = array(); // Needed for upgrades.
+                               $to_inject  = array(); // Information to inject into the update_plugins transient.
+
+                               // Prepare the data for validated plugins for the install/upgrade.
+                               foreach ( $plugins_to_install as $slug ) {
+                                       $name   = $this->tgmpa->plugins[ $slug ]['name'];
+                                       $source = $this->tgmpa->get_download_url( $slug );
+
+                                       if ( ! empty( $name ) && ! empty( $source ) ) {
+                                               $names[] = $name;
+
+                                               switch ( $install_type ) {
+
+                                                       case 'install':
+                                                               $sources[] = $source;
+                                                               break;
+
+                                                       case 'update':
+                                                               $file_paths[]                 = $this->tgmpa->plugins[ $slug ]['file_path'];
+                                                               $to_inject[ $slug ]           = $this->tgmpa->plugins[ $slug ];
+                                                               $to_inject[ $slug ]['source'] = $source;
+                                                               break;
+                                               }
+                                       }
+                               }
+                               unset( $slug, $name, $source );
+
+                               // Create a new instance of TGMPA_Bulk_Installer.
+                               $installer = new TGMPA_Bulk_Installer(
+                                       new TGMPA_Bulk_Installer_Skin(
+                                               array(
+                                                       'url'          => esc_url_raw( $this->tgmpa->get_tgmpa_url() ),
+                                                       'nonce'        => 'bulk-' . $this->_args['plural'],
+                                                       'names'        => $names,
+                                                       'install_type' => $install_type,
+                                               )
+                                       )
+                               );
+
+                               // Wrap the install process with the appropriate HTML.
+                               echo '<div class="tgmpa">',
+                               '<h2 style="font-size: 23px; font-weight: 400; line-height: 29px; margin: 0; padding: 9px 15px 4px 0;">', esc_html( get_admin_page_title() ), '</h2>
+                                       <div class="update-php" style="width: 100%; height: 98%; min-height: 850px; padding-top: 1px;">';
+
+                               // Process the bulk installation submissions.
+                               add_filter( 'upgrader_source_selection', array( $this->tgmpa, 'maybe_adjust_source_dir' ), 1, 3 );
+
+                               if ( 'tgmpa-bulk-update' === $this->current_action() ) {
+                                       // Inject our info into the update transient.
+                                       $this->tgmpa->inject_update_info( $to_inject );
+
+                                       $installer->bulk_upgrade( $file_paths );
+                               } else {
+                                       $installer->bulk_install( $sources );
+                               }
+
+                               remove_filter( 'upgrader_source_selection', array( $this->tgmpa, 'maybe_adjust_source_dir' ), 1 );
+
+                               echo '</div></div>';
+
+                               return true;
+                       }
+
+                       // Bulk activation process.
+                       if ( 'tgmpa-bulk-activate' === $this->current_action() ) {
+                               check_admin_referer( 'bulk-' . $this->_args['plural'] );
+
+                               // Did user actually select any plugins to activate ?
+                               if ( empty( $_POST['plugin'] ) ) {
+                                       echo '<div id="message" class="error"><p>', esc_html__( 'No plugins were selected to be activated. No action taken.', 'shop-isle' ), '</p></div>';
+
+                                       return false;
+                               }
+
+                               // Grab plugin data from $_POST.
+                               $plugins = array();
+                               if ( isset( $_POST['plugin'] ) ) {
+                                       $plugins = array_map( 'urldecode', (array) $_POST['plugin'] );
+                                       $plugins = array_map( array( $this->tgmpa, 'sanitize_key' ), $plugins );
+                               }
+
+                               $plugins_to_activate = array();
+                               $plugin_names        = array();
+
+                               // Grab the file paths for the selected & inactive plugins from the registration array.
+                               foreach ( $plugins as $slug ) {
+                                       if ( $this->tgmpa->can_plugin_activate( $slug ) ) {
+                                               $plugins_to_activate[] = $this->tgmpa->plugins[ $slug ]['file_path'];
+                                               $plugin_names[]        = $this->tgmpa->plugins[ $slug ]['name'];
+                                       }
+                               }
+                               unset( $slug );
+
+                               // Return early if there are no plugins to activate.
+                               if ( empty( $plugins_to_activate ) ) {
+                                       echo '<div id="message" class="error"><p>', esc_html__( 'No plugins are available to be activated at this time.', 'shop-isle' ), '</p></div>';
+
+                                       return false;
+                               }
+
+                               // Now we are good to go - let's start activating plugins.
+                               $activate = activate_plugins( $plugins_to_activate );
+
+                               if ( is_wp_error( $activate ) ) {
+                                       echo '<div id="message" class="error"><p>', wp_kses_post( $activate->get_error_message() ), '</p></div>';
+                               } else {
+                                       $count        = count( $plugin_names ); // Count so we can use _n function.
+                                       $plugin_names = array_map( array( 'TGMPA_Utils', 'wrap_in_strong' ), $plugin_names );
+                                       $last_plugin  = array_pop( $plugin_names ); // Pop off last name to prep for readability.
+                                       $imploded     = empty( $plugin_names ) ? $last_plugin : ( implode( ', ', $plugin_names ) . ' ' . esc_html_x( 'and', 'plugin A *and* plugin B', 'shop-isle' ) . ' ' . $last_plugin );
+
+                                       printf( // WPCS: xss ok.
+                                               '<div id="message" class="updated"><p>%1$s %2$s.</p></div>',
+                                               esc_html( _n( 'The following plugin was activated successfully:', 'The following plugins were activated successfully:', $count, 'shop-isle' ) ),
+                                               $imploded
+                                       );
+
+                                       // Update recently activated plugins option.
+                                       $recent = (array) get_option( 'recently_activated' );
+                                       foreach ( $plugins_to_activate as $plugin => $time ) {
+                                               if ( isset( $recent[ $plugin ] ) ) {
+                                                       unset( $recent[ $plugin ] );
+                                               }
+                                       }
+                                       update_option( 'recently_activated', $recent );
+                               }
+
+                               unset( $_POST ); // Reset the $_POST variable in case user wants to perform one action after another.
+
+                               return true;
+                       }
+
+                       return false;
+               }
+
+               /**
+                * Prepares all of our information to be outputted into a usable table.
+                *
+                * @since 2.2.0
+                */
+               public function prepare_items() {
+                       $columns               = $this->get_columns(); // Get all necessary column information.
+                       $hidden                = array(); // No columns to hide, but we must set as an array.
+                       $sortable              = array(); // No reason to make sortable columns.
+                       $primary               = $this->get_primary_column_name(); // Column which has the row actions.
+                       $this->_column_headers = array( $columns, $hidden, $sortable, $primary ); // Get all necessary column headers.
+
+                       // Process our bulk activations here.
+                       if ( 'tgmpa-bulk-activate' === $this->current_action() ) {
+                               $this->process_bulk_actions();
+                       }
+
+                       // Store all of our plugin data into $items array so WP_List_Table can use it.
+                       $this->items = apply_filters( 'tgmpa_table_data_items', $this->_gather_plugin_data() );
+               }
+
+               /* *********** DEPRECATED METHODS *********** */
+
+               /**
+                * Retrieve plugin data, given the plugin name.
+                *
+                * @since      2.2.0
+                * @deprecated 2.5.0 use {@see TGM_Plugin_Activation::_get_plugin_data_from_name()} instead.
+                * @see        TGM_Plugin_Activation::_get_plugin_data_from_name()
+                *
+                * @param string $name Name of the plugin, as it was registered.
+                * @param string $data Optional. Array key of plugin data to return. Default is slug.
+                * @return string|boolean Plugin slug if found, false otherwise.
+                */
+               protected function _get_plugin_data_from_name( $name, $data = 'slug' ) {
+                       _deprecated_function( __FUNCTION__, 'TGMPA 2.5.0', 'TGM_Plugin_Activation::_get_plugin_data_from_name()' );
+
+                       return $this->tgmpa->_get_plugin_data_from_name( $name, $data );
+               }
+       }
+}
+
+
+if ( ! class_exists( 'TGM_Bulk_Installer' ) ) {
+
+       /**
+        * Hack: Prevent TGMPA v2.4.1- bulk installer class from being loaded if 2.4.1- is loaded after 2.5+.
+        *
+        * @since 2.5.2
+        *
+        * {@internal The TGMPA_Bulk_Installer class was originally called TGM_Bulk_Installer.
+        *            For more information, see that class.}}
+        */
+       class TGM_Bulk_Installer {
+       }
+}
+if ( ! class_exists( 'TGM_Bulk_Installer_Skin' ) ) {
+
+       /**
+        * Hack: Prevent TGMPA v2.4.1- bulk installer skin class from being loaded if 2.4.1- is loaded after 2.5+.
+        *
+        * @since 2.5.2
+        *
+        * {@internal The TGMPA_Bulk_Installer_Skin class was originally called TGM_Bulk_Installer_Skin.
+        *            For more information, see that class.}}
+        */
+       class TGM_Bulk_Installer_Skin {
+       }
+}
+
+/**
+ * The WP_Upgrader file isn't always available. If it isn't available,
+ * we load it here.
+ *
+ * We check to make sure no action or activation keys are set so that WordPress
+ * does not try to re-include the class when processing upgrades or installs outside
+ * of the class.
+ *
+ * @since 2.2.0
+ */
+add_action( 'admin_init', 'tgmpa_load_bulk_installer' );
+if ( ! function_exists( 'tgmpa_load_bulk_installer' ) ) {
+       /**
+        * Load bulk installer
+        */
+       function tgmpa_load_bulk_installer() {
+               // Silently fail if 2.5+ is loaded *after* an older version.
+               if ( ! isset( $GLOBALS['tgmpa'] ) ) {
+                       return;
+               }
+
+               // Get TGMPA class instance.
+               $tgmpa_instance = call_user_func( array( get_class( $GLOBALS['tgmpa'] ), 'get_instance' ) );
+
+               if ( isset( $_GET['page'] ) && $tgmpa_instance->menu === $_GET['page'] ) {
+                       if ( ! class_exists( 'Plugin_Upgrader', false ) ) {
+                               require_once ABSPATH . 'wp-admin/includes/class-wp-upgrader.php';
+                       }
+
+                       if ( ! class_exists( 'TGMPA_Bulk_Installer' ) ) {
+
+                               /**
+                                * Installer class to handle bulk plugin installations.
+                                *
+                                * Extends WP_Upgrader and customizes to suit the installation of multiple
+                                * plugins.
+                                *
+                                * @since 2.2.0
+                                *
+                                * {@internal Since 2.5.0 the class is an extension of Plugin_Upgrader rather than WP_Upgrader.}}
+                                * {@internal Since 2.5.2 the class has been renamed from TGM_Bulk_Installer to TGMPA_Bulk_Installer.
+                                *            This was done to prevent backward compatibility issues with v2.3.6.}}
+                                *
+                                * @package TGM-Plugin-Activation
+                                * @author  Thomas Griffin
+                                * @author  Gary Jones
+                                */
+                               class TGMPA_Bulk_Installer extends Plugin_Upgrader {
+                                       /**
+                                        * Holds result of bulk plugin installation.
+                                        *
+                                        * @since 2.2.0
+                                        *
+                                        * @var string
+                                        */
+                                       public $result;
+
+                                       /**
+                                        * Flag to check if bulk installation is occurring or not.
+                                        *
+                                        * @since 2.2.0
+                                        *
+                                        * @var boolean
+                                        */
+                                       public $bulk = false;
+
+                                       /**
+                                        * TGMPA instance
+                                        *
+                                        * @since 2.5.0
+                                        *
+                                        * @var object
+                                        */
+                                       protected $tgmpa;
+
+                                       /**
+                                        * Whether or not the destination directory needs to be cleared ( = on update).
+                                        *
+                                        * @since 2.5.0
+                                        *
+                                        * @var bool
+                                        */
+                                       protected $clear_destination = false;
+
+                                       /**
+                                        * References parent constructor and sets defaults for class.
+                                        *
+                                        * @since 2.2.0
+                                        *
+                                        * @param \Bulk_Upgrader_Skin|null $skin Installer skin.
+                                        */
+                                       public function __construct( $skin = null ) {
+                                               // Get TGMPA class instance.
+                                               $this->tgmpa = call_user_func( array( get_class( $GLOBALS['tgmpa'] ), 'get_instance' ) );
+
+                                               parent::__construct( $skin );
+
+                                               if ( isset( $this->skin->options['install_type'] ) && 'update' === $this->skin->options['install_type'] ) {
+                                                       $this->clear_destination = true;
+                                               }
+
+                                               if ( $this->tgmpa->is_automatic ) {
+                                                       $this->activate_strings();
+                                               }
+
+                                               add_action( 'upgrader_process_complete', array( $this->tgmpa, 'populate_file_path' ) );
+                                       }
+
+                                       /**
+                                        * Sets the correct activation strings for the installer skin to use.
+                                        *
+                                        * @since 2.2.0
+                                        */
+                                       public function activate_strings() {
+                                               $this->strings['activation_failed']  = __( 'Plugin activation failed.', 'shop-isle' );
+                                               $this->strings['activation_success'] = __( 'Plugin activated successfully.', 'shop-isle' );
+                                       }
+
+                                       /**
+                                        * Performs the actual installation of each plugin.
+                                        *
+                                        * @since 2.2.0
+                                        *
+                                        * @see WP_Upgrader::run()
+                                        *
+                                        * @param array $options The installation config options.
+                                        * @return null|array Return early if error, array of installation data on success.
+                                        */
+                                       public function run( $options ) {
+                                               $result = parent::run( $options );
+
+                                               // Reset the strings in case we changed one during automatic activation.
+                                               if ( $this->tgmpa->is_automatic ) {
+                                                       if ( 'update' === $this->skin->options['install_type'] ) {
+                                                               $this->upgrade_strings();
+                                                       } else {
+                                                               $this->install_strings();
+                                                       }
+                                               }
+
+                                               return $result;
+                                       }
+
+                                       /**
+                                        * Processes the bulk installation of plugins.
+                                        *
+                                        * @since 2.2.0
+                                        *
+                                        * {@internal This is basically a near identical copy of the WP Core
+                                        * Plugin_Upgrader::bulk_upgrade() method, with minor adjustments to deal with
+                                        * new installs instead of upgrades.
+                                        * For ease of future synchronizations, the adjustments are clearly commented, but no other
+                                        * comments are added. Code style has been made to comply.}}
+                                        *
+                                        * @see Plugin_Upgrader::bulk_upgrade()
+                                        * @see https://core.trac.wordpress.org/browser/tags/4.2.1/src/wp-admin/includes/class-wp-upgrader.php#L838
+                                        * (@internal Last synced: Dec 31st 2015 against https://core.trac.wordpress.org/browser/trunk?rev=36134}}
+                                        *
+                                        * @param array $plugins The plugin sources needed for installation.
+                                        * @param array $args    Arbitrary passed extra arguments.
+                                        * @return array|false   Install confirmation messages on success, false on failure.
+                                        */
+                                       public function bulk_install( $plugins, $args = array() ) {
+                                               // [TGMPA + ] Hook auto-activation in.
+                                               add_filter( 'upgrader_post_install', array( $this, 'auto_activate' ), 10 );
+
+                                               $defaults    = array(
+                                                       'clear_update_cache' => true,
+                                               );
+                                               $parsed_args = wp_parse_args( $args, $defaults );
+
+                                               $this->init();
+                                               $this->bulk = true;
+
+                                               $this->install_strings(); // [TGMPA + ] adjusted.
+
+                                               /* [TGMPA - ] $current = get_site_transient( 'update_plugins' ); */
+
+                                               /* [TGMPA - ] add_filter('upgrader_clear_destination', array($this, 'delete_old_plugin'), 10, 4); */
+
+                                               $this->skin->header();
+
+                                               // Connect to the Filesystem first.
+                                               $res = $this->fs_connect( array( WP_CONTENT_DIR, WP_PLUGIN_DIR ) );
+                                               if ( ! $res ) {
+                                                       $this->skin->footer();
+                                                       return false;
+                                               }
+
+                                               $this->skin->bulk_header();
+
+                                               /*
+                                                * Only start maintenance mode if:
+                                                * - running Multisite and there are one or more plugins specified, OR
+                                                * - a plugin with an update available is currently active.
+                                                * @TODO: For multisite, maintenance mode should only kick in for individual sites if at all possible.
+                                                */
+                                               $maintenance = ( is_multisite() && ! empty( $plugins ) );
+
+                                               /*
+                                               [TGMPA - ]
+                                               foreach ( $plugins as $plugin )
+                                                       $maintenance = $maintenance || ( is_plugin_active( $plugin ) && isset( $current->response[ $plugin] ) );
+                                               */
+                                               if ( $maintenance ) {
+                                                       $this->maintenance_mode( true );
+                                               }
+
+                                               $results = array();
+
+                                               $this->update_count   = count( $plugins );
+                                               $this->update_current = 0;
+                                               foreach ( $plugins as $plugin ) {
+                                                       $this->update_current++;
+
+                                                       /*
+                                                       [TGMPA - ]
+                                                       $this->skin->plugin_info = get_plugin_data( WP_PLUGIN_DIR . '/' . $plugin, false, true);
+
+                                                       if ( !isset( $current->response[ $plugin ] ) ) {
+                                                               $this->skin->set_result('up_to_date');
+                                                               $this->skin->before();
+                                                               $this->skin->feedback('up_to_date');
+                                                               $this->skin->after();
+                                                               $results[$plugin] = true;
+                                                               continue;
+                                                       }
+
+                                                       // Get the URL to the zip file.
+                                                       $r = $current->response[ $plugin ];
+
+                                                       $this->skin->plugin_active = is_plugin_active($plugin);
+                                                       */
+
+                                                       $result = $this->run(
+                                                               array(
+                                                                       'package'           => $plugin, // [TGMPA + ] adjusted.
+                                                                       'destination'       => WP_PLUGIN_DIR,
+                                                                       'clear_destination' => false, // [TGMPA + ] adjusted.
+                                                                       'clear_working'     => true,
+                                                                       'is_multi'          => true,
+                                                                       'hook_extra'        => array(
+                                                                               'plugin' => $plugin,
+                                                                       ),
+                                                               )
+                                                       );
+
+                                                       $results[ $plugin ] = $this->result;
+
+                                                       // Prevent credentials auth screen from displaying multiple times.
+                                                       if ( false === $result ) {
+                                                               break;
+                                                       }
+                                               } //end foreach $plugins
+
+                                               $this->maintenance_mode( false );
+
+                                               /**
+                                                * Fires when the bulk upgrader process is complete.
+                                                *
+                                                * @since WP 3.6.0 / TGMPA 2.5.0
+                                                *
+                                                * @param Plugin_Upgrader $this Plugin_Upgrader instance. In other contexts, $this, might
+                                                *                              be a Theme_Upgrader or Core_Upgrade instance.
+                                                * @param array           $data {
+                                                *     Array of bulk item update data.
+                                                *
+                                                *     @type string $action   Type of action. Default 'update'.
+                                                *     @type string $type     Type of update process. Accepts 'plugin', 'theme', or 'core'.
+                                                *     @type bool   $bulk     Whether the update process is a bulk update. Default true.
+                                                *     @type array  $packages Array of plugin, theme, or core packages to update.
+                                                * }
+                                                */
+                                               do_action( 'upgrader_process_complete', $this, array(
+                                                       'action'  => 'install', // [TGMPA + ] adjusted.
+                                                       'type'    => 'plugin',
+                                                       'bulk'    => true,
+                                                       'plugins' => $plugins,
+                                               ) );
+
+                                               $this->skin->bulk_footer();
+
+                                               $this->skin->footer();
+
+                                               // Cleanup our hooks, in case something else does a upgrade on this connection.
+                                               /* [TGMPA - ] remove_filter('upgrader_clear_destination', array($this, 'delete_old_plugin')); */
+
+                                               // [TGMPA + ] Remove our auto-activation hook.
+                                               remove_filter( 'upgrader_post_install', array( $this, 'auto_activate' ), 10 );
+
+                                               // Force refresh of plugin update information.
+                                               wp_clean_plugins_cache( $parsed_args['clear_update_cache'] );
+
+                                               return $results;
+                                       }
+
+                                       /**
+                                        * Handle a bulk upgrade request.
+                                        *
+                                        * @since 2.5.0
+                                        *
+                                        * @see Plugin_Upgrader::bulk_upgrade()
+                                        *
+                                        * @param array $plugins The local WP file_path's of the plugins which should be upgraded.
+                                        * @param array $args    Arbitrary passed extra arguments.
+                                        * @return string|bool Install confirmation messages on success, false on failure.
+                                        */
+                                       public function bulk_upgrade( $plugins, $args = array() ) {
+
+                                               add_filter( 'upgrader_post_install', array( $this, 'auto_activate' ), 10 );
+
+                                               $result = parent::bulk_upgrade( $plugins, $args );
+
+                                               remove_filter( 'upgrader_post_install', array( $this, 'auto_activate' ), 10 );
+
+                                               return $result;
+                                       }
+
+                                       /**
+                                        * Abuse a filter to auto-activate plugins after installation.
+                                        *
+                                        * Hooked into the 'upgrader_post_install' filter hook.
+                                        *
+                                        * @since 2.5.0
+                                        *
+                                        * @param bool $bool The value we need to give back (true).
+                                        * @return bool
+                                        */
+                                       public function auto_activate( $bool ) {
+                                               // Only process the activation of installed plugins if the automatic flag is set to true.
+                                               if ( $this->tgmpa->is_automatic ) {
+                                                       // Flush plugins cache so the headers of the newly installed plugins will be read correctly.
+                                                       wp_clean_plugins_cache();
+
+                                                       // Get the installed plugin file.
+                                                       $plugin_info = $this->plugin_info();
+
+                                                       // Don't try to activate on upgrade of active plugin as WP will do this already.
+                                                       if ( ! is_plugin_active( $plugin_info ) ) {
+                                                               $activate = activate_plugin( $plugin_info );
+
+                                                               // Adjust the success string based on the activation result.
+                                                               $this->strings['process_success'] = $this->strings['process_success'] . "<br />\n";
+
+                                                               if ( is_wp_error( $activate ) ) {
+                                                                       $this->skin->error( $activate );
+                                                                       $this->strings['process_success'] .= $this->strings['activation_failed'];
+                                                               } else {
+                                                                       $this->strings['process_success'] .= $this->strings['activation_success'];
+                                                               }
+                                                       }
+                                               }
+
+                                               return $bool;
+                                       }
+                               }
+                       }
+
+                       if ( ! class_exists( 'TGMPA_Bulk_Installer_Skin' ) ) {
+
+                               /**
+                                * Installer skin to set strings for the bulk plugin installations..
+                                *
+                                * Extends Bulk_Upgrader_Skin and customizes to suit the installation of multiple
+                                * plugins.
+                                *
+                                * @since 2.2.0
+                                *
+                                * {@internal Since 2.5.2 the class has been renamed from TGM_Bulk_Installer_Skin to
+                                *            TGMPA_Bulk_Installer_Skin.
+                                *            This was done to prevent backward compatibility issues with v2.3.6.}}
+                                *
+                                * @see https://core.trac.wordpress.org/browser/trunk/src/wp-admin/includes/class-wp-upgrader-skins.php
+                                *
+                                * @package TGM-Plugin-Activation
+                                * @author  Thomas Griffin
+                                * @author  Gary Jones
+                                */
+                               class TGMPA_Bulk_Installer_Skin extends Bulk_Upgrader_Skin {
+                                       /**
+                                        * Holds plugin info for each individual plugin installation.
+                                        *
+                                        * @since 2.2.0
+                                        *
+                                        * @var array
+                                        */
+                                       public $plugin_info = array();
+
+                                       /**
+                                        * Holds names of plugins that are undergoing bulk installations.
+                                        *
+                                        * @since 2.2.0
+                                        *
+                                        * @var array
+                                        */
+                                       public $plugin_names = array();
+
+                                       /**
+                                        * Integer to use for iteration through each plugin installation.
+                                        *
+                                        * @since 2.2.0
+                                        *
+                                        * @var integer
+                                        */
+                                       public $i = 0;
+
+                                       /**
+                                        * TGMPA instance
+                                        *
+                                        * @since 2.5.0
+                                        *
+                                        * @var object
+                                        */
+                                       protected $tgmpa;
+
+                                       /**
+                                        * Constructor. Parses default args with new ones and extracts them for use.
+                                        *
+                                        * @since 2.2.0
+                                        *
+                                        * @param array $args Arguments to pass for use within the class.
+                                        */
+                                       public function __construct( $args = array() ) {
+                                               // Get TGMPA class instance.
+                                               $this->tgmpa = call_user_func( array( get_class( $GLOBALS['tgmpa'] ), 'get_instance' ) );
+
+                                               // Parse default and new args.
+                                               $defaults = array(
+                                                       'url'          => '',
+                                                       'nonce'        => '',
+                                                       'names'        => array(),
+                                                       'install_type' => 'install',
+                                               );
+                                               $args     = wp_parse_args( $args, $defaults );
+
+                                               // Set plugin names to $this->plugin_names property.
+                                               $this->plugin_names = $args['names'];
+
+                                               // Extract the new args.
+                                               parent::__construct( $args );
+                                       }
+
+                                       /**
+                                        * Sets install skin strings for each individual plugin.
+                                        *
+                                        * Checks to see if the automatic activation flag is set and uses the
+                                        * the proper strings accordingly.
+                                        *
+                                        * @since 2.2.0
+                                        */
+                                       public function add_strings() {
+                                               if ( 'update' === $this->options['install_type'] ) {
+                                                       parent::add_strings();
+                                                       /* translators: 1: plugin name, 2: action number 3: total number of actions. */
+                                                       $this->upgrader->strings['skin_before_update_header'] = __( 'Updating Plugin %1$s (%2$d/%3$d)', 'shop-isle' );
+                                               } else {
+                                                       /* translators: 1: plugin name, 2: error message. */
+                                                       $this->upgrader->strings['skin_update_failed_error'] = __( 'An error occurred while installing %1$s: <strong>%2$s</strong>.', 'shop-isle' );
+                                                       /* translators: 1: plugin name. */
+                                                       $this->upgrader->strings['skin_update_failed'] = __( 'The installation of %1$s failed.', 'shop-isle' );
+
+                                                       if ( $this->tgmpa->is_automatic ) {
+                                                               // Automatic activation strings.
+                                                               $this->upgrader->strings['skin_upgrade_start'] = __( 'The installation and activation process is starting. This process may take a while on some hosts, so please be patient.', 'shop-isle' );
+                                                               /* translators: 1: plugin name. */
+                                                               $this->upgrader->strings['skin_update_successful'] = __( '%1$s installed and activated successfully.', 'shop-isle' ) . ' <a href="#" class="hide-if-no-js" onclick="%2$s"><span>' . esc_html__( 'Show Details', 'shop-isle' ) . '</span><span class="hidden">' . esc_html__( 'Hide Details', 'shop-isle' ) . '</span>.</a>';
+                                                               $this->upgrader->strings['skin_upgrade_end']       = __( 'All installations and activations have been completed.', 'shop-isle' );
+                                                               /* translators: 1: plugin name, 2: action number 3: total number of actions. */
+                                                               $this->upgrader->strings['skin_before_update_header'] = __( 'Installing and Activating Plugin %1$s (%2$d/%3$d)', 'shop-isle' );
+                                                       } else {
+                                                               // Default installation strings.
+                                                               $this->upgrader->strings['skin_upgrade_start'] = __( 'The installation process is starting. This process may take a while on some hosts, so please be patient.', 'shop-isle' );
+                                                               /* translators: 1: plugin name. */
+                                                               $this->upgrader->strings['skin_update_successful'] = esc_html__( '%1$s installed successfully.', 'shop-isle' ) . ' <a href="#" class="hide-if-no-js" onclick="%2$s"><span>' . esc_html__( 'Show Details', 'shop-isle' ) . '</span><span class="hidden">' . esc_html__( 'Hide Details', 'shop-isle' ) . '</span>.</a>';
+                                                               $this->upgrader->strings['skin_upgrade_end']       = __( 'All installations have been completed.', 'shop-isle' );
+                                                               /* translators: 1: plugin name, 2: action number 3: total number of actions. */
+                                                               $this->upgrader->strings['skin_before_update_header'] = __( 'Installing Plugin %1$s (%2$d/%3$d)', 'shop-isle' );
+                                                       }
+                                               }
+                                       }
+
+                                       /**
+                                        * Outputs the header strings and necessary JS before each plugin installation.
+                                        *
+                                        * @since 2.2.0
+                                        *
+                                        * @param string $title Unused in this implementation.
+                                        */
+                                       public function before( $title = '' ) {
+                                               if ( empty( $title ) ) {
+                                                       $title = esc_html( $this->plugin_names[ $this->i ] );
+                                               }
+                                               parent::before( $title );
+                                       }
+
+                                       /**
+                                        * Outputs the footer strings and necessary JS after each plugin installation.
+                                        *
+                                        * Checks for any errors and outputs them if they exist, else output
+                                        * success strings.
+                                        *
+                                        * @since 2.2.0
+                                        *
+                                        * @param string $title Unused in this implementation.
+                                        */
+                                       public function after( $title = '' ) {
+                                               if ( empty( $title ) ) {
+                                                       $title = esc_html( $this->plugin_names[ $this->i ] );
+                                               }
+                                               parent::after( $title );
+
+                                               $this->i++;
+                                       }
+
+                                       /**
+                                        * Outputs links after bulk plugin installation is complete.
+                                        *
+                                        * @since 2.2.0
+                                        */
+                                       public function bulk_footer() {
+                                               // Serve up the string to say installations (and possibly activations) are complete.
+                                               parent::bulk_footer();
+
+                                               // Flush plugins cache so we can make sure that the installed plugins list is always up to date.
+                                               wp_clean_plugins_cache();
+
+                                               $this->tgmpa->show_tgmpa_version();
+
+                                               // Display message based on if all plugins are now active or not.
+                                               $update_actions = array();
+
+                                               if ( $this->tgmpa->is_tgmpa_complete() ) {
+                                                       // All plugins are active, so we display the complete string and hide the menu to protect users.
+                                                       echo '<style type="text/css">#adminmenu .wp-submenu li.current { display: none !important; }</style>';
+                                                       $update_actions['dashboard'] = sprintf(
+                                                               esc_html( $this->tgmpa->strings['complete'] ),
+                                                               '<a href="' . esc_url( self_admin_url() ) . '">' . esc_html__( 'Return to the Dashboard', 'shop-isle' ) . '</a>'
+                                                       );
+                                               } else {
+                                                       $update_actions['tgmpa_page'] = '<a href="' . esc_url( $this->tgmpa->get_tgmpa_url() ) . '" target="_parent">' . esc_html( $this->tgmpa->strings['return'] ) . '</a>';
+                                               }
+
+                                               /**
+                                                * Filter the list of action links available following bulk plugin installs/updates.
+                                                *
+                                                * @since 2.5.0
+                                                *
+                                                * @param array $update_actions Array of plugin action links.
+                                                * @param array $plugin_info    Array of information for the last-handled plugin.
+                                                */
+                                               $update_actions = apply_filters( 'tgmpa_update_bulk_plugins_complete_actions', $update_actions, $this->plugin_info );
+
+                                               if ( ! empty( $update_actions ) ) {
+                                                       $this->feedback( implode( ' | ', (array) $update_actions ) );
+                                               }
+                                       }
+
+                                       /* *********** DEPRECATED METHODS *********** */
+
+                                       /**
+                                        * Flush header output buffer.
+                                        *
+                                        * @since      2.2.0
+                                        * @deprecated 2.5.0 use {@see Bulk_Upgrader_Skin::flush_output()} instead
+                                        * @see        Bulk_Upgrader_Skin::flush_output()
+                                        */
+                                       public function before_flush_output() {
+                                               _deprecated_function( __FUNCTION__, 'TGMPA 2.5.0', 'Bulk_Upgrader_Skin::flush_output()' );
+                                               $this->flush_output();
+                                       }
+
+                                       /**
+                                        * Flush footer output buffer and iterate $this->i to make sure the
+                                        * installation strings reference the correct plugin.
+                                        *
+                                        * @since      2.2.0
+                                        * @deprecated 2.5.0 use {@see Bulk_Upgrader_Skin::flush_output()} instead
+                                        * @see        Bulk_Upgrader_Skin::flush_output()
+                                        */
+                                       public function after_flush_output() {
+                                               _deprecated_function( __FUNCTION__, 'TGMPA 2.5.0', 'Bulk_Upgrader_Skin::flush_output()' );
+                                               $this->flush_output();
+                                               $this->i++;
+                                       }
+                               }
+                       }
+               }
+       }
+}
+
+if ( ! class_exists( 'TGMPA_Utils' ) ) {
+
+       /**
+        * Generic utilities for TGMPA.
+        *
+        * All methods are static, poor-dev name-spacing class wrapper.
+        *
+        * Class was called TGM_Utils in 2.5.0 but renamed TGMPA_Utils in 2.5.1 as this was conflicting with Soliloquy.
+        *
+        * @since 2.5.0
+        *
+        * @package TGM-Plugin-Activation
+        * @author  Juliette Reinders Folmer
+        */
+       class TGMPA_Utils {
+               /**
+                * Whether the PHP filter extension is enabled.
+                *
+                * @see http://php.net/book.filter
+                *
+                * @since 2.5.0
+                *
+                * @static
+                *
+                * @var bool $has_filters True is the extension is enabled.
+                */
+               public static $has_filters;
+
+               /**
+                * Wrap an arbitrary string in <em> tags. Meant to be used in combination with array_map().
+                *
+                * @since 2.5.0
+                *
+                * @static
+                *
+                * @param string $string Text to be wrapped.
+                * @return string
+                */
+               public static function wrap_in_em( $string ) {
+                       return '<em>' . wp_kses_post( $string ) . '</em>';
+               }
+
+               /**
+                * Wrap an arbitrary string in <strong> tags. Meant to be used in combination with array_map().
+                *
+                * @since 2.5.0
+                *
+                * @static
+                *
+                * @param string $string Text to be wrapped.
+                * @return string
+                */
+               public static function wrap_in_strong( $string ) {
+                       return '<strong>' . wp_kses_post( $string ) . '</strong>';
+               }
+
+               /**
+                * Helper function: Validate a value as boolean
+                *
+                * @since 2.5.0
+                *
+                * @static
+                *
+                * @param mixed $value Arbitrary value.
+                * @return bool
+                */
+               public static function validate_bool( $value ) {
+                       if ( ! isset( self::$has_filters ) ) {
+                               self::$has_filters = extension_loaded( 'filter' );
+                       }
+
+                       if ( self::$has_filters ) {
+                               return filter_var( $value, FILTER_VALIDATE_BOOLEAN );
+                       } else {
+                               return self::emulate_filter_bool( $value );
+                       }
+               }
+
+               /**
+                * Helper function: Cast a value to bool
+                *
+                * @since 2.5.0
+                *
+                * @static
+                *
+                * @param mixed $value Value to cast.
+                * @return bool
+                */
+               protected static function emulate_filter_bool( $value ) {
+                       // @codingStandardsIgnoreStart
+                       static $true  = array(
+                               '1',
+                               'true', 'True', 'TRUE',
+                               'y', 'Y',
+                               'yes', 'Yes', 'YES',
+                               'on', 'On', 'ON',
+                       );
+                       static $false = array(
+                               '0',
+                               'false', 'False', 'FALSE',
+                               'n', 'N',
+                               'no', 'No', 'NO',
+                               'off', 'Off', 'OFF',
+                       );
+                       // @codingStandardsIgnoreEnd
+
+                       if ( is_bool( $value ) ) {
+                               return $value;
+                       } elseif ( is_int( $value ) && ( 0 === $value || 1 === $value ) ) {
+                               return (bool) $value;
+                       } elseif ( ( is_float( $value ) && ! is_nan( $value ) ) && ( (float) 0 === $value || (float) 1 === $value ) ) {
+                               return (bool) $value;
+                       } elseif ( is_string( $value ) ) {
+                               $value = trim( $value );
+                               if ( in_array( $value, $true, true ) ) {
+                                       return true;
+                               } elseif ( in_array( $value, $false, true ) ) {
+                                       return false;
+                               } else {
+                                       return false;
+                               }
+                       }
+
+                       return false;
+               }
+       } // End of class TGMPA_Utils
+} // End of class_exists wrapper
diff --git a/templates/shop-isle/comments.php b/templates/shop-isle/comments.php
new file mode 100644 (file)
index 0000000..a92709c
--- /dev/null
@@ -0,0 +1,79 @@
+<?php
+/**
+ * The template for displaying comments.
+ *
+ * The area of the page that contains both current comments
+ * and the comment form.
+ *
+ * @package WordPress
+ * @subpackage Shop Isle
+ */
+
+/*
+ * If the current post is protected by a password and
+ * the visitor has not yet entered the password we will
+ * return early without loading the comments.
+ */
+if ( post_password_required() ) {
+       return;
+}
+?>
+
+<div id="comments" class="comments-area">
+
+       <?php if ( have_comments() ) : ?>
+               <h2 class="comments-title">
+                       <?php
+                       $comments_number = get_comments_number();
+                       printf(
+                               /* translators: 1: number of comments, 2: post title */
+                               _nx(
+                                       '%1$s thought on &ldquo;%2$s&rdquo;',
+                                       '%1$s thoughts on &ldquo;%2$s&rdquo;',
+                                       $comments_number,
+                                       'comments title',
+                                       'shop-isle'
+                               ),
+                               number_format_i18n( $comments_number ),
+                               '<span>' . get_the_title() . '</span>'
+                       );
+                       ?>
+               </h2>
+
+               <?php if ( get_comment_pages_count() > 1 && get_option( 'page_comments' ) ) : ?>
+                       <nav id="comment-nav-above" class="comment-navigation" role="navigation">
+                               <h1 class="screen-reader-text"><?php _e( 'Comment navigation', 'shop-isle' ); ?></h1>
+                               <div class="nav-previous"><?php previous_comments_link( __( '&larr; Older Comments', 'shop-isle' ) ); ?></div>
+                               <div class="nav-next"><?php next_comments_link( __( 'Newer Comments &rarr;', 'shop-isle' ) ); ?></div>
+                       </nav><!-- #comment-nav-above -->
+               <?php endif; ?>
+
+               <ol class="comment-list">
+                       <?php
+                       wp_list_comments(
+                               array(
+                                       'style'         => 'ol',
+                                       'short_ping'    => true,
+                                       'callback'      => 'shop_isle_comment',
+                               )
+                       );
+                       ?>
+               </ol><!-- .comment-list -->
+
+               <?php if ( get_comment_pages_count() > 1 && get_option( 'page_comments' ) ) : ?>
+                       <nav id="comment-nav-below" class="comment-navigation" role="navigation">
+                               <h1 class="screen-reader-text"><?php _e( 'Comment navigation', 'shop-isle' ); ?></h1>
+                               <div class="nav-previous"><?php previous_comments_link( __( '&larr; Older Comments', 'shop-isle' ) ); ?></div>
+                               <div class="nav-next"><?php next_comments_link( __( 'Newer Comments &rarr;', 'shop-isle' ) ); ?></div>
+                       </nav><!-- #comment-nav-below -->
+               <?php endif; ?>
+
+       <?php endif; ?>
+
+       <?php if ( ! comments_open() && '0' != get_comments_number() && post_type_supports( get_post_type(), 'comments' ) ) : ?>
+               <p class="no-comments"><?php _e( 'Comments are closed.', 'shop-isle' ); ?></p>
+       <?php endif; ?>
+
+       <?php comment_form(); ?>
+
+</div><!-- #comments -->
diff --git a/templates/shop-isle/content-contact.php b/templates/shop-isle/content-contact.php
new file mode 100644 (file)
index 0000000..69ee247
--- /dev/null
@@ -0,0 +1,57 @@
+<?php
+/**
+ * Contact section.
+ *
+ * @package WordPress
+ * @subpackage Shop Isle
+ */
+?>
+               <section class="module">
+                       <div class="container">
+
+                               <div class="row">
+                               
+                                       <?php
+
+                                               $shop_isle_contact_page_form_shortcode = get_theme_mod( 'shop_isle_contact_page_form_shortcode' );
+
+                                               $is_content = $post->post_content !== '' ? true : false;
+                                               $is_shotcode = ! empty( $shop_isle_contact_page_form_shortcode ) ? true : false;
+
+                                       if ( $is_shotcode ) {
+
+                                               echo '<div class="col-xs-12  ' . ( $is_content ? 'col-sm-6' : 'col-sm-12' ) . ' contact-page-form">';
+
+                                               echo do_shortcode( $shop_isle_contact_page_form_shortcode );
+
+                                               echo '</div>';
+
+                                       }
+
+                                       if ( $is_content ) {
+
+                                               echo '<div class="col-xs-12 ' . ( $is_shotcode ? 'col-sm-6' : 'col-sm-12' ) . '">';
+
+                                               the_content();
+
+                                               echo '</div>';
+                                       }
+
+                                       ?>
+
+                               </div><!-- .row -->
+
+                       </div>
+               </section>
+               <!-- Contact end -->
+
+               <!-- Map start -->
+               <?php
+                       $shop_isle_contact_page_map_shortcode = get_theme_mod( 'shop_isle_contact_page_map_shortcode' );
+               if ( ! empty( $shop_isle_contact_page_map_shortcode ) ) :
+                       echo '<section id="map-section">';
+                       echo '<div id="map">' . do_shortcode( $shop_isle_contact_page_map_shortcode ) . '</div>';
+                       echo '</section>';
+                       endif;
+               ?>
+               <!-- Map end -->
diff --git a/templates/shop-isle/content-none.php b/templates/shop-isle/content-none.php
new file mode 100644 (file)
index 0000000..ae4b8c6
--- /dev/null
@@ -0,0 +1,40 @@
+<?php
+/**
+ * The template part for displaying a message that posts cannot be found.
+ *
+ * Learn more: http://codex.wordpress.org/Template_Hierarchy
+ *
+ * @package shop-isle
+ */
+?>
+
+<section class="no-results not-found">
+       <header class="page-header">
+               <h1 class="page-title"><?php _e( 'Nothing Found', 'shop-isle' ); ?></h1>
+       </header><!-- .page-header -->
+
+       <div class="page-content">
+               <?php if ( is_home() && current_user_can( 'publish_posts' ) ) : ?>
+
+                       <p>
+                       <?php
+                       printf(
+                               /* translators: 1: link to new post page */
+                               __( 'Ready to publish your first post? <a href="%1$s">Get started here</a>.', 'shop-isle' ), esc_url( admin_url( 'post-new.php' ) )
+                       );
+                       ?>
+                       </p>
+
+               <?php elseif ( is_search() ) : ?>
+
+                       <p><?php _e( 'Sorry, but nothing matched your search terms. Please try again with some different keywords.', 'shop-isle' ); ?></p>
+                       <?php get_search_form(); ?>
+
+               <?php else : ?>
+
+                       <p><?php _e( 'It seems we can&rsquo;t find what you&rsquo;re looking for. Perhaps searching can help.', 'shop-isle' ); ?></p>
+                       <?php get_search_form(); ?>
+
+               <?php endif; ?>
+       </div><!-- .page-content -->
+</section><!-- .no-results -->
diff --git a/templates/shop-isle/content-page.php b/templates/shop-isle/content-page.php
new file mode 100644 (file)
index 0000000..439bf4c
--- /dev/null
@@ -0,0 +1,20 @@
+<?php
+/**
+ * Template part for displaying page content in page.php.
+ *
+ * @link https://codex.wordpress.org/Template_Hierarchy
+ *
+ * @package WordPress
+ * @subpackage Shop Isle
+ */
+?>
+
+<article id="post-<?php the_ID(); ?>" <?php post_class(); ?>>
+       <?php
+
+       /*
+        * @hooked shop_isle_page_content - 20
+        */
+       do_action( 'shop_isle_page' );
+       ?>
+</article><!-- #post-## -->
diff --git a/templates/shop-isle/content-pagebuilder.php b/templates/shop-isle/content-pagebuilder.php
new file mode 100644 (file)
index 0000000..a140997
--- /dev/null
@@ -0,0 +1,12 @@
+<?php
+/**
+ * The default template for displaying content on page builders templates.
+ *
+ * Used for page builder full width and page builder blank.
+ *
+ * @package Shop Isle
+ * @author Themeisle
+ */ ?>
+<article id="post-<?php the_ID(); ?>" class="pagebuilder-section">
+       <?php the_content(); ?>
+</article>
diff --git a/templates/shop-isle/content-single.php b/templates/shop-isle/content-single.php
new file mode 100644 (file)
index 0000000..1297888
--- /dev/null
@@ -0,0 +1,19 @@
+<?php
+/**
+ * Template part for displaying posts.
+ *
+ * @link https://codex.wordpress.org/Template_Hierarchy
+ *
+ * @package WordPress
+ * @subpackage Shop Isle
+ */
+
+
+       /*
+        * @hooked shop_isle_post_header - 10
+        * @hooked shop_isle_post_meta - 20
+        * @hooked shop_isle_post_content - 30
+        */
+       do_action( 'shop_isle_single_post' );
+
+
diff --git a/templates/shop-isle/content.php b/templates/shop-isle/content.php
new file mode 100644 (file)
index 0000000..6c66c35
--- /dev/null
@@ -0,0 +1,24 @@
+<?php
+/**
+ * Template part for displaying posts.
+ *
+ * @link https://codex.wordpress.org/Template_Hierarchy
+ *
+ * @package WordPress
+ * @subpackage Shop Isle
+ */
+?>
+
+<div <?php post_class( 'post' ); ?> id="post-<?php the_ID(); ?>" itemscope="" itemtype="http://schema.org/BlogPosting">
+
+       <?php
+
+       /*
+        * @hooked shop_isle_post_header() - 10
+        * @hooked shop_isle_post_meta() - 20
+        * @hooked shop_isle_post_content() - 30
+        */
+       do_action( 'shop_isle_loop_post' );
+       ?>
+
+</div><!-- #post-## -->
diff --git a/templates/shop-isle/footer.php b/templates/shop-isle/footer.php
new file mode 100644 (file)
index 0000000..a02a8b2
--- /dev/null
@@ -0,0 +1,28 @@
+<?php
+/**
+ * The template for displaying the footer.
+ *
+ * Contains the closing of the #content div and all content after
+ *
+ * @package WordPress
+ * @subpackage Shop Isle
+ */
+?>
+<?php do_action( 'shop_isle_before_footer' ); ?>
+
+       <?php do_action( 'shop_isle_footer' ); ?>
+       
+       </div>
+       <!-- Wrapper end -->
+       
+       <!-- Scroll-up -->
+       <div class="scroll-up">
+               <a href="#totop"><i class="arrow_carrot-2up"></i></a>
+       </div>
+
+       <?php do_action( 'shop_isle_after_footer' ); ?>
+
+<?php wp_footer(); ?>
+
+</body>
+</html>
diff --git a/templates/shop-isle/front-page.php b/templates/shop-isle/front-page.php
new file mode 100644 (file)
index 0000000..bce6724
--- /dev/null
@@ -0,0 +1,55 @@
+<?php
+/**
+ * The front-page.php
+ *
+ * @package ShopIsle
+ */
+
+get_header();
+/* Wrapper start */
+
+echo '<div class="main">';
+$big_title = get_template_directory() . '/inc/sections/shop_isle_big_title_section.php';
+load_template( apply_filters( 'shop-isle-subheader', $big_title ) );
+
+/* Wrapper start */
+$shop_isle_bg = get_theme_mod( 'background_color' );
+
+if ( isset( $shop_isle_bg ) && $shop_isle_bg != '' ) {
+       echo '<div class="main front-page-main" style="background-color: #' . $shop_isle_bg . '">';
+} else {
+
+       echo '<div class="main front-page-main" style="background-color: #FFF">';
+
+}
+
+if ( defined( 'WCCM_VERISON' ) ) {
+
+       /* Woocommerce compare list plugin */
+       echo '<section class="module-small wccm-frontpage-compare-list">';
+       echo '<div class="container">';
+       do_action( 'shop_isle_wccm_compare_list' );
+       echo '</div>';
+       echo '</section>';
+
+}
+
+/******  Banners Section *******/
+$banners_section = get_template_directory() . '/inc/sections/shop_isle_banners_section.php';
+require_once( $banners_section );
+
+/******* Products Section *********/
+$latest_products = get_template_directory() . '/inc/sections/shop_isle_products_section.php';
+require_once( $latest_products );
+
+/******* Video Section *********/
+$video = get_template_directory() . '/inc/sections/shop_isle_video_section.php';
+require_once( $video );
+
+/******* Products Slider Section *********/
+$products_slider = get_template_directory() . '/inc/sections/shop_isle_products_slider_section.php';
+require_once( $products_slider );
+
+
+get_footer();
+
diff --git a/templates/shop-isle/functions.php b/templates/shop-isle/functions.php
new file mode 100644 (file)
index 0000000..3d197c9
--- /dev/null
@@ -0,0 +1,17 @@
+<?php
+/**
+ * Main functions file
+ *
+ * @package WordPress
+ * @subpackage Shop Isle
+ */
+
+/**
+ * Initialize all the things.
+ */
+require get_template_directory() . '/inc/init.php';
+
+/**
+ * Note: Do not add any custom code here. Please use a child theme so that your customizations aren't lost during updates.
+ * http://codex.wordpress.org/Child_Themes
+ */
diff --git a/templates/shop-isle/header.php b/templates/shop-isle/header.php
new file mode 100644 (file)
index 0000000..c33800c
--- /dev/null
@@ -0,0 +1,48 @@
+<?php
+/**
+ * The header for our theme.
+ *
+ * @package shop-isle
+ */
+?><!DOCTYPE html>
+<html <?php language_attributes(); ?> <?php shop_isle_html_tag_schema(); ?>>
+<head>
+<meta charset="<?php bloginfo( 'charset' ); ?>">
+<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
+<link rel="profile" href="http://gmpg.org/xfn/11">
+<?php if ( is_singular() && pings_open( get_queried_object() ) ) { ?>
+       <link rel="pingback" href="<?php bloginfo( 'pingback_url' ); ?>">
+<?php } ?>
+
+<?php wp_head(); ?>
+</head>
+
+<body <?php body_class(); ?>>
+
+       <?php do_action( 'shop_isle_before_header' ); ?>
+
+       <!-- Preloader -->
+       <?php
+
+       /* Preloader */
+       if ( is_front_page() && ! is_customize_preview() && get_option( 'show_on_front' ) != 'page' ) :
+
+               $shop_isle_disable_preloader = get_theme_mod( 'shop_isle_disable_preloader' );
+
+               if ( isset( $shop_isle_disable_preloader ) && ($shop_isle_disable_preloader != 1) ) :
+
+                       echo '<div class="page-loader">';
+                               echo '<div class="loader">' . __( 'Loading...','shop-isle' ) . '</div>';
+                       echo '</div>';
+
+               endif;
+
+       endif;
+
+
+
+       ?>
+       
+       <?php do_action( 'shop_isle_header' ); ?>
+
+       <?php do_action( 'shop_isle_after_header' ); ?>
diff --git a/templates/shop-isle/home.php b/templates/shop-isle/home.php
new file mode 100644 (file)
index 0000000..56c8ed9
--- /dev/null
@@ -0,0 +1,167 @@
+<?php
+/**
+ * The home.php template.
+ *
+ * The template to display the home.php content.
+ *
+ * @package WordPress
+ * @subpackage Shop Isle
+ */
+get_header(); ?>
+
+       <!-- Wrapper start -->
+       <div class="main">
+
+       <!-- Header section start -->
+<?php
+$shop_isle_header_image = get_header_image();
+if ( ! empty( $shop_isle_header_image ) ) :
+       echo '<section class="page-header-module module bg-dark" data-background="' . esc_url( $shop_isle_header_image ) . '">';
+else :
+       echo '<section class="module bg-dark">';
+endif;
+?>
+               <div class="container">
+
+                       <div class="row">
+
+                               <div class="col-sm-10 col-sm-offset-1">
+
+                                       <?php
+                                       $shop_isle_blog_header_title = get_theme_mod( 'shop_isle_blog_header_title', __( 'Blog','shop-isle' ) );
+                                       if ( ! empty( $shop_isle_blog_header_title ) ) {
+                                               echo '<h1 class="module-title font-alt shop-isle-blog-header-title">';
+                                               echo $shop_isle_blog_header_title;
+                                               echo '</h1>';
+                                       } elseif ( is_customize_preview() ) {
+                                               echo '<h1 class="module-title font-alt shop-isle-blog-header-title shop_isle_hidden_if_not_customizer"></h1>';
+                                       }
+                                       $shop_isle_blog_header_subtitle = get_theme_mod( 'shop_isle_blog_header_subtitle' );
+                                       if ( ! empty( $shop_isle_blog_header_subtitle ) ) {
+                                               echo '<div class="module-subtitle font-serif mb-0 shop-isle-blog-header-subtitle">';
+                                               echo $shop_isle_blog_header_subtitle;
+                                               echo '</div>';
+                                       } elseif ( is_customize_preview() ) {
+                                               echo '<div class="module-subtitle font-serif mb-0 shop-isle-blog-header-subtitle shop_isle_hidden_if_not_customizer"></div>';
+                                       }
+
+                                       ?>
+
+                               </div><!-- .col-sm-10 col-sm-offset-1 -->
+
+                       </div><!-- .row -->
+
+               </div><!-- .container -->
+
+<?php
+echo '</section><!-- .module -->';
+?>
+       <!-- Header section end -->
+
+       <!-- Blog standard start -->
+<?php
+$shop_isle_posts_per_page = get_option( 'posts_per_page' ); /* number of latest posts to show */
+
+if ( ! empty( $shop_isle_posts_per_page ) && ($shop_isle_posts_per_page > 0) ) :
+
+       $shop_isle_query = new WP_Query(
+               array(
+                       'post_type' => 'post',
+                       'posts_per_page' => $shop_isle_posts_per_page,
+                       'paged' => ( get_query_var( 'paged' ) ? get_query_var( 'paged' ) : 1 ),
+               )
+       );
+
+
+
+       if ( have_posts() ) {
+
+               ?>
+               <section class="module">
+                       <div class="container">
+
+                               <div class="row">
+
+                                       <!-- Content column start -->
+                                       <div class="col-sm-8" id="shop-isle-blog-container">
+                                               <?php
+
+                                               while ( $shop_isle_query->have_posts() ) {
+                                                       $shop_isle_query->the_post();
+
+                                                       ?>
+                                                       <div id="post-<?php the_ID(); ?>" <?php post_class( 'post' ); ?> itemscope="" itemtype="http://schema.org/BlogPosting">
+
+                                                               <?php
+                                                               if ( has_post_thumbnail() ) {
+                                                                       echo '<div class="post-thumbnail">';
+                                                                       echo '<a href="' . esc_url( get_permalink() ) . '">';
+                                                                       echo get_the_post_thumbnail( $post->ID, 'shop_isle_blog_image_size' );
+                                                                       echo '</a>';
+                                                                       echo '</div>';
+                                                               }
+                                                               ?>
+
+                                                               <div class="post-header font-alt">
+                                                                       <h2 class="post-title"><a href="<?php echo esc_url( get_permalink() ); ?>"><?php the_title(); ?></a></h2>
+                                                                       <div class="post-meta">
+                                                                               <?php
+                                                                               shop_isle_posted_on();
+                                                                               ?>
+
+                                                                       </div>
+                                                               </div>
+
+                                                               <div class="post-entry">
+                                                                       <?php
+                                                                       $shop_isleismore = strpos( $post->post_content, '<!--more-->' );
+                                                                       if ( $shop_isleismore ) :
+                                                                               the_content();
+                                                                       else :
+                                                                               the_excerpt();
+                                                                       endif;
+                                                                       ?>
+                                                               </div>
+
+                                                               <div class="post-more">
+                                                                       <a href="<?php echo esc_url( get_permalink() ); ?>" class="more-link"><?php esc_html_e( 'Read more','shop-isle' ); ?></a>
+                                                               </div>
+
+                                                       </div>
+                                                       <?php
+
+                                               }// End while().
+
+                                               ?>
+
+                                               <!-- Pagination start-->
+                                               <div class="pagination font-alt">
+                                                       <?php next_posts_link( __( '<span class="meta-nav">&laquo;</span> Older posts', 'shop-isle' ), $shop_isle_query->max_num_pages ); ?>
+                                                       <?php previous_posts_link( __( 'Newer posts <span class="meta-nav">&raquo;</span>', 'shop-isle' ), $shop_isle_query->max_num_pages ); ?>
+                                               </div>
+                                               <!-- Pagination end -->
+                                       </div>
+                                       <!-- Content column end -->
+
+                                       <!-- Sidebar column start -->
+                                       <div class="col-sm-4 col-md-3 col-md-offset-1 sidebar">
+
+                                               <?php do_action( 'shop_isle_sidebar' ); ?>
+
+                                       </div>
+                                       <!-- Sidebar column end -->
+
+                               </div><!-- .row -->
+
+                       </div>
+               </section>
+               <!-- Blog standard end -->
+
+               <?php
+       }// End if().
+
+endif;
+
+?>
+
+<?php get_footer(); ?>
diff --git a/templates/shop-isle/inc/customizer/class/class-shop-isle-pro-palette.php b/templates/shop-isle/inc/customizer/class/class-shop-isle-pro-palette.php
new file mode 100644 (file)
index 0000000..b89db8a
--- /dev/null
@@ -0,0 +1,87 @@
+<?php
+/**
+ * A class to create a dropdown for theme colors
+ *
+ * @package WordPress
+ * @subpackage Shop Isle
+ */
+
+/**
+ * Class Shop_Isle_Pro_Palette
+ */
+class Shop_Isle_Pro_Palette extends WP_Customize_Control {
+
+        /**
+         * Render the content of the category dropdown
+         */
+       public function render_content() {
+
+               $values = $this->value();
+               $json = json_decode( $values );
+
+               $shop_isle_pro_pallete = array(
+                       array(
+                               'pallete_name' => 'p1',
+                               'color1' => '#2C3E50',
+                               'color2' => '#6DBCDB',
+                               'color3' => '#2C3E50',
+                               'color4' => '#FC4349',
+                               'color5' => '#FFFFFF',
+                       ),
+                       array(
+                               'pallete_name' => 'p2',
+                               'color1' => '#F2385A',
+                               'color2' => '#31656B',
+                               'color3' => '#29474A',
+                               'color4' => '#4AD9D9',
+                               'color5' => '#FAFFF4',
+                       ),
+                       array(
+                               'pallete_name' => 'p3',
+                               'color1' => '#DB9E36',
+                               'color2' => '#105B63',
+                               'color3' => '#105B63',
+                               'color4' => '#BD4932',
+                               'color5' => '#FFFFF5',
+                       ),
+               );
+               ?>
+               <label>
+                       <span class="customize-control-title"><?php echo esc_html( $this->label ); ?></span>
+               </label>
+               <div class="shop_isle_pro_palette_selected">
+                       <div class="shop_isle_pro_palette_input">
+                               <?php
+                               if ( ! empty( $json ) ) {
+                                       foreach ( $json as $color ) {
+                                               echo '<span style="background-color:' . $color . '"></span>';
+                                       }
+                               } else {
+                                       esc_html_e( 'Default','shop-isle' );
+                               }
+                               ?>
+                       </div>
+                       <div class="shop_isle_pro_dropdown">&#x25BC;</div>
+               </div>
+               <ul class="shop_isle_pro_palette_picker">
+                       <?php
+                               echo '<li class="shop_isle_pro_pallete_default">';
+                                        esc_html_e( 'Default','shop-isle' );
+                               echo '</li>';
+                       foreach ( $shop_isle_pro_pallete as $pallete ) {
+                               echo '<li class="' . esc_attr( $pallete['pallete_name'] ) . '">';
+                               echo '<span style="background-color:' . $pallete['color1'] . '"></span>';
+                               echo '<span style="background-color:' . $pallete['color2'] . '"></span>';
+                               echo '<span style="background-color:' . $pallete['color3'] . '"></span>';
+                               echo '<span style="background-color:' . $pallete['color4'] . '"></span>';
+                               echo '<span style="background-color:' . $pallete['color5'] . '"></span>';
+                               echo '</li>';
+                       }
+                       ?>
+               </ul>
+               <input class='shop_isle_pro_palette_colector' type='hidden' value='' <?php esc_attr( $this->link() ); ?> />
+               <?php
+       }
+}
+
+?>
diff --git a/templates/shop-isle/inc/customizer/class/class-shopisle-contact-page-instructions.php b/templates/shop-isle/inc/customizer/class/class-shopisle-contact-page-instructions.php
new file mode 100644 (file)
index 0000000..3102841
--- /dev/null
@@ -0,0 +1,24 @@
+<?php
+/**
+ * Contact page template instructions.
+ *
+ * @package WordPress
+ * @subpackage Shop Isle
+ */
+
+
+/**
+ * Class ShopIsle_Contact_Page_Instructions
+ */
+class ShopIsle_Contact_Page_Instructions extends WP_Customize_Control {
+
+       /**
+        * Render Content Function
+        */
+       public function render_content() {
+               echo __( 'To customize the Contact Page you need to first select the template "Contact page" for the page you want to use for this purpose. Then open that page in the browser and press "Customize" in the top bar.', 'shop-isle' ) . '<br><br>' . sprintf(
+                       /* translators: 1: Link to documentation page. 2: 'doc' */
+                       __( 'Need further informations? Check this %1$s', 'shop-isle' ), sprintf( '<a href="http://docs.themeisle.com/article/211-shopisle-customizing-the-contact-and-about-us-page" target="_blank">%s</a>', __( 'doc', 'shop-isle' ) )
+               );
+       }
+}
diff --git a/templates/shop-isle/inc/customizer/class/class-shopisle-info.php b/templates/shop-isle/inc/customizer/class/class-shopisle-info.php
new file mode 100644 (file)
index 0000000..c57a022
--- /dev/null
@@ -0,0 +1,45 @@
+<?php
+/**
+ * Theme info control for customizer.
+ *
+ * @package Shopisle
+ */
+if ( ! class_exists( 'WP_Customize_Control' ) ) {
+       return;
+}
+/**
+ * Class ShopIsle_Info
+ */
+class ShopIsle_Info extends WP_Customize_Control {
+       /**
+        * The links for the control.
+        *
+        * @var links links to add to the control.
+        */
+       public $links;
+       /**
+        * Enqueue required scripts and styles.
+        */
+       public function enqueue() {
+               wp_enqueue_style( 'shopisle-theme-info-control', get_template_directory_uri() . '/assets/css/admin-style.css','1.0.0' );
+       }
+       /**
+        * The render function for the controler
+        */
+       public function render_content() {
+               ?>
+
+
+               <div class="shopisle-theme-info">
+                       <?php
+                       foreach ( $this->links as $item ) {
+                       ?>
+                               <a href="<?php echo esc_url( $item['link'] ); ?>" target="_blank"><?php echo esc_html( $item['name'] ); ?></a>
+                               <hr/>
+                               <?php
+                       }
+                       ?>
+               </div>
+               <?php
+       }
+}
diff --git a/templates/shop-isle/inc/customizer/customize-pro/class-shopisle-customizer-upsell-main.php b/templates/shop-isle/inc/customizer/customize-pro/class-shopisle-customizer-upsell-main.php
new file mode 100644 (file)
index 0000000..dd5a5fa
--- /dev/null
@@ -0,0 +1,94 @@
+<?php
+/**
+ * The customizer upsell.
+ *
+ * Pro customizer section.
+ *
+ * @package WordPress
+ * @subpackage Shop Isle
+ */
+
+/**
+ * Class Shopisle_Customizer_Upsell_Main
+ *
+ * @since  1.0.0
+ * @access public
+ */
+class Shopisle_Customizer_Upsell_Main extends WP_Customize_Section {
+
+       /**
+        * The type of customize section being rendered.
+        *
+        * @since  1.0.0
+        * @access public
+        * @var    string
+        */
+       public $type = 'shopisle-upsell';
+
+       /**
+        * Upsell title to output.
+        *
+        * @since  1.0.0
+        * @access public
+        * @var    string
+        */
+       public $upsell_title = '';
+
+       /**
+        * Label text to output.
+        *
+        * @since  1.0.0
+        * @access public
+        * @var    string
+        */
+       public $label_text = '';
+
+       /**
+        * Label URL.
+        *
+        * @since  1.0.0
+        * @access public
+        * @var    string
+        */
+       public $label_url = '';
+
+       /**
+        * Add custom parameters to pass to the JS via JSON.
+        *
+        * @since  1.0.0
+        * @access public
+        */
+       public function json() {
+               $json = parent::json();
+
+               $json['upsell_title'] = $this->upsell_title;
+               $json['label_text']   = $this->label_text;
+               $json['label_url']    = esc_url( $this->label_url );
+
+               return $json;
+       }
+
+       /**
+        * Outputs the Underscore.js template.
+        *
+        * @since  1.0.0
+        * @access public
+        * @return void
+        */
+       protected function render_template() {
+               ?>
+
+               <li id="accordion-section-{{ data.id }}"
+                       class="accordion-section control-section control-section-{{ data.type }} cannot-expand">
+                       <h3 class="accordion-section-title">
+                               {{data.upsell_title}}
+                               <# if ( data.label_text && data.label_url ) { #>
+                                       <a class="button button-secondary alignright" href="{{data.label_url}}" target="_blank">
+                                               {{data.label_text}}
+                                       </a>
+                                       <# } #>
+                       </h3>
+               </li>
+               <?php
+       }
+}
diff --git a/templates/shop-isle/inc/customizer/customize-pro/class-shopisle-customizer-upsell-section.php b/templates/shop-isle/inc/customizer/customize-pro/class-shopisle-customizer-upsell-section.php
new file mode 100644 (file)
index 0000000..58aa9e5
--- /dev/null
@@ -0,0 +1,123 @@
+<?php
+/**
+ * The upsell for the frontpage sections
+ *
+ * Pro customizer section.
+ *
+ * @package WordPress
+ * @subpackage Shop Isle
+ */
+
+/**
+ * Class Themeisle_Section_Upsell
+ */
+class Shopisle_Customizer_Upsell_Section extends WP_Customize_Section {
+
+       /**
+        * The type of customize section being rendered.
+        *
+        * @since  1.0.0
+        * @access public
+        * @var    string
+        */
+       public $type = 'shopisle-upsell-section';
+
+       /**
+        * Upsell text to output.
+        *
+        * @since  1.0.0
+        * @access public
+        * @var    string
+        */
+       public $upsell_text = '';
+
+       /**
+        * Button text to output.
+        *
+        * @since  1.0.0
+        * @access public
+        * @var    string
+        */
+       public $button_text = '';
+
+       /**
+        * Button link to output.
+        *
+        * @since  1.0.0
+        * @access public
+        * @var    string
+        */
+       public $button_url = '#';
+
+       /**
+        * List of theme options to output.
+        *
+        * @since  1.0.0
+        * @access public
+        * @var    array
+        */
+       public $options = array();
+
+       /**
+        * List of additional explanations to output.
+        *
+        * @since  1.0.0
+        * @access public
+        * @var    array
+        */
+       public $explained_features = array();
+
+       /**
+        * Shopisle_Customizer_Upsell_Section constructor.
+        */
+       public function __construct( WP_Customize_Manager $manager, $id, array $args ) {
+               $manager->register_section_type( 'Shopisle_Customizer_Upsell_Section' );
+               parent::__construct( $manager, $id, $args );
+
+       }
+
+       /**
+        * Add custom parameters to pass to the JS via JSON.
+        */
+       public function json() {
+               $json                       = parent::json();
+               $json['button_text']        = esc_html( $this->button_text );
+               $json['button_url']         = esc_url( $this->button_url );
+               $json['options']            = $this->options;
+               $json['explained_features'] = $this->explained_features;
+
+               return $json;
+       }
+
+       /**
+        * Outputs the Underscore.js template.
+        */
+       protected function render_template() {
+               ?>
+               <div class="themeisle-upsell themeisle-boxed-section">
+                       <# if ( data.options.length > 0 ) { #>
+                               <ul class="themeisle-upsell-features">
+                                       <# for (option in data.options) { #>
+                                               <li><span class="upsell-pro-label"></span>{{ data.options[option] }}
+                                               </li>
+                                               <# } #>
+                               </ul>
+                               <# } #>
+
+                                       <# if ( data.button_text && data.button_url ) { #>
+                                               <a target="_blank" href="{{ data.button_url }}" class="button button-primary" target="_blank">{{
+                                                       data.button_text }}</a>
+                                               <# } #>
+
+                                                       <# if ( data.explained_features.length > 0 ) { #>
+                                                               <hr>
+                                                               <ul class="themeisle-upsell-feature-list">
+                                                                       <# for (feature in data.explained_features) { #>
+                                                                               <li>* {{ data.explained_features[feature] }}</li>
+                                                                       <# } #>
+                                                               </ul>
+                                                               <# } #>
+               </div>
+       <?php
+       }
+}
diff --git a/templates/shop-isle/inc/customizer/customize-pro/class-shopisle-customizer-upsell-text.php b/templates/shop-isle/inc/customizer/customize-pro/class-shopisle-customizer-upsell-text.php
new file mode 100644 (file)
index 0000000..d63c56d
--- /dev/null
@@ -0,0 +1,67 @@
+<?php
+/**
+ * The upsell for the frontpage sections
+ *
+ * Pro customizer section.
+ *
+ * @package WordPress
+ * @subpackage Shop Isle
+ */
+
+/**
+ * Class Shopisle_Customizer_Upsell_Text
+ */
+class Shopisle_Customizer_Upsell_Text extends WP_Customize_Section {
+
+       /**
+        * The type of customize section being rendered.
+        *
+        * @since  1.0.0
+        * @access public
+        * @var    string
+        */
+       public $type = 'shopisle-upsell-frontpage-sections';
+
+       /**
+        * Upsell text to output.
+        *
+        * @since  1.0.0
+        * @access public
+        * @var    string
+        */
+       public $upsell_text = '';
+
+       /**
+        * Add custom parameters to pass to the JS via JSON.
+        *
+        * @since  1.0.0
+        * @access public
+        */
+       public function json() {
+               $json                = parent::json();
+               $json['upsell_text'] = wp_kses_post( $this->upsell_text );
+
+               return $json;
+       }
+
+       /**
+        * Outputs the Underscore.js template.
+        *
+        * @since  1.0.0
+        * @access public
+        * @return void
+        */
+       protected function render_template() {
+               ?>
+
+               <li id="accordion-section-{{ data.id }}"
+                       class="accordion-section control-section control-section-{{ data.type }} cannot-expand">
+                       <p class="frontpage-sections-upsell">
+                               <#    if ( data.upsell_text ) { #>
+                                       {{{data.upsell_text}}}
+                                       <# } #>
+                       </p>
+               </li>
+               <?php
+       }
+}
diff --git a/templates/shop-isle/inc/customizer/customize-pro/class-shopisle-customizer-upsell.php b/templates/shop-isle/inc/customizer/customize-pro/class-shopisle-customizer-upsell.php
new file mode 100644 (file)
index 0000000..3718028
--- /dev/null
@@ -0,0 +1,163 @@
+<?php
+/**
+ * Singleton class for handling the theme's customizer integration.
+ *
+ * @package WordPress
+ * @subpackage Shop Isle
+ */
+
+/**
+ * Class Shopisle_Customizer_Upsell
+ *
+ * @since  1.0.0
+ * @access public
+ */
+final class Shopisle_Customizer_Upsell {
+
+       /**
+        * Constructor method.
+        *
+        * @since  1.0.0
+        * @access private
+        * @return void
+        */
+       private function __construct() {
+       }
+
+       /**
+        * Returns the instance.
+        *
+        * @since  1.0.0
+        * @access public
+        * @return object
+        */
+       public static function get_instance() {
+
+               static $instance = null;
+
+               if ( is_null( $instance ) ) {
+                       $instance = new self;
+                       $instance->setup_actions();
+               }
+
+               return $instance;
+       }
+
+       /**
+        * Sets up initial actions.
+        *
+        * @since  1.0.0
+        * @access private
+        * @return void
+        */
+       private function setup_actions() {
+
+               // Register panels, sections, settings, controls, and partials.
+               add_action( 'customize_register', array( $this, 'sections' ) );
+
+               // Register scripts and styles for the controls.
+               add_action( 'customize_controls_enqueue_scripts', array( $this, 'enqueue_control_scripts' ), 0 );
+       }
+
+       /**
+        * Sets up the customizer sections.
+        *
+        * @since  1.0.0
+        * @access public
+        *
+        * @param  object $manager - the wp_customizer object.
+        *
+        * @return void
+        */
+       public function sections( $manager ) {
+
+               // Load custom sections.
+               require_once( trailingslashit( get_template_directory() ) . 'inc/customizer/customize-pro/class-shopisle-customizer-upsell-main.php' );
+               require_once( trailingslashit( get_template_directory() ) . 'inc/customizer/customize-pro/class-shopisle-customizer-upsell-text.php' );
+               require_once( trailingslashit( get_template_directory() ) . 'inc/customizer/customize-pro/class-shopisle-customizer-upsell-section.php' );
+
+               // Register custom section types.
+               $manager->register_section_type( 'Shopisle_Customizer_Upsell_Main' );
+               $manager->register_section_type( 'Shopisle_Customizer_Upsell_Text' );
+
+               // Register sections.
+               // Main Upsell In Customizer Root.
+               $manager->add_section(
+                       new Shopisle_Customizer_Upsell_Main(
+                               $manager, 'shopisle-upsell', array(
+                                       'upsell_title' => __( 'Shop Isle', 'shop-isle' ),
+                                       'label_url'    => 'http://docs.themeisle.com/article/421-shop-isle-documentation-wordpress-org',
+                                       'label_text'   => __( 'Documentation', 'shop-isle' ),
+                               )
+                       )
+               );
+
+               // Frontpage Sections Upsell.
+               $manager->add_section(
+                       new Shopisle_Customizer_Upsell_Section(
+                               $manager, 'shopisle-upsell-section', array(
+                                       'panel'       => 'shop_isle_front_page_sections',
+                                       'priority'    => 500,
+                                       'options'     => array(
+                                               esc_html__( 'Categories Section', 'shop-isle' ),
+                                               esc_html__( 'Map Section', 'shop-isle' ),
+                                               esc_html__( 'Ribbon Section', 'shop-isle' ),
+                                               esc_html__( 'Services Section', 'shop-isle' ),
+                                               esc_html__( 'Shortcodes Section', 'shop-isle' ),
+                                       ),
+                                       'button_url'  => esc_url( 'https://www.themeisle.com/themes/shop-isle-pro/' ),
+                                       'button_text' => esc_html__( 'View PRO version', 'shop-isle' ),
+                               )
+                       )
+               );
+
+               // Frontpage Instructions.
+               $shop_isle_wporg_flag = get_option( 'shop_isle_wporg_flag' );
+               if ( ( ( ! empty( $shop_isle_wporg_flag ) && ( 'true' === $shop_isle_wporg_flag ) ) ) && ( 'posts' === get_option( 'show_on_front' ) ) ) {
+
+                       $manager->add_section(
+                               new Shopisle_Customizer_Upsell_Text(
+                                       $manager, 'shopisle-upsell-frontpage-instructions', array(
+                                               'upsell_text' =>
+                                               sprintf(
+                                                       /* translators: 1: Link to static front page customizer control */
+                                                       __( 'To customize the Frontpage sections please create a page. After that, go to %1$s and select "A static page". Finally, for "Front page" choose the page you previously created.', 'shop-isle' ),
+                                                       sprintf(
+                                                               /* translators: 1: Link to static front page customizer control 2: 'Static Front Page' */
+                                                               '<a class="shop_isle_go_to_section" href="%1$s">%2$s</a>',
+                                                               admin_url( 'customize.php?autofocus[control]=show_on_front' ),
+                                                               esc_html__( 'Static Front Page', 'shop-isle' )
+                                                       )
+                                               ) . '<br><br>' . sprintf(
+                                                       /* translators: 1: Link to documentation page. 2: 'doc' */
+                                                       __( 'Need further informations? Check this %1$s', 'shop-isle' ),
+                                                       sprintf(
+                                                               '<a href="http://docs.themeisle.com/article/236-how-to-set-up-the-home-page-for-llorix-one" target="_blank">%s</a>',
+                                                               esc_html__( 'doc', 'shop-isle' )
+                                                       )
+                                               ),
+                                               'panel'    => 'shop_isle_front_page_sections',
+                                               'priority' => 1,
+                                       )
+                               )
+                       );
+
+               }
+       }
+
+       /**
+        * Loads theme customizer CSS.
+        *
+        * @since  1.0.0
+        * @access public
+        * @return void
+        */
+       public function enqueue_control_scripts() {
+
+               wp_enqueue_script( 'shopisle-upsell-js', trailingslashit( get_template_directory_uri() ) . 'inc/customizer/customize-pro/shopisle-upsell-customize-controls.js', array( 'customize-controls' ) );
+
+               wp_enqueue_style( 'shopisle-upsell-style', trailingslashit( get_template_directory_uri() ) . 'inc/customizer/customize-pro/shopisle-upsell-customize-controls.css' );
+       }
+}
+
+Shopisle_Customizer_Upsell::get_instance();
diff --git a/templates/shop-isle/inc/customizer/customize-pro/shopisle-upsell-customize-controls.css b/templates/shop-isle/inc/customizer/customize-pro/shopisle-upsell-customize-controls.css
new file mode 100644 (file)
index 0000000..dd73eeb
--- /dev/null
@@ -0,0 +1,27 @@
+#customize-controls .control-section-shopisle-upsell .accordion-section-title:hover,
+#customize-controls .control-section-shopisle-upsell .accordion-section-title:focus {
+       background-color: #fff;
+}
+
+.control-section-shopisle-upsell .accordion-section-title .button {
+       margin-top: -4px;
+       margin-left: 8px;
+       font-weight: 400;
+}
+
+.rtl .control-section-shopisle-upsell .accordion-section-title .button {
+       margin-right: 8px;
+       margin-left: 0;
+}
+
+.frontpage-sections-upsell {
+       padding: 10px 10px 11px 14px;
+}
+
+.themeisle-boxed-section {
+       margin: 12px;
+}
+
+span.upsell-pro-label:before {
+       content: "pro";
+}
diff --git a/templates/shop-isle/inc/customizer/customize-pro/shopisle-upsell-customize-controls.js b/templates/shop-isle/inc/customizer/customize-pro/shopisle-upsell-customize-controls.js
new file mode 100644 (file)
index 0000000..d85e0bf
--- /dev/null
@@ -0,0 +1,39 @@
+( function( api ) {
+
+       // Extends our custom "shopisle-upsell" section.
+       api.sectionConstructor['shopisle-upsell'] = api.Section.extend( {
+
+               // No events for this type of section.
+               attachEvents: function () {},
+
+               // Always make the section active.
+               isContextuallyActive: function () {
+                       return true;
+               }
+       } );
+
+       // Extends our custom "shopisle-upsell-frontpage-sections" section.
+       api.sectionConstructor['shopisle-upsell-frontpage-sections'] = api.Section.extend( {
+
+               // No events for this type of section.
+               attachEvents: function () {},
+
+               // Always make the section active.
+               isContextuallyActive: function () {
+                       return true;
+               }
+       } );
+
+       // Extends our custom "shopisle-upsell-frontpage-sections" section.
+       api.sectionConstructor['shopisle-upsell-section'] = api.Section.extend( {
+
+               // No events for this type of section.
+               attachEvents: function () {},
+
+               // Always make the section active.
+               isContextuallyActive: function () {
+                       return true;
+               }
+       } );
+
+} )( wp.customize );
diff --git a/templates/shop-isle/inc/customizer/customizer-repeater/class/customizer-repeater-control.php b/templates/shop-isle/inc/customizer/customizer-repeater/class/customizer-repeater-control.php
new file mode 100644 (file)
index 0000000..7e2decb
--- /dev/null
@@ -0,0 +1,440 @@
+<?php
+if ( ! class_exists( 'WP_Customize_Control' ) ) {
+       return null;
+}
+
+class Shop_Isle_Repeater_Controler extends WP_Customize_Control {
+
+       public $id;
+       private $boxtitle = array();
+       private $shop_isle_image_control = false;
+       private $shop_isle_icon_control = false;
+       private $shop_isle_title_control = false;
+       private $shop_isle_subtext_control = false;
+       private $shop_isle_text_control = false;
+       private $shop_isle_link_control = false;
+       private $shop_isle_label_control = false;
+       private $shop_isle_shortcode_control = false;
+       private $shop_isle_description_control = false;
+       private $shop_isle_repeater_control = false;
+
+       /*Class constructor*/
+       public function __construct( $manager, $id, $args = array() ) {
+               parent::__construct( $manager, $id, $args );
+               /*Get options from customizer.php*/
+               $this->boxtitle   = __( 'Customizer Repeater','shop-isle' );
+               if ( ! empty( $this->label ) ) {
+                       $this->boxtitle = $this->label;
+               }
+
+               if ( ! empty( $args['shop_isle_image_control'] ) ) {
+                       $this->shop_isle_image_control = $args['shop_isle_image_control'];
+               }
+
+               if ( ! empty( $args['shop_isle_icon_control'] ) ) {
+                       $this->shop_isle_icon_control = $args['shop_isle_icon_control'];
+               }
+
+               if ( ! empty( $args['shop_isle_title_control'] ) ) {
+                       $this->shop_isle_title_control = $args['shop_isle_title_control'];
+               }
+
+               if ( ! empty( $args['shop_isle_subtext_control'] ) ) {
+                       $this->shop_isle_subtext_control = $args['shop_isle_subtext_control'];
+               }
+
+               if ( ! empty( $args['shop_isle_text_control'] ) ) {
+                       $this->shop_isle_text_control = $args['shop_isle_text_control'];
+               }
+
+               if ( ! empty( $args['shop_isle_link_control'] ) ) {
+                       $this->shop_isle_link_control = $args['shop_isle_link_control'];
+               }
+
+               if ( ! empty( $args['shop_isle_label_control'] ) ) {
+                       $this->shop_isle_label_control = $args['shop_isle_label_control'];
+               }
+
+               if ( ! empty( $args['shop_isle_shortcode_control'] ) ) {
+                       $this->shop_isle_shortcode_control = $args['shop_isle_shortcode_control'];
+               }
+
+               if ( ! empty( $args['shop_isle_description_control'] ) ) {
+                       $this->shop_isle_description_control = $args['shop_isle_description_control'];
+               }
+
+               if ( ! empty( $args['shop_isle_repeater_control'] ) ) {
+                       $this->shop_isle_repeater_control = $args['shop_isle_repeater_control'];
+               }
+
+               if ( ! empty( $args['id'] ) ) {
+                       $this->id = $args['id'];
+               }
+       }
+
+       /*Enqueue resources for the control*/
+       public function enqueue() {
+
+               wp_enqueue_style( 'eleganticons-style', get_template_directory_uri() . '/inc/customizer/customizer-repeater/css/eleganticons.css','1.0.0' );
+
+               wp_enqueue_style( 'customizer-repeater-admin-stylesheet', get_template_directory_uri() . '/inc/customizer/customizer-repeater/css/admin-style.css','1.0.0' );
+
+               wp_enqueue_script( 'customizer-repeater-script', get_template_directory_uri() . '/inc/customizer/customizer-repeater/js/customizer_repeater.js', array( 'jquery', 'jquery-ui-draggable' ), '1.0.1', true );
+
+               wp_enqueue_script( 'customizer-repeater-iconpicker', get_template_directory_uri() . '/inc/customizer/customizer-repeater/js/iconpicker.min.js', array( 'jquery' ), '1.0.0', true );
+
+               wp_enqueue_script( 'customizer-repeater-iconpicker-control', get_template_directory_uri() . '/inc/customizer/customizer-repeater/js/iconpicker-control.js', array( 'jquery' ), '1.0.0', true );
+
+               wp_enqueue_style( 'customizer-repeater-iconpicker-style', get_template_directory_uri() . '/inc/customizer/customizer-repeater/css/iconpicker.min.css' );
+       }
+
+       public function render_content() {
+
+               /*Get default options*/
+               $this_default = json_decode( $this->setting->default );
+
+               /*Get values (json format)*/
+               $values = $this->value();
+
+               /*Decode values*/
+               $json = json_decode( $values );
+
+               if ( ! is_array( $json ) ) {
+                       $json = array( $values );
+               } ?>
+
+               <span class="customize-control-title"><?php echo esc_html( $this->label ); ?></span>
+               <div class="customizer-repeater-general-control-repeater customizer-repeater-general-control-droppable">
+                       <?php
+                       if ( ( count( $json ) == 1 && '' === $json[0] ) || empty( $json ) ) {
+                               if ( ! empty( $this_default ) ) {
+                                       $this->iterate_array( $this_default ); ?>
+                                       <input type="hidden"
+                                              id="customizer-repeater-<?php echo $this->id; ?>-colector" <?php $this->link(); ?>
+                                              class="customizer-repeater-colector"
+                                              value="<?php echo esc_textarea( json_encode( $this_default ) ); ?>"/>
+                                       <?php
+                               } else {
+                                       $this->iterate_array(); ?>
+                                       <input type="hidden"
+                                              id="customizer-repeater-<?php echo $this->id; ?>-colector" <?php $this->link(); ?>
+                                              class="customizer-repeater-colector"/>
+                                       <?php
+                               }
+                       } else {
+                               $this->iterate_array( $json ); ?>
+                               <input type="hidden" id="customizer-repeater-<?php echo $this->id; ?>-colector" <?php $this->link(); ?>
+                                      class="customizer-repeater-colector" value="<?php echo esc_textarea( $this->value() ); ?>"/>
+                               <?php
+                       } ?>
+                       </div>
+               <button type="button" class="button add_field customizer-repeater-new-field">
+                       <?php esc_html_e( 'Add new field', 'shop-isle' ); ?>
+               </button>
+               <?php
+       }
+
+       private function iterate_array( $array = array() ) {
+               /*Counter that helps checking if the box is first and should have the delete button disabled*/
+               $it = 0;
+               if ( ! empty( $array ) ) {
+                       foreach ( $array as $icon ) { ?>
+                               <div class="customizer-repeater-general-control-repeater-container customizer-repeater-draggable">
+                                       <div class="customizer-repeater-customize-control-title">
+                                               <?php echo esc_html( $this->boxtitle ); ?>
+                                       </div>
+                                       <div class="customizer-repeater-box-content-hidden">
+                                               <?php
+                                               $choice = $image_url = $icon_value = $title = $subtext = $text = $link = $shortcode = $description = $repeater = $label = '';
+                                               if ( ! empty( $icon->choice ) ) {
+                                                       $choice = $icon->choice;
+                                               }
+                                               if ( ! empty( $icon->image_url ) ) {
+                                                       $image_url = $icon->image_url;
+                                               }
+                                               if ( ! empty( $icon->icon_value ) ) {
+                                                       $icon_value = $icon->icon_value;
+                                               }
+                                               if ( ! empty( $icon->title ) ) {
+                                                       $title = $icon->title;
+                                               }
+                                               if ( ! empty( $icon->subtext ) ) {
+                                                       $subtext = $icon->subtext;
+                                               }
+                                               if ( ! empty( $icon->text ) ) {
+                                                       $text = $icon->text;
+                                               }
+                                               if ( ! empty( $icon->link ) ) {
+                                                       $link = $icon->link;
+                                               }
+                                               if ( ! empty( $icon->label ) ) {
+                                                       $label = $icon->label;
+                                               }
+                                               if ( ! empty( $icon->shortcode ) ) {
+                                                       $shortcode = $icon->shortcode;
+                                               }
+                                               if ( ! empty( $icon->description ) ) {
+                                                       $description = $icon->description;
+                                               }
+                                               if ( ! empty( $icon->social_repeater ) ) {
+                                                       $repeater = $icon->social_repeater;
+                                               }
+
+                                               if ( $this->shop_isle_image_control == true && $this->shop_isle_icon_control == true ) {
+                                                       $this->icon_type_choice( $choice );
+                                               }
+                                               if ( $this->shop_isle_image_control == true ) {
+                                                       $this->image_control( $image_url, $choice );
+                                               }
+                                               if ( $this->shop_isle_icon_control == true ) {
+                                                       $this->icon_picker_control( $icon_value, $choice );
+                                               }
+                                               if ( $this->shop_isle_title_control == true ) {
+                                                       $this->input_control(array(
+                                                               'label' => __( 'Title','shop-isle' ),
+                                                               'class' => 'customizer-repeater-title-control',
+                                                       ), $title);
+                                               }
+                                               if ( $this->shop_isle_text_control == true ) {
+                                                       $this->input_control(array(
+                                                               'label' => __( 'Title','shop-isle' ),
+                                                               'class' => 'customizer-repeater-text-control',
+                                                       ), $text);
+                                               }
+                                               if ( $this->shop_isle_subtext_control == true ) {
+                                                       $this->input_control(array(
+                                                               'label' => __( 'Subtitle','shop-isle' ),
+                                                               'class' => 'customizer-repeater-subtext-control',
+                                                       ), $subtext);
+                                               }
+                                               if ( $this->shop_isle_link_control ) {
+                                                       $this->input_control(array(
+                                                               'label' => __( 'Button link','shop-isle' ),
+                                                               'class' => 'customizer-repeater-link-control',
+                                                               'sanitize_callback' => 'esc_url',
+                                                       ), $link);
+                                               }
+                                               if ( $this->shop_isle_label_control ) {
+                                                       $this->input_control(array(
+                                                               'label' => __( 'Button Label','shop-isle' ),
+                                                               'class' => 'customizer-repeater-label-control',
+                                                               'sanitize_callback' => 'esc_html',
+                                                       ), $label);
+                                               }
+                                               if ( $this->shop_isle_shortcode_control == true ) {
+                                                       $this->input_control(array(
+                                                               'label' => __( 'Shortcode','shop-isle' ),
+                                                               'class' => 'customizer-repeater-shortcode-control',
+                                                       ), $shortcode);
+                                               }
+                                               if ( $this->shop_isle_description_control == true ) {
+                                                       $this->input_control(array(
+                                                               'label' => __( 'Description','shop-isle' ),
+                                                               'class' => 'customizer-repeater-description-control',
+                                                       ), $description);
+                                               }
+                                               if ( $this->shop_isle_repeater_control == true ) {
+                                                       $this->repeater_control( $repeater );
+                                               } ?>
+
+                                               <input type="hidden" class="social-repeater-box-id" value="<?php if ( ! empty( $this->id ) ) {
+                                                       echo esc_attr( $this->id );
+} ?>">
+                                               <button type="button" class="social-repeater-general-control-remove-field button" <?php if ( $it == 0 ) {
+                                                       echo 'style="display:none;"';
+} ?>>
+                                                       <?php esc_html_e( 'Delete field', 'shop-isle' ); ?>
+                                               </button>
+
+                                       </div>
+                               </div>
+
+                               <?php
+                               $it++;
+                       }
+               } else { ?>
+                       <div class="customizer-repeater-general-control-repeater-container">
+                               <div class="customizer-repeater-customize-control-title">
+                                       <?php echo esc_html( $this->boxtitle ); ?>
+                               </div>
+                               <div class="customizer-repeater-box-content-hidden">
+                                       <?php
+                                       if ( $this->shop_isle_image_control == true && $this->shop_isle_icon_control == true ) {
+                                               $this->icon_type_choice();
+                                       }
+                                       if ( $this->shop_isle_image_control == true ) {
+                                               $this->image_control();
+                                       }
+                                       if ( $this->shop_isle_icon_control == true ) {
+                                               $this->icon_picker_control();
+                                       }
+                                       if ( $this->shop_isle_title_control == true ) {
+                                               $this->input_control( array(
+                                                       'label' => __( 'Title', 'shop-isle' ),
+                                                       'class' => 'customizer-repeater-title-control',
+                                               ) );
+                                       }
+                                       if ( $this->shop_isle_text_control == true ) {
+                                               $this->input_control( array(
+                                                       'label' => __( 'Title', 'shop-isle' ),
+                                                       'class' => 'customizer-repeater-text-control',
+                                                       'type'  => 'text',
+                                               ) );
+                                       }
+                                       if ( $this->shop_isle_subtext_control == true ) {
+                                               $this->input_control( array(
+                                                       'label' => __( 'Subtitle', 'shop-isle' ),
+                                                       'class' => 'customizer-repeater-subtext-control',
+                                               ) );
+                                       }
+                                       if ( $this->shop_isle_link_control == true ) {
+                                               $this->input_control( array(
+                                                       'label' => __( 'Button link', 'shop-isle' ),
+                                                       'class' => 'customizer-repeater-link-control',
+                                               ) );
+                                       }
+                                       if ( $this->shop_isle_label_control == true ) {
+                                               $this->input_control( array(
+                                                       'label' => __( 'Button Label', 'shop-isle' ),
+                                                       'class' => 'customizer-repeater-link-control',
+                                               ) );
+                                       }
+                                       if ( $this->shop_isle_shortcode_control == true ) {
+                                               $this->input_control( array(
+                                                       'label' => __( 'Shortcode', 'shop-isle' ),
+                                                       'class' => 'customizer-repeater-shortcode-control',
+                                               ) );
+                                       }
+                                       if ( $this->shop_isle_description_control == true ) {
+                                               $this->input_control( array(
+                                                       'label' => __( 'Description', 'shop-isle' ),
+                                                       'class' => 'customizer-repeater-description-control',
+                                               ) );
+                                       }
+                                       if ( $this->shop_isle_repeater_control == true ) {
+                                               $this->repeater_control();
+                                       } ?>
+                                       <input type="hidden" class="social-repeater-box-id">
+                                       <button type="button" class="social-repeater-general-control-remove-field button" style="display:none;">
+                                               <?php esc_html_e( 'Delete field', 'shop-isle' ); ?>
+                                       </button>
+                               </div>
+                       </div>
+                       <?php
+               }
+       }
+
+       private function input_control( $options, $value = '' ) {
+       ?>
+               <span class="customize-control-title"><?php echo $options['label']; ?></span>
+               <?php
+               if ( ! empty( $options['type'] ) && $options['type'] === 'textarea' ) { ?>
+                       <textarea class="<?php echo esc_attr( $options['class'] ); ?>" placeholder="<?php echo $options['label']; ?>"><?php echo ( ! empty( $options['sanitize_callback'] ) ?  call_user_func_array( $options['sanitize_callback'], array( $value ) ) : esc_attr( $value ) ); ?></textarea>
+                       <?php
+               } else { ?>
+                       <input type="text" value="<?php echo ( ! empty( $options['sanitize_callback'] ) ?  call_user_func_array( $options['sanitize_callback'], array( $value ) ) : esc_attr( $value ) ); ?>" class="<?php echo esc_attr( $options['class'] ); ?>" placeholder="<?php echo $options['label']; ?>"/>
+                       <?php
+               }
+       }
+
+       private function icon_picker_control( $value = '', $show = '' ) {
+       ?>
+               <div class="social-repeater-general-control-icon" <?php if ( $show === 'shop_isle_image' || $show === 'shop_isle_none' ) { echo 'style="display:none;"'; } ?>>
+                       <span class="customize-control-title">
+                               <?php esc_html_e( 'Icon','shop-isle' ); ?>
+                       </span>
+                       <span class="description customize-control-description">
+                               <?php
+                               echo sprintf(
+                       __( 'Some icons may not be displayed here. You can see the list of icons %1$s', 'shop-isle' ),
+                       sprintf( '<a href="https://www.elegantthemes.com/blog/resources/elegant-icon-font" rel="nofollow" target="_blank">%s</a>', esc_html__( 'here', 'shop-isle' ) )
+                               ); ?>
+                       </span>
+                       <div class="input-group icp-container">
+                               <input data-placement="bottomRight" class="icp icp-auto" value="<?php if ( ! empty( $value ) ) { echo esc_attr( $value );} ?>" type="text">
+                               <span class="input-group-addon"></span>
+                       </div>
+               </div>
+               <?php
+       }
+
+       private function image_control( $value = '', $show = '' ) {
+       ?>
+               <div class="customizer-repeater-image-control" <?php if ( $show === 'shop_isle_icon' || $show === 'shop_isle_none' ) { echo 'style="display:none;"'; } ?>>
+                       <span class="customize-control-title">
+                               <?php esc_html_e( 'Image','shop-isle' )?>
+                       </span>
+                       <input type="text" class="widefat custom-media-url" value="<?php echo esc_attr( $value ); ?>">
+                       <input type="button" class="button button-primary customizer-repeater-custom-media-button" value="<?php esc_html_e( 'Upload Image','shop-isle' ); ?>" />
+               </div>
+               <?php
+       }
+
+       private function icon_type_choice( $value = 'shop_isle_icon' ) {
+       ?>
+               <span class="customize-control-title">
+                       <?php esc_html_e( 'Image type','shop-isle' );?>
+               </span>
+               <select class="customizer-repeater-image-choice">
+                       <option value="shop_isle_icon" <?php selected( $value,'shop_isle_icon' );?>><?php esc_html_e( 'Icon','shop-isle' ); ?></option>
+                       <option value="shop_isle_image" <?php selected( $value,'shop_isle_image' );?>><?php esc_html_e( 'Image','shop-isle' ); ?></option>
+                       <option value="shop_isle_none" <?php selected( $value,'shop_isle_none' );?>><?php esc_html_e( 'None','shop-isle' ); ?></option>
+               </select>
+               <?php
+       }
+
+       private function repeater_control( $value = '' ) {
+               $social_repeater = array();
+               $show_del        = 0; ?>
+               <span class="customize-control-title"><?php esc_html_e( 'Social icons', 'shop-isle' ); ?></span>
+               <?php
+               if ( ! empty( $value ) ) {
+                       $social_repeater = json_decode( html_entity_decode( $value ), true );
+               }
+               if ( ( count( $social_repeater ) == 1 && '' === $social_repeater[0] ) || empty( $social_repeater ) ) { ?>
+                       <div class="customizer-repeater-social-repeater">
+                               <div class="customizer-repeater-social-repeater-container">
+                                       <div class="customizer-repeater-rc input-group icp-container">
+                                               <input data-placement="bottomRight" class="icp icp-auto" value="<?php if ( ! empty( $value ) ) { echo esc_attr( $value ); } ?>" type="text">
+                                               <span class="input-group-addon"></span>
+                                       </div>
+
+                                       <input type="text" class="customizer-repeater-social-repeater-link"
+                                              placeholder="<?php esc_html_e( 'Button link', 'shop-isle' ); ?>">
+                                       <input type="hidden" class="customizer-repeater-social-repeater-id" value="">
+                               </div>
+                               <input type="hidden" id="social-repeater-socials-repeater-colector" class="social-repeater-socials-repeater-colector" value=""/>
+                       </div>
+                       <button class="social-repeater-add-social-item"><?php esc_html_e( 'Add icon', 'shop-isle' ); ?></button>
+                       <?php
+               } else { ?>
+                       <div class="customizer-repeater-social-repeater">
+                               <?php
+                               foreach ( $social_repeater as $social_icon ) {
+                                       $show_del ++; ?>
+                                       <div class="customizer-repeater-social-repeater-container">
+                                               <div class="customizer-repeater-rc input-group icp-container">
+                                                       <input data-placement="bottomRight" class="icp icp-auto" value="<?php if ( ! empty( $social_icon['icon'] ) ) { echo esc_attr( $social_icon['icon'] ); } ?>" type="text">
+                                                       <span class="input-group-addon"></span>
+                                               </div>
+                                               <input type="text" class="customizer-repeater-social-repeater-link"
+                                                      placeholder="<?php esc_html_e( 'Button link', 'shop-isle' ); ?>"
+                                                      value="<?php if ( ! empty( $social_icon['link'] ) ) {
+                                                                       echo esc_url( $social_icon['link'] );
+} ?>">
+                                               <input type="hidden" class="customizer-repeater-social-repeater-id"
+                                                      value="<?php if ( ! empty( $social_icon['id'] ) ) {
+                                                                       echo esc_attr( $social_icon['id'] );
+} ?>">
+                                       </div>
+                                       <?php
+                               } ?>
+                               <input type="hidden" id="social-repeater-socials-repeater-colector"
+                                      class="social-repeater-socials-repeater-colector"
+                                      value="<?php echo esc_textarea( html_entity_decode( $value ) ); ?>" />
+                       </div>
+                       <button class="social-repeater-add-social-item"><?php esc_html_e( 'Add icon', 'shop-isle' ); ?></button>
+                       <?php
+               }
+       }
+}
diff --git a/templates/shop-isle/inc/customizer/customizer-repeater/css/admin-style.css b/templates/shop-isle/inc/customizer/customizer-repeater/css/admin-style.css
new file mode 100644 (file)
index 0000000..82ccb3a
--- /dev/null
@@ -0,0 +1,111 @@
+.customize-control-title {
+       margin-top: 15px;
+       color: rgb(0, 142, 214);
+}
+
+.customizer-repeater-general-control-repeater-container,
+.customizer-repeater-general-control-repeater_container {
+       float: left;
+       width: 100%;
+       margin: 5px 0;
+       cursor: move;
+}
+
+.customizer-repeater-general-control-repeater-container .customizer-repeater-box-content-hidden,
+.customizer-repeater-general-control-repeater-container .customizer-repeater-box-content-hidden {
+       padding: 5px;
+       padding-top: 0;
+       border: 1px solid #dfdfdf;
+       border-top: 0;
+}
+
+button.social-repeater-general-control-remove-field {
+       display: inline-block;
+       width: 100%!important;
+       margin-top: 10px!important;
+       line-height: 17px !important;
+       white-space: initial !important;
+}
+
+button.social-repeater-general-control-remove-field:hover {
+       border: 0;
+       color: #fff!important;
+       background-color: #00a0d2!important;
+}
+
+.customizer-repeater-general-control-repeater-container .customizer-repeater-text-control,
+.customizer-repeater-general-control-repeater-container .customizer-repeater-link-control {
+       width: 100% !important;
+       margin: 3px 0 0 !important;
+}
+
+.customizer-repeater-general-control-repeater-container .customizer-repeater-icon-control {
+       width: 100%;
+       margin: 0;
+       padding: 0;
+}
+
+#customizer-repeater-new-field {
+       width: 100%;
+}
+
+.customize-control-widget_form .widget-control-save {
+       display: block !important;
+}
+
+.customizer-repeater-general-control-repeater-container .customizer-repeater-box-content-hidden {
+       display: none;
+}
+
+.customizer-repeater-box-content-hidden {
+       background-color: #fff;
+}
+
+.customizer-repeater-customize-control-title {
+       overflow: hidden;
+       height: 40px;
+       padding: 0 10px !important;
+       border: 1px solid #dfdfdf;
+       border-radius: 3px;
+       color: #00a0d2;
+       background-color: #f1f1f1;
+       background-image: -webkit-gradient(linear, left top, left bottom, from(#f9f9f9), to(#ececec));
+       background-image: -webkit-linear-gradient(top, #f9f9f9, #ececec);
+       background-image: linear-gradient(to bottom, #f9f9f9, #ececec);
+       -webkit-box-shadow: inset 0 1px 0 #fff;
+       box-shadow: inset 0 1px 0 #fff;
+       font-weight: bold;
+       line-height: 40px !important;
+       text-align: center;
+       cursor: move !important;
+}
+
+.customizer-repeater-image-control .customizer-repeater-custom-media-button {
+       margin-top: 5px;
+}
+
+.customizer-repeater-general-control-repeater-container .customizer-repeater-box-content-hidden {
+       padding-top: 5px;
+}
+
+.customizer-icons {
+       display: inline-block;
+       padding: 0 10px 0 0;
+       vertical-align: middle;
+}
+
+.customizer-repeater-social-repeater > .customizer-repeater-social-repeater-container:not(:first-child) {
+       margin-top: 25px;
+}
+
+.icp-container {
+       margin-bottom: 10px;
+}
+
+.customizer-repeater-social-repeater-link {
+       width: 215px!important;
+}
+
+.social-repeater-add-social-item {
+       margin-top: 10px;
+}
diff --git a/templates/shop-isle/inc/customizer/customizer-repeater/css/eleganticons.css b/templates/shop-isle/inc/customizer/customizer-repeater/css/eleganticons.css
new file mode 100644 (file)
index 0000000..e6540e0
--- /dev/null
@@ -0,0 +1,1481 @@
+@font-face {
+       font-family: "ElegantIcons";
+       src: url("../../../../assets/fonts/ElegantIcons.eot");
+       src: url("../../../../assets/fonts/ElegantIcons.eot?#iefix") format("embedded-opentype"),
+       url("../../../../assets/fonts/ElegantIcons.woff") format("woff"),
+       url("../../../../assets/fonts/ElegantIcons.ttf") format("truetype"),
+       url("../../../../assets/fonts/ElegantIcons.svg#ElegantIcons") format("svg");
+       font-weight: normal;
+       font-style: normal;
+}
+
+/* Use the following CSS code if you want to use data attributes for inserting your icons */
+[data-icon]:before {
+       font-family: "ElegantIcons";
+       font-weight: normal;
+       font-variant: normal;
+       -webkit-font-smoothing: antialiased;
+       -moz-osx-font-smoothing: grayscale;
+       line-height: 1;
+       text-transform: none;
+       content: attr(data-icon);
+
+       speak: none;
+}
+
+/* Use the following CSS code if you want to have a class per icon */
+/*
+Instead of a list of all class selectors,
+you can use the generic selector below, but it's slower:
+[class*="your-class-prefix"] {
+*/
+.arrow_up,
+.arrow_down,
+.arrow_left,
+.arrow_right,
+.arrow_left-up,
+.arrow_right-up,
+.arrow_right-down,
+.arrow_left-down,
+.arrow-up-down,
+.arrow_up-down_alt,
+.arrow_left-right_alt,
+.arrow_left-right,
+.arrow_expand_alt2,
+.arrow_expand_alt,
+.arrow_condense,
+.arrow_expand,
+.arrow_move,
+.arrow_carrot-up,
+.arrow_carrot-down,
+.arrow_carrot-left,
+.arrow_carrot-right,
+.arrow_carrot-2up,
+.arrow_carrot-2down,
+.arrow_carrot-2left,
+.arrow_carrot-2right,
+.arrow_carrot-up_alt2,
+.arrow_carrot-down_alt2,
+.arrow_carrot-left_alt2,
+.arrow_carrot-right_alt2,
+.arrow_carrot-2up_alt2,
+.arrow_carrot-2down_alt2,
+.arrow_carrot-2left_alt2,
+.arrow_carrot-2right_alt2,
+.arrow_triangle-up,
+.arrow_triangle-down,
+.arrow_triangle-left,
+.arrow_triangle-right,
+.arrow_triangle-up_alt2,
+.arrow_triangle-down_alt2,
+.arrow_triangle-left_alt2,
+.arrow_triangle-right_alt2,
+.arrow_back,
+.icon_minus-06,
+.icon_plus,
+.icon_close,
+.icon_check,
+.icon_minus_alt2,
+.icon_plus_alt2,
+.icon_close_alt2,
+.icon_check_alt2,
+.icon_zoom-out_alt,
+.icon_zoom-in_alt,
+.icon_search,
+.icon_box-empty,
+.icon_box-selected,
+.icon_minus-box,
+.icon_plus-box,
+.icon_box-checked,
+.icon_circle-empty,
+.icon_circle-slelected,
+.icon_stop_alt2,
+.icon_stop,
+.icon_pause_alt2,
+.icon_pause,
+.icon_menu,
+.icon_menu-square_alt2,
+.icon_menu-circle_alt2,
+.icon_ul,
+.icon_ol,
+.icon_adjust-horiz,
+.icon_adjust-vert,
+.icon_document_alt,
+.icon_documents_alt,
+.icon_pencil,
+.icon_pencil-edit_alt,
+.icon_pencil-edit,
+.icon_folder-alt,
+.icon_folder-open_alt,
+.icon_folder-add_alt,
+.icon_info_alt,
+.icon_error-oct_alt,
+.icon_error-circle_alt,
+.icon_error-triangle_alt,
+.icon_question_alt2,
+.icon_question,
+.icon_comment_alt,
+.icon_chat_alt,
+.icon_vol-mute_alt,
+.icon_volume-low_alt,
+.icon_volume-high_alt,
+.icon_quotations,
+.icon_quotations_alt2,
+.icon_clock_alt,
+.icon_lock_alt,
+.icon_lock-open_alt,
+.icon_key_alt,
+.icon_cloud_alt,
+.icon_cloud-upload_alt,
+.icon_cloud-download_alt,
+.icon_image,
+.icon_images,
+.icon_lightbulb_alt,
+.icon_gift_alt,
+.icon_house_alt,
+.icon_genius,
+.icon_mobile,
+.icon_tablet,
+.icon_laptop,
+.icon_desktop,
+.icon_camera_alt,
+.icon_mail_alt,
+.icon_cone_alt,
+.icon_ribbon_alt,
+.icon_bag_alt,
+.icon_creditcard,
+.icon_cart_alt,
+.icon_paperclip,
+.icon_tag_alt,
+.icon_tags_alt,
+.icon_trash_alt,
+.icon_cursor_alt,
+.icon_mic_alt,
+.icon_compass_alt,
+.icon_pin_alt,
+.icon_pushpin_alt,
+.icon_map_alt,
+.icon_drawer_alt,
+.icon_toolbox_alt,
+.icon_book_alt,
+.icon_calendar,
+.icon_film,
+.icon_table,
+.icon_contacts_alt,
+.icon_headphones,
+.icon_lifesaver,
+.icon_piechart,
+.icon_refresh,
+.icon_link_alt,
+.icon_link,
+.icon_loading,
+.icon_blocked,
+.icon_archive_alt,
+.icon_heart_alt,
+.icon_star_alt,
+.icon_star-half_alt,
+.icon_star,
+.icon_star-half,
+.icon_tools,
+.icon_tool,
+.icon_cog,
+.icon_cogs,
+.arrow_up_alt,
+.arrow_down_alt,
+.arrow_left_alt,
+.arrow_right_alt,
+.arrow_left-up_alt,
+.arrow_right-up_alt,
+.arrow_right-down_alt,
+.arrow_left-down_alt,
+.arrow_condense_alt,
+.arrow_expand_alt3,
+.arrow_carrot_up_alt,
+.arrow_carrot-down_alt,
+.arrow_carrot-left_alt,
+.arrow_carrot-right_alt,
+.arrow_carrot-2up_alt,
+.arrow_carrot-2dwnn_alt,
+.arrow_carrot-2left_alt,
+.arrow_carrot-2right_alt,
+.arrow_triangle-up_alt,
+.arrow_triangle-down_alt,
+.arrow_triangle-left_alt,
+.arrow_triangle-right_alt,
+.icon_minus_alt,
+.icon_plus_alt,
+.icon_close_alt,
+.icon_check_alt,
+.icon_zoom-out,
+.icon_zoom-in,
+.icon_stop_alt,
+.icon_menu-square_alt,
+.icon_menu-circle_alt,
+.icon_document,
+.icon_documents,
+.icon_pencil_alt,
+.icon_folder,
+.icon_folder-open,
+.icon_folder-add,
+.icon_folder_upload,
+.icon_folder_download,
+.icon_info,
+.icon_error-circle,
+.icon_error-oct,
+.icon_error-triangle,
+.icon_question_alt,
+.icon_comment,
+.icon_chat,
+.icon_vol-mute,
+.icon_volume-low,
+.icon_volume-high,
+.icon_quotations_alt,
+.icon_clock,
+.icon_lock,
+.icon_lock-open,
+.icon_key,
+.icon_cloud,
+.icon_cloud-upload,
+.icon_cloud-download,
+.icon_lightbulb,
+.icon_gift,
+.icon_house,
+.icon_camera,
+.icon_mail,
+.icon_cone,
+.icon_ribbon,
+.icon_bag,
+.icon_cart,
+.icon_tag,
+.icon_tags,
+.icon_trash,
+.icon_cursor,
+.icon_mic,
+.icon_compass,
+.icon_pin,
+.icon_pushpin,
+.icon_map,
+.icon_drawer,
+.icon_toolbox,
+.icon_book,
+.icon_contacts,
+.icon_archive,
+.icon_heart,
+.icon_profile,
+.icon_group,
+.icon_grid-2x2,
+.icon_grid-3x3,
+.icon_music,
+.icon_pause_alt,
+.icon_phone,
+.icon_upload,
+.icon_download,
+.social_facebook,
+.social_twitter,
+.social_pinterest,
+.social_googleplus,
+.social_tumblr,
+.social_tumbleupon,
+.social_wordpress,
+.social_instagram,
+.social_dribbble,
+.social_vimeo,
+.social_linkedin,
+.social_rss,
+.social_deviantart,
+.social_share,
+.social_myspace,
+.social_skype,
+.social_youtube,
+.social_picassa,
+.social_googledrive,
+.social_flickr,
+.social_blogger,
+.social_spotify,
+.social_delicious,
+.social_facebook_circle,
+.social_twitter_circle,
+.social_pinterest_circle,
+.social_googleplus_circle,
+.social_tumblr_circle,
+.social_stumbleupon_circle,
+.social_wordpress_circle,
+.social_instagram_circle,
+.social_dribbble_circle,
+.social_vimeo_circle,
+.social_linkedin_circle,
+.social_rss_circle,
+.social_deviantart_circle,
+.social_share_circle,
+.social_myspace_circle,
+.social_skype_circle,
+.social_youtube_circle,
+.social_picassa_circle,
+.social_googledrive_alt2,
+.social_flickr_circle,
+.social_blogger_circle,
+.social_spotify_circle,
+.social_delicious_circle,
+.social_facebook_square,
+.social_twitter_square,
+.social_pinterest_square,
+.social_googleplus_square,
+.social_tumblr_square,
+.social_stumbleupon_square,
+.social_wordpress_square,
+.social_instagram_square,
+.social_dribbble_square,
+.social_vimeo_square,
+.social_linkedin_square,
+.social_rss_square,
+.social_deviantart_square,
+.social_share_square,
+.social_myspace_square,
+.social_skype_square,
+.social_youtube_square,
+.social_picassa_square,
+.social_googledrive_square,
+.social_flickr_square,
+.social_blogger_square,
+.social_spotify_square,
+.social_delicious_square,
+.icon_printer,
+.icon_calulator,
+.icon_building,
+.icon_floppy,
+.icon_drive,
+.icon_search-2,
+.icon_id,
+.icon_id-2,
+.icon_puzzle,
+.icon_like,
+.icon_dislike,
+.icon_mug,
+.icon_currency,
+.icon_wallet,
+.icon_pens,
+.icon_easel,
+.icon_flowchart,
+.icon_datareport,
+.icon_briefcase,
+.icon_shield,
+.icon_percent,
+.icon_globe,
+.icon_globe-2,
+.icon_target,
+.icon_hourglass,
+.icon_balance,
+.icon_rook,
+.icon_printer-alt,
+.icon_calculator_alt,
+.icon_building_alt,
+.icon_floppy_alt,
+.icon_drive_alt,
+.icon_search_alt,
+.icon_id_alt,
+.icon_id-2_alt,
+.icon_puzzle_alt,
+.icon_like_alt,
+.icon_dislike_alt,
+.icon_mug_alt,
+.icon_currency_alt,
+.icon_wallet_alt,
+.icon_pens_alt,
+.icon_easel_alt,
+.icon_flowchart_alt,
+.icon_datareport_alt,
+.icon_briefcase_alt,
+.icon_shield_alt,
+.icon_percent_alt,
+.icon_globe_alt,
+.icon_clipboard {
+       font-family: "ElegantIcons";
+       font-weight: normal;
+       font-style: normal;
+       font-variant: normal;
+       -webkit-font-smoothing: antialiased;
+       line-height: 1;
+       text-transform: none;
+
+       speak: none;
+}
+.arrow_up:before {
+       content: "\21";
+}
+.arrow_down:before {
+       content: "\22";
+}
+.arrow_left:before {
+       content: "\23";
+}
+.arrow_right:before {
+       content: "\24";
+}
+.arrow_left-up:before {
+       content: "\25";
+}
+.arrow_right-up:before {
+       content: "\26";
+}
+.arrow_right-down:before {
+       content: "\27";
+}
+.arrow_left-down:before {
+       content: "\28";
+}
+.arrow-up-down:before {
+       content: "\29";
+}
+.arrow_up-down_alt:before {
+       content: "\2a";
+}
+.arrow_left-right_alt:before {
+       content: "\2b";
+}
+.arrow_left-right:before {
+       content: "\2c";
+}
+.arrow_expand_alt2:before {
+       content: "\2d";
+}
+.arrow_expand_alt:before {
+       content: "\2e";
+}
+.arrow_condense:before {
+       content: "\2f";
+}
+.arrow_expand:before {
+       content: "\30";
+}
+.arrow_move:before {
+       content: "\31";
+}
+.arrow_carrot-up:before {
+       content: "\32";
+}
+.arrow_carrot-down:before {
+       content: "\33";
+}
+.arrow_carrot-left:before {
+       content: "\34";
+}
+.arrow_carrot-right:before {
+       content: "\35";
+}
+.arrow_carrot-2up:before {
+       content: "\36";
+}
+.arrow_carrot-2down:before {
+       content: "\37";
+}
+.arrow_carrot-2left:before {
+       content: "\38";
+}
+.arrow_carrot-2right:before {
+       content: "\39";
+}
+.arrow_carrot-up_alt2:before {
+       content: "\3a";
+}
+.arrow_carrot-down_alt2:before {
+       content: "\3b";
+}
+.arrow_carrot-left_alt2:before {
+       content: "\3c";
+}
+.arrow_carrot-right_alt2:before {
+       content: "\3d";
+}
+.arrow_carrot-2up_alt2:before {
+       content: "\3e";
+}
+.arrow_carrot-2down_alt2:before {
+       content: "\3f";
+}
+.arrow_carrot-2left_alt2:before {
+       content: "\40";
+}
+.arrow_carrot-2right_alt2:before {
+       content: "\41";
+}
+.arrow_triangle-up:before {
+       content: "\42";
+}
+.arrow_triangle-down:before {
+       content: "\43";
+}
+.arrow_triangle-left:before {
+       content: "\44";
+}
+.arrow_triangle-right:before {
+       content: "\45";
+}
+.arrow_triangle-up_alt2:before {
+       content: "\46";
+}
+.arrow_triangle-down_alt2:before {
+       content: "\47";
+}
+.arrow_triangle-left_alt2:before {
+       content: "\48";
+}
+.arrow_triangle-right_alt2:before {
+       content: "\49";
+}
+.arrow_back:before {
+       content: "\4a";
+}
+.icon_minus-06:before {
+       content: "\4b";
+}
+.icon_plus:before {
+       content: "\4c";
+}
+.icon_close:before {
+       content: "\4d";
+}
+.icon_check:before {
+       content: "\4e";
+}
+.icon_minus_alt2:before {
+       content: "\4f";
+}
+.icon_plus_alt2:before {
+       content: "\50";
+}
+.icon_close_alt2:before {
+       content: "\51";
+}
+.icon_check_alt2:before {
+       content: "\52";
+}
+.icon_zoom-out_alt:before {
+       content: "\53";
+}
+.icon_zoom-in_alt:before {
+       content: "\54";
+}
+.icon_search:before {
+       content: "\55";
+}
+.icon_box-empty:before {
+       content: "\56";
+}
+.icon_box-selected:before {
+       content: "\57";
+}
+.icon_minus-box:before {
+       content: "\58";
+}
+.icon_plus-box:before {
+       content: "\59";
+}
+.icon_box-checked:before {
+       content: "\5a";
+}
+.icon_circle-empty:before {
+       content: "\5b";
+}
+.icon_circle-slelected:before {
+       content: "\5c";
+}
+.icon_stop_alt2:before {
+       content: "\5d";
+}
+.icon_stop:before {
+       content: "\5e";
+}
+.icon_pause_alt2:before {
+       content: "\5f";
+}
+.icon_pause:before {
+       content: "\60";
+}
+.icon_menu:before {
+       content: "\61";
+}
+.icon_menu-square_alt2:before {
+       content: "\62";
+}
+.icon_menu-circle_alt2:before {
+       content: "\63";
+}
+.icon_ul:before {
+       content: "\64";
+}
+.icon_ol:before {
+       content: "\65";
+}
+.icon_adjust-horiz:before {
+       content: "\66";
+}
+.icon_adjust-vert:before {
+       content: "\67";
+}
+.icon_document_alt:before {
+       content: "\68";
+}
+.icon_documents_alt:before {
+       content: "\69";
+}
+.icon_pencil:before {
+       content: "\6a";
+}
+.icon_pencil-edit_alt:before {
+       content: "\6b";
+}
+.icon_pencil-edit:before {
+       content: "\6c";
+}
+.icon_folder-alt:before {
+       content: "\6d";
+}
+.icon_folder-open_alt:before {
+       content: "\6e";
+}
+.icon_folder-add_alt:before {
+       content: "\6f";
+}
+.icon_info_alt:before {
+       content: "\70";
+}
+.icon_error-oct_alt:before {
+       content: "\71";
+}
+.icon_error-circle_alt:before {
+       content: "\72";
+}
+.icon_error-triangle_alt:before {
+       content: "\73";
+}
+.icon_question_alt2:before {
+       content: "\74";
+}
+.icon_question:before {
+       content: "\75";
+}
+.icon_comment_alt:before {
+       content: "\76";
+}
+.icon_chat_alt:before {
+       content: "\77";
+}
+.icon_vol-mute_alt:before {
+       content: "\78";
+}
+.icon_volume-low_alt:before {
+       content: "\79";
+}
+.icon_volume-high_alt:before {
+       content: "\7a";
+}
+.icon_quotations:before {
+       content: "\7b";
+}
+.icon_quotations_alt2:before {
+       content: "\7c";
+}
+.icon_clock_alt:before {
+       content: "\7d";
+}
+.icon_lock_alt:before {
+       content: "\7e";
+}
+.icon_lock-open_alt:before {
+       content: "\e000";
+}
+.icon_key_alt:before {
+       content: "\e001";
+}
+.icon_cloud_alt:before {
+       content: "\e002";
+}
+.icon_cloud-upload_alt:before {
+       content: "\e003";
+}
+.icon_cloud-download_alt:before {
+       content: "\e004";
+}
+.icon_image:before {
+       content: "\e005";
+}
+.icon_images:before {
+       content: "\e006";
+}
+.icon_lightbulb_alt:before {
+       content: "\e007";
+}
+.icon_gift_alt:before {
+       content: "\e008";
+}
+.icon_house_alt:before {
+       content: "\e009";
+}
+.icon_genius:before {
+       content: "\e00a";
+}
+.icon_mobile:before {
+       content: "\e00b";
+}
+.icon_tablet:before {
+       content: "\e00c";
+}
+.icon_laptop:before {
+       content: "\e00d";
+}
+.icon_desktop:before {
+       content: "\e00e";
+}
+.icon_camera_alt:before {
+       content: "\e00f";
+}
+.icon_mail_alt:before {
+       content: "\e010";
+}
+.icon_cone_alt:before {
+       content: "\e011";
+}
+.icon_ribbon_alt:before {
+       content: "\e012";
+}
+.icon_bag_alt:before {
+       content: "\e013";
+}
+.icon_creditcard:before {
+       content: "\e014";
+}
+.icon_cart_alt:before {
+       content: "\e015";
+}
+.icon_paperclip:before {
+       content: "\e016";
+}
+.icon_tag_alt:before {
+       content: "\e017";
+}
+.icon_tags_alt:before {
+       content: "\e018";
+}
+.icon_trash_alt:before {
+       content: "\e019";
+}
+.icon_cursor_alt:before {
+       content: "\e01a";
+}
+.icon_mic_alt:before {
+       content: "\e01b";
+}
+.icon_compass_alt:before {
+       content: "\e01c";
+}
+.icon_pin_alt:before {
+       content: "\e01d";
+}
+.icon_pushpin_alt:before {
+       content: "\e01e";
+}
+.icon_map_alt:before {
+       content: "\e01f";
+}
+.icon_drawer_alt:before {
+       content: "\e020";
+}
+.icon_toolbox_alt:before {
+       content: "\e021";
+}
+.icon_book_alt:before {
+       content: "\e022";
+}
+.icon_calendar:before {
+       content: "\e023";
+}
+.icon_film:before {
+       content: "\e024";
+}
+.icon_table:before {
+       content: "\e025";
+}
+.icon_contacts_alt:before {
+       content: "\e026";
+}
+.icon_headphones:before {
+       content: "\e027";
+}
+.icon_lifesaver:before {
+       content: "\e028";
+}
+.icon_piechart:before {
+       content: "\e029";
+}
+.icon_refresh:before {
+       content: "\e02a";
+}
+.icon_link_alt:before {
+       content: "\e02b";
+}
+.icon_link:before {
+       content: "\e02c";
+}
+.icon_loading:before {
+       content: "\e02d";
+}
+.icon_blocked:before {
+       content: "\e02e";
+}
+.icon_archive_alt:before {
+       content: "\e02f";
+}
+.icon_heart_alt:before {
+       content: "\e030";
+}
+.icon_star_alt:before {
+       content: "\e031";
+}
+.icon_star-half_alt:before {
+       content: "\e032";
+}
+.icon_star:before {
+       content: "\e033";
+}
+.icon_star-half:before {
+       content: "\e034";
+}
+.icon_tools:before {
+       content: "\e035";
+}
+.icon_tool:before {
+       content: "\e036";
+}
+.icon_cog:before {
+       content: "\e037";
+}
+.icon_cogs:before {
+       content: "\e038";
+}
+.arrow_up_alt:before {
+       content: "\e039";
+}
+.arrow_down_alt:before {
+       content: "\e03a";
+}
+.arrow_left_alt:before {
+       content: "\e03b";
+}
+.arrow_right_alt:before {
+       content: "\e03c";
+}
+.arrow_left-up_alt:before {
+       content: "\e03d";
+}
+.arrow_right-up_alt:before {
+       content: "\e03e";
+}
+.arrow_right-down_alt:before {
+       content: "\e03f";
+}
+.arrow_left-down_alt:before {
+       content: "\e040";
+}
+.arrow_condense_alt:before {
+       content: "\e041";
+}
+.arrow_expand_alt3:before {
+       content: "\e042";
+}
+.arrow_carrot_up_alt:before {
+       content: "\e043";
+}
+.arrow_carrot-down_alt:before {
+       content: "\e044";
+}
+.arrow_carrot-left_alt:before {
+       content: "\e045";
+}
+.arrow_carrot-right_alt:before {
+       content: "\e046";
+}
+.arrow_carrot-2up_alt:before {
+       content: "\e047";
+}
+.arrow_carrot-2dwnn_alt:before {
+       content: "\e048";
+}
+.arrow_carrot-2left_alt:before {
+       content: "\e049";
+}
+.arrow_carrot-2right_alt:before {
+       content: "\e04a";
+}
+.arrow_triangle-up_alt:before {
+       content: "\e04b";
+}
+.arrow_triangle-down_alt:before {
+       content: "\e04c";
+}
+.arrow_triangle-left_alt:before {
+       content: "\e04d";
+}
+.arrow_triangle-right_alt:before {
+       content: "\e04e";
+}
+.icon_minus_alt:before {
+       content: "\e04f";
+}
+.icon_plus_alt:before {
+       content: "\e050";
+}
+.icon_close_alt:before {
+       content: "\e051";
+}
+.icon_check_alt:before {
+       content: "\e052";
+}
+.icon_zoom-out:before {
+       content: "\e053";
+}
+.icon_zoom-in:before {
+       content: "\e054";
+}
+.icon_stop_alt:before {
+       content: "\e055";
+}
+.icon_menu-square_alt:before {
+       content: "\e056";
+}
+.icon_menu-circle_alt:before {
+       content: "\e057";
+}
+.icon_document:before {
+       content: "\e058";
+}
+.icon_documents:before {
+       content: "\e059";
+}
+.icon_pencil_alt:before {
+       content: "\e05a";
+}
+.icon_folder:before {
+       content: "\e05b";
+}
+.icon_folder-open:before {
+       content: "\e05c";
+}
+.icon_folder-add:before {
+       content: "\e05d";
+}
+.icon_folder_upload:before {
+       content: "\e05e";
+}
+.icon_folder_download:before {
+       content: "\e05f";
+}
+.icon_info:before {
+       content: "\e060";
+}
+.icon_error-circle:before {
+       content: "\e061";
+}
+.icon_error-oct:before {
+       content: "\e062";
+}
+.icon_error-triangle:before {
+       content: "\e063";
+}
+.icon_question_alt:before {
+       content: "\e064";
+}
+.icon_comment:before {
+       content: "\e065";
+}
+.icon_chat:before {
+       content: "\e066";
+}
+.icon_vol-mute:before {
+       content: "\e067";
+}
+.icon_volume-low:before {
+       content: "\e068";
+}
+.icon_volume-high:before {
+       content: "\e069";
+}
+.icon_quotations_alt:before {
+       content: "\e06a";
+}
+.icon_clock:before {
+       content: "\e06b";
+}
+.icon_lock:before {
+       content: "\e06c";
+}
+.icon_lock-open:before {
+       content: "\e06d";
+}
+.icon_key:before {
+       content: "\e06e";
+}
+.icon_cloud:before {
+       content: "\e06f";
+}
+.icon_cloud-upload:before {
+       content: "\e070";
+}
+.icon_cloud-download:before {
+       content: "\e071";
+}
+.icon_lightbulb:before {
+       content: "\e072";
+}
+.icon_gift:before {
+       content: "\e073";
+}
+.icon_house:before {
+       content: "\e074";
+}
+.icon_camera:before {
+       content: "\e075";
+}
+.icon_mail:before {
+       content: "\e076";
+}
+.icon_cone:before {
+       content: "\e077";
+}
+.icon_ribbon:before {
+       content: "\e078";
+}
+.icon_bag:before {
+       content: "\e079";
+}
+.icon_cart:before {
+       content: "\e07a";
+}
+.icon_tag:before {
+       content: "\e07b";
+}
+.icon_tags:before {
+       content: "\e07c";
+}
+.icon_trash:before {
+       content: "\e07d";
+}
+.icon_cursor:before {
+       content: "\e07e";
+}
+.icon_mic:before {
+       content: "\e07f";
+}
+.icon_compass:before {
+       content: "\e080";
+}
+.icon_pin:before {
+       content: "\e081";
+}
+.icon_pushpin:before {
+       content: "\e082";
+}
+.icon_map:before {
+       content: "\e083";
+}
+.icon_drawer:before {
+       content: "\e084";
+}
+.icon_toolbox:before {
+       content: "\e085";
+}
+.icon_book:before {
+       content: "\e086";
+}
+.icon_contacts:before {
+       content: "\e087";
+}
+.icon_archive:before {
+       content: "\e088";
+}
+.icon_heart:before {
+       content: "\e089";
+}
+.icon_profile:before {
+       content: "\e08a";
+}
+.icon_group:before {
+       content: "\e08b";
+}
+.icon_grid-2x2:before {
+       content: "\e08c";
+}
+.icon_grid-3x3:before {
+       content: "\e08d";
+}
+.icon_music:before {
+       content: "\e08e";
+}
+.icon_pause_alt:before {
+       content: "\e08f";
+}
+.icon_phone:before {
+       content: "\e090";
+}
+.icon_upload:before {
+       content: "\e091";
+}
+.icon_download:before {
+       content: "\e092";
+}
+.social_facebook:before {
+       content: "\e093";
+}
+.social_twitter:before {
+       content: "\e094";
+}
+.social_pinterest:before {
+       content: "\e095";
+}
+.social_googleplus:before {
+       content: "\e096";
+}
+.social_tumblr:before {
+       content: "\e097";
+}
+.social_tumbleupon:before {
+       content: "\e098";
+}
+.social_wordpress:before {
+       content: "\e099";
+}
+.social_instagram:before {
+       content: "\e09a";
+}
+.social_dribbble:before {
+       content: "\e09b";
+}
+.social_vimeo:before {
+       content: "\e09c";
+}
+.social_linkedin:before {
+       content: "\e09d";
+}
+.social_rss:before {
+       content: "\e09e";
+}
+.social_deviantart:before {
+       content: "\e09f";
+}
+.social_share:before {
+       content: "\e0a0";
+}
+.social_myspace:before {
+       content: "\e0a1";
+}
+.social_skype:before {
+       content: "\e0a2";
+}
+.social_youtube:before {
+       content: "\e0a3";
+}
+.social_picassa:before {
+       content: "\e0a4";
+}
+.social_googledrive:before {
+       content: "\e0a5";
+}
+.social_flickr:before {
+       content: "\e0a6";
+}
+.social_blogger:before {
+       content: "\e0a7";
+}
+.social_spotify:before {
+       content: "\e0a8";
+}
+.social_delicious:before {
+       content: "\e0a9";
+}
+.social_facebook_circle:before {
+       content: "\e0aa";
+}
+.social_twitter_circle:before {
+       content: "\e0ab";
+}
+.social_pinterest_circle:before {
+       content: "\e0ac";
+}
+.social_googleplus_circle:before {
+       content: "\e0ad";
+}
+.social_tumblr_circle:before {
+       content: "\e0ae";
+}
+.social_stumbleupon_circle:before {
+       content: "\e0af";
+}
+.social_wordpress_circle:before {
+       content: "\e0b0";
+}
+.social_instagram_circle:before {
+       content: "\e0b1";
+}
+.social_dribbble_circle:before {
+       content: "\e0b2";
+}
+.social_vimeo_circle:before {
+       content: "\e0b3";
+}
+.social_linkedin_circle:before {
+       content: "\e0b4";
+}
+.social_rss_circle:before {
+       content: "\e0b5";
+}
+.social_deviantart_circle:before {
+       content: "\e0b6";
+}
+.social_share_circle:before {
+       content: "\e0b7";
+}
+.social_myspace_circle:before {
+       content: "\e0b8";
+}
+.social_skype_circle:before {
+       content: "\e0b9";
+}
+.social_youtube_circle:before {
+       content: "\e0ba";
+}
+.social_picassa_circle:before {
+       content: "\e0bb";
+}
+.social_googledrive_alt2:before {
+       content: "\e0bc";
+}
+.social_flickr_circle:before {
+       content: "\e0bd";
+}
+.social_blogger_circle:before {
+       content: "\e0be";
+}
+.social_spotify_circle:before {
+       content: "\e0bf";
+}
+.social_delicious_circle:before {
+       content: "\e0c0";
+}
+.social_facebook_square:before {
+       content: "\e0c1";
+}
+.social_twitter_square:before {
+       content: "\e0c2";
+}
+.social_pinterest_square:before {
+       content: "\e0c3";
+}
+.social_googleplus_square:before {
+       content: "\e0c4";
+}
+.social_tumblr_square:before {
+       content: "\e0c5";
+}
+.social_stumbleupon_square:before {
+       content: "\e0c6";
+}
+.social_wordpress_square:before {
+       content: "\e0c7";
+}
+.social_instagram_square:before {
+       content: "\e0c8";
+}
+.social_dribbble_square:before {
+       content: "\e0c9";
+}
+.social_vimeo_square:before {
+       content: "\e0ca";
+}
+.social_linkedin_square:before {
+       content: "\e0cb";
+}
+.social_rss_square:before {
+       content: "\e0cc";
+}
+.social_deviantart_square:before {
+       content: "\e0cd";
+}
+.social_share_square:before {
+       content: "\e0ce";
+}
+.social_myspace_square:before {
+       content: "\e0cf";
+}
+.social_skype_square:before {
+       content: "\e0d0";
+}
+.social_youtube_square:before {
+       content: "\e0d1";
+}
+.social_picassa_square:before {
+       content: "\e0d2";
+}
+.social_googledrive_square:before {
+       content: "\e0d3";
+}
+.social_flickr_square:before {
+       content: "\e0d4";
+}
+.social_blogger_square:before {
+       content: "\e0d5";
+}
+.social_spotify_square:before {
+       content: "\e0d6";
+}
+.social_delicious_square:before {
+       content: "\e0d7";
+}
+.icon_printer:before {
+       content: "\e103";
+}
+.icon_calulator:before {
+       content: "\e0ee";
+}
+.icon_building:before {
+       content: "\e0ef";
+}
+.icon_floppy:before {
+       content: "\e0e8";
+}
+.icon_drive:before {
+       content: "\e0ea";
+}
+.icon_search-2:before {
+       content: "\e101";
+}
+.icon_id:before {
+       content: "\e107";
+}
+.icon_id-2:before {
+       content: "\e108";
+}
+.icon_puzzle:before {
+       content: "\e102";
+}
+.icon_like:before {
+       content: "\e106";
+}
+.icon_dislike:before {
+       content: "\e0eb";
+}
+.icon_mug:before {
+       content: "\e105";
+}
+.icon_currency:before {
+       content: "\e0ed";
+}
+.icon_wallet:before {
+       content: "\e100";
+}
+.icon_pens:before {
+       content: "\e104";
+}
+.icon_easel:before {
+       content: "\e0e9";
+}
+.icon_flowchart:before {
+       content: "\e109";
+}
+.icon_datareport:before {
+       content: "\e0ec";
+}
+.icon_briefcase:before {
+       content: "\e0fe";
+}
+.icon_shield:before {
+       content: "\e0f6";
+}
+.icon_percent:before {
+       content: "\e0fb";
+}
+.icon_globe:before {
+       content: "\e0e2";
+}
+.icon_globe-2:before {
+       content: "\e0e3";
+}
+.icon_target:before {
+       content: "\e0f5";
+}
+.icon_hourglass:before {
+       content: "\e0e1";
+}
+.icon_balance:before {
+       content: "\e0ff";
+}
+.icon_rook:before {
+       content: "\e0f8";
+}
+.icon_printer-alt:before {
+       content: "\e0fa";
+}
+.icon_calculator_alt:before {
+       content: "\e0e7";
+}
+.icon_building_alt:before {
+       content: "\e0fd";
+}
+.icon_floppy_alt:before {
+       content: "\e0e4";
+}
+.icon_drive_alt:before {
+       content: "\e0e5";
+}
+.icon_search_alt:before {
+       content: "\e0f7";
+}
+.icon_id_alt:before {
+       content: "\e0e0";
+}
+.icon_id-2_alt:before {
+       content: "\e0fc";
+}
+.icon_puzzle_alt:before {
+       content: "\e0f9";
+}
+.icon_like_alt:before {
+       content: "\e0dd";
+}
+.icon_dislike_alt:before {
+       content: "\e0f1";
+}
+.icon_mug_alt:before {
+       content: "\e0dc";
+}
+.icon_currency_alt:before {
+       content: "\e0f3";
+}
+.icon_wallet_alt:before {
+       content: "\e0d8";
+}
+.icon_pens_alt:before {
+       content: "\e0db";
+}
+.icon_easel_alt:before {
+       content: "\e0f0";
+}
+.icon_flowchart_alt:before {
+       content: "\e0df";
+}
+.icon_datareport_alt:before {
+       content: "\e0f2";
+}
+.icon_briefcase_alt:before {
+       content: "\e0f4";
+}
+.icon_shield_alt:before {
+       content: "\e0d9";
+}
+.icon_percent_alt:before {
+       content: "\e0da";
+}
+.icon_globe_alt:before {
+       content: "\e0de";
+}
+.icon_clipboard:before {
+       content: "\e0e6";
+}
diff --git a/templates/shop-isle/inc/customizer/customizer-repeater/css/iconpicker.min.css b/templates/shop-isle/inc/customizer/customizer-repeater/css/iconpicker.min.css
new file mode 100644 (file)
index 0000000..f95b24a
--- /dev/null
@@ -0,0 +1 @@
+.iconpicker .iconpicker-items,.iconpicker .iconpicker-items:after,.iconpicker-popover .popover-footer:after,.iconpicker:after{clear:both}.cherry-ui-iconpicker-group{max-width:230px;position:relative}.cherry-ui-iconpicker-group .cherry-ui-text{padding-left:40px}.cherry-ui-iconpicker-group .input-group-addon{position:absolute;width:32px;height:32px;left:1px;top:1px;background:#e5e5e5;font-size:16px;line-height:32px;text-align:center;border-radius:3px 0 0 3px;border-right:1px solid #dddcdc}.iconpicker-popover.popover{position:absolute;top:0;left:0;display:none;max-width:none;padding:1px;text-align:left;width:242px;background:#e5e5e5;z-index:999}.iconpicker-popover.popover.top,.iconpicker-popover.popover.topLeft,.iconpicker-popover.popover.topLeftCorner,.iconpicker-popover.popover.topRight,.iconpicker-popover.popover.topRightCorner{margin-top:-10px}.iconpicker-popover.popover.right,.iconpicker-popover.popover.rightBottom,.iconpicker-popover.popover.rightTop{margin-left:10px}.iconpicker-popover.popover.bottom,.iconpicker-popover.popover.bottomLeft,.iconpicker-popover.popover.bottomLeftCorner,.iconpicker-popover.popover.bottomRight,.iconpicker-popover.popover.bottomRightCorner{margin-top:10px}.iconpicker-popover.popover.left,.iconpicker-popover.popover.leftBottom,.iconpicker-popover.popover.leftTop{margin-left:-10px}.iconpicker-popover.popover.inline{margin:0 0 14px;position:relative;display:inline-block;opacity:1;top:auto;left:auto;bottom:auto;right:auto;max-width:100%;box-shadow:none;z-index:auto;vertical-align:top}.iconpicker-popover.popover.inline>.arrow{display:none}.dropdown-menu .iconpicker-popover.inline{margin:0;border:none}.dropdown-menu.iconpicker-container{padding:0}.iconpicker-popover.popover .popover-title{padding:14px;font-size:14px;line-height:16px;border-bottom:1px solid #ebebeb;background-color:#e5e5e5}.iconpicker-popover.popover .popover-title input[type=search].iconpicker-search{margin:0 0 2px}.iconpicker-popover.popover .popover-title-text~input[type=search].iconpicker-search{margin-top:14px}.iconpicker-popover.popover .popover-content{padding:0;text-align:center}.iconpicker-popover .popover-footer{float:none;clear:both;padding:14px;text-align:right;margin:0;border-top:1px solid #ebebeb;background-color:#e5e5e5}.iconpicker-popover .popover-footer:after,.iconpicker-popover .popover-footer:before{content:" ";display:table}.iconpicker-popover .popover-footer .iconpicker-btn{margin-left:10px}.iconpicker-popover .popover-footer input[type=search].iconpicker-search{margin-bottom:14px}.iconpicker-popover.popover>.arrow,.iconpicker-popover.popover>.arrow:after{position:absolute;display:block;width:0;height:0;border-color:transparent;border-style:solid}.iconpicker-popover.popover>.arrow{border-width:11px}.iconpicker-popover.popover>.arrow:after{border-width:10px;content:""}.iconpicker-popover.popover.top>.arrow,.iconpicker-popover.popover.topLeft>.arrow,.iconpicker-popover.popover.topRight>.arrow{left:50%;margin-left:-11px;border-bottom-width:0;border-top-color:#e5e5e5;bottom:-11px}.iconpicker-popover.popover.top>.arrow:after,.iconpicker-popover.popover.topLeft>.arrow:after,.iconpicker-popover.popover.topRight>.arrow:after{content:" ";bottom:1px;margin-left:-10px;border-bottom-width:0;border-top-color:#fff}.iconpicker-popover.popover.topLeft>.arrow{left:14px;margin-left:0}.iconpicker-popover.popover.topRight>.arrow{left:auto;right:14px;margin-left:0}.iconpicker-popover.popover.right>.arrow,.iconpicker-popover.popover.rightBottom>.arrow,.iconpicker-popover.popover.rightTop>.arrow{top:50%;left:-11px;margin-top:-11px;border-left-width:0;border-right-color:#e5e5e5}.iconpicker-popover.popover.right>.arrow:after,.iconpicker-popover.popover.rightBottom>.arrow:after,.iconpicker-popover.popover.rightTop>.arrow:after{content:" ";left:1px;bottom:-10px;border-left-width:0;border-right-color:#fff}.iconpicker-popover.popover.rightTop>.arrow{top:auto;bottom:14px;margin-top:0}.iconpicker-popover.popover.rightBottom>.arrow{top:14px;margin-top:0}.iconpicker-popover.popover.bottom>.arrow,.iconpicker-popover.popover.bottomLeft>.arrow,.iconpicker-popover.popover.bottomRight>.arrow{left:50%;margin-left:-11px;border-top-width:0;border-bottom-color:#e5e5e5;top:-11px}.iconpicker-popover.popover.bottom>.arrow:after,.iconpicker-popover.popover.bottomLeft>.arrow:after,.iconpicker-popover.popover.bottomRight>.arrow:after{content:" ";top:1px;margin-left:-10px;border-top-width:0;border-bottom-color:#e5e5e5}.iconpicker-popover.popover.bottomLeft>.arrow{left:14px;margin-left:0}.iconpicker-popover.popover.bottomRight>.arrow{left:auto;right:14px;margin-left:0}.iconpicker-popover.popover.left>.arrow,.iconpicker-popover.popover.leftBottom>.arrow,.iconpicker-popover.popover.leftTop>.arrow{top:50%;right:-11px;margin-top:-11px;border-right-width:0;border-left-color:#e5e5e5}.iconpicker,.iconpicker .iconpicker-items{position:relative;margin:0;overflow:hidden}.iconpicker-popover.popover.left>.arrow:after,.iconpicker-popover.popover.leftBottom>.arrow:after,.iconpicker-popover.popover.leftTop>.arrow:after{content:" ";right:1px;border-right-width:0;border-left-color:#fff;bottom:-10px}.iconpicker-popover.popover.leftBottom>.arrow{top:14px;margin-top:0}.iconpicker-popover.popover.leftTop>.arrow{top:auto;bottom:14px;margin-top:0}.iconpicker{text-align:left;text-shadow:none;line-height:0;display:block}.iconpicker .iconpicker-items:after,.iconpicker .iconpicker-items:before,.iconpicker:after,.iconpicker:before{content:" ";display:table}.iconpicker *{box-sizing:content-box;position:relative}.iconpicker .iconpicker-items{float:none;padding:10px 0 0 10px;background:#fff;overflow-y:auto;min-height:55px;max-height:275px}.iconpicker .iconpicker-item{float:left;width:28px;height:28px;line-height:28px;margin:0 7px 7px 0;text-align:center;cursor:pointer;border-radius:3px;font-size:18px;color:#444;box-shadow:0 0 0 1px #ddd;text-decoration:none}.iconpicker .iconpicker-item:hover:not(.iconpicker-selected){background-color:#eee}.iconpicker .iconpicker-item.iconpicker-selected{box-shadow:none;background:#ddd}.iconpicker-component{cursor:pointer}.icp-container {position: relative;} .icp {padding-left: 30px;} .icp-container .input-group-addon { position: absolute; top: 1px; left: 1px; padding: 3px; }
\ No newline at end of file
diff --git a/templates/shop-isle/inc/customizer/customizer-repeater/functions.php b/templates/shop-isle/inc/customizer/customizer-repeater/functions.php
new file mode 100644 (file)
index 0000000..ee55b6d
--- /dev/null
@@ -0,0 +1,3 @@
+<?php
+
+require get_template_directory() . '/inc/customizer/customizer-repeater/inc/customizer.php';
diff --git a/templates/shop-isle/inc/customizer/customizer-repeater/inc/customizer.php b/templates/shop-isle/inc/customizer/customizer-repeater/inc/customizer.php
new file mode 100644 (file)
index 0000000..addad3c
--- /dev/null
@@ -0,0 +1,23 @@
+<?php
+function customizer_repeater_register( $wp_customize ) {
+
+       require_once( get_template_directory() . '/inc/customizer/customizer-repeater/class/customizer-repeater-control.php' );
+
+}
+add_action( 'customize_register', 'customizer_repeater_register' );
+
+function customizer_repeater_sanitize( $input ) {
+       $input_decoded = json_decode( $input,true );
+
+       if ( ! empty( $input_decoded ) ) {
+               foreach ( $input_decoded as $boxk => $box ) {
+                       foreach ( $box as $key => $value ) {
+
+                                       $input_decoded[ $boxk ][ $key ] = wp_kses_post( force_balance_tags( $value ) );
+
+                       }
+               }
+               return json_encode( $input_decoded );
+       }
+       return $input;
+}
diff --git a/templates/shop-isle/inc/customizer/customizer-repeater/js/customizer_repeater.js b/templates/shop-isle/inc/customizer/customizer-repeater/js/customizer_repeater.js
new file mode 100644 (file)
index 0000000..e50c25e
--- /dev/null
@@ -0,0 +1,392 @@
+/* global jQuery */
+/* global wp */
+function media_upload(button_class) {
+    'use strict';
+    jQuery('body').on('click', button_class, function () {
+        var button_id = '#' + jQuery(this).attr('id');
+        var display_field = jQuery(this).parent().children('input:text');
+        var _custom_media = true;
+
+        wp.media.editor.send.attachment = function (props, attachment) {
+
+            if (_custom_media) {
+                if (typeof display_field !== 'undefined') {
+                    switch (props.size) {
+                        case 'full':
+                            display_field.val(attachment.sizes.full.url);
+                            display_field.trigger('change');
+                            break;
+                        case 'medium':
+                            display_field.val(attachment.sizes.medium.url);
+                            display_field.trigger('change');
+                            break;
+                        case 'thumbnail':
+                            display_field.val(attachment.sizes.thumbnail.url);
+                            display_field.trigger('change');
+                            break;
+                        default:
+                            display_field.val(attachment.url);
+                            display_field.trigger('change');
+                    }
+                }
+                _custom_media = false;
+            } else {
+                return wp.media.editor.send.attachment(button_id, [props, attachment]);
+            }
+        };
+        wp.media.editor.open(button_class);
+        window.send_to_editor = function (html) {
+
+        };
+        return false;
+    });
+}
+
+/********************************************
+ *** Generate unique id ***
+ *********************************************/
+function customizer_repeater_uniqid(prefix, more_entropy) {
+    'use strict';
+    if (typeof prefix === 'undefined') {
+        prefix = '';
+    }
+
+    var retId;
+    var php_js;
+    var formatSeed = function (seed, reqWidth) {
+        seed = parseInt(seed, 10)
+            .toString(16); // to hex str
+        if (reqWidth < seed.length) { // so long we split
+            return seed.slice(seed.length - reqWidth);
+        }
+        if (reqWidth > seed.length) { // so short we pad
+            return new Array(1 + (reqWidth - seed.length))
+                    .join('0') + seed;
+        }
+        return seed;
+    };
+
+    // BEGIN REDUNDANT
+    if (!php_js) {
+        php_js = {};
+    }
+    // END REDUNDANT
+    if (!php_js.uniqidSeed) { // init seed with big random int
+        php_js.uniqidSeed = Math.floor(Math.random() * 0x75bcd15);
+    }
+    php_js.uniqidSeed++;
+
+    retId = prefix; // start with prefix, add current milliseconds hex string
+    retId += formatSeed(parseInt(new Date()
+            .getTime() / 1000, 10), 8);
+    retId += formatSeed(php_js.uniqidSeed, 5); // add seed hex string
+    if (more_entropy) {
+        // for more entropy we add a float lower to 10
+        retId += (Math.random() * 10)
+            .toFixed(8)
+            .toString();
+    }
+
+    return retId;
+}
+
+
+/********************************************
+ *** General Repeater ***
+ *********************************************/
+function customizer_repeater_refresh_social_icons(th) {
+    'use strict';
+    var icons_repeater_values = [];
+    th.find('.customizer-repeater-social-repeater-container').each(function () {
+        var icon = jQuery(this).find('.icp').val();
+        var link = jQuery(this).find('.customizer-repeater-social-repeater-link').val();
+        var id = jQuery(this).find('.customizer-repeater-social-repeater-id').val();
+
+        if (!id) {
+            id = 'customizer-repeater-social-repeater-' + customizer_repeater_uniqid();
+            jQuery(this).find('.customizer-repeater-social-repeater-id').val(id);
+        }
+
+        if (icon !== '' && link !== '') {
+            icons_repeater_values.push({
+                'icon': icon,
+                'link': link,
+                'id': id
+            });
+        }
+    });
+
+    th.find('.social-repeater-socials-repeater-colector').val(JSON.stringify(icons_repeater_values));
+    customizer_repeater_refresh_general_control_values();
+}
+
+
+function customizer_repeater_refresh_general_control_values() {
+    'use strict';
+    jQuery('.customizer-repeater-general-control-repeater').each(function () {
+        var values = [];
+        var th = jQuery(this);
+        th.find('.customizer-repeater-general-control-repeater-container').each(function () {
+
+            var icon_value = jQuery(this).find('.icp').val();
+            var text = jQuery(this).find('.customizer-repeater-text-control').val();
+            var link = jQuery(this).find('.customizer-repeater-link-control').val();
+            var label = jQuery(this).find('.customizer-repeater-label-control').val();
+            var image_url = jQuery(this).find('.custom-media-url').val();
+            var choice = jQuery(this).find('.customizer-repeater-image-choice').val();
+            var title = jQuery(this).find('.customizer-repeater-title-control').val();
+            var subtext = jQuery(this).find('.customizer-repeater-subtext-control').val();
+            var id = jQuery(this).find('.social-repeater-box-id').val();
+            if (!id) {
+                id = 'social-repeater-' + customizer_repeater_uniqid();
+                jQuery(this).find('.social-repeater-box-id').val(id);
+            }
+            var social_repeater = jQuery(this).find('.social-repeater-socials-repeater-colector').val();
+            var shortcode = jQuery(this).find('.customizer-repeater-shortcode-control').val();
+            var description = jQuery(this).find('.customizer-repeater-description-control').val();
+
+            if (text !== '' || image_url !== '' || title !== '' || subtext !== '' || icon_value !== '' || link !== '' || label !== '' || choice !== '' || social_repeater !== '' || shortcode !== '' || description !== '') {
+                values.push({
+                    'icon_value': (choice === 'customizer_repeater_none' ? '' : icon_value),
+                    'text': escapeHtml(text),
+                    'link': link,
+                    'label': escapeHtml(label),
+                    'image_url': (choice === 'customizer_repeater_none' ? '' : image_url),
+                    'choice': choice,
+                    'title': escapeHtml(title),
+                    'subtext': escapeHtml(subtext),
+                    'social_repeater': escapeHtml(social_repeater),
+                    'id': id,
+                    'shortcode': escapeHtml(shortcode),
+                    'description': escapeHtml(description)
+                });
+            }
+
+        });
+        th.find('.customizer-repeater-colector').val(JSON.stringify(values));
+        th.find('.customizer-repeater-colector').trigger('change');
+    });
+}
+
+
+jQuery(document).ready(function () {
+    'use strict';
+    var theme_conrols = jQuery('#customize-theme-controls');
+    theme_conrols.on('click', '.customizer-repeater-customize-control-title', function () {
+        jQuery(this).next().slideToggle('medium', function () {
+            if (jQuery(this).is(':visible')){
+                jQuery(this).css('display', 'block');
+            }
+        });
+    });
+
+    theme_conrols.on('change', '.icp',function(){
+        customizer_repeater_refresh_general_control_values();
+        return false;
+    });
+
+    theme_conrols.on('change', '.customizer-repeater-image-choice', function () {
+        if (jQuery(this).val() === 'customizer_repeater_image') {
+            jQuery(this).parent().parent().find('.social-repeater-general-control-icon').hide();
+            jQuery(this).parent().parent().find('.customizer-repeater-image-control').show();
+        }
+        if (jQuery(this).val() === 'customizer_repeater_icon') {
+            jQuery(this).parent().parent().find('.social-repeater-general-control-icon').show();
+            jQuery(this).parent().parent().find('.customizer-repeater-image-control').hide();
+        }
+        if (jQuery(this).val() === 'customizer_repeater_none') {
+            jQuery(this).parent().parent().find('.social-repeater-general-control-icon').hide();
+            jQuery(this).parent().parent().find('.customizer-repeater-image-control').hide();
+        }
+
+        customizer_repeater_refresh_general_control_values();
+        return false;
+    });
+    media_upload('.customizer-repeater-custom-media-button');
+    jQuery('.custom-media-url').live('change', function () {
+        customizer_repeater_refresh_general_control_values();
+        return false;
+    });
+
+
+    /**
+     * This adds a new box to repeater
+     *
+     */
+    theme_conrols.on('click', '.customizer-repeater-new-field', function () {
+        var th = jQuery(this).parent();
+        var id = 'customizer-repeater-' + customizer_repeater_uniqid();
+        if (typeof th !== 'undefined') {
+            /* Clone the first box*/
+            var field = th.find('.customizer-repeater-general-control-repeater-container:first').clone();
+
+            if (typeof field !== 'undefined') {
+                /*Set the default value for choice between image and icon to icon*/
+                field.find('.customizer-repeater-image-choice').val('customizer_repeater_icon');
+
+                /*Show icon selector*/
+                field.find('.social-repeater-general-control-icon').show();
+
+                /*Hide image selector*/
+                if (field.find('.social-repeater-general-control-icon').length > 0) {
+                    field.find('.customizer-repeater-image-control').hide();
+                }
+
+                /*Show delete box button because it's not the first box*/
+                field.find('.social-repeater-general-control-remove-field').show();
+
+                /* Empty control for icon */
+                field.find( '.icp' ).iconpicker().on( 'iconpickerUpdated', function() {
+                    jQuery( this ).trigger( 'change' );
+                } );
+                field.find( '.input-group-addon' ).find('.fa').attr('class','fa');
+
+
+                /*Remove all repeater fields except first one*/
+
+                field.find('.customizer-repeater-social-repeater').find('.customizer-repeater-social-repeater-container').not(':first').remove();
+                field.find('.customizer-repeater-social-repeater-link').val('');
+                field.find('.social-repeater-socials-repeater-colector').val('');
+
+                /*Remove value from icon field*/
+                field.find('.icp').val('');
+
+                /*Remove value from text field*/
+                field.find('.customizer-repeater-text-control').val('');
+
+                /*Remove value from link field*/
+                field.find('.customizer-repeater-link-control').val('');
+
+                /*Remove value from label field*/
+                field.find('.customizer-repeater-label-control').val('');
+
+                /*Set box id*/
+                field.find('.social-repeater-box-id').val(id);
+
+                /*Remove value from media field*/
+                field.find('.custom-media-url').val('');
+
+                /*Remove value from title field*/
+                field.find('.customizer-repeater-title-control').val('');
+
+                /*Remove value from subtext field*/
+                field.find('.customizer-repeater-subtext-control').val('');
+
+                /*Remove value from shortcode field*/
+                field.find('.customizer-repeater-shortcode-control').val('');
+
+                /*Remove value from description field*/
+                field.find('.customizer-repeater-description-control').val('');
+
+                /*Append new box*/
+                th.find('.customizer-repeater-general-control-repeater-container:first').parent().append(field);
+
+                /*Refresh values*/
+                customizer_repeater_refresh_general_control_values();
+            }
+
+        }
+        return false;
+    });
+
+
+    theme_conrols.on('click', '.social-repeater-general-control-remove-field', function () {
+        if (typeof    jQuery(this).parent() !== 'undefined') {
+            jQuery(this).parent().parent().remove();
+            customizer_repeater_refresh_general_control_values();
+        }
+        return false;
+    });
+
+
+    theme_conrols.on('keyup', '.customizer-repeater-title-control', function () {
+        customizer_repeater_refresh_general_control_values();
+    });
+
+    theme_conrols.on('keyup', '.customizer-repeater-subtext-control', function () {
+        customizer_repeater_refresh_general_control_values();
+    });
+
+    theme_conrols.on('keyup', '.customizer-repeater-shortcode-control', function () {
+        customizer_repeater_refresh_general_control_values();
+    });
+
+    theme_conrols.on('keyup', '.customizer-repeater-description-control', function () {
+        customizer_repeater_refresh_general_control_values();
+    });
+
+    theme_conrols.on('keyup', '.customizer-repeater-text-control', function () {
+        customizer_repeater_refresh_general_control_values();
+    });
+
+    theme_conrols.on('keyup', '.customizer-repeater-link-control', function () {
+        customizer_repeater_refresh_general_control_values();
+    });
+
+    theme_conrols.on('keyup', '.customizer-repeater-label-control', function () {
+        customizer_repeater_refresh_general_control_values();
+    });
+
+    /*Drag and drop to change icons order*/
+
+    jQuery('.customizer-repeater-general-control-droppable').sortable({
+        update: function () {
+            customizer_repeater_refresh_general_control_values();
+        }
+    });
+
+
+    /*----------------- Socials Repeater ---------------------*/
+    theme_conrols.on('click', '.social-repeater-add-social-item', function (event) {
+        event.preventDefault();
+        var th = jQuery(this).parent();
+        var id = 'customizer-repeater-social-repeater-' + customizer_repeater_uniqid();
+        if (typeof th !== 'undefined') {
+            var field = th.find('.customizer-repeater-social-repeater-container:first').clone();
+            if (typeof field !== 'undefined') {
+                field.find( '.icp' ).iconpicker();
+                field.find( '.icp' ).val('');
+                field.find( '.input-group-addon' ).find('.fa').attr('class','fa');
+                field.find('.customizer-repeater-social-repeater-link').val('');
+                field.find('.customizer-repeater-social-repeater-id').val(id);
+                th.find('.customizer-repeater-social-repeater-container:first').parent().append(field);
+            }
+        }
+        return false;
+    });
+
+    theme_conrols.on('keyup', '.customizer-repeater-social-repeater-link', function (event) {
+        event.preventDefault();
+        var repeater = jQuery(this).parent().parent();
+        customizer_repeater_refresh_social_icons(repeater);
+        return false;
+    });
+
+    theme_conrols.on( 'iconpickerUpdated','.icp', function(event) {
+        event.preventDefault();
+        var th = jQuery(this).parent().parent().parent();
+        customizer_repeater_refresh_social_icons(th);
+        return false;
+    } );
+
+});
+
+var entityMap = {
+    '&': '&amp;',
+    '<': '&lt;',
+    '>': '&gt;',
+    '"': '&quot;',
+    '\'': '&#39;',
+    '/': '&#x2F;'
+};
+
+function escapeHtml(string) {
+    'use strict';
+    //noinspection JSUnresolvedFunction
+    string = String(string).replace(new RegExp('\r?\n', 'g'), '<br />');
+    string = String(string).replace(/\\/g, '&#92;');
+    return String(string).replace(/[&<>"'\/]/g, function (s) {
+        return entityMap[s];
+    });
+
+}
\ No newline at end of file
diff --git a/templates/shop-isle/inc/customizer/customizer-repeater/js/iconpicker-control.js b/templates/shop-isle/inc/customizer/customizer-repeater/js/iconpicker-control.js
new file mode 100644 (file)
index 0000000..aa2b7ad
--- /dev/null
@@ -0,0 +1,9 @@
+( function( $ ) {
+
+       $( function() {
+               $( '.icp' ).iconpicker().on( 'iconpickerUpdated', function() {
+                       $( this ).trigger( 'change' );
+               } );
+       } );
+
+} )( jQuery );
\ No newline at end of file
diff --git a/templates/shop-isle/inc/customizer/customizer-repeater/js/iconpicker.js b/templates/shop-isle/inc/customizer/customizer-repeater/js/iconpicker.js
new file mode 100644 (file)
index 0000000..cfb72e1
--- /dev/null
@@ -0,0 +1,1014 @@
+(function(a, b) {
+    a.ui = a.ui || {};
+    var c, d = Math.max, e = Math.abs, f = Math.round, g = /left|center|right/, h = /top|center|bottom/, i = /[\+\-]\d+(\.[\d]+)?%?/, j = /^\w+/, k = /%$/, l = a.fn.pos;
+    function m(a, b, c) {
+        return [ parseFloat(a[0]) * (k.test(a[0]) ? b / 100 : 1), parseFloat(a[1]) * (k.test(a[1]) ? c / 100 : 1) ];
+    }
+    function n(b, c) {
+        return parseInt(a.css(b, c), 10) || 0;
+    }
+    function o(b) {
+        var c = b[0];
+        if (c.nodeType === 9) {
+            return {
+                width: b.width(),
+                height: b.height(),
+                offset: {
+                    top: 0,
+                    left: 0
+                }
+            };
+        }
+        if (a.isWindow(c)) {
+            return {
+                width: b.width(),
+                height: b.height(),
+                offset: {
+                    top: b.scrollTop(),
+                    left: b.scrollLeft()
+                }
+            };
+        }
+        if (c.preventDefault) {
+            return {
+                width: 0,
+                height: 0,
+                offset: {
+                    top: c.pageY,
+                    left: c.pageX
+                }
+            };
+        }
+        return {
+            width: b.outerWidth(),
+            height: b.outerHeight(),
+            offset: b.offset()
+        };
+    }
+    a.pos = {
+        scrollbarWidth: function() {
+            if (c !== b) {
+                return c;
+            }
+            var d, e, f = a("<div style='display:block;position:absolute;width:50px;height:50px;overflow:hidden;'><div style='height:100px;width:auto;'></div></div>"), g = f.children()[0];
+            a("body").append(f);
+            d = g.offsetWidth;
+            f.css("overflow", "scroll");
+            e = g.offsetWidth;
+            if (d === e) {
+                e = f[0].clientWidth;
+            }
+            f.remove();
+            return c = d - e;
+        },
+        getScrollInfo: function(b) {
+            var c = b.isWindow || b.isDocument ? "" : b.element.css("overflow-x"), d = b.isWindow || b.isDocument ? "" : b.element.css("overflow-y"), e = c === "scroll" || c === "auto" && b.width < b.element[0].scrollWidth, f = d === "scroll" || d === "auto" && b.height < b.element[0].scrollHeight;
+            return {
+                width: f ? a.pos.scrollbarWidth() : 0,
+                height: e ? a.pos.scrollbarWidth() : 0
+            };
+        },
+        getWithinInfo: function(b) {
+            var c = a(b || window), d = a.isWindow(c[0]), e = !!c[0] && c[0].nodeType === 9;
+            return {
+                element: c,
+                isWindow: d,
+                isDocument: e,
+                offset: c.offset() || {
+                    left: 0,
+                    top: 0
+                },
+                scrollLeft: c.scrollLeft(),
+                scrollTop: c.scrollTop(),
+                width: d ? c.width() : c.outerWidth(),
+                height: d ? c.height() : c.outerHeight()
+            };
+        }
+    };
+    a.fn.pos = function(b) {
+        if (!b || !b.of) {
+            return l.apply(this, arguments);
+        }
+        b = a.extend({}, b);
+        var c, k, p, q, r, s, t = a(b.of), u = a.pos.getWithinInfo(b.within), v = a.pos.getScrollInfo(u), w = (b.collision || "flip").split(" "), x = {};
+        s = o(t);
+        if (t[0].preventDefault) {
+            b.at = "left top";
+        }
+        k = s.width;
+        p = s.height;
+        q = s.offset;
+        r = a.extend({}, q);
+        a.each([ "my", "at" ], function() {
+            var a = (b[this] || "").split(" "), c, d;
+            if (a.length === 1) {
+                a = g.test(a[0]) ? a.concat([ "center" ]) : h.test(a[0]) ? [ "center" ].concat(a) : [ "center", "center" ];
+            }
+            a[0] = g.test(a[0]) ? a[0] : "center";
+            a[1] = h.test(a[1]) ? a[1] : "center";
+            c = i.exec(a[0]);
+            d = i.exec(a[1]);
+            x[this] = [ c ? c[0] : 0, d ? d[0] : 0 ];
+            b[this] = [ j.exec(a[0])[0], j.exec(a[1])[0] ];
+        });
+        if (w.length === 1) {
+            w[1] = w[0];
+        }
+        if (b.at[0] === "right") {
+            r.left += k;
+        } else if (b.at[0] === "center") {
+            r.left += k / 2;
+        }
+        if (b.at[1] === "bottom") {
+            r.top += p;
+        } else if (b.at[1] === "center") {
+            r.top += p / 2;
+        }
+        c = m(x.at, k, p);
+        r.left += c[0];
+        r.top += c[1];
+        return this.each(function() {
+            var g, h, i = a(this), j = i.outerWidth(), l = i.outerHeight(), o = n(this, "marginLeft"), s = n(this, "marginTop"), y = j + o + n(this, "marginRight") + v.width, z = l + s + n(this, "marginBottom") + v.height, A = a.extend({}, r), B = m(x.my, i.outerWidth(), i.outerHeight());
+            if (b.my[0] === "right") {
+                A.left -= j;
+            } else if (b.my[0] === "center") {
+                A.left -= j / 2;
+            }
+            if (b.my[1] === "bottom") {
+                A.top -= l;
+            } else if (b.my[1] === "center") {
+                A.top -= l / 2;
+            }
+            A.left += B[0];
+            A.top += B[1];
+            if (!a.support.offsetFractions) {
+                A.left = f(A.left);
+                A.top = f(A.top);
+            }
+            g = {
+                marginLeft: o,
+                marginTop: s
+            };
+            a.each([ "left", "top" ], function(d, e) {
+                if (a.ui.pos[w[d]]) {
+                    a.ui.pos[w[d]][e](A, {
+                        targetWidth: k,
+                        targetHeight: p,
+                        elemWidth: j,
+                        elemHeight: l,
+                        collisionPosition: g,
+                        collisionWidth: y,
+                        collisionHeight: z,
+                        offset: [ c[0] + B[0], c[1] + B[1] ],
+                        my: b.my,
+                        at: b.at,
+                        within: u,
+                        elem: i
+                    });
+                }
+            });
+            if (b.using) {
+                h = function(a) {
+                    var c = q.left - A.left, f = c + k - j, g = q.top - A.top, h = g + p - l, m = {
+                        target: {
+                            element: t,
+                            left: q.left,
+                            top: q.top,
+                            width: k,
+                            height: p
+                        },
+                        element: {
+                            element: i,
+                            left: A.left,
+                            top: A.top,
+                            width: j,
+                            height: l
+                        },
+                        horizontal: f < 0 ? "left" : c > 0 ? "right" : "center",
+                        vertical: h < 0 ? "top" : g > 0 ? "bottom" : "middle"
+                    };
+                    if (k < j && e(c + f) < k) {
+                        m.horizontal = "center";
+                    }
+                    if (p < l && e(g + h) < p) {
+                        m.vertical = "middle";
+                    }
+                    if (d(e(c), e(f)) > d(e(g), e(h))) {
+                        m.important = "horizontal";
+                    } else {
+                        m.important = "vertical";
+                    }
+                    b.using.call(this, a, m);
+                };
+            }
+            i.offset(a.extend(A, {
+                using: h
+            }));
+        });
+    };
+    a.ui.pos = {
+        _trigger: function(a, b, c, d) {
+            if (b.elem) {
+                b.elem.trigger({
+                    type: c,
+                    position: a,
+                    positionData: b,
+                    triggered: d
+                });
+            }
+        },
+        fit: {
+            left: function(b, c) {
+                a.ui.pos._trigger(b, c, "posCollide", "fitLeft");
+                var e = c.within, f = e.isWindow ? e.scrollLeft : e.offset.left, g = e.width, h = b.left - c.collisionPosition.marginLeft, i = f - h, j = h + c.collisionWidth - g - f, k;
+                if (c.collisionWidth > g) {
+                    if (i > 0 && j <= 0) {
+                        k = b.left + i + c.collisionWidth - g - f;
+                        b.left += i - k;
+                    } else if (j > 0 && i <= 0) {
+                        b.left = f;
+                    } else {
+                        if (i > j) {
+                            b.left = f + g - c.collisionWidth;
+                        } else {
+                            b.left = f;
+                        }
+                    }
+                } else if (i > 0) {
+                    b.left += i;
+                } else if (j > 0) {
+                    b.left -= j;
+                } else {
+                    b.left = d(b.left - h, b.left);
+                }
+                a.ui.pos._trigger(b, c, "posCollided", "fitLeft");
+            },
+            top: function(b, c) {
+                a.ui.pos._trigger(b, c, "posCollide", "fitTop");
+                var e = c.within, f = e.isWindow ? e.scrollTop : e.offset.top, g = c.within.height, h = b.top - c.collisionPosition.marginTop, i = f - h, j = h + c.collisionHeight - g - f, k;
+                if (c.collisionHeight > g) {
+                    if (i > 0 && j <= 0) {
+                        k = b.top + i + c.collisionHeight - g - f;
+                        b.top += i - k;
+                    } else if (j > 0 && i <= 0) {
+                        b.top = f;
+                    } else {
+                        if (i > j) {
+                            b.top = f + g - c.collisionHeight;
+                        } else {
+                            b.top = f;
+                        }
+                    }
+                } else if (i > 0) {
+                    b.top += i;
+                } else if (j > 0) {
+                    b.top -= j;
+                } else {
+                    b.top = d(b.top - h, b.top);
+                }
+                a.ui.pos._trigger(b, c, "posCollided", "fitTop");
+            }
+        },
+        flip: {
+            left: function(b, c) {
+                a.ui.pos._trigger(b, c, "posCollide", "flipLeft");
+                var d = c.within, f = d.offset.left + d.scrollLeft, g = d.width, h = d.isWindow ? d.scrollLeft : d.offset.left, i = b.left - c.collisionPosition.marginLeft, j = i - h, k = i + c.collisionWidth - g - h, l = c.my[0] === "left" ? -c.elemWidth : c.my[0] === "right" ? c.elemWidth : 0, m = c.at[0] === "left" ? c.targetWidth : c.at[0] === "right" ? -c.targetWidth : 0, n = -2 * c.offset[0], o, p;
+                if (j < 0) {
+                    o = b.left + l + m + n + c.collisionWidth - g - f;
+                    if (o < 0 || o < e(j)) {
+                        b.left += l + m + n;
+                    }
+                } else if (k > 0) {
+                    p = b.left - c.collisionPosition.marginLeft + l + m + n - h;
+                    if (p > 0 || e(p) < k) {
+                        b.left += l + m + n;
+                    }
+                }
+                a.ui.pos._trigger(b, c, "posCollided", "flipLeft");
+            },
+            top: function(b, c) {
+                a.ui.pos._trigger(b, c, "posCollide", "flipTop");
+                var d = c.within, f = d.offset.top + d.scrollTop, g = d.height, h = d.isWindow ? d.scrollTop : d.offset.top, i = b.top - c.collisionPosition.marginTop, j = i - h, k = i + c.collisionHeight - g - h, l = c.my[1] === "top", m = l ? -c.elemHeight : c.my[1] === "bottom" ? c.elemHeight : 0, n = c.at[1] === "top" ? c.targetHeight : c.at[1] === "bottom" ? -c.targetHeight : 0, o = -2 * c.offset[1], p, q;
+                if (j < 0) {
+                    q = b.top + m + n + o + c.collisionHeight - g - f;
+                    if (b.top + m + n + o > j && (q < 0 || q < e(j))) {
+                        b.top += m + n + o;
+                    }
+                } else if (k > 0) {
+                    p = b.top - c.collisionPosition.marginTop + m + n + o - h;
+                    if (b.top + m + n + o > k && (p > 0 || e(p) < k)) {
+                        b.top += m + n + o;
+                    }
+                }
+                a.ui.pos._trigger(b, c, "posCollided", "flipTop");
+            }
+        },
+        flipfit: {
+            left: function() {
+                a.ui.pos.flip.left.apply(this, arguments);
+                a.ui.pos.fit.left.apply(this, arguments);
+            },
+            top: function() {
+                a.ui.pos.flip.top.apply(this, arguments);
+                a.ui.pos.fit.top.apply(this, arguments);
+            }
+        }
+    };
+    (function() {
+        var b, c, d, e, f, g = document.getElementsByTagName("body")[0], h = document.createElement("div");
+        b = document.createElement(g ? "div" : "body");
+        d = {
+            visibility: "hidden",
+            width: 0,
+            height: 0,
+            border: 0,
+            margin: 0,
+            background: "none"
+        };
+        if (g) {
+            a.extend(d, {
+                position: "absolute",
+                left: "-1000px",
+                top: "-1000px"
+            });
+        }
+        for (f in d) {
+            b.style[f] = d[f];
+        }
+        b.appendChild(h);
+        c = g || document.documentElement;
+        c.insertBefore(b, c.firstChild);
+        h.style.cssText = "position: absolute; left: 10.7432222px;";
+        e = a(h).offset().left;
+        a.support.offsetFractions = e > 10 && e < 11;
+        b.innerHTML = "";
+        c.removeChild(b);
+    })();
+})(jQuery);
+
+(function(a) {
+    "use strict";
+    if (typeof define === "function" && define.amd) {
+        define([ "jquery" ], a);
+    } else if (window.jQuery && !window.jQuery.fn.iconpicker) {
+        a(window.jQuery);
+    }
+})(function(a) {
+    "use strict";
+    var b = {
+        isEmpty: function(a) {
+            return a === false || a === "" || a === null || a === undefined;
+        },
+        isEmptyObject: function(a) {
+            return this.isEmpty(a) === true || a.length === 0;
+        },
+        isElement: function(b) {
+            return a(b).length > 0;
+        },
+        isString: function(a) {
+            return typeof a === "string" || a instanceof String;
+        },
+        isArray: function(b) {
+            return a.isArray(b);
+        },
+        inArray: function(b, c) {
+            return a.inArray(b, c) !== -1;
+        },
+        throwError: function(a) {
+            throw "Font Awesome Icon Picker Exception: " + a;
+        }
+    };
+    var c = function(d, e) {
+        this._id = c._idCounter++;
+        this.element = a(d).addClass("iconpicker-element");
+        this._trigger("iconpickerCreate");
+        this.options = a.extend({}, c.defaultOptions, this.element.data(), e);
+        this.options.templates = a.extend({}, c.defaultOptions.templates, this.options.templates);
+        this.options.originalPlacement = this.options.placement;
+        this.container = b.isElement(this.options.container) ? a(this.options.container) : false;
+        if (this.container === false) {
+            if (this.element.is(".dropdown-toggle")) {
+                this.container = a("~ .dropdown-menu:first", this.element);
+            } else {
+                this.container = this.element.is("input,textarea,button,.btn") ? this.element.parent() : this.element;
+            }
+        }
+        this.container.addClass("iconpicker-container");
+        if (this.isDropdownMenu()) {
+            this.options.templates.search = false;
+            this.options.templates.buttons = false;
+            this.options.placement = "inline";
+        }
+        this.input = this.element.is("input,textarea") ? this.element.addClass("iconpicker-input") : false;
+        if (this.input === false) {
+            this.input = this.container.find(this.options.input);
+            if (!this.input.is("input,textarea")) {
+                this.input = false;
+            }
+        }
+        this.component = this.isDropdownMenu() ? this.container.parent().find(this.options.component) : this.container.find(this.options.component);
+        if (this.component.length === 0) {
+            this.component = false;
+        } else {
+            this.component.find("i").addClass("iconpicker-component");
+        }
+        this._createPopover();
+        this._createIconpicker();
+        if (this.getAcceptButton().length === 0) {
+            this.options.mustAccept = false;
+        }
+        if (this.isInputGroup()) {
+            this.container.parent().append(this.popover);
+        } else {
+            this.container.append(this.popover);
+        }
+        this._bindElementEvents();
+        this._bindWindowEvents();
+        this.update(this.options.selected);
+        if (this.isInline()) {
+            this.show();
+        }
+        this._trigger("iconpickerCreated");
+    };
+    c._idCounter = 0;
+    c.defaultOptions = {
+        title: false,
+        selected: false,
+        defaultValue: false,
+        placement: "bottom",
+        collision: "none",
+        animation: true,
+        hideOnSelect: false,
+        showFooter: false,
+        searchInFooter: false,
+        mustAccept: false,
+        selectedCustomClass: "bg-primary",
+        icons: [],
+        fullClassFormatter: function(a) {
+            return "fa " + a;
+        },
+        input: "input,.iconpicker-input",
+        inputSearch: false,
+        container: false,
+        component: ".input-group-addon,.iconpicker-component",
+        templates: {
+            popover: '<div class="iconpicker-popover popover"><div class="arrow"></div>' + '<div class="popover-title"></div><div class="popover-content"></div></div>',
+            footer: '<div class="popover-footer"></div>',
+            buttons: '<button class="iconpicker-btn iconpicker-btn-cancel btn btn-default btn-sm">Cancel</button>' + ' <button class="iconpicker-btn iconpicker-btn-accept btn btn-primary btn-sm">Accept</button>',
+            search: '<input type="search" class="form-control iconpicker-search" placeholder="Type to filter" />',
+            iconpicker: '<div class="iconpicker"><div class="iconpicker-items"></div></div>',
+            iconpickerItem: '<a role="button" href="#" class="iconpicker-item"><span></span></a>'
+        }
+    };
+    c.batch = function(b, c) {
+        var d = Array.prototype.slice.call(arguments, 2);
+        return a(b).each(function() {
+            var b = a(this).data("iconpicker");
+            if (!!b) {
+                b[c].apply(b, d);
+            }
+        });
+    };
+    c.prototype = {
+        constructor: c,
+        options: {},
+        _id: 0,
+        _trigger: function(b, c) {
+            c = c || {};
+            this.element.trigger(a.extend({
+                type: b,
+                iconpickerInstance: this
+            }, c));
+        },
+        _createPopover: function() {
+            this.popover = a(this.options.templates.popover);
+            var c = this.popover.find(".popover-title");
+            if (!!this.options.title) {
+                c.append(a('<div class="popover-title-text">' + this.options.title + "</div>"));
+            }
+            if (this.hasSeparatedSearchInput() && !this.options.searchInFooter) {
+                c.append(this.options.templates.search);
+            } else if (!this.options.title) {
+                c.remove();
+            }
+            if (this.options.showFooter && !b.isEmpty(this.options.templates.footer)) {
+                var d = a(this.options.templates.footer);
+                if (this.hasSeparatedSearchInput() && this.options.searchInFooter) {
+                    d.append(a(this.options.templates.search));
+                }
+                if (!b.isEmpty(this.options.templates.buttons)) {
+                    d.append(a(this.options.templates.buttons));
+                }
+                this.popover.append(d);
+            }
+            if (this.options.animation === true) {
+                this.popover.addClass("fade");
+            }
+            return this.popover;
+        },
+        _createIconpicker: function() {
+            var b = this;
+            this.iconpicker = a(this.options.templates.iconpicker);
+            var c = function(c) {
+                var d = a(this);
+                if (d.is("span")) {
+                    d = d.parent();
+                }
+                b._trigger("iconpickerSelect", {
+                    iconpickerItem: d,
+                    iconpickerValue: b.iconpickerValue
+                });
+                if (b.options.mustAccept === false) {
+                    b.update(d.data("iconpickerValue"));
+                    b._trigger("iconpickerSelected", {
+                        iconpickerItem: this,
+                        iconpickerValue: b.iconpickerValue
+                    });
+                } else {
+                    b.update(d.data("iconpickerValue"), true);
+                }
+                if (b.options.hideOnSelect && b.options.mustAccept === false) {
+                    b.hide();
+                }
+                c.preventDefault();
+                return false;
+            };
+            for (var d in this.options.icons) {
+                var e = a(this.options.templates.iconpickerItem);
+                e.find("i").addClass(this.options.fullClassFormatter(this.options.icons[d]));
+                e.data("iconpickerValue", this.options.icons[d]).on("click.iconpicker", c);
+                this.iconpicker.find(".iconpicker-items").append(e.attr("title", "." + this.options.icons[d]));
+            }
+            this.popover.find(".popover-content").append(this.iconpicker);
+            return this.iconpicker;
+        },
+        _isEventInsideIconpicker: function(b) {
+            var c = a(b.target);
+            if ((!c.hasClass("iconpicker-element") || c.hasClass("iconpicker-element") && !c.is(this.element)) && c.parents(".iconpicker-popover").length === 0) {
+                return false;
+            }
+            return true;
+        },
+        _bindElementEvents: function() {
+            var c = this;
+            this.getSearchInput().on("keyup.iconpicker", function() {
+                c.filter(a(this).val().toLowerCase());
+            });
+            this.getAcceptButton().on("click.iconpicker", function() {
+                var a = c.iconpicker.find(".iconpicker-selected").get(0);
+                c.update(c.iconpickerValue);
+                c._trigger("iconpickerSelected", {
+                    iconpickerItem: a,
+                    iconpickerValue: c.iconpickerValue
+                });
+                if (!c.isInline()) {
+                    c.hide();
+                }
+            });
+            this.getCancelButton().on("click.iconpicker", function() {
+                if (!c.isInline()) {
+                    c.hide();
+                }
+            });
+            this.element.on("focus.iconpicker", function(a) {
+                c.show();
+                a.stopPropagation();
+            });
+            if (this.hasComponent()) {
+                this.component.on("click.iconpicker", function() {
+                    c.toggle();
+                });
+            }
+            if (this.hasInput()) {
+                this.input.on("keyup.iconpicker", function(d) {
+                    if (!b.inArray(d.keyCode, [ 38, 40, 37, 39, 16, 17, 18, 9, 8, 91, 93, 20, 46, 186, 190, 46, 78, 188, 44, 86 ])) {
+                        c.update();
+                    } else {
+                        c._updateFormGroupStatus(c.getValid(this.value) !== false);
+                    }
+                    if (c.options.inputSearch === true) {
+                        c.filter(a(this).val().toLowerCase());
+                    }
+                });
+            }
+        },
+        _bindWindowEvents: function() {
+            var b = a(window.document);
+            var c = this;
+            var d = ".iconpicker.inst" + this._id;
+            a(window).on("resize.iconpicker" + d + " orientationchange.iconpicker" + d, function(a) {
+                if (c.popover.hasClass("in")) {
+                    c.updatePlacement();
+                }
+            });
+            if (!c.isInline()) {
+                b.on("mouseup" + d, function(a) {
+                    if (!c._isEventInsideIconpicker(a) && !c.isInline()) {
+                        c.hide();
+                    }
+                });
+            }
+            return false;
+        },
+        _unbindElementEvents: function() {
+            this.popover.off(".iconpicker");
+            this.element.off(".iconpicker");
+            if (this.hasInput()) {
+                this.input.off(".iconpicker");
+            }
+            if (this.hasComponent()) {
+                this.component.off(".iconpicker");
+            }
+            if (this.hasContainer()) {
+                this.container.off(".iconpicker");
+            }
+        },
+        _unbindWindowEvents: function() {
+            a(window).off(".iconpicker.inst" + this._id);
+            a(window.document).off(".iconpicker.inst" + this._id);
+        },
+        updatePlacement: function(b, c) {
+            b = b || this.options.placement;
+            this.options.placement = b;
+            c = c || this.options.collision;
+            c = c === true ? "flip" : c;
+            var d = {
+                at: "right bottom",
+                my: "right top",
+                of: this.hasInput() && !this.isInputGroup() ? this.input : this.container,
+                collision: c === true ? "flip" : c,
+                within: window
+            };
+            this.popover.removeClass("inline topLeftCorner topLeft top topRight topRightCorner " + "rightTop right rightBottom bottomRight bottomRightCorner " + "bottom bottomLeft bottomLeftCorner leftBottom left leftTop");
+            if (typeof b === "object") {
+                return this.popover.pos(a.extend({}, d, b));
+            }
+            switch (b) {
+                case "inline":
+                {
+                    d = false;
+                }
+                    break;
+
+                case "topLeftCorner":
+                {
+                    d.my = "right bottom";
+                    d.at = "left top";
+                }
+                    break;
+
+                case "topLeft":
+                {
+                    d.my = "left bottom";
+                    d.at = "left top";
+                }
+                    break;
+
+                case "top":
+                {
+                    d.my = "center bottom";
+                    d.at = "center top";
+                }
+                    break;
+
+                case "topRight":
+                {
+                    d.my = "right bottom";
+                    d.at = "right top";
+                }
+                    break;
+
+                case "topRightCorner":
+                {
+                    d.my = "left bottom";
+                    d.at = "right top";
+                }
+                    break;
+
+                case "rightTop":
+                {
+                    d.my = "left bottom";
+                    d.at = "right center";
+                }
+                    break;
+
+                case "right":
+                {
+                    d.my = "left center";
+                    d.at = "right center";
+                }
+                    break;
+
+                case "rightBottom":
+                {
+                    d.my = "left top";
+                    d.at = "right center";
+                }
+                    break;
+
+                case "bottomRightCorner":
+                {
+                    d.my = "left top";
+                    d.at = "right bottom";
+                }
+                    break;
+
+                case "bottomRight":
+                {
+                    d.my = "right top";
+                    d.at = "right bottom";
+                }
+                    break;
+
+                case "bottom":
+                {
+                    d.my = "center top";
+                    d.at = "center bottom";
+                }
+                    break;
+
+                case "bottomLeft":
+                {
+                    d.my = "left top";
+                    d.at = "left bottom";
+                }
+                    break;
+
+                case "bottomLeftCorner":
+                {
+                    d.my = "right top";
+                    d.at = "left bottom";
+                }
+                    break;
+
+                case "leftBottom":
+                {
+                    d.my = "right top";
+                    d.at = "left center";
+                }
+                    break;
+
+                case "left":
+                {
+                    d.my = "right center";
+                    d.at = "left center";
+                }
+                    break;
+
+                case "leftTop":
+                {
+                    d.my = "right bottom";
+                    d.at = "left center";
+                }
+                    break;
+
+                default:
+                {
+                    return false;
+                }
+                    break;
+            }
+            this.popover.css({
+                display: this.options.placement === "inline" ? "" : "block"
+            });
+            if (d !== false) {
+                this.popover.pos(d).css("maxWidth", a(window).width() - this.container.offset().left - 5);
+            } else {
+                this.popover.css({
+                    top: "auto",
+                    right: "auto",
+                    bottom: "auto",
+                    left: "auto",
+                    maxWidth: "none"
+                });
+            }
+            this.popover.addClass(this.options.placement);
+            return true;
+        },
+        _updateComponents: function() {
+            this.iconpicker.find(".iconpicker-item.iconpicker-selected").removeClass("iconpicker-selected " + this.options.selectedCustomClass);
+            if (this.iconpickerValue) {
+                this.iconpicker.find("." + this.options.fullClassFormatter(this.iconpickerValue).replace(/ /g, ".")).parent().addClass("iconpicker-selected " + this.options.selectedCustomClass);
+            }
+            if (this.hasComponent()) {
+                var a = this.component.find("i");
+                if (a.length > 0) {
+                    a.attr("class", this.options.fullClassFormatter(this.iconpickerValue));
+                } else {
+                    this.component.html(this.getHtml());
+                }
+            }
+        },
+        _updateFormGroupStatus: function(a) {
+            if (this.hasInput()) {
+                if (a !== false) {
+                    this.input.parents(".form-group:first").removeClass("has-error");
+                } else {
+                    this.input.parents(".form-group:first").addClass("has-error");
+                }
+                return true;
+            }
+            return false;
+        },
+        getValid: function(c) {
+            if (!b.isString(c)) {
+                c = "";
+            }
+            var d = c === "";
+            c = a.trim(c);
+            if (b.inArray(c, this.options.icons) || d) {
+                return c;
+            }
+            return false;
+        },
+        setValue: function(a) {
+            var b = this.getValid(a);
+            if (b !== false) {
+                this.iconpickerValue = b;
+                this._trigger("iconpickerSetValue", {
+                    iconpickerValue: b
+                });
+                return this.iconpickerValue;
+            } else {
+                this._trigger("iconpickerInvalid", {
+                    iconpickerValue: a
+                });
+                return false;
+            }
+        },
+        getHtml: function() {
+            return '<i class="' + this.options.fullClassFormatter(this.iconpickerValue) + '"></i>';
+        },
+        setSourceValue: function(a) {
+            a = this.setValue(a);
+            if (a !== false && a !== "") {
+                if (this.hasInput()) {
+                    this.input.val(this.iconpickerValue);
+                } else {
+                    this.element.data("iconpickerValue", this.iconpickerValue);
+                }
+                this._trigger("iconpickerSetSourceValue", {
+                    iconpickerValue: a
+                });
+            }
+            return a;
+        },
+        getSourceValue: function(a) {
+            a = a || this.options.defaultValue;
+            var b = a;
+            if (this.hasInput()) {
+                b = this.input.val();
+            } else {
+                b = this.element.data("iconpickerValue");
+            }
+            if (b === undefined || b === "" || b === null || b === false) {
+                b = a;
+            }
+            return b;
+        },
+        hasInput: function() {
+            return this.input !== false;
+        },
+        isInputSearch: function() {
+            return this.hasInput() && this.options.inputSearch === true;
+        },
+        isInputGroup: function() {
+            return this.container.is(".input-group");
+        },
+        isDropdownMenu: function() {
+            return this.container.is(".dropdown-menu");
+        },
+        hasSeparatedSearchInput: function() {
+            return this.options.templates.search !== false && !this.isInputSearch();
+        },
+        hasComponent: function() {
+            return this.component !== false;
+        },
+        hasContainer: function() {
+            return this.container !== false;
+        },
+        getAcceptButton: function() {
+            return this.popover.find(".iconpicker-btn-accept");
+        },
+        getCancelButton: function() {
+            return this.popover.find(".iconpicker-btn-cancel");
+        },
+        getSearchInput: function() {
+            return this.popover.find(".iconpicker-search");
+        },
+        filter: function(c) {
+            if (b.isEmpty(c)) {
+                this.iconpicker.find(".iconpicker-item").show();
+                return a(false);
+            } else {
+                var d = [];
+                this.iconpicker.find(".iconpicker-item").each(function() {
+                    var b = a(this);
+                    var e = b.attr("title").toLowerCase();
+                    var f = false;
+                    try {
+                        f = new RegExp(c, "g");
+                    } catch (a) {
+                        f = false;
+                    }
+                    if (f !== false && e.match(f)) {
+                        d.push(b);
+                        b.show();
+                    } else {
+                        b.hide();
+                    }
+                });
+                return d;
+            }
+        },
+        show: function() {
+            if (this.popover.hasClass("in")) {
+                return false;
+            }
+            a.iconpicker.batch(a(".iconpicker-popover.in:not(.inline)").not(this.popover), "hide");
+            this._trigger("iconpickerShow");
+            this.updatePlacement();
+            this.popover.addClass("in");
+            setTimeout(a.proxy(function() {
+                this.popover.css("display", this.isInline() ? "" : "block");
+                this._trigger("iconpickerShown");
+            }, this), this.options.animation ? 300 : 1);
+        },
+        hide: function() {
+            if (!this.popover.hasClass("in")) {
+                return false;
+            }
+            this._trigger("iconpickerHide");
+            this.popover.removeClass("in");
+            setTimeout(a.proxy(function() {
+                this.popover.css("display", "none");
+                this.getSearchInput().val("");
+                this.filter("");
+                this._trigger("iconpickerHidden");
+            }, this), this.options.animation ? 300 : 1);
+        },
+        toggle: function() {
+            if (this.popover.is(":visible")) {
+                this.hide();
+            } else {
+                this.show(true);
+            }
+        },
+        update: function(a, b) {
+            a = a ? a : this.getSourceValue(this.iconpickerValue);
+            this._trigger("iconpickerUpdate");
+            if (b === true) {
+                a = this.setValue(a);
+            } else {
+                a = this.setSourceValue(a);
+                this._updateFormGroupStatus(a !== false);
+            }
+            if (a !== false) {
+                this._updateComponents();
+            }
+            this._trigger("iconpickerUpdated");
+            return a;
+        },
+        destroy: function() {
+            this._trigger("iconpickerDestroy");
+            this.element.removeData("iconpicker").removeData("iconpickerValue").removeClass("iconpicker-element");
+            this._unbindElementEvents();
+            this._unbindWindowEvents();
+            a(this.popover).remove();
+            this._trigger("iconpickerDestroyed");
+        },
+        disable: function() {
+            if (this.hasInput()) {
+                this.input.prop("disabled", true);
+                return true;
+            }
+            return false;
+        },
+        enable: function() {
+            if (this.hasInput()) {
+                this.input.prop("disabled", false);
+                return true;
+            }
+            return false;
+        },
+        isDisabled: function() {
+            if (this.hasInput()) {
+                return this.input.prop("disabled") === true;
+            }
+            return false;
+        },
+        isInline: function() {
+            return this.options.placement === "inline" || this.popover.hasClass("inline");
+        }
+    };
+    a.iconpicker = c;
+    a.fn.iconpicker = function(b) {
+        return this.each(function() {
+            var d = a(this);
+            if (!d.data("iconpicker")) {
+                d.data("iconpicker", new c(this, typeof b === "object" ? b : {}));
+            }
+        });
+    };
+    c.defaultOptions.icons = [ 'No Icon','arrow_up', 'arrow_down', 'arrow_left', 'arrow_right', 'arrow_left-up', 'arrow_right-up', 'arrow_right-down', 'arrow_left-down', 'arrow-up-down', 'arrow_up-down_alt', 'arrow_left-right_alt', 'arrow_left-right', 'arrow_expand_alt2', 'arrow_expand_alt', 'arrow_condense', 'arrow_expand', 'arrow_move', 'arrow_carrot-up', 'arrow_carrot-down', 'arrow_carrot-left', 'arrow_carrot-right', 'arrow_carrot-2up', 'arrow_carrot-2down', 'arrow_carrot-2left', 'arrow_carrot-2right', 'arrow_carrot-up_alt2', 'arrow_carrot-down_alt2', 'arrow_carrot-left_alt2', 'arrow_carrot-right_alt2', 'arrow_carrot-2up_alt2', 'arrow_carrot-2down_alt2', 'arrow_carrot-2left_alt2', 'arrow_carrot-2right_alt2', 'arrow_triangle-up', 'arrow_triangle-down', 'arrow_triangle-left', 'arrow_triangle-right', 'arrow_triangle-up_alt2', 'arrow_triangle-down_alt2', 'arrow_triangle-left_alt2', 'arrow_triangle-right_alt2', 'arrow_back', 'icon_minus-06', 'icon_plus', 'icon_close', 'icon_check', 'icon_minus_alt2', 'icon_plus_alt2', 'icon_close_alt2', 'icon_check_alt2', 'icon_zoom-out_alt', 'icon_zoom-in_alt', 'icon_search', 'icon_box-empty', 'icon_box-selected', 'icon_minus-box', 'icon_plus-box', 'icon_box-checked', 'icon_circle-empty', 'icon_circle-slelected', 'icon_stop_alt2', 'icon_stop', 'icon_pause_alt2', 'icon_pause', 'icon_menu', 'icon_menu-square_alt2', 'icon_menu-circle_alt2', 'icon_ul', 'icon_ol', 'icon_adjust-horiz', 'icon_adjust-vert', 'icon_document_alt', 'icon_documents_alt', 'icon_pencil', 'icon_pencil-edit_alt', 'icon_pencil-edit', 'icon_folder-alt', 'icon_folder-open_alt', 'icon_folder-add_alt', 'icon_info_alt', 'icon_error-oct_alt', 'icon_error-circle_alt', 'icon_error-triangle_alt', 'icon_question_alt2', 'icon_question', 'icon_comment_alt', 'icon_chat_alt', 'icon_vol-mute_alt', 'icon_volume-low_alt', 'icon_volume-high_alt', 'icon_quotations', 'icon_quotations_alt2', 'icon_clock_alt', 'icon_lock_alt', 'icon_lock-open_alt', 'icon_key_alt', 'icon_cloud_alt', 'icon_cloud-upload_alt', 'icon_cloud-download_alt', 'icon_image', 'icon_images', 'icon_lightbulb_alt', 'icon_gift_alt', 'icon_house_alt', 'icon_genius', 'icon_mobile', 'icon_tablet', 'icon_laptop', 'icon_desktop', 'icon_camera_alt', 'icon_mail_alt', 'icon_cone_alt', 'icon_ribbon_alt', 'icon_bag_alt', 'icon_creditcard', 'icon_cart_alt', 'icon_paperclip', 'icon_tag_alt', 'icon_tags_alt', 'icon_trash_alt', 'icon_cursor_alt', 'icon_mic_alt', 'icon_compass_alt', 'icon_pin_alt', 'icon_pushpin_alt', 'icon_map_alt', 'icon_drawer_alt', 'icon_toolbox_alt', 'icon_book_alt', 'icon_calendar', 'icon_film', 'icon_table', 'icon_contacts_alt', 'icon_headphones', 'icon_lifesaver', 'icon_piechart', 'icon_refresh', 'icon_link_alt', 'icon_link', 'icon_loading', 'icon_blocked', 'icon_archive_alt', 'icon_heart_alt', 'icon_star_alt', 'icon_star-half_alt', 'icon_star', 'icon_star-half', 'icon_tools', 'icon_tool', 'icon_cog', 'icon_cogs', 'arrow_up_alt', 'arrow_down_alt', 'arrow_left_alt', 'arrow_right_alt', 'arrow_left-up_alt', 'arrow_right-up_alt', 'arrow_right-down_alt', 'arrow_left-down_alt', 'arrow_condense_alt', 'arrow_expand_alt3', 'arrow_carrot_up_alt', 'arrow_carrot-down_alt', 'arrow_carrot-left_alt', 'arrow_carrot-right_alt', 'arrow_carrot-2up_alt', 'arrow_carrot-2dwnn_alt', 'arrow_carrot-2left_alt', 'arrow_carrot-2right_alt', 'arrow_triangle-up_alt', 'arrow_triangle-down_alt', 'arrow_triangle-left_alt', 'arrow_triangle-right_alt', 'icon_minus_alt', 'icon_plus_alt', 'icon_close_alt', 'icon_check_alt', 'icon_zoom-out', 'icon_zoom-in', 'icon_stop_alt', 'icon_menu-square_alt', 'icon_menu-circle_alt', 'icon_document', 'icon_documents', 'icon_pencil_alt', 'icon_folder', 'icon_folder-open', 'icon_folder-add', 'icon_folder_upload', 'icon_folder_download', 'icon_info', 'icon_error-circle', 'icon_error-oct', 'icon_error-triangle', 'icon_question_alt', 'icon_comment', 'icon_chat', 'icon_vol-mute', 'icon_volume-low', 'icon_volume-high', 'icon_quotations_alt', 'icon_clock', 'icon_lock', 'icon_lock-open', 'icon_key', 'icon_cloud', 'icon_cloud-upload', 'icon_cloud-download', 'icon_lightbulb', 'icon_gift', 'icon_house', 'icon_camera', 'icon_mail', 'icon_cone', 'icon_ribbon', 'icon_bag', 'icon_cart', 'icon_tag', 'icon_tags', 'icon_trash', 'icon_cursor', 'icon_mic', 'icon_compass', 'icon_pin', 'icon_pushpin', 'icon_map', 'icon_drawer', 'icon_toolbox', 'icon_book', 'icon_contacts', 'icon_archive', 'icon_heart', 'icon_profile', 'icon_group', 'icon_grid-2x2', 'icon_grid-3x3', 'icon_music', 'icon_pause_alt', 'icon_phone', 'icon_upload', 'icon_download', 'social_facebook', 'social_twitter', 'social_pinterest', 'social_googleplus', 'social_tumblr', 'social_tumbleupon', 'social_wordpress', 'social_instagram', 'social_dribbble', 'social_vimeo', 'social_linkedin', 'social_rss', 'social_deviantart', 'social_share', 'social_myspace', 'social_skype', 'social_youtube', 'social_picassa', 'social_googledrive', 'social_flickr', 'social_blogger', 'social_spotify', 'social_delicious', 'social_facebook_circle', 'social_twitter_circle', 'social_pinterest_circle', 'social_googleplus_circle', 'social_tumblr_circle', 'social_stumbleupon_circle', 'social_wordpress_circle', 'social_instagram_circle', 'social_dribbble_circle', 'social_vimeo_circle', 'social_linkedin_circle', 'social_rss_circle', 'social_deviantart_circle', 'social_share_circle', 'social_myspace_circle', 'social_skype_circle', 'social_youtube_circle', 'social_picassa_circle', 'social_googledrive_alt2', 'social_flickr_circle', 'social_blogger_circle', 'social_spotify_circle', 'social_delicious_circle', 'social_facebook_square', 'social_twitter_square', 'social_pinterest_square', 'social_googleplus_square', 'social_tumblr_square', 'social_stumbleupon_square', 'social_wordpress_square', 'social_instagram_square', 'social_dribbble_square', 'social_vimeo_square', 'social_linkedin_square', 'social_rss_square', 'social_deviantart_square', 'social_share_square', 'social_myspace_square', 'social_skype_square', 'social_youtube_square', 'social_picassa_square', 'social_googledrive_square', 'social_flickr_square', 'social_blogger_square', 'social_spotify_square', 'social_delicious_square', 'icon_printer', 'icon_calulator', 'icon_building', 'icon_floppy', 'icon_drive', 'icon_search-2', 'icon_id', 'icon_id-2', 'icon_puzzle', 'icon_like', 'icon_dislike', 'icon_mug', 'icon_currency', 'icon_wallet', 'icon_pens', 'icon_easel', 'icon_flowchart', 'icon_datareport', 'icon_briefcase', 'icon_shield', 'icon_percent', 'icon_globe', 'icon_globe-2', 'icon_target', 'icon_hourglass', 'icon_balance', 'icon_rook', 'icon_printer-alt', 'icon_calculator_alt', 'icon_building_alt', 'icon_floppy_alt', 'icon_drive_alt', 'icon_search_alt', 'icon_id_alt', 'icon_id-2_alt', 'icon_puzzle_alt', 'icon_like_alt', 'icon_dislike_alt', 'icon_mug_alt', 'icon_currency_alt', 'icon_wallet_alt', 'icon_pens_alt', 'icon_easel_alt', 'icon_flowchart_alt', 'icon_datareport_alt', 'icon_briefcase_alt', 'icon_shield_alt', 'icon_percent_alt', 'icon_globe_alt', 'icon_clipboard' ];
+});
\ No newline at end of file
diff --git a/templates/shop-isle/inc/customizer/customizer-repeater/js/iconpicker.min.js b/templates/shop-isle/inc/customizer/customizer-repeater/js/iconpicker.min.js
new file mode 100644 (file)
index 0000000..7b69d22
--- /dev/null
@@ -0,0 +1 @@
+!function(a,b){function m(a,b,c){return[parseFloat(a[0])*(k.test(a[0])?b/100:1),parseFloat(a[1])*(k.test(a[1])?c/100:1)]}function n(b,c){return parseInt(a.css(b,c),10)||0}function o(b){var c=b[0];return 9===c.nodeType?{width:b.width(),height:b.height(),offset:{top:0,left:0}}:a.isWindow(c)?{width:b.width(),height:b.height(),offset:{top:b.scrollTop(),left:b.scrollLeft()}}:c.preventDefault?{width:0,height:0,offset:{top:c.pageY,left:c.pageX}}:{width:b.outerWidth(),height:b.outerHeight(),offset:b.offset()}}a.ui=a.ui||{};var c,d=Math.max,e=Math.abs,f=Math.round,g=/left|center|right/,h=/top|center|bottom/,i=/[\+\-]\d+(\.[\d]+)?%?/,j=/^\w+/,k=/%$/,l=a.fn.pos;a.pos={scrollbarWidth:function(){if(c!==b)return c;var d,e,f=a("<div style='display:block;position:absolute;width:50px;height:50px;overflow:hidden;'><div style='height:100px;width:auto;'></div></div>"),g=f.children()[0];return a("body").append(f),d=g.offsetWidth,f.css("overflow","scroll"),e=g.offsetWidth,d===e&&(e=f[0].clientWidth),f.remove(),c=d-e},getScrollInfo:function(b){var c=b.isWindow||b.isDocument?"":b.element.css("overflow-x"),d=b.isWindow||b.isDocument?"":b.element.css("overflow-y"),e="scroll"===c||"auto"===c&&b.width<b.element[0].scrollWidth,f="scroll"===d||"auto"===d&&b.height<b.element[0].scrollHeight;return{width:f?a.pos.scrollbarWidth():0,height:e?a.pos.scrollbarWidth():0}},getWithinInfo:function(b){var c=a(b||window),d=a.isWindow(c[0]),e=!!c[0]&&9===c[0].nodeType;return{element:c,isWindow:d,isDocument:e,offset:c.offset()||{left:0,top:0},scrollLeft:c.scrollLeft(),scrollTop:c.scrollTop(),width:d?c.width():c.outerWidth(),height:d?c.height():c.outerHeight()}}},a.fn.pos=function(b){if(!b||!b.of)return l.apply(this,arguments);b=a.extend({},b);var c,k,p,q,r,s,t=a(b.of),u=a.pos.getWithinInfo(b.within),v=a.pos.getScrollInfo(u),w=(b.collision||"flip").split(" "),x={};return s=o(t),t[0].preventDefault&&(b.at="left top"),k=s.width,p=s.height,q=s.offset,r=a.extend({},q),a.each(["my","at"],function(){var c,d,a=(b[this]||"").split(" ");1===a.length&&(a=g.test(a[0])?a.concat(["center"]):h.test(a[0])?["center"].concat(a):["center","center"]),a[0]=g.test(a[0])?a[0]:"center",a[1]=h.test(a[1])?a[1]:"center",c=i.exec(a[0]),d=i.exec(a[1]),x[this]=[c?c[0]:0,d?d[0]:0],b[this]=[j.exec(a[0])[0],j.exec(a[1])[0]]}),1===w.length&&(w[1]=w[0]),"right"===b.at[0]?r.left+=k:"center"===b.at[0]&&(r.left+=k/2),"bottom"===b.at[1]?r.top+=p:"center"===b.at[1]&&(r.top+=p/2),c=m(x.at,k,p),r.left+=c[0],r.top+=c[1],this.each(function(){var g,h,i=a(this),j=i.outerWidth(),l=i.outerHeight(),o=n(this,"marginLeft"),s=n(this,"marginTop"),y=j+o+n(this,"marginRight")+v.width,z=l+s+n(this,"marginBottom")+v.height,A=a.extend({},r),B=m(x.my,i.outerWidth(),i.outerHeight());"right"===b.my[0]?A.left-=j:"center"===b.my[0]&&(A.left-=j/2),"bottom"===b.my[1]?A.top-=l:"center"===b.my[1]&&(A.top-=l/2),A.left+=B[0],A.top+=B[1],a.support.offsetFractions||(A.left=f(A.left),A.top=f(A.top)),g={marginLeft:o,marginTop:s},a.each(["left","top"],function(d,e){a.ui.pos[w[d]]&&a.ui.pos[w[d]][e](A,{targetWidth:k,targetHeight:p,elemWidth:j,elemHeight:l,collisionPosition:g,collisionWidth:y,collisionHeight:z,offset:[c[0]+B[0],c[1]+B[1]],my:b.my,at:b.at,within:u,elem:i})}),b.using&&(h=function(a){var c=q.left-A.left,f=c+k-j,g=q.top-A.top,h=g+p-l,m={target:{element:t,left:q.left,top:q.top,width:k,height:p},element:{element:i,left:A.left,top:A.top,width:j,height:l},horizontal:f<0?"left":c>0?"right":"center",vertical:h<0?"top":g>0?"bottom":"middle"};k<j&&e(c+f)<k&&(m.horizontal="center"),p<l&&e(g+h)<p&&(m.vertical="middle"),d(e(c),e(f))>d(e(g),e(h))?m.important="horizontal":m.important="vertical",b.using.call(this,a,m)}),i.offset(a.extend(A,{using:h}))})},a.ui.pos={_trigger:function(a,b,c,d){b.elem&&b.elem.trigger({type:c,position:a,positionData:b,triggered:d})},fit:{left:function(b,c){a.ui.pos._trigger(b,c,"posCollide","fitLeft");var k,e=c.within,f=e.isWindow?e.scrollLeft:e.offset.left,g=e.width,h=b.left-c.collisionPosition.marginLeft,i=f-h,j=h+c.collisionWidth-g-f;c.collisionWidth>g?i>0&&j<=0?(k=b.left+i+c.collisionWidth-g-f,b.left+=i-k):j>0&&i<=0?b.left=f:i>j?b.left=f+g-c.collisionWidth:b.left=f:i>0?b.left+=i:j>0?b.left-=j:b.left=d(b.left-h,b.left),a.ui.pos._trigger(b,c,"posCollided","fitLeft")},top:function(b,c){a.ui.pos._trigger(b,c,"posCollide","fitTop");var k,e=c.within,f=e.isWindow?e.scrollTop:e.offset.top,g=c.within.height,h=b.top-c.collisionPosition.marginTop,i=f-h,j=h+c.collisionHeight-g-f;c.collisionHeight>g?i>0&&j<=0?(k=b.top+i+c.collisionHeight-g-f,b.top+=i-k):j>0&&i<=0?b.top=f:i>j?b.top=f+g-c.collisionHeight:b.top=f:i>0?b.top+=i:j>0?b.top-=j:b.top=d(b.top-h,b.top),a.ui.pos._trigger(b,c,"posCollided","fitTop")}},flip:{left:function(b,c){a.ui.pos._trigger(b,c,"posCollide","flipLeft");var o,p,d=c.within,f=d.offset.left+d.scrollLeft,g=d.width,h=d.isWindow?d.scrollLeft:d.offset.left,i=b.left-c.collisionPosition.marginLeft,j=i-h,k=i+c.collisionWidth-g-h,l="left"===c.my[0]?-c.elemWidth:"right"===c.my[0]?c.elemWidth:0,m="left"===c.at[0]?c.targetWidth:"right"===c.at[0]?-c.targetWidth:0,n=-2*c.offset[0];j<0?(o=b.left+l+m+n+c.collisionWidth-g-f,(o<0||o<e(j))&&(b.left+=l+m+n)):k>0&&(p=b.left-c.collisionPosition.marginLeft+l+m+n-h,(p>0||e(p)<k)&&(b.left+=l+m+n)),a.ui.pos._trigger(b,c,"posCollided","flipLeft")},top:function(b,c){a.ui.pos._trigger(b,c,"posCollide","flipTop");var p,q,d=c.within,f=d.offset.top+d.scrollTop,g=d.height,h=d.isWindow?d.scrollTop:d.offset.top,i=b.top-c.collisionPosition.marginTop,j=i-h,k=i+c.collisionHeight-g-h,l="top"===c.my[1],m=l?-c.elemHeight:"bottom"===c.my[1]?c.elemHeight:0,n="top"===c.at[1]?c.targetHeight:"bottom"===c.at[1]?-c.targetHeight:0,o=-2*c.offset[1];j<0?(q=b.top+m+n+o+c.collisionHeight-g-f,b.top+m+n+o>j&&(q<0||q<e(j))&&(b.top+=m+n+o)):k>0&&(p=b.top-c.collisionPosition.marginTop+m+n+o-h,b.top+m+n+o>k&&(p>0||e(p)<k)&&(b.top+=m+n+o)),a.ui.pos._trigger(b,c,"posCollided","flipTop")}},flipfit:{left:function(){a.ui.pos.flip.left.apply(this,arguments),a.ui.pos.fit.left.apply(this,arguments)},top:function(){a.ui.pos.flip.top.apply(this,arguments),a.ui.pos.fit.top.apply(this,arguments)}}},function(){var b,c,d,e,f,g=document.getElementsByTagName("body")[0],h=document.createElement("div");b=document.createElement(g?"div":"body"),d={visibility:"hidden",width:0,height:0,border:0,margin:0,background:"none"},g&&a.extend(d,{position:"absolute",left:"-1000px",top:"-1000px"});for(f in d)b.style[f]=d[f];b.appendChild(h),c=g||document.documentElement,c.insertBefore(b,c.firstChild),h.style.cssText="position: absolute; left: 10.7432222px;",e=a(h).offset().left,a.support.offsetFractions=e>10&&e<11,b.innerHTML="",c.removeChild(b)}()}(jQuery),function(a){"use strict";"function"==typeof define&&define.amd?define(["jquery"],a):window.jQuery&&!window.jQuery.fn.iconpicker&&a(window.jQuery)}(function(a){"use strict";var b={isEmpty:function(a){return a===!1||""===a||null===a||void 0===a},isEmptyObject:function(a){return this.isEmpty(a)===!0||0===a.length},isElement:function(b){return a(b).length>0},isString:function(a){return"string"==typeof a||a instanceof String},isArray:function(b){return a.isArray(b)},inArray:function(b,c){return a.inArray(b,c)!==-1},throwError:function(a){throw"Font Awesome Icon Picker Exception: "+a}},c=function(d,e){this._id=c._idCounter++,this.element=a(d).addClass("iconpicker-element"),this._trigger("iconpickerCreate"),this.options=a.extend({},c.defaultOptions,this.element.data(),e),this.options.templates=a.extend({},c.defaultOptions.templates,this.options.templates),this.options.originalPlacement=this.options.placement,this.container=!!b.isElement(this.options.container)&&a(this.options.container),this.container===!1&&(this.element.is(".dropdown-toggle")?this.container=a("~ .dropdown-menu:first",this.element):this.container=this.element.is("input,textarea,button,.btn")?this.element.parent():this.element),this.container.addClass("iconpicker-container"),this.isDropdownMenu()&&(this.options.templates.search=!1,this.options.templates.buttons=!1,this.options.placement="inline"),this.input=!!this.element.is("input,textarea")&&this.element.addClass("iconpicker-input"),this.input===!1&&(this.input=this.container.find(this.options.input),this.input.is("input,textarea")||(this.input=!1)),this.component=this.isDropdownMenu()?this.container.parent().find(this.options.component):this.container.find(this.options.component),0===this.component.length?this.component=!1:this.component.find("span").addClass("iconpicker-component"),this._createPopover(),this._createIconpicker(),0===this.getAcceptButton().length&&(this.options.mustAccept=!1),this.isInputGroup()?this.container.parent().append(this.popover):this.container.append(this.popover),this._bindElementEvents(),this._bindWindowEvents(),this.update(this.options.selected),this.isInline()&&this.show(),this._trigger("iconpickerCreated")};c._idCounter=0,c.defaultOptions={title:!1,selected:!1,defaultValue:!1,placement:"bottom",collision:"none",animation:!0,hideOnSelect:!1,showFooter:!1,searchInFooter:!1,mustAccept:!1,selectedCustomClass:"bg-primary",icons:[],fullClassFormatter:function(a){return"fa "+a},input:"input,.iconpicker-input",inputSearch:!1,container:!1,component:".input-group-addon,.iconpicker-component",templates:{popover:'<div class="iconpicker-popover popover"><div class="arrow"></div><div class="popover-title"></div><div class="popover-content"></div></div>',footer:'<div class="popover-footer"></div>',buttons:'<button class="iconpicker-btn iconpicker-btn-cancel btn btn-default btn-sm">Cancel</button> <button class="iconpicker-btn iconpicker-btn-accept btn btn-primary btn-sm">Accept</button>',search:'<input type="search" class="form-control iconpicker-search" placeholder="Type to filter" />',iconpicker:'<div class="iconpicker"><div class="iconpicker-items"></div></div>',iconpickerItem:'<a role="button" href="#" class="iconpicker-item"><span></span></a>'}},c.batch=function(b,c){var d=Array.prototype.slice.call(arguments,2);return a(b).each(function(){var b=a(this).data("iconpicker");b&&b[c].apply(b,d)})},c.prototype={constructor:c,options:{},_id:0,_trigger:function(b,c){c=c||{},this.element.trigger(a.extend({type:b,iconpickerInstance:this},c))},_createPopover:function(){this.popover=a(this.options.templates.popover);var c=this.popover.find(".popover-title");if(this.options.title&&c.append(a('<div class="popover-title-text">'+this.options.title+"</div>")),this.hasSeparatedSearchInput()&&!this.options.searchInFooter?c.append(this.options.templates.search):this.options.title||c.remove(),this.options.showFooter&&!b.isEmpty(this.options.templates.footer)){var d=a(this.options.templates.footer);this.hasSeparatedSearchInput()&&this.options.searchInFooter&&d.append(a(this.options.templates.search)),b.isEmpty(this.options.templates.buttons)||d.append(a(this.options.templates.buttons)),this.popover.append(d)}return this.options.animation===!0&&this.popover.addClass("fade"),this.popover},_createIconpicker:function(){var b=this;this.iconpicker=a(this.options.templates.iconpicker);var c=function(c){var d=a(this);return d.is("span")&&(d=d.parent()),b._trigger("iconpickerSelect",{iconpickerItem:d,iconpickerValue:b.iconpickerValue}),b.options.mustAccept===!1?(b.update(d.data("iconpickerValue")),b._trigger("iconpickerSelected",{iconpickerItem:this,iconpickerValue:b.iconpickerValue})):b.update(d.data("iconpickerValue"),!0),b.options.hideOnSelect&&b.options.mustAccept===!1&&b.hide(),c.preventDefault(),!1};for(var d in this.options.icons){var e=a(this.options.templates.iconpickerItem);e.find("span").addClass(this.options.fullClassFormatter(this.options.icons[d])),e.data("iconpickerValue",this.options.icons[d]).on("click.iconpicker",c),this.iconpicker.find(".iconpicker-items").append(e.attr("title","."+this.options.icons[d]))}return this.popover.find(".popover-content").append(this.iconpicker),this.iconpicker},_isEventInsideIconpicker:function(b){var c=a(b.target);return!((!c.hasClass("iconpicker-element")||c.hasClass("iconpicker-element")&&!c.is(this.element))&&0===c.parents(".iconpicker-popover").length)},_bindElementEvents:function(){var c=this;this.getSearchInput().on("keyup.iconpicker",function(){c.filter(a(this).val().toLowerCase())}),this.getAcceptButton().on("click.iconpicker",function(){var a=c.iconpicker.find(".iconpicker-selected").get(0);c.update(c.iconpickerValue),c._trigger("iconpickerSelected",{iconpickerItem:a,iconpickerValue:c.iconpickerValue}),c.isInline()||c.hide()}),this.getCancelButton().on("click.iconpicker",function(){c.isInline()||c.hide()}),this.element.on("focus.iconpicker",function(a){c.show(),a.stopPropagation()}),this.hasComponent()&&this.component.on("click.iconpicker",function(){c.toggle()}),this.hasInput()&&this.input.on("keyup.iconpicker",function(d){b.inArray(d.keyCode,[38,40,37,39,16,17,18,9,8,91,93,20,46,186,190,46,78,188,44,86])?c._updateFormGroupStatus(c.getValid(this.value)!==!1):c.update(),c.options.inputSearch===!0&&c.filter(a(this).val().toLowerCase())})},_bindWindowEvents:function(){var b=a(window.document),c=this,d=".iconpicker.inst"+this._id;return a(window).on("resize.iconpicker"+d+" orientationchange.iconpicker"+d,function(a){c.popover.hasClass("in")&&c.updatePlacement()}),c.isInline()||b.on("mouseup"+d,function(a){c._isEventInsideIconpicker(a)||c.isInline()||c.hide()}),!1},_unbindElementEvents:function(){this.popover.off(".iconpicker"),this.element.off(".iconpicker"),this.hasInput()&&this.input.off(".iconpicker"),this.hasComponent()&&this.component.off(".iconpicker"),this.hasContainer()&&this.container.off(".iconpicker")},_unbindWindowEvents:function(){a(window).off(".iconpicker.inst"+this._id),a(window.document).off(".iconpicker.inst"+this._id)},updatePlacement:function(b,c){b=b||this.options.placement,this.options.placement=b,c=c||this.options.collision,c=c===!0?"flip":c;var d={at:"right bottom",my:"right top",of:this.hasInput()&&!this.isInputGroup()?this.input:this.container,collision:c===!0?"flip":c,within:window};if(this.popover.removeClass("inline topLeftCorner topLeft top topRight topRightCorner rightTop right rightBottom bottomRight bottomRightCorner bottom bottomLeft bottomLeftCorner leftBottom left leftTop"),"object"==typeof b)return this.popover.pos(a.extend({},d,b));switch(b){case"inline":d=!1;break;case"topLeftCorner":d.my="right bottom",d.at="left top";break;case"topLeft":d.my="left bottom",d.at="left top";break;case"top":d.my="center bottom",d.at="center top";break;case"topRight":d.my="right bottom",d.at="right top";break;case"topRightCorner":d.my="left bottom",d.at="right top";break;case"rightTop":d.my="left bottom",d.at="right center";break;case"right":d.my="left center",d.at="right center";break;case"rightBottom":d.my="left top",d.at="right center";break;case"bottomRightCorner":d.my="left top",d.at="right bottom";break;case"bottomRight":d.my="right top",d.at="right bottom";break;case"bottom":d.my="center top",d.at="center bottom";break;case"bottomLeft":d.my="left top",d.at="left bottom";break;case"bottomLeftCorner":d.my="right top",d.at="left bottom";break;case"leftBottom":d.my="right top",d.at="left center";break;case"left":d.my="right center",d.at="left center";break;case"leftTop":d.my="right bottom",d.at="left center";break;default:return!1}return this.popover.css({display:"inline"===this.options.placement?"":"block"}),d!==!1?this.popover.pos(d).css("maxWidth",a(window).width()-this.container.offset().left-5):this.popover.css({top:"auto",right:"auto",bottom:"auto",left:"auto",maxWidth:"none"}),this.popover.addClass(this.options.placement),!0},_updateComponents:function(){if(this.iconpicker.find(".iconpicker-item.iconpicker-selected").removeClass("iconpicker-selected "+this.options.selectedCustomClass),this.iconpickerValue&&this.iconpicker.find("."+this.options.fullClassFormatter(this.iconpickerValue).replace(/ /g,".")).parent().addClass("iconpicker-selected "+this.options.selectedCustomClass),this.hasComponent()){var a=this.component.find("span");a.length>0?a.attr("class",this.options.fullClassFormatter(this.iconpickerValue)):this.component.html(this.getHtml())}},_updateFormGroupStatus:function(a){return!!this.hasInput()&&(a!==!1?this.input.parents(".form-group:first").removeClass("has-error"):this.input.parents(".form-group:first").addClass("has-error"),!0)},getValid:function(c){b.isString(c)||(c="");var d=""===c;return c=a.trim(c),!(!b.inArray(c,this.options.icons)&&!d)&&c},setValue:function(a){var b=this.getValid(a);return b!==!1?(this.iconpickerValue=b,this._trigger("iconpickerSetValue",{iconpickerValue:b}),this.iconpickerValue):(this._trigger("iconpickerInvalid",{iconpickerValue:a}),!1)},getHtml:function(){return'<i class="'+this.options.fullClassFormatter(this.iconpickerValue)+'"></i>'},setSourceValue:function(a){return a=this.setValue(a),a!==!1&&""!==a&&(this.hasInput()?this.input.val(this.iconpickerValue):this.element.data("iconpickerValue",this.iconpickerValue),this._trigger("iconpickerSetSourceValue",{iconpickerValue:a})),a},getSourceValue:function(a){a=a||this.options.defaultValue;var b=a;return b=this.hasInput()?this.input.val():this.element.data("iconpickerValue"),void 0!==b&&""!==b&&null!==b&&b!==!1||(b=a),b},hasInput:function(){return this.input!==!1},isInputSearch:function(){return this.hasInput()&&this.options.inputSearch===!0},isInputGroup:function(){return this.container.is(".input-group")},isDropdownMenu:function(){return this.container.is(".dropdown-menu")},hasSeparatedSearchInput:function(){return this.options.templates.search!==!1&&!this.isInputSearch()},hasComponent:function(){return this.component!==!1},hasContainer:function(){return this.container!==!1},getAcceptButton:function(){return this.popover.find(".iconpicker-btn-accept")},getCancelButton:function(){return this.popover.find(".iconpicker-btn-cancel")},getSearchInput:function(){return this.popover.find(".iconpicker-search")},filter:function(c){if(b.isEmpty(c))return this.iconpicker.find(".iconpicker-item").show(),a(!1);var d=[];return this.iconpicker.find(".iconpicker-item").each(function(){var b=a(this),e=b.attr("title").toLowerCase(),f=!1;try{f=new RegExp(c,"g")}catch(a){f=!1}f!==!1&&e.match(f)?(d.push(b),b.show()):b.hide()}),d},show:function(){return!this.popover.hasClass("in")&&(a.iconpicker.batch(a(".iconpicker-popover.in:not(.inline)").not(this.popover),"hide"),this._trigger("iconpickerShow"),this.updatePlacement(),this.popover.addClass("in"),void setTimeout(a.proxy(function(){this.popover.css("display",this.isInline()?"":"block"),this._trigger("iconpickerShown")},this),this.options.animation?300:1))},hide:function(){return!!this.popover.hasClass("in")&&(this._trigger("iconpickerHide"),this.popover.removeClass("in"),void setTimeout(a.proxy(function(){this.popover.css("display","none"),this.getSearchInput().val(""),this.filter(""),this._trigger("iconpickerHidden")},this),this.options.animation?300:1))},toggle:function(){this.popover.is(":visible")?this.hide():this.show(!0)},update:function(a,b){return a=a?a:this.getSourceValue(this.iconpickerValue),this._trigger("iconpickerUpdate"),b===!0?a=this.setValue(a):(a=this.setSourceValue(a),this._updateFormGroupStatus(a!==!1)),a!==!1&&this._updateComponents(),this._trigger("iconpickerUpdated"),a},destroy:function(){this._trigger("iconpickerDestroy"),this.element.removeData("iconpicker").removeData("iconpickerValue").removeClass("iconpicker-element"),this._unbindElementEvents(),this._unbindWindowEvents(),a(this.popover).remove(),this._trigger("iconpickerDestroyed")},disable:function(){return!!this.hasInput()&&(this.input.prop("disabled",!0),!0)},enable:function(){return!!this.hasInput()&&(this.input.prop("disabled",!1),!0)},isDisabled:function(){return!!this.hasInput()&&this.input.prop("disabled")===!0},isInline:function(){return"inline"===this.options.placement||this.popover.hasClass("inline")}},a.iconpicker=c,a.fn.iconpicker=function(b){return this.each(function(){var d=a(this);d.data("iconpicker")||d.data("iconpicker",new c(this,"object"==typeof b?b:{}))})},c.defaultOptions.icons=[ 'No Icon','arrow_up', 'arrow_down', 'arrow_left', 'arrow_right', 'arrow_left-up', 'arrow_right-up', 'arrow_right-down', 'arrow_left-down', 'arrow-up-down', 'arrow_up-down_alt', 'arrow_left-right_alt', 'arrow_left-right', 'arrow_expand_alt2', 'arrow_expand_alt', 'arrow_condense', 'arrow_expand', 'arrow_move', 'arrow_carrot-up', 'arrow_carrot-down', 'arrow_carrot-left', 'arrow_carrot-right', 'arrow_carrot-2up', 'arrow_carrot-2down', 'arrow_carrot-2left', 'arrow_carrot-2right', 'arrow_carrot-up_alt2', 'arrow_carrot-down_alt2', 'arrow_carrot-left_alt2', 'arrow_carrot-right_alt2', 'arrow_carrot-2up_alt2', 'arrow_carrot-2down_alt2', 'arrow_carrot-2left_alt2', 'arrow_carrot-2right_alt2', 'arrow_triangle-up', 'arrow_triangle-down', 'arrow_triangle-left', 'arrow_triangle-right', 'arrow_triangle-up_alt2', 'arrow_triangle-down_alt2', 'arrow_triangle-left_alt2', 'arrow_triangle-right_alt2', 'arrow_back', 'icon_minus-06', 'icon_plus', 'icon_close', 'icon_check', 'icon_minus_alt2', 'icon_plus_alt2', 'icon_close_alt2', 'icon_check_alt2', 'icon_zoom-out_alt', 'icon_zoom-in_alt', 'icon_search', 'icon_box-empty', 'icon_box-selected', 'icon_minus-box', 'icon_plus-box', 'icon_box-checked', 'icon_circle-empty', 'icon_circle-slelected', 'icon_stop_alt2', 'icon_stop', 'icon_pause_alt2', 'icon_pause', 'icon_menu', 'icon_menu-square_alt2', 'icon_menu-circle_alt2', 'icon_ul', 'icon_ol', 'icon_adjust-horiz', 'icon_adjust-vert', 'icon_document_alt', 'icon_documents_alt', 'icon_pencil', 'icon_pencil-edit_alt', 'icon_pencil-edit', 'icon_folder-alt', 'icon_folder-open_alt', 'icon_folder-add_alt', 'icon_info_alt', 'icon_error-oct_alt', 'icon_error-circle_alt', 'icon_error-triangle_alt', 'icon_question_alt2', 'icon_question', 'icon_comment_alt', 'icon_chat_alt', 'icon_vol-mute_alt', 'icon_volume-low_alt', 'icon_volume-high_alt', 'icon_quotations', 'icon_quotations_alt2', 'icon_clock_alt', 'icon_lock_alt', 'icon_lock-open_alt', 'icon_key_alt', 'icon_cloud_alt', 'icon_cloud-upload_alt', 'icon_cloud-download_alt', 'icon_image', 'icon_images', 'icon_lightbulb_alt', 'icon_gift_alt', 'icon_house_alt', 'icon_genius', 'icon_mobile', 'icon_tablet', 'icon_laptop', 'icon_desktop', 'icon_camera_alt', 'icon_mail_alt', 'icon_cone_alt', 'icon_ribbon_alt', 'icon_bag_alt', 'icon_creditcard', 'icon_cart_alt', 'icon_paperclip', 'icon_tag_alt', 'icon_tags_alt', 'icon_trash_alt', 'icon_cursor_alt', 'icon_mic_alt', 'icon_compass_alt', 'icon_pin_alt', 'icon_pushpin_alt', 'icon_map_alt', 'icon_drawer_alt', 'icon_toolbox_alt', 'icon_book_alt', 'icon_calendar', 'icon_film', 'icon_table', 'icon_contacts_alt', 'icon_headphones', 'icon_lifesaver', 'icon_piechart', 'icon_refresh', 'icon_link_alt', 'icon_link', 'icon_loading', 'icon_blocked', 'icon_archive_alt', 'icon_heart_alt', 'icon_star_alt', 'icon_star-half_alt', 'icon_star', 'icon_star-half', 'icon_tools', 'icon_tool', 'icon_cog', 'icon_cogs', 'arrow_up_alt', 'arrow_down_alt', 'arrow_left_alt', 'arrow_right_alt', 'arrow_left-up_alt', 'arrow_right-up_alt', 'arrow_right-down_alt', 'arrow_left-down_alt', 'arrow_condense_alt', 'arrow_expand_alt3', 'arrow_carrot_up_alt', 'arrow_carrot-down_alt', 'arrow_carrot-left_alt', 'arrow_carrot-right_alt', 'arrow_carrot-2up_alt', 'arrow_carrot-2dwnn_alt', 'arrow_carrot-2left_alt', 'arrow_carrot-2right_alt', 'arrow_triangle-up_alt', 'arrow_triangle-down_alt', 'arrow_triangle-left_alt', 'arrow_triangle-right_alt', 'icon_minus_alt', 'icon_plus_alt', 'icon_close_alt', 'icon_check_alt', 'icon_zoom-out', 'icon_zoom-in', 'icon_stop_alt', 'icon_menu-square_alt', 'icon_menu-circle_alt', 'icon_document', 'icon_documents', 'icon_pencil_alt', 'icon_folder', 'icon_folder-open', 'icon_folder-add', 'icon_folder_upload', 'icon_folder_download', 'icon_info', 'icon_error-circle', 'icon_error-oct', 'icon_error-triangle', 'icon_question_alt', 'icon_comment', 'icon_chat', 'icon_vol-mute', 'icon_volume-low', 'icon_volume-high', 'icon_quotations_alt', 'icon_clock', 'icon_lock', 'icon_lock-open', 'icon_key', 'icon_cloud', 'icon_cloud-upload', 'icon_cloud-download', 'icon_lightbulb', 'icon_gift', 'icon_house', 'icon_camera', 'icon_mail', 'icon_cone', 'icon_ribbon', 'icon_bag', 'icon_cart', 'icon_tag', 'icon_tags', 'icon_trash', 'icon_cursor', 'icon_mic', 'icon_compass', 'icon_pin', 'icon_pushpin', 'icon_map', 'icon_drawer', 'icon_toolbox', 'icon_book', 'icon_contacts', 'icon_archive', 'icon_heart', 'icon_profile', 'icon_group', 'icon_grid-2x2', 'icon_grid-3x3', 'icon_music', 'icon_pause_alt', 'icon_phone', 'icon_upload', 'icon_download', 'social_facebook', 'social_twitter', 'social_pinterest', 'social_googleplus', 'social_tumblr', 'social_tumbleupon', 'social_wordpress', 'social_instagram', 'social_dribbble', 'social_vimeo', 'social_linkedin', 'social_rss', 'social_deviantart', 'social_share', 'social_myspace', 'social_skype', 'social_youtube', 'social_picassa', 'social_googledrive', 'social_flickr', 'social_blogger', 'social_spotify', 'social_delicious', 'social_facebook_circle', 'social_twitter_circle', 'social_pinterest_circle', 'social_googleplus_circle', 'social_tumblr_circle', 'social_stumbleupon_circle', 'social_wordpress_circle', 'social_instagram_circle', 'social_dribbble_circle', 'social_vimeo_circle', 'social_linkedin_circle', 'social_rss_circle', 'social_deviantart_circle', 'social_share_circle', 'social_myspace_circle', 'social_skype_circle', 'social_youtube_circle', 'social_picassa_circle', 'social_googledrive_alt2', 'social_flickr_circle', 'social_blogger_circle', 'social_spotify_circle', 'social_delicious_circle', 'social_facebook_square', 'social_twitter_square', 'social_pinterest_square', 'social_googleplus_square', 'social_tumblr_square', 'social_stumbleupon_square', 'social_wordpress_square', 'social_instagram_square', 'social_dribbble_square', 'social_vimeo_square', 'social_linkedin_square', 'social_rss_square', 'social_deviantart_square', 'social_share_square', 'social_myspace_square', 'social_skype_square', 'social_youtube_square', 'social_picassa_square', 'social_googledrive_square', 'social_flickr_square', 'social_blogger_square', 'social_spotify_square', 'social_delicious_square', 'icon_printer', 'icon_calulator', 'icon_building', 'icon_floppy', 'icon_drive', 'icon_search-2', 'icon_id', 'icon_id-2', 'icon_puzzle', 'icon_like', 'icon_dislike', 'icon_mug', 'icon_currency', 'icon_wallet', 'icon_pens', 'icon_easel', 'icon_flowchart', 'icon_datareport', 'icon_briefcase', 'icon_shield', 'icon_percent', 'icon_globe', 'icon_globe-2', 'icon_target', 'icon_hourglass', 'icon_balance', 'icon_rook', 'icon_printer-alt', 'icon_calculator_alt', 'icon_building_alt', 'icon_floppy_alt', 'icon_drive_alt', 'icon_search_alt', 'icon_id_alt', 'icon_id-2_alt', 'icon_puzzle_alt', 'icon_like_alt', 'icon_dislike_alt', 'icon_mug_alt', 'icon_currency_alt', 'icon_wallet_alt', 'icon_pens_alt', 'icon_easel_alt', 'icon_flowchart_alt', 'icon_datareport_alt', 'icon_briefcase_alt', 'icon_shield_alt', 'icon_percent_alt', 'icon_globe_alt', 'icon_clipboard' ]});
\ No newline at end of file
diff --git a/templates/shop-isle/inc/customizer/customizer-upsell/class-shopisle-control-upsell.php b/templates/shop-isle/inc/customizer/customizer-upsell/class-shopisle-control-upsell.php
new file mode 100644 (file)
index 0000000..5595edb
--- /dev/null
@@ -0,0 +1,112 @@
+<?php
+/**
+ * Upsell Class.
+ *
+ * @package ShopIsle
+ */
+
+if ( ! class_exists( 'Shopisle_Control_Upsell' ) ) :
+       /**
+        * Class Shopisle_Control_Upsell
+        */
+       class Shopisle_Control_Upsell extends WP_Customize_Control {
+
+               /**
+                * Control type
+                *
+                * @var string control type
+                */
+               public $type = 'themeisle-control-upsell';
+
+               /**
+                * Button text
+                *
+                * @var string button text
+                */
+               public $button_text = '';
+
+               /**
+                * Button link
+                *
+                * @var string button url
+                */
+               public $button_url = '#';
+
+               /**
+                * List of features
+                *
+                * @var array theme features / options
+                */
+               public $options = array();
+
+               /**
+                * List of explanations
+                *
+                * @var array additional info
+                */
+               public $explained_features = array();
+
+               /**
+                * Shopisle_Control_Upsell constructor.
+                *
+                * @param WP_Customize_Manager $manager the customize manager class.
+                * @param string               $id  id.
+                * @param array                $args customizer manager parameters.
+                */
+               public function __construct( WP_Customize_Manager $manager, $id, array $args ) {
+                       $this->button_text;
+                       $manager->register_control_type( 'Shopisle_Control_Upsell' );
+                       parent::__construct( $manager, $id, $args );
+
+               }
+               /**
+                * Enqueue resources for the control
+                */
+               public function enqueue() {
+                       wp_enqueue_style( 'themeisle-upsell-style', get_template_directory_uri() . '/inc/customizer/customizer-upsell/css/style.css', '1.0.0' );
+               }
+
+               /**
+                * Json conversion
+                */
+               public function to_json() {
+                       parent::to_json();
+                       $this->json['button_text']        = $this->button_text;
+                       $this->json['button_url']         = $this->button_url;
+                       $this->json['options']            = $this->options;
+                       $this->json['explained_features'] = $this->explained_features;
+               }
+
+               /**
+                * Control content
+                */
+               public function content_template() {
+       ?>
+                       <div class="themeisle-upsell">
+                               <# if ( data.options.length > 0 ) { #>
+                                       <ul class="themeisle-upsell-features">
+                                               <# for (option in data.options) { #>
+                                                       <li><span class="upsell-pro-label"></span>{{ data.options[option] }}
+                                                       </li>
+                                                       <# } #>
+                                       </ul>
+                                       <# } #>
+
+                                               <# if ( data.button_text && data.button_url ) { #>
+                                                       <a target="_blank" href="{{ data.button_url }}" class="button button-primary" target="_blank">{{
+                                                               data.button_text }}</a>
+                                                       <# } #>
+
+                                                               <# if ( data.explained_features.length > 0 ) { #>
+                                                                       <hr>
+                                                                       <ul class="themeisle-upsell-feature-list">
+                                                                               <# for (requirement in data.explained_features) { #>
+                                                                                       <li>* {{ data.explained_features[requirement] }}</li>
+                                                                                       <# } #>
+                                                                       </ul>
+                                                                       <# } #>
+                       </div>
+               <?php
+               }
+       }
+endif;
diff --git a/templates/shop-isle/inc/customizer/customizer-upsell/css/style.css b/templates/shop-isle/inc/customizer/customizer-upsell/css/style.css
new file mode 100644 (file)
index 0000000..b2c6fca
--- /dev/null
@@ -0,0 +1,62 @@
+.themeisle-upsell {
+       padding: 21px;
+       border-radius: 3px;
+       background: #fff;
+}
+
+.themeisle-upsell .upsell-pro-label {
+       margin-right: 10px;
+       padding: 2px 6px 2px 7px;
+       border-radius: 3px;
+       color: #fff;
+       background: #a7a7a7;
+       font-size: 12px;
+       font-weight: bold;
+       letter-spacing: 0.1px;
+       text-transform: uppercase;
+}
+
+.themeisle-upsell-features li {
+       margin-bottom: 23px;
+       font-size: 14px;
+}
+
+.themeisle-upsell-features li:last-child {
+       margin-bottom: 28px;
+}
+
+.themeisle-upsell .button {
+       width: 100%;
+       margin-right: 21px;
+       text-align: center;
+       letter-spacing: 0.2px;
+}
+
+.themeisle-upsell hr {
+       margin-top: 22px;
+       margin-bottom: 16px;
+}
+
+.themeisle-upsell-feature-list li:before {
+       line-height: 37px;
+}
+
+.themeisle-upsell-feature-list li {
+       margin-bottom: 6px;
+       font-size: 14px;
+       font-style: italic;
+       line-height: 22px;
+}
+
+.themeisle-upsell-feature-list li:last-child {
+       margin-bottom: 0;
+}
+
+#customize-controls #accordion-section-shopisle_pro_features_section.control-section .accordion-section-title:hover {
+       color: #fff;
+       background-color: #0073aa;
+}
+
+#customize-controls #accordion-section-shopisle_pro_features_section.control-section .accordion-section-title:hover:after {
+       color: #fff;
+}
diff --git a/templates/shop-isle/inc/customizer/customizer.php b/templates/shop-isle/inc/customizer/customizer.php
new file mode 100644 (file)
index 0000000..66fb4db
--- /dev/null
@@ -0,0 +1,91 @@
+<?php
+/**
+ * Customizer
+ *
+ * @package WordPress
+ * @subpackage Shop Isle
+ */
+
+/**
+ * Register settings and controls for customize
+ *
+ * @since  1.0.0
+ */
+function shop_isle_customize_register( $wp_customize ) {
+
+       $wp_customize->get_setting( 'blogname' )->transport = 'postMessage';
+
+       $wp_customize->get_setting( 'blogdescription' )->transport = 'postMessage';
+
+       $wp_customize->get_setting( 'header_textcolor' )->transport = 'postMessage';
+
+       $wp_customize->get_setting( 'background_color' )->default = '';
+
+       $wp_customize->remove_control( 'display_header_text' );
+
+       /* Sections Customizing */
+
+       $wp_customize->add_panel(
+               'shop_isle_front_page_sections', array(
+                       'priority' => 42,
+                       'title'    => esc_html__( 'Frontpage sections', 'shop-isle' ),
+               )
+       );
+}
+/**
+ * Repeater Sanitization function
+ *
+ * @param string $input Input.
+ * @return mixed|string|void
+ */
+function shop_isle_sanitize_repeater( $input ) {
+
+       $input_decoded = json_decode( $input, true );
+       $allowed_html  = array(
+               'br'     => array(),
+               'em'     => array(),
+               'strong' => array(),
+               'a'      => array(
+                       'href'   => array(),
+                       'class'  => array(),
+                       'id'     => array(),
+                       'target' => array(),
+               ),
+               'button' => array(
+                       'class' => array(),
+                       'id'    => array(),
+               ),
+       );
+
+       if ( ! empty( $input_decoded ) ) {
+               foreach ( $input_decoded as $boxk => $box ) {
+                       foreach ( $box as $key => $value ) {
+                               if ( $key == 'text' ) {
+                                       $value                          = html_entity_decode( $value );
+                                       $input_decoded[ $boxk ][ $key ] = wp_kses( $value, $allowed_html );
+                               } else {
+                                       $input_decoded[ $boxk ][ $key ] = wp_kses_post( force_balance_tags( $value ) );
+                               }
+                       }
+               }
+
+               return json_encode( $input_decoded );
+       }
+
+       return $input;
+}
+
+/**
+ * Sanitize checkbox output.
+ */
+function shop_isle_sanitize_checkbox( $input ) {
+       return ( isset( $input ) && true === (bool) $input ? true : false );
+}
+
+/**
+ * Enqueue customize preview script.
+ */
+function shop_isle_wp_themeisle_customize_preview_js() {
+       wp_enqueue_script( 'wp_themeisle_customizer', get_template_directory_uri() . '/js/customizer.js', array( 'customize-preview' ), '20130508', true );
+}
+add_action( 'customize_preview_init', 'shop_isle_wp_themeisle_customize_preview_js' );
diff --git a/templates/shop-isle/inc/customizer/features/customizer-theme-info.php b/templates/shop-isle/inc/customizer/features/customizer-theme-info.php
new file mode 100644 (file)
index 0000000..55673f2
--- /dev/null
@@ -0,0 +1,83 @@
+<?php
+/**
+ * Theme info customizer controls.
+ *
+ * @package ShopIsle
+ */
+/**
+ * Hook Theme Info section to customizer.
+ *
+ * @param object $wp_customize The wp_customize object.
+ */
+function shopisle_theme_info_customize_register( $wp_customize ) {
+       // Include theme info control class.
+       require_once( get_template_directory() . '/inc/customizer/class/class-shopisle-info.php' );
+       // Include upsell class.
+       require_once( get_template_directory() . '/inc/customizer/customizer-upsell/class-shopisle-control-upsell.php' );
+
+       // Add Theme Info Section.
+       $wp_customize->add_section(
+               'shopisle_pro_features_section', array(
+                       'title'    => __( 'View PRO version', 'shop-isle' ),
+                       'priority' => 0,
+               )
+       );
+
+       // Add upsells.
+       $wp_customize->add_setting(
+               'shopisle_upsell_pro_features_main', array(
+                       'sanitize_callback' => 'esc_html',
+                       'default'           => '',
+               )
+       );
+
+       $wp_customize->add_control(
+               new Shopisle_Control_Upsell(
+                       $wp_customize, 'shopisle_upsell_pro_features_main', array(
+                               'section'      => 'shopisle_pro_features_section',
+                               'priority'     => 100,
+                               'options'      => array(
+                                       esc_html__( 'Enhanced Cart', 'shop-isle' ),
+                                       esc_html__( 'Get full color schemes support for your site. ', 'shop-isle' ),
+                                       esc_html__( 'Section Reordering', 'shop-isle' ),
+                                       esc_html__( 'Add New Sections', 'shop-isle' ),
+                                       esc_html__( 'Map Section', 'shop-isle' ),
+                                       esc_html__( 'Services Section', 'shop-isle' ),
+                                       esc_html__( 'Quick View functionality', 'shop-isle' ),
+                                       esc_html__( 'Categories Section', 'shop-isle' ),
+                                       esc_html__( 'Support', 'shop-isle' ),
+                               ),
+                               'explained_features' => array(
+                                       esc_html( 'Allow visitors to easily mange their cart in a popup without changing the page, helping with your user experience and conversions.' ),
+                               ),
+                               'button_url'   => esc_url( 'https://www.themeisle.com/themes/shop-isle-pro/' ),
+                               // xss ok
+                               'button_text'  => esc_html__( 'View PRO version', 'shop-isle' ),
+                       )
+               )
+       );
+
+       $wp_customize->add_setting(
+               'shopisle_upsell_colors', array(
+                       'sanitize_callback' => 'esc_html',
+                       'default'           => '',
+               )
+       );
+
+       $wp_customize->add_control(
+               new Shopisle_Control_Upsell(
+                       $wp_customize, 'shopisle_upsell_colors', array(
+                               'section'      => 'colors',
+                               'priority'     => 100,
+                               'options'      => array(
+                                       esc_html__( 'Three New Color Schemes', 'shop-isle' ),
+                               ),
+                               'button_url'   => esc_url( 'https://www.themeisle.com/themes/shop-isle-pro/' ),
+                               // xss ok
+                               'button_text'  => esc_html__( 'View PRO version', 'shop-isle' ),
+                       )
+               )
+       );
+
+}
+add_action( 'customize_register', 'shopisle_theme_info_customize_register' );
diff --git a/templates/shop-isle/inc/customizer/features/feature-404-controls.php b/templates/shop-isle/inc/customizer/features/feature-404-controls.php
new file mode 100644 (file)
index 0000000..9401056
--- /dev/null
@@ -0,0 +1,105 @@
+<?php
+/**
+ * Customizer functionality for the 404 Page controls.
+ *
+ * @package WordPress
+ * @subpackage Shop Isle
+ */
+
+/**
+ * Hook controls for the 404 Page to Customizer.
+ */
+function shop_isle_404_page_customize_register( $wp_customize ) {
+
+       /*  404 page  */
+
+       /* Background */
+       $wp_customize->add_setting(
+               'shop_isle_404_background', array(
+                       'default'           => get_template_directory_uri() . '/assets/images/404.jpg',
+                       'transport'         => 'postMessage',
+                       'sanitize_callback' => 'esc_url',
+               )
+       );
+
+       $wp_customize->add_control(
+               new WP_Customize_Image_Control(
+                       $wp_customize, 'shop_isle_404_background', array(
+                               'label'    => __( 'Background image', 'shop-isle' ),
+                               'section'  => 'shop_isle_general_section',
+                               'priority' => 3,
+                       )
+               )
+       );
+
+       /* Title */
+       $wp_customize->add_setting(
+               'shop_isle_404_title', array(
+                       'sanitize_callback' => 'shop_isle_sanitize_text',
+                       'default'           => __( 'Error 404', 'shop-isle' ),
+                       'transport'         => 'postMessage',
+               )
+       );
+
+       $wp_customize->add_control(
+               'shop_isle_404_title', array(
+                       'label'    => __( 'Title', 'shop-isle' ),
+                       'section'  => 'shop_isle_general_section',
+                       'priority' => 4,
+               )
+       );
+
+       /* Text */
+       $wp_customize->add_setting(
+               'shop_isle_404_text', array(
+                       'sanitize_callback' => 'shop_isle_sanitize_text',
+                       'default'           => __( 'The requested URL was not found on this server.<br> That is all we know.', 'shop-isle' ),
+                       'transport'         => 'postMessage',
+               )
+       );
+
+       $wp_customize->add_control(
+               'shop_isle_404_text', array(
+                       'type'     => 'textarea',
+                       'label'    => __( 'Text', 'shop-isle' ),
+                       'section'  => 'shop_isle_general_section',
+                       'priority' => 5,
+               )
+       );
+
+       /* Button link */
+       $wp_customize->add_setting(
+               'shop_isle_404_link', array(
+                       'sanitize_callback' => 'esc_url',
+                       'default'           => '#',
+                       'transport'         => 'postMessage',
+               )
+       );
+
+       $wp_customize->add_control(
+               'shop_isle_404_link', array(
+                       'label'    => __( 'Button link', 'shop-isle' ),
+                       'section'  => 'shop_isle_general_section',
+                       'priority' => 6,
+               )
+       );
+
+       /* Button label */
+       $wp_customize->add_setting(
+               'shop_isle_404_label', array(
+                       'sanitize_callback' => 'shop_isle_sanitize_text',
+                       'default'           => __( 'Back to home page', 'shop-isle' ),
+                       'transport'         => 'postMessage',
+               )
+       );
+
+       $wp_customize->add_control(
+               'shop_isle_404_label', array(
+                       'label'    => __( 'Button label', 'shop-isle' ),
+                       'section'  => 'shop_isle_general_section',
+                       'priority' => 7,
+               )
+       );
+}
+
+add_action( 'customize_register', 'shop_isle_404_page_customize_register' );
diff --git a/templates/shop-isle/inc/customizer/features/feature-advanced-controls.php b/templates/shop-isle/inc/customizer/features/feature-advanced-controls.php
new file mode 100644 (file)
index 0000000..11de908
--- /dev/null
@@ -0,0 +1,66 @@
+<?php
+/**
+ * Customizer functionality for the Advanced Options section.
+ *
+ * @package WordPress
+ * @subpackage Shop Isle
+ */
+
+/**
+ * Hook controls for Advanced Options section to Customizer.
+ */
+function shop_isle_advanced_customize_register( $wp_customize ) {
+
+       /*  ADVANCED OPTIONS  */
+
+       $wp_customize->add_section(
+               'shop_isle_general_section', array(
+                       'title'    => __( 'Advanced options', 'shop-isle' ),
+                       'priority' => 55,
+               )
+       );
+
+       /* Disable preloader */
+       $wp_customize->add_setting(
+               'shop_isle_disable_preloader', array(
+                       'sanitize_callback' => 'shop_isle_sanitize_text',
+                       'transport'         => 'postMessage',
+               )
+       );
+
+       $wp_customize->add_control(
+               'shop_isle_disable_preloader', array(
+                       'type'        => 'checkbox',
+                       'label'       => __( 'Disable preloader?', 'shop-isle' ),
+                       'section'     => 'shop_isle_general_section',
+                       'priority'    => 1,
+               )
+       );
+
+       /* Body font size */
+       $wp_customize->add_setting(
+               'shop_isle_font_size', array(
+                       'sanitize_callback' => 'shop_isle_sanitize_text',
+                       'default' => '13px',
+               )
+       );
+
+       $wp_customize->add_control(
+               'shop_isle_font_size',
+               array(
+                       'type'     => 'select',
+                       'label'    => 'Select font size:',
+                       'section'  => 'shop_isle_general_section',
+                       'choices'  => array(
+                               '12px' => '12px',
+                               '13px' => '13px',
+                               '14px' => '14px',
+                               '15px' => '15px',
+                               '16px' => '16px',
+                       ),
+                       'priority' => 2,
+               )
+       );
+}
+
+add_action( 'customize_register', 'shop_isle_advanced_customize_register' );
diff --git a/templates/shop-isle/inc/customizer/features/feature-blog-header-controls.php b/templates/shop-isle/inc/customizer/features/feature-blog-header-controls.php
new file mode 100644 (file)
index 0000000..b32c6ed
--- /dev/null
@@ -0,0 +1,47 @@
+<?php
+/**
+ * Customizer functionality for the Blog Header.
+ *
+ * @package WordPress
+ * @subpackage Shop Isle
+ */
+
+/**
+ * Hook controls for Blog Header.
+ */
+function shop_isle_blog_header_customize_register( $wp_customize ) {
+
+       /* Blog Header title */
+       $wp_customize->add_setting(
+               'shop_isle_blog_header_title', array(
+                       'default'           => __( 'Blog','shop-isle' ),
+                       'sanitize_callback' => 'shop_isle_sanitize_text',
+                       'transport'         => 'postMessage',
+               )
+       );
+       $wp_customize->add_control(
+               'shop_isle_blog_header_title', array(
+                       'label'             => esc_html__( 'Blog header title', 'shop-isle' ),
+                       'section'           => 'shop_isle_header_section',
+                       'priority'          => 3,
+               )
+       );
+
+       /* Blog Header subtitle */
+       $wp_customize->add_setting(
+               'shop_isle_blog_header_subtitle', array(
+                       'sanitize_callback' => 'shop_isle_sanitize_text',
+                       'transport'         => 'postMessage',
+               )
+       );
+       $wp_customize->add_control(
+               'shop_isle_blog_header_subtitle', array(
+                       'label'             => esc_html__( 'Blog header subtitle', 'shop-isle' ),
+                       'section'           => 'shop_isle_header_section',
+                       'priority'          => 4,
+               )
+       );
+
+}
+
+add_action( 'customize_register', 'shop_isle_blog_header_customize_register' );
diff --git a/templates/shop-isle/inc/customizer/features/feature-contact-controls.php b/templates/shop-isle/inc/customizer/features/feature-contact-controls.php
new file mode 100644 (file)
index 0000000..21736e6
--- /dev/null
@@ -0,0 +1,109 @@
+<?php
+/**
+ * Customizer functionality for the Contact Page controls.
+ *
+ * @package WordPress
+ * @subpackage Shop Isle
+ */
+
+/**
+ * Hook controls for the Contact Page to Customizer.
+ */
+function shop_isle_contact_page_customize_register( $wp_customize ) {
+
+       require_once( trailingslashit( get_template_directory() ) . 'inc/customizer/class/class-shopisle-contact-page-instructions.php' );
+
+       /*  Contact page  */
+       $wp_customize->add_section(
+               'shop_isle_contact_page_section', array(
+                       'title'    => __( 'Contact page', 'shop-isle' ),
+                       'priority' => 99,
+               )
+       );
+
+       /* Contact Form  */
+       $wp_customize->add_setting(
+               'shop_isle_contact_page_form_shortcode', array(
+                       'sanitize_callback' => 'shop_isle_sanitize_text',
+               )
+       );
+
+       $wp_customize->add_control(
+               'shop_isle_contact_page_form_shortcode', array(
+                       'label'           => __( 'Contact form shortcode', 'shop-isle' ),
+                       'description'     => sprintf(
+                               /* translators: 1: Link to Pirate Forms Plugin. */
+                                __( 'Create a form, copy the shortcode generated and paste it here. We recommend %1$s but you can use any plugin you like.', 'shop-isle' ),
+                               sprintf(
+                                       /* translators: 1: 'Simple Contact Form Plugin - PirateForms' */
+                                        '<a href="https://wordpress.org/plugins/pirate-forms/" target="_blank">%s</a>',
+                                       'Simple Contact Form Plugin - PirateForms'
+                               )
+                       ),
+                       'section'         => 'shop_isle_contact_page_section',
+                       'active_callback' => 'shop_isle_is_contact_page',
+                       'priority'        => 1,
+               )
+       );
+
+       /* Map ShortCode  */
+       $wp_customize->add_setting(
+               'shop_isle_contact_page_map_shortcode', array(
+                       'sanitize_callback' => 'shop_isle_sanitize_text',
+               )
+       );
+
+       $wp_customize->add_control(
+               'shop_isle_contact_page_map_shortcode', array(
+                       'label'           => __( 'Map shortcode', 'shop-isle' ),
+                       'description'     => __( 'To use this section please install <a href="https://wordpress.org/plugins/intergeo-maps/">Intergeo Maps</a> plugin then use it to create a map and paste here the shortcode generated', 'shop-isle' ),
+                       'section'         => 'shop_isle_contact_page_section',
+                       'active_callback' => 'shop_isle_is_contact_page',
+                       'priority'        => 2,
+               )
+       );
+
+       /*  Contact page - instructions for users when not on Contact page  */
+
+       $wp_customize->add_section(
+               'shop_isle_contact_page_instructions', array(
+                       'title'    => __( 'Contact page', 'shop-isle' ),
+                       'priority' => 99,
+               )
+       );
+
+       $wp_customize->add_setting(
+               'shop_isle_contact_page_instructions', array(
+                       'sanitize_callback' => 'shop_isle_sanitize_text',
+               )
+       );
+
+       $wp_customize->add_control(
+               new ShopIsle_Contact_Page_Instructions(
+                       $wp_customize, 'shop_isle_contact_page_instructions', array(
+                               'section'         => 'shop_isle_contact_page_instructions',
+                               'active_callback' => 'shop_isle_is_not_contact_page',
+                       )
+               )
+       );
+}
+
+add_action( 'customize_register', 'shop_isle_contact_page_customize_register' );
+
+/**
+ * Check if is contact page.
+ *
+ * @return bool
+ */
+function shop_isle_is_contact_page() {
+       return is_page_template( 'template-contact.php' );
+};
+
+/**
+ * Check if is not contact page.
+ *
+ * @return bool
+ */
+function shop_isle_is_not_contact_page() {
+       return ! is_page_template( 'template-contact.php' );
+};
diff --git a/templates/shop-isle/inc/customizer/features/feature-footer-controls.php b/templates/shop-isle/inc/customizer/features/feature-footer-controls.php
new file mode 100644 (file)
index 0000000..4d222b8
--- /dev/null
@@ -0,0 +1,86 @@
+<?php
+/**
+ * Customizer functionality for the Footer.
+ *
+ * @package WordPress
+ * @subpackage Shop Isle
+ */
+
+/**
+ * Hook controls for Footer to Customizer.
+ */
+function shop_isle_footer_customize_register( $wp_customize ) {
+
+       /*  Footer */
+
+       $wp_customize->add_section(
+               'shop_isle_footer_section', array(
+                       'title'    => __( 'Footer', 'shop-isle' ),
+                       'priority' => 50,
+               )
+       );
+
+       /* Copyright */
+       $wp_customize->add_setting(
+               'shop_isle_copyright', array(
+                       'sanitize_callback' => 'shop_isle_sanitize_text',
+                       'transport'         => 'postMessage',
+               )
+       );
+
+       $wp_customize->add_control(
+               'shop_isle_copyright', array(
+                       'label'    => __( 'Copyright', 'shop-isle' ),
+                       'section'  => 'shop_isle_footer_section',
+                       'priority' => 1,
+               )
+       );
+
+       /* Hide site info */
+       $wp_customize->add_setting(
+               'shop_isle_site_info_hide', array(
+                       'transport' => 'postMessage',
+                       'sanitize_callback' => 'shop_isle_sanitize_text',
+               )
+       );
+
+       $wp_customize->add_control(
+               'shop_isle_site_info_hide',
+               array(
+                       'type' => 'checkbox',
+                       'label' => __( 'Hide site info?','shop-isle' ),
+                       'section' => 'shop_isle_footer_section',
+                       'priority' => 2,
+               )
+       );
+
+       /* socials */
+       $wp_customize->add_setting(
+               'shop_isle_socials', array(
+                       'transport'         => 'postMessage',
+                       'sanitize_callback' => 'shop_isle_sanitize_repeater',
+               )
+       );
+
+       $wp_customize->add_control(
+               new Shop_Isle_Repeater_Controler(
+                       $wp_customize, 'shop_isle_socials', array(
+                               'label'                         => __( 'Add new social', 'shop-isle' ),
+                               'section'                       => 'shop_isle_footer_section',
+                               'active_callback'               => 'is_front_page',
+                               'priority'                      => 3,
+                               'shop_isle_image_control'       => false,
+                               'shop_isle_link_control'        => true,
+                               'shop_isle_text_control'        => false,
+                               'shop_isle_subtext_control'     => false,
+                               'shop_isle_label_control'       => false,
+                               'shop_isle_icon_control'        => true,
+                               'shop_isle_description_control' => false,
+                               'shop_isle_box_label'           => __( 'Social', 'shop-isle' ),
+                               'shop_isle_box_add_label'       => __( 'Add new social', 'shop-isle' ),
+                       )
+               )
+       );
+}
+
+add_action( 'customize_register', 'shop_isle_footer_customize_register' );
diff --git a/templates/shop-isle/inc/customizer/features/feature-frontpage-banners-section-controls.php b/templates/shop-isle/inc/customizer/features/feature-frontpage-banners-section-controls.php
new file mode 100644 (file)
index 0000000..717c948
--- /dev/null
@@ -0,0 +1,103 @@
+<?php
+/**
+ * Customizer functionality for the Banners Section.
+ *
+ * @package WordPress
+ * @subpackage Shop Isle
+ */
+
+/**
+ * Hook controls for Banners Section to Customizer.
+ */
+function shop_isle_banners_controls_customize_register( $wp_customize ) {
+
+       /* Banners section */
+
+       $wp_customize->add_section(
+               'shop_isle_banners_section', array(
+                       'title'    => __( 'Banners section', 'shop-isle' ),
+                       'priority' => apply_filters( 'shop_isle_section_priority', 15, 'shop_isle_banners_section' ),
+               )
+       );
+
+       /* Hide banner */
+       $wp_customize->add_setting(
+               'shop_isle_banners_hide', array(
+                       'transport'         => 'postMessage',
+                       'sanitize_callback' => 'shop_isle_sanitize_text',
+               )
+       );
+
+       $wp_customize->add_control(
+               'shop_isle_banners_hide',
+               array(
+                       'type'        => 'checkbox',
+                       'label'       => __( 'Hide banners section?', 'shop-isle' ),
+                       'section'     => 'shop_isle_banners_section',
+                       'priority'    => 1,
+               )
+       );
+
+       $wp_customize->add_setting(
+               'shop_isle_banners_title', array(
+                       'transport'         => 'postMessage',
+                       'sanitize_callback' => 'shop_isle_sanitize_text',
+               )
+       );
+
+       $wp_customize->add_control(
+               'shop_isle_banners_title', array(
+                       'label'    => __( 'Section title', 'shop-isle' ),
+                       'section'  => 'shop_isle_banners_section',
+                       'priority' => 2,
+               )
+       );
+
+       /* Banner */
+       $wp_customize->add_setting(
+               'shop_isle_banners', array(
+                       'transport'         => 'postMessage',
+                       'sanitize_callback' => 'shop_isle_sanitize_repeater',
+                       'default'           => json_encode(
+                               array(
+                                       array(
+                                               'image_url' => get_template_directory_uri() . '/assets/images/banner1.jpg',
+                                               'link'      => '#',
+                                       ),
+                                       array(
+                                               'image_url' => get_template_directory_uri() . '/assets/images/banner2.jpg',
+                                               'link' => '#',
+                                       ),
+                                       array(
+                                               'image_url' => get_template_directory_uri() . '/assets/images/banner3.jpg',
+                                               'link' => '#',
+                                       ),
+                               )
+                       ),
+               )
+       );
+       $wp_customize->add_control(
+               new Shop_Isle_Repeater_Controler(
+                       $wp_customize, 'shop_isle_banners', array(
+                               'label'                         => __( 'Add new banner', 'shop-isle' ),
+                               'section'                       => 'shop_isle_banners_section',
+                               'active_callback'               => 'is_front_page',
+                               'priority'                      => 3,
+                               'shop_isle_image_control'       => true,
+                               'shop_isle_link_control'        => true,
+                               'shop_isle_text_control'        => false,
+                               'shop_isle_subtext_control'     => false,
+                               'shop_isle_label_control'       => false,
+                               'shop_isle_icon_control'        => false,
+                               'shop_isle_description_control' => false,
+                               'shop_isle_box_label'           => __( 'Banner', 'shop-isle' ),
+                               'shop_isle_box_add_label'       => __( 'Add new banner', 'shop-isle' ),
+                       )
+               )
+       );
+
+       $wp_customize->get_section( 'shop_isle_banners_section' )->panel = 'shop_isle_front_page_sections';
+
+}
+
+add_action( 'customize_register', 'shop_isle_banners_controls_customize_register' );
diff --git a/templates/shop-isle/inc/customizer/features/feature-frontpage-big-title-section-controls.php b/templates/shop-isle/inc/customizer/features/feature-frontpage-big-title-section-controls.php
new file mode 100644 (file)
index 0000000..3b6b9d5
--- /dev/null
@@ -0,0 +1,125 @@
+<?php
+/**
+ * Customizer functionality for the Slider Section.
+ *
+ * @package WordPress
+ * @subpackage Shop Isle
+ */
+
+/**
+ * Hook controls for Big Title Section to Customizer.
+ */
+function shop_isle_big_title_controls_customize_register( $wp_customize ) {
+
+       /* Big title section */
+
+       $wp_customize->add_section(
+               'shop_isle_big_title_section' , array(
+                       'title'       => __( 'Big title section', 'shop-isle' ),
+                       'priority'    => 10,
+                       'panel' => 'shop_isle_front_page_sections',
+               )
+       );
+
+       /* Hide big title section */
+       $wp_customize->add_setting(
+               'shop_isle_big_title_hide', array(
+                       'sanitize_callback' => 'shop_isle_sanitize_text',
+                       'transport' => 'postMessage',
+               )
+       );
+
+       $wp_customize->add_control(
+               'shop_isle_big_title_hide',
+               array(
+                       'type' => 'checkbox',
+                       'label' => __( 'Hide big title section?','shop-isle' ),
+                       'section' => 'shop_isle_big_title_section',
+                       'priority'    => 1,
+               )
+       );
+
+       /* Image */
+       $wp_customize->add_setting(
+               'shop_isle_big_title_image', array(
+                       'sanitize_callback' => 'esc_url_raw',
+                       'default' => get_template_directory_uri() . '/assets/images/slide1.jpg',
+               )
+       );
+
+       $wp_customize->add_control(
+               new WP_Customize_Image_Control(
+                       $wp_customize, 'shop_isle_big_title_image', array(
+                               'label' => __( 'Image', 'shop-isle' ),
+                               'section' => 'shop_isle_big_title_section',
+                               'priority' => 2,
+                       )
+               )
+       );
+
+       /* Title */
+       $wp_customize->add_setting(
+               'shop_isle_big_title_title', array(
+                       'sanitize_callback' => 'shop_isle_sanitize_text',
+                       'default'    => 'Shop Isle',
+               )
+       );
+
+       $wp_customize->add_control(
+               'shop_isle_big_title_title', array(
+                       'label' => __( 'Title','shop-isle' ),
+                       'section'  => 'shop_isle_big_title_section',
+                       'priority'    => 3,
+               )
+       );
+
+       /* Subtitle */
+       $wp_customize->add_setting(
+               'shop_isle_big_title_subtitle', array(
+                       'sanitize_callback' => 'shop_isle_sanitize_text',
+                       'default'    => __( 'WooCommerce Theme', 'shop-isle' ),
+               )
+       );
+
+       $wp_customize->add_control(
+               'shop_isle_big_title_subtitle', array(
+                       'label' => __( 'Subtitle', 'shop-isle' ),
+                       'section'  => 'shop_isle_big_title_section',
+                       'priority'    => 4,
+               )
+       );
+
+       /* Button label */
+       $wp_customize->add_setting(
+               'shop_isle_big_title_button_label', array(
+                       'sanitize_callback' => 'shop_isle_sanitize_text',
+                       'default'    => __( 'Read more', 'shop-isle' ),
+               )
+       );
+
+       $wp_customize->add_control(
+               'shop_isle_big_title_button_label', array(
+                       'label' => __( 'Button label','shop-isle' ),
+                       'section'  => 'shop_isle_big_title_section',
+                       'priority'    => 5,
+               )
+       );
+
+       /* Button link */
+       $wp_customize->add_setting(
+               'shop_isle_big_title_button_link', array(
+                       'sanitize_callback' => 'shop_isle_sanitize_text',
+                       'default'    => __( '#', 'shop-isle' ),
+               )
+       );
+
+       $wp_customize->add_control(
+               'shop_isle_big_title_button_link', array(
+                       'label' => __( 'Button link', 'shop-isle' ),
+                       'section'  => 'shop_isle_big_title_section',
+                       'priority'    => 6,
+               )
+       );
+
+}
+add_action( 'customize_register', 'shop_isle_big_title_controls_customize_register' );
diff --git a/templates/shop-isle/inc/customizer/features/feature-frontpage-products-section-controls.php b/templates/shop-isle/inc/customizer/features/feature-frontpage-products-section-controls.php
new file mode 100644 (file)
index 0000000..ec75f92
--- /dev/null
@@ -0,0 +1,134 @@
+<?php
+/**
+ * Customizer functionality for the Products Section.
+ *
+ * @package WordPress
+ * @subpackage Shop Isle
+ */
+
+/**
+ * Hook controls for Products Section to Customizer.
+ */
+function shop_isle_products_controls_customize_register( $wp_customize ) {
+
+       /* Products section */
+
+       $shop_isle_require_woo = '';
+       if ( ! class_exists( 'WooCommerce' ) ) {
+               $shop_isle_require_woo = '<div class="shop-isle-require-woo"><p>' . sprintf(
+                       /* translators: 1: Link to WooCommerce Plugin */
+                               __( 'To use this section, you are required to first install the  %1$s plugin', 'shop-isle' ),
+                       sprintf(
+                               /* translators: 1: Link to WiooCommerce Plugin. 2: 'WooCommerce' */
+                               '<a href="' . esc_url(
+                                       wp_nonce_url(
+                                               self_admin_url( 'update.php?action=install-plugin&plugin=woocommerce' ),
+                                               'install-plugin_woocommerce'
+                                       )
+                               ) . '">%s</a>', esc_html__( 'WooCommerce', 'shop-isle' )
+                       )
+               ) . '</p></div>';
+       }
+
+       $wp_customize->add_section(
+               'shop_isle_products_section', array(
+                       'default'     => false,
+                       'title'       => __( 'Products section', 'shop-isle' ),
+                       'description' => $shop_isle_require_woo,
+                       'priority'    => apply_filters( 'shop_isle_section_priority', 20, 'shop_isle_products_section' ),
+               )
+       );
+
+       /* Hide products */
+       $wp_customize->add_setting(
+               'shop_isle_products_hide', array(
+                       'sanitize_callback' => 'shop_isle_sanitize_text',
+               )
+       );
+
+       $wp_customize->add_control(
+               'shop_isle_products_hide', array(
+                       'type'     => 'checkbox',
+                       'label'    => __( 'Hide products section?', 'shop-isle' ),
+                       'section'  => 'shop_isle_products_section',
+                       'priority' => 1,
+               )
+       );
+
+       /* Title */
+       $wp_customize->add_setting(
+               'shop_isle_products_title', array(
+                       'transport'         => 'postMessage',
+                       'sanitize_callback' => 'shop_isle_sanitize_text',
+                       'default'           => __( 'Latest products', 'shop-isle' ),
+               )
+       );
+
+       $wp_customize->add_control(
+               'shop_isle_products_title', array(
+                       'label'    => __( 'Section title', 'shop-isle' ),
+                       'section'  => 'shop_isle_products_section',
+                       'priority' => 2,
+               )
+       );
+
+       /* Shortcode */
+       $wp_customize->add_setting(
+               'shop_isle_products_shortcode', array(
+                       'sanitize_callback' => 'shop_isle_sanitize_text',
+               )
+       );
+
+       $wp_customize->add_control(
+               'shop_isle_products_shortcode', array(
+                       'label'       => __( 'WooCommerce shortcode', 'shop-isle' ),
+                       'section'     => 'shop_isle_products_section',
+                       'description' => __( 'Insert a WooCommerce shortcode', 'shop-isle' ),
+                       'priority'    => 3,
+               )
+       );
+
+       /* Category */
+       $shop_isle_prod_categories_array = array(
+               '-' => __( 'Select category', 'shop-isle' ),
+       );
+
+       $shop_isle_prod_categories = get_categories(
+               array(
+                       'taxonomy'   => 'product_cat',
+                       'hide_empty' => 0,
+                       'title_li'   => '',
+               )
+       );
+
+       if ( ! empty( $shop_isle_prod_categories ) ) :
+               foreach ( $shop_isle_prod_categories as $shop_isle_prod_cat ) :
+
+                       if ( ! empty( $shop_isle_prod_cat->term_id ) && ! empty( $shop_isle_prod_cat->name ) ) :
+                               $shop_isle_prod_categories_array[ $shop_isle_prod_cat->term_id ] = $shop_isle_prod_cat->name;
+                       endif;
+
+               endforeach;
+       endif;
+
+       $wp_customize->add_setting(
+               'shop_isle_products_category', array(
+                       'sanitize_callback' => 'shop_isle_sanitize_text',
+               )
+       );
+       $wp_customize->add_control(
+               'shop_isle_products_category', array(
+                       'type'        => 'select',
+                       'label'       => __( 'Products category', 'shop-isle' ),
+                       'description' => __( 'OR pick a product category. If no shortcode or no category is selected , WooCommerce latest products are displaying.', 'shop-isle' ),
+                       'section'     => 'shop_isle_products_section',
+                       'choices'     => $shop_isle_prod_categories_array,
+                       'priority'    => 4,
+               )
+       );
+
+       $wp_customize->get_section( 'shop_isle_products_section' )->panel = 'shop_isle_front_page_sections';
+
+}
+
+add_action( 'customize_register', 'shop_isle_products_controls_customize_register' );
diff --git a/templates/shop-isle/inc/customizer/features/feature-frontpage-products-slider-section-controls.php b/templates/shop-isle/inc/customizer/features/feature-frontpage-products-slider-section-controls.php
new file mode 100644 (file)
index 0000000..3f44328
--- /dev/null
@@ -0,0 +1,156 @@
+<?php
+/**
+ * Customizer functionality for the Products Slider Section.
+ *
+ * @package WordPress
+ * @subpackage Shop Isle
+ */
+
+/**
+ * Hook controls for Products Slider Section to Customizer.
+ */
+function shop_isle_products_slider_controls_customize_register( $wp_customize ) {
+
+       $shop_isle_require_woo = '';
+       if ( ! class_exists( 'WooCommerce' ) ) {
+               $shop_isle_require_woo = '<div class="shop-isle-require-woo"><p>' . sprintf(
+                       /* translators: 1: Link to WooCommerce Plugin */
+                               __( 'To use this section, you are required to first install the  %1$s plugin', 'shop-isle' ),
+                       sprintf(
+                               /* translators: 1: Link to WiooCommerce Plugin. 2: 'WooCommerce' */
+                               '<a href="' . esc_url(
+                                       wp_nonce_url(
+                                               self_admin_url( 'update.php?action=install-plugin&plugin=woocommerce' ),
+                                               'install-plugin_woocommerce'
+                                       )
+                               ) . '">%s</a>',
+                               esc_html__( 'WooCommerce', 'shop-isle' )
+                       )
+               ) . '</p></div>';
+       }
+
+       /*  Products slider section */
+
+       $wp_customize->add_section(
+               'shop_isle_products_slider_section', array(
+                       'title'       => __( 'Products slider section', 'shop-isle' ),
+                       'description' => $shop_isle_require_woo,
+                       'priority'    => apply_filters( 'shop_isle_section_priority', 35, 'shop_isle_products_slider_section' ),
+               )
+       );
+
+       /* Hide products slider on frontpage */
+       $wp_customize->add_setting(
+               'shop_isle_products_slider_hide', array(
+                       'default'           => false,
+                       'sanitize_callback' => 'shop_isle_sanitize_checkbox',
+               )
+       );
+
+       $wp_customize->add_control(
+               'shop_isle_products_slider_hide',
+               array(
+                       'type'     => 'checkbox',
+                       'label'    => __( 'Hide products slider section on frontpage?', 'shop-isle' ),
+                       'section'  => 'shop_isle_products_slider_section',
+                       'priority' => 1,
+               )
+       );
+
+       /* Hide products slider on single product page */
+       $wp_customize->add_setting(
+               'shop_isle_products_slider_single_hide', array(
+                       'transport'         => 'postMessage',
+                       'sanitize_callback' => 'shop_isle_sanitize_text',
+               )
+       );
+
+       $wp_customize->add_control(
+               'shop_isle_products_slider_single_hide',
+               array(
+                       'type'     => 'checkbox',
+                       'label'    => __( 'Hide products slider section on single product page?', 'shop-isle' ),
+                       'section'  => 'shop_isle_products_slider_section',
+                       'priority' => 2,
+               )
+       );
+
+       /* Title */
+       $wp_customize->add_setting(
+               'shop_isle_products_slider_title', array(
+                       'transport'         => 'postMessage',
+                       'sanitize_callback' => 'shop_isle_sanitize_text',
+                       'default'           => __( 'Exclusive products', 'shop-isle' ),
+               )
+       );
+
+       $wp_customize->add_control(
+               'shop_isle_products_slider_title', array(
+                       'label'    => __( 'Section title', 'shop-isle' ),
+                       'section'  => 'shop_isle_products_slider_section',
+                       'priority' => 3,
+               )
+       );
+
+       /* Subtitle */
+       $wp_customize->add_setting(
+               'shop_isle_products_slider_subtitle', array(
+                       'transport'         => 'postMessage',
+                       'sanitize_callback' => 'shop_isle_sanitize_text',
+                       'default'           => __( 'Special category of products', 'shop-isle' ),
+               )
+       );
+
+       $wp_customize->add_control(
+               'shop_isle_products_slider_subtitle', array(
+                       'label'    => __( 'Section subtitle', 'shop-isle' ),
+                       'section'  => 'shop_isle_products_slider_section',
+                       'priority' => 4,
+               )
+       );
+
+       /* Category */
+       $shop_isle_prod_categories_array = array(
+               '-' => __( 'Select category', 'shop-isle' ),
+       );
+
+       $shop_isle_prod_categories = get_categories(
+               array(
+                       'taxonomy'   => 'product_cat',
+                       'hide_empty' => 0,
+                       'title_li'   => '',
+               )
+       );
+
+       if ( ! empty( $shop_isle_prod_categories ) ) :
+               foreach ( $shop_isle_prod_categories as $shop_isle_prod_cat ) :
+
+                       if ( ! empty( $shop_isle_prod_cat->term_id ) && ! empty( $shop_isle_prod_cat->name ) ) :
+                               $shop_isle_prod_categories_array[ $shop_isle_prod_cat->term_id ] = $shop_isle_prod_cat->name;
+                       endif;
+
+               endforeach;
+       endif;
+
+       $wp_customize->add_setting(
+               'shop_isle_products_slider_category', array(
+                       'sanitize_callback' => 'shop_isle_sanitize_text',
+               )
+       );
+       $wp_customize->add_control(
+               'shop_isle_products_slider_category',
+               array(
+                       'type'        => 'select',
+                       'label'       => __( 'Products category', 'shop-isle' ),
+                       'section'     => 'shop_isle_products_slider_section',
+                       'choices'     => $shop_isle_prod_categories_array,
+                       'priority'    => 5,
+                       'description' => __( 'If no category is selected , WooCommerce products from the first category found are displaying.', 'shop-isle' ),
+               )
+       );
+
+       $wp_customize->get_section( 'shop_isle_products_slider_section' )->panel = 'shop_isle_front_page_sections';
+
+}
+
+add_action( 'customize_register', 'shop_isle_products_slider_controls_customize_register' );
diff --git a/templates/shop-isle/inc/customizer/features/feature-frontpage-video-section-controls.php b/templates/shop-isle/inc/customizer/features/feature-frontpage-video-section-controls.php
new file mode 100644 (file)
index 0000000..6411502
--- /dev/null
@@ -0,0 +1,93 @@
+<?php
+/**
+ * Customizer functionality for the Video Section.
+ *
+ * @package WordPress
+ * @subpackage Shop Isle
+ */
+
+/**
+ * Hook controls for Video Section to Customizer.
+ */
+function shop_isle_video_controls_customize_register( $wp_customize ) {
+
+       /* Video section */
+
+       $wp_customize->add_section(
+               'shop_isle_video_section', array(
+                       'title'    => __( 'Video section', 'shop-isle' ),
+                       'priority' => apply_filters( 'shop_isle_section_priority', 25, 'shop_isle_video_section' ),
+               )
+       );
+
+       /* Hide video */
+       $wp_customize->add_setting(
+               'shop_isle_video_hide', array(
+                       'default'           => false,
+                       'transport'         => 'postMessage',
+                       'sanitize_callback' => 'shop_isle_sanitize_checkbox',
+               )
+       );
+
+       $wp_customize->add_control(
+               'shop_isle_video_hide', array(
+                       'type'        => 'checkbox',
+                       'label'       => __( 'Hide video section?', 'shop-isle' ),
+                       'section'     => 'shop_isle_video_section',
+                       'priority'    => 1,
+               )
+       );
+
+       /* Title */
+       $wp_customize->add_setting(
+               'shop_isle_video_title', array(
+                       'sanitize_callback' => 'shop_isle_sanitize_text',
+                       'transport'         => 'postMessage',
+               )
+       );
+
+       $wp_customize->add_control(
+               'shop_isle_video_title', array(
+                       'label'    => __( 'Title', 'shop-isle' ),
+                       'section'  => 'shop_isle_video_section',
+                       'priority' => 2,
+               )
+       );
+
+       /* Youtube link */
+       $wp_customize->add_setting(
+               'shop_isle_yt_link', array(
+                       'sanitize_callback' => 'esc_url',
+               )
+       );
+
+       $wp_customize->add_control(
+               'shop_isle_yt_link', array(
+                       'label'    => __( 'Youtube link', 'shop-isle' ),
+                       'section'  => 'shop_isle_video_section',
+                       'priority' => 3,
+               )
+       );
+
+       /* Thumbnail */
+       $wp_customize->add_setting(
+               'shop_isle_yt_thumbnail', array(
+                       'sanitize_callback' => 'esc_url',
+               )
+       );
+
+       $wp_customize->add_control(
+               new WP_Customize_Image_Control(
+                       $wp_customize, 'shop_isle_yt_thumbnail', array(
+                               'label'       => __( 'Video thumbnail', 'shop-isle' ),
+                               'section'     => 'shop_isle_video_section',
+                               'priority'    => 4,
+                       )
+               )
+       );
+
+       $wp_customize->get_section( 'shop_isle_video_section' )->panel = 'shop_isle_front_page_sections';
+
+}
+
+add_action( 'customize_register', 'shop_isle_video_controls_customize_register' );
diff --git a/templates/shop-isle/inc/customizer/features/feature-header-controls.php b/templates/shop-isle/inc/customizer/features/feature-header-controls.php
new file mode 100644 (file)
index 0000000..5d46599
--- /dev/null
@@ -0,0 +1,46 @@
+<?php
+/**
+ * Customizer functionality for the Header Section.
+ *
+ * @package WordPress
+ * @subpackage Shop Isle
+ */
+
+/**
+ * Hook controls for Header Section section to Customizer.
+ */
+function shop_isle_header_controls_customize_register( $wp_customize ) {
+
+       /*  Header */
+
+       $wp_customize->add_section(
+               'shop_isle_header_section', array(
+                       'title'    => __( 'Header', 'shop-isle' ),
+                       'priority' => 40,
+               )
+       );
+
+       /* Logo */
+       $wp_customize->add_setting(
+               'shop_isle_logo', array(
+                       'transport'         => 'postMessage',
+                       'sanitize_callback' => 'esc_url',
+               )
+       );
+
+       $wp_customize->add_control(
+               new WP_Customize_Image_Control(
+                       $wp_customize, 'shop_isle_logo', array(
+                               'label'    => __( 'Logo', 'shop-isle' ),
+                               'section'  => 'title_tagline',
+                               'priority' => 1,
+                       )
+               )
+       );
+
+       $wp_customize->get_control( 'header_image' )->section  = 'shop_isle_header_section';
+       $wp_customize->get_control( 'header_image' )->priority = '2';
+
+}
+
+add_action( 'customize_register', 'shop_isle_header_controls_customize_register' );
diff --git a/templates/shop-isle/inc/customizer/features/feature-slider-shortcode.php b/templates/shop-isle/inc/customizer/features/feature-slider-shortcode.php
new file mode 100644 (file)
index 0000000..7739957
--- /dev/null
@@ -0,0 +1,32 @@
+<?php
+/**
+ * Customizer functionality for the Slider Shortcode Control.
+ *
+ * @package Shop Isle
+ */
+
+/**
+ * Hook controls for Big Title Section to Customizer.
+ */
+function shop_isle_slider_shortcode_customize_register( $wp_customize ) {
+       /* Slider shortcode  */
+       $slider_section = $wp_customize->get_section( 'shop_isle_slider_section' );
+
+       $wp_customize->add_setting(
+               'shop_isle_homepage_slider_shortcode', array(
+                       'sanitize_callback' => 'shop_isle_sanitize_text',
+               )
+       );
+
+       $wp_customize->add_control(
+               'shop_isle_homepage_slider_shortcode', array(
+                       'label'           => __( 'Slider shortcode', 'shop-isle' ),
+                       'description'     => __( 'You can replace the homepage slider with any plugin you like, just copy the shortcode generated and paste it here.', 'shop-isle' ),
+                       'section'         => ! empty( $slider_section ) ? 'shop_isle_slider_section' : 'shop_isle_big_title_section',
+                       'active_callback' => 'is_front_page',
+                       'priority'        => 10,
+               )
+       );
+}
+
+add_action( 'customize_register', 'shop_isle_slider_shortcode_customize_register' );
diff --git a/templates/shop-isle/inc/customizer/functions.php b/templates/shop-isle/inc/customizer/functions.php
new file mode 100644 (file)
index 0000000..d5cde0c
--- /dev/null
@@ -0,0 +1,139 @@
+<?php
+/**
+ * Theme Customizer functions
+ *
+ * @package WordPress
+ * @subpackage Shop Isle Lite
+ */
+
+
+if ( ! function_exists( 'shop_isle_customize_preview_js' ) ) {
+
+       /**
+        * Binds JS handlers to make Theme Customizer preview reload changes asynchronously.
+        *
+        * @since  1.0.0
+        */
+       function shop_isle_customize_preview_js() {
+
+               wp_enqueue_script( 'shop_isle_customizer', get_template_directory_uri() . '/js/customizer.js', array( 'customize-preview' ), '1.0.0', true );
+
+       }
+}
+
+if ( ! function_exists( 'shop_isle_customizer_script' ) ) {
+
+       /**
+        * Binds JS scripts for Theme Customizer.
+        *
+        * @since  1.0.0
+        */
+       function shop_isle_customizer_script() {
+
+               wp_enqueue_script( 'shop_isle_customizer_script', get_template_directory_uri() . '/js/shop_isle_customizer.js', array( 'jquery' ),'', true );
+
+               wp_localize_script(
+                       'shop_isle_customizer_script', 'objectL10n', array(
+
+                               'documentation' => __( 'Documentation', 'shop-isle' ),
+                               'support'               => __( 'Support','shop-isle' ),
+
+                       )
+               );
+
+       }
+}
+
+
+if ( ! function_exists( 'shop_isle_sanitize_hex_color' ) ) {
+
+       /**
+        * Sanitizes a hex color. Identical to core's sanitize_hex_color(), which is not available on the wp_head hook.
+        *
+        * Returns either '', a 3 or 6 digit hex color (with #), or null.
+        * For sanitizing values without a #, see sanitize_hex_color_no_hash().
+        *
+        * @since 1.0.0
+        */
+       function shop_isle_sanitize_hex_color( $color ) {
+               if ( '' === $color ) {
+                       return '';
+               }
+
+               // 3 or 6 hex digits, or the empty string.
+               if ( preg_match( '|^#([A-Fa-f0-9]{3}){1,2}$|', $color ) ) {
+                       return $color;
+               }
+
+               return null;
+       }
+}
+
+
+if ( ! function_exists( 'shop_isle_sanitize_choices' ) ) {
+
+       /**
+        * Sanitizes choices (selects / radios)
+        * Checks that the input matches one of the available choices
+        *
+        * @since  1.0.0
+        */
+       function shop_isle_sanitize_choices( $input, $setting ) {
+               global $wp_customize;
+
+               $control = $wp_customize->get_control( $setting->id );
+
+               if ( array_key_exists( $input, $control->choices ) ) {
+                       return $input;
+               } else {
+                       return $setting->default;
+               }
+       }
+}
+
+
+if ( ! function_exists( 'shop_isle_sanitize_text' ) ) {
+
+       /**
+        * Sanitizes text
+        *
+        * @since  1.0.0
+        */
+       function shop_isle_sanitize_text( $input ) {
+
+               return wp_kses_post( force_balance_tags( $input ) );
+
+       }
+}
+
+if ( ! function_exists( 'shop_isle_sanitize_array' ) ) {
+
+       /**
+        * Sanitizes array
+        *
+        * @since  1.0.0
+        */
+       function shop_isle_sanitize_array( $input ) {
+
+               return ( is_array( $input ) ? $input : array( 'none' ) );
+
+       }
+}
+
+if ( ! function_exists( 'shop_isle_sanitize_checkbox' ) ) {
+
+       /**
+        * Checkbox sanitization callback example.
+        *
+        * Sanitization callback for 'checkbox' type controls. This callback sanitizes `$checked`
+        * as a boolean value, either TRUE or FALSE.
+        *
+        * @param bool $checked Whether the checkbox is checked.
+        *
+        * @return bool Whether the checkbox is checked.
+        */
+       function shop_isle_sanitize_checkbox( $checked ) {
+               // Boolean check.
+               return ( ( isset( $checked ) && true == $checked ) ? true : false );
+       }
+}
diff --git a/templates/shop-isle/inc/flag-wporg.php b/templates/shop-isle/inc/flag-wporg.php
new file mode 100644 (file)
index 0000000..4fcb462
--- /dev/null
@@ -0,0 +1,47 @@
+<?php
+/**
+ * WordPress.org flag setup and frontpage template filter.
+ *
+ * @package WordPress
+ * @subpackage Shop Isle
+ */
+
+
+/**
+ * Function used for transition to PRO
+ */
+function shop_isle_option_used_for_pro() {
+       $current_theme = get_stylesheet();
+
+       if ( $current_theme != 'shop-isle-pro' ) {
+               update_option( 'shop_isle_wporg_flag', 'true' );
+       }
+}
+
+add_action( 'init', 'shop_isle_option_used_for_pro' );
+
+/*
+ * Starter Content Support
+ */
+add_theme_support(
+       'starter-content', array(
+               'posts'     => array(
+                       'home',
+                       'blog',
+               ),
+               'nav_menus' => array(
+                       'primary' => array(
+                               'name'  => __( 'Primary Menu', 'shop-isle' ),
+                               'items' => array(
+                                       'page_home',
+                                       'page_blog',
+                               ),
+                       ),
+               ),
+               'options'   => array(
+                       'show_on_front'  => 'page',
+                       'page_on_front'  => '{{home}}',
+                       'page_for_posts' => '{{blog}}',
+               ),
+       )
+);
diff --git a/templates/shop-isle/inc/frontpage-manager.php b/templates/shop-isle/inc/frontpage-manager.php
new file mode 100644 (file)
index 0000000..e99b660
--- /dev/null
@@ -0,0 +1,53 @@
+<?php
+/**
+ *  This is used for wp-org and pro version from wp-org migration.
+ *
+ * @package ShopIsle
+ */
+
+/**
+ * Frontpage manager customize register
+ */
+function shop_isle_frontpage_manager_customize_register( $wp_customize ) {
+       $wporg_flag = get_option( 'shop_isle_wporg_flag' );
+       /**
+        * Only make available if wp_org flag is defined.
+        */
+       if ( isset( $wporg_flag ) && ( $wporg_flag === 'true' ) ) {
+               /**
+                * Option to get the frontpage settings to the old default template if a static frontpage is selected
+                */
+               $wp_customize->add_setting(
+                       'shop_isle_keep_old_fp_template', array(
+                               'sanitize_callback' => 'shop_isle_sanitize_checkbox',
+                       )
+               );
+
+               $wp_customize->add_control(
+                       'shop_isle_keep_old_fp_template', array(
+                               'type'     => 'checkbox',
+                               'label'    => esc_html__( 'Keep the old static frontpage template?', 'shop-isle' ),
+                               'section'  => 'static_front_page',
+                               'priority' => 10,
+                       )
+               );
+       }
+}
+add_action( 'customize_register', 'shop_isle_frontpage_manager_customize_register' );
+
+
+/**
+ * Filter the front page template so it's bypassed entirely if the user selects
+ * to display blog posts on their homepage instead of a static page.
+ */
+function shop_isle_filter_front_page_template( $template ) {
+       $wporg_flag = get_option( 'shop_isle_wporg_flag' );
+       $shop_isle_keep_old_fp_template = get_theme_mod( 'shop_isle_keep_old_fp_template' );
+       if ( ! $shop_isle_keep_old_fp_template && ( isset( $wporg_flag ) && ( $wporg_flag === 'true' ) ) ) {
+               return is_home() ? '' : $template;
+       } else {
+               return '';
+       }
+}
+
+add_filter( 'frontpage_template', 'shop_isle_filter_front_page_template' );
diff --git a/templates/shop-isle/inc/functions/extras.php b/templates/shop-isle/inc/functions/extras.php
new file mode 100644 (file)
index 0000000..6f0d78a
--- /dev/null
@@ -0,0 +1,310 @@
+<?php
+/**
+ * Custom functions that act independently of the theme templates
+ *
+ * Eventually, some of the functionality here could be replaced by core features
+ *
+ * @package shop-isle
+ */
+
+/**
+ * Get our wp_nav_menu() fallback, wp_page_menu(), to show a home link.
+ *
+ * @param array $args Configuration arguments.
+ * @return array
+ */
+function shop_isle_page_menu_args( $args ) {
+       $args['show_home'] = true;
+       return $args;
+}
+
+/**
+ * Adds custom classes to the array of body classes.
+ *
+ * @param array $classes Classes for the body element.
+ * @return array
+ */
+function shop_isle_body_classes( $classes ) {
+       // Adds a class of group-blog to blogs with more than 1 published author.
+       if ( is_multi_author() ) {
+               $classes[] = 'group-blog';
+       }
+
+       if ( ! function_exists( 'woocommerce_breadcrumb' ) ) {
+               $classes[]  = 'no-wc-breadcrumb';
+       }
+
+       /**
+        * What is this?!
+        * Take the blue pill, close this file and forget you saw the following code.
+        * Or take the red pill, filter shop_isle_make_me_cute and see how deep the rabbit hole goes...
+        */
+       $cute   = apply_filters( 'shop_isle_make_me_cute', false );
+
+       if ( true === $cute ) {
+               $classes[] = 'shop-isle-cute';
+       }
+
+       return $classes;
+}
+
+if ( ! function_exists( 'is_woocommerce_activated' ) ) {
+
+       /**
+        * Query WooCommerce activation
+        */
+       function is_woocommerce_activated() {
+               return class_exists( 'woocommerce' ) ? true : false;
+       }
+}
+
+/**
+ * Schema type
+ */
+function shop_isle_html_tag_schema() {
+       $schema     = 'http://schema.org/';
+       $type       = 'WebPage';
+
+       // Is single post
+       if ( is_singular( 'post' ) ) {
+               $type   = 'Article';
+       } // End if().
+       elseif ( is_author() ) {
+               $type   = 'ProfilePage';
+       } // Is search results page
+       elseif ( is_search() ) {
+               $type   = 'SearchResultsPage';
+       }
+
+       echo 'itemscope="itemscope" itemtype="' . esc_attr( $schema ) . esc_attr( $type ) . '"';
+}
+
+
+/**
+ * Add meta box for page header description - save meta box
+ *
+ * @since  1.0.0
+ */
+function shop_isle_custom_add_save( $post_id ) {
+       $parent_id = wp_is_post_revision( $post_id );
+       if ( $parent_id ) {
+               $post_id = $parent_id;
+       }
+       if ( isset( $_POST['shop_isle_page_description'] ) ) {
+               shop_isle_update_custom_meta( $post_id, $_POST['shop_isle_page_description'], 'shop_isle_page_description' );
+       }
+}
+
+/**
+ * Add meta box for page header description - update meta box
+ *
+ * @since  1.0.0
+ */
+function shop_isle_update_custom_meta( $post_id, $newvalue, $field_name ) {
+       // To create new meta
+       if ( ! get_post_meta( $post_id, $field_name ) ) {
+               add_post_meta( $post_id, $field_name, $newvalue );
+       } else {
+               // or to update existing meta
+               update_post_meta( $post_id, $field_name, $newvalue );
+       }
+}
+
+/**
+ * Filter to translate strings
+ *
+ * @since 2.2.18
+ */
+function shop_isle_translate_single_string( $original_value, $domain ) {
+       if ( is_customize_preview() ) {
+               $wpml_translation = $original_value;
+       } else {
+               $wpml_translation = apply_filters( 'wpml_translate_single_string', $original_value, $domain, $original_value );
+               if ( $wpml_translation === $original_value && function_exists( 'pll__' ) ) {
+                       return pll__( $original_value );
+               }
+       }
+       return $wpml_translation;
+}
+add_filter( 'shop_isle_translate_single_string', 'shop_isle_translate_single_string', 10, 2 );
+
+/**
+ * Helper to register pll string.
+ *
+ * @param String    $theme_mod Theme mod name.
+ * @param bool/json $default Default value.
+ * @param String    $name Name for polylang backend.
+ * @since 2.2.18
+ */
+function shop_isle_pll_string_register_helper( $theme_mod, $default = false, $name ) {
+       if ( ! function_exists( 'pll_register_string' ) ) {
+               return;
+       }
+       $repeater_content = get_theme_mod( $theme_mod, $default );
+       $repeater_content = json_decode( $repeater_content );
+       if ( ! empty( $repeater_content ) ) {
+               foreach ( $repeater_content as $repeater_item ) {
+                       foreach ( $repeater_item as $field_name => $field_value ) {
+                               if ( $field_name === 'social_repeater' ) {
+                                       $social_repeater_value = json_decode( $field_value );
+                                       if ( ! empty( $social_repeater_value ) ) {
+                                               foreach ( $social_repeater_value as $social ) {
+                                                       foreach ( $social as $key => $value ) {
+                                                               if ( $key === 'link' ) {
+                                                                       pll_register_string( 'Social link', $value, $name );
+                                                               }
+                                                               if ( $key === 'icon' ) {
+                                                                       pll_register_string( 'Social icon', $value, $name );
+                                                               }
+                                                       }
+                                               }
+                                       }
+                               } else {
+                                       if ( $field_name !== 'id' ) {
+                                               $f_n = ucfirst( $field_name );
+                                               pll_register_string( $f_n, $field_value, $name );
+                                       }
+                               }
+                       }
+               }
+       }
+}
+
+/**
+ * Features section. Register strings for translations.
+ *
+ * @modified 1.1.30
+ * @access public
+ * @since 2.2.18
+ */
+function shop_isle_features_register_strings() {
+       $default = json_encode(
+               array(
+                       array(
+                               'image_url' => get_template_directory_uri() . '/assets/images/slide1.jpg',
+                               'link'      => '#',
+                               'text'      => __( 'Shop Isle', 'shop-isle' ),
+                               'subtext'   => __( 'WooCommerce Theme', 'shop-isle' ),
+                               'label'     => __( 'Read more', 'shop-isle' ),
+                       ),
+                       array(
+                               'image_url' => get_template_directory_uri() . '/assets/images/slide2.jpg',
+                               'link'      => '#',
+                               'text'      => __( 'Shop Isle', 'shop-isle' ),
+                               'subtext'   => __( 'WooCommerce Theme', 'shop-isle' ),
+                               'label'     => __( 'Read more', 'shop-isle' ),
+                       ),
+                       array(
+                               'image_url' => get_template_directory_uri() . '/assets/images/slide3.jpg',
+                               'link'      => '#',
+                               'text'      => __( 'Shop Isle', 'shop-isle' ),
+                               'subtext'   => __( 'WooCommerce Theme', 'shop-isle' ),
+                               'label'     => __( 'Read more', 'shop-isle' ),
+                       ),
+               )
+       );
+       shop_isle_pll_string_register_helper( 'shop_isle_slider', $default, 'Slider section' );
+
+       $default = json_encode(
+               array(
+                       array(
+                               'image_url' => get_template_directory_uri() . '/assets/images/banner1.jpg',
+                               'link' => '#',
+                       ),
+                       array(
+                               'image_url' => get_template_directory_uri() . '/assets/images/banner2.jpg',
+                               'link' => '#',
+                       ),
+                       array(
+                               'image_url' => get_template_directory_uri() . '/assets/images/banner3.jpg',
+                               'link' => '#',
+                       ),
+               )
+       );
+       shop_isle_pll_string_register_helper( 'shop_isle_banners', $default, 'Banners section' );
+
+       $default = json_encode(
+               array(
+                       array(
+                               'icon_value' => 'icon_gift',
+                               'text'       => esc_html__( 'Social icons', 'shop-isle' ),
+                               'subtext'    => esc_html__( 'Ideas and concepts', 'shop-isle' ),
+                               'link'       => esc_url( '#' ),
+                       ),
+                       array(
+                               'icon_value' => 'icon_pin',
+                               'text'       => esc_html__( 'WooCommerce', 'shop-isle' ),
+                               'subtext'    => esc_html__( 'Top Rated Products', 'shop-isle' ),
+                               'link'       => esc_url( '#' ),
+                       ),
+                       array(
+                               'icon_value' => 'icon_star',
+                               'text'       => esc_html__( 'Highly customizable', 'shop-isle' ),
+                               'subtext'    => esc_html__( 'Easy to use', 'shop-isle' ),
+                               'link'       => esc_url( '#' ),
+                       ),
+               )
+       );
+       shop_isle_pll_string_register_helper( 'shop_isle_service_box', $default, 'Features section' );
+
+       $default = false;
+       shop_isle_pll_string_register_helper( 'shop_isle_shortcodes_settings', $default, 'Shortcodes section' );
+       shop_isle_pll_string_register_helper( 'shop_isle_socials', $default, 'Footer socials' );
+
+       $default = json_encode(
+               array(
+                       array(
+                               'image_url' => get_template_directory_uri() . '/assets/images/team1.jpg',
+                               'text' => 'Eva Bean',
+                               'subtext' => 'Developer',
+                               'description' => 'Lorem ipsum dolor sit amet, consectetur adipiscing elit lacus, a iaculis diam.',
+                       ),
+                       array(
+                               'image_url' => get_template_directory_uri() . '/assets/images/team2.jpg',
+                               'text' => 'Maria Woods',
+                               'subtext' => 'Designer',
+                               'description' => 'Lorem ipsum dolor sit amet, consectetur adipiscing elit lacus, a iaculis diam.',
+                       ),
+                       array(
+                               'image_url' => get_template_directory_uri() . '/assets/images/team3.jpg',
+                               'text' => 'Booby Stone',
+                               'subtext' => 'Director',
+                               'description' => 'Lorem ipsum dolor sit amet, consectetur adipiscing elit lacus, a iaculis diam.',
+                       ),
+                       array(
+                               'image_url' => get_template_directory_uri() . '/assets/images/team4.jpg',
+                               'text' => 'Anna Neaga',
+                               'subtext' => 'Art Director',
+                               'description' => 'Lorem ipsum dolor sit amet, consectetur adipiscing elit lacus, a iaculis diam.',
+                       ),
+               )
+       );
+       shop_isle_pll_string_register_helper( 'shop_isle_team_members', $default, 'Team section' );
+
+       $default = json_encode(
+               array(
+                       array(
+                               'icon_value' => 'icon_lightbulb',
+                               'text' => __( 'Ideas and concepts','shop-isle' ),
+                               'subtext' => __( 'Lorem ipsum dolor sit amet, consectetur adipiscing elit.','shop-isle' ),
+                       ),
+                       array(
+                               'icon_value' => 'icon_tools',
+                               'text' => __( 'Designs & interfaces','shop-isle' ),
+                               'subtext' => __( 'Lorem ipsum dolor sit amet, consectetur adipiscing elit.','shop-isle' ),
+                       ),
+                       array(
+                               'icon_value' => 'icon_cogs',
+                               'text' => __( 'Highly customizable','shop-isle' ),
+                               'subtext' => __( 'Lorem ipsum dolor sit amet, consectetur adipiscing elit.','shop-isle' ),
+                       ),
+                       array(
+                               'icon_value' => 'icon_like',
+                               'text' => __( 'Easy to use','shop-isle' ),
+                               'subtext' => __( 'Lorem ipsum dolor sit amet, consectetur adipiscing elit.','shop-isle' ),
+                       ),
+               )
+       );
+       shop_isle_pll_string_register_helper( 'shop_isle_advantages', $default, 'Advantages section' );
+}
+add_action( 'after_setup_theme', 'shop_isle_features_register_strings', 11 );
diff --git a/templates/shop-isle/inc/functions/setup.php b/templates/shop-isle/inc/functions/setup.php
new file mode 100644 (file)
index 0000000..25dc863
--- /dev/null
@@ -0,0 +1,1117 @@
+<?php
+/**
+ * ShopIsle setup functions
+ *
+ * @package WordPress
+ * @subpackage Shop Isle
+ */
+
+define( 'SHOP_ISLE_PHP_INCLUDE',  get_template_directory() . '/inc' );
+
+/**
+ * Assign the ShopIsle version to a var
+ */
+
+if ( ! defined( 'SI_VERSION' ) ) {
+       define( 'SI_VERSION', '1.1.24' );
+}
+
+/**
+ * Sets the content width in pixels, based on the theme's design and stylesheet.
+ *
+ * Priority 0 to make it available to lower priority callbacks.
+ *
+ * @global int $content_width
+ */
+function shop_isle_content_width() {
+       $GLOBALS['content_width'] = apply_filters( 'shop_isle_content_width', 980 );
+}
+add_action( 'after_setup_theme', 'shop_isle_content_width', 0 );
+
+/**
+ * Define Allowed Files to be included.
+ */
+function shop_isle_filter_features( $array ) {
+       return array_merge(
+               $array, array(
+                       '/customizer/features/customizer-theme-info',
+                       '/flag-wporg',
+                       '/frontpage-manager',
+
+                       '/customizer/features/feature-colors-palette',
+                       '/customizer/features/feature-header-controls',
+                       '/customizer/features/feature-footer-controls',
+                       '/customizer/features/feature-advanced-controls',
+
+                       '/customizer/features/feature-frontpage-big-title-section-controls',
+                       '/customizer/features/feature-frontpage-slider-section-controls',
+                       '/customizer/features/feature-frontpage-banners-section-controls',
+                       '/customizer/features/feature-frontpage-products-section-controls',
+                       '/customizer/features/feature-frontpage-services-section-controls',
+                       '/customizer/features/feature-frontpage-ribbon-section-controls',
+                       '/customizer/features/feature-frontpage-video-section-controls',
+                       '/customizer/features/feature-frontpage-products-slider-section-controls',
+                       '/customizer/features/feature-frontpage-map-section-controls',
+                       '/customizer/features/feature-frontpage-categories-section-controls',
+                       '/customizer/features/feature-frontpage-shortcodes-section-controls',
+
+                       '/customizer/features/feature-blog-header-controls',
+                       '/customizer/features/feature-contact-controls',
+                       '/customizer/features/feature-about-us-controls',
+                       '/customizer/features/feature-404-controls',
+
+                       '/customizer/customize-pro/class-shopisle-customizer-upsell',
+                       '/customizer/customizer-upsell/class-shopisle-customizer-upsell',
+                       '/customizer/features/customizer-manager-pro',
+                       '/customizer/features/customizer-manager-lite',
+                       '/customizer/features/feature-slider-shortcode',
+                       '/feature-page-description-meta',
+
+               )
+       );
+}
+add_filter( 'shop_isle_filter_features', 'shop_isle_filter_features' );
+
+/**
+ * Include features files.
+ */
+function shop_isle_include_features() {
+       $shop_isle_inc_dir = rtrim( SHOP_ISLE_PHP_INCLUDE, '/' );
+       $shop_isle_allowed_phps = array();
+       $shop_isle_allowed_phps = apply_filters( 'shop_isle_filter_features',$shop_isle_allowed_phps );
+       foreach ( $shop_isle_allowed_phps as $file ) {
+               $shop_isle_file_to_include = $shop_isle_inc_dir . $file . '.php';
+               if ( file_exists( $shop_isle_file_to_include ) ) {
+                       include_once( $shop_isle_file_to_include );
+               }
+       }
+}
+add_action( 'after_setup_theme','shop_isle_include_features' );
+
+if ( ! function_exists( 'shop_isle_setup' ) ) :
+       /**
+        * Sets up theme defaults and registers support for various WordPress features.
+        *
+        * Note that this function is hooked into the after_setup_theme hook, which
+        * runs before the init hook. The init hook is too late for some features, such
+        * as indicating support for post thumbnails.
+        */
+       function shop_isle_setup() {
+               /*
+                * Load Localisation files.
+                *
+                * Note: the first-loaded translation file overrides any following ones if the same translation is present.
+                */
+
+               // wp-content/languages/themes/shop-isle-it_IT.mo
+               load_theme_textdomain( 'shop-isle', trailingslashit( WP_LANG_DIR ) . 'themes/' );
+
+               // wp-content/themes/child-theme-name/languages/it_IT.mo
+               load_theme_textdomain( 'shop-isle', get_stylesheet_directory() . '/languages' );
+
+               // wp-content/themes/theme-name/languages/it_IT.mo
+               load_theme_textdomain( 'shop-isle', get_template_directory() . '/languages' );
+
+               /**
+                * Add default posts and comments RSS feed links to head.
+                */
+               add_theme_support( 'automatic-feed-links' );
+
+               /*
+                * Enable support for Post Thumbnails on posts and pages.
+                *
+                * @link http://codex.wordpress.org/Function_Reference/add_theme_support#Post_Thumbnails
+                */
+               add_theme_support( 'post-thumbnails' );
+               add_image_size( 'shop_isle_blog_image_size', 750, 500, true );
+               add_image_size( 'shop_isle_banner_homepage', 360, 235, true );
+               add_image_size( 'shop_isle_category_thumbnail', 500, 500, true );
+               add_image_size( 'shop_isle_cart_item_image_size', 58, 72, true );
+
+               // This theme uses wp_nav_menu() in two locations.
+               register_nav_menus(
+                       array(
+                               'primary'       => __( 'Primary Menu', 'shop-isle' ),
+                       )
+               );
+
+               /*
+                * Switch default core markup for search form, comment form, comments, galleries, captions and widgets
+                * to output valid HTML5.
+                */
+               add_theme_support(
+                       'html5', array(
+                               'search-form',
+                               'comment-form',
+                               'comment-list',
+                               'gallery',
+                               'caption',
+                               'widgets',
+                       )
+               );
+
+               // Setup the WordPress core custom background feature.
+               add_theme_support(
+                       'custom-background', apply_filters(
+                               'shop_isle_custom_background_args', array(
+                                       'default-color' => apply_filters( 'shop_isle_default_background_color', 'fcfcfc' ),
+                                       'default-image' => '',
+                               )
+                       )
+               );
+
+               // Add support for the Site Logo plugin and the site logo functionality in JetPack
+               // https://github.com/automattic/site-logo
+               // http://jetpack.me/
+               // Declare WooCommerce support
+               add_theme_support( 'woocommerce' );
+
+               // Declare support for title theme feature
+               add_theme_support( 'title-tag' );
+
+               /* Custom header */
+               add_theme_support(
+                       'custom-header', array(
+                               'default-image' => get_template_directory_uri() . '/assets/images/header.jpg',
+                               'width'         => 1200,
+                               'height'        => 280,
+                               'flex-height'   => true,
+                       )
+               );
+
+               /* tgm-plugin-activation */
+               require_once get_template_directory() . '/class-tgm-plugin-activation.php';
+
+               if ( class_exists( 'WooCommerce' ) ) {
+                       add_theme_support( 'wc-product-gallery-zoom' );
+                       add_theme_support( 'wc-product-gallery-lightbox' );
+                       add_theme_support( 'wc-product-gallery-slider' );
+               }
+       }
+endif; // shop_isle_setup
+
+/**
+ * Register widget area.
+ *
+ * @link http://codex.wordpress.org/Function_Reference/register_sidebar
+ */
+function shop_isle_widgets_init() {
+
+       register_sidebar(
+               array(
+                       'name'          => __( 'Sidebar', 'shop-isle' ),
+                       'id'            => 'sidebar-1',
+                       'description'   => '',
+                       'before_widget' => '<aside id="%1$s" class="widget %2$s">',
+                       'after_widget'  => '</aside>',
+                       'before_title'  => '<h3 class="widget-title">',
+                       'after_title'   => '</h3>',
+               )
+       );
+       register_sidebar(
+               array(
+                       'name'          => __( 'Footer area 1', 'shop-isle' ),
+                       'id'            => 'sidebar-footer-area-1',
+                       'description'   => '',
+                       'before_widget' => '<aside id="%1$s" class="widget %2$s">',
+                       'after_widget'  => '</aside>',
+                       'before_title'  => '<h3 class="widget-title">',
+                       'after_title'   => '</h3>',
+               )
+       );
+       register_sidebar(
+               array(
+                       'name'          => __( 'Footer area 2', 'shop-isle' ),
+                       'id'            => 'sidebar-footer-area-2',
+                       'description'   => '',
+                       'before_widget' => '<aside id="%1$s" class="widget %2$s">',
+                       'after_widget'  => '</aside>',
+                       'before_title'  => '<h3 class="widget-title">',
+                       'after_title'   => '</h3>',
+               )
+       );
+       register_sidebar(
+               array(
+                       'name'          => __( 'Footer area 3', 'shop-isle' ),
+                       'id'            => 'sidebar-footer-area-3',
+                       'description'   => '',
+                       'before_widget' => '<aside id="%1$s" class="widget %2$s">',
+                       'after_widget'  => '</aside>',
+                       'before_title'  => '<h3 class="widget-title">',
+                       'after_title'   => '</h3>',
+               )
+       );
+       register_sidebar(
+               array(
+                       'name'          => __( 'Footer area 4', 'shop-isle' ),
+                       'id'            => 'sidebar-footer-area-4',
+                       'description'   => '',
+                       'before_widget' => '<aside id="%1$s" class="widget %2$s">',
+                       'after_widget'  => '</aside>',
+                       'before_title'  => '<h3 class="widget-title">',
+                       'after_title'   => '</h3>',
+               )
+       );
+       register_sidebar(
+               array(
+                       'name'          => __( 'Sidebar Shop Page', 'shop-isle' ),
+                       'id'            => 'shop-isle-sidebar-shop-archive',
+                       'description'   => '',
+                       'before_widget' => '<aside id="%1$s" class="widget %2$s">',
+                       'after_widget'  => '</aside>',
+                       'before_title'  => '<h3 class="widget-title">',
+                       'after_title'   => '</h3>',
+               )
+       );
+
+}
+
+/**
+ * Enqueue scripts and styles.
+ *
+ * @since  1.0.0
+ */
+function shop_isle_scripts() {
+
+       wp_enqueue_style( 'bootstrap', get_template_directory_uri() . '/assets/bootstrap/css/bootstrap.min.css', array(), '20120206', 'all' );
+
+       wp_enqueue_style( 'magnific-popup', get_template_directory_uri() . '/assets/css/vendor/magnific-popup.css', array(), '20120206', 'all' );
+
+       wp_enqueue_style( 'flexslider', get_template_directory_uri() . '/assets/css/vendor/flexslider.css', array( 'magnific-popup' ), '20120206', 'all' );
+
+       wp_enqueue_style( 'owl-carousel', get_template_directory_uri() . '/assets/css/vendor/owl.carousel.min.css', array( 'flexslider' ), '2.1.6', 'all' );
+
+       wp_enqueue_style( 'shop-isle-animate', get_template_directory_uri() . '/assets/css/vendor/animate.css', array( 'owl-carousel' ), '20120206', 'all' );
+
+       wp_enqueue_style( 'shop-isle-main-style', get_template_directory_uri() . '/assets/css/style.css', array( 'bootstrap' ), '20120207', 'all' );
+
+       wp_enqueue_style( 'shop-isle-style', get_stylesheet_uri(), '', SI_VERSION );
+
+       wp_enqueue_script( 'jquery' );
+
+       wp_enqueue_script( 'bootstrap-js', get_template_directory_uri() . '/assets/bootstrap/js/bootstrap.min.js', array( 'jquery' ), '20120206', true );
+
+       wp_enqueue_script( 'jquery-mb-YTPlayer', get_template_directory_uri() . '/assets/js/vendor/jquery.mb.YTPlayer.min.js', array( 'jquery' ), '20120206', true );
+
+       wp_enqueue_script( 'jqBootstrapValidation', get_template_directory_uri() . '/assets/js/vendor/jqBootstrapValidation.js', array( 'jquery' ), '20120206', true );
+
+       wp_enqueue_script( 'flexslider', get_template_directory_uri() . '/assets/js/vendor/jquery.flexslider-min.js', array( 'jquery' ), '20120206', true );
+
+       wp_enqueue_script( 'magnific-popup', get_template_directory_uri() . '/assets/js/vendor/jquery.magnific-popup.min.js', array( 'jquery' ), '20120206', true );
+
+       wp_enqueue_script( 'fitvids', get_template_directory_uri() . '/assets/js/vendor/jquery.fitvids.js', array( 'jquery' ), '20120206', true );
+
+       wp_enqueue_script( 'smoothscroll', get_template_directory_uri() . '/assets/js/vendor/smoothscroll.js', array( 'jquery' ), '20120206', true );
+
+       wp_enqueue_script( 'owl-carousel-js', get_template_directory_uri() . '/assets/js/vendor/owl.carousel.min.js', array( 'jquery' ), '2.1.6', true );
+
+       wp_enqueue_script( 'shop-isle-custom', get_template_directory_uri() . '/assets/js/custom.js', array( 'jquery', 'flexslider', 'jquery-mb-YTPlayer' ), '20120206', true );
+
+       wp_enqueue_script( 'shop-isle-navigation', get_template_directory_uri() . '/js/navigation.min.js', array(), '20120207', true );
+
+       wp_enqueue_script( 'shop-isle-skip-link-focus-fix', get_template_directory_uri() . '/js/skip-link-focus-fix.min.js', array(), '20130115', true );
+
+       if ( is_singular() && comments_open() && get_option( 'thread_comments' ) ) {
+               wp_enqueue_script( 'comment-reply' );
+       }
+}
+
+/**
+ * Enqueue Admin Styles
+ */
+function shop_isle_admin_styles() {
+       wp_enqueue_media();
+       wp_enqueue_style( 'shop_isle_admin_stylesheet', get_template_directory_uri() . '/assets/css/admin-style.css' );
+}
+
+add_action( 'tgmpa_register', 'shop_isle_register_required_plugins' );
+
+/**
+ * Register TGMP Required Plugins
+ */
+function shop_isle_register_required_plugins() {
+
+       $plugins = array(
+               array(
+                       'name'      => 'WooCommerce',
+                       'slug'      => 'woocommerce',
+                       'required'  => false,
+               ),
+       );
+
+       $config = array(
+               'default_path' => '',
+               'menu' => 'tgmpa-install-plugins',
+               'has_notices' => true,
+               'dismissable' => true,
+               'dismiss_msg' => '',
+               'is_automatic' => false,
+               'message' => '',
+       );
+       tgmpa( $plugins, $config );
+}
+
+
+/**
+ * Add ID-s for migration
+ */
+function shop_isle_add_id() {
+
+       $migrate = get_option( 'shop_isle_migrate_translation' );
+
+       if ( isset( $migrate ) && $migrate == false ) {
+
+               /* Slider section */
+               $shop_isle_slider = get_theme_mod(
+                       'shop_isle_slider', json_encode(
+                               array(
+                                       array(
+                                               'image_url' => get_template_directory_uri() . '/assets/images/slide1.jpg',
+                                               'link' => '#',
+                                               'text' => __( 'Shop Isle','shop-isle' ),
+                                               'subtext' => __( 'WooCommerce Theme','shop-isle' ),
+                                               'label' => __( 'Read more','shop-isle' ),
+                                       ),
+                                       array(
+                                               'image_url' => get_template_directory_uri() . '/assets/images/slide2.jpg',
+                                               'link' => '#',
+                                               'text' => __( 'Shop Isle','shop-isle' ),
+                                               'subtext' => __( 'WooCommerce Theme','shop-isle' ),
+                                               'label' => __( 'Read more','shop-isle' ),
+                                       ),
+                                       array(
+                                               'image_url' => get_template_directory_uri() . '/assets/images/slide3.jpg',
+                                               'link' => '#',
+                                               'text' => __( 'Shop Isle','shop-isle' ),
+                                               'subtext' => __( 'WooCommerce Theme','shop-isle' ),
+                                               'label' => __( 'Read more','shop-isle' ),
+                                       ),
+                               )
+                       )
+               );
+
+               if ( ! empty( $shop_isle_slider ) ) {
+
+                       $shop_isle_slider_decoded = json_decode( $shop_isle_slider );
+                       foreach ( $shop_isle_slider_decoded as &$it ) {
+                               if ( ! array_key_exists( 'id' , $it ) || ! ($it->id) ) {
+                                       $it = (object) array_merge(
+                                               (array) $it, array(
+                                                       'id' => 'shop_isle_' . uniqid(),
+                                               )
+                                       );
+                               }
+                       }
+
+                       $shop_isle_slider = json_encode( $shop_isle_slider_decoded );
+                       set_theme_mod( 'shop_isle_slider', $shop_isle_slider );
+               }
+
+               /* Banners section */
+               $shop_isle_banners = get_theme_mod(
+                       'shop_isle_banners', json_encode(
+                               array(
+                                       array(
+                                               'image_url' => get_template_directory_uri() . '/assets/images/banner1.jpg',
+                                               'link' => '#',
+                                       ),
+                                       array(
+                                               'image_url' => get_template_directory_uri() . '/assets/images/banner2.jpg',
+                                               'link' => '#',
+                                       ),
+                                       array(
+                                               'image_url' => get_template_directory_uri() . '/assets/images/banner3.jpg',
+                                               'link' => '#',
+                                       ),
+                               )
+                       )
+               );
+
+               if ( ! empty( $shop_isle_banners ) ) {
+
+                       $shop_isle_banners_decoded = json_decode( $shop_isle_banners );
+                       foreach ( $shop_isle_banners_decoded as &$it ) {
+                               if ( ! array_key_exists( 'id' , $it ) || ! ($it->id) ) {
+                                       $it = (object) array_merge(
+                                               (array) $it, array(
+                                                       'id' => 'shop_isle_' . uniqid(),
+                                               )
+                                       );
+                               }
+                       }
+
+                       $shop_isle_banners = json_encode( $shop_isle_banners_decoded );
+                       set_theme_mod( 'shop_isle_banners', $shop_isle_banners );
+               }
+
+               /* Footer socials */
+               $shop_isle_socials = get_theme_mod(
+                       'shop_isle_socials', json_encode(
+                               array(
+                                       array(
+                                               'icon_value' => 'social_facebook',
+                                               'link' => '#',
+                                       ),
+                                       array(
+                                               'icon_value' => 'social_twitter',
+                                               'link' => '#',
+                                       ),
+                                       array(
+                                               'icon_value' => 'social_dribbble',
+                                               'link' => '#',
+                                       ),
+                                       array(
+                                               'icon_value' => 'social_skype',
+                                               'link' => '#',
+                                       ),
+                               )
+                       )
+               );
+
+               if ( ! empty( $shop_isle_socials ) ) {
+
+                       $shop_isle_socials_decoded = json_decode( $shop_isle_socials );
+                       foreach ( $shop_isle_socials_decoded as &$it ) {
+                               if ( ! array_key_exists( 'id' , $it ) || ! ($it->id) ) {
+                                       $it = (object) array_merge(
+                                               (array) $it, array(
+                                                       'id' => 'shop_isle_' . uniqid(),
+                                               )
+                                       );
+                               }
+                       }
+
+                       $shop_isle_socials = json_encode( $shop_isle_socials_decoded );
+                       set_theme_mod( 'shop_isle_socials', $shop_isle_socials );
+               }
+
+               /* Our team */
+               $shop_isle_team_members = get_theme_mod(
+                       'shop_isle_team_members', json_encode(
+                               array(
+                                       array(
+                                               'image_url' => get_template_directory_uri() . '/assets/images/team1.jpg',
+                                               'text' => 'Eva Bean',
+                                               'subtext' => 'Developer',
+                                               'description' => 'Lorem ipsum dolor sit amet, consectetur adipiscing elit lacus, a iaculis diam.',
+                                       ),
+                                       array(
+                                               'image_url' => get_template_directory_uri() . '/assets/images/team2.jpg',
+                                               'text' => 'Maria Woods',
+                                               'subtext' => 'Designer',
+                                               'description' => 'Lorem ipsum dolor sit amet, consectetur adipiscing elit lacus, a iaculis diam.',
+                                       ),
+                                       array(
+                                               'image_url' => get_template_directory_uri() . '/assets/images/team3.jpg',
+                                               'text' => 'Booby Stone',
+                                               'subtext' => 'Director',
+                                               'description' => 'Lorem ipsum dolor sit amet, consectetur adipiscing elit lacus, a iaculis diam.',
+                                       ),
+                                       array(
+                                               'image_url' => get_template_directory_uri() . '/assets/images/team4.jpg',
+                                               'text' => 'Anna Neaga',
+                                               'subtext' => 'Art Director',
+                                               'description' => 'Lorem ipsum dolor sit amet, consectetur adipiscing elit lacus, a iaculis diam.',
+                                       ),
+                               )
+                       )
+               );
+
+               if ( ! empty( $shop_isle_team_members ) ) {
+
+                       $shop_isle_team_members_decoded = json_decode( $shop_isle_team_members );
+                       foreach ( $shop_isle_team_members_decoded as &$it ) {
+                               if ( ! array_key_exists( 'id' , $it ) || ! ($it->id) ) {
+                                       $it = (object) array_merge(
+                                               (array) $it, array(
+                                                       'id' => 'shop_isle_' . uniqid(),
+                                               )
+                                       );
+                               }
+                       }
+
+                       $shop_isle_team_members = json_encode( $shop_isle_team_members_decoded );
+                       set_theme_mod( 'shop_isle_team_members', $shop_isle_team_members );
+               }
+
+               /* Our advantages */
+               $shop_isle_advantages = get_theme_mod(
+                       'shop_isle_advantages', json_encode(
+                               array(
+                                       array(
+                                               'icon_value' => 'icon_lightbulb',
+                                               'text' => __( 'Ideas and concepts','shop-isle' ),
+                                               'subtext' => __( 'Lorem ipsum dolor sit amet, consectetur adipiscing elit.','shop-isle' ),
+                                       ),
+                                       array(
+                                               'icon_value' => 'icon_tools',
+                                               'text' => __( 'Designs & interfaces','shop-isle' ),
+                                               'subtext' => __( 'Lorem ipsum dolor sit amet, consectetur adipiscing elit.','shop-isle' ),
+                                       ),
+                                       array(
+                                               'icon_value' => 'icon_cogs',
+                                               'text' => __( 'Highly customizable','shop-isle' ),
+                                               'subtext' => __( 'Lorem ipsum dolor sit amet, consectetur adipiscing elit.','shop-isle' ),
+                                       ),
+                                       array(
+                                               'icon_value' => 'icon_like',
+                                               'text' => __( 'Easy to use','shop-isle' ),
+                                               'subtext' => __( 'Lorem ipsum dolor sit amet, consectetur adipiscing elit.','shop-isle' ),
+                                       ),
+                               )
+                       )
+               );
+
+               if ( ! empty( $shop_isle_advantages ) ) {
+
+                       $shop_isle_advantages_decoded = json_decode( $shop_isle_advantages );
+                       foreach ( $shop_isle_advantages_decoded as &$it ) {
+                               if ( ! array_key_exists( 'id' , $it ) || ! ($it->id) ) {
+                                       $it = (object) array_merge(
+                                               (array) $it, array(
+                                                       'id' => 'shop_isle_' . uniqid(),
+                                               )
+                                       );
+                               }
+                       }
+
+                       $shop_isle_advantages = json_encode( $shop_isle_advantages_decoded );
+                       set_theme_mod( 'shop_isle_advantages', $shop_isle_advantages );
+               }
+
+               update_option( 'shop_isle_migrate_translation', true );
+       }// End if().
+}
+add_action( 'shutdown', 'shop_isle_add_id' );
+
+/* Polylang repeater translate */
+
+if ( function_exists( 'icl_unregister_string' ) && function_exists( 'icl_register_string' ) ) {
+
+       /* Slider section */
+
+       $shop_isle_slider_pl = get_theme_mod( 'shop_isle_slider' );
+
+       if ( ! empty( $shop_isle_slider_pl ) ) {
+
+               $shop_isle_slider_pl_decoded = json_decode( $shop_isle_slider_pl );
+
+               if ( ! empty( $shop_isle_slider_pl_decoded ) ) {
+
+                       foreach ( $shop_isle_slider_pl_decoded as $shop_isle_slider ) {
+
+                               if ( ! empty( $shop_isle_slider->id ) ) {
+                                       $id = $shop_isle_slider->id;
+                               }
+                               $text = $shop_isle_slider->text;
+                               $subtext = $shop_isle_slider->subtext;
+                               $image_url = $shop_isle_slider->image_url;
+                               $link = $shop_isle_slider->link;
+                               $label = $shop_isle_slider->label;
+
+                               if ( ! empty( $id ) ) {
+
+                                       if ( ! empty( $image_url ) ) {
+                                               icl_unregister_string( 'Slide ' . $id, 'Slide image' );
+                                               icl_register_string( 'Slide ' . $id, 'Slide image', $image_url );
+                                       } else {
+                                               icl_unregister_string( 'Slide ' . $id, 'Slide image' );
+                                       }
+
+                                       if ( ! empty( $text ) ) {
+                                               icl_unregister_string( 'Slide ' . $id, 'Slide text' );
+                                               icl_register_string( 'Slide ' . $id, 'Slide text', $text );
+                                       } else {
+                                               icl_unregister_string( 'Slide ' . $id, 'Slide text' );
+                                       }
+
+                                       if ( ! empty( $subtext ) ) {
+                                               icl_unregister_string( 'Slide ' . $id, 'Slide subtext' );
+                                               icl_register_string( 'Slide ' . $id, 'Slide subtext',$subtext );
+                                       } else {
+                                               icl_unregister_string( 'Slide ' . $id, 'Slide subtext' );
+                                       }
+
+                                       if ( ! empty( $link ) ) {
+                                               icl_unregister_string( 'Slide ' . $id, 'Slide button link' );
+                                               icl_register_string( 'Slide ' . $id, 'Slide button link', $link );
+                                       } else {
+                                               icl_unregister_string( 'Slide ' . $id, 'Slide button link' );
+                                       }
+
+                                       if ( ! empty( $label ) ) {
+                                               icl_unregister_string( 'Slide ' . $id, 'Slide button label' );
+                                               icl_register_string( 'Slide ' . $id, 'Slide button label', $label );
+                                       } else {
+                                               icl_unregister_string( 'Slide ' . $id, 'Slide button label' );
+                                       }
+                               }// End if().
+                       }// End foreach().
+               }// End if().
+       }// End if().
+
+       /* Banners section */
+
+       $shop_isle_banners_pl = get_theme_mod( 'shop_isle_banners' );
+
+       if ( ! empty( $shop_isle_banners_pl ) ) {
+
+               $shop_isle_banners_pl_decoded = json_decode( $shop_isle_banners_pl );
+
+               if ( ! empty( $shop_isle_banners_pl_decoded ) ) {
+
+                       foreach ( $shop_isle_banners_pl_decoded as $shop_isle_banners ) {
+
+                               if ( ! empty( $shop_isle_banners->id ) ) {
+                                       $id = $shop_isle_banners->id;
+                               }
+
+                               $image_url = $shop_isle_banners->image_url;
+                               $link = $shop_isle_banners->link;
+
+                               if ( ! empty( $id ) ) {
+
+                                       if ( ! empty( $link ) ) {
+                                               icl_unregister_string( 'Banner ' . $id, 'Banner link' );
+                                               icl_register_string( 'Banner ' . $id, 'Banner link', $link );
+                                       } else {
+                                               icl_unregister_string( 'Banner ' . $id, 'Banner link' );
+                                       }
+
+                                       if ( ! empty( $image_url ) ) {
+                                               icl_unregister_string( 'Banner ' . $id, 'Banner image' );
+                                               icl_register_string( 'Banner ' . $id, 'Banner image', $image_url );
+                                       } else {
+                                               icl_unregister_string( 'Banner ' . $id, 'Banner image' );
+                                       }
+                               }
+                       }
+               }
+       }
+
+       /*Footer socials */
+
+       $shop_isle_socials_pl = get_theme_mod( 'shop_isle_socials' );
+
+       if ( ! empty( $shop_isle_socials_pl ) ) {
+
+               $shop_isle_socials_pl_decoded = json_decode( $shop_isle_socials_pl );
+
+               if ( ! empty( $shop_isle_socials_pl_decoded ) ) {
+
+                       foreach ( $shop_isle_socials_pl_decoded as $shop_isle_socials ) {
+
+                               if ( ! empty( $shop_isle_socials->id ) ) {
+                                       $id = $shop_isle_socials->id;
+                               }
+                               $icon_value = $shop_isle_socials->icon_value;
+                               $link = $shop_isle_socials->link;
+
+                               if ( ! empty( $id ) ) {
+                                       if ( ! empty( $icon_value ) ) {
+                                               icl_unregister_string( 'Social ' . $id, 'Social icon' );
+                                               icl_register_string( 'Social ' . $id, 'Social icon', $icon_value );
+                                       } else {
+                                               icl_unregister_string( 'Social ' . $id, 'Social icon' );
+                                       }
+                                       if ( ! empty( $link ) ) {
+                                               icl_unregister_string( 'Social ' . $id, 'Social link' );
+                                               icl_register_string( 'Social ' . $id, 'Social link', $link );
+                                       } else {
+                                               icl_unregister_string( 'Social ' . $id, 'Social link' );
+                                       }
+                               }
+                       }
+               }
+       }
+
+       /* About us page  */
+
+
+
+       /* Our team */
+       $shop_isle_team_members_pl = get_theme_mod( 'shop_isle_team_members' );
+
+       if ( ! empty( $shop_isle_team_members_pl ) ) {
+
+               $shop_isle_team_members_pl_decoded = json_decode( $shop_isle_team_members_pl );
+
+               if ( ! empty( $shop_isle_team_members_pl_decoded ) ) {
+
+                       foreach ( $shop_isle_team_members_pl_decoded as $shop_isle_team_members ) {
+
+                               if ( ! empty( $shop_isle_team_members->id ) ) {
+                                       $id = $shop_isle_team_members->id;
+                               }
+                               if ( ! empty( $shop_isle_team_members->image_url ) ) {
+                                       $image_url = $shop_isle_team_members->image_url;
+                               }
+                               if ( ! empty( $shop_isle_team_members->text ) ) {
+                                       $text = $shop_isle_team_members->text;
+                               }
+                               if ( ! empty( $shop_isle_team_members->subtext ) ) {
+                                       $subtext = $shop_isle_team_members->subtext;
+                               }
+                               if ( ! empty( $shop_isle_team_members->description ) ) {
+                                       $description = $shop_isle_team_members->description;
+                               }
+
+                               if ( ! empty( $id ) ) {
+                                       if ( ! empty( $image_url ) ) {
+                                               icl_unregister_string( 'Team member ' . $id, 'Team member image' );
+                                               icl_register_string( 'Team member ' . $id, 'Team member image', $image_url );
+                                       } else {
+                                               icl_unregister_string( 'Team member ' . $id, 'Team member image' );
+                                       }
+
+                                       if ( ! empty( $text ) ) {
+                                               icl_unregister_string( 'Team member ' . $id, 'Team member name' );
+                                               icl_register_string( 'Team member ' . $id, 'Team member name', $text );
+                                       } else {
+                                               icl_unregister_string( 'Team member ' . $id, 'Team member name' );
+                                       }
+
+                                       if ( ! empty( $subtext ) ) {
+                                               icl_unregister_string( 'Team member ' . $id, 'Team member job' );
+                                               icl_register_string( 'Team member ' . $id, 'Team member job', $subtext );
+                                       } else {
+                                               icl_unregister_string( 'Team member ' . $id, 'Team member job' );
+                                       }
+
+                                       if ( ! empty( $description ) ) {
+                                               icl_unregister_string( 'Team member ' . $id, 'Team member description' );
+                                               icl_register_string( 'Team member ' . $id, 'Team member description', $description );
+                                       } else {
+                                               icl_unregister_string( 'Team member ' . $id, 'Team member description' );
+                                       }
+                               }
+                       }// End foreach().
+               }// End if().
+       }// End if().
+
+       // /* Our advantages */
+       $shop_isle_advantages_pl = get_theme_mod( 'shop_isle_advantages' );
+
+       if ( ! empty( $shop_isle_advantages_pl ) ) {
+
+               $shop_isle_advantages_pl_decoded = json_decode( $shop_isle_advantages_pl );
+
+               if ( ! empty( $shop_isle_advantages_pl_decoded ) ) {
+
+                       foreach ( $shop_isle_advantages_pl_decoded as $shop_isle_advantages ) {
+
+                               if ( ! empty( $shop_isle_advantages->id ) ) {
+                                       $id = $shop_isle_advantages->id;
+                               }
+                               $icon_value = $shop_isle_advantages->icon_value;
+                               $text = $shop_isle_advantages->text;
+                               $subtext = $shop_isle_advantages->subtext;
+
+                               if ( ! empty( $id ) ) {
+                                       if ( ! empty( $icon_value ) ) {
+                                               icl_unregister_string( 'Advantage ' . $id, 'Advantage icon' );
+                                               icl_register_string( 'Advantage ' . $id, 'Advantage icon',$icon_value );
+                                       } else {
+                                               icl_unregister_string( 'Advantage ' . $id, 'Advantage icon' );
+                                       }
+
+                                       if ( ! empty( $text ) ) {
+                                               icl_unregister_string( 'Advantage ' . $id, 'Advantage text' );
+                                               icl_register_string( 'Advantage ' . $id, 'Advantage text', $text );
+                                       } else {
+                                               icl_unregister_string( 'Advantage ' . $id, 'Advantage text' );
+                                       }
+
+                                       if ( ! empty( $subtext ) ) {
+                                               icl_unregister_string( 'Advantage ' . $id ,'Advantage subtext' );
+                                               icl_register_string( 'Advantage ' . $id ,'Advantage subtext', $subtext );
+                                       } else {
+                                               icl_unregister_string( 'Advantage ' . $id ,'Advantage subtext' );
+                                       }
+                               }
+                       }
+               }
+       }// End if().
+}// End if().
+
+
+add_action( 'wp_head','shop_isle_php_style' );
+
+/**
+ * Add palette picker output.
+ */
+function shop_isle_php_style() {
+
+       $shop_isle_palette_picker = get_theme_mod( 'shop_isle_palette_picker' );
+
+       if ( ! empty( $shop_isle_palette_picker ) ) {
+
+               $shop_isle_picker = json_decode( $shop_isle_palette_picker );
+
+               $shop_isle_c1 = $shop_isle_picker->color1;
+               $shop_isle_c2 = $shop_isle_picker->color2;
+               $shop_isle_c3 = $shop_isle_picker->color3;
+               $shop_isle_c4 = $shop_isle_picker->color4;
+               $shop_isle_c5 = $shop_isle_picker->color5;
+
+       }
+
+       echo '<style id="shop_isle_customizr_pallete" type="text/css">';
+
+       $shop_isle_body_font_size = get_theme_mod( 'shop_isle_font_size' );
+       echo ! empty( $shop_isle_body_font_size ) ? 'body, section#latest .amount, section.home-product-slider .amount, section.shortcodes .amount { font-size:' . $shop_isle_body_font_size . '}' : '' ;
+
+       if ( ! empty( $shop_isle_palette_picker ) ) {
+
+               /*Color 1*/
+               preg_match_all( '!\d+!', $shop_isle_c1, $shop_isle_c1_rgb );
+               echo '
+                       .navbar-custom,
+                       .header-shopping-cart,
+                       .navbar-custom .sub-menu, 
+                       .navbar-custom .children,
+                       .onsale,
+                   .header-search-input{
+                               background: rgba(' . $shop_isle_c1_rgb[0][0] . ',' . $shop_isle_c1_rgb[0][1] . ',' . $shop_isle_c1_rgb[0][2] . ',.9);
+                       }
+                       .shop_isle_footer_sidebar,
+                        footer.footer {
+                               background-color: ' . $shop_isle_c1 . ' !important;
+                       }
+                       .page .navbar-custom {
+                               background: rgba(' . $shop_isle_c1_rgb[0][0] . ',' . $shop_isle_c1_rgb[0][1] . ',' . $shop_isle_c1_rgb[0][2] . ',.9) !important;
+                       }
+               ';
+
+               /*Color 2*/
+               echo '
+                       .module-title,
+                       .widget .widget-title,
+                        .post-title a,
+                        .single-product .product_title,
+                        .related.products h2, 
+                        .upsells.products h2 {
+                               color: ' . $shop_isle_c2 . ';
+                       }
+               ';
+
+               /* Color 3 */
+               echo '
+                       body,
+                       a,
+                       .main,
+                       .module-subtitle {
+                               color: ' . $shop_isle_c3 . ';
+                       }
+                       .widget_calendar thead th {
+                               background: ' . $shop_isle_c3 . ';
+                       }
+               ';
+
+               /* Color 4 */
+               echo '
+                       .product .product-button-wrap .add_to_cart_button, 
+                       ul.products li.product .product-button-wrap .button.product_type_simple, 
+                       .shop-item .product-button-wrap .add_to_cart_button,
+                       .btn.btn-b,
+                       #comments input[type="submit"], 
+                       button[type="submit"],
+                       #comments input[type="submit"]:hover, 
+                       button[type="submit"]:hover,
+                       #payment .place-order .button,
+                       table.cart td.actions input[name="update_cart"],
+                       .wc-proceed-to-checkout .button.checkout-button:hover,
+                       .wc-proceed-to-checkout .button.checkout-button,
+                   .header-shopping-cart .widget_shopping_cart p.buttons a,
+                   .shop-item .product-button-wrap .product_type_simple,
+                   ul.products li.product .product-button-wrap .product_type_variable,
+               ul.products li.product .product-button-wrap .button.product_type_grouped, 
+               .shop-item .product-button-wrap .button.product_type_grouped, 
+               .shop-item .product-button-wrap .button.product_type_variable, 
+               ul.products li.product .product-button-wrap .product_type_variable,
+               .widget input[type=submit],
+                       .widget button[type=submit],
+                       .widget_shopping_cart_content .buttons a,
+                       .widget_price_filter .ui-slider .ui-slider-handle {
+                               background: ' . $shop_isle_c4 . ';
+                       }
+                       .product .product-button-wrap .add_to_cart_button:hover, 
+                       ul.products li.product .product-button-wrap .button.product_type_simple:hover, 
+                       .shop-item .product-button-wrap .add_to_cart_button:hover,
+                       .btn.btn-b:hover,
+                   .header-shopping-cart .widget_shopping_cart p.buttons a:hover,
+                   ul.products li.product .product-button-wrap .product_type_variable:hover.
+            ul.products li.product .product-button-wrap .button.product_type_grouped:hover, 
+               .shop-item .product-button-wrap .button.product_type_grouped:hover, 
+               .shop-item .product-button-wrap .button.product_type_variable:hover,
+               .widget input[type=submit]:hover,
+                       .widget button[type=submit]:hover,
+                       .widget_shopping_cart_content .buttons a:hover, 
+                       .widget.woocommerce.widget_shopping_cart_content .button a:hover {
+                           background: ' . $shop_isle_c4 . ';
+                           opacity: 0.8;
+                       }
+                       a:hover {
+                               color: ' . $shop_isle_c4 . ';
+                       }
+                       #comments input[type="submit"]:hover, 
+                       button[type="submit"]:hover {
+                               opacity: 0.8;
+                       }
+                       .single-product div.product form.cart .button:hover,
+                       #payment .place-order .button:hover, 
+                       #payment .place-order .button:focus,
+                       .wc-proceed-to-checkout .button.checkout-button:hover,
+                       table.cart td.actions input[name="update_cart"]:hover {
+                               background: ' . $shop_isle_c4 . ';
+                               opacity: 0.8;
+                       }
+               ';
+
+               /* Color 5 */
+               echo '
+                       body,
+                       .main,
+                       .panel,
+                       .woocommerce-tabs ul.tabs li.active a {
+                               background-color: ' . $shop_isle_c5 . ';
+                       }
+               ';
+
+               echo '
+                       footer.footer,
+                       footer.footer a,
+                       .bg-dark a,
+                   .header-shopping-cart .widget_shopping_cart p.total,
+               .header-shopping-cart .mini_cart_item .quantity, .header-shopping-cart .mini_cart_item .quantity span,
+            .header-shopping-cart .widget_shopping_cart .product_list_widget li a.remove,
+            .widget_shopping_cart .product_list_widget li{
+                               color: rgba( 255, 255, 255, 0.6 );
+                       }
+                       footer.footer a:hover,
+                       .bg-dark a:hover,
+                       .header-shopping-cart .mini_cart_item a:hover,
+                       .header-shopping-cart .widget_shopping_cart .product_list_widget li a.remove:hover {
+                               color: #FFF;
+                       }
+                       footer.footer .divider-d {
+                               border-top: 1px solid rgba(32, 32, 32, 0.5);
+                       }
+                       .navbar-custom .sub-menu > li > a, 
+                       .navbar-custom .children > li > a,
+                        .header-shopping-cart .mini_cart_item a {
+                               color: rgba(255, 255, 255, .7);
+                       }
+               ';
+
+       }// End if().
+
+       $shop_isle_navbar_background = get_theme_mod( 'shop_isle_navbar_background' );
+       $shop_isle_menu_items_color = get_theme_mod( 'shop_isle_menu_items_color' );
+       $shop_isle_menu_items_hover_color = get_theme_mod( 'shop_isle_menu_items_hover_color' );
+       $shop_isle_footer_background = get_theme_mod( 'shop_isle_footer_background' );
+       $shop_isle_background = get_theme_mod( 'background_color' );
+
+       if ( ! empty( $shop_isle_navbar_background ) ) {
+               echo '.page .navbar-custom, .navbar-custom, .header-shopping-cart, .navbar-custom .sub-menu, .navbar-custom .children, .header-search-input { background-color: ' . esc_attr( $shop_isle_navbar_background ) . '!important; }';
+       }
+
+       if ( ! empty( $shop_isle_menu_items_color ) ) {
+               echo '.navbar-custom .nav li > a { color: ' . esc_attr( $shop_isle_menu_items_color ) . '; }';
+       }
+
+       if ( ! empty( $shop_isle_menu_items_hover_color ) ) {
+               echo '.navbar-custom .nav > li > a:focus, .navbar-custom .nav > li > a:hover, .navbar-custom .nav .open > a, .navbar-custom .nav .open > a:focus, .navbar-custom .nav .open > a:hover, .navbar-custom .sub-menu > li > a:focus, .navbar-custom .sub-menu > li > a:hover { color: ' . esc_attr( $shop_isle_menu_items_hover_color ) . '; }';
+       }
+
+       if ( ! empty( $shop_isle_footer_background ) ) {
+               echo '.shop_isle_footer_sidebar, footer.footer { background: ' . esc_attr( $shop_isle_footer_background ) . '!important; }';
+       }
+
+       if ( ! empty( $shop_isle_background ) ) {
+               echo '.shop_isle_footer_sidebar, footer.footer { background-color: ' . esc_attr( $shop_isle_background ) . '!important; }';
+       }
+
+       $shop_isle_video_section_padding = get_theme_mod( 'shop_isle_video_section_padding', '130' );
+
+       if ( ! empty( $shop_isle_video_section_padding ) ) {
+               echo '.module.module-video { padding: ' . esc_attr( $shop_isle_video_section_padding ) . 'px 0px; }';
+       }
+
+       $shop_isle_header_textcolor = get_theme_mod( 'header_textcolor' );
+       if ( ! empty( $shop_isle_header_textcolor ) ) {
+               echo '.shop_isle_header_title h1 a, .shop_isle_header_title h2 a { color: #' . esc_attr( $shop_isle_header_textcolor ) . ' }';
+       }
+
+       echo '</style>';
+
+}
+
+/**
+ * Add style/classes for Mega Menu plugin
+ */
+function shop_isle_pro_function_for_mega_menu() {
+
+       $shop_isle_palette_picker = get_theme_mod( 'shop_isle_palette_picker' );
+       if ( ! empty( $shop_isle_palette_picker ) ) {
+               $shop_isle_picker = json_decode( $shop_isle_palette_picker );
+               $shop_isle_c1 = $shop_isle_picker->color1;
+       }
+       if ( ! empty( $shop_isle_palette_picker ) ) {
+               preg_match_all( '!\d+!', $shop_isle_c1, $shop_isle_c1_rgb );
+               $bg_dropdown = 'background: rgba(' . $shop_isle_c1_rgb[0][0] . ',' . $shop_isle_c1_rgb[0][1] . ',' . $shop_isle_c1_rgb[0][2] . ',.9)';
+       } else {
+               $bg_dropdown = 'background: rgba(10, 10, 10, .9)';
+       }
+
+       /* wr mega menu */
+       echo '<style id="shop_isle_footer_css" type="text/css">';
+       echo '
+               .wr-megamenu-container.bg-tr {
+                       background: transparent !important;
+               }
+               .wr-megamenu-container ul.wr-mega-menu ul.sub-menu,
+               .wr-megamenu-inner {
+                   ' . $bg_dropdown . ' !important;
+                   color: #fff !important;
+               }
+               
+               @media (max-width: 767px) {
+                       .navbar-fixed-top .navbar-collapse {
+                               ' . $bg_dropdown . ' !important;
+                       }
+               }
+       ';
+
+       echo '</style>';
+
+}
+add_action( 'wp_footer', 'shop_isle_pro_function_for_mega_menu', 100 );
+
+/**
+ * Remove the frontpage template if the Lite Shop Isle theme was not from wp.org
+ */
+add_filter( 'theme_page_templates', 'shop_isle_pro_remove_frontpage_template' );
+
+
+/**
+ * Remove frontpage template for wporg.
+ *
+ * @param page-templates $pages_templates the page templates.
+ *
+ * @return mixed
+ */
+function shop_isle_pro_remove_frontpage_template( $pages_templates ) {
+
+       $shop_isle_wporg_flag = get_option( 'shop_isle_wporg_flag' );
+
+       if ( ! isset( $shop_isle_wporg_flag ) || ( ! empty( $shop_isle_wporg_flag ) && ( 'true' != $shop_isle_wporg_flag ) ) ) {
+
+               unset( $pages_templates['template-frontpage.php'] );
+
+       }
+
+       return $pages_templates;
+
+}
+
diff --git a/templates/shop-isle/inc/init.php b/templates/shop-isle/inc/init.php
new file mode 100644 (file)
index 0000000..2cd2072
--- /dev/null
@@ -0,0 +1,166 @@
+<?php
+/**
+ * The init file.
+ *
+ * @package WordPress
+ * @subpackage Shop Isle
+ */
+
+add_filter( 'image_size_names_choose', 'shop_isle_media_uploader_custom_sizes' );
+/**
+ * Media uploader custom sizes.
+ *
+ * @param string $sizes The image sizes.
+ *
+ * @return array
+ */
+function shop_isle_media_uploader_custom_sizes( $sizes ) {
+       return array_merge(
+               $sizes, array(
+                       'shop_isle_banner_homepage'     => esc_html__( 'Banners section', 'shop-isle' ),
+                       'shop_isle_category_thumbnail'  => esc_html__( 'Categories Section', 'shop-isle' ),
+               )
+       );
+}
+
+
+
+/**
+ * Setup.
+ * Enqueue styles, register widget regions, etc.
+ */
+require get_template_directory() . '/inc/functions/setup.php';
+
+/**
+ * Setup.
+ * Enqueue styles, register widget regions, etc.
+ */
+require get_template_directory() . '/inc/page-builder-extras.php';
+
+/**
+ * Structure.
+ * Template functions used throughout the theme.
+ */
+require get_template_directory() . '/inc/structure/hooks.php';
+require get_template_directory() . '/inc/structure/post.php';
+require get_template_directory() . '/inc/structure/page.php';
+require get_template_directory() . '/inc/structure/header.php';
+require get_template_directory() . '/inc/structure/footer.php';
+require get_template_directory() . '/inc/structure/comments.php';
+require get_template_directory() . '/inc/structure/template-tags.php';
+
+/**
+ * Custom functions that act independently of the theme templates.
+ */
+require get_template_directory() . '/inc/functions/extras.php';
+
+/**
+ * Customizer additions.
+ */
+require get_template_directory() . '/inc/customizer/customizer-repeater/functions.php';
+require get_template_directory() . '/inc/customizer/customizer.php';
+require get_template_directory() . '/inc/customizer/functions.php';
+
+/**
+ * Load Jetpack compatibility file.
+ */
+require get_template_directory() . '/inc/jetpack/jetpack.php';
+
+/**
+ * Load WooCommerce compatibility files.
+ */
+if ( is_woocommerce_activated() ) {
+       require get_template_directory() . '/inc/woocommerce/hooks.php';
+       require get_template_directory() . '/inc/woocommerce/functions.php';
+       require get_template_directory() . '/inc/woocommerce/template-tags.php';
+       require get_template_directory() . '/inc/woocommerce/integrations.php';
+}
+
+/**
+ * Checkout page
+ * Move the coupon fild and message info after the order table
+ **/
+function shop_isle_coupon_after_order_table_js() {
+       wc_enqueue_js(
+               '
+               $( $( ".woocommerce-info, .checkout_coupon" ).detach() ).appendTo( "#shop-isle-checkout-coupon" );
+       '
+       );
+}
+add_action( 'woocommerce_before_checkout_form', 'shop_isle_coupon_after_order_table_js' );
+
+/**
+ * Add coupon after order table.
+ */
+function shop_isle_coupon_after_order_table() {
+       echo '<div id="shop-isle-checkout-coupon"></div><div style="clear:both"></div>';
+}
+add_action( 'woocommerce_checkout_order_review', 'shop_isle_coupon_after_order_table' );
+
+
+// Ensure cart contents update when products are added to the cart via AJAX )
+add_filter( 'woocommerce_add_to_cart_fragments', 'shop_isle_woocommerce_header_add_to_cart_fragment' );
+
+/**
+ * Add to cart to header.
+ *
+ * @param string $fragments The fragments.
+ *
+ * @return mixed
+ */
+function shop_isle_woocommerce_header_add_to_cart_fragment( $fragments ) {
+       ob_start();
+       ?>
+
+               <a href="<?php echo esc_url( WC()->cart->get_cart_url() ); ?>" title="<?php esc_html_e( 'View your shopping cart','shop-isle' ); ?>" class="cart-contents">
+                       <span class="icon-basket"></span>
+                       <span class="cart-item-number"><?php echo esc_html( trim( WC()->cart->get_cart_contents_count() ) ); ?></span>
+               </a>
+
+       <?php
+
+       $fragments['a.cart-contents'] = ob_get_clean();
+
+       return $fragments;
+}
+
+/**
+ * Migrate section order.
+ */
+function shop_isle_migrate() {
+       $old_order = get_theme_mod( 'shop_isle_sections_control' );
+       $sections_order = get_theme_mod( 'sections_order' );
+
+       if ( empty( $sections_order ) ) {
+               if ( ! empty( $old_order ) ) {
+                       $new_order = array();
+                       $old_order = json_decode( $old_order, 'true' );
+                       foreach ( $old_order as $key => $iterator ) {
+                               $iterator = reset( $iterator );
+
+                               /* Update control display */
+                               $hide_control_name = str_replace( 'section', 'hide', $iterator['section_id'] );
+                               set_theme_mod( $hide_control_name, ! (bool) $iterator['show'] );
+
+                               /* Create json for new sections order */
+                               if ( $iterator['section_id'] !== 'shop_isle_slider_section' ) {
+                                       $new_order[ $iterator['section_id'] ] = ($key + 2) * 5;
+                               }
+                       }
+
+                       set_theme_mod( 'sections_order',json_encode( $new_order ) );
+               }
+       }
+       update_option( 'shop_isle_section_order_migrate', 'yes' );
+}
+
+$migrate = get_option( 'shop_isle_section_order_migrate', 'no' );
+if ( isset( $migrate ) && 'no' == $migrate ) {
+       add_action( 'wp_footer', 'shop_isle_migrate' );
+}
+
+
+
+
+
+
diff --git a/templates/shop-isle/inc/jetpack/jetpack.php b/templates/shop-isle/inc/jetpack/jetpack.php
new file mode 100644 (file)
index 0000000..270aec0
--- /dev/null
@@ -0,0 +1,22 @@
+<?php
+/**
+ * Jetpack Compatibility File
+ * See: http://jetpack.me/
+ *
+ * @package WordPress
+ * @subpackage Shop Isle
+ */
+
+/**
+ * Add theme support for Infinite Scroll.
+ * See: http://jetpack.me/support/infinite-scroll/
+ */
+function shop_isle_jetpack_setup() {
+       add_theme_support(
+               'infinite-scroll', array(
+                       'container' => 'shop-isle-blog-container',
+                       'footer'    => 'page',
+               )
+       );
+}
+add_action( 'after_setup_theme', 'shop_isle_jetpack_setup' );
diff --git a/templates/shop-isle/inc/page-builder-extras.php b/templates/shop-isle/inc/page-builder-extras.php
new file mode 100644 (file)
index 0000000..fb94768
--- /dev/null
@@ -0,0 +1,78 @@
+<?php
+/**
+ * Extras functions for page builders
+ *
+ * @package Shop Isle
+ * @author Themeisle
+ */
+
+/**
+ * Header for page builder blank template
+ */
+function shop_isle_no_content_get_header() {
+       ?>
+       <!DOCTYPE html>
+       <html <?php language_attributes(); ?> <?php shop_isle_html_tag_schema(); ?>>
+       <head>
+               <meta charset="<?php bloginfo( 'charset' ); ?>">
+               <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
+               <link rel="profile" href="http://gmpg.org/xfn/11">
+               <?php wp_head(); ?>
+       </head>
+
+       <body <?php body_class(); ?>>
+       <?php
+       do_action( 'shop_isle_page_builder_content_body_before' );
+}
+
+/**
+ * Footer for page builder blank template
+ */
+function shop_isle_no_content_get_footer() {
+       do_action( 'shop_isle_page_builder_content_body_after' );
+       wp_footer();
+       ?>
+       </body>
+       </html>
+       <?php
+}
+
+/**
+ * Add header and footer support for beaver.
+ *
+ * @access public
+ */
+function shop_isle_header_footer_render() {
+       if ( ! class_exists( 'FLThemeBuilderLayoutData' ) ) {
+               return;
+       }
+       // Get the header ID.
+       $header_ids = FLThemeBuilderLayoutData::get_current_page_header_ids();
+       // If we have a header, remove the theme header and hook in Theme Builder's.
+       if ( ! empty( $header_ids ) ) {
+               remove_action( 'shop_isle_header', 'shop_isle_primary_navigation', 50 );
+               add_action( 'shop_isle_header', 'FLThemeBuilderLayoutRenderer::render_header', 50 );
+       }
+       // Get the footer ID.
+       $footer_ids = FLThemeBuilderLayoutData::get_current_page_footer_ids();
+       // If we have a footer, remove the theme footer and hook in Theme Builder's.
+       if ( ! empty( $footer_ids ) ) {
+               remove_action( 'shop_isle_footer', 'shop_isle_footer_wrap_open',                    5 );
+               remove_action( 'shop_isle_footer', 'shop_isle_footer_widgets',                      10 );
+               remove_action( 'shop_isle_footer', 'shop_isle_footer_copyright_and_socials',        20 );
+               remove_action( 'shop_isle_footer', 'shop_isle_footer_wrap_close',                   30 );
+
+               add_action( 'shop_isle_footer', 'FLThemeBuilderLayoutRenderer::render_footer' );
+       }
+}
+add_action( 'wp', 'shop_isle_header_footer_render' );
+/**
+ * Add theme support for header and footer.
+ *
+ * @access public
+ */
+function shop_isle_header_footer_support() {
+       add_theme_support( 'fl-theme-builder-headers' );
+       add_theme_support( 'fl-theme-builder-footers' );
+}
+add_action( 'after_setup_theme', 'shop_isle_header_footer_support' );
diff --git a/templates/shop-isle/inc/sections/shop_isle_banners_section.php b/templates/shop-isle/inc/sections/shop_isle_banners_section.php
new file mode 100644 (file)
index 0000000..26f9d69
--- /dev/null
@@ -0,0 +1,102 @@
+<?php
+/**
+ * The Banners Section
+ *
+ * @package WordPress
+ * @subpackage Shop Isle
+ */
+
+               /* BANNERS */
+
+
+               $shop_isle_banners_hide = get_theme_mod( 'shop_isle_banners_hide' );
+               $shop_isle_banners_title = get_theme_mod( 'shop_isle_banners_title' );
+
+if ( isset( $shop_isle_banners_hide ) && $shop_isle_banners_hide != 1 ) :
+       echo '<section class="module-small home-banners">';
+               elseif ( is_customize_preview() ) :
+                       echo '<section class="module-small home-banners shop_isle_hidden_if_not_customizer">';
+               endif;
+
+               if ( ( isset( $shop_isle_banners_hide ) && $shop_isle_banners_hide != 1) || is_customize_preview() ) :
+
+                       $shop_isle_banners = get_theme_mod(
+                               'shop_isle_banners', json_encode(
+                                       array(
+                                               array(
+                                                       'image_url' => get_template_directory_uri() . '/assets/images/banner1.jpg',
+                                                       'link' => '#',
+                                               ),
+                                               array(
+                                                       'image_url' => get_template_directory_uri() . '/assets/images/banner2.jpg',
+                                                       'link' => '#',
+                                               ),
+                                               array(
+                                                       'image_url' => get_template_directory_uri() . '/assets/images/banner3.jpg',
+                                                       'link' => '#',
+                                               ),
+                                       )
+                               )
+                       );
+
+                       if ( ! empty( $shop_isle_banners ) ) :
+
+                               $shop_isle_banners_decoded = json_decode( $shop_isle_banners );
+
+                               if ( ! empty( $shop_isle_banners_decoded ) ) :
+
+                                       echo '<div class="container">';
+
+                                       if ( ! empty( $shop_isle_banners_title ) ) {
+                                               echo '<div class="row">';
+                                               echo '<div class="col-sm-6 col-sm-offset-3">';
+                                               echo '<h2 class="module-title font-alt product-banners-title">' . $shop_isle_banners_title . '</h2>';
+                                               echo '</div>';
+                                               echo '</div>';
+
+                                       } elseif ( is_customize_preview() ) {
+                                               echo '<div class="row">';
+                                               echo '<div class="col-sm-6 col-sm-offset-3">';
+                                               echo '<h2 class="module-title font-alt product-banners-title shop_isle_hidden_if_not_customizer"></h2>';
+                                               echo '</div>';
+                                               echo '</div>';
+                                       }
+
+                                               echo '<div class="row shop_isle_bannerss_section">';
+
+                                       foreach ( $shop_isle_banners_decoded as $shop_isle_banner ) :
+
+                                               $image_url = ! empty( $shop_isle_banner->image_url ) ? apply_filters( 'shop_isle_translate_single_string', $shop_isle_banner->image_url, 'Banners section' ) : '';
+                                               $link = ! empty( $shop_isle_banner->link ) ? apply_filters( 'shop_isle_translate_single_string', $shop_isle_banner->link, 'Banners section' ) : '';
+
+                                               if ( ! empty( $image_url ) ) {
+
+                                                       $shop_isle_alt_image = '';
+                                                       $image_id = function_exists( 'attachment_url_to_postid' ) ? attachment_url_to_postid( $image_url ) : '';
+                                                       if ( ! empty( $image_id ) && $image_id !== 0 ) {
+                                                               $shop_isle_alt_image = 'alt="' . esc_attr( get_post_meta( $image_id, '_wp_attachment_image_alt', true ) ) . '"';
+                                                       }
+
+                                                       echo '<div class="col-sm-4"><div class="content-box mt-0 mb-0"><div class="content-box-image">';
+
+                                                       if ( ! empty( $link ) ) {
+                                                               echo '<a href="' . esc_url( $link ) . '"><img src="' . esc_url( $image_url ) . '" ' . $shop_isle_alt_image . '></a>';
+                                                       } else {
+                                                               echo '<a><img src="' . esc_url( $image_url ) . '"></a>';
+                                                       }
+                                                       echo '</div></div></div>';
+
+                                               }
+                                               endforeach;
+
+                                               echo '</div>';
+
+                                       echo '</div>';
+                               endif;
+
+                       endif;
+                       echo '</section>';
+
+                       echo '<hr class="divider-w">';
+
+endif;  /* END BANNERS */
diff --git a/templates/shop-isle/inc/sections/shop_isle_big_title_section.php b/templates/shop-isle/inc/sections/shop_isle_big_title_section.php
new file mode 100644 (file)
index 0000000..2e55b96
--- /dev/null
@@ -0,0 +1,66 @@
+<?php
+/**
+ * Big title section
+ *
+ * @package ShopIsle
+ * @since 1.0.0
+ */
+
+$shop_isle_homepage_slider_shortcode = get_theme_mod( 'shop_isle_homepage_slider_shortcode' );
+$shop_isle_big_title_hide = get_theme_mod( 'shop_isle_big_title_hide' );
+
+if ( isset( $shop_isle_big_title_hide ) && $shop_isle_big_title_hide != 1 ) {
+       echo '<section id="home" class="home-section home-parallax home-fade' . ( empty( $shop_isle_homepage_slider_shortcode ) ? ' home-full-height' : ' home-slider-plugin' ) . '">';
+} elseif ( is_customize_preview() ) {
+       echo '<section id="home" class="home-section home-parallax home-fade shop_isle_hidden_if_not_customizer' . ( empty( $shop_isle_homepage_slider_shortcode ) ? ' home-full-height' : ' home-slider-plugin' ) . '">';
+}
+
+if ( ( isset( $shop_isle_big_title_hide ) && $shop_isle_big_title_hide != 1 ) || is_customize_preview() ) {
+
+       if ( ! empty( $shop_isle_homepage_slider_shortcode ) ) {
+               echo do_shortcode( $shop_isle_homepage_slider_shortcode );
+       } else {
+
+               $shop_isle_big_title_image        = get_theme_mod( 'shop_isle_big_title_image', get_template_directory_uri() . '/assets/images/slide1.jpg' );
+               $shop_isle_big_title_title        = get_theme_mod( 'shop_isle_big_title_title', 'Shop Isle' );
+               $shop_isle_big_title_subtitle     = get_theme_mod( 'shop_isle_big_title_subtitle', __( 'WooCommerce Theme', 'shop-isle' ) );
+               $shop_isle_big_title_button_label = get_theme_mod( 'shop_isle_big_title_button_label', __( 'Read more', 'shop-isle' ) );
+               $shop_isle_big_title_button_link  = get_theme_mod( 'shop_isle_big_title_button_link', __( '#', 'shop-isle' ) );
+
+               if ( ! empty( $shop_isle_big_title_image ) ) {
+
+                       echo '<div class="hero-slider">';
+
+                       echo '<ul class="slides">';
+
+                       echo '<li class="bg-dark" style="background-image:url(' . esc_url( $shop_isle_big_title_image ) . ')">';
+
+                       echo '<div class="home-slider-overlay"></div>';
+                       echo '<div class="hs-caption">';
+                       echo '<div class="caption-content">';
+
+                       if ( ! empty( $shop_isle_big_title_title ) ) {
+                               echo '<div class="hs-title-size-4 font-alt mb-30">' . $shop_isle_big_title_title . '</div>';
+                       }
+
+                       if ( ! empty( $shop_isle_big_title_subtitle ) ) {
+                               echo '<div class="hs-title-size-1 font-alt mb-40">' . $shop_isle_big_title_subtitle . '</div>';
+                       }
+
+                       if ( ! empty( $shop_isle_big_title_button_label ) && ! empty( $shop_isle_big_title_button_link ) ) {
+                               echo '<a href="' . esc_url( $shop_isle_big_title_button_link ) . '" class="section-scroll btn btn-border-w btn-round">' . $shop_isle_big_title_button_label . '</a>';
+                       }
+                       echo '</div><!-- .caption-content -->';
+                       echo '</div><!-- .hs-caption -->';
+
+                       echo '</li><!-- .bg-dark -->';
+
+                       echo '</ul><!-- .slides -->';
+
+                       echo '</div><!-- .hero-slider -->';
+
+               }
+       }// End if().
+}// End if().
+
+echo '</section >';
diff --git a/templates/shop-isle/inc/sections/shop_isle_products_section.php b/templates/shop-isle/inc/sections/shop_isle_products_section.php
new file mode 100644 (file)
index 0000000..83ad777
--- /dev/null
@@ -0,0 +1,353 @@
+<?php
+/**
+ * Front page Latest Products Section
+ *
+ * @package WordPress
+ * @subpackage Shop Isle
+ */
+
+$shop_isle_products_hide = get_theme_mod( 'shop_isle_products_hide', false );
+if ( ! empty( $shop_isle_products_hide ) && (bool) $shop_isle_products_hide === true ) {
+       return;
+}
+
+/* Latest products */
+
+echo '<section id="latest" class="module-small">';
+
+echo '<div class="container">';
+
+if ( current_user_can( 'edit_theme_options' ) ) {
+       $shop_isle_products_title = get_theme_mod( 'shop_isle_products_title', __( 'Latest products', 'shop-isle' ) );
+} else {
+       $shop_isle_products_title = get_theme_mod( 'shop_isle_products_title' );
+}
+
+if ( ! empty( $shop_isle_products_title ) ) :
+       echo '<div class="row">';
+       echo '<div class="col-sm-6 col-sm-offset-3">';
+       echo '<h2 class="module-title font-alt product-hide-title">' . $shop_isle_products_title . '</h2>';
+       echo '</div>';
+       echo '</div>';
+endif;
+
+$shop_isle_products_shortcode = get_theme_mod( 'shop_isle_products_shortcode' );
+$shop_isle_products_category  = get_theme_mod( 'shop_isle_products_category' );
+
+
+$tax_query_item  = array();
+$meta_query_item = array();
+if ( taxonomy_exists( 'product_visibility' ) ) {
+       $tax_query_item = array(
+               array(
+                       'taxonomy' => 'product_visibility',
+                       'field'    => 'term_id',
+                       'terms'    => 'exclude-from-catalog',
+                       'operator' => 'NOT IN',
+
+               ),
+       );
+} else {
+       $meta_query_item = array(
+               'key'     => '_visibility',
+               'value'   => 'hidden',
+               'compare' => '!=',
+       );
+
+}
+
+$shop_isle_latest_args = array(
+       'post_type'      => 'product',
+       'posts_per_page' => 8,
+       'orderby'        => 'date',
+       'order'          => 'DESC',
+);
+
+if ( ! empty( $shop_isle_products_category ) && $shop_isle_products_category != '-' ) {
+       $shop_isle_latest_args['tax_query'] = array(
+               array(
+                       'taxonomy' => 'product_cat',
+                       'field'    => 'term_id',
+                       'terms'    => $shop_isle_products_category,
+               ),
+       );
+}
+
+if ( ! empty( $tax_query_item ) ) {
+       $shop_isle_latest_args['tax_query']['relation'] = 'AND';
+       $shop_isle_latest_args['tax_query']             = array_merge( $shop_isle_latest_args['tax_query'], $tax_query_item );
+}
+
+if ( ! empty( $meta_query_item ) ) {
+       $shop_isle_latest_args['meta_query'] = $meta_query_item;
+}
+
+
+/* Woocommerce shortcode */
+if ( isset( $shop_isle_products_shortcode ) && ! empty( $shop_isle_products_shortcode ) ) :
+       echo '<div class="products_shortcode">';
+       echo do_shortcode( $shop_isle_products_shortcode );
+       echo '</div>';
+
+       /* Products from category */
+elseif ( isset( $shop_isle_products_category ) && ! empty( $shop_isle_products_category ) && ( $shop_isle_products_category != '-' ) ) :
+
+       $shop_isle_latest_loop = new WP_Query( $shop_isle_latest_args );
+       if ( $shop_isle_latest_loop->have_posts() ) :
+
+               echo '<div class="row multi-columns-row">';
+
+               while ( $shop_isle_latest_loop->have_posts() ) :
+
+                       $shop_isle_latest_loop->the_post();
+                       global $product;
+                       echo '<div class="col-sm-6 col-md-3 col-lg-3">';
+                       echo '<div class="shop-item">';
+                       echo '<div class="shop-item-image">';
+
+                       $shop_isle_gallery_attachment_ids = false;
+                       if ( function_exists( 'method_exists' ) && method_exists( $product, 'get_gallery_image_ids' ) ) {
+                               $shop_isle_gallery_attachment_ids = $product->get_gallery_image_ids();
+                       } elseif ( function_exists( 'method_exists' ) && method_exists( $product, 'get_gallery_attachment_ids' ) ) {
+                               $shop_isle_gallery_attachment_ids = $product->get_gallery_attachment_ids();
+                       }
+
+                       if ( has_post_thumbnail( $shop_isle_latest_loop->post->ID ) ) :
+                               echo get_the_post_thumbnail( $shop_isle_latest_loop->post->ID, 'shop_catalog' );
+
+                               if ( $shop_isle_gallery_attachment_ids ) :
+                                       echo wp_get_attachment_image( $shop_isle_gallery_attachment_ids[0], 'shop_catalog' );
+                               endif;
+
+                       elseif ( $shop_isle_gallery_attachment_ids ) :
+
+                               if ( $shop_isle_gallery_attachment_ids[0] ) :
+                                       echo wp_get_attachment_image( $shop_isle_gallery_attachment_ids[0], 'shop_catalog' );
+                               endif;
+
+                               if ( $shop_isle_gallery_attachment_ids[1] ) :
+                                       echo wp_get_attachment_image( $shop_isle_gallery_attachment_ids[1], 'shop_catalog' );
+                               endif;
+
+                       else :
+                               if ( function_exists( 'wc_placeholder_img_src' ) ) :
+                                       echo '<img src="' . esc_url( wc_placeholder_img_src() ) . '" alt="Placeholder" width="65px" height="115px" />';
+                               endif;
+                       endif;
+
+                       echo '<div class="shop-item-detail">';
+                       if ( ! empty( $product ) ) :
+                               echo do_shortcode( '[add_to_cart id="' . $shop_isle_latest_loop->post->ID . '"]' );
+                               if ( function_exists( 'wccm_add_button' ) ) {
+                                       wccm_add_button();
+                               }
+                               if ( defined( 'YITH_WCQV' ) ) {
+
+                                       echo '<a href="#" class="button yith-wcqv-button" data-product_id="' . esc_attr( get_the_ID() ) . '">' . __( 'Quick View', 'shop-isle' ) . '</a>';
+
+                               }
+                       endif;
+                       echo '</div>';
+                       echo '</div>';
+                       echo '<h4 class="shop-item-title font-alt"><a href="' . esc_url( get_permalink() ) . '">' . get_the_title() . '</a></h4>';
+                       $rating_html = '';
+                       if ( function_exists( 'method_exists' ) && ( function_exists( 'wc_get_rating_html' ) ) && method_exists( $product, 'get_average_rating' ) ) {
+                               $shop_isle_avg = $product->get_average_rating();
+                               if ( ! empty( $shop_isle_avg ) ) {
+                                       $rating_html = wc_get_rating_html( $shop_isle_avg );
+                               }
+                       } elseif ( function_exists( 'method_exists' ) && method_exists( $product, 'get_rating_html' ) && method_exists( $product, 'get_average_rating' ) ) {
+                               $shop_isle_avg = $product->get_average_rating();
+                               if ( ! empty( $shop_isle_avg ) ) {
+                                       $rating_html = $product->get_rating_html( $shop_isle_avg );
+                               }
+                       }
+                       if ( ! empty( $rating_html ) && get_option( 'woocommerce_enable_review_rating' ) === 'yes' ) {
+                               echo '<div class="product-rating-home">' . $rating_html . '</div>';
+                       }
+                       if ( function_exists( 'method_exists' ) && method_exists( $product, 'is_on_sale' ) ) {
+                               if ( $product->is_on_sale() ) {
+                                       if ( function_exists( 'woocommerce_show_product_sale_flash' ) ) {
+                                               woocommerce_show_product_sale_flash();
+                                       }
+                               }
+                       }
+                       if ( function_exists( 'method_exists' ) && method_exists( $product, 'managing_stock' ) && method_exists( $product, 'is_in_stock' ) ) {
+                               if ( ! $product->managing_stock() && ! $product->is_in_stock() ) {
+                                       echo '<span class="onsale stock out-of-stock">' . esc_html__( 'Out of Stock', 'shop-isle' ) . '</span>';
+                               }
+                       }
+                       $shop_isle_price = '';
+                       if ( function_exists( 'method_exists' ) && method_exists( $product, 'get_price_html' ) ) {
+                               $shop_isle_price = $product->get_price_html();
+                       }
+                       if ( ! empty( $shop_isle_price ) ) {
+                               echo wp_kses_post( $shop_isle_price );
+                       }
+                       echo '</div>';
+                       echo '</div>';
+
+               endwhile;
+
+               echo '</div>';
+
+               echo '<div class="row mt-30">';
+               echo '<div class="col-sm-12 align-center">';
+               if ( function_exists( 'wc_get_page_id' ) ) {
+                       echo '<a href="' . esc_url( get_permalink( wc_get_page_id( 'shop' ) ) ) . '" class="btn btn-b btn-round">' . apply_filters( 'shop_isle_see_all_products_label', __( 'See all products', 'shop-isle' ) ) . '</a>';
+               } elseif ( function_exists( 'woocommerce_get_page_id' ) ) {
+                       echo '<a href="' . esc_url( get_permalink( woocommerce_get_page_id( 'shop' ) ) ) . '" class="btn btn-b btn-round">' . apply_filters( 'shop_isle_see_all_products_label', __( 'See all products', 'shop-isle' ) ) . '</a>';
+               }
+               echo '</div>';
+               echo '</div>';
+
+       else :
+
+               echo '<div class="row">';
+               echo '<div class="col-sm-6 col-sm-offset-3">';
+               echo '<p class="">' . __( 'No products found.', 'shop-isle' ) . '</p>';
+               echo '</div>';
+               echo '</div>';
+
+       endif;
+
+       wp_reset_postdata();
+
+       /* Latest products */
+else :
+
+       $shop_isle_latest_loop = new WP_Query( $shop_isle_latest_args );
+
+       if ( $shop_isle_latest_loop->have_posts() ) :
+
+               echo '<div class="row multi-columns-row">';
+
+               while ( $shop_isle_latest_loop->have_posts() ) :
+
+                       $shop_isle_latest_loop->the_post();
+                       global $product;
+
+                       echo '<div class="col-sm-6 col-md-3 col-lg-3">';
+                       echo '<div class="shop-item">';
+                       echo '<div class="shop-item-image">';
+
+                       $shop_isle_gallery_attachment_ids = false;
+                       if ( function_exists( 'method_exists' ) && method_exists( $product, 'get_gallery_image_ids' ) ) {
+                               $shop_isle_gallery_attachment_ids = $product->get_gallery_image_ids();
+                       } elseif ( function_exists( 'method_exists' ) && method_exists( $product, 'get_gallery_attachment_ids' ) ) {
+                               $shop_isle_gallery_attachment_ids = $product->get_gallery_attachment_ids();
+                       }
+
+                       if ( has_post_thumbnail( $shop_isle_latest_loop->post->ID ) ) :
+                               echo get_the_post_thumbnail( $shop_isle_latest_loop->post->ID, 'shop_catalog' );
+
+                               if ( $shop_isle_gallery_attachment_ids ) :
+                                       echo wp_get_attachment_image( $shop_isle_gallery_attachment_ids[0], 'shop_catalog' );
+                               endif;
+
+                       elseif ( $shop_isle_gallery_attachment_ids ) :
+
+                               if ( $shop_isle_gallery_attachment_ids[0] ) :
+                                       echo wp_get_attachment_image( $shop_isle_gallery_attachment_ids[0], 'shop_catalog' );
+                               endif;
+
+                               if ( $shop_isle_gallery_attachment_ids[1] ) :
+                                       echo wp_get_attachment_image( $shop_isle_gallery_attachment_ids[1], 'shop_catalog' );
+                               endif;
+
+                       else :
+                               if ( function_exists( 'wc_placeholder_img_src' ) ) :
+                                       echo '<img src="' . esc_url( wc_placeholder_img_src() ) . '" alt="Placeholder" width="65px" height="115px" />';
+                               endif;
+                       endif;
+
+                       echo '<div class="shop-item-detail">';
+                       if ( ! empty( $product ) ) :
+                               echo do_shortcode( '[add_to_cart id="' . $shop_isle_latest_loop->post->ID . '"]' );
+                               if ( function_exists( 'wccm_add_button' ) ) {
+                                       wccm_add_button();
+                               }
+                               if ( defined( 'YITH_WCQV' ) ) {
+                                       $label = esc_html( get_option( 'yith-wcqv-button-label' ) );
+                                       echo '<a class="button yith-wcqv-button" data-product_id="' . esc_attr( get_the_ID() ) . '">';
+                                       if ( ! empty( $label ) ) {
+                                               echo $label;
+                                       } else {
+                                               echo __( 'Quick View', 'shop-isle' );
+                                       }
+                                       echo '</a>';
+                               }
+                       endif;
+                       echo '</div>';
+                       echo '</div>';
+                       echo '<h4 class="shop-item-title font-alt"><a href="' . esc_url( get_permalink() ) . '">' . get_the_title() . '</a></h4>';
+                       $rating_html = '';
+                       if ( function_exists( 'method_exists' ) && ( function_exists( 'wc_get_rating_html' ) ) && method_exists( $product, 'get_average_rating' ) ) {
+                               $shop_isle_avg = $product->get_average_rating();
+                               if ( ! empty( $shop_isle_avg ) ) {
+                                       $rating_html = wc_get_rating_html( $shop_isle_avg );
+                               }
+                       } elseif ( function_exists( 'method_exists' ) && method_exists( $product, 'get_rating_html' ) && method_exists( $product, 'get_average_rating' ) ) {
+                               $shop_isle_avg = $product->get_average_rating();
+                               if ( ! empty( $shop_isle_avg ) ) {
+                                       $rating_html = $product->get_rating_html( $shop_isle_avg );
+                               }
+                       }
+                       if ( ! empty( $rating_html ) && get_option( 'woocommerce_enable_review_rating' ) === 'yes' ) {
+                               echo '<div class="product-rating-home">' . $rating_html . '</div>';
+                       }
+                       if ( function_exists( 'method_exists' ) && method_exists( $product, 'is_on_sale' ) ) {
+                               if ( $product->is_on_sale() ) {
+                                       if ( function_exists( 'woocommerce_show_product_sale_flash' ) ) {
+                                               woocommerce_show_product_sale_flash();
+                                       }
+                               }
+                       }
+                       if ( function_exists( 'method_exists' ) && method_exists( $product, 'managing_stock' ) && method_exists( $product, 'is_in_stock' ) ) {
+                               if ( ! $product->managing_stock() && ! $product->is_in_stock() ) {
+                                       echo '<span class="onsale stock out-of-stock">' . esc_html__( 'Out of Stock', 'shop-isle' ) . '</span>';
+                               }
+                       }
+                       $shop_isle_price = '';
+                       if ( function_exists( 'method_exists' ) && method_exists( $product, 'get_price_html' ) ) {
+                               $shop_isle_price = $product->get_price_html();
+                       }
+                       if ( ! empty( $shop_isle_price ) ) {
+                               echo wp_kses_post( $shop_isle_price );
+                       }
+                       echo '</div>';
+                       echo '</div>';
+
+               endwhile;
+
+               echo '</div>';
+
+               echo '<div class="row mt-30">';
+               echo '<div class="col-sm-12 align-center">';
+               if ( function_exists( 'wc_get_page_id' ) ) {
+                       echo '<a href="' . esc_url( get_permalink( wc_get_page_id( 'shop' ) ) ) . '" class="btn btn-b btn-round">' . apply_filters( 'shop_isle_see_all_products_label', __( 'See all products', 'shop-isle' ) ) . '</a>';
+               } elseif ( function_exists( 'woocommerce_get_page_id' ) ) {
+                       echo '<a href="' . esc_url( get_permalink( woocommerce_get_page_id( 'shop' ) ) ) . '" class="btn btn-b btn-round">' . apply_filters( 'shop_isle_see_all_products_label', __( 'See all products', 'shop-isle' ) ) . '</a>';
+               }
+               echo '</div>';
+               echo '</div>';
+
+       elseif ( current_user_can( 'edit_theme_options' ) ) :
+               echo '<div class="row">';
+               echo '<div class="col-sm-6 col-sm-offset-3">';
+               echo '<p class="">' . __( 'For this section to work, you first need to install the WooCommerce plugin , create some products, and insert a WooCommerce shortocode or select a product category in Customize -> Frontpage sections -> Products section', 'shop-isle' ) . '</p>';
+               echo '</div>';
+               echo '</div>';
+       endif;
+
+       wp_reset_postdata();
+
+endif;
+
+echo '</div><!-- .container -->';
+
+echo '</section>';
+
+
+
+
diff --git a/templates/shop-isle/inc/sections/shop_isle_products_slider_section.php b/templates/shop-isle/inc/sections/shop_isle_products_slider_section.php
new file mode 100644 (file)
index 0000000..12a90d6
--- /dev/null
@@ -0,0 +1,249 @@
+<?php
+/**
+ * Front page Product Slider Section
+ *
+ * @package WordPress
+ * @subpackage Shop Isle
+ */
+
+$shop_isle_products_slider_hide = get_theme_mod( 'shop_isle_products_slider_hide', false );
+if ( ! empty( $shop_isle_products_slider_hide ) && (bool) $shop_isle_products_slider_hide === true ) {
+       return;
+}
+
+echo '<section class="home-product-slider">';
+
+
+echo '<div class="container">';
+
+
+if ( current_user_can( 'edit_theme_options' ) ) {
+       $shop_isle_products_slider_title = get_theme_mod( 'shop_isle_products_slider_title', __( 'Exclusive products', 'shop-isle' ) );
+       if ( ! class_exists( 'WC_Product' ) ) {
+               $shop_isle_products_slider_subtitle = get_theme_mod( 'shop_isle_products_slider_subtitle', __( 'For this section to work, you first need to install the WooCommerce plugin , create some products, and select a product category in Customize -> Frontpage sections -> Products slider section', 'shop-isle' ) );
+       } else {
+               $shop_isle_products_slider_subtitle = get_theme_mod( 'shop_isle_products_slider_subtitle' );
+       }
+} else {
+       $shop_isle_products_slider_title    = get_theme_mod( 'shop_isle_products_slider_title' );
+       $shop_isle_products_slider_subtitle = get_theme_mod( 'shop_isle_products_slider_subtitle' );
+}
+
+
+if ( ! empty( $shop_isle_products_slider_title ) || ! empty( $shop_isle_products_slider_subtitle ) ) :
+       echo '<div class="row">';
+       echo '<div class="col-sm-6 col-sm-offset-3">';
+       if ( ! empty( $shop_isle_products_slider_title ) ) :
+               echo '<h2 class="module-title font-alt home-prod-title">' . $shop_isle_products_slider_title . '</h2>';
+       endif;
+       if ( ! empty( $shop_isle_products_slider_subtitle ) ) :
+               echo '<div class="module-subtitle font-serif home-prod-subtitle">' . $shop_isle_products_slider_subtitle . '</div>';
+       endif;
+       echo '</div>';
+       echo '</div><!-- .row -->';
+endif;
+
+$shop_isle_products_slider_category = get_theme_mod( 'shop_isle_products_slider_category' );
+
+
+$tax_query_item  = array();
+$meta_query_item = array();
+
+if ( taxonomy_exists( 'product_visibility' ) ) {
+       $tax_query_item = array(
+               array(
+                       'taxonomy' => 'product_visibility',
+                       'field'    => 'term_id',
+                       'terms'    => 'exclude-from-catalog',
+                       'operator' => 'NOT IN',
+               ),
+       );
+} else {
+       $meta_query_item = array(
+               'key'     => '_visibility',
+               'value'   => 'hidden',
+               'compare' => '!=',
+       );
+}
+
+$shop_isle_products_slider_args = array(
+       'post_type'      => 'product',
+       'posts_per_page' => 10,
+);
+
+if ( ! empty( $shop_isle_products_slider_category ) && ( $shop_isle_products_slider_category != '-' ) ) {
+       $shop_isle_products_slider_args['tax_query'] = array(
+               array(
+                       'taxonomy' => 'product_cat',
+                       'field'    => 'term_id',
+                       'terms'    => $shop_isle_products_slider_category,
+               ),
+       );
+}
+
+if ( ! empty( $tax_query_item ) ) {
+       $shop_isle_products_slider_args['tax_query']['relation'] = 'AND';
+       $shop_isle_products_slider_args['tax_query']             = array_merge( $shop_isle_products_slider_args['tax_query'], $tax_query_item );
+}
+
+if ( ! empty( $meta_query_item ) ) {
+       $shop_isle_products_slider_args['meta_query'] = $meta_query_item;
+}
+
+
+
+if ( ! empty( $shop_isle_products_slider_category ) && ( $shop_isle_products_slider_category != '-' ) ) :
+
+       $shop_isle_products_slider_loop = new WP_Query( $shop_isle_products_slider_args );
+
+       if ( $shop_isle_products_slider_loop->have_posts() ) :
+
+               $rtl_slider = apply_filters( 'shop_isle_products_slider_section_rtl', 'false' );
+               $number_of_items = apply_filters( 'shop_isle_products_slider_section_items', 5 );
+               $pagination = apply_filters( 'shop_isle_products_slider_section_pagination', 'false' );
+               $navigation = apply_filters( 'shop_isle_products_slider_section_navigation', 'false' );
+
+               echo '<div class="row">';
+
+               echo '<div class="owl-carousel text-center" data-items="' . esc_attr( $number_of_items ) . '" data-pagination="' . esc_attr( $pagination ) . '" data-navigation="' . esc_attr( $navigation ) . '" data-rtl="' . esc_attr( $rtl_slider ) . '" >';
+
+               while ( $shop_isle_products_slider_loop->have_posts() ) :
+
+                       $shop_isle_products_slider_loop->the_post();
+                       global $product;
+                       echo '<div class="owl-item">';
+                       echo '<div class="col-sm-12">';
+                       echo '<div class="ex-product">';
+                       if ( function_exists( 'woocommerce_get_product_thumbnail' ) ) :
+                               echo '<a href="' . esc_url( get_permalink() ) . '">' . woocommerce_get_product_thumbnail() . '</a>';
+                       endif;
+                       echo '<h4 class="shop-item-title font-alt"><a href="' . esc_url( get_permalink() ) . '">' . get_the_title() . '</a></h4>';
+                       $rating_html = '';
+                       if ( function_exists( 'method_exists' ) && ( function_exists( 'wc_get_rating_html' ) ) && method_exists( $product, 'get_average_rating' ) ) {
+                               $shop_isle_avg = $product->get_average_rating();
+                               if ( ! empty( $shop_isle_avg ) ) {
+                                       $rating_html = wc_get_rating_html( $shop_isle_avg );
+                               }
+                       } elseif ( function_exists( 'method_exists' ) && method_exists( $product, 'get_rating_html' ) && method_exists( $product, 'get_average_rating' ) ) {
+                               $shop_isle_avg = $product->get_average_rating();
+                               if ( ! empty( $shop_isle_avg ) ) {
+                                       $rating_html = $product->get_rating_html( $shop_isle_avg );
+                               }
+                       }
+                       if ( ! empty( $rating_html ) && get_option( 'woocommerce_enable_review_rating' ) === 'yes' ) {
+                               echo '<div class="product-rating-home">' . $rating_html . '</div>';
+                       }
+                       if ( function_exists( 'method_exists' ) && method_exists( $product, 'is_on_sale' ) ) {
+                               if ( $product->is_on_sale() ) {
+                                       if ( function_exists( 'woocommerce_show_product_sale_flash' ) ) {
+                                               woocommerce_show_product_sale_flash();
+                                       }
+                               }
+                       }
+                       if ( function_exists( 'method_exists' ) && method_exists( $product, 'managing_stock' ) && method_exists( $product, 'is_in_stock' ) ) {
+                               if ( ! $product->managing_stock() && ! $product->is_in_stock() ) {
+                                       echo '<span class="onsale stock out-of-stock">' . esc_html__( 'Out of Stock', 'shop-isle' ) . '</span>';
+                               }
+                       }
+                       $shop_isle_price = '';
+                       if ( function_exists( 'method_exists' ) && method_exists( $product, 'get_price_html' ) ) {
+                               $shop_isle_price = $product->get_price_html();
+                       }
+                       if ( ! empty( $shop_isle_price ) ) {
+                               echo wp_kses_post( $shop_isle_price );
+                       }
+                       echo '</div>';
+                       echo '</div>';
+                       echo '</div>';
+
+               endwhile;
+
+               wp_reset_postdata();
+               echo '</div>';
+
+               echo '</div>';
+
+       endif;
+
+else :
+
+       $shop_isle_products_slider_loop = new WP_Query( $shop_isle_products_slider_args );
+
+       if ( $shop_isle_products_slider_loop->have_posts() ) :
+
+               $rtl_slider = apply_filters( 'shop_isle_products_slider_section_rtl', 'false' );
+               $number_of_items = apply_filters( 'shop_isle_products_slider_section_items', 5 );
+               $pagination = apply_filters( 'shop_isle_products_slider_section_pagination', 'false' );
+               $navigation = apply_filters( 'shop_isle_products_slider_section_navigation', 'false' );
+               echo '<div class="row">';
+
+               echo '<div class="owl-carousel text-center" data-items="' . esc_attr( $number_of_items ) . '" data-pagination="' . esc_attr( $pagination ) . '" data-navigation="' . esc_attr( $navigation ) . '" data-rtl="' . esc_attr( $rtl_slider ) . '">';
+
+               while ( $shop_isle_products_slider_loop->have_posts() ) :
+
+                       $shop_isle_products_slider_loop->the_post();
+                       global $product;
+                       echo '<div class="owl-item">';
+                       echo '<div class="col-sm-12">';
+                       echo '<div class="ex-product">';
+                       if ( function_exists( 'woocommerce_get_product_thumbnail' ) ) :
+                               echo '<a href="' . esc_url( get_permalink() ) . '">' . woocommerce_get_product_thumbnail() . '</a>';
+                       endif;
+                       echo '<h4 class="shop-item-title font-alt"><a href="' . esc_url( get_permalink() ) . '">' . get_the_title() . '</a></h4>';
+
+                       $rating_html = '';
+                       if ( function_exists( 'method_exists' ) && ( function_exists( 'wc_get_rating_html' ) ) && method_exists( $product, 'get_average_rating' ) ) {
+                               $shop_isle_avg = $product->get_average_rating();
+                               if ( ! empty( $shop_isle_avg ) ) {
+                                       $rating_html = wc_get_rating_html( $shop_isle_avg );
+                               }
+                       } elseif ( function_exists( 'method_exists' ) && method_exists( $product, 'get_rating_html' ) && method_exists( $product, 'get_average_rating' ) ) {
+                               $shop_isle_avg = $product->get_average_rating();
+                               if ( ! empty( $shop_isle_avg ) ) {
+                                       $rating_html = $product->get_rating_html( $shop_isle_avg );
+                               }
+                       }
+                       if ( ! empty( $rating_html ) && get_option( 'woocommerce_enable_review_rating' ) === 'yes' ) {
+                               echo '<div class="product-rating-home">' . $rating_html . '</div>';
+                       }
+                       if ( function_exists( 'method_exists' ) && method_exists( $product, 'is_on_sale' ) ) {
+                               if ( $product->is_on_sale() ) {
+                                       if ( function_exists( 'woocommerce_show_product_sale_flash' ) ) {
+                                               woocommerce_show_product_sale_flash();
+                                       }
+                               }
+                       }
+                       if ( function_exists( 'method_exists' ) && method_exists( $product, 'managing_stock' ) && method_exists( $product, 'is_in_stock' ) ) {
+                               if ( ! $product->managing_stock() && ! $product->is_in_stock() ) {
+                                       echo '<span class="onsale stock out-of-stock">' . esc_html__( 'Out of Stock', 'shop-isle' ) . '</span>';
+                               }
+                       }
+                       $shop_isle_price = '';
+                       if ( function_exists( 'method_exists' ) && method_exists( $product, 'get_price_html' ) ) {
+                               $shop_isle_price = $product->get_price_html();
+                       }
+                       if ( ! empty( $shop_isle_price ) ) {
+                               echo wp_kses_post( $shop_isle_price );
+                       }
+                       echo '</div>';
+                       echo '</div>';
+                       echo '</div>';
+
+               endwhile;
+
+               wp_reset_postdata();
+               echo '</div>';
+
+               echo '</div>';
+
+       endif;
+
+endif;
+
+echo '</div>';
+
+echo '</section>';
+
+
+
+
diff --git a/templates/shop-isle/inc/sections/shop_isle_slider_section.php b/templates/shop-isle/inc/sections/shop_isle_slider_section.php
new file mode 100644 (file)
index 0000000..26abfbd
--- /dev/null
@@ -0,0 +1,104 @@
+<?php
+/**
+ * Front page Slider Section
+ *
+ * @package WordPress
+ * @subpackage Shop Isle
+ */
+
+$shop_isle_slider_hide = get_theme_mod( 'shop_isle_slider_hide', false );
+if ( ! empty( $shop_isle_slider_hide ) && (bool) $shop_isle_slider_hide === true ) {
+       return;
+}
+$shop_isle_homepage_slider_shortcode = get_theme_mod( 'shop_isle_homepage_slider_shortcode' );
+
+echo '<section id="home" class="home-section home-parallax home-fade ' . ( empty( $shop_isle_homepage_slider_shortcode ) ? ' home-full-height' : ' home-slider-plugin' ) . '">';
+
+if ( ! empty( $shop_isle_homepage_slider_shortcode ) ) {
+       echo do_shortcode( $shop_isle_homepage_slider_shortcode );
+} else {
+
+       $shop_isle_slider = get_theme_mod(
+               'shop_isle_slider', json_encode(
+                       array(
+                               array(
+                                       'image_url' => get_template_directory_uri() . '/assets/images/slide1.jpg',
+                                       'link'      => '#',
+                                       'text'      => __( 'Shop Isle', 'shop-isle' ),
+                                       'subtext'   => __( 'WooCommerce Theme', 'shop-isle' ),
+                                       'label'     => __( 'Read more', 'shop-isle' ),
+                               ),
+                               array(
+                                       'image_url' => get_template_directory_uri() . '/assets/images/slide2.jpg',
+                                       'link'      => '#',
+                                       'text'      => __( 'Shop Isle', 'shop-isle' ),
+                                       'subtext'   => __( 'WooCommerce Theme', 'shop-isle' ),
+                                       'label'     => __( 'Read more', 'shop-isle' ),
+                               ),
+                               array(
+                                       'image_url' => get_template_directory_uri() . '/assets/images/slide3.jpg',
+                                       'link'      => '#',
+                                       'text'      => __( 'Shop Isle', 'shop-isle' ),
+                                       'subtext'   => __( 'WooCommerce Theme', 'shop-isle' ),
+                                       'label'     => __( 'Read more', 'shop-isle' ),
+                               ),
+                       )
+               )
+       );
+
+       if ( ! empty( $shop_isle_slider ) ) {
+
+               $shop_isle_slider_decoded = json_decode( $shop_isle_slider );
+
+               if ( ! empty( $shop_isle_slider_decoded ) ) {
+
+                       echo '<div class="hero-slider">';
+
+                       echo '<ul class="slides">';
+
+                       foreach ( $shop_isle_slider_decoded as $shop_isle_slide ) {
+
+                               $image_url = ! empty( $shop_isle_slide->image_url ) ? apply_filters( 'shop_isle_translate_single_string', $shop_isle_slide->image_url, 'Slider section' ) : '';
+                               $text = ! empty( $shop_isle_slide->text ) ? apply_filters( 'shop_isle_translate_single_string', $shop_isle_slide->text, 'Slider section' ) : '';
+                               $subtext = ! empty( $shop_isle_slide->subtext ) ? apply_filters( 'shop_isle_translate_single_string', $shop_isle_slide->subtext, 'Slider section' ) : '';
+                               $link = ! empty( $shop_isle_slide->link ) ? apply_filters( 'shop_isle_translate_single_string', $shop_isle_slide->link, 'Slider section' ) : '';
+                               $label = ! empty( $shop_isle_slide->label ) ? apply_filters( 'shop_isle_translate_single_string', $shop_isle_slide->label, 'Slider section' ) : '';
+
+
+                               if ( ! empty( $image_url ) ) {
+
+                                       echo '<li class="bg-dark-30 bg-dark" style="background-image:url(' . esc_url( $image_url ) . ')">';
+                                       echo '<div class="hs-caption">';
+                                       echo '<div class="caption-content">';
+
+                                       if ( ! empty( $text ) ) {
+                                               echo '<div class="hs-title-size-4 font-alt mb-30">' . wp_kses_post( $text ) . '</div>';
+                                       }
+
+                                       if ( ! empty( $subtext ) ) {
+                                               echo '<div class="hs-title-size-1 font-alt mb-40">' . wp_kses_post( $subtext ) . '</div>';
+                                       }
+
+                                       if ( ! empty( $link ) && ! empty( $label ) ) {
+                                               echo '<a href="' . esc_url( $link ) . '" class="section-scroll btn btn-border-w btn-round">' . wp_kses_post( $label ) . '</a>';
+                                       }
+
+                                       echo '</div>';
+                                       echo '</div>';
+                                       echo '</li>';
+
+                               }// End if().
+                       }// End foreach().
+
+                       echo '</ul>';
+
+                       echo '</div>';
+
+               }// End if().
+       }// End if().
+}// End if().
+
+echo '</section >';
+
+
+
diff --git a/templates/shop-isle/inc/sections/shop_isle_video_section.php b/templates/shop-isle/inc/sections/shop_isle_video_section.php
new file mode 100644 (file)
index 0000000..e0dad93
--- /dev/null
@@ -0,0 +1,67 @@
+<?php
+/**
+ * Front page Video Section
+ *
+ * @package WordPress
+ * @subpackage Shop Isle
+ */
+
+$shop_isle_video_hide = get_theme_mod( 'shop_isle_video_hide', false );
+if ( ! empty( $shop_isle_video_hide ) && (bool) $shop_isle_video_hide === true ) {
+       return;
+}
+$shop_isle_yt_link      = get_theme_mod( 'shop_isle_yt_link' );
+$shop_isle_yt_thumbnail = get_theme_mod( 'shop_isle_yt_thumbnail' );
+
+if ( empty( $shop_isle_yt_thumbnail ) ) {
+       $shop_isle_do_video_thumbnail = preg_match( '/\/\/(www\.)?(youtu|youtube)\.(com|be)\/(watch|embed)?\/?(\?v=)?([a-zA-Z0-9\-\_]+)/', $shop_isle_yt_link, $shop_isle_youtube_matches );
+       $shop_isle_youtube_id         = ! empty( $shop_isle_youtube_matches ) ? $shop_isle_youtube_matches[6] : '';
+       $shop_isle_yt_thumbnail       = 'https://img.youtube.com/vi/' . $shop_isle_youtube_id . '/maxresdefault.jpg';
+}
+
+if ( isset( $shop_isle_video_hide ) && $shop_isle_video_hide != 1 && ! empty( $shop_isle_yt_link ) ) :
+       echo '<section class="module module-video bg-dark-30">';
+elseif ( ! empty( $shop_isle_yt_link ) && is_customize_preview() ) :
+       echo '<section class="module module-video bg-dark-30 shop_isle_hidden_if_not_customizer">';
+endif;
+
+if ( ( isset( $shop_isle_video_hide ) && $shop_isle_video_hide != 1 && ! empty( $shop_isle_yt_link ) ) || ( ! empty( $shop_isle_yt_link ) && is_customize_preview() ) ) :
+
+       echo '<div class="module-video-thumbnail"' . ( ! empty( $shop_isle_yt_thumbnail ) ? ' style="background-image: url(' . $shop_isle_yt_thumbnail . ')' : '' ) . '"></div>';
+
+
+       $shop_isle_video_title = get_theme_mod( 'shop_isle_video_title' );
+
+       echo '<div>';
+
+       if ( ! empty( $shop_isle_video_title ) ) {
+
+               echo '<div class="container">';
+                       echo '<div class="row">';
+                               echo '<div class="col-sm-12">';
+                                       echo '<h2 class="module-title font-alt mb-0 video-title">' . $shop_isle_video_title . '</h2>';
+                               echo '</div>';
+                       echo '</div>';
+               echo '</div>';
+       } elseif ( is_customize_preview() ) {
+               echo '<div class="container">';
+                       echo '<div class="row">';
+                               echo '<div class="col-sm-12">';
+                                       echo '<h2 class="module-title font-alt mb-0 video-title shop_isle_hidden_if_not_customizer"></h2>';
+                               echo '</div>';
+                       echo '</div>';
+               echo '</div>';
+       }
+
+       ?>
+       <!-- Youtube player start-->
+       <div class="video-player"
+                data-property="{videoURL:'<?php echo $shop_isle_yt_link; ?>', containment:'.module-video', startAt:0, mute:true, autoPlay:true, loop:true, opacity:1, showControls:false, showYTLogo:false, vol:25}"></div>
+       <!-- Youtube player end -->
+       <?php
+       echo '</div>';
+endif;
+echo '</section>';
+
+
+?>
diff --git a/templates/shop-isle/inc/structure/comments.php b/templates/shop-isle/inc/structure/comments.php
new file mode 100644 (file)
index 0000000..6bca6db
--- /dev/null
@@ -0,0 +1,86 @@
+<?php
+/**
+ * Template functions used for the site comments.
+ *
+ * @package WordPress
+ * @subpackage Shop Isle
+ */
+
+if ( ! function_exists( 'shop_isle_display_comments' ) ) {
+       /**
+        * Display comments
+        *
+        * @since  1.0.0
+        */
+       function shop_isle_display_comments() {
+               // If comments are open or we have at least one comment, load up the comment template
+               if ( comments_open() || '0' != get_comments_number() ) :
+                       comments_template();
+               endif;
+       }
+}
+
+if ( ! function_exists( 'shop_isle_comment' ) ) {
+       /**
+        * Comment template
+        *
+        * @since 1.0.0
+        */
+       function shop_isle_comment( $comment, $args, $depth ) {
+               if ( 'div' == $args['style'] ) {
+                       $tag = 'div';
+                       $add_below = 'comment';
+               } else {
+                       $tag = 'li';
+                       $add_below = 'div-comment';
+               }
+               ?>
+               <<?php echo esc_attr( $tag ); ?> <?php comment_class( empty( $args['has_children'] ) ? '' : 'parent' ); ?> id="comment-<?php comment_ID(); ?>">
+               <div class="comment-body">
+                       <div class="comment-meta commentmetadata">
+                               <div class="comment-author vcard">
+                                       <?php
+                                       echo get_avatar( $comment, 128 );
+                                       /* translators: s: Comment author link */
+                                       printf( __( '<cite class="fn">%s</cite>', 'shop-isle' ), get_comment_author_link() );
+                                       ?>
+                               </div>
+                               <?php if ( '0' == $comment->comment_approved ) : ?>
+                                       <em class="comment-awaiting-moderation"><?php _e( 'Your comment is awaiting moderation.', 'shop-isle' ); ?></em>
+                                       <br />
+                               <?php endif; ?>
+                       </div>
+                       <?php if ( 'div' != $args['style'] ) : ?>
+                               <div id="div-comment-<?php comment_ID(); ?>" class="comment-content">
+                       <?php endif; ?>
+
+                       <?php comment_text(); ?>
+
+                       <div class="comments-bottom-wrap">
+                               <a href="<?php echo esc_url( htmlspecialchars( get_comment_link( $comment->comment_ID ) ) ); ?>" class="comment-date">
+                                       <?php echo '<time>' . get_comment_date() . '</time>'; ?>
+                               </a>
+                               <div class="reply">
+                                        &nbsp; - &nbsp;
+                                       <?php
+                                       comment_reply_link(
+                                               array_merge(
+                                                       $args, array(
+                                                               'add_below' => $add_below,
+                                                               'depth' => $depth,
+                                                               'max_depth' => $args['max_depth'],
+                                                       )
+                                               )
+                                       );
+                                               ?>
+                                       <?php edit_comment_link( __( 'Edit', 'shop-isle' ), '  ', '' ); ?>
+                               </div>
+                       </div>
+
+               </div>
+               <?php if ( 'div' != $args['style'] ) : ?>
+                       </div>
+               <?php endif; ?>
+       <?php
+       }
+}// End if().
diff --git a/templates/shop-isle/inc/structure/footer.php b/templates/shop-isle/inc/structure/footer.php
new file mode 100644 (file)
index 0000000..a9932df
--- /dev/null
@@ -0,0 +1,163 @@
+<?php
+/**
+ * Template functions used for the site footer.
+ *
+ * @package WordPress
+ * @subpackage Shop Isle
+ */
+
+if ( ! function_exists( 'shop_isle_footer_widgets' ) ) {
+       /**
+        * Display the footer widgets
+        *
+        * @since  1.0.0
+        * @return void
+        */
+       function shop_isle_footer_widgets() {
+               ?>
+               <!-- Widgets start -->
+
+       <?php if ( is_active_sidebar( 'sidebar-footer-area-1' ) || is_active_sidebar( 'sidebar-footer-area-2' ) || is_active_sidebar( 'sidebar-footer-area-3' ) || is_active_sidebar( 'sidebar-footer-area-4' ) ) : ?>
+
+               <div class="module-small bg-dark shop_isle_footer_sidebar">
+                       <div class="container">
+                               <div class="row">
+
+                                       <?php if ( is_active_sidebar( 'sidebar-footer-area-1' ) ) : ?>
+                                               <div class="col-sm-6 col-md-3 footer-sidebar-wrap">
+                                                       <?php dynamic_sidebar( 'sidebar-footer-area-1' ); ?>
+                                               </div>
+                                       <?php endif; ?>
+                                       <!-- Widgets end -->
+
+                                       <?php if ( is_active_sidebar( 'sidebar-footer-area-2' ) ) : ?>
+                                               <div class="col-sm-6 col-md-3 footer-sidebar-wrap">
+                                                       <?php dynamic_sidebar( 'sidebar-footer-area-2' ); ?>
+                                               </div>
+                                       <?php endif; ?>
+                                       <!-- Widgets end -->
+
+                                       <?php if ( is_active_sidebar( 'sidebar-footer-area-3' ) ) : ?>
+                                               <div class="col-sm-6 col-md-3 footer-sidebar-wrap">
+                                                       <?php dynamic_sidebar( 'sidebar-footer-area-3' ); ?>
+                                               </div>
+                                       <?php endif; ?>
+                                       <!-- Widgets end -->
+
+
+                                       <?php if ( is_active_sidebar( 'sidebar-footer-area-4' ) ) : ?>
+                                               <div class="col-sm-6 col-md-3 footer-sidebar-wrap">
+                                                       <?php dynamic_sidebar( 'sidebar-footer-area-4' ); ?>
+                                               </div>
+                                       <?php endif; ?>
+                                       <!-- Widgets end -->
+
+                               </div><!-- .row -->
+                       </div>
+               </div>
+
+       <?php endif; ?>
+
+               <?php
+       }
+}// End if().
+
+if ( ! function_exists( 'shop_isle_footer_copyright_and_socials' ) ) {
+       /**
+        * Display the theme copyright and socials
+        *
+        * @since  1.0.0
+        * @return void
+        */
+       function shop_isle_footer_copyright_and_socials() {
+
+               ?>
+               <!-- Footer start -->
+               <footer class="footer bg-dark">
+                       <!-- Divider -->
+                       <hr class="divider-d">
+                       <!-- Divider -->
+                       <div class="container">
+
+                               <div class="row">
+
+                                       <?php
+                                       /* Copyright */
+                                       $shop_isle_copyright = apply_filters( 'shop_isle_footer_copyright_filter', get_theme_mod( 'shop_isle_copyright' ) );
+                                       echo '<div class="col-sm-6">';
+                                       if ( ! empty( $shop_isle_copyright ) ) :
+                                               echo '<p class="copyright font-alt">' . $shop_isle_copyright . '</p>';
+                                               endif;
+
+                                               $shop_isle_site_info_hide = apply_filters( 'shop_isle_footer_socials_filter', get_theme_mod( 'shop_isle_site_info_hide' ) );
+                                       if ( isset( $shop_isle_site_info_hide ) && $shop_isle_site_info_hide != 1 ) {
+                                               echo apply_filters( 'shop_isle_site_info','<p class="shop-isle-poweredby-box"><a class="shop-isle-poweredby" href="http://themeisle.com/themes/shop-isle/" rel="nofollow">ShopIsle </a>' . __( 'powered by','shop-isle' ) . '<a class="shop-isle-poweredby" href="http://wordpress.org/" rel="nofollow"> WordPress</a></p>' );
+                                       }
+                                       echo '</div>';
+
+                                       /* Socials icons */
+
+                                       $shop_isle_socials = get_theme_mod( 'shop_isle_socials' );
+
+                                       if ( ! empty( $shop_isle_socials ) ) :
+
+                                               $shop_isle_socials_decoded = json_decode( $shop_isle_socials );
+
+                                               if ( ! empty( $shop_isle_socials_decoded ) ) :
+
+                                                       echo '<div class="col-sm-6">';
+
+                                                               echo '<div class="footer-social-links">';
+
+                                                       foreach ( $shop_isle_socials_decoded as $shop_isle_social ) :
+
+                                                               $icon_value = ! empty( $shop_isle_social->icon_value ) ? apply_filters( 'shop_isle_translate_single_string', $shop_isle_social->icon_value, 'Footer socials' ) : '';
+                                                               $link = ! empty( $shop_isle_social->link ) ? apply_filters( 'shop_isle_translate_single_string', $shop_isle_social->link, 'Footer socials' ) : '';
+
+                                                               if ( ! empty( $icon_value ) && ! empty( $link ) ) {
+                                                                       echo '<a href="' . esc_url( $link ) . '"><span class="' . esc_attr( $icon_value ) . '"></span></a>';
+                                                               }
+                                                                       endforeach;
+
+                                                               echo '</div>';
+
+                                                       echo '</div>';
+
+                                               endif;
+
+                                       endif;
+                                       ?>
+                               </div><!-- .row -->
+
+                       </div>
+               </footer>
+               <!-- Footer end -->
+               <?php
+       }
+}// End if().
+
+
+if ( ! function_exists( 'shop_isle_footer_wrap_open' ) ) {
+       /**
+        * Display the theme copyright and socials
+        *
+        * @since  1.0.0
+        * @return void
+        */
+       function shop_isle_footer_wrap_open() {
+               echo '</div><div class="bottom-page-wrap">';
+       }
+}
+
+
+if ( ! function_exists( 'shop_isle_footer_wrap_close' ) ) {
+       /**
+        * Display the theme copyright and socials
+        *
+        * @since  1.0.0
+        * @return void
+        */
+       function shop_isle_footer_wrap_close() {
+               echo '</div><!-- .bottom-page-wrap -->';
+       }
+}
diff --git a/templates/shop-isle/inc/structure/header.php b/templates/shop-isle/inc/structure/header.php
new file mode 100644 (file)
index 0000000..587349d
--- /dev/null
@@ -0,0 +1,107 @@
+<?php
+/**
+ * Template functions used for the site header.
+ *
+ * @package shop-isle
+ */
+
+if ( ! function_exists( 'shop_isle_primary_navigation' ) ) {
+       /**
+        * Display Primary Navigation
+        *
+        * @since  1.0.0
+        * @return void
+        */
+       function shop_isle_primary_navigation() {
+
+               ?>
+               <!-- Navigation start -->
+               <nav class="navbar navbar-custom navbar-transparent navbar-fixed-top" role="navigation">
+
+                       <div class="container">
+                               <div class="header-container">
+
+                                       <div class="navbar-header">
+                                               <?php
+
+                                                       $shop_isle_logo = get_theme_mod( 'shop_isle_logo' );
+                                                       echo '<div class="shop_isle_header_title"><div class="shop-isle-header-title-inner">';
+                                               if ( ! empty( $shop_isle_logo ) ) :
+                                                       echo '<a href="' . esc_url( home_url( '/' ) ) . '" class="logo-image"><img src="' . esc_url( $shop_isle_logo ) . '"></a>';
+                                                       if ( is_customize_preview() ) :
+                                                               echo '<h1 class="site-title shop_isle_hidden_if_not_customizer""><a href="' . esc_url( home_url( '/' ) ) . '" title="' . esc_attr( get_bloginfo( 'name', 'display' ) ) . '" rel="home">' . get_bloginfo( 'name' ) . '</a></h1>';
+                                                               echo '<h2 class="site-description shop_isle_hidden_if_not_customizer"><a href="' . esc_url( home_url( '/' ) ) . '" title="' . esc_attr( get_bloginfo( 'name', 'display' ) ) . '" rel="home">' . get_bloginfo( 'description' ) . '</a></h2>';
+                                                               endif;
+                                                       else :
+                                                               if ( is_customize_preview() ) :
+                                                                       echo '
+                                                                                       <a href="' . esc_url( home_url( '/' ) ) . '" class="logo-image shop_isle_hidden_if_not_customizer">
+                                                                                               <img src="">
+                                                                                       </a>
+                                                                               ';
+                                                               endif;
+                                                               echo '<h1 class="site-title"><a href="' . esc_url( home_url( '/' ) ) . '" title="' . esc_attr( get_bloginfo( 'name', 'display' ) ) . '" rel="home">' . get_bloginfo( 'name' ) . '</a></h1>';
+                                                               echo '<h2 class="site-description"><a href="' . esc_url( home_url( '/' ) ) . '" title="' . esc_attr( get_bloginfo( 'name', 'display' ) ) . '" rel="home">' . get_bloginfo( 'description' ) . '</a></h2>';
+                                                       endif;
+                                                       echo '</div></div>';
+                                               ?>
+
+                                               <div type="button" class="navbar-toggle" data-toggle="collapse" data-target="#custom-collapse">
+                                                       <span class="sr-only"><?php _e( 'Toggle navigation','shop-isle' ); ?></span>
+                                                       <span class="icon-bar"></span>
+                                                       <span class="icon-bar"></span>
+                                                       <span class="icon-bar"></span>
+                                               </div>
+                                       </div>
+
+                                       <div class="header-menu-wrap">
+                                               <div class="collapse navbar-collapse" id="custom-collapse">
+
+                                                       <?php
+                                                       wp_nav_menu(
+                                                               array(
+                                                                       'theme_location' => 'primary',
+                                                                       'container' => false,
+                                                                       'menu_class' => 'nav navbar-nav navbar-right',
+                                                               )
+                                                       );
+                                                               ?>
+
+                                               </div>
+                                       </div>
+
+                                       <?php if ( class_exists( 'WooCommerce' ) ) : ?>
+                                               <div class="navbar-cart">
+
+                                                       <div class="header-search">
+                                                               <div class="glyphicon glyphicon-search header-search-button"></div>
+                                                               <div class="header-search-input">
+                                                                       <form role="search" method="get" class="woocommerce-product-search" action="<?php echo esc_url( home_url( '/' ) ); ?>">
+                                                                               <input type="search" class="search-field" placeholder="<?php echo esc_attr_x( 'Search Products&hellip;', 'placeholder', 'shop-isle' ); ?>" value="<?php echo get_search_query(); ?>" name="s" title="<?php echo esc_attr_x( 'Search for:', 'label', 'shop-isle' ); ?>" />
+                                                                               <input type="submit" value="<?php echo esc_attr_x( 'Search', 'submit button', 'shop-isle' ); ?>" />
+                                                                               <input type="hidden" name="post_type" value="product" />
+                                                                       </form>
+                                                               </div>
+                                                       </div>
+
+                                                       <?php if ( function_exists( 'WC' ) ) : ?>
+                                                               <div class="navbar-cart-inner">
+                                                                       <a href="<?php echo esc_url( WC()->cart->get_cart_url() ); ?>" title="<?php esc_attr_e( 'View your shopping cart','shop-isle' ); ?>" class="cart-contents">
+                                                                               <span class="icon-basket"></span>
+                                                                               <span class="cart-item-number"><?php echo esc_html( trim( WC()->cart->get_cart_contents_count() ) ); ?></span>
+                                                                       </a>
+                                                                       <?php apply_filters( 'shop_isle_cart_icon', '' ); ?>
+                                                               </div>
+                                                       <?php endif; ?>
+
+                                               </div>
+                                       <?php endif; ?>
+
+                               </div>
+                       </div>
+
+               </nav>
+               <!-- Navigation end -->
+               <?php
+       }
+}// End if().
diff --git a/templates/shop-isle/inc/structure/hooks.php b/templates/shop-isle/inc/structure/hooks.php
new file mode 100644 (file)
index 0000000..c1cc558
--- /dev/null
@@ -0,0 +1,157 @@
+<?php
+/**
+ * Shop Isle Hooks
+ *
+ * @package WordPress
+ * @subpackage Shop Isle
+ */
+
+/**
+ * General
+ *
+ * @see  shop_isle_setup()
+ * @see  shop_isle_widgets_init()
+ * @see  shop_isle_scripts()
+ * @see  shop_isle_get_sidebar()
+ */
+add_action( 'after_setup_theme',                'shop_isle_setup' );
+add_action( 'widgets_init',                     'shop_isle_widgets_init' );
+add_action( 'wp_enqueue_scripts',               'shop_isle_scripts',                    10 );
+add_action( 'admin_enqueue_scripts',            'shop_isle_admin_styles',               10 );
+add_action( 'shop_isle_sidebar',                'shop_isle_get_sidebar',                10 );
+add_action( 'shop_isle_sidebar_shop_archive',   'shop_isle_get_sidebar_shop_archive',   10 );
+
+
+/**
+ * Header
+ *
+ * @see  shop_isle_primary_navigation()
+ */
+add_action( 'shop_isle_header', 'shop_isle_primary_navigation',     50 );
+
+/**
+ * Footer
+ *
+ * @see  shop_isle_footer_widgets()
+ * @see  shop_isle_footer_copyright_and_socials()
+ */
+add_action( 'shop_isle_footer', 'shop_isle_footer_wrap_open',                   5 );
+add_action( 'shop_isle_footer', 'shop_isle_footer_widgets',                     10 );
+add_action( 'shop_isle_footer', 'shop_isle_footer_copyright_and_socials',       20 );
+add_action( 'shop_isle_footer', 'shop_isle_footer_wrap_close',                  30 );
+
+/**
+ * Homepage
+ *
+ * @see  shop_isle_homepage_content()
+ * @see  shop_isle_product_categories()
+ * @see  shop_isle_recent_products()
+ * @see  shop_isle_featured_products()
+ * @see  shop_isle_popular_products()
+ * @see  shop_isle_on_sale_products()
+ */
+add_action( 'homepage', 'shop_isle_homepage_content',       10 );
+add_action( 'homepage', 'shop_isle_product_categories',     20 );
+add_action( 'homepage', 'shop_isle_recent_products',        30 );
+add_action( 'homepage', 'shop_isle_featured_products',      40 );
+add_action( 'homepage', 'shop_isle_popular_products',       50 );
+add_action( 'homepage', 'shop_isle_on_sale_products',       60 );
+
+/**
+ * Posts
+ *
+ * @see  shop_isle_post_header()
+ * @see  shop_isle_post_meta()
+ * @see  shop_isle_post_content()
+ * @see  shop_isle_paging_nav()
+ * @see  shop_isle_post_nav()
+ * @see  shop_isle_display_comments()
+ */
+add_action( 'shop_isle_loop_post',          'shop_isle_post_header',        10 );
+add_action( 'shop_isle_loop_post',          'shop_isle_post_meta',          20 );
+add_action( 'shop_isle_loop_post',          'shop_isle_post_content',       30 );
+add_action( 'shop_isle_loop_after',         'shop_isle_paging_nav',         10 );
+add_action( 'shop_isle_single_post',        'shop_isle_post_header',        10 );
+add_action( 'shop_isle_single_post',        'shop_isle_post_meta',          20 );
+add_action( 'shop_isle_single_post',        'shop_isle_post_content',       30 );
+add_action( 'shop_isle_single_post_after',  'shop_isle_post_nav',           10 );
+add_action( 'shop_isle_single_post_after',  'shop_isle_display_comments',   10 );
+
+/**
+ * Pages
+ *
+ * @see  shop_isle_page_content()
+ * @see  shop_isle_display_comments()
+ */
+add_action( 'shop_isle_page',           'shop_isle_page_content',       20 );
+add_action( 'shop_isle_page_after',     'shop_isle_display_comments',   10 );
+
+/**
+ * Extras
+ *
+ * @see  shop_isle_body_classes()
+ * @see  shop_isle_page_menu_args()
+ */
+add_filter( 'body_class',           'shop_isle_body_classes' );
+add_filter( 'wp_page_menu_args',    'shop_isle_page_menu_args' );
+
+/**
+ * Customize
+ *
+ * @see  shop_isle_customize_preview_js()
+ * @see  shop_isle_customize_register()
+ * @see  shop_isle_customizer_script()
+ */
+       add_action( 'customize_preview_init',               'shop_isle_customize_preview_js' );
+       add_action( 'customize_register',                   'shop_isle_customize_register' );
+       add_action( 'customize_controls_enqueue_scripts',   'shop_isle_customizer_script' );
+
+
+/**
+ * Shop page
+ */
+add_action( 'shop_isle_before_shop',        'shop_isle_woocommerce_breadcrumb',         10 );
+add_action( 'shop_isle_before_shop',        'woocommerce_catalog_ordering',             20 );
+
+
+/**
+ * Define image sizes
+ */
+function shop_isle_woocommerce_image_dimensions() {
+       global $pagenow;
+
+       if ( ! isset( $_GET['activated'] ) || $pagenow != 'themes.php' ) {
+               return;
+       }
+               $catalog = array(
+                       'width'     => '262',   // px
+               'height'    => '325',   // px
+               'crop'      => 1,
+               );
+       $single = array(
+               'width'     => '555',   // px
+               'height'    => '688',   // px
+               'crop'      => 1,
+       );
+       $thumbnail = array(
+               'width'     => '83',    // px
+               'height'    => '103',   // px
+               'crop'      => 1,
+       );
+       // Image sizes
+       update_option( 'shop_catalog_image_size', $catalog );       // Product category thumbs
+       update_option( 'shop_single_image_size', $single );         // Single product image
+       update_option( 'shop_thumbnail_image_size', $thumbnail );   // Image gallery thumbs
+}
+add_action( 'after_switch_theme', 'shop_isle_woocommerce_image_dimensions', 1 );
+
+/**
+ * Number of thumbnails per row in product galleries
+ *
+ * @return int
+ */
+function shop_isle_thumb_cols() {
+       return 6;
+}
+add_filter( 'woocommerce_product_thumbnails_columns', 'shop_isle_thumb_cols', 99 );
+
diff --git a/templates/shop-isle/inc/structure/page.php b/templates/shop-isle/inc/structure/page.php
new file mode 100644 (file)
index 0000000..025e91c
--- /dev/null
@@ -0,0 +1,30 @@
+<?php
+/**
+ * Template functions used for pages.
+ *
+ * @package WordPress
+ * @subpackage Shop Isle
+ */
+
+if ( ! function_exists( 'shop_isle_page_content' ) ) {
+       /**
+        * Display the post content with a link to the single post
+        *
+        * @since 1.0.0
+        */
+       function shop_isle_page_content() {
+               ?>
+               <div class="entry-content" itemprop="mainContentOfPage">
+                       <?php the_content(); ?>
+                       <?php
+                               wp_link_pages(
+                                       array(
+                                               'before' => '<div class="page-links">' . __( 'Pages:', 'shop-isle' ),
+                                               'after'  => '</div>',
+                                       )
+                               );
+                       ?>
+               </div><!-- .entry-content -->
+               <?php
+       }
+}
diff --git a/templates/shop-isle/inc/structure/post.php b/templates/shop-isle/inc/structure/post.php
new file mode 100644 (file)
index 0000000..67b9bfc
--- /dev/null
@@ -0,0 +1,173 @@
+<?php
+/**
+ * Template functions used for posts.
+ *
+ * @package WordPress
+ * @subpackage Shop Isle
+ */
+
+if ( ! function_exists( 'shop_isle_post_header' ) ) {
+       /**
+        * Display the post header with a link to the single post
+        *
+        * @since 1.0.0
+        */
+       function shop_isle_post_header() {
+       ?>
+               <div class="post-header font-alt">
+                       <h2 class="post-title">
+                               <a href="<?php echo esc_url( get_permalink() ); ?>" rel="bookmark"><?php the_title(); ?></a>
+                       </h2>
+               </div>
+
+               <?php
+       }
+}
+
+if ( ! function_exists( 'shop_isle_post_content' ) ) {
+       /**
+        * Display the post content with a link to the single post
+        *
+        * @since 1.0.0
+        */
+       function shop_isle_post_content() {
+               ?>
+               <div class="post-entry" itemprop="articleBody">
+               <?php
+               the_content(
+                       sprintf(
+                               /* translators: s: post title */
+                               __( 'Continue reading %s', 'shop-isle' ),
+                               '<span class="screen-reader-text">' . get_the_title() . '</span>'
+                       )
+               );
+
+               wp_link_pages(
+                       array(
+                               'before' => '<div class="page-links">' . __( 'Pages:', 'shop-isle' ),
+                               'after'  => '</div>',
+                       )
+               );
+               ?>
+               </div><!-- .entry-content -->
+
+               <?php
+                       $tags_list = get_the_tag_list( '', esc_html__( ', ', 'shop-isle' ) );
+               if ( $tags_list ) {
+                       printf(
+                               /* translators: s: post title */
+                               '<span class="tags-links">' . esc_html__( 'Tagged %1$s', 'shop-isle' ) . '</span>',
+                               $tags_list
+                       );
+               }
+               ?>
+
+               <?php
+       }
+} // End if().
+
+if ( ! function_exists( 'shop_isle_post_meta' ) ) {
+       /**
+        * Display the post meta
+        *
+        * @since 1.0.0
+        */
+       function shop_isle_post_meta() {
+       ?>
+               <div class="post-header font-alt">
+                       <div class="post-meta"><?php shop_isle_posted_on(); ?></div>
+               </div>
+       <?php
+       }
+}
+
+if ( ! function_exists( 'shop_isle_paging_nav' ) ) {
+       /**
+        * Display navigation to next/previous set of posts when applicable.
+        */
+       function shop_isle_paging_nav() {
+               echo '<div class="clear"></div>';
+               ?>
+               <nav class="navigation paging-navigation" role="navigation">
+                       <h1 class="screen-reader-text"><?php _e( 'Posts navigation', 'shop-isle' ); ?></h1>
+                       <div class="nav-links">
+                               <?php if ( get_next_posts_link() ) : ?>
+                                       <div class="nav-previous"><?php next_posts_link( __( '<span class="meta-nav">&larr;</span> Older posts', 'shop-isle' ) ); ?></div>
+                               <?php endif; ?>
+                               <?php if ( get_previous_posts_link() ) : ?>
+                                       <div class="nav-next"><?php previous_posts_link( __( 'Newer posts <span class="meta-nav">&rarr;</span>', 'shop-isle' ) ); ?></div>
+                               <?php endif; ?>
+                       </div><!-- .nav-links -->
+               </nav><!-- .navigation -->
+               <?php
+       }
+}
+
+if ( ! function_exists( 'shop_isle_post_nav' ) ) {
+       /**
+        * Display navigation to next/previous post when applicable.
+        */
+       function shop_isle_post_nav() {
+               $args = array(
+                       'next_text' => '%title &nbsp;<span class="meta-nav">&rarr;</span>',
+                       'prev_text' => '<span class="meta-nav">&larr;</span>&nbsp;%title',
+               );
+               the_post_navigation( $args );
+       }
+}
+
+if ( ! function_exists( 'shop_isle_posted_on' ) ) {
+       /**
+        * Prints HTML with meta information for the current post-date/time and author.
+        */
+       function shop_isle_posted_on() {
+               $shop_isle_post_author = get_the_author();
+
+               if ( ! empty( $shop_isle_post_author ) ) :
+                       echo __( 'By ','shop-isle' ) . '<a href="' . esc_url( get_author_posts_url( get_the_author_meta( 'ID' ) ) ) . '">' . esc_html( get_the_author() ) . '</a> | ';
+               endif;
+
+               $time_string = '<time class="entry-date published updated" datetime="%1$s" itemprop="datePublished">%2$s</time>';
+
+               $time_string = sprintf(
+                       $time_string,
+                       esc_attr( get_the_date( 'c' ) ),
+                       esc_html( get_the_date() ),
+                       esc_attr( get_the_modified_date( 'c' ) ),
+                       esc_html( get_the_modified_date() )
+               );
+
+               if ( ! empty( $time_string ) ) :
+                       echo '<a href="' . esc_url( get_day_link( get_post_time( 'Y' ), get_post_time( 'm' ), get_post_time( 'j' ) ) ) . '" rel="bookmark">' . $time_string . '</a> | ';
+               endif;
+
+               $shop_isle_num_comments = get_comments_number();
+
+               if ( $shop_isle_num_comments == 0 ) {
+                       $shop_isle_comments = __( 'No Comments', 'shop-isle' );
+               } elseif ( $shop_isle_num_comments > 1 ) {
+                       $shop_isle_comments = $shop_isle_num_comments . __( ' Comments','shop-isle' );
+               } else {
+                       $shop_isle_comments = __( '1 Comment','shop-isle' );
+               }
+               if ( ! empty( $shop_isle_comments ) ) :
+                       echo '<a href="' . esc_url( get_comments_link() ) . '">' . esc_html( $shop_isle_comments ) . '</a> | ';
+               endif;
+
+               $shop_isle_categories = get_the_category();
+               $separator = ', ';
+               $shop_isleoutput = '';
+               if ( $shop_isle_categories ) {
+                       foreach ( $shop_isle_categories as $shop_isle_category ) {
+                               $shop_isleoutput .= '<a href="' . esc_url( get_category_link( $shop_isle_category->term_id ) ) . '" title="' . esc_attr(
+                                       sprintf(
+                                               /* translators: s: category name */
+                                                __( 'View all posts in %s', 'shop-isle' ), $shop_isle_category->name
+                                       )
+                               ) . '">' . esc_html( $shop_isle_category->cat_name ) . '</a>' . $separator;
+                       }
+                       echo trim( $shop_isleoutput, $separator );
+               }
+
+       }
+}// End if().
diff --git a/templates/shop-isle/inc/structure/template-tags.php b/templates/shop-isle/inc/structure/template-tags.php
new file mode 100644 (file)
index 0000000..87d36da
--- /dev/null
@@ -0,0 +1,247 @@
+<?php
+/**
+ * Custom template tags for this theme.
+ *
+ * Eventually, some of the functionality here could be replaced by core features.
+ *
+ * @package shop-isle
+ */
+
+if ( ! function_exists( 'shop_isle_product_categories' ) ) {
+       /**
+        * Display Product Categories
+        * Hooked into the `homepage` action in the homepage template
+        *
+        * @since  1.0.0
+        * @return void
+        */
+       function shop_isle_product_categories( $args ) {
+
+               if ( is_woocommerce_activated() ) {
+
+                       $args = apply_filters(
+                               'shop_isle_product_categories_args', array(
+                                       'limit'             => 3,
+                                       'columns'           => 3,
+                                       'child_categories'  => 0,
+                                       'orderby'           => 'name',
+                                       'title'             => __( 'Product Categories', 'shop-isle' ),
+                               )
+                       );
+
+                       echo '<section class="shop-isle-product-section shop-isle-product-categories">';
+
+                       do_action( 'shop_isle_homepage_before_product_categories' );
+
+                       echo '<h2 class="section-title">' . esc_attr( $args['title'] ) . '</h2>';
+                       echo do_shortcode( '[product_categories number="' . intval( $args['limit'] ) . '" columns="' . intval( $args['columns'] ) . '" orderby="' . esc_attr( $args['orderby'] ) . '" parent="' . esc_attr( $args['child_categories'] ) . '"]' );
+
+                       do_action( 'shop_isle_homepage_after_product_categories' );
+
+                       echo '</section>';
+
+               }
+       }
+}
+
+if ( ! function_exists( 'shop_isle_recent_products' ) ) {
+       /**
+        * Display Recent Products
+        * Hooked into the `homepage` action in the homepage template
+        *
+        * @since  1.0.0
+        * @return void
+        */
+       function shop_isle_recent_products( $args ) {
+
+               if ( is_woocommerce_activated() ) {
+
+                       $args = apply_filters(
+                               'shop_isle_recent_products_args', array(
+                                       'limit'             => 4,
+                                       'columns'           => 4,
+                                       'title'             => __( 'Recent Products', 'shop-isle' ),
+                               )
+                       );
+
+                       echo '<section class="shop-isle-product-section shop-isle-recent-products">';
+
+                       do_action( 'shop_isle_homepage_before_recent_products' );
+
+                       echo '<h2 class="section-title">' . esc_attr( $args['title'] ) . '</h2>';
+                       echo do_shortcode( '[recent_products per_page="' . intval( $args['limit'] ) . '" columns="' . intval( $args['columns'] ) . '"]' );
+
+                       do_action( 'shop_isle_homepage_after_recent_products' );
+
+                       echo '</section>';
+
+               }
+       }
+}
+
+if ( ! function_exists( 'shop_isle_featured_products' ) ) {
+       /**
+        * Display Featured Products
+        * Hooked into the `homepage` action in the homepage template
+        *
+        * @since  1.0.0
+        * @return void
+        */
+       function shop_isle_featured_products( $args ) {
+
+               if ( is_woocommerce_activated() ) {
+
+                       $args = apply_filters(
+                               'shop_isle_featured_products_args', array(
+                                       'limit'             => 4,
+                                       'columns'           => 4,
+                                       'orderby'           => 'date',
+                                       'order'             => 'desc',
+                                       'title'             => __( 'Featured Products', 'shop-isle' ),
+                               )
+                       );
+
+                       echo '<section class="shop-isle-product-section shop-isle-featured-products">';
+
+                       do_action( 'shop_isle_homepage_before_featured_products' );
+
+                       echo '<h2 class="section-title">' . esc_attr( $args['title'] ) . '</h2>';
+                       echo do_shortcode( '[featured_products per_page="' . intval( $args['limit'] ) . '" columns="' . intval( $args['columns'] ) . '" orderby="' . esc_attr( $args['orderby'] ) . '" order="' . esc_attr( $args['order'] ) . '"]' );
+
+                       do_action( 'shop_isle_homepage_after_featured_products' );
+
+                       echo '</section>';
+
+               }
+       }
+}
+
+if ( ! function_exists( 'shop_isle_popular_products' ) ) {
+       /**
+        * Display Popular Products
+        * Hooked into the `homepage` action in the homepage template
+        *
+        * @since  1.0.0
+        * @return void
+        */
+       function shop_isle_popular_products( $args ) {
+
+               if ( is_woocommerce_activated() ) {
+
+                       $args = apply_filters(
+                               'shop_isle_popular_products_args', array(
+                                       'limit'             => 4,
+                                       'columns'           => 4,
+                                       'title'             => __( 'Top Rated Products', 'shop-isle' ),
+                               )
+                       );
+
+                       echo '<section class="shop-isle-product-section shop-isle-popular-products">';
+
+                       do_action( 'shop_isle_homepage_before_popular_products' );
+
+                       echo '<h2 class="section-title">' . esc_attr( $args['title'] ) . '</h2>';
+                       echo do_shortcode( '[top_rated_products per_page="' . intval( $args['limit'] ) . '" columns="' . intval( $args['columns'] ) . '"]' );
+
+                       do_action( 'shop_isle_homepage_after_popular_products' );
+
+                       echo '</section>';
+
+               }
+       }
+}
+
+if ( ! function_exists( 'shop_isle_on_sale_products' ) ) {
+       /**
+        * Display On Sale Products
+        * Hooked into the `homepage` action in the homepage template
+        *
+        * @since  1.0.0
+        * @return void
+        */
+       function shop_isle_on_sale_products( $args ) {
+
+               if ( is_woocommerce_activated() ) {
+
+                       $args = apply_filters(
+                               'shop_isle_on_sale_products_args', array(
+                                       'limit'             => 4,
+                                       'columns'           => 4,
+                                       'title'             => __( 'On Sale', 'shop-isle' ),
+                               )
+                       );
+
+                       echo '<section class="shop-isle-product-section shop-isle-on-sale-products">';
+
+                       do_action( 'shop_isle_homepage_before_on_sale_products' );
+
+                       echo '<h2 class="section-title">' . esc_attr( $args['title'] ) . '</h2>';
+                       echo do_shortcode( '[sale_products per_page="' . intval( $args['limit'] ) . '" columns="' . intval( $args['columns'] ) . '"]' );
+
+                       do_action( 'shop_isle_homepage_after_on_sale_products' );
+
+                       echo '</section>';
+
+               }
+       }
+}
+
+if ( ! function_exists( 'shop_isle_homepage_content' ) ) {
+       /**
+        * Display homepage content
+        * Hooked into the `homepage` action in the homepage template
+        *
+        * @since  1.0.0
+        * @return  void
+        */
+       function shop_isle_homepage_content() {
+               while ( have_posts() ) :
+                       the_post();
+
+                       get_template_part( 'content', 'page' );
+
+               endwhile; // end of the loop.
+       }
+}
+
+if ( ! function_exists( 'shop_isle_social_icons' ) ) {
+       /**
+        * Display social icons
+        * If the subscribe and connect plugin is active, display the icons.
+        *
+        * @link http://wordpress.org/plugins/subscribe-and-connect/
+        * @since 1.0.0
+        */
+       function shop_isle_social_icons() {
+               if ( class_exists( 'Subscribe_And_Connect' ) ) {
+                       echo '<div class="subscribe-and-connect-connect">';
+                       subscribe_and_connect_connect();
+                       echo '</div>';
+               }
+       }
+}
+
+if ( ! function_exists( 'shop_isle_get_sidebar' ) ) {
+       /**
+        * Display sidebar
+        *
+        * @uses get_sidebar()
+        * @since 1.0.0
+        */
+       function shop_isle_get_sidebar() {
+               get_sidebar();
+       }
+}
+
+
+if ( ! function_exists( 'shop_isle_get_sidebar_shop_archive' ) ) {
+       /**
+        * Display sidebar
+        *
+        * @uses get_sidebar()
+        * @since 1.0.0
+        */
+       function shop_isle_get_sidebar_shop_archive() {
+               get_sidebar( 'shop-archive' );
+       }
+}
diff --git a/templates/shop-isle/inc/woocommerce/css/ajax-layered-nav.css b/templates/shop-isle/inc/woocommerce/css/ajax-layered-nav.css
new file mode 100644 (file)
index 0000000..7fece91
--- /dev/null
@@ -0,0 +1,71 @@
+.widget_layered_nav ul.colors li a {
+       display: block;
+}
+
+.widget_layered_nav ul.colors li .box {
+       display: inline-block;
+       -webkit-box-sizing: border-box;
+       box-sizing: border-box;
+       width: 1.618em;
+       height: 1.618em;
+       border: 0;
+       border-radius: 0.202em;
+}
+
+.widget_layered_nav ul.colors li.chosen a {
+       opacity: 1;
+}
+
+.widget_layered_nav ul.colors li.chosen a:hover {
+       opacity: 0.5;
+}
+
+.widget_layered_nav ul.checkboxes li input {
+       margin-right: 0.618em;
+}
+
+.widget_layered_nav ul.sizes li a {
+       opacity: 1;
+}
+
+.widget_layered_nav ul.sizes li .size-filter {
+       min-width: 1.618em;
+       height: 1.618em;
+       border: 0;
+       border-radius: 0.202em;
+       opacity: 0.5;
+       background-color: #fff;
+       font-size: 1em;
+       font-weight: 700;
+       line-height: 1.618;
+       text-align: center;
+}
+
+.widget_layered_nav ul.sizes li .size-filter:hover,
+.widget_layered_nav ul.sizes li.chosen .size-filter {
+       opacity: 1;
+}
+
+.widget_layered_nav ul.sizes li.chosen .size-filter:hover {
+       opacity: 0.5;
+}
+
+.widget_layered_nav ul.checkboxes li.chosen:before,
+.widget_layered_nav ul.colors li.chosen:before,
+.widget_layered_nav ul.sizes li.chosen:before {
+       display: none;
+}
+
+.widget_layered_nav ul.checkboxes li.show-count a,
+.widget_layered_nav ul.colors li.show-count a,
+.widget_layered_nav ul.sizes li.show-count a {
+       display: inline-block;
+}
+
+.widget_layered_nav ul.checkboxes li.show-count .count,
+.widget_layered_nav ul.colors li.show-count .count,
+.widget_layered_nav ul.sizes li.show-count .count {
+       float: right;
+       font-size: 1em;
+       line-height: 1.618;
+}
diff --git a/templates/shop-isle/inc/woocommerce/css/ajax-layered-nav.scss b/templates/shop-isle/inc/woocommerce/css/ajax-layered-nav.scss
new file mode 100644 (file)
index 0000000..c8de90a
--- /dev/null
@@ -0,0 +1,106 @@
+/**
+ * WooCommerce AJAX Layered Nav
+ */
+
+/**
+ * Imports
+ */
+@import 'bourbon';
+@import '../../../sass/utils/variables';
+@import '../../../sass/utils/mixins';
+
+.widget_layered_nav {
+       ul.colors {
+               li {
+                       a {
+                               display: block;
+                       }
+
+                       .box {
+                               border: 0;
+                               display: inline-block;
+                               box-sizing: border-box;
+                               border-radius: .202em;
+                               height: 1.618em;
+                               width: 1.618em;
+                       }
+
+                       &.chosen {
+                               a {
+                                       opacity: 1;
+
+                                       &:hover {
+                                               opacity: 0.5;
+                                       }
+                               }
+                       }
+               }
+       }
+
+       ul.checkboxes {
+               li {
+                       input {
+                               margin-right: .618em;
+                       }
+               }
+       }
+
+       ul.sizes {
+               li {
+                       a {
+                               opacity: 1;
+                       }
+
+                       .size-filter {
+                               font-size: 1em;
+                               height: 1.618em;
+                               min-width: 1.618em;
+                               text-align: center;
+                               line-height: 1.618;
+                               background-color: #fff;
+                               border: 0;
+                               opacity: 0.5;
+                               font-weight: 700;
+                               border-radius: .202em;
+
+                               &:hover {
+                                       opacity: 1;
+                               }
+                       }
+
+                       &.chosen {
+                               .size-filter {
+                                       opacity: 1;
+
+                                       &:hover {
+                                               opacity: 0.5;
+                                       }
+                               }
+                       }
+               }
+       }
+
+       ul.colors,
+       ul.checkboxes,
+       ul.sizes {
+               li {
+                       &.chosen {
+                               &:before {
+                                       display: none;
+                               }
+                       }
+
+                       &.show-count {
+                               a {
+                                       display: inline-block;
+                               }
+
+                               .count {
+                                       float: right;
+                                       line-height: 1.618;
+                                       font-size: 1em;
+                               }
+                       }
+               }
+       }
+}
\ No newline at end of file
diff --git a/templates/shop-isle/inc/woocommerce/css/bookings.css b/templates/shop-isle/inc/woocommerce/css/bookings.css
new file mode 100644 (file)
index 0000000..2c3d8ee
--- /dev/null
@@ -0,0 +1,109 @@
+#wc-bookings-booking-form {
+       padding: 0;
+       border: 0;
+}
+
+#wc-bookings-booking-form .wc-bookings-booking-cost {
+       margin: 0;
+       border: 0;
+       background: rgba(0,0,0,0.05);
+}
+
+#wc-bookings-booking-form .wc-bookings-date-picker-date-fields input {
+       margin-bottom: 0;
+}
+
+#wc-bookings-booking-form .wc-bookings-date-picker-date-fields label {
+       width: 20%;
+}
+
+#wc-bookings-booking-form .wc-bookings-date-picker .ui-datepicker-header {
+       border: 0;
+       background-color: #60646c;
+       background-image: none;
+}
+
+#wc-bookings-booking-form .wc-bookings-date-picker .ui-widget-content {
+       background: 0 0;
+       -webkit-box-shadow: none;
+       box-shadow: none;
+}
+
+#wc-bookings-booking-form .wc-bookings-date-picker .ui-datepicker .ui-datepicker-next,
+#wc-bookings-booking-form .wc-bookings-date-picker .ui-datepicker .ui-datepicker-prev {
+       background-color: rgba(0,0,0,0.1)!important;
+}
+
+#wc-bookings-booking-form .wc-bookings-date-picker .ui-datepicker th {
+       border: 0;
+       color: #60646c;
+       background: rgba(0,0,0,0.1);
+}
+
+#wc-bookings-booking-form .wc-bookings-date-picker .ui-datepicker td {
+       border: 0;
+}
+
+#wc-bookings-booking-form .wc-bookings-date-picker .ui-datepicker td.ui-state-disabled {
+       background: 0 0;
+}
+
+#wc-bookings-booking-form .wc-bookings-date-picker .ui-datepicker td.ui-state-disabled .ui-state-default {
+       color: #60646c;
+       background-color: rgba(0,0,0,0.1);
+}
+
+#wc-bookings-booking-form .wc-bookings-date-picker .ui-datepicker td.bookable a {
+       background-color: #96588a!important;
+       text-shadow: none;
+}
+
+#wc-bookings-booking-form .wc-bookings-date-picker .ui-datepicker td.bookable a:hover {
+       background-color: #96588a!important;
+}
+
+#wc-bookings-booking-form .wc-bookings-date-picker .ui-datepicker td.bookable a.ui-state-active {
+       -webkit-box-shadow: inset 0 0 0 1.618em rgba(0,0,0,0.1);
+       box-shadow: inset 0 0 0 1.618em rgba(0,0,0,0.1);
+}
+
+#wc-bookings-booking-form .wc-bookings-date-picker .ui-datepicker td.ui-datepicker-current-day,
+#wc-bookings-booking-form .wc-bookings-date-picker .ui-datepicker td.ui-datepicker-current-day a,
+#wc-bookings-booking-form .wc-bookings-date-picker .ui-datepicker td.ui-datepicker-today,
+#wc-bookings-booking-form .wc-bookings-date-picker .ui-datepicker td.ui-datepicker-today a {
+       background-color: rgba(0,0,0,0.1)!important;
+}
+
+#wc-bookings-booking-form .wc-bookings-date-picker-choose-date {
+       color: #96588a;
+}
+
+#wc-bookings-booking-form .block-picker {
+       text-align: left;
+}
+
+#wc-bookings-booking-form .block-picker li a {
+       display: inline-block;
+       padding: 0.236em 0.53em;
+       border: 0!important;
+       color: #fff;
+       background-color: #60646c;
+       text-align: center;
+}
+
+#wc-bookings-booking-form .block-picker li a:hover {
+       border: 0;
+       color: #fff;
+       background-color: #96588a;
+       text-decoration: none;
+}
+
+#wc-bookings-booking-form .block-picker li a.selected {
+       color: #fff;
+       background-color: #96588a;
+}
+
+.product-type-booking form.cart {
+       padding-right: 0;
+       padding-left: 0;
+}
diff --git a/templates/shop-isle/inc/woocommerce/css/bookings.scss b/templates/shop-isle/inc/woocommerce/css/bookings.scss
new file mode 100644 (file)
index 0000000..b49452c
--- /dev/null
@@ -0,0 +1,135 @@
+/**
+ * WooCommerce Bookings
+ */
+
+/**
+ * Imports
+ */
+@import 'bourbon';
+@import '../../../sass/utils/variables';
+@import '../../../sass/utils/mixins';
+
+#wc-bookings-booking-form {
+       border: 0;
+       padding: 0;
+
+       .wc-bookings-booking-cost {
+               margin: 0;
+               border: 0;
+               background: rgba(0,0,0,0.05);
+       }
+
+       .wc-bookings-date-picker-date-fields {
+               input {
+                       margin-bottom: 0;
+               }
+
+               label {
+                       width: 20%;
+               }
+       }
+
+       .wc-bookings-date-picker {
+               .ui-datepicker-header {
+                       border: 0;
+                       background-color: $color_body;
+                       background-image: none;
+               }
+
+               .ui-widget-content {
+                       box-shadow: none;
+                       -moz-box-shadow: none;
+                       -webkit-box-shadow: none;
+                       background: none;
+               }
+
+               .ui-datepicker {
+                       .ui-datepicker-prev,
+                       .ui-datepicker-next {
+                               background-color: rgba(0,0,0,0.1) !important;
+                       }
+
+                       th {
+                               background: rgba(0,0,0,0.1);
+                               border: 0;
+                               color: $color_body;
+                       }
+
+                       td {
+                               border: 0;
+
+                               &.ui-state-disabled {
+                                       background: none;
+
+                                       .ui-state-default {
+                                               background-color: rgba(0,0,0,0.1);
+                                               color: $color_body;
+                                       }
+                               }
+
+                               &.bookable {
+                                       a {
+                                               text-shadow: none;
+                                               background-color: $color_links !important;
+
+                                               &:hover {
+                                                       background-color: $color_links !important;
+                                               }
+
+                                               &.ui-state-active {
+                                                       box-shadow:
+                                                               inset 0 0 0 1.618em rgba(0,0,0,0.1);
+                                               }
+                                       }
+                               }
+
+                               &.ui-datepicker-current-day,
+                               &.ui-datepicker-today {
+                                       background-color: rgba(0,0,0,0.1) !important;
+
+                                       a {
+                                               background-color: rgba(0,0,0,0.1) !important;
+                                       }
+                               }
+                       }
+               }
+       }
+
+       .wc-bookings-date-picker-choose-date {
+               color: $color_links;
+       }
+
+       .block-picker {
+               text-align: left;
+
+               li {
+                       a {
+                               border: 0 !important;
+                               padding: .236em .53em;
+                               display: inline-block;
+                               text-align: center;
+                               color: #fff;
+                               background-color: $color_body;
+
+                               &:hover {
+                                       color: #fff;
+                                       background-color: $color_links;
+                                       text-decoration: none;
+                                       border: 0;
+                               }
+
+                               &.selected {
+                                       background-color: $color_links;
+                                       color: #fff;
+                               }
+                       }
+               }
+       }
+}
+
+.product-type-booking {
+       form.cart {
+               padding-left: 0;
+               padding-right: 0;
+       }
+}
\ No newline at end of file
diff --git a/templates/shop-isle/inc/woocommerce/css/brands.css b/templates/shop-isle/inc/woocommerce/css/brands.css
new file mode 100644 (file)
index 0000000..ebbeb8e
--- /dev/null
@@ -0,0 +1,22 @@
+.header-widget-region .widget_brand_thumbnails ul.brand-thumbnails {
+       text-align: center;
+}
+
+.header-widget-region .widget_brand_thumbnails ul.brand-thumbnails::after {
+       display: table;
+       clear: both;
+       content: "";
+}
+
+.header-widget-region .widget_brand_thumbnails ul.brand-thumbnails li {
+       display: inline-block;
+       float: none!important;
+       width: auto!important;
+       margin-bottom: 0!important;
+}
+
+.header-widget-region .widget_brand_thumbnails ul.brand-thumbnails li img {
+       display: block;
+       width: auto;
+       max-height: 16px;
+}
diff --git a/templates/shop-isle/inc/woocommerce/css/brands.scss b/templates/shop-isle/inc/woocommerce/css/brands.scss
new file mode 100644 (file)
index 0000000..9169ce1
--- /dev/null
@@ -0,0 +1,32 @@
+/**
+ * WooCommerce Brands
+ */
+
+/**
+ * Imports
+ */
+@import 'bourbon';
+@import '../../../sass/utils/variables';
+@import '../../../sass/utils/mixins';
+
+.header-widget-region {
+       .widget_brand_thumbnails {
+               ul.brand-thumbnails {
+                       @include clearfix;
+                       text-align: center;
+
+                       li {
+                               display: inline-block;
+                               width: auto !important;
+                               float: none !important;
+                               margin-bottom: 0 !important;
+
+                               img {
+                                       max-height: 16px;
+                                       width: auto;
+                                       display: block;
+                               }
+                       }
+               }
+       }
+}
\ No newline at end of file
diff --git a/templates/shop-isle/inc/woocommerce/css/composite-products.css b/templates/shop-isle/inc/woocommerce/css/composite-products.css
new file mode 100644 (file)
index 0000000..c177da8
--- /dev/null
@@ -0,0 +1,186 @@
+.composite_summary .summary_element .summary_element_wrapper {
+       -webkit-box-shadow: 0 0 0 4px transparent;
+       box-shadow: 0 0 0 4px transparent;
+}
+
+.composite_summary .summary_element .summary_element_wrapper.selected,
+.composite_summary .summary_element .summary_element_wrapper.selected:hover {
+       -webkit-box-shadow: 0 0 0 4px rgba(0,0,0,0.06);
+       box-shadow: 0 0 0 4px rgba(0,0,0,0.06);
+}
+
+.composite_summary .summary_element .summary_element_wrapper:hover {
+       -webkit-box-shadow: 0 0 0 4px rgba(0,0,0,0.03);
+       box-shadow: 0 0 0 4px rgba(0,0,0,0.03);
+}
+
+.composite_summary .summary_element .summary_element_wrapper.disabled,
+.composite_summary .summary_element .summary_element_wrapper.disabled:hover {
+       -webkit-box-shadow: 0 0 0 4px transparent;
+       box-shadow: 0 0 0 4px transparent;
+}
+
+.single-product div.product .selection_thumbnail_hidden .component_selections .component_summary .component_data {
+       float: left;
+       width: 100%;
+       margin-right: 0;
+       margin-left: 0;
+}
+
+.single-product div.product .component_selections .component_summary {
+       border-bottom: 1px solid rgba(0,0,0,0.1);
+}
+
+.single-product div.product .component_selections .component_summary .content {
+       margin-bottom: 1.618em;
+}
+
+.single-product div.product .component_selections .component_summary .composited_product_images,
+.single-product div.product .component_selections .component_summary .images {
+       float: left;
+       width: 21.7391304348%;
+       margin-right: 4.347826087%;
+}
+
+.single-product div.product .component_selections .component_summary .composited_product_images a,
+.single-product div.product .component_selections .component_summary .images a {
+       padding-right: 0;
+}
+
+.single-product div.product .component_selections .component_summary .composited_product_images img,
+.single-product div.product .component_selections .component_summary .images img {
+       width: 100%;
+       height: auto;
+}
+
+.single-product div.product .component_selections .component_summary .component_data {
+       float: right;
+       width: 73.9130434783%;
+       margin-right: 0;
+       margin-left: 0;
+}
+
+.single-product div.product .component_selections .component_content,
+.single-product div.product .component_selections .component_options {
+       padding: 0;
+}
+
+.single-product div.product .component_selections .select_label {
+       display: block;
+       margin-bottom: 1em;
+}
+
+.single-product div.product .component_selections .component_option_thumbnails .component_option_thumbnail {
+       margin-left: 5px;
+       -webkit-box-shadow: 0 0 0 4px transparent;
+       box-shadow: 0 0 0 4px transparent;
+}
+
+.single-product div.product .component_selections .component_option_thumbnails .component_option_thumbnail.selected,
+.single-product div.product .component_selections .component_option_thumbnails .component_option_thumbnail.selected:hover {
+       -webkit-box-shadow: 0 0 0 4px rgba(0,0,0,0.06);
+       box-shadow: 0 0 0 4px rgba(0,0,0,0.06);
+}
+
+.single-product div.product .component_selections .component_option_thumbnails .component_option_thumbnail:hover {
+       -webkit-box-shadow: 0 0 0 4px rgba(0,0,0,0.03);
+       box-shadow: 0 0 0 4px rgba(0,0,0,0.03);
+}
+
+.single-product div.product .component_selections .component_option_thumbnails .component_option_thumbnail.disabled,
+.single-product div.product .component_selections .component_option_thumbnails .component_option_thumbnail.disabled:hover {
+       -webkit-box-shadow: 0 0 0 4px transparent;
+       box-shadow: 0 0 0 4px transparent;
+}
+
+.single-product div.product .component.progressive .component_summary {
+       border-bottom: none;
+}
+
+.shop-isle-full-width-content.single-product div.product .selection_thumbnail_hidden .component_selections .component_summary .component_data {
+       float: left;
+       width: 100%;
+       margin-right: 0;
+       margin-left: 0;
+}
+
+.shop-isle-full-width-content.single-product div.product .component_selections .component_summary .composited_product_images,
+.shop-isle-full-width-content.single-product div.product .component_selections .component_summary .images {
+       float: left;
+       width: 21.7391304348%;
+       margin-right: 4.347826087%;
+}
+
+.shop-isle-full-width-content.single-product div.product .component_selections .component_summary .composited_product_images a,
+.shop-isle-full-width-content.single-product div.product .component_selections .component_summary .images a {
+       padding-right: 0;
+}
+
+.shop-isle-full-width-content.single-product div.product .component_selections .component_summary .component_data {
+       float: right;
+       width: 73.9130434783%;
+       margin-right: 0;
+       margin-left: 0;
+}
+
+.swc-product-gallery-hidden.single-product div.product .selection_thumbnail_hidden .component_selections .component_summary .component_data,
+.swc-product-gallery-stacked.single-product div.product .selection_thumbnail_hidden .component_selections .component_summary .component_data {
+       float: left;
+       width: 100%;
+       margin-right: 0;
+       margin-left: 0;
+}
+
+.swc-product-gallery-hidden.single-product div.product .component_selections .component_summary .composited_product_images,
+.swc-product-gallery-hidden.single-product div.product .component_selections .component_summary .images,
+.swc-product-gallery-stacked.single-product div.product .component_selections .component_summary .composited_product_images,
+.swc-product-gallery-stacked.single-product div.product .component_selections .component_summary .images {
+       float: left;
+       width: 21.7391304348%;
+       margin-right: 4.347826087%;
+}
+
+.swc-product-gallery-hidden.single-product div.product .component_selections .component_summary .composited_product_images a,
+.swc-product-gallery-hidden.single-product div.product .component_selections .component_summary .images a,
+.swc-product-gallery-stacked.single-product div.product .component_selections .component_summary .composited_product_images a,
+.swc-product-gallery-stacked.single-product div.product .component_selections .component_summary .images a {
+       padding-right: 0;
+}
+
+.swc-product-gallery-hidden.single-product div.product .component_selections .component_summary .component_data,
+.swc-product-gallery-stacked.single-product div.product .component_selections .component_summary .component_data {
+       float: right;
+       width: 73.9130434783%;
+       margin-right: 0;
+}
+
+.swc-product-gallery-hidden.shop-isle-full-width-content.single-product div.product .selection_thumbnail_hidden .component_selections .component_summary .component_data,
+.swc-product-gallery-stacked.shop-isle-full-width-content.single-product div.product .selection_thumbnail_hidden .component_selections .component_summary .component_data {
+       float: left;
+       width: 100%;
+       margin-right: 0;
+       margin-left: 0;
+}
+
+.swc-product-gallery-hidden.shop-isle-full-width-content.single-product div.product .component_selections .component_summary .composited_product_images,
+.swc-product-gallery-hidden.shop-isle-full-width-content.single-product div.product .component_selections .component_summary .images,
+.swc-product-gallery-stacked.shop-isle-full-width-content.single-product div.product .component_selections .component_summary .composited_product_images,
+.swc-product-gallery-stacked.shop-isle-full-width-content.single-product div.product .component_selections .component_summary .images {
+       float: left;
+       width: 21.7391304348%;
+       margin-right: 4.347826087%;
+}
+
+.swc-product-gallery-hidden.shop-isle-full-width-content.single-product div.product .component_selections .component_summary .composited_product_images a,
+.swc-product-gallery-hidden.shop-isle-full-width-content.single-product div.product .component_selections .component_summary .images a,
+.swc-product-gallery-stacked.shop-isle-full-width-content.single-product div.product .component_selections .component_summary .composited_product_images a,
+.swc-product-gallery-stacked.shop-isle-full-width-content.single-product div.product .component_selections .component_summary .images a {
+       padding-right: 0;
+}
+
+.swc-product-gallery-hidden.shop-isle-full-width-content.single-product div.product .component_selections .component_summary .component_data,
+.swc-product-gallery-stacked.shop-isle-full-width-content.single-product div.product .component_selections .component_summary .component_data {
+       float: right;
+       width: 73.9130434783%;
+       margin-right: 0;
+}
diff --git a/templates/shop-isle/inc/woocommerce/css/composite-products.scss b/templates/shop-isle/inc/woocommerce/css/composite-products.scss
new file mode 100644 (file)
index 0000000..ce9a5af
--- /dev/null
@@ -0,0 +1,193 @@
+/**
+ * WooCommerce Composite Products
+ */
+
+/**
+ * Imports
+ */
+@import 'bourbon';
+@import '../../../sass/utils/variables';
+@import '../../../sass/utils/mixins';
+@import '../../../node_modules/susy/sass/susy';
+
+.composite_summary .summary_element {
+
+       .summary_element_wrapper {
+               box-shadow: 0px 0px 0px 4px rgba( 0, 0, 0, 0 );
+
+               &.selected,
+               &.selected:hover {
+                       box-shadow: 0px 0px 0px 4px rgba( 0, 0, 0, 0.06 );
+               }
+
+               &:hover {
+                       box-shadow: 0px 0px 0px 4px rgba( 0, 0, 0, 0.03 );
+               }
+
+               &.disabled,
+               &.disabled:hover {
+                       box-shadow: 0px 0px 0px 4px rgba( 0, 0, 0, 0 );
+               }
+       }
+}
+
+.single-product div.product {
+
+       .selection_thumbnail_hidden .component_selections .component_summary {
+               .component_data {
+                       @include span(12 of 12);
+               }
+       }
+
+       .component_selections {
+               .component_summary {
+
+                       border-bottom: 1px solid $color_border;
+
+                       .content {
+                               margin-bottom: 1.618em;
+                       }
+
+                       .composited_product_images,
+                       .images {
+                               @include span(3 of 12);
+
+                               a {
+                                       padding-right: 0;
+                               }
+
+                               img {
+                                       width: 100%;
+                                       height: auto;
+                               }
+                       }
+
+                       .component_data {
+                               @include span(last 9 of 12);
+                               margin-left: 0;
+                       }
+               }
+
+               .component_content,
+               .component_options {
+                       padding: 0;
+               }
+
+               .select_label {
+                       display: block;
+                       margin-bottom: 1em;
+               }
+
+               .component_option_thumbnails {
+
+                       .component_option_thumbnail {
+                               margin-left: 5px; /* v2.5.5 compat */
+                               box-shadow: 0px 0px 0px 4px rgba( 0, 0, 0, 0 );
+
+                               &.selected,
+                               &.selected:hover {
+                                       box-shadow: 0px 0px 0px 4px rgba( 0, 0, 0, 0.06 );
+                               }
+
+                               &:hover {
+                                       box-shadow: 0px 0px 0px 4px rgba( 0, 0, 0, 0.03 );
+                               }
+
+                               &.disabled,
+                               &.disabled:hover {
+                                       box-shadow: 0px 0px 0px 4px rgba( 0, 0, 0, 0 );
+                               }
+                       }
+               }
+       }
+
+       .component.progressive .component_summary {
+               border-bottom: none;
+       }
+}
+
+.shop-isle-full-width-content {
+       &.single-product div.product {
+
+               .selection_thumbnail_hidden .component_selections .component_summary {
+                       .component_data {
+                               @include span(12 of 12);
+                       }
+               }
+
+               .component_selections {
+                       .component_summary {
+                               .composited_product_images,
+                               .images {
+                                       @include span(3 of 12);
+
+                                       a {
+                                               padding-right: 0;
+                                       }
+                               }
+
+                               .component_data {
+                                       @include span(last 9 of 12);
+                                       margin-left: 0;
+                               }
+                       }
+               }
+       }
+}
+
+.swc-product-gallery-stacked,
+.swc-product-gallery-hidden {
+       &.single-product div.product {
+
+               .selection_thumbnail_hidden .component_selections .component_summary {
+                       .component_data {
+                               @include span(12 of 12);
+                       }
+               }
+
+               .component_selections {
+                       .component_summary {
+                               .composited_product_images,
+                               .images {
+                                       @include span(3 of 12);
+
+                                       a {
+                                               padding-right: 0;
+                                       }
+                               }
+
+                               .component_data {
+                                       @include span(last 9 of 12);
+                               }
+                       }
+               }
+       }
+
+       &.shop-isle-full-width-content {
+               &.single-product div.product {
+
+                       .selection_thumbnail_hidden .component_selections .component_summary {
+                               .component_data {
+                                       @include span(12 of 12);
+                               }
+                       }
+
+                       .component_selections {
+                               .component_summary {
+                                       .composited_product_images,
+                                       .images {
+                                               @include span(3 of 12);
+
+                                               a {
+                                                       padding-right: 0;
+                                               }
+                                       }
+
+                                       .component_data {
+                                               @include span(last 9 of 12);
+                                       }
+                               }
+                       }
+               }
+       }
+}
diff --git a/templates/shop-isle/inc/woocommerce/css/photography.css b/templates/shop-isle/inc/woocommerce/css/photography.css
new file mode 100644 (file)
index 0000000..d40567c
--- /dev/null
@@ -0,0 +1,44 @@
+@media screen and (min-width:768px) {
+       .woocommerce .photography-products .tools,
+       .woocommerce-page .photography-products .tools {
+               margin-bottom: 2.618em;
+               padding: 1em 1em 1em 1.618em;
+               border: 0;
+               background-color: rgba(0,0,0,0.025);
+       }
+
+       .woocommerce .site-main ul.products li.product-type-photography,
+       .woocommerce-page .site-main ul.products li.product-type-photography {
+               text-align: left;
+       }
+
+       .woocommerce .site-main ul.products li.product-type-photography::after,
+       .woocommerce-page .site-main ul.products li.product-type-photography::after {
+               display: table;
+               clear: both;
+               content: "";
+       }
+
+       .woocommerce .site-main ul.products li.product-type-photography .photography-content,
+       .woocommerce .site-main ul.products li.product-type-photography .photography-image,
+       .woocommerce-page .site-main ul.products li.product-type-photography .photography-content,
+       .woocommerce-page .site-main ul.products li.product-type-photography .photography-image {
+               float: none;
+               width: 100%;
+       }
+
+       .woocommerce .site-main ul.products li.product-type-photography .photography-image img,
+       .woocommerce-page .site-main ul.products li.product-type-photography .photography-image img {
+               width: 100%;
+       }
+
+       .woocommerce .site-main ul.products li.product-type-photography .photography-sku,
+       .woocommerce-page .site-main ul.products li.product-type-photography .photography-sku {
+               border-bottom: 1px dotted rgba(0,0,0,0.1);
+       }
+
+       .woocommerce .site-main ul.products li.product-type-photography .sku,
+       .woocommerce-page .site-main ul.products li.product-type-photography .sku {
+               font-weight: 700;
+       }
+}
diff --git a/templates/shop-isle/inc/woocommerce/css/photography.scss b/templates/shop-isle/inc/woocommerce/css/photography.scss
new file mode 100644 (file)
index 0000000..9a4ce4a
--- /dev/null
@@ -0,0 +1,52 @@
+/**
+ * WooCommerce Photography
+ */
+
+/**
+ * Imports
+ */
+@import 'bourbon';
+@import '../../../sass/utils/variables';
+@import '../../../sass/utils/mixins';
+@import '../../../node_modules/susy/sass/susy';
+
+@media screen and (min-width: 768px) {
+       .woocommerce,
+       .woocommerce-page {
+               .photography-products {
+                       .tools {
+                               margin-bottom: 2.618em;
+                               background-color: rgba(0,0,0,0.025);
+                               padding: 1em 1em 1em 1.618em;
+                               border: 0;
+                       }
+               }
+
+               .site-main ul.products {
+                       li.product-type-photography {
+                               @include clearfix;
+                               text-align: left;
+
+                               .photography-image,
+                               .photography-content {
+                                       float: none;
+                                       width: 100%;
+                               }
+
+                               .photography-image {
+                                       img {
+                                               width: 100%;
+                                       }
+                               }
+
+                               .photography-sku {
+                                       border-bottom: 1px dotted rgba(0,0,0,0.1);
+                               }
+
+                               .sku {
+                                       font-weight: 700;
+                               }
+                       }
+               }
+       }
+}
\ No newline at end of file
diff --git a/templates/shop-isle/inc/woocommerce/css/product-reviews-pro.css b/templates/shop-isle/inc/woocommerce/css/product-reviews-pro.css
new file mode 100644 (file)
index 0000000..d92b617
--- /dev/null
@@ -0,0 +1,190 @@
+.woocommerce #reviews .product-rating .product-rating-details,
+.woocommerce #reviews .product-rating .product-rating-summary,
+.woocommerce-page #reviews .product-rating .product-rating-details,
+.woocommerce-page #reviews .product-rating .product-rating-summary {
+       display: block;
+       width: 100%;
+}
+
+.woocommerce #reviews .product-rating .product-rating-summary,
+.woocommerce-page #reviews .product-rating .product-rating-summary {
+       text-align: left;
+}
+
+.woocommerce #reviews .product-rating .product-rating-details table td,
+.woocommerce-page #reviews .product-rating .product-rating-details table td {
+       padding: 0.202em 0.53em;
+}
+
+.woocommerce #reviews .product-rating .product-rating-details table td.rating-graph .bar,
+.woocommerce-page #reviews .product-rating .product-rating-details table td.rating-graph .bar {
+       background-color: #60646c;
+}
+
+.woocommerce #reviews .product-rating .product-rating-details table td.rating-count a,
+.woocommerce-page #reviews .product-rating .product-rating-details table td.rating-count a {
+       text-decoration: none;
+}
+
+.woocommerce #reviews .form-contribution,
+.woocommerce-page #reviews .form-contribution {
+       padding: 1em;
+       border-color: rgba(0,0,0,0.1);
+}
+
+.woocommerce #reviews .form-contribution #review_rating_field fieldset,
+.woocommerce-page #reviews .form-contribution #review_rating_field fieldset {
+       float: left;
+}
+
+.woocommerce #reviews .form-contribution #review_rating_field fieldset label,
+.woocommerce-page #reviews .form-contribution #review_rating_field fieldset label {
+       display: inline-block;
+       float: right;
+}
+
+.woocommerce #reviews .form-contribution #review_rating_field fieldset label.checkbox:before,
+.woocommerce-page #reviews .form-contribution #review_rating_field fieldset label.checkbox:before {
+       font-size: 0.857em;
+}
+
+.woocommerce #reviews .form-contribution #review_rating_field fieldset .star-label,
+.woocommerce-page #reviews .form-contribution #review_rating_field fieldset .star-label {
+       float: none;
+       margin-left: 0.618em;
+}
+
+.woocommerce #reviews .form-contribution .form-row,
+.woocommerce-page #reviews .form-contribution .form-row {
+       clear: both;
+}
+
+.woocommerce #reviews .contribution-karma,
+.woocommerce-page #reviews .contribution-karma {
+       margin-left: 0;
+}
+
+.woocommerce #reviews #comments ol.commentlist li,
+.woocommerce-page #reviews #comments ol.commentlist li {
+       padding-top: 0;
+}
+
+.woocommerce #reviews #comments ol.commentlist li img.avatar,
+.woocommerce-page #reviews #comments ol.commentlist li img.avatar {
+       float: right;
+       width: 2.618em;
+       height: auto;
+       margin: 0;
+}
+
+.woocommerce #reviews #comments ol.commentlist li .description,
+.woocommerce-page #reviews #comments ol.commentlist li .description {
+       padding-bottom: 0;
+}
+
+.woocommerce #reviews #comments ol.commentlist li .comment-text,
+.woocommerce-page #reviews #comments ol.commentlist li .comment-text {
+       margin-left: 0;
+}
+
+.woocommerce #reviews #comments ol.commentlist li .comment-text iframe,
+.woocommerce #reviews #comments ol.commentlist li .comment-text img,
+.woocommerce-page #reviews #comments ol.commentlist li .comment-text iframe,
+.woocommerce-page #reviews #comments ol.commentlist li .comment-text img {
+       margin-bottom: 1.618em;
+}
+
+.woocommerce #reviews #comments ol.commentlist li h3.contribution-title,
+.woocommerce-page #reviews #comments ol.commentlist li h3.contribution-title {
+       margin: 0;
+       font-size: 1em;
+}
+
+.woocommerce #reviews #comments ol.commentlist li .contribution-actions a,
+.woocommerce-page #reviews #comments ol.commentlist li .contribution-actions a {
+       color: #96588a;
+}
+
+.woocommerce #reviews #comments ol.commentlist li .contribution-actions a.done,
+.woocommerce-page #reviews #comments ol.commentlist li .contribution-actions a.done {
+       opacity: 0.5;
+}
+
+.woocommerce #reviews #comments ol.commentlist li ul.children li,
+.woocommerce-page #reviews #comments ol.commentlist li ul.children li {
+       margin-bottom: 1.618em;
+}
+
+.woocommerce #reviews #comments .form-contribution_comment,
+.woocommerce-page #reviews #comments .form-contribution_comment {
+       float: right;
+       width: 81.8181818182%;
+       margin-right: 0;
+       margin-bottom: 3.631em;
+       padding-top: 1.618em;
+}
+
+.woocommerce #reviews #comments ul.children + .form-contribution_comment,
+.woocommerce-page #reviews #comments ul.children + .form-contribution_comment {
+       padding-top: 0;
+       border-top: 0;
+}
+
+.woocommerce #reviews .contribution-flag-form,
+.woocommerce-page #reviews .contribution-flag-form {
+       margin-bottom: 1.618em;
+       padding: 1.618em;
+       background-color: rgba(0,0,0,0.1);
+}
+
+.woocommerce .form-photo #photo_attachment_file,
+.woocommerce-page .form-photo #photo_attachment_file {
+       margin: 1em 0;
+       color: inherit;
+}
+
+.woocommerce .contribution-type-selector,
+.woocommerce-page .contribution-type-selector {
+       margin: 0;
+}
+
+.woocommerce .contribution-type-selector > a,
+.woocommerce-page .contribution-type-selector > a {
+       display: inline-block;
+       margin-right: 1em;
+       padding: 0.53em 0;
+       border-bottom: 0.202em solid rgba(0,0,0,0.05);
+}
+
+.woocommerce .contribution-type-selector > a.active,
+.woocommerce-page .contribution-type-selector > a.active {
+       border-bottom-color: rgba(0,0,0,0.1);
+}
+
+.woocommerce .star-rating-selector fieldset,
+.woocommerce-page .star-rating-selector fieldset {
+       float: none;
+       clear: both;
+}
+
+.woocommerce .star-rating-selector > label:first-child,
+.woocommerce-page .star-rating-selector > label:first-child {
+       display: block!important;
+}
+
+.woocommerce .star-rating-selector:not(:checked) label.checkbox,
+.woocommerce-page .star-rating-selector:not(:checked) label.checkbox {
+       float: none;
+}
+
+#tiptip_content,
+.chart-tooltip {
+       padding: 0.618em 1em;
+       background-color: rgba(0,0,0,0.8);
+       font-size: 0.857em;
+}
+
+#tiptip_holder.tip_bottom #tiptip_arrow_inner {
+       margin-top: -6px;
+       border-bottom-color: rgba(0,0,0,0.8);
+}
diff --git a/templates/shop-isle/inc/woocommerce/css/product-reviews-pro.scss b/templates/shop-isle/inc/woocommerce/css/product-reviews-pro.scss
new file mode 100644 (file)
index 0000000..0d11878
--- /dev/null
@@ -0,0 +1,199 @@
+/**
+ * WooCommerce Product Reviews Pro
+ */
+
+/**
+ * Imports
+ */
+@import 'bourbon';
+@import '../../../sass/utils/variables';
+@import '../../../sass/utils/mixins';
+@import '../../../node_modules/susy/sass/susy';
+
+.woocommerce,
+.woocommerce-page {
+       #reviews {
+               .product-rating {
+                       .product-rating-summary,
+                       .product-rating-details {
+                               display: block;
+                               width: 100%;
+                       }
+
+                       .product-rating-summary {
+                               text-align: left;
+                       }
+
+                       .product-rating-details {
+                               table {
+                                       td {
+                                               padding: .202em .53em;
+
+                                               &.rating-graph {
+                                                       .bar {
+                                                               background-color: $color_body;
+                                                       }
+                                               }
+
+                                               &.rating-count {
+                                                       a {
+                                                               text-decoration: none;
+                                                       }
+                                               }
+                                       }
+                               }
+                       }
+               }
+
+               .form-contribution {
+                       border-color: $color_border;
+                       padding: 1em;
+
+                       #review_rating_field {
+                               fieldset {
+                                       float: left;
+
+                                       label {
+                                               display: inline-block;
+                                               float: right;
+
+                                               &.checkbox:before {
+                                                       font-size: .857em;
+                                               }
+                                       }
+
+                                       .star-label {
+                                               float: none;
+                                               margin-left: .618em;
+                                       }
+                               }
+                       }
+
+                       .form-row {
+                               clear: both;
+                       }
+               }
+
+               .contribution-karma {
+                       margin-left: 0;
+               }
+
+               #comments {
+                       ol.commentlist {
+                               li {
+                                       padding-top: 0;
+
+                                       img.avatar {
+                                               width: 2.618em;
+                                               height: auto;
+                                               margin: 0;
+                                               float: right;
+                                       }
+
+                                       .description {
+                                               padding-bottom: 0;
+                                       }
+
+                                       .comment-text {
+                                               margin-left: 0;
+
+                                               img,
+                                               iframe {
+                                                       margin-bottom: 1.618em;
+                                               }
+                                       }
+
+                                       h3.contribution-title {
+                                               margin: 0;
+                                               font-size: 1em;
+                                       }
+
+                                       .contribution-actions {
+
+                                               a {
+                                                       color: $color_links;
+
+                                                       &.done {
+                                                               opacity: 0.5;
+                                                       }
+                                               }
+                                       }
+
+                                       ul.children {
+                                               li {
+                                                       margin-bottom: 1.618em;
+                                               }
+                                       }
+                               }
+                       }
+
+                       .form-contribution_comment {
+                               @include span(last 5 of 6);
+                               margin-bottom: 3.631em;
+                               padding-top: 1.618em;
+                       }
+
+                       ul.children + .form-contribution_comment {
+                               border-top: 0;
+                               padding-top: 0;
+                       }
+               }
+
+               .contribution-flag-form {
+                       background-color: rgba(0,0,0,0.1);
+                       padding: 1.618em;
+                       margin-bottom: 1.618em;
+               }
+       }
+
+       .form-photo {
+               #photo_attachment_file {
+                       color: inherit;
+                       margin: 1em 0;
+               }
+       }
+
+       .contribution-type-selector {
+               margin: 0;
+
+               > a {
+                       display: inline-block;
+                       margin-right: 1em;
+                       padding: .53em 0;
+                       border-bottom: .202em solid rgba(0,0,0,0.05);
+
+                       &.active {
+                               border-bottom-color: $color_border;
+                       }
+               }
+       }
+
+       .star-rating-selector {
+               fieldset {
+                       float: none;
+                       clear: both;
+               }
+
+               > label:first-child {
+                       display: block !important;
+               }
+       }
+
+       .star-rating-selector:not(:checked) {
+               label.checkbox {
+                       float: none;
+               }
+       }
+}
+
+#tiptip_content,
+.chart-tooltip {
+       font-size: .857em;
+       padding: .618em 1em;
+       background-color: rgba(0,0,0,0.8);
+}
+
+#tiptip_holder.tip_bottom #tiptip_arrow_inner {
+       border-bottom-color: rgba(0,0,0,0.8);
+       margin-top: -6px;
+}
\ No newline at end of file
diff --git a/templates/shop-isle/inc/woocommerce/css/smart-coupons.css b/templates/shop-isle/inc/woocommerce/css/smart-coupons.css
new file mode 100644 (file)
index 0000000..2a45317
--- /dev/null
@@ -0,0 +1,57 @@
+.woocommerce .coupon-container,
+.woocommerce-page .coupon-container {
+       margin: 0;
+       -webkit-box-shadow: none;
+       box-shadow: none;
+}
+
+.woocommerce .coupon-container.medium,
+.woocommerce-page .coupon-container.medium {
+       padding: 0.618em;
+       line-height: inherit;
+}
+
+.woocommerce .generated_coupon_summary,
+.woocommerce-page .generated_coupon_summary {
+       margin: 0;
+}
+
+.woocommerce .coupon-content.small,
+.woocommerce-page .coupon-content.small {
+       padding: 0.618em 1.387em;
+}
+
+.woocommerce .coupon-content .coupon-expire,
+.woocommerce .coupon-content .discount-info,
+.woocommerce-page .coupon-content .coupon-expire,
+.woocommerce-page .coupon-content .discount-info {
+       font-family: inherit;
+}
+
+.woocommerce #coupons_list,
+.woocommerce-page #coupons_list {
+       margin-bottom: 1.618em;
+}
+
+.sd-buttons-transparent.woocommerce .coupon-container,
+.sd-buttons-transparent.woocommerce-page .coupon-container {
+       padding: 0;
+       background: 0 0!important;
+}
+
+@media screen and (min-width:768px) {
+       .sc_info_box {
+               float: right;
+               width: 41.1764705882%;
+               margin-right: 0;
+               padding-right: 2.0833333333%;
+               padding-left: 2.0833333333%;
+       }
+
+       .page-template-template-fullwidth-php .sc_info_box {
+               float: right;
+               width: 39.1304347826%;
+               margin-right: 0;
+               margin-left: 0;
+       }
+}
diff --git a/templates/shop-isle/inc/woocommerce/css/smart-coupons.scss b/templates/shop-isle/inc/woocommerce/css/smart-coupons.scss
new file mode 100644 (file)
index 0000000..f08f551
--- /dev/null
@@ -0,0 +1,65 @@
+/**
+ * WooCommerce Smart Coupons
+ */
+
+/**
+ * Imports
+ */
+@import '../../../sass/utils/variables';
+@import '../../../node_modules/susy/sass/susy';
+
+.woocommerce,
+.woocommerce-page {
+       .coupon-container {
+               margin: 0;
+               box-shadow: none;
+
+               &.medium {
+                       line-height: inherit;
+                       padding: .618em;
+               }
+       }
+
+       .generated_coupon_summary {
+               margin: 0;
+       }
+
+       .coupon-content {
+               &.small {
+                       padding: .618em 1.387em;
+               }
+
+               .coupon-expire,
+               .discount-info {
+                       font-family: inherit;
+               }
+       }
+
+       #coupons_list {
+               margin-bottom: 1.618em;
+       }
+}
+
+.sd-buttons-transparent {
+       &.woocommerce,
+       &.woocommerce-page {
+               .coupon-container {
+                       background: transparent !important;
+                       padding: 0;
+               }
+       }
+}
+
+@media screen and (min-width: 768px) {
+       .sc_info_box {
+               @include span(last 4 of 9);
+               @include gutters(inside);
+       }
+
+       .page-template-template-fullwidth-php {
+               .sc_info_box {
+                       @include span(last 5 of 12);
+                       margin-left: 0;
+               }
+       }
+}
diff --git a/templates/shop-isle/inc/woocommerce/css/variation-swatches.css b/templates/shop-isle/inc/woocommerce/css/variation-swatches.css
new file mode 100644 (file)
index 0000000..cefddeb
--- /dev/null
@@ -0,0 +1,21 @@
+.variations-table .swatch-wrapper {
+       padding: 0;
+       border: 0;
+       opacity: 0.5;
+}
+
+.variations-table .swatch-wrapper .swatch-anchor {
+       border-radius: 0.236em;
+}
+
+.variations-table .swatch-wrapper.selected,
+.variations-table .swatch-wrapper:hover {
+       padding: 0;
+       border: 0;
+       opacity: 1;
+}
+
+#variations_clear {
+       display: block;
+       margin-bottom: 1em;
+}
diff --git a/templates/shop-isle/inc/woocommerce/css/variation-swatches.scss b/templates/shop-isle/inc/woocommerce/css/variation-swatches.scss
new file mode 100644 (file)
index 0000000..53c04b4
--- /dev/null
@@ -0,0 +1,34 @@
+/**
+ * WooCommerce Variation Swatches
+ */
+
+/**
+ * Imports
+ */
+@import 'bourbon';
+@import '../../../sass/utils/variables';
+@import '../../../sass/utils/mixins';
+
+.variations-table {
+       .swatch-wrapper {
+               padding: 0;
+               border: 0;
+               opacity: 0.5;
+
+               .swatch-anchor {
+                       border-radius: .236em;
+               }
+
+               &.selected,
+               &:hover {
+                       padding: 0;
+                       border: 0;
+                       opacity: 1;
+               }
+       }
+}
+
+#variations_clear {
+       display: block;
+       margin-bottom: 1em;
+}
\ No newline at end of file
diff --git a/templates/shop-isle/inc/woocommerce/css/wishlists.css b/templates/shop-isle/inc/woocommerce/css/wishlists.css
new file mode 100644 (file)
index 0000000..b5f57ae
--- /dev/null
@@ -0,0 +1,94 @@
+#wl-wrapper.wl-button-wrap {
+       padding: 1.618em 0 0;
+}
+
+.wl-add-link {
+       padding-left: 0!important;
+       background: none!important;
+}
+
+.wl-add-link:before {
+       margin-right: 0.53em;
+       font-family: FontAwesome;
+       font-weight: 400;
+       content: "\f004";
+}
+
+#wl-wrapper .wl-tabs {
+       border-bottom: 0!important;
+}
+
+#wl-wrapper .wl-tabs > li {
+       float: none!important;
+}
+
+#wl-wrapper .wl-tabs > li > a {
+       margin: 0!important;
+       padding: 1em 1.387em;
+       border: 0!important;
+       border-top-left-radius: 0;
+       border-top-right-radius: 0;
+       background-color: transparent!important;
+}
+
+#wl-wrapper .wl-tabs > li.active a {
+       -webkit-box-shadow: inset 0 -3px 0 rgba(0,0,0,0.1);
+       box-shadow: inset 0 -3px 0 rgba(0,0,0,0.1);
+}
+
+#wl-wrapper .wl-table td {
+       padding: 0.857em 1.387em!important;
+}
+
+#wl-wrapper .wl-table td:first-child {
+       padding-left: 1.387em!important;
+}
+
+#wl-wrapper .wl-table.manage td {
+       padding: 0.53em!important;
+}
+
+#wl-wrapper .wl-meta-share,
+#wl-wrapper .wl-share-url {
+       border-bottom-color: rgba(0,0,0,0.1);
+}
+
+.wl-tab-wrap .panel,
+.wl-tab-wrap ul.tabs {
+       width: 100%;
+       margin: 0;
+}
+
+.wl-tab-wrap ul.tabs li:after {
+       display: none!important;
+}
+
+.button.wl-create-new:before {
+       margin-right: 0.53em;
+       font-family: FontAwesome;
+       font-weight: 400;
+       content: "\f067";
+}
+
+@media screen and (min-width:768px) {
+       #wl-wrapper .wl-tabs > li a {
+               padding-left: 0;
+       }
+
+       #wl-wrapper .wl-tabs > li.active a {
+               -webkit-box-shadow: none;
+               box-shadow: none;
+       }
+
+       #wl-wrapper .wl-tabs > li.active:after {
+               display: block!important;
+               position: absolute;
+               top: 50%;
+               width: 1em;
+               height: 1em;
+               margin-top: -0.5em;
+               font-family: FontAwesome;
+               line-height: 1;
+               content: "\f105";
+       }
+}
diff --git a/templates/shop-isle/inc/woocommerce/css/wishlists.scss b/templates/shop-isle/inc/woocommerce/css/wishlists.scss
new file mode 100644 (file)
index 0000000..b0d9f65
--- /dev/null
@@ -0,0 +1,126 @@
+/**
+ * WooCommerce Wishlists
+ */
+
+/**
+ * Imports
+ */
+@import 'bourbon';
+@import '../../../sass/utils/variables';
+@import '../../../sass/utils/mixins';
+
+#wl-wrapper.wl-button-wrap {
+       padding: 1.618em 0 0 0;
+}
+
+.wl-add-link {
+       padding-left: 0 !important;
+       background: none !important;
+
+       &:before {
+               font-family: "FontAwesome";
+               content: "\f004";
+               margin-right: .53em;
+               font-weight: 400;
+       }
+}
+
+#wl-wrapper {
+       .wl-tabs {
+               border-bottom: 0 !important;
+
+               > li {
+                       float: none !important;
+
+                       > a {
+                               padding: 1em 1.387em;
+                               border: 0 !important;
+                               margin: 0 !important;
+                               @include border-top-radius(0);
+                               background-color: transparent !important;
+                       }
+
+                       &.active {
+                               a {
+                                       box-shadow: inset 0 -3px 0 rgba(0,0,0,0.1);
+                               }
+                       }
+               }
+       }
+
+       .wl-table {
+               td {
+                       padding: .857em 1.387em !important;
+
+                       &:first-child {
+                               padding-left: 1.387em !important;
+                       }
+               }
+
+               &.manage {
+                       td {
+                               padding: .53em !important;
+                       }
+               }
+       }
+
+       .wl-meta-share,
+       .wl-share-url {
+               border-bottom-color: $color_border;
+       }
+}
+
+.wl-tab-wrap {
+       ul.tabs,
+       .panel {
+               width: 100%;
+               margin: 0;
+       }
+
+       ul.tabs {
+               li {
+                       &:after {
+                               display: none !important;
+                       }
+               }
+       }
+}
+
+.button.wl-create-new {
+       &:before {
+               font-family: "FontAwesome";
+               content: "\f067";
+               margin-right: .53em;
+               font-weight: 400;
+       }
+}
+
+@media screen and (min-width: 768px) {
+       #wl-wrapper {
+               .wl-tabs {
+                       > li {
+                               a {
+                                       padding-left: 0;
+                               }
+
+                               &.active {
+                                       a {
+                                               box-shadow: none;
+                                       }
+
+                                       &:after {
+                                               content: "\f105";
+                                               font-family: FontAwesome;
+                                               display: block !important;
+                                               position: absolute;
+                                               top: 50%;
+                                               height: 1em;
+                                               width: 1em;
+                                               line-height: 1;
+                                               margin-top: -.5em;
+                                       }
+                               }
+                       }
+               }
+       }
+}
\ No newline at end of file
diff --git a/templates/shop-isle/inc/woocommerce/css/woocommerce.css b/templates/shop-isle/inc/woocommerce/css/woocommerce.css
new file mode 100644 (file)
index 0000000..1e5da11
--- /dev/null
@@ -0,0 +1,4816 @@
+@font-face {
+       font-family: star;
+       src: url(../../../../../plugins/woocommerce/assets/fonts/star.eot);
+       src: url(../../../../../plugins/woocommerce/assets/fonts/star.eot?#iefix) format("embedded-opentype"), url(../../../../../plugins/woocommerce/assets/fonts/star.woff) format("woff"), url(../../../../../plugins/woocommerce/assets/fonts/star.ttf) format("truetype"), url(../../../../../plugins/woocommerce/assets/fonts/star.svg#star) format("svg");
+       font-weight: 400;
+       font-style: normal;
+}
+
+.woocommerce-active .site-header .col-full {
+       position: relative;
+}
+
+.woocommerce-active .site-branding,
+.woocommerce-active .site-logo-anchor {
+       float: left;
+}
+
+.site-header-cart {
+       margin-left: 0;
+       padding: 0;
+       list-style-type: none;
+}
+
+.site-header-cart .cart-contents {
+       display: block;
+       position: absolute;
+       top: 0;
+       right: 0;
+       width: 2.244em;
+       height: 2.244em;
+       background-color: rgba(0, 0, 0, 0.05);
+       text-indent: -9999px;
+}
+
+.site-header-cart .cart-contents:after {
+       position: absolute;
+       top: 0;
+       right: 0;
+       width: 100%;
+       font-family: "ElegantIcons";
+       line-height: 2.244;
+       text-align: center;
+       text-indent: 0;
+       content: "\e07a";
+}
+
+.site-header-cart .cart-contents span {
+       display: none;
+}
+
+.site-header-cart .widget_shopping_cart {
+       display: none;
+       background-color: #2c2d33;
+}
+
+.site-search {
+       clear: both;
+       font-size: 0.857em;
+}
+
+.site-search .widget_product_search input[type=search],
+.site-search .widget_product_search input[type=text] {
+       padding: 1.387em 1.618em 1.387em 3.631em;
+       line-height: 1;
+}
+
+.site-search .widget_product_search form:before {
+       top: 1.387em;
+       left: 1.618em;
+}
+
+.site-search .widget_product_search #searchsubmit {
+       clip: rect(1px 1px 1px 1px);
+       clip: rect(1px, 1px, 1px, 1px);
+       position: absolute!important;
+}
+
+.sidebar-shop .widget_product_search input[type=search] {
+       margin-bottom: 20px;
+}
+
+.sidebar-shop .widget_product_search input[type=submit] {
+       width: 100%;
+}
+
+table.shop_table_responsive tbody th,
+table.shop_table_responsive thead {
+       display: none;
+}
+
+table.shop_table_responsive tr td {
+       display: block;
+}
+
+table.shop_table_responsive tr td:before {
+       font-weight: 700;
+       content: attr(data-title) ": ";
+}
+
+ul.products {
+       margin: 0;
+       margin-right: -15px;
+       margin-left: -15px;
+       padding-top: 70px;
+       padding-right: 0;
+       padding-left: 0;
+}
+
+ul.products::before {
+       display: table;
+       content: " ";
+}
+
+ul.products::after {
+       display: table;
+       clear: both;
+       content: "";
+}
+
+ul.products li.product {
+       position: relative;
+       margin-bottom: 4.236em;
+       margin-left: 0;
+       text-align: center;
+       list-style: none;
+}
+
+ul.products li.product .price,
+ul.products li.product .star-rating {
+       margin: 0 auto 1em;
+}
+
+ul.products li.product .price {
+       display: block;
+       color: #60646c;
+       font-weight: 400;
+}
+
+ul.products li.product .price ins {
+       margin-left: 0.618em;
+       background-color: transparent;
+       font-weight: 700;
+}
+
+ul.products li.product h2,
+ul.products li.product h3,
+.wccm-td div {
+       margin: 15px 0 5px;
+       color: #111;
+       font-family: "Roboto Condensed", sans-serif;
+       font-size: 14px;
+       font-weight: 400;
+       letter-spacing: 2px;
+       text-transform: uppercase;
+}
+
+ul.products li.product .star-rating {
+       margin-bottom: 5px;
+       font-size: 12px;
+}
+
+ul.products li.product img {
+       display: block;
+       margin: 0 auto 1.618em;
+}
+
+ul.products li.product.product-category img {
+       margin-bottom: 1.618em;
+}
+
+ul.products li.product .button {
+       margin-bottom: 0.236em;
+}
+
+.single-product div.product {
+       overflow: hidden;
+       position: relative;
+}
+
+.single-product div.product .product_meta .posted_in,
+.single-product div.product .product_meta .sku_wrapper,
+.single-product div.product .product_meta .tagged_as {
+       display: block;
+       padding: 0.3em 0;
+       border-bottom: none;
+}
+
+.single-product div.product::after {
+       display: table;
+       clear: both;
+       content: "";
+}
+
+.single-product div.product .images,
+.single-product div.product .summary {
+       margin-top: 0;
+       margin-bottom: 2.618em;
+}
+
+.single-product div.product .images img {
+       width: 100%;
+}
+
+.single-product div.product .images > img {
+       margin-bottom: 1.618em;
+}
+
+.single-product div.product .images .woocommerce-main-image {
+       display: block;
+       margin-bottom: 1.618em;
+}
+
+.single-product .product_title {
+       margin: 0 0 20px;
+       color: #111;
+       font-family: "Roboto Condensed", sans-serif;
+       letter-spacing: 2px;
+       text-transform: uppercase;
+}
+
+.single-product div.product .images .thumbnails a.zoom.last {
+       clear: right;
+       margin-right: 0;
+}
+
+.single-product div.product .images .thumbnails a.zoom.first {
+       clear: both;
+       margin-left: 0;
+}
+
+.single-product div.product .images .thumbnails a.zoom {
+       float: left;
+       width: 15%;
+       margin: 0 1% 12px;
+}
+
+.single-product div.product .images .thumbnails a.zoom img {
+       width: 100%;
+}
+
+.single-product div.product form.cart {
+       margin-bottom: 0;
+       padding: 1.618em 0;
+}
+
+.single-product div.product form.cart::after {
+       display: table;
+       clear: both;
+       content: "";
+}
+
+.single-product div.product form.cart .quantity {
+       float: left;
+}
+
+.single-product div.product form.cart .button {
+       float: right;
+       width: 65%;
+}
+
+.single-product div.product form.cart .button:hover {
+       background: rgba(17, 17, 17, 0.8);
+}
+
+.single-product div.product table.variations {
+       margin: 0;
+}
+
+.single-product div.product table.variations td,
+.single-product div.product table.variations th {
+       display: list-item;
+       float: left;
+       padding: 0;
+       color: #666;
+       background-color: transparent;
+       list-style: none;
+}
+
+.single-product div.product table.variations td.label {
+       margin-right: 10px;
+       font-size: 12px;
+       line-height: 33px;
+}
+
+.single-product div.product table.variations td.label label {
+       font: 400 12px/1.8 "Open Sans", sans-serif;
+       font-size: 12px;
+       font-weight: 600;
+}
+
+.single-product div.product table.variations a.reset_variations {
+       margin-left: 10px;
+       padding: 8px 20px;
+       border-color: #eee #eee #ddd;
+       border-radius: 2px;
+       background-color: #eee;
+       text-decoration: none;
+}
+
+.single-product div.product table.variations .value {
+       margin-bottom: 1em;
+}
+
+.single-product div.product .single_variation .price {
+       display: block;
+       margin-bottom: 1em;
+}
+
+.single-product div.product .variations_button {
+       padding-top: 1em;
+       border-top: 1px solid rgba(0, 0, 0, 0.1);
+}
+
+.single-product div.product .variations_button::after {
+       display: table;
+       clear: both;
+       content: "";
+}
+
+.single-product div.product .woocommerce-product-rating {
+       margin-bottom: 0.618em;
+       padding: 0 0 1.618em;
+       line-height: 1;
+}
+
+.single-product div.product .woocommerce-product-rating::after {
+       display: table;
+       clear: both;
+       content: "";
+}
+
+.add_to_cart_button {
+       padding: 8px 37px;
+       border-radius: 2px;
+       color: #fff;
+       background: rgba(17, 17, 17, 1);
+       -webkit-box-shadow: none;
+       box-shadow: none;
+       font-family: "Roboto Condensed", sans-serif;
+       font-size: 12px;
+       letter-spacing: 2px;
+       text-transform: uppercase;
+}
+
+.single_add_to_cart_button {
+       padding: 10px 45px;
+       border: black;
+       border-radius: 2px;
+       color: #fff;
+       background: rgba(17, 17, 17, 1);
+       -webkit-box-shadow: none;
+       box-shadow: none;
+       font-family: "Roboto Condensed", sans-serif;
+       font-size: 13px;
+       letter-spacing: 2px;
+       text-transform: uppercase;
+}
+
+.product .product-button-wrap .product_type_simple,
+ul.products li.product .product-button-wrap .button.product_type_simple,
+.shop-item .product-button-wrap .product_type_simple {
+       position: relative;
+       bottom: 0;
+       padding: 10px 30px;
+       border-radius: 2px;
+       opacity: 0;
+       opacity: 1;
+       color: #aaa;
+       color: #fff;
+       background: rgba(17, 17, 17, 1);
+       font-family: "Roboto Condensed",sans-serif;
+       font-size: 12px;
+       line-height: 25px;
+       letter-spacing: 2px;
+       text-transform: uppercase;
+       -webkit-transform: translateY(0%);
+       -ms-transform: translateY(0%);
+       transform: translateY(0%);
+}
+
+.product .product-button-wrap .product_type_simple:hover,
+ul.products li.product .product-button-wrap .button.product_type_simple:hover,
+.shop-item .product-button-wrap .product_type_simple:hover {
+       background: rgba(17, 17, 17, 0.8);
+}
+
+.single-product div.product .woocommerce-product-rating a {
+       font-size: 0.857em;
+}
+
+.single-product div.product .woocommerce-product-rating .star-rating {
+       float: left;
+}
+
+.product_meta {
+       float: left;
+       width: 100%;
+}
+
+.single-product div.product .product_meta .posted_in:last-child,
+.single-product div.product .product_meta .sku_wrapper:last-child,
+.single-product div.product .product_meta .tagged_as:last-child {
+       border-bottom: 0;
+}
+
+.single-product div.product p.stock:before {
+       margin-right: 0.53em;
+       font-family: "ElegantIcons";
+}
+
+.single-product div.product p.stock.in-stock:before {
+       content: "\f118";
+}
+
+.single-product div.product p.stock.out-of-stock:before {
+       content: "\f119";
+}
+
+#reviews #comments {
+       margin-top: 0;
+       padding-top: 0;
+}
+
+#reviews .commentlist {
+       float: left;
+       margin-left: 0;
+       padding-left: 0;
+       list-style: none;
+}
+
+#reviews .commentlist li {
+       clear: both;
+       margin-bottom: 3.631em;
+       list-style: none;
+}
+
+#reviews .commentlist li time {
+       opacity: 0.8;
+}
+
+#reviews .commentlist li .avatar {
+       float: left;
+       width: 55px;
+       height: auto;
+       border-radius: 50%;
+}
+
+#reviews .commentlist li p.meta {
+       margin-bottom: 1em;
+}
+
+#reviews .commentlist li .description {
+       padding-bottom: 1.618em;
+}
+
+#reviews .commentlist li ul.children {
+       float: right;
+       width: 81.8181818182%;
+       margin-right: 0;
+       padding-top: 2.618em;
+       border-top: 1px solid rgba(0, 0, 0, 0.1);
+}
+
+.woocommerce-breadcrumb {
+       float: left;
+       margin-bottom: 1.236em;
+       padding-right: 15px;
+       padding-left: 15px;
+       font-size: 14px;
+}
+
+.single-product .woocommerce-breadcrumb {
+       float: none;
+}
+
+.woocommerce-breadcrumb a.home:before {
+       margin-right: 0.53em;
+       font-family: "ElegantIcons";
+       font-weight: 400;
+       content: "\f015";
+}
+
+.product_list_widget {
+       margin-left: 0;
+       list-style: none;
+}
+
+.product_list_widget .amount {
+       font-size: 12px;
+       letter-spacing: 0;
+}
+
+.product_list_widget li {
+       padding: 1em 0;
+       border-bottom: 1px dotted rgba(0, 0, 0, 0.1);
+}
+
+.product_list_widget li::after {
+       display: table;
+       clear: both;
+       content: "";
+}
+
+.product_list_widget li img {
+       float: right;
+       max-width: 2.618em;
+}
+
+.product_list_widget li .quantity {
+       display: block;
+}
+
+.product_list_widget a:hover {
+       color: #96588a;
+}
+
+.widget_products a {
+       display: block;
+}
+
+.widget_shopping_cart .product_list_widget {
+       margin-bottom: 0;
+}
+
+.widget_shopping_cart .product_list_widget li a.remove {
+       position: absolute;
+       top: 1em;
+       left: 0;
+       opacity: 1;
+}
+
+.widget_shopping_cart p.buttons,
+.widget_shopping_cart p.total {
+       margin: 0;
+       padding: 0;
+       text-align: center;
+}
+
+.widget_shopping_cart p.total {
+       border-bottom: 1px solid rgba(0, 0, 0, 0.1);
+}
+
+.widget_product_categories ul {
+       margin: 0;
+}
+
+.widget_product_categories ul li {
+       margin-bottom: 0.618em;
+       list-style: none;
+}
+
+.widget_product_categories ul li.current-cat:before {
+       content: "\f115";
+}
+
+.widget_product_categories .children {
+       margin-top: 0.618em;
+       margin-left: 1.618em;
+}
+
+.site-header .widget_shopping_cart li,
+.site-header .widget_shopping_cart p.buttons,
+.site-header .widget_shopping_cart p.total {
+       padding-right: 1.387em;
+       padding-left: 1.387em;
+       background-color: rgba(0, 0, 0, 0.025);
+}
+
+.widget_layered_nav li {
+       margin-bottom: 0.618em;
+}
+
+.widget_layered_nav li:before {
+       float: left;
+       position: absolute;
+       top: 9px;
+       left: 0;
+       padding-right: 5px;
+       opacity: 1;
+       color: #666;
+       content: "\00BB";
+}
+
+.widget_layered_nav .chosen:before {
+       content: "\f14a";
+}
+
+.widget.woocommerce li .count {
+       float: right;
+       font-size: 1em;
+}
+
+.widget_price_filter .price_slider {
+       margin-bottom: 1em;
+}
+
+.widget_price_filter .price_slider_amount {
+       line-height: 2.4em;
+       text-align: right;
+}
+
+.widget_price_filter .price_slider_amount .button {
+       float: left;
+}
+
+.widget_price_filter .ui-slider {
+       position: relative;
+       text-align: left;
+}
+
+.widget_price_filter .ui-slider .ui-slider-handle {
+       position: absolute;
+       z-index: 2;
+       -webkit-box-sizing: border-box;
+       box-sizing: border-box;
+       width: 1em;
+       height: 1em;
+       margin-top: -0.25em;
+       border-radius: 1em;
+       outline: 0;
+       opacity: 1;
+       background: #96588a;
+       cursor: ew-resize;
+}
+
+.widget_price_filter .ui-slider .ui-slider-handle:last-child {
+       margin-left: -1em;
+}
+
+.widget_price_filter .ui-slider .ui-slider-handle.ui-state-active,
+.widget_price_filter .ui-slider .ui-slider-handle:hover {
+       -webkit-box-shadow: 0 0 0 0.236em rgba(0, 0, 0, 0.1);
+       box-shadow: 0 0 0 0.236em rgba(0, 0, 0, 0.1);
+}
+
+.widget_price_filter .ui-slider .ui-slider-range {
+       display: block;
+       position: absolute;
+       z-index: 1;
+       border: 0;
+       border-radius: 1em;
+       background: #96588a;
+       font-size: 0.7em;
+}
+
+.widget_price_filter .price_slider_wrapper .ui-widget-content {
+       border-radius: 1em;
+       background: rgba(0, 0, 0, 0.1);
+}
+
+.widget_price_filter .ui-slider-horizontal {
+       height: 0.5em;
+}
+
+.widget_price_filter .ui-slider-horizontal .ui-slider-range {
+       top: 0;
+       height: 100%;
+}
+
+.widget_price_filter .ui-slider-horizontal .ui-slider-range-min {
+       left: -1px;
+}
+
+.widget_price_filter .ui-slider-horizontal .ui-slider-range-max {
+       right: -1px;
+}
+
+table.cart {
+       margin-bottom: 3.631em;
+}
+
+table.cart thead th {
+       padding: 0;
+}
+
+table.cart td,
+table.cart th {
+       padding: 0.53em;
+}
+
+table.cart .qty {
+       max-width: 1.618em;
+       padding: 0.236em;
+}
+
+table.cart td.actions label {
+       display: none;
+}
+
+table.cart td.actions .coupon {
+       margin-bottom: 1em;
+       padding-bottom: 1em;
+       border-bottom: 1px dotted rgba(0, 0, 0, 0.1);
+}
+
+table.cart td.actions input {
+       display: block;
+       width: 100%;
+       margin: 0.236em 0;
+}
+
+.wc-proceed-to-checkout {
+       margin-bottom: 1.618em;
+}
+
+.wc-proceed-to-checkout::after {
+       display: table;
+       clear: both;
+       content: "";
+}
+
+.wc-proceed-to-checkout .button {
+       display: block;
+       margin-bottom: 1em;
+       text-align: center;
+}
+
+.wc-proceed-to-checkout .button.checkout-button {
+       display: block;
+       width: 100%;
+       margin-bottom: 0;
+       padding: 8px 37px;
+       border: 1px solid transparent;
+       border-radius: 2px;
+       color: #fff;
+       background: rgba(17, 17, 17, 0.8);
+       -webkit-box-shadow: none;
+       box-shadow: none;
+       font-family: "Roboto Condensed", sans-serif;
+       font-size: 12px;
+       font-weight: 400;
+       letter-spacing: 2px;
+       text-transform: uppercase;
+       -webkit-transition: all 0.125s ease-in-out 0s;
+       transition: all 0.125s ease-in-out 0s;
+}
+
+.wc-proceed-to-checkout .button.checkout-button:hover {
+       background: rgba(17, 17, 17, 1);
+}
+
+ul#shipping_method {
+       margin: 0;
+       list-style: none;
+}
+
+a.remove {
+       display: block;
+       position: relative;
+       height: 1.618em;
+       font-weight: 400;
+       line-height: 1.618;
+       text-indent: -9999px;
+}
+
+.checkout_coupon {
+       margin-bottom: 2.618em;
+}
+
+#shop-isle-checkout-coupon .checkout_coupon {
+       display: block;
+       float: left;
+       width: 100%;
+       margin-bottom: 0;
+}
+
+.woocommerce-checkout .woocommerce-info {
+       display: none;
+}
+
+.woocommerce-checkout #shop-isle-checkout-coupon .woocommerce-info {
+       display: block;
+}
+
+#shop-isle-checkout-coupon .checkout_coupon .form-row-first {
+       width: 100%;
+       margin-right: 0;
+       margin-left: -200px;
+       padding-left: 200px;
+}
+
+#shop-isle-checkout-coupon .woocommerce-info,
+#shop-isle-checkout-coupon .woocommerce-error {
+       margin-bottom: 15px;
+}
+
+#shop-isle-checkout-coupon .checkout_coupon .form-row-first input[type="text"] {
+       width: 100%;
+       height: 35px;
+       padding: 6px 12px;
+       border: 1px solid #eaeaea;
+       border-radius: 2px;
+       font-family: "Roboto Condensed", sans-serif;
+       font-size: 12px;
+       letter-spacing: 2px;
+}
+
+.woocommerce #shop-isle-checkout-coupon .form-row input[type="submit"] {
+       max-width: 195px;
+       margin-right: 0;
+}
+
+#shop-isle-checkout-coupon .checkout_coupon .form-row-last {
+       width: auto;
+}
+
+form.checkout::after {
+       display: table;
+       clear: both;
+       content: "";
+}
+
+#payment {
+       border-top: 3px solid rgba(0, 0, 0, 0.1);
+}
+
+#payment::after {
+       display: table;
+       clear: both;
+       content: "";
+}
+
+#payment .create-account {
+       clear: both;
+}
+
+#payment .payment_methods {
+       margin: 0!important;
+       padding: 0!important;
+       border-bottom: 1px dotted rgba(0, 0, 0, 0.1);
+}
+
+#payment .payment_methods li {
+       margin-left: 0;
+       padding: 1.387em!important;
+       border-bottom: 1px dotted rgba(0, 0, 0, 0.1);
+       list-style: none!important;
+}
+
+#payment .payment_methods li img {
+       float: right;
+       max-height: 1.618em;
+       padding: 0;
+       border: 0;
+}
+
+#payment .payment_methods li:last-child {
+       padding-bottom: 0;
+       border-bottom: 0;
+}
+
+#payment .payment_methods li label {
+       width: 92%;
+       margin-left: 0.618em;
+       padding-top: 0!important;
+       font-weight: 700;
+}
+
+#payment .payment_methods li p {
+       margin: 0;
+}
+
+#payment .payment_methods li .payment_box {
+       margin: 1.387em -1.387em -1.387em;
+       padding: 1.387em;
+       border-top: 1px dotted rgba(0, 0, 0, 0.1);
+       background: rgba(0, 0, 0, 0.035);
+}
+
+#payment .payment_methods li .payment_box fieldset {
+       margin: 0;
+       padding: 1em 0 0;
+       border: 0;
+       font-size: 0.857em;
+}
+
+#payment .payment_methods li .payment_box fieldset label {
+       width: auto;
+       margin-left: 0;
+}
+
+#payment .payment_methods li .payment_box fieldset .form-row {
+       margin-bottom: 1em;
+}
+
+#payment .payment_methods li .payment_box fieldset .form-row-first select {
+       width: 48%;
+}
+
+#payment .payment_methods li .payment_box fieldset .form-row-first select:nth-child(2n) {
+       float: right;
+}
+
+#payment .payment_methods li .payment_box fieldset #cvv {
+       width: 22%!important;
+}
+
+#payment .payment_methods li .payment_box fieldset .help {
+       float: right;
+       width: 75%;
+}
+
+#payment .terms {
+       float: none;
+       clear: both;
+       width: 100%;
+       margin-top: 1em;
+       margin-bottom: 0;
+}
+
+#payment .terms label {
+       display: inline;
+}
+
+#payment .terms input {
+       display: inline-block;
+       float: left;
+       width: auto;
+       margin: 0.327em 0.53em 0 0;
+}
+
+#payment .place-order {
+       float: none;
+       width: 100%;
+       margin-bottom: 0;
+       padding: 1.387em;
+}
+
+#payment .place-order .button {
+       width: 100%;
+       font-size: 1.387em;
+}
+
+#customer_login .col-1 {
+       margin-bottom: 1.618em;
+       padding-bottom: 1.618em;
+       border-bottom: 1px dotted rgba(0, 0, 0, 0.1);
+}
+
+ul.order_details {
+       position: relative;
+       margin-left: 0;
+       border: 1px solid rgba(0, 0, 0, 0.1);
+       list-style: none;
+}
+
+ul.order_details::after {
+       display: table;
+       clear: both;
+       content: "";
+}
+
+ul.order_details li {
+       float: left;
+       padding: 1em 1.618em;
+       border-right: 1px solid rgba(0, 0, 0, 0.1);
+       font-size: 0.8em;
+       text-transform: uppercase;
+}
+
+ul.order_details li:last-child {
+       border-right: 0;
+}
+
+ul.order_details li strong {
+       display: block;
+       font-size: 1.387em;
+       text-transform: none;
+}
+
+ul.digital-downloads {
+       margin-left: 0;
+       list-style: none;
+}
+
+ul.digital-downloads li {
+       margin-bottom: 1em;
+       padding-bottom: 1em;
+       border-bottom: 1px dotted rgba(0, 0, 0, 0.1);
+}
+
+ul.digital-downloads li:before {
+       margin-right: 0.53em;
+       font-family: "ElegantIcons";
+       content: "\e092";
+}
+
+.my_account_orders .button {
+       margin-right: 0.236em;
+       padding: 0.53em 1em;
+       font-size: 0.857em;
+}
+
+.form-row label {
+       display: block;
+}
+
+.form-row input,
+.form-row select,
+.form-row textarea {
+       width: 100%;
+}
+
+.form-row .button,
+.form-row input[type=checkbox],
+.form-row input[type=radio] {
+       width: auto;
+}
+
+.form-row.create-account label {
+       display: inline-block;
+}
+
+.form-row.woocommerce-validated input.input-text {
+       -webkit-box-shadow: inset 2px 0 0 #0f834d;
+       box-shadow: inset 2px 0 0 #0f834d;
+}
+
+.form-row.woocommerce-invalid input.input-text {
+       -webkit-box-shadow: inset 2px 0 0 #e2401c;
+       box-shadow: inset 2px 0 0 #e2401c;
+}
+
+.form-row-last {
+       margin-right: 0!important;
+}
+
+.form-row-wide {
+       clear: both;
+       width: 100%;
+}
+
+.required {
+       border-bottom: 0!important;
+       color: red;
+}
+
+.demo_store {
+       position: fixed;
+       z-index: 99999;
+       right: 0;
+       bottom: 0;
+       left: 0;
+       margin: 0;
+       padding: 1em 1.387em;
+       color: #fff;
+       background-color: #3d9cd2;
+}
+
+.demo_store:before {
+       margin-right: 0.53em;
+       font-family: ElegantIcons;
+       content: "\70";
+}
+
+.star-rating {
+       overflow: hidden;
+       position: relative;
+       width: 5.5em;
+       height: 1em;
+       margin-bottom: 10px;
+       font-family: star;
+       font-size: 1em;
+       line-height: 1;
+}
+
+.star-rating:before {
+       float: left;
+       position: absolute;
+       top: 0;
+       left: 0;
+       color: rgba(0, 0, 0, 0.2);
+       content: "\73\73\73\73\73";
+}
+
+.star-rating span {
+       float: left;
+       overflow: hidden;
+       position: absolute;
+       top: 0;
+       left: 0;
+       padding-top: 1.5em;
+}
+
+.star-rating span:before {
+       position: absolute;
+       top: 0;
+       left: 0;
+       color: #f1c40f;
+       content: "\53\53\53\53\53";
+}
+
+.onsale {
+       position: absolute;
+       top: 3px;
+       right: 17px;
+       left: auto;
+       min-width: 50px;
+       min-height: 50px;
+       margin: 0;
+       padding: 0;
+       border-radius: 0;
+       color: #fff;
+       background-color: rgba(10, 10, 10, 0.9);
+       line-height: 50px;
+       text-align: center;
+}
+
+.onsale.out-of-stock {
+       padding: 0 10px;
+       background-color: #e03958;
+}
+
+.product-main-content .onsale {
+       right: auto;
+}
+
+.product-main-content .onsale.out-of-stock {
+       width: auto;
+}
+
+.quantity .qty {
+       height: 39px;
+       padding: 3px 16px;
+       border: 1px solid #eaeaea;
+       border-radius: 2px;
+       font-family: "Roboto Condensed", sans-serif;
+       font-size: 12px;
+       font-size: 13px;
+       line-height: 16px;
+       text-align: left;
+       letter-spacing: 2px;
+}
+
+.shop-isle-sorting {
+       margin-bottom: 2.618em;
+       font-size: 0.857em;
+}
+
+.woocommerce-tabs {
+       padding: 1em 0;
+}
+
+.woocommerce-tabs ul.tabs {
+       margin-left: 0;
+       text-align: center;
+       list-style: none;
+}
+
+.woocommerce-tabs ul.tabs li {
+       display: inline-block;
+       position: relative;
+       margin-right: 1em;
+}
+
+.woocommerce-tabs ul.tabs li.active a {
+       color: #555;
+}
+
+.woocommerce-error {
+       list-style: none;
+}
+
+.page-title ~ .woocommerce-error,
+.page-title ~ .woocommerce-info,
+.page-title ~ .woocommerce-message {
+       width: 1170px;
+       margin: 10px auto;
+}
+
+.woocommerce-page-title ~ .woocommerce-error,
+.woocommerce-page-title ~ .woocommerce-info,
+.woocommerce-page-title ~ .woocommerce-message {
+       width: 1110px;
+       margin: 50px auto 20px;
+}
+
+.woocommerce-error ~ .module-small,
+.woocommerce-info ~ .module-small,
+.woocommerce-message ~ .module-small {
+       padding-top: 10px;
+}
+
+.module-small-shop ul.products {
+       padding-top: 50px;
+}
+
+.module-small-shop .woocommerce-breadcrumb {
+       margin-bottom: 0;
+}
+
+.sidebar-shop {
+       padding-top: 50px;
+}
+
+.woocommerce-noreviews,
+p.no-comments {
+       min-height: 20px;
+       margin-bottom: 20px;
+       padding: 15px;
+       border: 1px solid #e3e3e3;
+       border-radius: 4px;
+       color: #666;
+       background-color: #f5f5f5;
+}
+
+.woocommerce-error,
+.woocommerce-info,
+.woocommerce-message {
+       clear: both;
+       width: 100%;
+       margin-bottom: 30px;
+       margin-left: 0;
+       padding: 15px;
+       border-radius: 2px;
+}
+
+.woocommerce-info {
+       border-color: #bce8f1;
+       color: #31708f;
+       background-color: #d9edf7;
+}
+
+.woocommerce-info a {
+       color: #31708f;
+       font-weight: bold;
+}
+
+.woocommerce-info a.button {
+       float: right;
+       border: none;
+       color: #31708f;
+       font-weight: bold;
+}
+
+.woocommerce-message {
+       border-color: #d6e9c6;
+       color: #3c763d;
+       background-color: #dff0d8;
+}
+
+.woocommerce-message a {
+       color: #3c763d;
+       font-weight: bold;
+}
+
+.woocommerce-message a.button {
+       float: right;
+       border: none;
+       color: #3c763d;
+       font-weight: bold;
+}
+
+.woocommerce-error {
+       border-color: #ebccd1;
+       color: #a94442;
+       background-color: #f2dede;
+}
+
+.woocommerce-error a {
+       color: #a94442;
+       font-weight: bold;
+}
+
+.woocommerce-error a:hover,
+.woocommerce-message a:hover,
+.woocommerce-info a:hover {
+       opacity: 0.7;
+
+       filter: alpha(opacity=70);
+}
+
+.woocommerce-error a.button {
+       float: right;
+       border: none;
+       color: #a94442;
+       font-weight: bold;
+}
+
+.woocommerce-error a.button:hover {
+       opacity: 0.7;
+}
+
+.woocommerce-error a.wc-backward {
+       padding-right: 20px;
+       padding-left: 20px;
+       color: #fff;
+       background: #a94442;
+}
+
+.woocommerce-error::after,
+.woocommerce-info::after,
+.woocommerce-message::after,
+.woocommerce-noreviews::after,
+p.no-comments::after {
+       display: table;
+       clear: both;
+       content: "";
+}
+
+.woocommerce-error pre,
+.woocommerce-info pre,
+.woocommerce-message pre,
+.woocommerce-noreviews pre,
+p.no-comments pre {
+       background-color: rgba(0, 0, 0, 0.1);
+}
+
+.site-content > .col-full > .woocommerce > .woocommerce-error:first-child,
+.site-content > .col-full > .woocommerce > .woocommerce-info:first-child,
+.site-content > .col-full > .woocommerce > .woocommerce-message:first-child {
+       margin-top: 2.618em;
+}
+
+dl.variation {
+       font-size: 0.857em;
+}
+
+dl.variation dd {
+       margin: 0 0 1em;
+}
+
+.shop-isle-product-section {
+       margin-bottom: 4.236em;
+       border-bottom: 3px solid rgba(0, 0, 0, 0.025);
+}
+
+.shop-isle-product-section .section-title {
+       text-align: center;
+}
+
+.shop-isle-product-section:last-child {
+       border-bottom: 0;
+}
+
+p.stars {
+       font-size: 1em;
+}
+
+p.stars a {
+       display: inline-block;
+}
+
+p.stars a.star-1,
+p.stars a.star-2,
+p.stars a.star-3,
+p.stars a.star-4 {
+       border-right: 1px solid rgba(0, 0, 0, 0.1);
+}
+
+table.shop_table_responsive thead {
+       display: table-header-group;
+}
+
+table.shop_table_responsive tbody th,
+table.shop_table_responsive tr td {
+       display: table-cell;
+}
+
+table.shop_table_responsive tr td:before {
+       display: none;
+}
+
+.site-header-cart {
+       position: relative;
+}
+
+.site-header-cart .cart-contents {
+       display: block;
+       position: relative;
+       width: auto;
+       height: auto;
+       padding: 0 1em 2.244em;
+       background-color: transparent;
+       text-indent: 0;
+}
+
+.site-header-cart .cart-contents:after {
+       top: 0;
+       right: 1.618em;
+       width: 1em;
+       height: 1em;
+       line-height: 1.387;
+}
+
+.site-header-cart .cart-contents .amount {
+       margin-right: 0.327em;
+}
+
+.site-header-cart .cart-contents .count {
+       opacity: 0.5;
+       font-size: 0.857em;
+       font-weight: 400;
+}
+
+.site-header-cart .cart-contents span {
+       display: inline;
+}
+
+.site-header-cart .widget_shopping_cart {
+       display: block;
+       position: absolute;
+       z-index: 999999;
+       top: 100%;
+       left: -999em;
+       width: 100%;
+       font-size: 0.857em;
+}
+
+.site-header-cart .widget_shopping_cart h2.widgettitle {
+       display: none;
+}
+
+.site-header-cart .widget_shopping_cart .product_list_widget li a.remove {
+       float: left;
+       position: relative;
+       top: auto;
+}
+
+.site-header-cart .widget_shopping_cart .product_list_widget li a.remove:before {
+       text-align: left;
+}
+
+.site-header-cart.focus .widget_shopping_cart,
+.site-header-cart:hover .widget_shopping_cart {
+       left: 0;
+}
+
+ul.products li.product {
+       float: left;
+       clear: none;
+       width: 25%;
+       padding-right: 15px;
+       padding-left: 15px;
+       font-size: 0.857em;
+}
+
+.shop-with-sidebar ul.products li.product {
+       width: 33.2%;
+}
+
+.shop-with-sidebar ul.products li.product:nth-child(3n+1) {
+       clear: left;
+}
+
+ul.products li.product.last {
+       margin-right: 0;
+}
+
+ul.products li.product.first {
+       clear: both;
+}
+
+.single-product ul.products li.product.first {
+       clear: none;
+}
+
+.page-template-template-fullwidth-php .site-main .columns-1 ul.products li.product,
+.page-template-template-homepage-php .site-main .columns-1 ul.products li.product,
+.shop-isle-full-width-content .site-main .columns-1 ul.products li.product {
+       float: none;
+       width: 100%;
+       margin-right: 0;
+}
+
+.page-template-template-fullwidth-php .site-main .columns-2 ul.products li.product,
+.page-template-template-homepage-php .site-main .columns-2 ul.products li.product,
+.shop-isle-full-width-content .site-main .columns-2 ul.products li.product {
+       float: left;
+       width: 47.8260869565%;
+       margin-right: 4.347826087%;
+}
+
+.page-template-template-fullwidth-php .site-main .columns-3 ul.products li.product,
+.page-template-template-homepage-php .site-main .columns-3 ul.products li.product,
+.shop-isle-full-width-content .site-main .columns-3 ul.products li.product {
+       float: left;
+       width: 30.4347826087%;
+       margin-right: 4.347826087%;
+}
+
+.page-template-template-fullwidth-php .site-main .columns-4 ul.products li.product,
+.page-template-template-homepage-php .site-main .columns-4 ul.products li.product,
+.shop-isle-full-width-content .site-main .columns-4 ul.products li.product {
+       float: left;
+       width: 21.7391304348%;
+       margin-right: 4.347826087%;
+}
+
+.page-template-template-fullwidth-php .site-main .columns-5 ul.products li.product,
+.page-template-template-homepage-php .site-main .columns-5 ul.products li.product,
+.shop-isle-full-width-content .site-main .columns-5 ul.products li.product {
+       width: 16.9%;
+       margin-right: 3.8%;
+}
+
+.site-main .columns-1 ul.products li.product {
+       float: none;
+       width: 100%;
+       margin-right: 0;
+}
+
+.site-main .columns-2 ul.products li.product {
+       width: 48%;
+       margin-right: 3.8%;
+}
+
+.site-main .columns-3 ul.products li.product {
+       float: left;
+       width: 29.4117647059%;
+       margin-right: 5.8823529412%;
+}
+
+.site-main .columns-4 ul.products li.product {
+       width: 22.05%;
+       margin-right: 3.8%;
+}
+
+.site-main .columns-5 ul.products li.product {
+       width: 16.9%;
+       margin-right: 3.8%;
+}
+
+.site-main ul.products li.product {
+       float: left;
+       width: 29.4117647059%;
+       margin-right: 5.8823529412%;
+}
+
+.single-product div.product .images {
+       float: left;
+       position: relative;
+       width: 41.1764705882%;
+       margin-right: 5.8823529412%;
+       margin-bottom: 3.631em;
+}
+
+.single-product div.product .images .thumbnails::after {
+       display: table;
+       clear: both;
+       content: "";
+}
+
+.single-product div.product .summary {
+       float: right;
+       width: 52.9411764706%;
+       margin-right: 0;
+       margin-bottom: 3.631em;
+}
+
+.single-product div.product .woocommerce-tabs {
+       clear: both;
+}
+
+.single-product .header-shopping-cart .amount {
+       font-size: 12px;
+}
+
+.widget_shopping_cart .product_list_widget li.empty {
+       color: #fff;
+}
+
+#reviews .comment-form-author,
+#reviews .comment-form-email {
+       width: 50%;
+       padding: 0 15px;
+}
+
+#reviews .comment-form-email {
+       margin-right: 0;
+       padding-right: 0;
+}
+
+.shop-isle-full-width-content.single-product div.product .images {
+       float: left;
+       width: 30.4347826087%;
+       margin-right: 4.347826087%;
+       margin-bottom: 3.631em;
+}
+
+.shop-isle-full-width-content.single-product div.product .images .thumbnails a.zoom {
+       float: left;
+       width: 14.2857142857%;
+       margin-right: 14.2857142857%;
+}
+
+.shop-isle-full-width-content.single-product div.product .images .thumbnails a.zoom.last {
+       margin-right: 0;
+}
+
+.shop-isle-full-width-content.single-product div.product .summary {
+       float: right;
+       width: 65.2173913043%;
+       margin-right: 0;
+       margin-bottom: 3.631em;
+}
+
+.shop-isle-full-width-content.single-product div.product .woocommerce-tabs {
+       clear: both;
+}
+
+.shop-isle-full-width-content.single-product .related ul.products li.product,
+.shop-isle-full-width-content.single-product .upsells ul.products li.product {
+       float: left;
+       width: 30.4347826087%;
+       margin-right: 4.347826087%;
+}
+
+.woocommerce .page-description {
+       float: left;
+       width: 100%;
+       margin-bottom: 1.618em;
+       padding: 0 15px 15px;
+}
+
+.shop-isle-sorting {
+       margin-bottom: 2.618em;
+}
+
+.shop-isle-sorting::after {
+       display: table;
+       clear: both;
+       content: "";
+}
+
+.shop-isle-sorting select {
+       width: 9.505em;
+}
+
+.woocommerce-result-count {
+       float: left;
+       position: relative;
+       margin-bottom: 0;
+       padding: 0.327em 0;
+}
+
+.woocommerce-ordering {
+       float: right;
+       margin-right: 1em;
+       margin-bottom: 0;
+       padding-right: 15px;
+       padding-left: 15px;
+}
+
+.woocommerce-ordering select {
+       height: 33px;
+       padding-left: 10px;
+       border: 1px solid #eaeaea;
+       border-radius: 2px;
+       font-family: "Roboto Condensed", sans-serif;
+       font-size: 12px;
+       letter-spacing: 2px;
+}
+
+.woocommerce-pagination {
+       clear: none;
+       margin-bottom: 0;
+       padding: 0;
+       border: 0;
+}
+
+.woocommerce-pagination .page-numbers.current {
+       display: inline-block;
+       border-color: #cacaca;
+}
+
+.woocommerce-pagination ul.page-numbers {
+       margin-left: 0;
+       padding-left: 0;
+}
+
+.page-template-template-fullwidth-php table.cart .product-thumbnail {
+       display: table-cell;
+}
+
+.page-template-template-fullwidth-php table.cart .product-thumbnail img {
+       max-width: 3.631em;
+       height: auto;
+       border: 0.327em solid #fff;
+}
+
+.page-template-template-fullwidth-php table.cart thead {
+       font-size: 1em;
+       text-indent: 0;
+}
+
+.page-template-template-fullwidth-php table.cart thead th,
+table.cart td,
+table.cart th {
+       padding: 0.857em 1.387em;
+}
+
+table.cart .qty {
+       max-width: 3.632em;
+       padding: 0.857em;
+}
+
+table.cart .product-remove {
+       display: table-cell;
+}
+
+table.cart .product-quantity .minus,
+table.cart .product-quantity .plus {
+       display: inline-block;
+}
+
+table.cart .quantity .qty {
+       width: 100%;
+       max-width: 100%;
+       height: 33px;
+       padding: 0.618em;
+       border: 1px solid #eaeaea;
+       border-radius: 2px;
+       font-family: "Roboto Condensed", sans-serif;
+       font-size: 12px;
+       line-height: 1.42857143;
+       text-align: left;
+       letter-spacing: 2px;
+}
+
+table.cart td.actions {
+       text-align: right;
+}
+
+table.cart td.actions label {
+       display: none;
+}
+
+table.cart td.actions .coupon {
+       display: inline-block;
+       float: left;
+       margin-bottom: 0;
+       padding-bottom: 0;
+       border-bottom: none;
+}
+
+table.cart td.actions input {
+       display: inline-block;
+       width: auto;
+       margin: 0;
+}
+
+.cart-collaterals::after {
+       display: table;
+       clear: both;
+       content: "";
+}
+
+.cart-collaterals .cross-sells {
+       float: left;
+       width: 41.1764705882%;
+       margin-right: 5.8823529412%;
+}
+
+.cart-collaterals .cross-sells ul.products li.product {
+       float: left;
+       width: 42.8571428571%;
+       margin-right: 14.2857142857%;
+}
+
+.cart-collaterals .cart_totals,
+.cart-collaterals .shipping_calculator {
+       float: right;
+       clear: right;
+       width: 52.9411764706%;
+       margin: 0;
+}
+
+.cart-collaterals .shipping_calculator {
+       clear: right;
+}
+
+.page-template-template-fullwidth-php .cart-collaterals .cross-sells {
+       float: left;
+       width: 47.8260869565%;
+       margin-right: 4.347826087%;
+}
+
+.page-template-template-fullwidth-php .cart-collaterals .cross-sells ul.products li.product {
+       float: left;
+       width: 45.4545454545%;
+       margin-right: 9.0909090909%;
+}
+
+.page-template-template-fullwidth-php .cart-collaterals .cart_totals,
+.page-template-template-fullwidth-php .cart-collaterals .shipping_calculator {
+       float: right;
+       width: 47.8260869565%;
+       margin-right: 0;
+}
+
+.col2-set {
+       float: left;
+       width: 52.9411764706%;
+       margin-right: 5.8823529412%;
+}
+
+.cart_totals h2,
+.cross-sells h2 {
+       font-family: "Roboto Condensed", sans-serif;
+       font-size: 18px;
+       font-weight: 400;
+       line-height: 1.4;
+       letter-spacing: 2px;
+       text-transform: uppercase;
+}
+
+.cross-sells ul.products {
+       padding-top: 0;
+}
+
+.cross-sells ul.products li.product {
+       padding-right: 0;
+       padding-left: 0;
+}
+
+.cross-sells .product:hover .product-button-wrap {
+       bottom: 60%;
+}
+
+.cart_totals table,
+.cart_totals table td,
+.cart_totals table th {
+       padding: 12px;
+       border: 1px solid #e5e5e5;
+}
+
+.cart_totals table > tbody > tr:nth-of-type(odd) {
+       background-color: #f9f9f9;
+}
+
+.col2-set .form-row-first {
+       float: left;
+       width: 33.3333333333%;
+       margin-right: 11.1111111111%;
+}
+
+.col2-set .form-row-last {
+       float: right;
+       width: 55.5555555556%;
+       margin-right: 0;
+}
+
+.col2-set .col-1,
+.col2-set .col-2 {
+       margin-bottom: 1.618em;
+}
+
+.col2-set + #customer_details {
+       display: none;
+}
+
+#order_review,
+#order_review_heading {
+       float: right;
+       clear: right;
+       width: 41.1764705882%;
+       margin-right: 0;
+       border: 1px solid #e5e5e5;
+}
+
+#order_review_heading {
+       margin-bottom: 0;
+       padding: 0.618em 2.0833333333%;
+}
+
+.woocommerce-order-pay #order_review {
+       float: none;
+       width: 100%;
+       border-width: 3px;
+}
+
+.woocommerce-order-pay #order_review #payment h3 {
+       padding-top: 1em;
+       padding-left: 1em;
+}
+
+.woocommerce-order-pay #order_review .payment_methods + .form-row {
+       padding: 1em;
+}
+
+.woocommerce-order-pay #order_review .button#place_order {
+       display: block;
+       width: 100%;
+}
+
+#wc_checkout_add_ons {
+       float: left;
+       width: 41.1764705882%;
+       margin-right: 5.8823529412%;
+}
+
+.page-template-template-fullwidth-php .col2-set {
+       float: left;
+       width: 47.8260869565%;
+       margin-right: 4.347826087%;
+}
+
+.page-template-template-fullwidth-php .col2-set .form-row-first {
+       width: 45.4545454545%;
+       margin-right: 9.0909090909%;
+}
+
+.page-template-template-fullwidth-php .col2-set .form-row-last {
+       float: right;
+       width: 45.4545454545%;
+       margin-right: 0;
+}
+
+.page-template-template-fullwidth-php #order_review,
+.page-template-template-fullwidth-php #order_review_heading,
+.page-template-template-fullwidth-php #wc_checkout_add_ons {
+       float: right;
+       width: 47.8260869565%;
+       margin-right: 0;
+}
+
+.page-template-template-fullwidth-php #order_review {
+       font-size: 0.857em;
+}
+
+.form-row-first {
+       float: left;
+       clear: both;
+       width: 47.0588235294%;
+       margin-right: 5.8823529412%;
+}
+
+.form-row-last {
+       float: right;
+       width: 47.0588235294%;
+       margin-right: 0;
+}
+
+.page-template-template-fullwidth-php .form-row-first {
+       float: left;
+       width: 47.8260869565%;
+       margin-right: 4.347826087%;
+}
+
+.page-template-template-fullwidth-php .form-row-last {
+       float: right;
+       width: 47.8260869565%;
+       margin-right: 0;
+}
+
+.shop-isle-full-width-content .woocommerce-tabs ul.tabs {
+       float: left;
+       width: 30.4347826087%;
+       margin-right: 4.347826087%;
+}
+
+.shop-isle-full-width-content .woocommerce-tabs .panel {
+       float: right;
+       width: 65.2173913043%;
+       margin-right: 0;
+       margin-bottom: 3.631em;
+}
+
+.woocommerce-tabs {
+       margin-bottom: 2.618em;
+       padding-top: 2.618em;
+       padding-bottom: 2.618em;
+}
+
+.woocommerce-tabs::after {
+       display: table;
+       clear: both;
+       content: "";
+}
+
+.woocommerce-tabs ul.tabs {
+       float: left;
+       width: 100%;
+       padding-left: 0;
+       border-bottom: 1px solid #ddd;
+       text-align: left;
+}
+
+.woocommerce-tabs ul.tabs li {
+       display: block;
+       float: left;
+       margin: 0;
+       margin-bottom: -1px;
+}
+
+.woocommerce-tabs ul.tabs li a {
+       display: block;
+       padding: 10px 15px;
+}
+
+.woocommerce-tabs ul.tabs li.active {
+       border: 1px solid #ddd;
+       border-bottom-color: transparent;
+       color: #555;
+       background-color: #fff;
+       cursor: default;
+}
+
+.woocommerce-tabs .panel {
+       float: left;
+       width: 100%;
+       margin-top: 0;
+}
+
+#order_review .shop_table,
+#order_review .shop_table th,
+#order_review .shop_table td {
+       padding: 12px;
+       border: 1px solid #e5e5e5;
+}
+
+.module-cart-top {
+       padding-bottom: 0;
+}
+
+.module-cart-bottom {
+       padding-top: 0;
+}
+
+table.cart td.actions input[name="update_cart"] {
+       padding: 8px 37px;
+       border: 1px solid transparent;
+       border: rgba(17, 17, 17, 1);
+       border-radius: 2px;
+       color: #fff;
+       background: rgba(17, 17, 17, 0.8);
+       font-family: "Roboto Condensed", sans-serif;
+       font-size: 12px;
+       letter-spacing: 2px;
+       -webkit-transition: all 0.125s ease-in-out 0s;
+       transition: all 0.125s ease-in-out 0s;
+}
+
+table.cart td.actions input[name="update_cart"]:hover {
+       background: rgba(17, 17, 17, 1);
+}
+
+table.cart td.actions input[name="apply_coupon"] {
+       padding: 8px 37px;
+       border: #d8d8d8;
+       border-radius: 2px;
+       color: #111;
+       background: #e5e5e5;
+       -webkit-box-shadow: none;
+       box-shadow: none;
+       font-family: "Roboto Condensed", sans-serif;
+       font-size: 12px;
+       text-decoration: none;
+       letter-spacing: 2px;
+       -webkit-transition: all 0.125s ease-in-out 0s;
+       transition: all 0.125s ease-in-out 0s;
+}
+
+table.cart td.actions input[name="apply_coupon"]:hover {
+       background: #d8d8d8;
+}
+
+.shop_table.cart,
+.shop_table.cart td,
+.shop_table.cart th {
+       padding: 12px;
+       border: 1px solid #e5e5e5;
+}
+
+.shop_table.cart img {
+       max-width: 83px;
+}
+
+.shop_table.cart > tbody > tr:nth-of-type(odd) {
+       background-color: #f9f9f9;
+}
+
+table.cart td.actions input[name="coupon_code"] {
+       height: 33px;
+       padding: 6px 12px;
+       border: 1px solid #eaeaea;
+       border-radius: 2px;
+       -webkit-box-shadow: none;
+       box-shadow: none;
+       font-family: "Roboto Condensed", sans-serif;
+       font-size: 12px;
+       letter-spacing: 2px;
+}
+
+tr.cart_item td.product-name a {
+       margin: 0 0 20px;
+       color: #111;
+       font-family: "Roboto Condensed", sans-serif;
+       font-size: 14px;
+       font-weight: 400;
+       line-height: 1.4;
+       letter-spacing: 2px;
+       text-transform: uppercase;
+}
+
+td.product-price span.amount,
+td.product-subtotal span.amount {
+       margin: 0 0 20px;
+       color: #111;
+       font-family: "Roboto Condensed", sans-serif;
+       font-size: 14px;
+       font-weight: 400;
+       line-height: 1.4;
+       letter-spacing: 2px;
+       text-transform: uppercase;
+}
+
+.related.products {
+       padding: 70px 0 0 0;
+}
+
+.related.products .amount,
+.upsells.products .amount {
+       font: 400 12px/1.8 "Open Sans", sans-serif;
+}
+
+.related.products h2,
+.upsells.products h2 {
+       position: relative;
+       color: #111;
+       font-family: "Roboto Condensed", sans-serif;
+       font-size: 30px;
+       font-weight: 400;
+       line-height: 1.4;
+       text-align: center;
+       letter-spacing: 4px;
+       text-transform: uppercase;
+}
+
+.woocommerce-tabs .panel h2 {
+       font: bold 12px/1.8 "Open Sans", sans-serif;
+}
+
+#review_form_wrapper {
+       clear: both;
+}
+
+#reviews #comments .comment-text {
+       float: left;
+       margin-left: 20px;
+}
+
+#reviews #comments p.meta strong {
+       font-family: "Roboto Condensed", sans-serif;
+       font-weight: normal;
+       letter-spacing: 2px;
+       text-transform: uppercase;
+}
+
+#reviews form input {
+       float: left;
+       width: 100%;
+       height: 33px;
+       margin-bottom: 15px;
+       padding-right: 15px;
+       padding-left: 15px;
+       border: 1px solid #eaeaea;
+       border-radius: 2px;
+       font-family: "Roboto Condensed", sans-serif;
+       font-size: 12px;
+       letter-spacing: 2px;
+}
+
+#reviews form p {
+       float: left;
+       margin: 0;
+}
+
+#reviews p.comment-form-comment,
+#reviews p.comment-form-comment textarea {
+       width: 100%;
+       padding-left: 15px;
+}
+
+#reviews p.comment-form-comment textarea {
+       margin-bottom: 15px;
+       padding: 6px 12px;
+       border: 1px solid #eaeaea;
+       border-radius: 2px;
+       font-family: "Roboto Condensed", sans-serif;
+       font-size: 12px;
+       letter-spacing: 2px;
+}
+
+#review_form_wrapper form {
+       float: left;
+       margin-top: 25px;
+       margin-left: -15px;
+}
+
+p.comment-form-rating {
+       width: 33.33%;
+       padding-right: 15px;
+       padding-left: 15px;
+}
+
+#reviews form input[type="submit"] {
+       margin-left: 15px;
+       padding: 8px 37px;
+       border: 1px solid transparent;
+       border-radius: 2px;
+       color: #fff;
+       background: rgba(17, 17, 17, 0.8);
+}
+
+#reviews form input[type="submit"]:hover {
+       background: rgba(17, 17, 17, 1);
+}
+
+.wc-backward {
+       padding: 8px 37px;
+       border-radius: 2px;
+       color: #fff;
+       background: rgba(17, 17, 17, 0.8);
+       font-family: "Roboto Condensed", sans-serif;
+       font-size: 12px;
+       letter-spacing: 2px;
+       text-transform: uppercase;
+}
+
+.wc-backward:hover {
+       color: #fff;
+       background: rgba(17, 17, 17, 1);
+}
+
+.shipping-calculator-form button {
+       padding: 8px 37px;
+       border: 1px solid transparent;
+       border-radius: 2px;
+       color: #fff;
+       background: rgba(17, 17, 17, 0.8);
+       -webkit-box-shadow: none;
+       box-shadow: none;
+       font-family: "Roboto Condensed", sans-serif;
+       font-size: 12px;
+       letter-spacing: 2px;
+       text-transform: uppercase;
+       -webkit-transition: all 0.125s ease-in-out 0s;
+       transition: all 0.125s ease-in-out 0s;
+}
+
+.shipping-calculator-form button:hover {
+       background: rgba(17, 17, 17, 1);
+}
+
+.shipping-calculator-form input,
+.shipping-calculator-form select {
+       width: 100%;
+       max-width: 100%;
+       height: 33px;
+       padding: 0.618em;
+       border: 1px solid #eaeaea;
+       border-radius: 2px;
+       font-family: "Roboto Condensed", sans-serif;
+       font-size: 12px;
+       line-height: 1.42857143;
+       text-align: left;
+       letter-spacing: 2px;
+       text-transform: uppercase;
+}
+
+.woocommerce-account h2 {
+       font-family: "Roboto Condensed", sans-serif;
+       font-size: 18px;
+       font-weight: 400;
+       line-height: 1.4;
+       letter-spacing: 2px;
+       text-transform: uppercase;
+}
+
+.woocommerce-account input {
+       height: 33px;
+       border: 1px solid #eaeaea;
+       border-radius: 2px;
+       -webkit-box-shadow: none;
+       box-shadow: none;
+       font-family: "Roboto Condensed", sans-serif;
+       font-size: 12px;
+       letter-spacing: 2px;
+       text-transform: uppercase;
+}
+
+.woocommerce-account input[type="text"],
+.woocommerce-account input[type="email"],
+.woocommerce-account input[type="password"],
+.woocommerce-account input[type="tel"] {
+       padding: 10px;
+}
+
+.woocommerce-account input[type="submit"] {
+       border-radius: 2px;
+}
+
+.woocommerce-account input[type="submit"]:hover {
+       border: 1px solid #000;
+       color: #fff;
+       background: #000;
+       -webkit-transition: all 0.125s ease-in-out 0s;
+       transition: all 0.125s ease-in-out 0s;
+}
+
+ul.products li.product {
+       overflow: hidden;
+}
+
+ul.products li.product:nth-child(4n+1) {
+       clear: left;
+}
+
+.shop-with-sidebar ul.products li.product:nth-child(4n+1) {
+       clear: none;
+}
+
+.shop-with-sidebar ul.products li.product:nth-child(3n+1) {
+       clear: left;
+}
+
+h1.page-title {
+       margin-top: 0;
+}
+
+.container-wooinfo {
+       padding-right: 0;
+       padding-left: 0;
+}
+
+.shop_isle_hidden_if_not_customizer {
+       display: none !important;
+}
+
+body.home .navbar-color-customizer {
+       background-color: rgba(10, 10, 10, 0.9) !important;
+}
+
+@media (min-width: 768px) {
+       body.home .navbar-transparent {
+               padding-top: 10px;
+               padding-bottom: 10px;
+       }
+}
+
+.shop-item-detail {
+       padding: 0;
+}
+
+.shop-item-detail .add_to_cart_inline {
+       border: 0 !important;
+}
+
+.shop-item-detail del,
+.shop-item-detail ins {
+       display: none;
+}
+
+.navbar-cart-inner .icon-basket {
+       color: #fff;
+       color: rgba(255, 255, 255, 0.7);
+       font-size: 12px;
+       line-height: 14px;
+}
+
+.navbar-cart-inner:hover .icon-basket {
+       color: rgba(255, 255, 255, 1);
+}
+
+.navbar-cart-inner .cart-item-number {
+       position: absolute;
+       top: 9px;
+       right: initial;
+       left: 7px;
+       width: auto;
+       min-width: 14px;
+       border-radius: 2px;
+       background: #e5e5e5;
+}
+
+.navbar-cart-inner {
+       float: right;
+       position: relative;
+       width: 25px;
+       height: 25px;
+}
+
+.navbar-cart {
+       display: table-cell !important;
+       width: 90px;
+       height: 25px;
+       margin-left: 20px;
+       padding-left: 30px;
+       vertical-align: middle;
+}
+
+/*******************************************/
+/** Header shopping cart               *****/
+/*******************************************/
+.header-shopping-cart {
+       display: none;
+       position: absolute;
+       top: 25px;
+       right: 0;
+       width: 300px;
+       padding: 11px 15px;
+       background-color: rgba(26, 26, 26, 0.90);
+}
+
+.navbar-cart-inner:hover .header-shopping-cart {
+       display: block;
+}
+
+.header-shopping-cart .mini_cart_item a {
+       display: block;
+       padding-top: 10px;
+       color: #999;
+       font-size: 11px;
+       text-align: right;
+       letter-spacing: 2px;
+}
+
+.header-shopping-cart .product_list_widget li img {
+       float: left;
+       max-width: 57px;
+       margin-top: -10px;
+       border: 3px solid rgba(255, 255, 255, 0.1);
+}
+
+.header-shopping-cart .widget.woocommerce a:hover {
+       color: #fff;
+}
+
+.header-shopping-cart .mini_cart_item .quantity,
+.header-shopping-cart .mini_cart_item .quantity span {
+       color: #888;
+       font-size: 11px;
+       line-height: 13px;
+       text-align: right;
+}
+
+.header-shopping-cart .widget_shopping_cart p.buttons {
+       margin-bottom: -10px;
+       padding-bottom: 0;
+}
+
+.header-shopping-cart .widget_shopping_cart p.buttons a {
+       padding: 8px 20px;
+       color: #fff;
+       background: rgba(255, 255, 255, 0.8);
+       font-family: "Roboto Condensed", sans-serif;
+       font-size: 11px;
+       letter-spacing: 2px;
+       text-transform: uppercase;
+}
+
+.header-shopping-cart .widget_shopping_cart p.buttons a.wc-forward {
+       margin-left: 5px;
+}
+
+.header-shopping-cart .widget_shopping_cart p.buttons a:hover {
+       opacity: 0.85;
+}
+
+.header-shopping-cart .widget_shopping_cart .product_list_widget li a.remove {
+       top: -10px;
+       right: 5px;
+       bottom: 15px;
+       left: auto;
+       color: #aaa;
+}
+
+.header-shopping-cart .widget_shopping_cart .product_list_widget li a.remove:hover {
+       color: #f96262;
+       background-color: transparent;
+}
+
+.header-shopping-cart .widget_shopping_cart p.total {
+       margin: 20px 0;
+       padding: 0;
+       color: #aaa;
+       text-align: right;
+}
+
+.header-shopping-cart .widget_shopping_cart .amount {
+       color: #fff;
+}
+
+.header-shopping-cart .widget_shopping_cart .product_list_widget li.mini_cart_item {
+       margin: 0 0 10px;
+       padding: 0;
+       border: 1px solid rgba(73, 71, 71, 0.15);
+}
+
+.header-shopping-cart dl.variation {
+       display: inline-block;
+       width: 100%;
+}
+
+.header-shopping-cart dl.variation dd {
+       float: right;
+       width: 49%;
+       margin: 0;
+       text-align: right;
+}
+
+.header-shopping-cart dl.variation dt {
+       float: left;
+       width: 49%;
+       margin-bottom: 5px;
+       text-align: right;
+}
+
+.header-shopping-cart dl.variation dd p {
+       margin-bottom: 5px;
+}
+
+/* rating stars */
+p.stars {
+       position: relative;
+       width: 100px;
+       height: 20px;
+}
+
+p.stars span {
+       float: left;
+       overflow: hidden;
+       width: 100px;
+       height: 20px;
+       line-height: 20px;
+}
+
+p.stars a.star-1,
+p.stars a.star-2,
+p.stars a.star-3,
+p.stars a.star-4,
+p.stars a.star-5 {
+       float: left;
+       position: relative;
+       height: 20px;
+       margin: 0;
+       padding: 0;
+       border: none;
+       color: transparent;
+}
+
+p.stars span:before,
+p.stars a.star-1:hover:before,
+p.stars a.star-2:hover:before,
+p.stars a.star-3:hover:before,
+p.stars a.star-4:hover:before,
+p.stars a.star-5:hover:before {
+       color: #ccc;
+       font-family: star;
+       font-size: 16px;
+       text-align: left;
+       letter-spacing: 2px;
+}
+
+p.stars:hover a.star-1.active:before,
+p.stars:hover a.star-2.active:before,
+p.stars:hover a.star-3.active:before,
+p.stars:hover a.star-4.active:before,
+p.stars:hover a.star-5.active:before {
+       color: transparent;
+}
+
+p.stars a.star-1.active:hover:before,
+p.stars a.star-2.active:hover:before,
+p.stars a.star-3.active:hover:before,
+p.stars a.star-4.active:hover:before,
+p.stars a.star-5.active:hover:before {
+       color: #f1c40f;
+}
+
+p.stars span:before {
+       position: absolute;
+       top: 0;
+       left: 0;
+       width: 100%;
+       height: 20px;
+       content: "\53\53\53\53\53";
+}
+
+p.stars a.star-1 {
+       z-index: 10;
+       width: 18px;
+}
+
+p.stars a.star-2 {
+       z-index: 8;
+       width: 36px;
+       margin-left: -18px;
+}
+
+p.stars a.star-3 {
+       z-index: 6;
+       width: 54px;
+       margin-left: -36px;
+}
+
+p.stars a.star-4 {
+       z-index: 4;
+       width: 72px;
+       margin-left: -54px;
+}
+
+p.stars a.star-5 {
+       z-index: 2;
+       width: 90px;
+       margin-left: -72px;
+}
+
+p.stars a.star-1:hover:before,
+p.stars a.star-2:hover:before,
+p.stars a.star-3:hover:before,
+p.stars a.star-4:hover:before,
+p.stars a.star-5:hover:before,
+p.stars a.star-1.active:before,
+p.stars a.star-2.active:before,
+p.stars a.star-3.active:before,
+p.stars a.star-4.active:before,
+p.stars a.star-5.active:before {
+       position: absolute;
+       top: 0;
+       right: 0;
+       left: auto;
+       height: 20px;
+       color: #f1c40f;
+       font-family: star;
+       font-size: 16px;
+       letter-spacing: 2px;
+}
+
+p.stars a.star-1:hover:before,
+p.stars a.star-1.active:before {
+       z-index: 9;
+       width: 18px;
+       content: "\53";
+}
+
+p.stars a.star-2:hover:before,
+p.stars a.star-2.active:before {
+       z-index: 7;
+       width: 36px;
+       content: "\53\53";
+}
+
+p.stars a.star-3:hover:before,
+p.stars a.star-3.active:before {
+       z-index: 5;
+       width: 54px;
+       content: "\53\53\53";
+}
+
+p.stars a.star-4:hover:before,
+p.stars a.star-4.active:before {
+       z-index: 3;
+       width: 72px;
+       content: "\53\53\53\53";
+}
+
+p.stars a.star-5:hover:before,
+p.stars a.star-5.active:before {
+       z-index: 1;
+       width: 90px;
+       content: "\53\53\53\53\53";
+}
+
+p.stars a.star-1:after,
+p.stars a.star-2:after,
+p.stars a.star-3:after,
+p.stars a.star-4:after,
+p.stars a.star-5:after {
+       display: none;
+       content: "";
+}
+
+a.remove {
+       display: block;
+       width: 1em;
+       height: 1em;
+       margin: 0 auto;
+       border: 0;
+       border-radius: 100%;
+       color: rgb(249, 98, 98);
+       font-size: 1.5em;
+       font-weight: 700;
+       line-height: 1;
+       text-align: center;
+       text-decoration: none;
+       text-indent: 0;
+}
+
+a.remove:hover {
+       color: #fff;
+       background: rgb(249, 98, 98);
+}
+
+/****
+Search form Header
+****/
+.header-search {
+       float: left;
+       position: relative;
+       width: 25px;
+       height: 25px;
+       text-align: center;
+}
+
+.header-search-button {
+       color: #cbc7c2;
+       font-size: 14px;
+       line-height: 20px;
+       cursor: pointer;
+}
+
+.header-search:hover .header-search-button {
+       color: #fff;
+}
+
+.header-search-input {
+       display: none;
+       position: absolute;
+       top: 100%;
+       right: 0;
+       width: 220px;
+       padding: 5px;
+       background: rgba(26, 26, 26, 0.9);
+}
+
+.header-search.header-search-open .header-search-input {
+       display: block;
+}
+
+.header-search.header-search-open .header-search-button {
+       color: #fff;
+}
+
+.header-search-input input[type=submit] {
+       position: absolute;
+       z-index: 9;
+       top: 5px;
+       right: 5px;
+       width: 28px;
+       height: 33px;
+       border: none;
+       background: none;
+       text-indent: -9999999px;
+}
+
+.header-search-input input[type="search"] {
+       width: 100%;
+       padding: 10px;
+       padding-right: 28px;
+       border: none;
+       border-radius: 0;
+       font-family: "Roboto Condensed", sans-serif;
+       font-size: 12px;
+       line-height: 12px;
+       letter-spacing: 2px;
+}
+
+.header-search-input:after {
+       display: inline-block;
+       position: absolute;
+       z-index: 8;
+       top: 5px;
+       right: 5px;
+       width: 20px;
+       width: 33px;
+       color: #999;
+       font-family: "Glyphicons Halflings";
+       font-size: 12px;
+       font-weight: 400;
+       font-style: normal;
+       -webkit-font-smoothing: antialiased;
+       -moz-osx-font-smoothing: grayscale;
+       line-height: 1;
+       line-height: 33px;
+       content: "\e003";
+}
+
+/****
+Single product page
+****/
+.woocommerce.single-product .price ins {
+       float: left;
+       width: 100%;
+}
+
+.woocommerce.single-product .price ins .amount {
+       float: left;
+       width: 100%;
+       color: #666;
+       line-height: 36px;
+       text-decoration: none;
+}
+
+.woocommerce.single-product .product-type-variable .price ins {
+       font-family: "Roboto Condensed", sans-serif;
+       font-size: 32px;
+       text-decoration: none;
+       letter-spacing: 2px;
+       text-transform: uppercase;
+}
+
+.woocommerce.single-product .product-type-variable .price ins .amount {
+       float: none;
+       width: auto;
+}
+
+.woocommerce.single-product .product-type-grouped .label {
+       display: table-cell;
+       padding: 0;
+       font-size: 75%;
+       font-weight: normal;
+       line-height: normal;
+       text-align: left;
+       vertical-align: middle;
+       white-space: inherit;
+}
+
+.woocommerce.single-product .product-type-grouped form.cart .quantity {
+       width: 100%;
+}
+
+.woocommerce.single-product .price del {
+       float: left;
+       width: 100%;
+}
+
+.woocommerce.single-product .price del .amount {
+       font-size: 20px;
+       line-height: 24px;
+}
+
+.woocommerce.single-product .stock {
+       float: left;
+       width: 100%;
+}
+
+.woocommerce.single-product div[itemprop="offers"] {
+       float: left;
+       width: 100%;
+       margin-bottom: 20px;
+}
+
+.woocommerce.single-product div[itemprop="description"] {
+       float: left;
+       width: 100%;
+}
+
+.woocommerce.single-product div.product form.cart {
+       float: left;
+       width: 100%;
+}
+
+.woocommerce.single-product div.product .woocommerce-product-rating {
+       margin-bottom: 0;
+       padding: 0 0 20px;
+}
+
+.product-main-content .onsale {
+       z-index: 10;
+       right: auto;
+       left: 3px;
+}
+
+.woocommerce .comment_container {
+       float: left;
+       position: relative;
+}
+
+.woocommerce .form-row input[type="submit"] {
+       width: auto;
+       padding: 8px 37px;
+       border: none;
+       border-radius: 2px;
+       color: #fff;
+       background: rgba(17, 17, 17, 1);
+       font-family: "Roboto Condensed",sans-serif;
+       font-size: 12px;
+       letter-spacing: 2px;
+       text-transform: uppercase;
+}
+
+.woocommerce .form-row input[type="submit"]:hover {
+       background: rgba(17, 17, 17, 0.8);
+}
+
+#reviews .commentlist li .avatar {
+       position: absolute;
+       top: 0;
+       left: 0;
+}
+
+#reviews #comments .comment-text {
+       float: left;
+       margin-left: 70px;
+}
+
+#reviews #comments .comment-text {
+       position: relative;
+       padding-top: 18px;
+}
+
+#reviews #comments .comment-text .star-rating {
+       position: absolute;
+       bottom: 0;
+       left: 0;
+}
+
+#reviews .commentlist li {
+       float: left;
+       clear: both;
+       width: 100%;
+       margin-bottom: 30px;
+       list-style: none;
+}
+
+#review_form_wrapper form {
+       width: 100%;
+       margin-left: 0;
+}
+
+#reviews .comment-form-rating {
+       min-height: 33px;
+       padding-bottom: 15px;
+       padding-left: 0;
+}
+
+#reviews p.comment-form-comment,
+#reviews p.comment-form-comment textarea {
+       padding-left: 0;
+}
+
+#reviews p.comment-form-comment textarea {
+       height: 75px;
+       padding: 6px 12px;
+}
+
+#reviews form input[type="submit"] {
+       margin-left: 0;
+       line-height: 15px;
+}
+
+#reviews .comment-form-author {
+       padding-left: 0;
+}
+
+#reviews form .form-submit {
+       clear: left;
+}
+
+.woocommerce.single-product table.shop_attributes tr:nth-child(odd) {
+       background-color: #f9f9f9;
+}
+
+.woocommerce.single-product table.shop_attributes tr td,
+.woocommerce.single-product table.shop_attributes tr th {
+       padding: 8px;
+       font-weight: normal;
+}
+
+.woocommerce.single-product table.shop_attributes p {
+       margin: 0;
+       padding: 0;
+}
+
+.single-product div.product form.cart .button {
+       width: 66.66666667%;
+       padding: 0 0 15px;
+       padding: 10px;
+}
+
+.single-product div.product form.cart .quantity {
+       width: 33.33333333%;
+       padding: 0 15px 0 0;
+}
+
+.single-product div.product form.cart .quantity .qty {
+       width: 100%;
+}
+
+.woocommerce-tabs ul.tabs li,
+.woocommerce-tabs ul.tabs li.active {
+       border: none;
+       background: none;
+}
+
+.woocommerce-tabs ul.tabs li a {
+       display: block;
+       position: relative;
+       margin-right: 2px;
+       padding: 10px 15px;
+       border: 1px solid #fff;
+       border-bottom-color: transparent;
+       border-radius: 2px;
+       border-radius: 4px 4px 0 0;
+       color: #555;
+       font-family: "Roboto Condensed", sans-serif;
+       line-height: 1.42857143;
+       letter-spacing: 2px;
+       text-transform: uppercase;
+}
+
+.woocommerce-tabs ul.tabs li.active a {
+       border: 1px solid #ddd;
+       border-bottom-color: transparent;
+       background-color: #fff;
+       cursor: pointer;
+}
+
+.woocommerce-tabs ul.tabs li a:hover {
+       border-color: #eee #eee #ddd;
+       background-color: #eee;
+       text-decoration: none;
+}
+
+.woocommerce-tabs ul.tabs li.active a:hover {
+       border: 1px solid #ddd;
+       border-bottom-color: transparent;
+       background: #fff;
+       cursor: default;
+}
+
+.single-product div.product .images {
+       width: 50%;
+       margin-right: 0;
+       padding: 0 15px 0 0;
+}
+
+.single-product .flex-viewport {
+       margin-bottom: 20px;
+}
+
+.single-product figure.woocommerce-product-gallery__wrapper {
+       max-width: inherit;
+       margin-bottom: 20px;
+}
+
+.single-product .woocommerce-product-gallery .flex-control-thumbs {
+       margin: 0;
+       padding: 0;
+       list-style: none;
+}
+
+.single-product .woocommerce-product-gallery .flex-control-thumbs li {
+       display: inline-block;
+       width: 31%;
+       margin: 2px 3.5% 10px 0;
+}
+
+.single-product .woocommerce-product-gallery .flex-control-thumbs li:nth-child(3n) {
+       margin-right: 0;
+}
+
+.single-product .woocommerce-product-gallery .flex-control-thumbs li:nth-child(2n+1),
+.single-product .woocommerce-product-gallery .flex-control-thumbs li:first-child {
+       margin-left: 0;
+}
+
+.single-product div.product .woocommerce-product-gallery .flex-control-thumbs li img {
+       width: auto;
+       cursor: pointer;
+}
+
+.single-product .woocommerce-product-gallery .woocommerce-product-gallery__trigger:after {
+       display: block;
+       position: absolute;
+       top: 19px;
+       left: 22px;
+       -webkit-box-sizing: content-box;
+       box-sizing: content-box;
+       width: 2px;
+       height: 8px;
+       border-radius: 6px;
+       background: #000;
+       content: "";
+       -webkit-transform: rotate(-45deg);
+       -ms-transform: rotate(-45deg);
+       transform: rotate(-45deg);
+}
+
+.single-product .woocommerce-product-gallery .woocommerce-product-gallery__trigger:before {
+       display: block;
+       position: absolute;
+       top: 9px;
+       left: 9px;
+       -webkit-box-sizing: content-box;
+       box-sizing: content-box;
+       width: 10px;
+       height: 10px;
+       border: 2px solid #000;
+       border-radius: 100%;
+       content: "";
+}
+
+.single-product .woocommerce-product-gallery .woocommerce-product-gallery__trigger {
+       position: absolute;
+       z-index: 9;
+       top: 15px;
+       right: 30px;
+       -webkit-box-sizing: content-box;
+       box-sizing: content-box;
+       width: 36px;
+       height: 36px;
+       border-radius: 100%;
+       background: #fff;
+       font-size: 2em;
+       text-indent: -9999px;
+}
+
+.single-product div.product .summary {
+       width: 50%;
+       padding: 0 0 0 15px;
+}
+
+.single-product div.product .woocommerce-product-rating a {
+       padding-left: 5px;
+       font-size: 12px;
+}
+
+.single-product div.product p.stock.in-stock:before,
+.single-product div.product p.stock.out-of-stock:before {
+       display: none;
+}
+
+.woocommerce-tabs .panel h2 {
+       margin: 0 0 20px;
+       padding-top: 30px;
+       padding-bottom: 15px;
+       font: normal 12px/1.8 "Open Sans", sans-serif;
+       font-family: "Roboto Condensed", sans-serif;
+       font-size: 16px;
+       letter-spacing: 2px;
+       text-transform: uppercase;
+}
+
+.woocommerce.single-product ul.products {
+       margin-bottom: 0;
+       padding-bottom: 0;
+}
+
+.woocommerce.single-product .related.products,
+.woocommerce.single-product .upsells.products {
+       overflow: hidden;
+       padding-top: 100px;
+       padding-bottom: 70px;
+}
+
+/* you may also like */
+.woocommerce.single-product ul.products li.product img {
+       width: 100%;
+}
+
+.woocommerce.single-product .price del {
+       color: #999;
+}
+
+.woocommerce.single-product .price del .amount {
+       color: #999;
+}
+
+.woocommerce.single-product ul.products li.product .price del {
+       color: #999;
+}
+
+.woocommerce.single-product .owl-carousel .ex-product .woocommerce-Price-amount,
+.woocommerce.single-product ul.products li.product .price del .amount {
+       color: #999;
+       font-size: 12px;
+}
+
+.single-product .owl-carousel .ex-product ins {
+       text-decoration: none;
+}
+
+.woocommerce.single-product ul.products li.product .price ins .amount {
+       line-height: 20px;
+}
+
+.woocommerce.single-product ul.products li.product .price ins {
+       margin-left: 0;
+}
+
+.form-row #rememberme {
+       vertical-align: -12px;
+}
+
+.form-row label {
+       font-weight: normal;
+}
+
+.add_to_cart_button:not(.product_type_variable):before,
+.icon-basket:before,
+.single-product div.product form.cart .button:before {
+       display: inline-block;
+       position: relative;
+       top: 1px;
+       margin-right: 5px;
+       font-family: "Glyphicons Halflings";
+       font-weight: 400;
+       font-style: normal;
+       -webkit-font-smoothing: antialiased;
+       -moz-osx-font-smoothing: grayscale;
+       line-height: 1;
+       content: "\e116";
+}
+
+.shop-with-sidebar {
+       float: right;
+       padding: 0;
+}
+
+/****
+product list
+****/
+.woocommerce ul.products {
+       float: left;
+       min-width: 100%;
+}
+
+.woocommerce ul.products li.product .price del {
+       float: left;
+       width: 100%;
+       color: #999;
+       font-size: 12px;
+}
+
+.woocommerce ul.products li.product .price del .amount {
+       color: #999;
+       font: 400 12px/1.8 "Open Sans", sans-serif;
+       text-decoration: none;
+       letter-spacing: 2px;
+       text-transform: uppercase;
+}
+
+.woocommerce ul.products li.product .price ins {
+       float: left;
+       width: 100%;
+       margin: 0;
+       color: #999;
+       font-size: 12px;
+       text-decoration: none;
+       text-decoration: none;
+}
+
+.woocommerce ul.products li.product .price ins .amount,
+.woocommerce ul.products li.product .price .amount {
+       color: #999;
+       font: 400 12px/1.8 "Open Sans", sans-serif;
+       text-decoration: none;
+       letter-spacing: 2px;
+       text-transform: uppercase;
+}
+
+ul.products li.product .button.product_type_simple {
+       padding: 5px 37px;
+       border-radius: 2px;
+       color: #fff;
+       background: rgba(17, 17, 17, 1);
+       font-family: "Roboto Condensed", sans-serif;
+       font-size: 12px;
+       line-height: 25px;
+       letter-spacing: 2px;
+       text-transform: uppercase;
+}
+
+ul.products li.product .button.product_type_simple:hover,
+ul.products li.product .button.product_type_simple:focus {
+       background: rgba(17, 17, 17, 0.8);
+}
+
+table.cart .quantity .qty {
+       float: none;
+       max-width: 100px;
+       margin-right: auto;
+       margin-left: auto;
+       text-align: left;
+}
+
+.product-rating-home .star-rating {
+       display: inline-block;
+       float: none;
+       margin-bottom: 0;
+}
+
+ul.products li.product .product-button-wrap .button,
+.product-button-wrap .button {
+       display: inline-block;
+       margin: 10px 5px 0;
+       padding: 0 10px;
+}
+
+ul.products li.product .product-button-wrap .add-to-cart-button-wrap .button,
+.add-to-cart-button-wrap .button {
+       display: inline;
+}
+
+/****
+Cart page
+****/
+.shop_table.cart {
+       border: none;
+}
+
+.shop_table.cart th,
+.shop_table.cart td {
+       border: 1px solid #e5e5e5;
+}
+
+.shop_table.cart tr:last-child td {
+       padding-right: 0;
+       padding-left: 0;
+       border-right: none;
+       border-left: none;
+}
+
+.shop_table.cart > tbody > tr:nth-of-type(odd) {
+       background: none;
+}
+
+.shop_table.cart > thead > tr,
+.shop_table.cart > tbody > tr:nth-of-type(even) {
+       background-color: #f9f9f9;
+}
+
+.shop_table.cart tbody tr:last-child {
+       background: none;
+}
+
+ul.products li.product img {
+       width: 100%;
+}
+
+ul.products li.product:hover img {
+       /*      opacity: 0.6;*/
+}
+
+.woocommerce-billing-fields input {
+       height: 33px;
+       padding: 6px 12px;
+       border: 1px solid #eaeaea;
+       border-radius: 2px;
+       font-family: "Roboto Condensed", sans-serif;
+       font-size: 12px;
+       letter-spacing: 2px;
+       text-transform: uppercase;
+}
+
+.form-row textarea {
+       height: 75px;
+       padding: 6px 12px;
+       border: 1px solid #eaeaea;
+       border-radius: 2px;
+       font-family: "Roboto Condensed", sans-serif;
+       font-size: 12px;
+       letter-spacing: 2px;
+       text-transform: uppercase;
+}
+
+.form-row.woocommerce-validated input.input-text {
+       -webkit-box-shadow: none;
+       box-shadow: none;
+}
+
+.select2-container .select2-choice {
+       height: 33px;
+       padding: 6px 12px;
+       border: 1px solid #eaeaea;
+       border-radius: 2px;
+       font-family: "Roboto Condensed", sans-serif;
+       font-size: 12px;
+       letter-spacing: 2px;
+       text-transform: uppercase;
+}
+
+#order_review,
+#order_review_heading {
+       border: none;
+}
+
+#payment .place-order .button {
+       padding: 8px 37px;
+       border: none;
+       border-radius: 0;
+       border-radius: 2px;
+       color: #fff;
+       background: rgba(17, 17, 17, 1);
+       font-family: "Roboto Condensed", sans-serif;
+       font-size: 12px;
+       letter-spacing: 2px;
+       text-transform: uppercase;
+}
+
+#payment .place-order .button:hover,
+#payment .place-order .button:focus {
+       background: rgba(17, 17, 17, 0.8);
+}
+
+#payment .place-order {
+       padding-right: 0;
+       padding-left: 0;
+}
+
+#payment {
+       border-top: 1px solid rgba(0,0,0,0.1);
+}
+
+#payment .payment_methods li label {
+       width: 100%;
+}
+
+.product .product-button-wrap .add_to_cart_button,
+ul.products li.product .product-button-wrap .button.product_type_simple,
+ul.products li.product .product-button-wrap .button.product_type_grouped,
+.shop-item .product-button-wrap .add_to_cart_button,
+.shop-item .product-button-wrap .button.product_type_grouped,
+.shop-item .product-button-wrap .button.product_type_variable,
+ul.products li.product .product-button-wrap .product_type_variable {
+       position: relative;
+       bottom: 0;
+       padding: 10px 30px;
+       border-radius: 2px;
+       opacity: 0;
+       opacity: 1;
+       color: #aaa;
+       color: #fff;
+       background: rgba(17, 17, 17, 1);
+       font-family: "Roboto Condensed",sans-serif;
+       font-size: 11px;
+       line-height: 25px;
+       letter-spacing: 2px;
+       text-transform: uppercase;
+       -webkit-transform: translateY(0%);
+       -ms-transform: translateY(0%);
+       transform: translateY(0%);
+}
+
+.product .product-button-wrap .add_to_cart_button:hover,
+ul.products li.product .product-button-wrap .button.product_type_simple:hover,
+ul.products li.product .product-button-wrap .button.product_type_grouped:hover,
+.shop-item .product-button-wrap .add_to_cart_button:hover,
+.shop-item .product-button-wrap .button.product_type_grouped:hover,
+.shop-item .product-button-wrap .button.product_type_variable:hover,
+ul.products li.product .product-button-wrap .product_type_variable:hover {
+       background: rgba(17, 17, 17, 0.8);
+}
+
+.single .col-sm-8 .product .product-button-wrap .add_to_cart_button,
+.single .col-sm-8 ul.products li.product .product-button-wrap .button.product_type_simple,
+.single .col-sm-8 ul.products li.product .product-button-wrap .button.product_type_grouped,
+.single .col-sm-8 .shop-item .product-button-wrap .add_to_cart_button,
+.single .col-sm-8 .shop-item .product-button-wrap .button.product_type_grouped,
+.single .col-sm-8 .shop-item .product-button-wrap .button.product_type_variable,
+.single .col-sm-8 ul.products li.product .product-button-wrap .product_type_variable {
+       padding: 10px 10px;
+}
+
+.shop-with-sidebar .product .product-button-wrap .add_to_cart_button,
+.shop-with-sidebar ul.products li.product .product-button-wrap .button.product_type_simple {
+       padding-right: 10px;
+       padding-left: 10px;
+}
+
+.shop-with-sidebar .added_to_cart {
+       display: inline-block;
+       clear: left;
+       margin-top: 10px;
+       padding: 4px 10px;
+}
+
+.product .product-button-wrap,
+.shop-item .product-button-wrap {
+       position: absolute;
+       z-index: 2;
+       bottom: 100%;
+       left: 0;
+       width: 100%;
+       opacity: 0;
+       -webkit-transition: all 0.3s;
+       transition: all 0.3s;
+}
+
+.product:hover .product-button-wrap,
+.shop-item:hover .product-button-wrap {
+       bottom: 50%;
+       opacity: 1;
+       -webkit-transition: all 0.4s;
+       transition: all 0.4s;
+       -webkit-transform: translateY(50%);
+       -ms-transform: translateY(50%);
+       transform: translateY(50%);
+}
+
+.prod-img-wrap {
+       position: relative;
+}
+
+.post-type-archive-product .products li > a {
+       float: left;
+       width: 100%;
+}
+
+.added_to_cart {
+       margin-bottom: 24px;
+       padding: 10px 5px;
+       border-radius: 2px;
+       color: #fff;
+       background-color: #0f834d;
+       font-family: "Roboto Condensed",sans-serif;
+       font-size: 11px;
+       line-height: 25px;
+       letter-spacing: 2px;
+       text-transform: uppercase;
+}
+
+.added_to_cart:hover {
+       color: #fff;
+       background: #439c73;
+       -webkit-transition: all 0.125s ease-in-out 0s;
+       transition: all 0.125s ease-in-out 0s;
+}
+
+.form-row .button,
+.form-row input[type=checkbox],
+.form-row input[type=radio],
+.woocommerce-checkout input[type=radio] {
+       float: left;
+       margin-right: 5px;
+}
+
+#payment .payment_methods li label {
+       margin-left: 0;
+}
+
+.select2-drop-active {
+       border: 1px solid #eaeaea;
+}
+
+ul.order_details {
+       padding: 0;
+}
+
+.shop_table.order_details tr {
+       padding: 5px 0;
+}
+
+/****
+Breacrumb
+****/
+.woocommerce-breadcrumb {
+       line-height: 33px;
+}
+
+.woocommerce-ordering {
+       margin-right: 0;
+}
+
+.woocommerce-pagination {
+       float: left;
+       width: auto;
+       margin-top: -5px;
+       text-align: left;
+}
+
+.page-numbers {
+       text-align: left;
+}
+
+/* woocommerce sidebar */
+.widget_price_filter .ui-slider .ui-slider-handle {
+       background: #212121;
+}
+
+.widget_price_filter .ui-slider .ui-slider-range {
+       background: #e5e5e5;
+}
+
+.widget_price_filter .price_slider_amount .button {
+       padding: 10px 30px;
+       line-height: 13px;
+}
+
+.price_label {
+       line-height: 33px;
+}
+
+.sidebar-shop .widget.widget_products ul li:before,
+.sidebar-shop .widget.widget_recent_reviews ul li:before,
+.sidebar-shop .widget.widget_recently_viewed_products ul li:before,
+.sidebar-shop .widget.widget_top_rated_products ul li:before,
+.sidebar-shop .widget.widget_product_categories  ul li:before,
+.sidebar-shop .widget.widget_layered_nav .chosen:before {
+       float: left;
+       position: absolute;
+       top: 9px;
+       left: 0;
+       padding-right: 5px;
+       color: #666;
+       content: "\00BB";
+}
+
+.product_list_widget .amount,
+.product_list_widget del,
+.product_list_widget ins {
+       color: #999;
+}
+
+.product_list_widget ins {
+       text-decoration: none;
+}
+
+.product_list_widget .amount {
+       margin-right: 10px;
+}
+
+.widget.woocommerce li {
+       position: relative;
+       padding-left: 12px;
+}
+
+.widget_shopping_cart .product_list_widget li {
+       position: relative;
+       padding-left: 2em;
+}
+
+.widget.woocommerce a:hover .product-title,
+.widget.woocommerce a:hover {
+       color: #aaa;
+}
+
+.widget_shopping_cart_content .buttons a {
+       display: inline-block;
+       width: auto;
+       margin-bottom: 5px;
+       margin-bottom: 10px;
+       padding: 10px 15px;
+       border: none;
+       border-radius: 2px;
+       color: #fff;
+       color: #fff;
+       background: rgba(17, 17, 17, 1);
+       font-family: "Roboto Condensed", sans-serif;
+       font-size: 12px;
+       line-height: 13px;
+       letter-spacing: 2px;
+       text-transform: uppercase;
+}
+
+.widget_shopping_cart_content .buttons a:hover,
+.widget.woocommerce.widget_shopping_cart_content .button a:hover {
+       color: #fff;
+       background: rgba(17, 17, 17, 0.8);
+}
+
+.widget.woocommerce.widget_rating_filter .star-rating {
+       position: absolute;
+       margin-top: 5px;
+       margin-bottom: 5px;
+       margin-left: 30px;
+}
+
+.widget.woocommerce.widget_rating_filter .star-rating:before {
+       float: right;
+}
+
+.widget_shopping_cart li:before {
+       display: none;
+       content: "";
+}
+
+.sidebar-shop .widget_shopping_cart li,
+.widget_shopping_cart li {
+       padding-left: 2em;
+}
+
+.widget_shopping_cart .product_list_widget li a.remove {
+       top: 12px;
+}
+
+.widget_shopping_cart .product_list_widget li a.remove:hover {
+       color: #fff;
+}
+
+.widget_recently_viewed_products li a,
+.widget_top_rated_products li a {
+       display: block;
+}
+
+.bottom-page-wrap {
+       position: relative;
+       z-index: 19;
+}
+
+.bottom-page-wrap .widget_shopping_cart .amount {
+       color: #fff;
+}
+
+.bottom-page-wrap .widget_shopping_cart_content .buttons a,
+.bottom-page-wrap .widget_price_filter .price_slider_amount .button {
+       background: rgba(255, 255, 255, 0.20);
+}
+
+.bottom-page-wrap .widget_shopping_cart_content .buttons a:hover,
+.bottom-page-wrap .widget_price_filter .price_slider_amount .button:hover {
+       background: rgba(255, 255, 255, 0.25);
+}
+
+.bottom-page-wrap .widget_price_filter .ui-slider .ui-slider-handle {
+       background: #fff;
+}
+
+.bottom-page-wrap .widget ul li {
+       position: relative;
+}
+
+.bottom-page-wrap .widget.woocommerce ul li:before {
+       float: left;
+       position: absolute;
+       top: 9px;
+       left: 0;
+       padding-right: 5px;
+       color: #777;
+       content: "\00BB";
+}
+
+.bottom-page-wrap .widget.woocommerce ul li:before {
+       color: #777;
+       content: "\00BB";
+}
+
+.bottom-page-wrap .widget .tagcloud a {
+       background: rgba(255, 255, 255, 0.2);
+}
+
+.bottom-page-wrap .product-title,
+.bottom-page-wrap .widget.woocommerce a {
+       color: #aaa;
+}
+
+.bottom-page-wrap .widget_product_categories a .product-title:hover,
+.bottom-page-wrap .widget.woocommerce a:hover {
+       text-decoration: underline;
+}
+
+/****************************************/
+/** WooCommerce Compare List plugin *****/
+/****************************************/
+
+a.button.compare,
+.shop-isle-compare-list-wrapper a.button.alt {
+       position: relative;
+       bottom: 0;
+       border-radius: 2px;
+       opacity: 1;
+       color: #fff;
+       background: #0b5b34;
+       font-family: "Roboto Condensed",sans-serif;
+       font-size: 10px;
+       line-height: 25px;
+       letter-spacing: 1px;
+       text-transform: uppercase;
+       -webkit-transform: translateY(0%);
+       -ms-transform: translateY(0%);
+       transform: translateY(0%);
+}
+
+a.button.compare:hover {
+       background: rgba(11, 91, 52, 0.8);
+}
+
+.shop-isle-compare-list-wrapper {
+       margin-top: 20px;
+       margin-bottom: -40px;
+}
+
+.shop-isle-compare-list-wrapper a.button.alt {
+       margin-left: 10px;
+}
+
+.wccm-catalog-items {
+       float: left;
+       padding-right: 15px;
+       padding-left: 15px;
+}
+
+.wccm-catalog-item {
+       margin-bottom: 12px;
+}
+
+.wccm-catalog-item a.button {
+       float: left;
+       height: auto;
+       margin-top: 12px;
+       padding: 0 10px 0;
+       border: 1px solid rgba(17,17,17,1);
+       border-radius: 2px;
+       opacity: 1;
+       color: rgba(17,17,17,1);
+       background: transparent;
+       font-family: "Roboto Condensed",sans-serif;
+       font-size: 12px;
+       line-height: 21px;
+       letter-spacing: 2px;
+       text-transform: uppercase;
+       -webkit-transform: translateY(0%);
+       -ms-transform: translateY(0%);
+       transform: translateY(0%);
+}
+
+.wccm-catalog-item a.button:hover {
+       border: 1px solid rgba(17,17,17,0.3);
+       color: rgba(17,17,17,0.6);
+}
+
+.wccm-catalog-item a.button.alt,
+.shop-isle-compare-list-wrapper a.button.alt {
+       border: 1px solid rgba(17,17,17,0.3);
+       color: #999;
+}
+
+.wccm-catalog-item a.button.alt:hover,
+.shop-isle-compare-list-wrapper a.button.alt:hover {
+       border: 1px solid rgba(17,17,17,0.15);
+       color: rgba(153, 153, 153, 0.75);
+}
+
+.wccm-frontpage-compare-list .wccm-catalog-item {
+       display: inline-block;
+       float: left;
+       position: relative;
+       margin-right: 1em;
+}
+
+.wccm-frontpage-compare-list .wccm-catalog-item img {
+       width: 48px;
+       height: 48px;
+}
+
+.wccm-frontpage-compare-list .wccm-catalog-item a.dashicons,
+.wccm-catalog-item a.dashicons {
+       display: block;
+       position: absolute;
+       top: 2px;
+       right: 2px;
+       width: 14px;
+       height: 14px;
+       border-radius: 1px;
+       color: #1b1b1b;
+       background: rgba(255, 255, 255, 0.75);
+       font-size: 12px;
+       line-height: 14px;
+       text-align: center;
+}
+
+.wccm-catalog-item a.dashicons:hover {
+       color: #fff;
+       background: #a94442;
+}
+
+.wccm-thumb a {
+       display: block;
+       position: absolute;
+       top: 2px;
+       right: 2px;
+       width: 14px;
+       height: 14px;
+       padding-left: 1px;
+       border-radius: 1px;
+       color: #1b1b1b;
+       background: rgba(255, 255, 255, 0.75);
+       font-size: 12px;
+       line-height: 14px;
+       text-align: center;
+}
+
+.wccm-thumb a:hover {
+       color: #fff;
+       background: #a94442;
+}
+
+.wccm-thumb {
+       width: 150px;
+       height: 150px;
+       background: rgba(221,221,221,0.35);
+}
+
+.product_meta a.button.compare,
+.shop-isle-compare-list-wrapper a.button.alt {
+       float: left;
+       height: auto;
+       margin-top: 12px;
+       padding: 0 10px 0;
+       border: 1px solid rgba(17,17,17,0.3);
+       border-radius: 2px;
+       opacity: 1;
+       color: #999;
+       background: transparent;
+       font-family: "Roboto Condensed",sans-serif;
+       font-size: 12px;
+       line-height: 21px;
+       letter-spacing: 2px;
+       text-transform: uppercase;
+       -webkit-transform: translateY(0%);
+       -ms-transform: translateY(0%);
+       transform: translateY(0%);
+}
+
+.product_meta a.button.compare:hover,
+.shop-isle-compare-list-wrapper a.button.alt:hover {
+       border: 1px solid rgba(17,17,17,0.15);
+       color: rgba(153, 153, 153, 0.75);
+}
+
+/****************************************/
+/** YITH WooCommerce Wishlist plugin *****/
+/****************************************/
+.yith-wcwl-add-button a.add_to_wishlist {
+       float: left;
+       height: auto;
+       margin-top: 12px;
+       margin-bottom: 10px;
+       padding: 0 10px 0;
+       border: 1px solid rgba(17,17,17,1);
+       border-radius: 2px;
+       opacity: 1;
+       color: rgba(17,17,17,1);
+       background: transparent;
+       font-family: "Roboto Condensed",sans-serif;
+       font-size: 12px;
+       line-height: 21px;
+       letter-spacing: 2px;
+       text-transform: uppercase;
+       -webkit-transform: translateY(0%);
+       -ms-transform: translateY(0%);
+       transform: translateY(0%);
+}
+
+.yith-wcwl-add-button a.add_to_wishlist:hover {
+       border: 1px solid rgba(17,17,17,0.3);
+       color: rgba(17,17,17,0.6);
+}
+
+.yith-wcwl-add-button a.add_to_wishlist:before {
+       display: inline-block;
+       position: relative;
+       top: 1px;
+       font-family: "Glyphicons Halflings";
+       font-weight: 400;
+       font-style: normal;
+       -webkit-font-smoothing: antialiased;
+       line-height: 1;
+       content: "\e005";
+}
+
+.yith-wcwl-wishlistexistsbrowse,
+.yith-wcwl-wishlistaddedbrowse {
+       float: left;
+       position: relative;
+       margin-top: 12px;
+       margin-bottom: 10px;
+       padding: 0 10px 0;
+       border: 1px solid rgba(17,17,17,0.3);
+       border-radius: 2px;
+       color: #999;
+       background: transparent;
+       font-size: 12px;
+       line-height: 21px;
+}
+
+.yith-wcwl-wishlistexistsbrowse:before,
+.yith-wcwl-wishlistaddedbrowse:before {
+       display: inline-block;
+       position: relative;
+       top: 1px;
+       font-family: "Glyphicons Halflings";
+       font-weight: 400;
+       font-style: normal;
+       -webkit-font-smoothing: antialiased;
+       line-height: 1;
+       content: "\e005";
+}
+
+.shop_table.wishlist_table tr:last-child td {
+       padding: 16px 12px;
+       border: 1px solid #e7e7e7;
+}
+
+.shop_table.wishlist_table tfoot tr:last-child td {
+       border: none;
+}
+
+.shop_table.wishlist_table tr td.product-name,
+.shop_table.wishlist_table tr td.product-price,
+.shop_table.wishlist_table tr td.product-stock-status {
+       margin: 0 0 20px;
+       color: #111;
+       font-family: "Roboto Condensed", sans-serif;
+       font-size: 14px;
+       font-weight: 400;
+       line-height: 1.4;
+       letter-spacing: 2px;
+       text-transform: uppercase;
+}
+
+.shop_table.wishlist_table {
+       font-size: 12px;
+}
+
+#yith-wcwl-popup-message {
+       position: fixed;
+       z-index: 10000;
+       top: 50%;
+       left: 50%;
+       padding: 20px;
+       border: 1px solid #222;
+       border-radius: 2px;
+       color: #fff;
+       background: rgba(34, 34, 34, 0.75);
+       line-height: 20px;
+       text-align: center;
+}
+
+.page-template-template-fullwidth-php table.wishlist_table thead,
+.page-template-template-fullwidth-php table.wishlist_table {
+       font-size: 12px;
+}
+
+.wishlist-title {
+       display: none;
+}
+
+.summary .product_meta {
+       margin-top: 45px;
+}
+
+.summary .product_meta {
+       margin-top: 0;
+}
+
+.woocommerce .wishlist_table td.product-add-to-cart a {
+       display: block!important;
+       position: relative;
+       width: auto;
+       margin: 0;
+       margin-top: 5px;
+       margin-bottom: -3px;
+       padding: 0;
+       opacity: 1;
+       color: #666;
+       background: none;
+       text-align: center;
+       letter-spacing: 0;
+}
+
+.woocommerce .wishlist_table td.product-add-to-cart a.add_to_cart:before {
+       display: inline-block;
+       position: relative;
+       top: 1px;
+       margin-right: 5px;
+       font-family: "Glyphicons Halflings";
+       font-weight: 400;
+       font-style: normal;
+       -webkit-font-smoothing: antialiased;
+       -moz-osx-font-smoothing: grayscale;
+       line-height: 1;
+       content: "\e116";
+}
+
+.term-description {
+       width: 1170px;
+       max-width: 100%;
+       margin: 70px auto 30px;
+       padding: 0 30px;
+}
+
+/*******************************************/
+/** YITH WooCommerce Quick View plugin *****/
+/*******************************************/
+a.button.yith-wcqv-button {
+       position: relative;
+       top: 15px;
+       padding: 7px 10px !important;
+       border-radius: 2px;
+       color: #fff;
+       background-color: rgba( 0, 0, 0, 0.75 );
+       font-family: "Roboto Condensed",sans-serif;
+       font-size: 11px;
+       line-height: 25px;
+       letter-spacing: 2px;
+       text-transform: uppercase;
+}
+
+a.button.yith-wcqv-button:before {
+       margin-right: 5px;
+       font-family: "ElegantIcons";
+       -webkit-font-smoothing: antialiased;
+       content: "\e101";
+}
+
+a.button.yith-wcqv-button:hover {
+       background-color: #000;
+}
+
+.shop-isle-yith-wcqv-button-wrapper {
+       margin-top: 90px;
+       margin-bottom: -70px;
+}
+
+.shop-isle-yith-wcqv-button-wrapper a.button.alt {
+       margin-left: 10px;
+}
+
+.yith-wcqv-main .onsale {
+       right: auto;
+       left: 0;
+}
+
+#yith-quick-view-close {
+       width: 22px;
+       height: 22px;
+       border: 1px solid #a94442;
+       border-radius: 2px;
+       opacity: 1;
+       color: #fff;
+       background: #a94442;
+       line-height: 22px;
+       text-align: center;
+}
+
+#yith-quick-view-close:hover {
+       border: 1px solid #c73735;
+       color: #fff;
+       background: #c73735;
+}
+
+/* My Account Styling */
+.woocommerce-account .woocommerce-MyAccount-navigation {
+       display: inline-block;
+       width: 20%;
+}
+
+.woocommerce-account .woocommerce-MyAccount-content {
+       display: inline-block;
+       float: right;
+       width: 75%;
+       margin-left: 5%;
+}
+
+.woocommerce-account .woocommerce-MyAccount-navigation ul {
+       padding: 0;
+       border-top: 1px solid #eee;
+}
+
+.woocommerce-account .woocommerce-MyAccount-navigation ul li {
+       padding-bottom: 0;
+       border-bottom: 1px solid #eee;
+       list-style: none;
+}
+
+.woocommerce-account .woocommerce-MyAccount-navigation ul li.is-active a:before {
+       opacity: 1;
+}
+
+.woocommerce-account .woocommerce-MyAccount-navigation ul li a {
+       display: block;
+       padding: 10px 5px;
+}
+
+.woocommerce-account .woocommerce-MyAccount-navigation ul li a:hover {
+       color: #333;
+}
+
+.woocommerce-account .woocommerce-MyAccount-navigation ul li a:before {
+       margin-right: 20px;
+       opacity: 0.25;
+}
+
+.woocommerce-account .woocommerce-MyAccount-navigation ul li a:hover:before {
+       opacity: 1;
+}
+
+.woocommerce-account .woocommerce-MyAccount-navigation ul li a:before {
+       font-family: "ElegantIcons";
+       content: "\e056";
+}
+
+.woocommerce-account .woocommerce-MyAccount-navigation ul li.woocommerce-MyAccount-navigation-link--dashboard a:before {
+       font-family: "ElegantIcons";
+       content: "\e037";
+}
+
+.woocommerce-account .woocommerce-MyAccount-navigation ul li.woocommerce-MyAccount-navigation-link--orders a:before {
+       font-family: "ElegantIcons";
+       content: "\e079";
+}
+
+.woocommerce-account .woocommerce-MyAccount-navigation ul li.woocommerce-MyAccount-navigation-link--downloads a:before {
+       font-family: "ElegantIcons";
+       content: "\e092";
+}
+
+.woocommerce-account .woocommerce-MyAccount-navigation ul li.woocommerce-MyAccount-navigation-link--edit-address a:before {
+       font-family: "ElegantIcons";
+       content: "\e074";
+}
+
+.woocommerce-account .woocommerce-MyAccount-navigation ul li.woocommerce-MyAccount-navigation-link--payment-methods a:before {
+       font-family: "ElegantIcons";
+       content: "\e014";
+}
+
+.woocommerce-account .woocommerce-MyAccount-navigation ul li.woocommerce-MyAccount-navigation-link--edit-account a:before {
+       font-family: "ElegantIcons";
+       content: "\e08a";
+}
+
+.woocommerce-account .woocommerce-MyAccount-navigation ul li.woocommerce-MyAccount-navigation-link--customer-logout a:before {
+       font-family: "ElegantIcons";
+       content: "\e06c";
+}
+
+.woocommerce-account .woocommerce-MyAccount-content h2 {
+       font-size: 25px;
+       font-weight: 600;
+       text-align: center;
+}
+
+.woocommerce-account p.order-again {
+       text-align: right;
+}
+
+.woocommerce-EditAccountForm input[type="submit"] {
+       float: right;
+       margin-top: 50px;
+}
+
+.woocommerce-account table.shop_table_responsive thead {
+       color: #fff;
+       background-color: #333;
+}
+
+.woocommerce-account table.shop_table_responsive thead th {
+       padding: 10px;
+       border-right: 1px solid;
+       text-align: center;
+}
+
+.woocommerce-account table.shop_table_responsive tbody td {
+       padding: 10px;
+       text-align: center;
+}
+
+.woocommerce-account table.shop_table_responsive tbody tr {
+       border-bottom: 1px solid #eee;
+}
+
+.woocommerce-account  .my_account_orders .button {
+       text-decoration: underline;
+       text-transform: uppercase;
+}
+
+#ship-to-different-address .checkbox {
+       display: inline-block;
+}
+
+@media screen and (max-width: 1200px) {
+       .page-title ~ .woocommerce-error,
+       .page-title ~ .woocommerce-info,
+       .page-title ~ .woocommerce-message {
+               width: 970px;
+       }
+
+       .woocommerce-page-title ~ .woocommerce-error,
+       .woocommerce-page-title ~ .woocommerce-info,
+       .woocommerce-page-title ~ .woocommerce-message {
+               width: 910px;
+       }
+
+       .term-description {
+               width: 970px;
+       }
+
+       .single-product .woocommerce-product-gallery .flex-control-thumbs li {
+               margin: 2px 10px 10px 0;
+       }
+
+       .single-product .woocommerce-product-gallery .flex-control-thumbs li:nth-child(5n) {
+               margin-right: 0;
+       }
+
+       .single-product .woocommerce-product-gallery .flex-control-thumbs li:nth-child(6n) {
+               margin-right: 10px;
+       }
+
+       .single-product .woocommerce-product-gallery .flex-control-thumbs li:nth-child(5n+1),
+       .single-product .woocommerce-product-gallery .flex-control-thumbs li:first-child {
+               margin-left: 0;
+       }
+}
+
+@media screen and (max-width: 992px) {
+       /* single product page */
+       #reviews .comment-form-author {
+               width: 50%;
+       }
+
+       #reviews .comment-form-email {
+               width: 50%;
+               padding-right: 15px;
+       }
+
+       #reviews form p.comment-form-rating {
+               width: 100%;
+               padding-right: 0;
+               padding-left: 0;
+       }
+
+/*+*/
+       .woocommerce.single-product ul.products li.product {
+               width: 50%;
+       }
+
+       .woocommerce.single-product ul.products li.product:nth-child(2n+1) {
+               clear: left;
+       }
+
+       .woocommerce.single-product ul.products li.product.first {
+               clear: none !important;
+       }
+
+       .woocommerce.single-product ul.products li.product:nth-child(3n+1) {
+               clear: none;
+       }
+
+       .woocommerce.single-product ul.products li.product:nth-child(2n+1) {
+               clear: left;
+       }
+
+/* product list */
+       .woocommerce ul.products li.product {
+               float: left;
+               width: 50%;
+               padding-right: 15px;
+               padding-left: 15px;
+       }
+
+       .shop-with-sidebar ul.products li.product:nth-child(3n+1) {
+               clear: none;
+       }
+
+       .woocommerce ul.products li.product:nth-child(2n+1) {
+               clear: left;
+       }
+
+       .woocommerce-ordering,
+       .woocommerce-ordering select {
+               width: 100%;
+               margin-right: 0;
+       }
+
+       .woocommerce-breadcrumb {
+               width: 100%;
+               margin-bottom: 20px;
+               line-height: 33px;
+               text-align: center;
+       }
+
+       .page-numbers {
+               text-align: center;
+       }
+
+       .page-title ~ .woocommerce-error,
+       .page-title ~ .woocommerce-info,
+       .page-title ~ .woocommerce-message {
+               width: 750px;
+       }
+
+       .woocommerce-page-title ~ .woocommerce-error,
+       .woocommerce-page-title ~ .woocommerce-info,
+       .woocommerce-page-title ~ .woocommerce-message {
+               width: 690px;
+               margin-top: 40px;
+       }
+
+       .module-small-shop .woocommerce-breadcrumb {
+               margin-bottom: 1.236em;
+       }
+
+       .cross-sells ul.products li.product {
+               width: 100% !important;
+               padding-right: 0;
+               padding-left: 0;
+       }
+
+       .cart-collaterals .cross-sells {
+               width: 100%;
+       }
+
+       .cross-sells ul.products li.product {
+               width: 42.8571428571% !important;
+               padding-right: 10px;
+               padding-left: 10px;
+       }
+
+       .cart-collaterals .cart_totals,
+       .cart-collaterals .shipping_calculator {
+               width: 100%;
+       }
+
+       .term-description {
+               width: 750px;
+       }
+
+/*My Account Styling*/
+       .woocommerce-account .woocommerce-MyAccount-navigation {
+               width: 100%;
+       }
+
+       .woocommerce-account .woocommerce-MyAccount-navigation ul li {
+               display: table-cell;
+               border: none;
+       }
+
+       .woocommerce-account .woocommerce-MyAccount-navigation ul {
+               display: table;
+               width: 100%;
+               margin: 0 0 25px;
+               border: none;
+       }
+
+       .woocommerce-account .woocommerce-MyAccount-navigation ul li  a {
+               display: block;
+       }
+
+       .woocommerce-account .woocommerce-MyAccount-content {
+               width: 100%;
+               margin-left: 0;
+       }
+
+       .woocommerce-account .woocommerce-MyAccount-navigation ul li a:before {
+               margin-right: 5px;
+               opacity: 0.25;
+       }
+
+       .woocommerce-account input.woocommerce-Button.button {
+               height: auto;
+               margin-top: 10px;
+               padding: 8px 37px;
+               border: none;
+               border-radius: 2px;
+               color: #fff;
+               background: rgba(17, 17, 17, 1);
+               font-family: "Roboto Condensed", sans-serif;
+               font-size: 11px;
+               letter-spacing: 2px;
+               text-transform: uppercase;
+       }
+
+       .woocommerce-account input.woocommerce-Button.button:hover {
+               background: rgba(17, 17, 17, 0.8);
+       }
+
+       .woocommerce-pagination {
+               float: none;
+       }
+
+       .single-product .woocommerce-product-gallery .flex-control-thumbs li {
+               margin: 2px 4px 10px 0 !important;
+       }
+
+       .single-product .woocommerce-product-gallery .flex-control-thumbs li:nth-child(4n) {
+               margin-right: 0 !important;
+       }
+
+       .single-product .woocommerce-product-gallery .flex-control-thumbs li:nth-child(5n) {
+               margin-right: 4px;
+       }
+
+       .single-product .woocommerce-product-gallery .flex-control-thumbs li:nth-child(4n+1),
+       .single-product .woocommerce-product-gallery .flex-control-thumbs li:first-child {
+               margin-left: 0;
+       }
+}
+
+@media screen and (max-width: 768px) {
+       .navbar-custom .navbar-cart {
+               position: absolute;
+               top: 12px;
+               right: 35px;
+       }
+
+       .navbar-fixed-top .navbar-collapse {
+               float: left;
+               width: 100%;
+       }
+
+       .header-search {
+               position: initial;
+       }
+
+       .header-search-input {
+               width: 100%;
+       }
+
+       .navbar-custom .navbar-cart {
+               position: initial;
+               width: 70px;
+               padding: 10px 0 10px 5px;
+       }
+
+       .navbar-cart {
+               width: 80px;
+       }
+
+       .shop_isle_header_title {
+               margin-left: 0;
+       }
+
+       .header-shopping-cart,
+       .navbar-cart-inner:hover .header-shopping-cart {
+               display: none;
+       }
+
+/* single product page */
+       .woocommerce-tabs ul.tabs {
+               border-bottom: 1px solid #ddd;
+       }
+
+       .woocommerce-tabs ul.tabs li.active a {
+               border: 1px solid #ddd;
+               border-bottom-color: transparent;
+               background-color: #fff;
+               cursor: pointer;
+       }
+
+       .woocommerce-tabs ul.tabs li a:hover {
+               border-bottom-color: #eee;
+       }
+
+       .woocommerce-tabs ul.tabs li {
+               margin-bottom: -1px;
+       }
+
+       .single-product div.product form.cart .button {
+               width: 100%;
+       }
+
+       .single-product div.product form.cart .quantity {
+               width: 100%;
+               margin-bottom: 20px;
+       }
+
+       .single-product div.product form.cart .quantity input {
+               width: 100%;
+       }
+
+       .single-product div.product .images img {
+               width: 100%;
+       }
+
+       .single-product div.product .images,
+       .single-product div.product .summary {
+               float: left;
+       }
+
+       .single-product div.product .images,
+       .single-product div.product .summary {
+               width: 100%;
+               padding: 0;
+       }
+
+       .single-product div.product form.cart .quantity {
+               padding: 0;
+       }
+
+       #reviews .comment-form-author,
+       #reviews .comment-form-email {
+               width: 100%;
+               padding: 0;
+       }
+
+       p.comment-form-rating {
+               width: 100%;
+               padding: 0;
+       }
+
+       .comment-form-rating {
+               margin-bottom: 20px;
+       }
+
+       p.stars {
+               padding: 0;
+               text-align: left;
+       }
+
+       p.stars a {
+               display: inline-block;
+               font-size: 12px;
+       }
+
+/*+*/
+       .woocommerce.single-product ul.products li.product {
+               width: 100%;
+       }
+
+/* product list */
+       .woocommerce ul.products li.product {
+               width: 100%;
+       }
+
+/* cart */
+       .col2-set {
+               width: 100%;
+       }
+
+       #order_review,
+       #order_review_heading {
+               width: 100%;
+       }
+
+       ul.order_details li {
+               width: 100%;
+               border-right: none;
+               border-bottom: 1px solid rgba(0,0,0,0.1);
+       }
+
+       ul.order_details li:last-child {
+               border-bottom: none;
+       }
+
+       ul.order_details {
+               padding-left: 0;
+       }
+
+       .page-title ~ .woocommerce-error,
+       .page-title ~ .woocommerce-info,
+       .page-title ~ .woocommerce-message {
+               width: 100%;
+       }
+
+       .woocommerce-page-title ~ .woocommerce-error,
+       .woocommerce-page-title ~ .woocommerce-info,
+       .woocommerce-page-title ~ .woocommerce-message {
+               width: 90%;
+       }
+
+       .shop-item-image,
+       .woocommerce ul.products li.product {
+               float: none;
+               max-width: 370px;
+               margin: 25px auto;
+       }
+
+       .header-shopping-cart-wrap {
+               position: absolute;
+               top: 15px;
+               right: 0;
+       }
+
+       .shop-with-sidebar {
+               float: none !important;
+       }
+
+       .woocommerce .page-description,
+       .woocommerce-breadcrumb,
+       .woocommerce-ordering,
+       .woocommerce-ordering select {
+               float: initial;
+       }
+
+       .cart_totals h2,
+       .cross-sells h2 {
+               text-align: center;
+       }
+
+/*My Account Styling*/
+       .woocommerce-account .woocommerce-MyAccount-navigation ul li {
+               display: inline-block;
+               min-width: 125px;
+               border: none;
+       }
+
+       .woocommerce-account .woocommerce-MyAccount-navigation ul {
+               display: table;
+               width: 100%;
+               margin: 0 0 25px;
+               border: none;
+       }
+
+       .single-product .woocommerce-product-gallery .flex-control-thumbs li:nth-child(4n),
+       .single-product .woocommerce-product-gallery .flex-control-thumbs li {
+               margin: 2px 4px 10px 0 !important;
+       }
+}
+
+@media(min-width: 991px) and (max-width:1200px) {
+       .added_to_cart {
+               display: inline-block;
+               margin-top: 15px;
+               padding: 5px 10px;
+       }
+}
+
+@media(max-width: 600px) {
+       .woocommerce #content table.cart .product-thumbnail,
+       .woocommerce table.cart .product-thumbnail,
+       .woocommerce table.my_account_orders tr td.order-actions:before,
+       .woocommerce-page #content table.cart .product-thumbnail,
+       .woocommerce-page table.cart .product-thumbnail,
+       .woocommerce-page table.my_account_orders tr td.order-actions:before {
+               display: none;
+       }
+
+       .woocommerce-page .woocommerce .product-name a {
+               float: left;
+               font-size: 10px;
+               line-height: 13px;
+       }
+
+       .woocommerce table.shop_table td .amount,
+       .woocommerce table.shop_table td,
+       .woocommerce table.shop_table td span,
+       .woocommerce table.shop_table td a,
+       .woocommerce table.shop_table td strong {
+               font-size: 10px;
+               line-height: 11px;
+       }
+
+       .woocommerce table.shop_table th {
+               padding: 5px 5px;
+               font-size: 10px;
+       }
+
+       .shop_table.cart,
+       .shop_table.cart td,
+       .shop_table.cart th {
+               padding: 5px;
+       }
+
+       table.cart .quantity .qty {
+               max-width: 40px;
+       }
+
+       table.cart td.actions .coupon {
+               width: 100%;
+       }
+
+       table.cart td.actions input[name="coupon_code"],
+       table.cart td.actions input[name="apply_coupon"] {
+               width: 49%;
+       }
+
+       table.cart td.actions input[name="coupon_code"] {
+               float: left;
+       }
+
+       table.cart td.actions input[name="apply_coupon"] {
+               float: right;
+               padding: 12px 0 10px 0;
+       }
+
+       table.cart td.actions input[name="update_cart"] {
+               float: left;
+               width: 100%;
+               margin-top: 5px;
+               padding: 10px 37px;
+               font-size: 12px;
+       }
+
+       .cart-collaterals .cart_totals,
+       .cart-collaterals .shipping_calculator {
+               width: 100%;
+       }
+
+       .woocommerce-pagination {
+               width: 100%;
+       }
+
+       .single-product .woocommerce-product-gallery .flex-control-thumbs {
+               text-align: center;
+       }
+}
+
+@media(max-width: 480px) {
+       #shop-isle-checkout-coupon .checkout_coupon .form-row-first {
+               margin-left: 0;
+               padding-left: 0;
+       }
+
+       #shop-isle-checkout-coupon .checkout_coupon .form-row-last {
+               width: 100%;
+       }
+
+       .woocommerce #shop-isle-checkout-coupon .form-row input[type="submit"] {
+               width: 100%;
+               max-width: 100%;
+               margin-right: 0;
+       }
+
+       .cart-collaterals .cross-sells ul.products li.product {
+               float: none !important;
+               width: 100% !important;
+               margin-right: auto !important;
+               margin-left: auto !important;
+       }
+
+/*My Account Styling*/
+       .woocommerce-account .woocommerce-MyAccount-navigation ul li {
+               width: 50%;
+       }
+
+       .woocommerce-account  .my_account_orders .button {
+               display: block;
+       }
+}
diff --git a/templates/shop-isle/inc/woocommerce/css/woocommerce.scss b/templates/shop-isle/inc/woocommerce/css/woocommerce.scss
new file mode 100644 (file)
index 0000000..559e8d0
--- /dev/null
@@ -0,0 +1,1936 @@
+/**
+ * WooCommerce
+ */
+
+/**
+ * Imports
+ */
+@import 'bourbon';
+@import '../../../sass/utils/variables';
+@import '../../../sass/utils/mixins';
+@import '../../../node_modules/susy/sass/susy';
+
+// Star font, FontAwesome doesn't work :(
+@font-face {
+       font-family: 'star';
+       src: url('../../../../../plugins/woocommerce/assets/fonts/star.eot');
+       src: url('../../../../../plugins/woocommerce/assets/fonts/star.eot?#iefix') format('embedded-opentype'),
+               url('../../../../../plugins/woocommerce/assets/fonts/star.woff') format('woff'),
+               url('../../../../../plugins/woocommerce/assets/fonts/star.ttf') format('truetype'),
+               url('../../../../../plugins/woocommerce/assets/fonts/star.svg#star') format('svg');
+       font-weight: normal;
+       font-style: normal;
+}
+
+/**
+ * Header Elements
+ */
+.woocommerce-active {
+       .site-header {
+               .col-full {
+                       position: relative;
+               }
+       }
+
+       .site-branding,
+       .site-logo-anchor {
+               float: left;
+       }
+}
+
+.site-header-cart {
+       list-style-type: none;
+       margin-left: 0;
+       padding: 0;
+
+       .cart-contents {
+               display: block;
+               height: 2.244em;
+               width: 2.244em;
+               position: absolute;
+               top: 0;
+               right: 0;
+               background-color: rgba(0,0,0,0.05);
+               text-indent: -9999px;
+
+               &:after {
+                       content: "\f07a";
+                       font-family: "FontAwesome";
+                       position: absolute;
+                       top: 0;
+                       right: 0;
+                       line-height: 2.244;
+                       width: 100%;
+                       text-align: center;
+                       text-indent: 0;
+               }
+
+               span {
+                       display: none;
+               }
+       }
+
+       .widget_shopping_cart {
+               display: none;
+               background-color: #2c2d33;
+       }
+}
+
+.site-search {
+       font-size: .857em;
+       clear: both;
+
+       .widget_product_search {
+               input[type=text],
+               input[type=search] {
+                       padding: 1.387em 1.618em;
+                       line-height: 1;
+                       padding-left: 3.631em;
+               }
+
+               form {
+                       &:before {
+                               top: 1.387em;
+                               left: 1.618em;
+                       }
+               }
+
+               #searchsubmit {
+                       @include screen-reader-text();
+               }
+       }
+}
+
+/**
+ * Shop tables
+ */
+table.shop_table_responsive {
+       thead {
+               display: none;
+       }
+
+       tbody {
+               th {
+                       display: none;
+               }
+       }
+
+       tr {
+               td {
+                       display: block;
+
+                       &:before {
+                               content: attr(data-title) ': ';
+                               font-weight: 700;
+                       }
+               }
+       }
+}
+
+/**
+ * Products
+ */
+ul.products {
+       margin-left: 0;
+       clear: both;
+       @include clearfix;
+
+       li.product {
+               list-style: none;
+               margin-left: 0;
+               margin-bottom: 4.236em;
+               text-align: center;
+               position: relative;
+
+               .star-rating,
+               .price {
+                       margin: 0 auto 1em;
+               }
+
+               .price {
+                       display: block;
+                       color: $color_body;
+                       font-weight: 400;
+
+                       ins {
+                               font-weight: 700;
+                               margin-left: .618em;
+                               background-color: transparent;
+                       }
+               }
+
+               h3 {
+                       font-size: 1.1em;
+               }
+
+               .star-rating {
+                       font-size: .857em;
+               }
+
+               img {
+                       display: block;
+                       margin: 0 auto 1.618em;
+               }
+
+               &.product-category {
+                       img {
+                               margin-bottom: 1.618em;
+                       }
+               }
+
+               .button {
+                       margin-bottom: .236em;
+               }
+       }
+}
+
+/**
+ * Single Product
+ */
+.single-product {
+       div.product {
+               @include clearfix;
+               position: relative;
+               overflow: hidden;
+
+               .images,
+               .summary {
+                       margin-bottom: 2.618em;
+                       margin-top: 0;
+               }
+
+               .images {
+                       .woocommerce-main-image {
+                               margin-bottom: 1.618em;
+                               display: block;
+                       }
+
+                       .thumbnails {
+                               a.zoom {
+                                       display: block;
+                                       width: 22.05%;
+                                       margin-right: 3.8%;
+                                       float: left;
+                                       margin-bottom: 1em;
+
+                                       &.last {
+                                               margin-right: 0;
+                                       }
+
+                                       &.first {
+                                               clear: both;
+                                       }
+                               }
+                       }
+               }
+
+               form.cart {
+                       @include clearfix;
+                       margin-bottom: 1.618em;
+                       padding: 1.618em 0;
+                       border-top: 3px solid rgba(0,0,0,0.025);
+                       border-bottom: 3px solid rgba(0,0,0,0.025);
+
+                       .quantity {
+                               float: left;
+                       }
+
+                       .button {
+                               float: right;
+                       }
+               }
+
+               .price {
+                       font-weight: 700;
+               }
+
+               table.variations {
+                       margin: 0;
+
+                       th,
+                       td {
+                               display: list-item;
+                               padding: 0;
+                               list-style: none;
+                               background-color: transparent;
+                       }
+
+                       .value {
+                               margin-bottom: 1em;
+                       }
+               }
+
+               .single_variation {
+                       .price {
+                               margin-bottom: 1em;
+                               display: block;
+                       }
+               }
+
+               .variations_button {
+                       @include clearfix;
+                       padding-top: 1em;
+                       border-top: 1px solid $color_border;
+               }
+
+               .woocommerce-product-rating {
+                       margin-bottom: 2.618em;
+                       @include clearfix;
+                       line-height: 1;
+                       border-bottom: 1px solid $color_border;
+                       padding: 0 0 1.618em;
+                       margin-top: -.618em;
+
+                       a {
+                               font-size: .857em;
+                       }
+
+                       .star-rating {
+                               float: right;
+                       }
+               }
+
+               .product_meta {
+                       font-size: .857em;
+
+                       .sku_wrapper,
+                       .posted_in,
+                       .tagged_as {
+                               border-bottom: 1px dotted $color_border;
+                               display: block;
+                               padding: .53em 0;
+
+                               &:last-child {
+                                       border-bottom: 0;
+                               }
+                       }
+               }
+
+               p.stock {
+                       &:before {
+                               font-family: "FontAwesome";
+                               margin-right: .53em;
+                       }
+
+                       &.in-stock:before {
+                               content: "\f118";
+                       }
+
+                       &.out-of-stock:before {
+                               content: "\f119";
+                       }
+               }
+       }
+}
+
+/**
+ * Reviews
+ */
+#reviews {
+       #comments {
+               padding-top: 0;
+       }
+
+       .commentlist {
+               list-style: none;
+               margin-left: 0;
+
+               li {
+                       border-bottom: 1px solid $color_border;
+                       margin-bottom: 3.631em;
+                       list-style: none;
+                       clear: both;
+
+                       time {
+                               opacity: 0.8;
+                       }
+
+                       .avatar {
+                               float: right;
+                               width: 2.618em;
+                               height: auto;
+                       }
+
+                       p.meta {
+                               margin-bottom: 1em;
+                       }
+
+                       .description {
+                               padding-bottom: 1.618em;
+                       }
+
+                       ul.children {
+                               border-top: 1px solid $color_border;
+                               @include span(last 5 of 6);
+                               padding-top: 2.618em;
+                       }
+               }
+       }
+
+       .comment-form-rating {
+               clear: both;
+       }
+}
+
+/**
+ * Breadcrumbs
+ */
+.woocommerce-breadcrumb {
+       margin-bottom: 4.236em;
+       font-size: .857em;
+       padding: 1em 0;
+       border-bottom: 1px solid rgba(0,0,0,0.05);
+
+       a.home {
+               &:before {
+                       content: "\f015";
+                       font-family: "FontAwesome";
+                       font-weight: 400;
+                       margin-right: .53em;
+               }
+       }
+}
+
+/**
+ * Widgets
+ */
+.product_list_widget {
+       list-style: none;
+       margin-left: 0;
+
+       li {
+               padding: 1em 0;
+               border-bottom: 1px dotted $color_border;
+               @include clearfix;
+
+               img {
+                       max-width: 2.618em;
+                       float: right;
+               }
+
+               .quantity {
+                       display: block;
+               }
+       }
+
+       a {
+               &:hover {
+                       color: $color_links;
+               }
+       }
+}
+
+.widget_products {
+       a {
+               display: block;
+       }
+}
+
+.widget_shopping_cart {
+       .product_list_widget {
+               margin-bottom: 0;
+
+               li {
+                       padding-left: 2em;
+                       position: relative;
+
+                       a.remove {
+                               position: absolute;
+                               top: 1em;
+                               left: 0;
+                               opacity: 1;
+                       }
+               }
+       }
+
+       p.total,
+       p.buttons {
+               padding: 1em 0;
+               margin: 0;
+               text-align: center;
+       }
+
+       p.total {
+               border-bottom: 1px solid $color_border;
+       }
+}
+
+.widget_product_categories {
+       ul {
+               margin: 0;
+
+               li {
+                       list-style: none;
+                       margin-bottom: .618em;
+
+                       &:before {
+                               font-family: "FontAwesome";
+                               margin-right: .53em;
+                               display: inline-block;
+                               opacity: 0.25;
+                               content: "\f114";
+                       }
+
+                       &.current-cat {
+                               &:before {
+                                       content: "\f115";
+                               }
+                       }
+               }
+       }
+
+       .children {
+               margin-top: .618em;
+               margin-left: 1.618em;
+       }
+}
+
+.site-header {
+       .widget_shopping_cart {
+               p.total,
+               p.buttons,
+               li {
+                       padding-left: 1.387em;
+                       padding-right: 1.387em;
+                       background-color: rgba(0, 0, 0, 0.025);
+               }
+       }
+}
+
+.widget_layered_nav {
+       li {
+               margin-bottom: .618em;
+
+               &:before {
+                       font-family: "FontAwesome";
+                       margin-right: .53em;
+                       display: inline-block;
+                       opacity: 0.35;
+                       content: "\f0c8";
+               }
+       }
+
+       .chosen {
+               &:before {
+                       content: "\f14a";
+               }
+       }
+}
+
+.widget.woocommerce {
+       li {
+               .count {
+                       font-size: 1em;
+                       float: right;
+               }
+       }
+}
+
+.widget_price_filter {
+       .price_slider {
+               margin-bottom: 1em;
+       }
+
+       .price_slider_amount {
+               text-align: right;
+               line-height: 2.4em;
+
+               .button {
+                       float: left;
+               }
+       }
+
+       .ui-slider {
+               position: relative;
+               text-align: left;
+       }
+
+    .ui-slider .ui-slider-handle {
+               position: absolute;
+               z-index: 2;
+               width: 1em;
+               height: 1em;
+               @include border-top-radius(1em);
+               @include border-bottom-radius(1em);
+               cursor: ew-resize;
+               outline: none;
+               background: $color_links;
+               box-sizing: border-box;
+               margin-top: -.25em;
+               opacity: 1;
+
+               &:last-child {
+                       margin-left: -1em;
+               }
+
+               &:hover,
+               &.ui-state-active {
+                       box-shadow: 0 0 0 .236em rgba(#000, 0.1);
+               }
+       }
+
+    .ui-slider .ui-slider-range {
+               position: absolute;
+               z-index: 1;
+               font-size: .7em;
+               display: block;
+               border: 0;
+               background: $color_links;
+               @include border-top-radius(1em);
+               @include border-bottom-radius(1em);
+       }
+
+    .price_slider_wrapper .ui-widget-content {
+               @include border-top-radius(1em);
+               @include border-bottom-radius(1em);
+               background: rgba(0,0,0,0.1);
+       }
+
+    .ui-slider-horizontal {
+               height: .5em;
+       }
+
+    .ui-slider-horizontal .ui-slider-range {
+               top: 0;
+               height: 100%;
+       }
+
+    .ui-slider-horizontal .ui-slider-range-min {
+               left: -1px;
+       }
+
+   .ui-slider-horizontal .ui-slider-range-max {
+               right: -1px;
+       }
+}
+
+/**
+ * Cart
+ */
+table.cart {
+       margin-bottom: 3.631em;
+
+       thead {
+               text-indent: -999em;
+
+               th {
+                       padding: 0;
+               }
+       }
+
+       .product-thumbnail,
+       .product-quantity .plus,
+       .product-quantity .minus {
+               display: none;
+       }
+
+       td,
+       th {
+               padding: .53em;
+       }
+
+       .qty {
+               padding: .236em;
+               max-width: 1.618em;
+       }
+
+       td.actions {
+               label {
+                       display: none;
+               }
+
+               .coupon {
+                       padding-bottom: 1em;
+                       margin-bottom: 1em;
+                       border-bottom: 1px dotted $color_border;
+               }
+
+               input {
+                       display: block;
+                       width: 100%;
+                       margin: .236em 0;
+               }
+       }
+}
+
+.wc-proceed-to-checkout {
+       @include clearfix;
+       margin-bottom: 1.618em;
+
+       .button {
+               display: block;
+               text-align: center;
+               margin-bottom: 1em;
+
+               &.checkout-button {
+                       font-size: 1.387em;
+               }
+       }
+}
+
+ul#shipping_method {
+       margin: 0;
+       list-style: none;
+}
+
+a.remove {
+       display: block;
+       width: 1.618em;
+       height: 1.618em;
+       line-height: 1.618;
+       font-weight: 400;
+       text-indent: -9999px;
+       position: relative;
+
+       &:before {
+               content: "\f057";
+               font-family: 'FontAwesome';
+               position: absolute;
+               top: 0;
+               left: 0;
+               right: 0;
+               bottom: 0;
+               color: $error;
+               line-height: 1.618;
+               text-indent: 0;
+               text-align: center;
+               font-weight: 400;
+       }
+}
+
+/**
+ * Checkout
+ */
+.checkout_coupon {
+       margin-bottom: 2.618em;
+}
+
+form.checkout {
+       @include clearfix;
+}
+
+#payment {
+       @include clearfix;
+       border-top: 3px solid $color_border;
+
+       .create-account {
+               clear: both;
+       }
+
+       .payment_methods {
+               margin: 0 !important;
+               border-bottom: 1px dotted $color_border;
+               padding: 0 !important;
+
+               li {
+                       list-style: none !important;
+                       padding: 1.387em !important;
+                       border-bottom: 1px dotted $color_border;
+                       margin-left: 0;
+
+                       img {
+                               float: right;
+                               border: 0;
+                               padding: 0;
+                               max-height: 1.618em;
+                       }
+
+                       &:last-child {
+                               padding-bottom: 0;
+                               border-bottom: 0;
+                       }
+
+                       label {
+                               width: 92%;
+                               padding-top: 0 !important;
+                               margin-left: .618em;
+                               font-weight: bold;
+                       }
+
+                       p {
+                               margin: 0;
+                       }
+
+                       .payment_box {
+                               padding: 1.387em;
+                               margin: 1.387em -1.387em -1.387em -1.387em;
+                               background: rgba(0,0,0,0.035);
+                               border-top: 1px dotted $color_border;
+
+                               fieldset {
+                                       border: 0;
+                                       margin: 0;
+                                       padding: 1em 0 0 0;
+                                       font-size: .857em;
+
+                                       label {
+                                               width: auto;
+                                               margin-left: 0;
+                                       }
+
+                                       .form-row {
+                                               margin-bottom: 1em;
+                                       }
+
+                                       .form-row-first {
+                                               select {
+                                                       width: 48%;
+
+                                                       &:nth-child(2n) {
+                                                               float: right;
+                                                       }
+                                               }
+                                       }
+
+                                       #cvv {
+                                               width: 22% !important;
+                                       }
+
+                                       .help {
+                                               width: 75%;
+                                               float: right;
+                                       }
+                               }
+                       }
+               }
+       }
+
+       .terms {
+               width: 100%;
+               clear: both;
+               float: none;
+               margin-bottom: 0;
+               margin-top: 1em;
+
+               label {
+                       display: inline;
+               }
+
+               input {
+                       display: inline-block;
+                       width: auto;
+                       float: left;
+                       margin: .327em .53em 0 0;
+               }
+       }
+
+       .place-order {
+               padding: 1.387em;
+               margin-bottom: 0;
+               float: none;
+               width: 100%;
+
+               .button {
+                       font-size: 1.387em;
+                       width: 100%;
+               }
+       }
+}
+
+/**
+ * My Account
+ */
+#customer_login {
+       .col-1 {
+               padding-bottom: 1.618em;
+               margin-bottom: 1.618em;
+               border-bottom: 1px dotted $color_border;
+       }
+}
+
+ul.order_details {
+       @include clearfix;
+       list-style: none;
+       border: 1px solid $color_border;
+       position: relative;
+       margin-left: 0;
+
+       li {
+               float: left;
+               padding: 1em 1.618em;
+               border-right: 1px solid $color_border;
+               font-size: .8em;
+               text-transform: uppercase;
+
+               &:last-child {
+                       border-right: 0;
+               }
+
+               strong {
+                       display: block;
+                       font-size: 1.387em;
+                       text-transform: none;
+               }
+       }
+}
+
+ul.digital-downloads {
+       list-style: none;
+       margin-left: 0;
+
+       li {
+               padding-bottom: 1em;
+               margin-bottom: 1em;
+               border-bottom: 1px dotted $color_border;
+
+               &:before {
+                       font-family: "FontAwesome";
+                       content: "\f019";
+                       margin-right: .53em;
+               }
+       }
+}
+
+.my_account_orders {
+       .button {
+               padding: .53em 1em;
+               font-size: .857em;
+               margin-right: .236em;
+       }
+}
+
+/**
+ * General WooCommerce components
+ */
+.form-row {
+       label {
+               display: block;
+       }
+
+       input,
+       textarea,
+       select {
+               width: 100%;
+       }
+
+       input[type=checkbox],
+       input[type=radio] {
+               width: auto;
+       }
+
+       .button {
+               width: auto;
+       }
+
+       &.create-account {
+               label {
+                       display: inline-block;
+               }
+       }
+
+       &.woocommerce-validated {
+               input.input-text {
+                       box-shadow: inset 2px 0 0 $success;
+               }
+       }
+
+       &.woocommerce-invalid {
+               input.input-text {
+                       box-shadow: inset 2px 0 0 $error;
+               }
+       }
+}
+
+.form-row-last {
+       margin-right: 0 !important;
+}
+
+.form-row-wide {
+       clear: both;
+       width: 100%;
+}
+
+.required {
+       border-bottom: 0 !important;
+       color: red;
+}
+
+.demo_store {
+       position: fixed;
+       left: 0;
+       bottom: 0;
+       right: 0;
+       margin: 0;
+       padding: 1em 1.387em;
+       background-color: $info;
+       color: #fff;
+
+       &:before {
+               font-family: "FontAwesome";
+               margin-right: .53em;
+               content: "\f05a";
+       }
+}
+
+.star-rating {
+       overflow: hidden;
+       position: relative;
+       height: 1em;
+       line-height: 1;
+       font-size: 1em;
+       width: 5.5em;
+       font-family: 'star';
+
+       &:before {
+               content: "\73\73\73\73\73";
+               color: rgba(0,0,0,0.2);
+               float: left;
+               top: 0;
+               left: 0;
+               position: absolute;
+       }
+
+       span {
+               overflow: hidden;
+               float: left;
+               top: 0;
+               left: 0;
+               position: absolute;
+               padding-top: 1.5em;
+       }
+
+       span:before {
+               content: "\53\53\53\53\53";
+               top: 0;
+               position: absolute;
+               left: 0;
+               color: $color_links;
+       }
+}
+
+p.stars {
+       position: relative;
+       font-size: 1.618em;
+
+       a {
+               display: block;
+               font-weight: 700;
+               margin-right: 1em;
+               text-indent: -9999px;
+               position: relative;
+               color: $color_body;
+
+               &:hover {
+                       color: $color_links;
+               }
+
+               &:last-child {
+                       border-right:0;
+               }
+
+               &.star-1,
+               &.star-2,
+               &.star-3,
+               &.star-4,
+               &.star-5 {
+                       &:after {
+                               font-family: "FontAwesome";
+                               text-indent: 0;
+                               position: absolute;
+                               top: 0;
+                               left: 0;
+                               padding-right: 1em;
+                       }
+
+               }
+
+               &.star-1 {
+                       width: 2em;
+
+                       &:after {
+                               content: "\f006";
+                       }
+
+                       &:hover:after,
+                       &.active:after {
+                               content: "\f005"
+                       }
+               }
+
+               &.star-2 {
+                       width: 3em;
+
+                       &:after {
+                               content: "\f006\f006";
+                       }
+
+                       &:hover:after,
+                       &.active:after {
+                               content: "\f005\f005"
+                       }
+               }
+
+               &.star-3 {
+                       width: 4em;
+
+                       &:after {
+                               content: "\f006\f006\f006";
+                       }
+
+                       &:hover:after,
+                       &.active:after {
+                               content: "\f005\f005\f005"
+                       }
+               }
+
+               &.star-4 {
+                       width: 5em;
+
+                       &:after {
+                               content: "\f006\f006\f006\f006";
+                       }
+
+                       &:hover:after,
+                       &.active:after {
+                               content: "\f005\f005\f005\f005"
+                       }
+               }
+
+               &.star-5 {
+                       width: 6em;
+                       border: 0;
+
+                       &:after {
+                               content: "\f006\f006\f006\f006\f006";
+                       }
+
+                       &:hover:after,
+                       &.active:after {
+                               content: "\f005\f005\f005\f005\f005"
+                       }
+               }
+       }
+}
+
+.onsale {
+       border: 2px solid;
+       border-color: $color_body;
+       color: $color_body;
+       padding: .202em .618em;
+       font-size: .857em;
+       text-transform: uppercase;
+       font-weight: 700;
+       display: inline-block;
+       margin-bottom: 1em;
+}
+
+.quantity {
+       .qty {
+               max-width: 3.631em;
+               text-align: center;
+       }
+}
+
+.shop-isle-sorting {
+       font-size: .857em;
+       margin-bottom: 2.618em;
+}
+
+.woocommerce-tabs {
+       border: 1px solid $color_border;
+       border-width: 1px 0;
+       padding: 1em 0;
+
+       ul.tabs {
+               list-style: none;
+               margin-left: 0;
+               text-align: center;
+
+               li {
+                       display: inline-block;
+                       margin-right: 1em;
+                       position: relative;
+
+                       &.active {
+                               a {
+                                       color: $color_body;
+                               }
+
+                               &:after {
+                                       content: "\f107";
+                                       font-family: "FontAwesome";
+                                       position: absolute;
+                                       top: 100%;
+                                       left: 50%;
+                                       height: 1em;
+                                       width: 1em;
+                                       line-height: 1;
+                                       margin-left: -.5em;
+                               }
+                       }
+               }
+       }
+}
+
+.woocommerce-message,
+.woocommerce-info,
+.woocommerce-error,
+.woocommerce-noreviews,
+p.no-comments {
+       padding: 1em 1.618em;
+       @include clearfix;
+       margin-bottom: 2.618em;
+       background-color: $success;
+       margin-left: 0;
+       color: #fff;
+       clear: both;
+       border-left: .618em solid rgba(0,0,0,0.15);
+
+       a {
+               color: #fff;
+
+               &:hover {
+                       color: #fff;
+                       opacity: 0.7;
+               }
+
+               &.button:hover {
+                       opacity: 1;
+               }
+       }
+
+       .button {
+               float: right;
+               padding: 0;
+               background: none;
+               color: #fff;
+               box-shadow: none;
+               line-height: 1.618;
+               padding-left: 1em;
+               border-width: 0;
+               border-left-width: 1px;
+               border-left-style: solid;
+               border-left-color: rgba(255,255,255,0.25) !important;
+               border-radius: 0;
+
+               &:hover {
+                       background: none;
+                       color: #fff;
+                       opacity: 0.7;
+               }
+       }
+
+       pre {
+               background-color: rgba(0,0,0,.1);
+       }
+}
+
+.site-content {
+       > .col-full {
+               > .woocommerce {
+                       > .woocommerce-message,
+                       > .woocommerce-info,
+                       > .woocommerce-error {
+                               &:first-child {
+                                       margin-top: 2.618em;
+                               }
+                       }
+               }
+       }
+}
+
+.wc-forward {
+       &:after {
+               content: "\f178";
+               font-family: "FontAwesome";
+               margin-left: .53em;
+               font-weight: 400;
+       }
+}
+
+.woocommerce-error {
+       list-style: none;
+}
+
+.woocommerce-info,
+.woocommerce-noreviews,
+p.no-comments {
+       background-color: $info;
+}
+
+.woocommerce-error {
+       background-color: $error;
+}
+
+dl.variation {
+       font-size: .857em;
+
+       dd {
+               margin: 0 0 1em;
+       }
+}
+
+/**
+ * Homepage
+ */
+.shop-isle-product-section {
+       border-bottom: 3px solid rgba(0,0,0,0.025);
+       margin-bottom: 4.236em;
+
+       .section-title {
+               text-align: center;
+       }
+
+       &:last-child {
+               border-bottom: 0;
+       }
+}
+
+@media screen and (min-width: 768px) {
+       p.stars {
+               font-size: 1em;
+
+               a {
+                       display: inline-block;
+
+                       &.star-1,
+                       &.star-2,
+                       &.star-3,
+                       &.star-4 {
+                               border-right:1px solid $color_border;
+                       }
+               }
+       }
+
+       /**
+        * Responsive tables
+        */
+       table.shop_table_responsive {
+               thead {
+                       display: table-header-group;
+               }
+
+               tbody {
+                       th {
+                               display: table-cell;
+                       }
+               }
+
+               tr {
+                       td {
+                               display: table-cell;
+
+                               &:before {
+                                       display: none;
+                               }
+                       }
+               }
+       }
+
+       /**
+        * Header Elements
+        */
+       .site-header-cart {
+               position: relative;
+
+               .cart-contents {
+                       padding: 0 1em 2.244em;
+                       display: block;
+                       position: relative;
+                       background-color: transparent;
+                       height: auto;
+                       width: auto;
+                       text-indent: 0;
+
+                       &:after {
+                               right: 1.618em;
+                               line-height: 1.387;
+                               height: 1em;
+                               width: 1em;
+                               top: 0;
+                       }
+
+                       .amount {
+                               margin-right: .327em;
+                       }
+
+                       .count {
+                               font-weight: 400;
+                               opacity: 0.5;
+                               font-size: .857em;
+                       }
+
+                       span {
+                               display: inline;
+                       }
+               }
+
+               .widget_shopping_cart {
+                       position: absolute;
+                       top: 100%;
+                       width: 100%;
+                       z-index: 999999;
+                       font-size: .857em;
+                       left: -999em;
+                       display: block;
+
+                       h2.widgettitle {
+                               display: none;
+                       }
+
+                       .product_list_widget li a.remove {
+                               position: relative;
+                               float: left;
+                               top: auto;
+
+                               &:before {
+                                       text-align: left;
+                               }
+                       }
+               }
+
+               &:hover,
+               &.focus {
+                       .widget_shopping_cart {
+                               left: 0;
+                       }
+               }
+       }
+
+       /**
+        * Reset mobile product styles
+        */
+       ul.products {
+               li.product {
+                       clear: none;
+                       width: 100%;
+                       float: left;
+                       font-size: .857em;
+
+                       &.first {
+                               clear: both !important;
+                       }
+
+                       &.last {
+                               margin-right: 0 !important;
+                       }
+               }
+       }
+
+       /**
+        * Full width content area product layout
+        */
+       .page-template-template-fullwidth-php,
+       .page-template-template-homepage-php,
+       .shop-isle-full-width-content {
+               .site-main {
+                       .columns-1 {
+                               ul.products {
+                                       li.product {
+                                               width: 100%;
+                                               margin-right: 0;
+                                               float: none;
+                                       }
+                               }
+                       }
+
+                       .columns-2 {
+                               ul.products {
+                                       li.product {
+                                               @include span(6 of 12);
+                                       }
+                               }
+                       }
+
+                       .columns-3 {
+                               ul.products {
+                                       li.product {
+                                               @include span(4 of 12);
+                                       }
+                               }
+                       }
+
+                       .columns-4 {
+                               ul.products {
+                                       li.product {
+                                               @include span(3 of 12);
+                                       }
+                               }
+                       }
+
+                       // The grid wont work for 5 columns :-(
+                       .columns-5 {
+                               ul.products {
+                                       li.product {
+                                               width: 16.9%;
+                                               margin-right: 3.8%;
+                                       }
+                               }
+                       }
+               }
+       }
+
+       /**
+        * Main content area (adjacent to sidebar) product layout
+        */
+       .site-main {
+               .columns-1 {
+                       ul.products {
+                               li.product {
+                                       width: 100%;
+                                       margin-right: 0;
+                                       float: none;
+                               }
+                       }
+               }
+
+               // The grid wont work for 2 columns :-(
+               .columns-2 {
+                       ul.products {
+                               li.product {
+                                       width: 48%;
+                                       margin-right: 3.8%;
+                               }
+                       }
+               }
+
+               .columns-3 {
+                       ul.products {
+                               li.product {
+                                       @include span(3 of 9);
+                               }
+                       }
+               }
+
+               // The grid wont work for 4 columns :-(
+               .columns-4 {
+                       ul.products {
+                               li.product {
+                                       width: 22.05%;
+                                       margin-right: 3.8%;
+                               }
+                       }
+               }
+
+               // The grid wont work for 5 columns :-(
+               .columns-5 {
+                       ul.products {
+                               li.product {
+                                       width: 16.9%;
+                                       margin-right: 3.8%;
+                               }
+                       }
+               }
+
+               ul.products {
+                       li.product {
+                               @include span(3 of 9);
+                       }
+               }
+       }
+
+       /**
+        * Single product page
+        */
+       .single-product {
+               div.product {
+                       .images {
+                               @include span(4 of 9);
+                               margin-bottom: 3.631em;
+
+                               .thumbnails {
+                                       @include clearfix;
+
+                                       a.zoom {
+                                               @include span(1 of 4);
+
+                                               &.last {
+                                                       @include last;
+                                               }
+                                       }
+                               }
+                       }
+
+                       .summary {
+                               @include span(last 5 of 9);
+                               margin-bottom: 3.631em;
+                       }
+
+                       .woocommerce-tabs {
+                               clear: both;
+                       }
+               }
+       }
+
+       #reviews {
+               .comment-form-author,
+               .comment-form-email {
+                       width: 47%;
+               }
+
+               .comment-form-email {
+                       margin-right: 0;
+               }
+       }
+
+       // Full width single product
+       .shop-isle-full-width-content.single-product {
+               div.product {
+                       .images {
+                               @include span(4 of 12);
+                               margin-bottom: 3.631em;
+
+                               .thumbnails {
+                                       a.zoom {
+                                               @include span(1 of 4);
+
+                                               &.last {
+                                                       margin-right: 0;
+                                               }
+                                       }
+                               }
+                       }
+
+                       .summary {
+                               @include span(last 8 of 12);
+                               margin-bottom: 3.631em;
+                       }
+
+                       .woocommerce-tabs {
+                               clear: both;
+                       }
+               }
+
+               .related,
+               .upsells {
+                       ul.products {
+                               li.product {
+                                       @include span(4 of 12);
+                               }
+                       }
+               }
+       }
+
+       .woocommerce .page-description {
+               margin-bottom: 1.618em;
+       }
+
+       .shop-isle-sorting {
+               @include clearfix;
+               margin-bottom: 2.618em;
+
+               select {
+                       width: 9.505em;
+               }
+       }
+
+       .woocommerce-result-count {
+               float: left;
+               position: relative;
+               margin-bottom: 0;
+               padding: .327em 0;
+       }
+
+       .woocommerce-ordering {
+               float: left;
+               margin-right: 1em;
+               margin-bottom: 0;
+               padding: .327em 0;
+       }
+
+       .woocommerce-pagination {
+               float: right;
+               border: 0;
+               clear: none;
+               padding: 0;
+               margin-bottom: 0;
+       }
+
+       /**
+        * Cart
+        */
+       .page-template-template-fullwidth-php {
+               table.cart {
+                       .product-thumbnail {
+                               display: table-cell;
+
+                               img {
+                                       max-width: 3.631em;
+                                       height: auto;
+                                       border: .327em solid #fff;
+                               }
+                       }
+
+                       thead {
+                               font-size: 1em;
+                               text-indent: 0;
+
+                               th {
+                                       padding: .857em 1.387em;
+                               }
+                       }
+               }
+       }
+
+       table.cart {
+               th,
+               td {
+                       padding: .857em 1.387em;
+               }
+
+               .qty {
+                       padding: .857em;
+                       max-width: 3.632em;
+               }
+
+               .product-remove {
+                       display: table-cell;
+               }
+
+               .product-quantity .plus,
+               .product-quantity .minus {
+                       display: inline-block;
+               }
+
+               .quantity {
+                       .qty {
+                               padding: .618em;
+                       }
+               }
+
+               td.actions {
+                       text-align: right;
+
+                       label {
+                               display: none;
+                       }
+
+                       .coupon {
+                               padding-bottom: 0;
+                               margin-bottom: 0;
+                               border-bottom: none;
+                               display: inline-block;
+                               float: left;
+                       }
+
+                       input {
+                               display: inline-block;
+                               width: auto;
+                               margin: 0;
+                       }
+               }
+       }
+
+       .cart-collaterals {
+               @include clearfix;
+
+               .cross-sells {
+                       @include span(4 of 9);
+
+                       ul.products {
+                               li.product {
+                                       @include span(2 of 4);
+                               }
+                       }
+               }
+
+               .cart_totals,
+               .shipping_calculator {
+                       @include span(last 5 of 9);
+                       margin: 0;
+                       clear: right;
+               }
+
+               .shipping_calculator {
+                       clear: right;
+               }
+       }
+
+       .page-template-template-fullwidth-php {
+               .cart-collaterals {
+                       .cross-sells {
+                               @include span(6 of 12);
+
+                               ul.products {
+                                       li.product {
+                                               @include span(3 of 6);
+                                       }
+                               }
+                       }
+
+                       .cart_totals,
+                       .shipping_calculator {
+                               @include span(last 6 of 12);
+                       }
+               }
+       }
+
+       /**
+        * Checkout
+        */
+       .col2-set {
+               @include span(5 of 9);
+
+               .form-row-first {
+                       @include span(2 of 5);
+               }
+
+               .form-row-last {
+                       @include span(last 3 of 5);
+               }
+
+               .col-1,
+               .col-2 {
+                       margin-bottom: 1.618em;
+               }
+
+               & + #customer_details {
+                       display: none;
+               }
+       }
+
+       #order_review_heading,
+       #order_review {
+               @include span(last 4 of 9);
+               border: 3px solid $color_links;
+               clear: right;
+       }
+
+       #order_review_heading {
+               margin-bottom: 0;
+               padding-bottom: .618em;
+               padding-top: .618em;
+               border-width: 3px 3px 0 3px;
+               @include gutters(inside);
+       }
+
+       #order_review {
+               border-width: 0 3px 3px 3px;
+       }
+
+       // Payment forms in account
+       .woocommerce-order-pay {
+               #order_review {
+                       border-width: 3px;
+                       width: 100%;
+                       float: none;
+
+                       #payment {
+                               h3 {
+                                       padding-left: 1em;
+                                       padding-top: 1em;
+                               }
+                       }
+
+                       .payment_methods + .form-row {
+                               padding: 1em;
+                       }
+
+                       .button#place_order {
+                               display: block;
+                               width: 100%;
+                       }
+               }
+       }
+
+       #wc_checkout_add_ons {
+               @include span(4 of 9);
+       }
+
+       .page-template-template-fullwidth-php {
+               .col2-set {
+                       @include span(6 of 12);
+
+                       .form-row-first {
+                               @include span(3 of 6);
+                       }
+
+                       .form-row-last {
+                               @include span(last 3 of 6);
+                       }
+               }
+
+               #order_review_heading,
+               #order_review {
+                       @include span(last 6 of 12);
+               }
+
+               #wc_checkout_add_ons {
+                       @include span(last 6 of 12);
+               }
+
+               #order_review {
+                       font-size: .857em;
+               }
+       }
+
+       #order_review {
+               .shop_table {
+                       margin-bottom: 2.618em;
+               }
+       }
+
+       /**
+        * General WooCommerce Components
+        */
+       .form-row-first {
+               @include span(4.5 of 9);
+               clear: both;
+       }
+
+       .form-row-last {
+               @include span(last 4.5 of 9);
+       }
+
+       .page-template-template-fullwidth-php {
+               .form-row-first {
+                       @include span(6 of 12);
+               }
+
+               .form-row-last {
+                       @include span(last 6 of 12);
+               }
+       }
+
+       .shop-isle-full-width-content {
+               .woocommerce-tabs {
+                       ul.tabs {
+                               @include span(4 of 12);
+                       }
+
+                       .panel {
+                               @include span(last 8 of 12);
+                               margin-bottom: 3.631em;
+                       }
+               }
+       }
+
+       .woocommerce-tabs {
+               @include clearfix;
+               margin-bottom: 2.618em;
+               padding-top: 2.618em;
+               padding-bottom: 2.618em;
+
+               ul.tabs {
+                       @include span(3 of 9);
+                       text-align: left;
+
+                       li {
+                               display: block;
+                               margin: 0;
+                               border-bottom: 1px dotted $color_border;
+
+                               a {
+                                       padding: 1em 0;
+                                       display: block;
+                               }
+
+                               &.active {
+                                       &:after {
+                                               margin: 0;
+                                               right: 0;
+                                               left: auto;
+                                               top: 50%;
+                                               content: "\f105";
+                                               margin-top: -.5em;
+                                       }
+                               }
+                       }
+               }
+
+               .panel {
+                       @include span(last 6 of 9);
+                       margin-top: 0;
+               }
+       }
+}
diff --git a/templates/shop-isle/inc/woocommerce/functions.php b/templates/shop-isle/inc/woocommerce/functions.php
new file mode 100644 (file)
index 0000000..8f8f4e9
--- /dev/null
@@ -0,0 +1,677 @@
+<?php
+/**
+ * General functions used to integrate this theme with WooCommerce.
+ *
+ * @package WordPress
+ * @subpackage Shop Isle
+ */
+
+
+if ( ! function_exists( 'shop_isle_before_content' ) ) {
+       /**
+        * Before Content
+        * Wraps all WooCommerce content in wrappers which match the theme markup
+        *
+        * @since   1.0.0
+        * @return  void
+        */
+       function shop_isle_before_content() {
+               ?>
+               <div class="main">
+                       <?php
+       }
+}
+
+if ( ! function_exists( 'shop_isle_after_content' ) ) {
+       /**
+        * After Content
+        * Closes the wrapping divs
+        *
+        * @since   1.0.0
+        * @return  void
+        */
+       function shop_isle_after_content() {
+               ?>
+               </div><!-- .main -->
+
+               <?php
+       }
+}
+
+if ( ! function_exists( 'shop_isle_shop_page_wrapper' ) ) {
+
+       /**
+        * Before Shop loop
+        *
+        * @since   1.0.0
+        * @return  void
+        */
+       function shop_isle_shop_page_wrapper() {
+               ?>
+               <section class="module-small module-small-shop">
+                               <div class="container">
+
+                               <?php
+                               if ( is_shop() || is_product_tag() || is_product_category() ) :
+
+                                               do_action( 'shop_isle_before_shop' );
+
+                                       if ( is_active_sidebar( 'shop-isle-sidebar-shop-archive' ) ) :
+                                       ?>
+
+                                                       <div class="col-sm-9 shop-with-sidebar" id="shop-isle-blog-container">
+
+                                               <?php endif; ?>
+
+                               <?php endif; ?>
+
+               <?php
+       }
+}
+
+/**
+ * Before Product content
+ *
+ * @since   1.0.0
+ * @return  void
+ */
+function shop_isle_product_page_wrapper() {
+       echo '<section class="module module-super-small">
+                       <div class="container product-main-content">';
+}
+
+if ( ! function_exists( 'shop_isle_product_page_wrapper_end' ) ) {
+       /**
+        * After Product content
+        * Closes the wrapping div and section
+        *
+        * @since   1.0.0
+        * @return  void
+        */
+       function shop_isle_product_page_wrapper_end() {
+               ?>
+                       </div><!-- .container -->
+               </section><!-- .module-small -->
+                       <?php
+       }
+}
+
+if ( ! function_exists( 'shop_isle_shop_page_wrapper_end' ) ) {
+       /**
+        * After Shop loop
+        * Closes the wrapping div and section
+        *
+        * @since   1.0.0
+        * @return  void
+        */
+       function shop_isle_shop_page_wrapper_end() {
+               ?>
+
+                       <?php if ( (is_shop() || is_product_category() || is_product_tag() ) && is_active_sidebar( 'shop-isle-sidebar-shop-archive' ) ) : ?>
+
+                               </div>
+
+                               <!-- Sidebar column start -->
+                               <div class="col-sm-3 col-md-3 sidebar sidebar-shop">
+                                       <?php do_action( 'shop_isle_sidebar_shop_archive' ); ?>
+                               </div>
+                               <!-- Sidebar column end -->
+
+                       <?php endif; ?>
+
+                       </div><!-- .container -->
+               </section><!-- .module-small -->
+               <?php
+       }
+}
+
+/**
+ * Default loop columns on product archives
+ *
+ * @return integer products per row
+ * @since  1.0.0
+ */
+function shop_isle_loop_columns() {
+       if ( is_active_sidebar( 'shop-isle-sidebar-shop-archive' ) ) {
+               return apply_filters( 'shop_isle_loop_columns', 3 ); // 3 products per row
+       } else {
+               return apply_filters( 'shop_isle_loop_columns', 4 ); // 4 products per row
+       }
+}
+
+/**
+ * Add 'woocommerce-active' class to the body tag
+ *
+ * @param  array $classes body classes.
+ *
+ * @return array $classes modified to include 'woocommerce-active' class.
+ */
+function shop_isle_woocommerce_body_class( $classes ) {
+       if ( is_woocommerce_activated() ) {
+               $classes[] = 'woocommerce-active';
+       }
+
+       return $classes;
+}
+
+if ( ! function_exists( 'shop_isle_cart_link_fragment' ) ) {
+       /**
+        * Cart Fragments
+        * Ensure cart contents update when products are added to the cart via AJAX
+        *
+        * @param  array $fragments Fragments to refresh via AJAX.
+        *
+        * @return array            Fragments to refresh via AJAX.
+        */
+       function shop_isle_cart_link_fragment( $fragments ) {
+               global $woocommerce;
+
+               ob_start();
+
+               shop_isle_cart_link();
+
+               $fragments['a.cart-contents'] = ob_get_clean();
+
+               return $fragments;
+       }
+}
+
+/**
+ * WooCommerce specific scripts & stylesheets
+ *
+ * @since 1.0.0
+ */
+function shop_isle_woocommerce_scripts() {
+
+       wp_enqueue_style( 'shop-isle-woocommerce-style1', get_template_directory_uri() . '/inc/woocommerce/css/woocommerce.css', array(), 'v3' );
+}
+
+/**
+ * Related Products Args
+ *
+ * @param  array $args related products args.
+ *
+ * @since 1.0.0
+ * @return  array $args related products args.
+ */
+function shop_isle_related_products_args( $args ) {
+       $args = apply_filters(
+               'shop_isle_related_products_args', array(
+                       'posts_per_page' => 4,
+                       'columns'        => 4,
+               )
+       );
+
+       return $args;
+}
+
+/**
+ * Product gallery thumnail columns
+ *
+ * @return integer number of columns
+ * @since  1.0.0
+ */
+function shop_isle_thumbnail_columns() {
+       return intval( apply_filters( 'shop_isle_product_thumbnail_columns', 4 ) );
+}
+
+/**
+ * Products per page
+ *
+ * @return integer number of products
+ * @since  1.0.0
+ */
+function shop_isle_products_per_page() {
+       return intval( apply_filters( 'shop_isle_products_per_page', 12 ) );
+}
+
+/**
+ * Query WooCommerce Extension Activation.
+ *
+ * @var  $extension main extension class name
+ * @return boolean
+ */
+function is_woocommerce_extension_activated( $extension = 'WC_Bookings' ) {
+       return class_exists( $extension ) ? true : false;
+}
+
+/**
+ * Header for shop page
+ *
+ * @since  1.0.0
+ */
+function shop_isle_header_shop_page( $page_title ) {
+
+       $shop_isle_title = '';
+
+       $shop_isle_header_image = get_header_image();
+       if ( ! empty( $shop_isle_header_image ) ) :
+               $shop_isle_title = '<section class="' . ( is_woocommerce() ? 'woocommerce-page-title ' : '' ) . 'page-header-module module bg-dark" data-background="' . $shop_isle_header_image . '">';
+       else :
+               $shop_isle_title = '<section class="page-header-module module bg-dark">';
+       endif;
+
+               $shop_isle_title .= '<div class="container">';
+
+                       $shop_isle_title .= '<div class="row">';
+
+                               $shop_isle_title .= '<div class="col-sm-6 col-sm-offset-3">';
+
+       if ( ! empty( $page_title ) ) :
+
+               $shop_isle_title .= '<h1 class="module-title font-alt">' . $page_title . '</h1>';
+
+                                       endif;
+
+                                       $shop_isle_shop_id = get_option( 'woocommerce_shop_page_id' );
+
+       if ( ! empty( $shop_isle_shop_id ) ) :
+
+               $shop_isle_page_description = get_post_meta( $shop_isle_shop_id, 'shop_isle_page_description' );
+
+               if ( ! empty( $shop_isle_page_description[0] ) ) :
+                       $shop_isle_title .= '<div class="module-subtitle font-serif mb-0">' . $shop_isle_page_description[0] . '</div>';
+               endif;
+
+                                       endif;
+
+                               $shop_isle_title .= '</div>';
+
+                       $shop_isle_title .= '</div><!-- .row -->';
+
+               $shop_isle_title .= '</div>';
+       $shop_isle_title .= '</section>';
+
+       return $shop_isle_title;
+}
+
+/**
+ * New thumbnail size for cart page
+ *
+ * @since  1.0.0
+ */
+function shop_isle_cart_item_thumbnail( $thumb, $cart_item, $cart_item_key ) {
+
+       if ( function_exists( 'wc_get_product' ) ) {
+               $product = wc_get_product( $cart_item['product_id'] );
+       } elseif ( function_exists( 'get_product' ) ) {
+               $product = get_product( $cart_item['product_id'] );
+       }
+
+       if ( ! empty( $cart_item['variation'] ) ) {
+               if ( ! empty( $cart_item['variation_id'] ) ) {
+
+                       if ( function_exists( 'wc_get_product' ) ) {
+                               $product = wc_get_product( $cart_item['variation_id'] );
+                       } elseif ( function_exists( 'get_product' ) ) {
+                               $product = get_product( $cart_item['variation_id'] );
+                       }
+               }
+       }
+
+       return $product->get_image( 'shop_isle_cart_item_image_size' );
+
+}
+
+/**
+ * Products slider on single page product
+ *
+ * @since  1.0.0
+ */
+function shop_isle_products_slider_on_single_page() {
+
+       $shop_isle_products_slider_single_hide = get_theme_mod( 'shop_isle_products_slider_single_hide' );
+
+       if ( isset( $shop_isle_products_slider_single_hide ) && $shop_isle_products_slider_single_hide != 1 ) :
+               echo '<hr class="divider-w">';
+               echo '<section class="module module-small-bottom aya">';
+       elseif ( is_customize_preview() ) :
+               echo '<hr class="divider-w">';
+               echo '<section class="module module-small-bottom shop_isle_hidden_if_not_customizer">';
+       endif;
+
+       if ( ( isset( $shop_isle_products_slider_single_hide ) && $shop_isle_products_slider_single_hide != 1 ) || is_customize_preview() ) :
+
+                       echo '<div class="container">';
+
+                               $shop_isle_products_slider_title = get_theme_mod( 'shop_isle_products_slider_title',__( 'Exclusive products', 'shop-isle' ) );
+                               $shop_isle_products_slider_subtitle = get_theme_mod( 'shop_isle_products_slider_subtitle',__( 'Special category of products', 'shop-isle' ) );
+
+               if ( ! empty( $shop_isle_products_slider_title ) || ! empty( $shop_isle_products_slider_subtitle ) ) :
+                       echo '<div class="row">';
+                       echo '<div class="col-sm-6 col-sm-offset-3">';
+                       if ( ! empty( $shop_isle_products_slider_title ) ) :
+                               echo '<h2 class="module-title font-alt">' . $shop_isle_products_slider_title . '</h2>';
+                       endif;
+                       if ( ! empty( $shop_isle_products_slider_subtitle ) ) :
+                               echo '<div class="module-subtitle font-serif">' . $shop_isle_products_slider_subtitle . '</div>';
+                       endif;
+                       echo '</div>';
+                       echo '</div><!-- .row -->';
+                               endif;
+
+                               $shop_isle_products_slider_category = get_theme_mod( 'shop_isle_products_slider_category' );
+
+               $tax_query_item = array();
+               $meta_query_item = array();
+               if ( taxonomy_exists( 'product_visibility' ) ) {
+                       $tax_query_item = array(
+                               array(
+                                       'taxonomy' => 'product_visibility',
+                                       'field'    => 'term_id',
+                                       'terms'    => 'exclude-from-catalog',
+                                       'operator' => 'NOT IN',
+                               ),
+                       );
+               } else {
+                       $meta_query_item = array(
+                               'key'     => '_visibility',
+                               'value'   => 'hidden',
+                               'compare' => '!=',
+                       );
+               }
+
+               $shop_isle_products_slider_args = array(
+                       'post_type' => 'product',
+                       'posts_per_page' => 10,
+               );
+
+               if ( ! empty( $shop_isle_products_slider_category ) && ($shop_isle_products_slider_category != '-') ) {
+                       $shop_isle_products_slider_args['tax_query'] = array(
+                               array(
+                                       'taxonomy'   => 'product_cat',
+                                       'field'      => 'term_id',
+                                       'terms'      => $shop_isle_products_slider_category,
+                               ),
+                       );
+               }
+
+               if ( ! empty( $tax_query_item ) ) {
+                       $shop_isle_products_slider_args['tax_query']['relation'] = 'AND';
+                       $shop_isle_products_slider_args['tax_query'] = array_merge( $shop_isle_products_slider_args['tax_query'],$tax_query_item );
+               }
+
+               if ( ! empty( $meta_query_item ) ) {
+                       $shop_isle_products_slider_args['meta_query'] = $meta_query_item;
+               }
+
+               if ( ! empty( $shop_isle_products_slider_category ) && ($shop_isle_products_slider_category != '-') ) :
+
+                       $shop_isle_products_slider_loop = new WP_Query( $shop_isle_products_slider_args );
+
+                       if ( $shop_isle_products_slider_loop->have_posts() ) :
+
+                               $rtl_slider = apply_filters( 'shop_isle_products_slider_single_rtl', 'false' );
+                               $number_of_items = apply_filters( 'shop_isle_products_slider_single_items', 5 );
+                               $pagination = apply_filters( 'shop_isle_products_slider_single_pagination', 'false' );
+                               $navigation = apply_filters( 'shop_isle_products_slider_single_navigation', 'false' );
+
+                               echo '<div class="row">';
+
+                               echo '<div class="owl-carousel text-center" data-items="' . esc_attr( $number_of_items ) . '" data-pagination="' . esc_attr( $pagination ) . '" data-navigation="' . esc_attr( $navigation ) . '" data-rtl="' . esc_attr( $rtl_slider ) . '" >';
+
+                               while ( $shop_isle_products_slider_loop->have_posts() ) :
+
+                                       $shop_isle_products_slider_loop->the_post();
+
+                                       echo '<div class="owl-item">';
+                                       echo '<div class="col-sm-12">';
+                                       echo '<div class="ex-product">';
+                                       echo '<a href="' . esc_url( get_permalink() ) . '">' . woocommerce_get_product_thumbnail() . '</a>';
+                                       echo '<h4 class="shop-item-title font-alt"><a href="' . esc_url( get_permalink() ) . '">' . get_the_title() . '</a></h4>';
+                                       $product = new WC_Product( get_the_ID() );
+
+                                       $rating_html = '';
+                                       if ( function_exists( 'method_exists' ) && function_exists( 'wc_get_rating_html' ) && method_exists( $product, 'get_average_rating' ) ) {
+                                               $shop_isle_avg = $product->get_average_rating();
+                                               if ( ! empty( $shop_isle_avg ) ) {
+                                                       $rating_html = wc_get_rating_html( $shop_isle_avg );
+                                               }
+                                       } elseif ( function_exists( 'method_exists' ) && method_exists( $product, 'get_rating_html' ) && method_exists( $product, 'get_average_rating' ) ) {
+                                               $shop_isle_avg = $product->get_average_rating();
+                                               if ( ! empty( $shop_isle_avg ) ) {
+                                                       $rating_html = $product->get_rating_html( $shop_isle_avg );
+                                               }
+                                       }
+                                       if ( ! empty( $rating_html ) && get_option( 'woocommerce_enable_review_rating' ) === 'yes' ) {
+                                               echo '<div class="product-rating-home">' . $rating_html . '</div>';
+                                       }
+                                       $shop_isle_price = '';
+                                       if ( function_exists( 'method_exists' ) && method_exists( $product, 'get_price_html' ) ) {
+                                               $shop_isle_price = $product->get_price_html();
+                                       }
+                                       if ( ! empty( $shop_isle_price ) ) {
+                                               echo wp_kses_post( $shop_isle_price );
+                                       }
+                                       echo '</div>';
+                                       echo '</div>';
+                                       echo '</div>';
+
+                                       endwhile;
+
+                                       wp_reset_postdata();
+                               echo '</div>';
+
+                                       echo '</div>';
+
+                       endif;
+
+                               else :
+
+                                       $shop_isle_products_slider_loop = new WP_Query( $shop_isle_products_slider_args );
+
+                                       if ( $shop_isle_products_slider_loop->have_posts() ) :
+
+                                               $rtl_slider = apply_filters( 'shop_isle_products_slider_single_rtl', 'false' );
+                                               $number_of_items = apply_filters( 'shop_isle_products_slider_single_items', 5 );
+                                               $pagination = apply_filters( 'shop_isle_products_slider_single_pagination', 'false' );
+                                               $navigation = apply_filters( 'shop_isle_products_slider_single_navigation', 'false' );
+
+                                               echo '<div class="row">';
+
+                                               echo '<div class="owl-carousel text-center" data-items="' . esc_attr( $number_of_items ) . '" data-pagination="' . esc_attr( $pagination ) . '" data-navigation="' . esc_attr( $navigation ) . '" data-rtl="' . esc_attr( $rtl_slider ) . '" >';
+
+                                               while ( $shop_isle_products_slider_loop->have_posts() ) :
+
+                                                       $shop_isle_products_slider_loop->the_post();
+
+                                                       echo '<div class="owl-item">';
+                                                       echo '<div class="col-sm-12">';
+                                                       echo '<div class="ex-product">';
+                                                       echo '<a href="' . esc_url( get_permalink() ) . '">' . woocommerce_get_product_thumbnail() . '</a>';
+                                                       echo '<h4 class="shop-item-title font-alt"><a href="' . esc_url( get_permalink() ) . '">' . get_the_title() . '</a></h4>';
+                                                               $product = new WC_Product( get_the_ID() );
+                                                               $rating_html = '';
+                                                       if ( function_exists( 'method_exists' ) && function_exists( 'wc_get_rating_html' ) && method_exists( $product, 'get_average_rating' ) ) {
+                                                               $shop_isle_avg = $product->get_average_rating();
+                                                               if ( ! empty( $shop_isle_avg ) ) {
+                                                                       $rating_html = wc_get_rating_html( $shop_isle_avg );
+                                                               }
+                                                       } elseif ( function_exists( 'method_exists' ) && method_exists( $product, 'get_rating_html' ) && method_exists( $product, 'get_average_rating' ) ) {
+                                                               $shop_isle_avg = $product->get_average_rating();
+                                                               if ( ! empty( $shop_isle_avg ) ) {
+                                                                       $rating_html = $product->get_rating_html( $shop_isle_avg );
+                                                               }
+                                                       }
+                                                       if ( ! empty( $rating_html ) && get_option( 'woocommerce_enable_review_rating' ) === 'yes' ) {
+                                                               echo '<div class="product-rating-home">' . $rating_html . '</div>';
+                                                       }
+                                                       $shop_isle_price = '';
+                                                       if ( function_exists( 'method_exists' ) && method_exists( $product, 'get_price_html' ) ) {
+                                                               $shop_isle_price = $product->get_price_html();
+                                                       }
+                                                       if ( ! empty( $shop_isle_price ) ) {
+                                                               echo wp_kses_post( $shop_isle_price );
+                                                       }
+                                                       echo '</div>';
+                                                               echo '</div>';
+                                                               echo '</div>';
+
+                                                                       endwhile;
+
+                                                                       wp_reset_postdata();
+                                                               echo '</div>';
+
+                                                       echo '</div>';
+
+                                       endif;
+
+                               endif;
+
+                               echo '</div>';
+
+                               echo '</section>';
+
+       endif;
+}
+
+if ( ! function_exists( 'shop_isle_search_products_no_results_wrapper' ) ) {
+       /**
+        * No results on search wrapper start.
+        */
+       function shop_isle_search_products_no_results_wrapper() {
+
+               $shop_isle_body_classes = get_body_class();
+
+               if ( is_search() && in_array( 'woocommerce',$shop_isle_body_classes ) && in_array( 'search-no-results',$shop_isle_body_classes ) ) {
+                       echo '<section class="module-small module-small-shop">';
+                               echo '<div class="container">';
+               }
+       }
+}
+
+if ( ! function_exists( 'shop_isle_search_products_no_results_wrapper_end' ) ) {
+       /**
+        * No results on search wrapper end.
+        */
+       function shop_isle_search_products_no_results_wrapper_end() {
+
+               $shop_isle_body_classes = get_body_class();
+
+               if ( is_search() && in_array( 'woocommerce',$shop_isle_body_classes ) && in_array( 'search-no-results',$shop_isle_body_classes ) ) {
+                               echo '</div><!-- .container -->';
+                       echo '</section><!-- .module-small -->';
+               }
+       }
+}
+
+if ( ! function_exists( 'shop_isle_always_show_live_cart' ) ) {
+       /**
+        *  Force WC_Widget_Cart widget to show on cart and checkout pages
+        *  Used for the live cart in header
+        */
+       function shop_isle_always_show_live_cart() {
+               return false;
+       }
+}
+
+if ( ! function_exists( 'shop_isle_loop_product_thumbnail' ) ) {
+       /**
+        * Get the product thumbnail, or the placeholder if not set.
+        */
+       function shop_isle_loop_product_thumbnail() {
+               global $product;
+               $image_size = 'shop_catalog';
+
+               if ( function_exists( 'method_exists' ) && method_exists( $product, 'get_gallery_image_ids' ) ) {
+                       $shop_isle_gallery_attachment_ids = $product->get_gallery_image_ids();
+               } elseif ( function_exists( 'method_exists' ) && method_exists( $product, 'get_gallery_attachment_ids' ) ) {
+                       $shop_isle_gallery_attachment_ids = $product->get_gallery_attachment_ids();
+               }
+
+               if ( has_post_thumbnail() ) {
+                       if ( function_exists( 'wc_get_product_attachment_props' ) ) {
+
+                               $props = wc_get_product_attachment_props( get_post_thumbnail_id(), $product );
+                               $product_id = get_the_ID();
+                               echo get_the_post_thumbnail(
+                                       $product_id, $image_size, array(
+                                               'title'  => $props['title'],
+                                               'alt'    => $props['alt'],
+                                       )
+                               );
+                       }
+
+                       if ( ! empty( $shop_isle_gallery_attachment_ids[0] ) ) :
+                               echo wp_get_attachment_image( $shop_isle_gallery_attachment_ids[0], $image_size );
+                       endif;
+
+               } elseif ( ! empty( $shop_isle_gallery_attachment_ids ) ) {
+
+                       if ( ! empty( $shop_isle_gallery_attachment_ids[0] ) ) :
+                               echo wp_get_attachment_image( $shop_isle_gallery_attachment_ids[0], $image_size );
+                       endif;
+
+                       if ( ! empty( $shop_isle_gallery_attachment_ids[1] ) ) :
+                               echo wp_get_attachment_image( $shop_isle_gallery_attachment_ids[1], $image_size );
+                       endif;
+
+               } elseif ( function_exists( 'wc_placeholder_img_src' ) ) {
+
+                       $shop_isle_placeholder_img = wc_placeholder_img( $image_size );
+
+                       if ( ! empty( $shop_isle_placeholder_img ) ) {
+                               echo $shop_isle_placeholder_img;
+                       }
+               }
+       }
+}// End if().
+
+
+if ( ! function_exists( 'shop_isle_woocommerce_taxonomy_archive_description' ) ) {
+       /**
+        * Display WooCommerce product category description on all category archive pages
+        */
+       function shop_isle_woocommerce_taxonomy_archive_description() {
+               if ( is_tax( array( 'product_cat', 'product_tag' ) ) && get_query_var( 'paged' ) != 0 ) {
+                       $description = wc_format_content( term_description() );
+                       if ( $description ) {
+                               echo '<div class="term-description">' . $description . '</div>';
+                       }
+               }
+       }
+}
+add_action( 'woocommerce_archive_description', 'shop_isle_woocommerce_taxonomy_archive_description' );
+
+
+if ( ! function_exists( 'shop_isle_woocommerce_product_archive_description' ) ) {
+       /**
+        * Display WooCommerce shop content on all shop pages
+        */
+       function shop_isle_woocommerce_product_archive_description() {
+               if ( is_post_type_archive( 'product' ) ) {
+                       $shop_page   = get_post( wc_get_page_id( 'shop' ) );
+                       if ( $shop_page ) {
+                               $description = wc_format_content( $shop_page->post_content );
+                               if ( $description ) {
+                                       echo '<div class="page-description">' . $description . '</div>';
+                               }
+                       }
+               }
+       }
+}
+
+/**
+ * Fix for Shop page set up as static frontpage problem with the sidebar
+ */
+function shop_isle_woocommerce_breadcrumb() {
+       if ( function_exists( 'woocommerce_breadcrumb' ) ) {
+               if ( is_front_page() ) {
+                       echo '<nav class="woocommerce-breadcrumb"><a href="' . esc_url( home_url( '/' ) ) . '">Home</a></nav>';
+               } else {
+                       woocommerce_breadcrumb();
+               }
+       }
+}
+
+/**
+ * Function to add Out of Stock badge on shop pages
+ */
+function shop_isle_outofstock_notify_on_archives() {
+       global $product;
+       if ( function_exists( 'method_exists' ) && method_exists( $product, 'managing_stock' ) && method_exists( $product, 'is_in_stock' ) ) {
+               if ( ! $product->managing_stock() && ! $product->is_in_stock() ) {
+                       echo '<span class="onsale out-of-stock">' . esc_html__( 'Out of Stock','shop-isle' ) . '</span>';
+               }
+       }
+}
diff --git a/templates/shop-isle/inc/woocommerce/hooks.php b/templates/shop-isle/inc/woocommerce/hooks.php
new file mode 100644 (file)
index 0000000..8021ec0
--- /dev/null
@@ -0,0 +1,151 @@
+<?php
+/**
+ * Shop Isle WooCommerce Hooks
+ *
+ * @package WordPress
+ * @subpackage Shop Isle
+ */
+
+/**
+ * Styles
+ *
+ * @see  shop_isle_woocommerce_scripts()
+ */
+add_action( 'wp_enqueue_scripts',           'shop_isle_woocommerce_scripts',        20 );
+add_filter( 'woocommerce_enqueue_styles',   '__return_empty_array' );
+
+/**
+ * Layout
+ *
+ * @see  shop_isle_before_content()
+ * @see  shop_isle_after_content()
+ * @see  woocommerce_breadcrumb()
+ * @see  shop_isle_shop_messages()
+ */
+
+remove_action( 'woocommerce_before_main_content',   'woocommerce_breadcrumb',                   20, 0 );
+remove_action( 'woocommerce_before_main_content',   'woocommerce_output_content_wrapper',       10 );
+remove_action( 'woocommerce_after_main_content',    'woocommerce_output_content_wrapper_end',   10 );
+remove_action( 'woocommerce_sidebar',               'woocommerce_get_sidebar',                  10 );
+remove_action( 'woocommerce_before_shop_loop',      'woocommerce_result_count',                 20 );
+remove_action( 'woocommerce_before_shop_loop',      'woocommerce_catalog_ordering',             30 );
+remove_action( 'woocommerce_after_shop_loop',       'woocommerce_pagination',                   10 );
+remove_action( 'woocommerce_archive_description',   'woocommerce_product_archive_description',  10 );
+
+
+
+
+
+remove_action( 'woocommerce_before_shop_loop_item_title',   'woocommerce_template_loop_product_thumbnail', 10 );
+add_action( 'woocommerce_before_shop_loop_item_title',   'shop_isle_loop_product_thumbnail', 20 );
+
+
+
+
+
+add_action( 'shop_isle_before_shop',                'shop_isle_woocommerce_product_archive_description',    5 );
+
+add_action( 'woocommerce_before_main_content',      'shop_isle_before_content',                 10 );
+
+add_action( 'woocommerce_before_shop_loop',         'shop_isle_shop_page_wrapper',              20 );
+
+add_action( 'shop_isle_content_top',                'shop_isle_shop_messages',                  21 );
+
+add_action( 'woocommerce_after_shop_loop',          'shop_isle_sorting_wrapper',                23 );
+add_action( 'woocommerce_after_shop_loop',          'shop_isle_woocommerce_pagination',         24 );
+add_action( 'woocommerce_after_shop_loop',          'shop_isle_sorting_wrapper_close',          25 );
+add_action( 'woocommerce_after_shop_loop',          'shop_isle_shop_page_wrapper_end',          40 );
+
+add_action( 'woocommerce_after_main_content',       'shop_isle_after_content',                  50 );
+
+add_filter( 'woocommerce_page_title', 'shop_isle_header_shop_page' );
+
+
+
+
+
+
+
+/* WooCommerce Search Products Page - No results */
+add_action( 'woocommerce_archive_description',              'shop_isle_search_products_no_results_wrapper',      10 );
+add_action( 'woocommerce_after_main_content',               'shop_isle_search_products_no_results_wrapper_end',  10 );
+
+/**
+ * Products
+ *
+ * @see  shop_isle_upsell_display()
+ */
+remove_action( 'woocommerce_before_single_product',         'action_woocommerce_before_single_product', 10, 1 );
+remove_action( 'woocommerce_after_single_product',          'action_woocommerce_after_single_product', 10, 1 );
+
+add_action( 'woocommerce_before_single_product',            'shop_isle_product_page_wrapper', 10, 1 );
+add_action( 'woocommerce_before_single_product',            'woocommerce_breadcrumb', 11 );
+add_action( 'woocommerce_after_single_product',             'shop_isle_product_page_wrapper_end', 10, 1 );
+
+remove_action( 'woocommerce_after_single_product_summary',  'woocommerce_upsell_display',               15 );
+add_action( 'woocommerce_after_single_product_summary',     'shop_isle_upsell_display',                 15 );
+remove_action( 'woocommerce_before_shop_loop_item_title',   'woocommerce_show_product_loop_sale_flash', 10 );
+add_action( 'woocommerce_after_shop_loop_item_title',       'woocommerce_show_product_loop_sale_flash', 6 );
+add_action( 'woocommerce_after_shop_loop_item_title',       'shop_isle_outofstock_notify_on_archives', 10 );
+
+/* add products slider */
+add_action( 'woocommerce_after_single_product',             'shop_isle_products_slider_on_single_page', 10, 0 );
+
+/* notices */
+remove_action( 'woocommerce_before_single_product',         'wc_print_notices', 10 );
+add_action( 'woocommerce_before_single_product',            'wc_print_notices', 60 );
+
+/**
+ * Filters
+ *
+ * @see  shop_isle_woocommerce_body_class()
+ * @see  shop_isle_cart_link_fragment()
+ * @see  shop_isle_thumbnail_columns()
+ * @see  shop_isle_related_products_args()
+ * @see  shop_isle_products_per_page()
+ * @see  shop_isle_loop_columns()
+ */
+add_filter( 'body_class',                               'shop_isle_woocommerce_body_class' );
+add_filter( 'woocommerce_product_thumbnails_columns',   'shop_isle_thumbnail_columns' );
+add_filter( 'woocommerce_output_related_products_args', 'shop_isle_related_products_args' );
+add_filter( 'loop_shop_per_page',                       'shop_isle_products_per_page' );
+add_filter( 'loop_shop_columns',                        'shop_isle_loop_columns' );
+
+if ( defined( 'WC_VERSION' ) && version_compare( WC_VERSION, '2.3', '>=' ) ) {
+       add_filter( 'woocommerce_add_to_cart_fragments', 'shop_isle_cart_link_fragment' );
+} else {
+       add_filter( 'add_to_cart_fragments', 'shop_isle_cart_link_fragment' );
+}
+
+/**
+ * Integrations
+ *
+ * @see  shop_isle_woocommerce_integrations_scripts()
+ */
+add_action( 'wp_enqueue_scripts', 'shop_isle_woocommerce_integrations_scripts' );
+
+/**
+* Cart page
+*/
+add_filter( 'woocommerce_cart_item_thumbnail', 'shop_isle_cart_item_thumbnail', 10, 3 );
+
+/* WooCommerce compare list plugin */
+if ( function_exists( 'wccm_render_catalog_compare_info' ) ) {
+
+       remove_action( 'woocommerce_before_shop_loop', 'wccm_render_catalog_compare_info' );
+
+       add_action( 'woocommerce_before_shop_loop', 'wccm_render_catalog_compare_info', 30 );
+
+       add_action( 'shop_isle_wccm_compare_list','wccm_render_catalog_compare_info' );
+}
+
+if ( function_exists( 'wccm_add_single_product_compare_buttton' ) ) {
+
+       remove_action( 'woocommerce_single_product_summary', 'wccm_add_single_product_compare_buttton', 35 );
+
+       add_action( 'woocommerce_product_meta_end', 'wccm_add_single_product_compare_buttton', 35 );
+}
+
+add_filter( 'woocommerce_widget_cart_is_hidden', 'shop_isle_always_show_live_cart', 40, 0 );
+
+add_action( 'woocommerce_before_single_product_summary','shop_isle_outofstock_notify_on_archives',20 );
diff --git a/templates/shop-isle/inc/woocommerce/integrations.php b/templates/shop-isle/inc/woocommerce/integrations.php
new file mode 100644 (file)
index 0000000..b6f4ce3
--- /dev/null
@@ -0,0 +1,76 @@
+<?php
+/**
+ * Integration logic for WooCommerce extensions
+ *
+ * @package shop-isle
+ */
+
+/**
+ * Styles & Scripts
+ *
+ * @return void
+ */
+function shop_isle_woocommerce_integrations_scripts() {
+       /**
+        * Bookings
+        */
+       if ( is_woocommerce_extension_activated( 'WC_Bookings' ) ) {
+               wp_enqueue_style( 'shop-isle-woocommerce-bookings-style', get_template_directory_uri() . '/inc/woocommerce/css/bookings.css' );
+       }
+
+       /**
+        * Brands
+        */
+       if ( is_woocommerce_extension_activated( 'WC_Brands' ) ) {
+               wp_enqueue_style( 'shop-isle-woocommerce-brands-style', get_template_directory_uri() . '/inc/woocommerce/css/brands.css' );
+       }
+
+       /**
+        * Wishlists
+        */
+       if ( is_woocommerce_extension_activated( 'WC_Wishlists_Wishlist' ) ) {
+               wp_enqueue_style( 'shop-isle-woocommerce-wishlists-style', get_template_directory_uri() . '/inc/woocommerce/css/wishlists.css' );
+       }
+
+       /**
+        * AJAX Layered Nav
+        */
+       if ( is_woocommerce_extension_activated( 'SOD_Widget_Ajax_Layered_Nav' ) ) {
+               wp_enqueue_style( 'shop-isle-woocommerce-ajax-layered-nav-style', get_template_directory_uri() . '/inc/woocommerce/css/ajax-layered-nav.css' );
+       }
+
+       /**
+        * Variation Swatches
+        */
+       if ( is_woocommerce_extension_activated( 'WC_SwatchesPlugin' ) ) {
+               wp_enqueue_style( 'shop-isle-variation-swatches-style', get_template_directory_uri() . '/inc/woocommerce/css/variation-swatches.css' );
+       }
+
+       /**
+        * Composite Products
+        */
+       if ( is_woocommerce_extension_activated( 'WC_Composite_Products' ) ) {
+               wp_enqueue_style( 'shop-isle-composite-products-style', get_template_directory_uri() . '/inc/woocommerce/css/composite-products.css' );
+       }
+
+       /**
+        * WooCommerce Photography
+        */
+       if ( is_woocommerce_extension_activated( 'WC_Photography' ) ) {
+               wp_enqueue_style( 'shop-isle-woocommerce-photography-style', get_template_directory_uri() . '/inc/woocommerce/css/photography.css' );
+       }
+
+       /**
+        * Product Reviews Pro
+        */
+       if ( is_woocommerce_extension_activated( 'WC_Product_Reviews_Pro' ) ) {
+               wp_enqueue_style( 'shop-isle-woocommerce-product-reviews-pro-style', get_template_directory_uri() . '/inc/woocommerce/css/product-reviews-pro.css' );
+       }
+
+       /**
+        * WooCommerce Smart Coupons
+        */
+       if ( is_woocommerce_extension_activated( 'WC_Smart_Coupons' ) ) {
+               wp_enqueue_style( 'shop-isle-woocommerce-smart-coupons-style', get_template_directory_uri() . '/inc/woocommerce/css/smart-coupons.css' );
+       }
+}
diff --git a/templates/shop-isle/inc/woocommerce/template-tags.php b/templates/shop-isle/inc/woocommerce/template-tags.php
new file mode 100644 (file)
index 0000000..03457d5
--- /dev/null
@@ -0,0 +1,123 @@
+<?php
+/**
+ * Custom template tags used to integrate this theme with WooCommerce.
+ *
+ * @package WordPress
+ * @subpackage Shop Isle
+ */
+
+if ( ! function_exists( 'shop_isle_cart_link' ) ) {
+
+       /**
+        * Cart Link
+        * Displayed a link to the cart including the number of items present and the cart total.
+        *
+        * @since  1.0.0
+        */
+       function shop_isle_cart_link() {
+               ?>
+               <a class="cart-contents" href="<?php echo esc_url( esc_url( WC()->cart->get_cart_url() ) ); ?>"
+                  title="<?php esc_attr_e( 'View your shopping cart', 'shop-isle' ); ?>">
+                       <?php
+                       echo wp_kses_data( WC()->cart->get_cart_subtotal() );
+                       ?>
+                       <span class="count">
+                               <?php
+                               echo wp_kses_data(
+                                       /* translators: d: number of items. */
+                                       sprintf( _n( '%d item', '%d items', WC()->cart->get_cart_contents_count(), 'shop-isle' ), WC()->cart->get_cart_contents_count() )
+                               );
+                               ?>
+                       </span>
+               </a>
+               <?php
+       }
+}
+
+if ( ! function_exists( 'shop_isle_upsell_display' ) ) {
+
+       /**
+        * Upsells
+        * Related products on single page and line above it
+        *
+        * @since   1.0.0
+        * @return  void
+        * @uses    woocommerce_upsell_display()
+        */
+       function shop_isle_upsell_display() {
+               echo '</div></div>';
+               global $product;
+
+               if ( function_exists( 'method_exists' ) && method_exists( $product, 'get_upsell_ids' ) ) {
+                       $upsells = $product->get_upsell_ids();
+               } elseif ( function_exists( 'method_exists' ) && method_exists( $product, 'get_upsells' ) ) {
+                       $upsells = $product->get_upsells();
+               }
+
+               if ( ! empty( $upsells ) && ( count( $upsells ) > 0 ) ) {
+                       echo '<hr class="divider-w">';
+               }
+               echo '<div class="container">';
+               woocommerce_upsell_display( - 1, 3 );
+               $product_id = get_the_ID();
+
+               if ( function_exists( 'wc_get_related_products' ) ) {
+                       $related = wc_get_related_products( $product_id );
+               } elseif ( function_exists( 'method_exists' ) && method_exists( $product, 'get_related' ) ) {
+                       $related = $product->get_related();
+               }
+               if ( ! empty( $related ) && ( count( $related ) > 0 ) ) {
+                       echo '</div>';
+                       echo '<hr class="divider-w">';
+                       echo '<div class="container">';
+               }
+       }
+}// End if().
+
+/**
+ * Sorting wrapper
+ *
+ * @since   1.4.3
+ * @return  void
+ */
+function shop_isle_sorting_wrapper() {
+       echo '<div class="row">';
+       echo '<div class="col-sm-12">';
+}
+
+/**
+ * Sorting wrapper close
+ *
+ * @since   1.4.3
+ * @return  void
+ */
+function shop_isle_sorting_wrapper_close() {
+       echo '</div>';
+       echo '</div>';
+}
+
+/**
+ * ShopIsle shop messages
+ *
+ * @since   1.4.4
+ * @uses    do_shortcode
+ */
+function shop_isle_shop_messages() {
+       if ( ! is_checkout() ) {
+               echo wp_kses_post( do_shortcode( '[woocommerce_messages]' ) );
+       }
+}
+
+if ( ! function_exists( 'shop_isle_woocommerce_pagination' ) ) {
+
+       /**
+        * Pagination on shop page
+        *
+        * @since  1.0.0
+        */
+       function shop_isle_woocommerce_pagination() {
+               if ( woocommerce_products_will_display() ) {
+                       woocommerce_pagination();
+               }
+       }
+}
diff --git a/templates/shop-isle/index.php b/templates/shop-isle/index.php
new file mode 100644 (file)
index 0000000..2229a0b
--- /dev/null
@@ -0,0 +1,173 @@
+<?php
+/**
+ * The main template file.
+ *
+ * This is the most generic template file in a WordPress theme
+ * and one of the two required files for a theme (the other being style.css).
+ * It is used to display a page when nothing more specific matches a query.
+ * E.g., it puts together the home page when no home.php file exists.
+ * Learn more: http://codex.wordpress.org/Template_Hierarchy
+ *
+ * @package WordPress
+ * @subpackage Shop Isle
+ */
+?>
+<?php get_header(); ?>
+
+       <!-- Wrapper start -->
+       <div class="main">
+
+       <!-- Header section start -->
+<?php
+$shop_isle_header_image = get_header_image();
+if ( ! empty( $shop_isle_header_image ) ) :
+       echo '<section class="page-module-content module bg-dark" data-background="' . esc_url( $shop_isle_header_image ) . '">';
+else :
+       echo '<section class="page-module-content module bg-dark">';
+endif;
+?>
+       <div class="container">
+
+               <div class="row">
+
+                       <div class="col-sm-6 col-sm-offset-3">
+
+                               <h1 class="module-title font-alt"><?php the_title(); ?></h1>
+
+                               <?php
+
+                               /* Header description */
+
+                               $shop_isle_shop_id = get_the_ID();
+
+                               if ( ! empty( $shop_isle_shop_id ) ) :
+
+                                       $shop_isle_page_description = get_post_meta( $shop_isle_shop_id, 'shop_isle_page_description' );
+
+                                       if ( ! empty( $shop_isle_page_description[0] ) ) :
+                                               echo '<div class="module-subtitle font-serif mb-0">' . wp_kses_post( $shop_isle_page_description[0] ) . '</div>';
+                                       endif;
+
+                               endif;
+                               ?>
+
+                       </div><!-- .col-sm-6 col-sm-offset-3 -->
+
+               </div><!-- .row -->
+
+       </div><!-- .container -->
+
+<?php
+echo '</section><!-- .module -->';
+?>
+       <!-- Header section end -->
+
+       <!-- Blog standar start -->
+<?php
+$shop_isle_posts_per_page = get_option( 'posts_per_page' ); /* number of latest posts to show */
+
+if ( ! empty( $shop_isle_posts_per_page ) && ($shop_isle_posts_per_page > 0) ) :
+
+       $shop_isle_query = new WP_Query(
+               array(
+                       'post_type' => 'post',
+                       'posts_per_page' => $shop_isle_posts_per_page,
+                       'paged' => ( get_query_var( 'paged' ) ? get_query_var( 'paged' ) : 1 ),
+               )
+       );
+
+
+
+       if ( have_posts() ) {
+
+               ?>
+               <section class="module">
+                       <div class="container">
+
+                               <div class="row">
+
+                                       <!-- Content column start -->
+                                       <div class="col-sm-8" id="shop-isle-blog-container">
+                                               <?php
+
+                                               while ( $shop_isle_query->have_posts() ) {
+                                                       $shop_isle_query->the_post();
+
+                                                       ?>
+                                                       <div id="post-<?php the_ID(); ?>" <?php post_class( 'post' ); ?> itemscope="" itemtype="http://schema.org/BlogPosting">
+
+                                                               <?php
+                                                               if ( has_post_thumbnail() ) {
+                                                                       echo '<div class="post-thumbnail">';
+                                                                       echo '<a href="' . esc_url( get_permalink() ) . '">';
+                                                                       echo get_the_post_thumbnail( $post->ID, 'shop_isle_blog_image_size' );
+                                                                       echo '</a>';
+                                                                       echo '</div>';
+                                                               }
+                                                               ?>
+
+                                                               <div class="post-header font-alt">
+                                                                       <h2 class="post-title"><a href="<?php echo esc_url( get_permalink() ); ?>"><?php the_title(); ?></a></h2>
+                                                                       <div class="post-meta">
+                                                                               <?php
+                                                                               shop_isle_posted_on();
+                                                                               ?>
+
+                                                                       </div>
+                                                               </div>
+
+                                                               <div class="post-entry">
+                                                                       <?php
+                                                                       $shop_isleismore = strpos( $post->post_content, '<!--more-->' );
+                                                                       if ( $shop_isleismore ) :
+                                                                               the_content();
+                                                                       else :
+                                                                               the_excerpt();
+                                                                       endif;
+                                                                       ?>
+                                                               </div>
+
+                                                               <div class="post-more">
+                                                                       <a href="<?php echo esc_url( get_permalink() ); ?>" class="more-link"><?php esc_html_e( 'Read more','shop-isle' ); ?></a>
+                                                               </div>
+
+                                                       </div>
+                                                       <?php
+
+                                               }// End while().
+
+                                               ?>
+
+                                               <!-- Pagination start-->
+                                               <div class="pagination font-alt">
+                                                       <?php next_posts_link( __( '<span class="meta-nav">&laquo;</span> Older posts', 'shop-isle' ), $shop_isle_query->max_num_pages ); ?>
+                                                       <?php previous_posts_link( __( 'Newer posts <span class="meta-nav">&raquo;</span>', 'shop-isle' ), $shop_isle_query->max_num_pages ); ?>
+                                               </div>
+                                               <!-- Pagination end -->
+                                       </div>
+                                       <!-- Content column end -->
+
+                                       <!-- Sidebar column start -->
+                                       <div class="col-sm-4 col-md-3 col-md-offset-1 sidebar">
+
+                                               <?php do_action( 'shop_isle_sidebar' ); ?>
+
+                                       </div>
+                                       <!-- Sidebar column end -->
+
+                               </div><!-- .row -->
+
+                       </div>
+               </section>
+               <!-- Blog standar end -->
+
+               <?php
+               /* Restore original Post Data */
+               wp_reset_postdata();
+       }// End if().
+
+endif;
+
+?>
+
+<?php get_footer(); ?>
diff --git a/templates/shop-isle/js/customizer.js b/templates/shop-isle/js/customizer.js
new file mode 100644 (file)
index 0000000..580e04c
--- /dev/null
@@ -0,0 +1,462 @@
+/**
+ * Theme Customizer enhancements for a better user experience.
+ *
+ * Contains handlers to make Theme Customizer preview reload changes asynchronously.
+ */
+
+( function( $ ) {
+
+       // Site title and description.
+       wp.customize( 'blogname', function( value ) {
+               value.bind( function( to ) {
+                       $( '.site-title a' ).text( to );
+               } );
+       } );
+       wp.customize( 'blogdescription', function( value ) {
+               value.bind( function( to ) {
+                       $( '.site-description a' ).text( to );
+               } );
+       } );
+
+       /****************************************/
+       /********** Big title section ***********/
+       /****************************************/
+       wp.customize( 'shop_isle_big_title_hide', function( value ) {
+               value.bind( function( to ) {
+                       if( to !== true ) {
+                               $( '.home-section' ).removeClass( 'shop_isle_hidden_if_not_customizer' );
+                       } else {
+                               $( '.home-section' ).addClass( 'shop_isle_hidden_if_not_customizer' );
+                       }
+
+               } );
+       } );
+
+       /******************************/
+       /**********  Colors ***********/
+       /******************************/
+
+       wp.customize( 'header_textcolor', function( value ) {
+               value.bind( function( to ) {
+                       $( '.shop_isle_header_title h1 a' ).css( {
+                               'color': to
+                       } );
+                       $( '.shop_isle_header_title h2 a' ).css( {
+                               'color': to
+                       } );
+               } );
+       } );
+       wp.customize( 'background_color', function( value ) {
+               value.bind( function( to ) {
+                       $( 'body' ).css( {
+                               'background': to
+                       } );
+                       if( $( '.front-page-main' ).length > 0 ) { 
+                               $( '.front-page-main' ).css( {
+                                       'background': to
+                               } );
+                       }
+               } );
+       } );
+
+    /******************************/
+    /**********  Header ***********/
+    /******************************/
+    wp.customize( 'shop_isle_logo', function( value ) {
+        value.bind( function( to ) {
+
+            if( to !== '' ) {
+                $( '.shop_isle_header_title .logo-image' ).removeClass( 'shop_isle_hidden_if_not_customizer' );
+                $( '.shop_isle_header_title h1' ).addClass( 'shop_isle_hidden_if_not_customizer' );
+                $( '.shop_isle_header_title h2' ).addClass( 'shop_isle_hidden_if_not_customizer' );
+            }
+            else {
+                $( '.shop_isle_header_title .logo-image' ).addClass( 'shop_isle_hidden_if_not_customizer' );
+                $( '.shop_isle_header_title h1' ).removeClass( 'shop_isle_hidden_if_not_customizer' );
+                $( '.shop_isle_header_title h2' ).removeClass( 'shop_isle_hidden_if_not_customizer' );
+            }
+            $( '.shop_isle_header_title img' ).attr( 'src', to );
+
+        } );
+    } );
+
+    wp.customize( 'shop_isle_blog_header_title', function( value ) {
+        value.bind( function( to ) {
+            if( to !== '' ) {
+                $( '.shop-isle-blog-header-title' ).removeClass( 'shop_isle_hidden_if_not_customizer' );
+            }
+            else {
+                $( '.shop-isle-blog-header-title' ).addClass( 'shop_isle_hidden_if_not_customizer' );
+            }
+            $( '.shop-isle-blog-header-title' ).html( to );
+        } );
+    } );
+
+    wp.customize( 'shop_isle_blog_header_subtitle', function( value ) {
+        value.bind( function( to ) {
+            if( to !== '' ) {
+                $( '.shop-isle-blog-header-subtitle' ).removeClass( 'shop_isle_hidden_if_not_customizer' );
+            }
+            else {
+                $( '.shop-isle-blog-header-subtitle' ).addClass( 'shop_isle_hidden_if_not_customizer' );
+            }
+            $( '.shop-isle-blog-header-subtitle' ).html( to );
+        } );
+    } );
+       
+       /*******************************/
+       /******    Slider section ******/
+       /*******************************/
+       wp.customize( 'shop_isle_slider_hide', function( value ) {
+               value.bind( function( to ) {
+                       if( to !== '1' ) {
+                               $( 'section.home-section' ).removeClass( 'shop_isle_hidden_if_not_customizer' );
+                               $( '.navbar-custom' ).removeClass( 'navbar-color-customizer' );
+                               $('.main').css('margin-top', 0 );
+                       }
+                       else {
+                               $( 'section.home-section' ).addClass( 'shop_isle_hidden_if_not_customizer' );
+                               $( '.navbar-custom' ).addClass( 'navbar-color-customizer' );
+                               $('.main').css('margin-top', $('.navbar-custom').outerHeight() );
+                       }
+               } );
+       } );
+
+       /********************************/
+    /********* Banners section *****/
+       /********************************/
+       wp.customize( 'shop_isle_banners_hide', function( value ) {
+               value.bind( function( to ) {
+                       if( to !== true ) {
+                               $( '.home-banners' ).removeClass( 'shop_isle_hidden_if_not_customizer' );
+                       }
+                       else {
+                               $( '.home-banners' ).addClass( 'shop_isle_hidden_if_not_customizer' );
+                       }
+               } );
+       } );
+
+       wp.customize( 'shop_isle_banners_title', function( value ) {
+
+               value.bind( function( to ) {
+                       if( to !== '' ) {
+                               $( '.product-banners-title' ).removeClass( 'shop_isle_hidden_if_not_customizer' );
+                       }
+                       else {
+                               $( '.product-banners-title' ).addClass( 'shop_isle_hidden_if_not_customizer' );
+                       }
+                       $( '.product-banners-title' ).text( to );
+               } );
+
+       } );
+
+       // Add new banner (Repeater)
+       wp.customize( 'shop_isle_banners', function( value ) {
+               value.bind( function( to ) {
+                       var obj = JSON.parse( to );
+                       var result ='';
+                       obj.forEach(function(item) {
+                               result += '<div class="col-sm-4"><div class="content-box mt-0 mb-0"><div class="content-box-image"><a href="' + item.link + '"><img src="' + item.image_url + '"></a></div></div></div>';
+                       });
+                       $( '.shop_isle_bannerss_section' ).html( result );
+               } );
+       } );
+
+
+
+       /*********************************/
+    /*******  Products section *******/
+       /********************************/
+       wp.customize( 'shop_isle_products_hide', function( value ) {
+               value.bind( function( to ) {
+                       if( to !== true ) {
+                               $( '#latest' ).removeClass( 'shop_isle_hidden_if_not_customizer' );
+                       }
+                       else {
+                               $( '#latest' ).addClass( 'shop_isle_hidden_if_not_customizer' );
+                       }
+               } );
+       } );
+       wp.customize( 'shop_isle_products_title', function( value ) {
+               value.bind( function( to ) {
+                       $( '.product-hide-title' ).html( to );
+               } );
+       } );
+
+       /****************************************/
+       /*********** Video section **************/
+       /****************************************/
+       wp.customize( 'shop_isle_video_hide', function( value ) {
+               value.bind( function( to ) {
+                       if( to !== true ) {
+                               $( '.module-video' ).removeClass( 'shop_isle_hidden_if_not_customizer' );
+                       }
+                       else {
+                               $( '.module-video' ).addClass( 'shop_isle_hidden_if_not_customizer' );
+                       }
+               } );
+       } );
+       wp.customize( 'shop_isle_video_title', function( value ) {
+               value.bind( function( to ) {
+                       var $title = $( '.video-title' );
+            if  ( to !== '' ) {
+                $title.removeClass( 'shop_isle_hidden_if_not_customizer' );
+                $title.html( to );
+            } else {
+                $title.addClass('shop_isle_hidden_if_not_customizer');
+                       }
+               } );
+       } );
+
+    wp.customize('shop_isle_video_section_padding', function (value) {
+        var $selector = $('.module.module-video');
+        value.bind(function (to) {
+            $( window ).resize();
+            $selector.css('padding', to+'px 0px');
+        });
+    });
+
+       /****************************************/
+    /*******  Products slider section *******/
+       /****************************************/
+       wp.customize( 'shop_isle_products_slider_hide', function( value ) {
+               value.bind( function( to ) {
+                       if( to !== true ) {
+                               $( '.home-product-slider' ).removeClass( 'shop_isle_hidden_if_not_customizer' );
+                       }
+                       else {
+                               $( '.home-product-slider' ).addClass( 'shop_isle_hidden_if_not_customizer' );
+                       }
+               } );
+       } );
+       wp.customize( 'shop_isle_products_slider_single_hide', function( value ) {
+               value.bind( function( to ) {
+                       if( to !== true ) {
+                               $( '.module-small-bottom' ).removeClass( 'shop_isle_hidden_if_not_customizer' );
+                       }
+                       else {
+                               $( '.module-small-bottom' ).addClass( 'shop_isle_hidden_if_not_customizer' );
+                       }
+               } );
+       } );
+       wp.customize( 'shop_isle_products_slider_title', function( value ) {
+               value.bind( function( to ) {
+                       $( '.home-prod-title' ).text( to );
+               } );
+       } );
+       wp.customize( 'shop_isle_products_slider_subtitle', function( value ) {
+               value.bind( function( to ) {
+                       $( '.home-prod-subtitle' ).text( to );
+               } );
+       } );
+       
+       /****************************************/
+       /*********  Services section ************/
+       /****************************************/
+
+       wp.customize( 'shop_isle_services_title', function( value ) {
+               value.bind( function( to ) {
+                       $( '.services h2' ).text( to );
+               } );
+       } );
+       wp.customize( 'shop_isle_services_subtitle', function( value ) {
+               value.bind( function( to ) {
+                       $( '.services .module-subtitle' ).text( to );
+               } );
+       } );
+       
+       /* Our services (Repeater) */
+       wp.customize( 'shop_isle_service_box', function( value ) {
+               value.bind( function( to ) {
+                       var obj = JSON.parse( to );
+                       var result ='';
+                       obj.forEach(function(item) {
+                               result += '<div class="col-xs-12 col-sm-4 sip-service-box"><div class="sip-single-service"><a href="'+item.link+'" class="sip-single-service-a"><span class="'+item.icon_value+' sip-single-icon"></span><div class="sip-single-service-text"><h3 class="">'+item.text+'</h3><p class="">'+item.subtext+'</p></div></a></div></div>';
+                       });
+                       $( '#our_services_wrap' ).html( result );
+               } );
+       } );
+
+       /****************************************/
+       /*********  Ribbon section **************/
+       /****************************************/
+       wp.customize( 'shop_isle_ribbon_text', function( value ) {
+               value.bind( function( to ) {
+                       if( to !== '1' ) {
+                               $( '.ribbon' ).removeClass( 'shop_isle_hidden_if_not_customizer' );
+                       }
+                       else {
+                               $( '.ribbon' ).addClass( 'shop_isle_hidden_if_not_customizer' );
+                       }
+               } );
+       } );
+       wp.customize( 'shop_isle_ribbon_text', function( value ) {
+               value.bind( function( to ) {
+                       $( '.ribbon h2' ).text( to );
+               } );
+       } );
+
+       wp.customize( 'shop_isle_ribbon_button_text', function( value ) {
+               value.bind( function( to ) {
+                       $( '.ribbon .btn-ribbon' ).text( to );
+               } );
+       } );
+
+       wp.customize( 'shop_isle_ribbon_background', function( value ) {
+               value.bind( function( to ) {
+                       $( '#ribbon' ).css( 'background-image', 'url(' + to + ')' );
+               } );
+       } );
+
+       /*****************************************/
+       /*********  Categories section ***********/
+       /*****************************************/
+
+       wp.customize( 'shop_isle_fp_categories_title', function( value ) {
+               value.bind( function( to ) {
+                       $( '.categories#categories h2' ).text( to );
+               } );
+       } );
+       wp.customize( 'shop_isle_fp_categories_subtitle', function( value ) {
+               value.bind( function( to ) {
+                       $( '.categories#categories .module-subtitle' ).text( to );
+               } );
+       } );
+
+       /*******************************/
+    /***********  Footer ***********/
+       /*******************************/
+       wp.customize( 'shop_isle_copyright', function( value ) {
+               value.bind( function( to ) {
+                       $( '.copyright' ).html( to );
+               } );
+       } );
+
+
+       /*******************************************/
+       /******    Hide site info from footer ******/
+       /*******************************************/
+       wp.customize( 'shop_isle_site_info_hide', function( value ) {
+               value.bind( function( to ) {
+                       if( to !== true ) {
+                               $( '.shop-isle-poweredby-box' ).removeClass( 'shop_isle_hidden_if_not_customizer' );
+                       }
+                       else {
+                               $( '.shop-isle-poweredby-box' ).addClass( 'shop_isle_hidden_if_not_customizer' );
+                       }
+               } );
+       } );
+
+       // socials (Repeater)
+       wp.customize( 'shop_isle_socials', function( value ) {
+               value.bind( function( to ) {
+                       var obj = JSON.parse( to );
+                       var result ='';
+                       obj.forEach(function(item) {
+                               result+=  '<a href="' + item.link + '" class="social-icon"><i class="fa ' + item.icon_value + '"></i></a>';
+                       });
+                       $( '.footer-social-links' ).html( result );
+               } );
+       } );
+
+       /*********************************/
+       /******  About us page  **********/
+       /*********************************/
+       wp.customize( 'shop_isle_our_team_title', function( value ) {
+               value.bind( function( to ) {
+                       $( '.meet-out-team-title' ).text( to );
+               } );
+       } );
+       wp.customize( 'shop_isle_our_team_subtitle', function( value ) {
+               value.bind( function( to ) {
+                       $( '.meet-out-team-subtitle' ).text( to );
+               } );
+       } );
+       wp.customize( 'shop_isle_about_page_video_title', function( value ) {
+               value.bind( function( to ) {
+                       $( '.video-title' ).text( to );
+               } );
+       } );
+       wp.customize( 'shop_isle_about_page_video_subtitle', function( value ) {
+               value.bind( function( to ) {
+                       $( '.video-subtitle' ).text( to );
+               } );
+       } );
+       wp.customize( 'shop_isle_about_page_video_background', function( value ) {
+               value.bind( function( to ) {
+                       $( '.about-page-video' ).css( 'background-image', 'url(' + to + ')' );
+               } );
+       } );
+       wp.customize( 'shop_isle_about_page_video_link', function( value ) {
+               value.bind( function( to ) {
+                       if( to !== '' ) {
+                               $( '.video-box-icon' ).removeClass( 'shop_isle_hidden_if_not_customizer' );
+                       }
+                       else {
+                               $( '.video-box-icon' ).addClass( 'shop_isle_hidden_if_not_customizer' );
+                       }
+
+               } );
+       } );
+       wp.customize( 'shop_isle_our_advantages_title', function( value ) {
+               value.bind( function( to ) {
+                       $( '.our_advantages' ).text( to );
+               } );
+       } );
+
+       /* Team members (Repeater) */
+       wp.customize( 'shop_isle_team_members', function( value ) {
+               value.bind( function( to ) {
+                       var obj = JSON.parse( to );
+                       var result ='';
+                       obj.forEach(function(item) {
+                               result += '<div class="col-sm-6 col-md-3 mb-sm-20 fadeInUp"><div class="team-item"><div class="team-image"><img src="' + item.image_url + '" alt="' + item.text + '"><div class="team-detail"><p class="font-serif">' + item.description + '</p></div><!-- .team-detail --></div><!-- .team-image --><div class="team-descr font-alt"><div class="team-name">' + item.text + '</div><div class="team-role">' + item.subtext + '</div></div><!-- .team-descr --></div><!-- .team-item --></div>';
+                       });
+                       $( '.about-team-member .slides' ).html( result );
+               } );
+       } );
+
+       /* Advantages (Repeater) */
+       wp.customize( 'shop_isle_advantages', function( value ) {
+               value.bind( function( to ) {
+                       var obj = JSON.parse( to );
+                       var result ='';
+                       obj.forEach(function(item) {
+                               result += '<div class="col-sm-6 col-md-3 col-lg-3"><div class="features-item"><div class="features-icon"><span class="' + item.icon_value + '"></span></div><h3 class="features-title font-alt">' + item.text + '</h3>' + item.subtext + '</div></div>';
+                       });
+                       $( '.module-advantages .multi-columns-row' ).html( result );
+               } );
+       } );
+
+       /*********************************/
+       /**********  404 page  ***********/
+       /*********************************/
+       wp.customize( 'shop_isle_404_background', function( value ) {
+               value.bind( function( to ) {
+                       $( '.error-page-background' ).css( 'background-image', 'url(' + to + ')' );
+               } );
+       } );
+       wp.customize( 'shop_isle_404_title', function( value ) {
+               value.bind( function( to ) {
+                       $( '.error-page-title' ).html( to );
+               } );
+       } );
+       wp.customize( 'shop_isle_404_text', function( value ) {
+               value.bind( function( to ) {
+                       $( '.error-page-text' ).html( to );
+               } );
+       } );
+       wp.customize( 'shop_isle_404_link', function( value ) {
+               value.bind( function( to ) {
+                       $( '.error-page-button-text a' ).attr( 'href', to );
+               } );
+       } );
+       wp.customize( 'shop_isle_404_label', function( value ) {
+               value.bind( function( to ) {
+                       $( '.error-page-button-text a' ).text( to );
+               } );
+       } );
+
+} )( jQuery );
+
diff --git a/templates/shop-isle/js/navigation.js b/templates/shop-isle/js/navigation.js
new file mode 100644 (file)
index 0000000..8b9a2ac
--- /dev/null
@@ -0,0 +1,57 @@
+/**
+ * navigation.js
+ *
+ * Handles toggling the navigation menu for small screens and adds a focus class to parent li's for accessibility.
+ */
+( function() {
+       var container, button, menu;
+
+       container = document.getElementById( 'site-navigation' );
+       if ( ! container ) {
+               return;
+       }
+
+       button = container.getElementsByTagName( 'button' )[0];
+       if ( 'undefined' === typeof button ) {
+               return;
+       }
+
+       menu = container.getElementsByTagName( 'ul' )[0];
+
+       // Hide menu toggle button if menu is empty and return early.
+       if ( 'undefined' === typeof menu ) {
+               button.style.display = 'none';
+               return;
+       }
+
+       menu.setAttribute( 'aria-expanded', 'false' );
+
+       if ( -1 === menu.className.indexOf( 'nav-menu' ) ) {
+               menu.className += ' nav-menu';
+       }
+
+       button.onclick = function() {
+               if ( -1 !== container.className.indexOf( 'toggled' ) ) {
+                       container.className = container.className.replace( ' toggled', '' );
+                       button.setAttribute( 'aria-expanded', 'false' );
+                       menu.setAttribute( 'aria-expanded', 'false' );
+               } else {
+                       container.className += ' toggled';
+                       button.setAttribute( 'aria-expanded', 'true' );
+                       menu.setAttribute( 'aria-expanded', 'true' );
+               }
+       };
+
+       // Add focus class to li
+       jQuery( '.main-navigation, .secondary-navigation' ).find( 'a' ).on( 'focus.shop-isle blur.shop-isle', function() {
+               jQuery( this ).parents().toggleClass( 'focus' );
+       });
+
+       // Add focus to cart dropdown
+       jQuery( window ).load( function() {
+               jQuery( '.site-header-cart' ).find( 'a' ).on( 'focus.shop-isle blur.shop-isle', function() {
+                       jQuery( this ).parents().toggleClass( 'focus' );
+               });
+       });
+
+} )();
diff --git a/templates/shop-isle/js/navigation.min.js b/templates/shop-isle/js/navigation.min.js
new file mode 100644 (file)
index 0000000..134b441
--- /dev/null
@@ -0,0 +1,115 @@
+ !function(){var a,b,c;if(a=document.getElementById("site-navigation"),a&&(b=a.getElementsByTagName("button")[0],"undefined"!=typeof b)){if(c=a.getElementsByTagName("ul")[0],"undefined"==typeof c)return void(b.style.display="none");c.setAttribute("aria-expanded","false"),-1===c.className.indexOf("nav-menu")&&(c.className+=" nav-menu"),b.onclick=function(){-1!==a.className.indexOf("toggled")?(a.className=a.className.replace(" toggled",""),b.setAttribute("aria-expanded","false"),c.setAttribute("aria-expanded","false")):(a.className+=" toggled",b.setAttribute("aria-expanded","true"),c.setAttribute("aria-expanded","true"))},jQuery(".main-navigation, .secondary-navigation").find("a").on("focus.shop-isle blur.shop-isle",function(){jQuery(this).parents().toggleClass("focus")}),jQuery(window).load(function(){jQuery(".site-header-cart").find("a").on("focus.shop-isle blur.shop-isle",function(){jQuery(this).parents().toggleClass("focus")})})}}();
+
+jQuery(window).load(function(){
+
+       // product list
+    jQuery( '.page .products li, .single .products li, .post-type-archive-product .products li, .tax-product_cat .products li, .related.products .products li, #shop-isle-blog-container .products li, .upsells.products li, .products_shortcode .products li, .cross-sells .products li' ).each( function(){
+        jQuery( this ).find( '.button' ).wrapAll('<div class="product-button-wrap"></div>');
+        jQuery( this ).find( '.product-button-wrap .ajax_add_to_cart, .product-button-wrap > a' ).wrap( '<div class="add-to-cart-button-wrap"></div>' );
+        jQuery( this ).find( 'img' ).wrapAll( '<div class="prod-img-wrap"></div>' );
+        jQuery( this ).find( '.prod-img-wrap' ).append( jQuery(this).find( '.product-button-wrap' ) );
+    });
+
+    if( jQuery('#latest').length > 0 ) {
+        jQuery('#latest .shop-item-detail').each( function(){
+            jQuery( this ).find( '.product ' ).after( jQuery( this ).find( '.product .button' ) );
+            jQuery( this ).find( '.button' ).wrapAll('<div class="product-button-wrap"></div>');
+            jQuery( this ).find( '.product-button-wrap .ajax_add_to_cart, .product-button-wrap > a' ).wrap( '<div class="add-to-cart-button-wrap"></div>' );
+        } );
+    }
+
+});
+
+jQuery(document).ready(function(){
+    var wooInfo = jQuery('.woocommerce-info');
+    if( wooInfo.length>0 && wooInfo.closest('.container').length==0 ) {
+        wooInfo.addClass('container').css({
+            'margin-left': 'auto',
+            'margin-right': 'auto',
+        });
+    }
+});
+
+/* add link to latest products on homepage */
+jQuery(document).ready(function($){
+    
+    var shopItem = $( '.shop-item' );
+    if ( shopItem.length == 0 )
+        return;
+
+    var link, finda;
+    shopItem.each( function() {
+        finda = $(this).find( '.shop-item-title a' );
+        if( finda.length == 0 ) 
+            return false;
+        link = finda.attr('href');
+        $(this).wrap( '<a href="' + link + '"></a>' );
+    });
+
+});
+
+
+( function($) {
+
+    $( '.woocommerce-page-title' ).unwrap();
+
+    /* footer fixed  */
+    $( window ).load( fixFooterBottom );
+    $( window ).resize( fixFooterBottom );
+
+    function fixFooterBottom(){
+
+        $('div.main').css('min-height', '1px');
+        var pageWidth = window.innerWidth;
+        
+        if (pageWidth > 768){
+            var bodyH   = $('div.main').outerHeight();
+            var bottomH = $('.bottom-page-wrap').outerHeight();
+            var windowH = $(window).outerHeight();
+            if ( bodyH + bottomH < windowH ){
+                $( 'div.main' ).css( 'min-height', windowH-bottomH );
+            }
+        }
+    }
+
+
+    $( '.header-search-button' ).click( function(event) {
+        $( '.header-search' ).toggleClass( 'header-search-open' );
+            $( '.navbar-collapse').removeClass( 'in' ).attr( 'aria-expanded', 'false' ).css( 'height', '1px' );
+            $( '.navbar-toggle').attr( 'aria-expanded', 'false' );
+            $( '.navbar-toggle').addClass( 'collapsed' );
+    } );
+
+    $( '.header-search' ).click( function(event) {    
+        event.stopPropagation();
+    } );
+
+    $( 'html' ).click( function() {
+        $( '.header-search' ).removeClass( 'header-search-open' );
+    } );
+
+
+} )(jQuery,window);
+
+
+/*** DROPDOWN FOR MOBILE MENU */
+var callback_mobile_dropdown = function () {
+
+       var navLi = jQuery('.navbar-nav li');
+
+    navLi.each(function(){
+        if ( jQuery(this).find('ul').length > 0 && !jQuery(this).hasClass('has_children') ){
+            jQuery(this).addClass('has_children');
+            jQuery(this).find('a').first().after('<p class="dropdownmenu"></p>');
+        }
+    });
+    jQuery('.dropdownmenu').click(function(){
+        if( jQuery(this).parent('li').hasClass('this-open') ){
+            jQuery(this).parent('li').removeClass('this-open');
+        }else{
+            jQuery(this).parent('li').addClass('this-open');
+        }
+    });
+
+};
+jQuery(document).ready(callback_mobile_dropdown);
diff --git a/templates/shop-isle/js/shop_isle_customizer.js b/templates/shop-isle/js/shop_isle_customizer.js
new file mode 100644 (file)
index 0000000..b35dbf4
--- /dev/null
@@ -0,0 +1,257 @@
+jQuery(document).ready(function(){
+       
+       /**************************/
+       /**** Generate uniq id ****/
+       /**************************/
+       
+       function shop_isle_uniqid(prefix, more_entropy) {
+
+         if (typeof prefix === 'undefined') {
+               prefix = '';
+         }
+
+         var retId;
+         var formatSeed = function(seed, reqWidth) {
+               seed = parseInt(seed, 10)
+                 .toString(16); // to hex str
+               if (reqWidth < seed.length) { // so long we split
+                 return seed.slice(seed.length - reqWidth);
+               }
+               if (reqWidth > seed.length) { // so short we pad
+                 return Array(1 + (reqWidth - seed.length))
+                       .join('0') + seed;
+               }
+               return seed;
+         };
+
+         // BEGIN REDUNDANT
+         if (!this.php_js) {
+               this.php_js = {};
+         }
+         // END REDUNDANT
+         if (!this.php_js.uniqidSeed) { // init seed with big random int
+               this.php_js.uniqidSeed = Math.floor(Math.random() * 0x75bcd15);
+         }
+         this.php_js.uniqidSeed++;
+
+         retId = prefix; // start with prefix, add current milliseconds hex string
+         retId += formatSeed(parseInt(new Date()
+               .getTime() / 1000, 10), 8);
+         retId += formatSeed(this.php_js.uniqidSeed, 5); // add seed hex string
+         if (more_entropy) {
+               // for more entropy we add a float lower to 10
+               retId += (Math.random() * 10)
+                 .toFixed(8)
+                 .toString();
+         }
+
+         return retId;
+       }
+
+       function shop_isle_refresh_general_control_values(){
+               jQuery('.shop_isle_general_control_droppable').each(function(){
+                       var values = [];
+                       var th = jQuery(this);
+                       th.find('.shop_isle_general_control_repeater_container').each(function(){
+                               var icon_value = jQuery(this).find('select').val();
+                               var text = jQuery(this).find('.shop_isle_text_control').val();
+                               var link = jQuery(this).find('.shop_isle_link_control').val();
+                               var label = jQuery(this).find('.shop_isle_label_control').val();
+                               var subtext = jQuery(this).find('.shop_isle_subtext_control').val();
+                               var shortcode = jQuery(this).find('.shop_isle_shortcode_control').val();
+                               var description = jQuery(this).find('.shop_isle_description_control').val();
+                               var image_url = jQuery(this).find('.custom_media_url').val();
+                               var id = jQuery(this).find('.shop_isle_box_id').val();
+                               if( (icon_value !== '') || (text !== '') || (image_url !== '') || (subtext !== '') || (label !== '') || (link !== '') || (description !== '') ){
+                                       values.push({
+                                               'icon_value' : icon_value,
+                                               'text' : text,
+                                               'link' : link,
+                                               'image_url' : image_url,
+                                               'subtext' : subtext,
+                                               'shortcode' : shortcode,
+                                               'label' : label,
+                                               'description' : description,
+                                               'id' : id
+                                       });
+                               }
+
+                       });
+
+                       th.find('.shop_isle_repeater_colector').val(JSON.stringify(values));
+                       th.find('.shop_isle_repeater_colector').trigger('change');
+               });
+       }
+
+    jQuery('#customize-theme-controls').on('click','.shop-isle-customize-control-title',function(){
+        jQuery(this).next().slideToggle();
+    });
+    function media_upload(button_class) {
+
+               jQuery('body').on('click', button_class, function() {
+                       var button_id ='#'+jQuery(this).attr('id');
+                       var display_field = jQuery(this).parent().children('input:text');
+                       var _custom_media = true;
+
+                       wp.media.editor.send.attachment = function(props, attachment){
+                               if ( _custom_media  ) {
+                                       if(typeof display_field !== 'undefined'){
+                                               switch(props.size){
+                                                       case 'full':
+                                                               display_field.val(attachment.sizes.full.url);
+                                                               display_field.trigger('change');
+                                                               break;
+                                                       case 'medium':
+                                                               display_field.val(attachment.sizes.medium.url);
+                                                               display_field.trigger('change');
+                                                               break;
+                                                       case 'thumbnail':
+                                                               display_field.val(attachment.sizes.thumbnail.url);
+                                                               display_field.trigger('change');
+                                                               break;
+                                                       case 'shop_isle_team':
+                                                               display_field.val(attachment.sizes.shop_isle_team.url);
+                                                               display_field.trigger('change');
+                                                               break;
+                                                       case 'shop_isle_services':
+                                                               display_field.val(attachment.sizes.shop_isle_services.url);
+                                                               display_field.trigger('change');
+                                                               break;
+                                                       case 'shop_isle_customers':
+                                                               display_field.val(attachment.sizes.shop_isle_customers.url);
+                                                               display_field.trigger('change');
+                                                               break;
+                                                       default:
+                                                               display_field.val(attachment.url);
+                                                               display_field.trigger('change');
+                                               }
+                                       }
+                                       _custom_media = false;
+                               } else {
+                                       return wp.media.editor.send.attachment( button_id, [props, attachment] );
+                               }
+                       };
+                       wp.media.editor.open(button_class);
+                       window.send_to_editor = function() {
+
+                       };
+                       return false;
+               });
+       }
+
+    media_upload('.custom_media_button_shop_isle');
+    jQuery('.custom_media_url').live('change',function(){
+        shop_isle_refresh_general_control_values();
+        return false;
+    });
+
+       jQuery('#customize-theme-controls').on('change', '.shop_isle_icon_control',function(){
+               shop_isle_refresh_general_control_values();
+               return false;
+       });
+
+       jQuery('.shop_isle_general_control_new_field').on('click',function(){
+
+               var th = jQuery(this).parent();
+               var id = 'shop_isle_' + shop_isle_uniqid();
+               if(typeof th !== 'undefined') {
+
+            var field = th.find('.shop_isle_general_control_repeater_container:first').clone();
+            if(typeof field !== 'undefined'){
+                field.find('.shop_isle_general_control_remove_field').show();
+                field.find('select').val('');
+                field.find('.shop_isle_text_control').val('');
+                field.find('.shop_isle_link_control').val('');
+                               field.find('.shop_isle_label_control').val('');
+                               field.find('.shop_isle_subtext_control').val('');
+                               field.find('.shop_isle_shortcode_control').val('');
+                               field.find('.shop_isle_box_id').val(id);
+                field.find('.custom_media_url').val('');
+                th.find('.shop_isle_general_control_repeater_container:first').parent().append(field);
+                shop_isle_refresh_general_control_values();
+            }
+
+               }
+               return false;
+        });
+
+       jQuery('#customize-theme-controls').on('click', '.shop_isle_general_control_remove_field',function(){
+               if( typeof      jQuery(this).parent() !== 'undefined'){
+                       jQuery(this).parent().parent().remove();
+                       shop_isle_refresh_general_control_values();
+               }
+               return false;
+       });
+
+       jQuery('#customize-theme-controls').on('keyup', '.shop_isle_text_control',function(){
+                shop_isle_refresh_general_control_values();
+       });
+
+       jQuery('#customize-theme-controls').on('keyup', '.shop_isle_link_control',function(){
+               shop_isle_refresh_general_control_values();
+       });
+
+       jQuery('#customize-theme-controls').on('keyup', '.shop_isle_label_control',function(){
+               shop_isle_refresh_general_control_values();
+       });
+
+       jQuery('#customize-theme-controls').on('keyup', '.shop_isle_subtext_control',function(){
+               shop_isle_refresh_general_control_values();
+       });
+
+       jQuery('#customize-theme-controls').on('keyup', '.shop_isle_shortcode_control',function(){
+               shop_isle_refresh_general_control_values();
+       });
+
+       jQuery('#customize-theme-controls').on('keyup', '.shop_isle_description_control',function(){
+               shop_isle_refresh_general_control_values();
+       });
+
+       /*Drag and drop to change order*/
+       jQuery('.shop_isle_general_control_droppable').sortable({
+               update: function() {
+                       shop_isle_refresh_general_control_values();
+               }
+       });
+});
+
+
+/********************************************
+ *** Palette Control ***
+ *********************************************/
+
+jQuery(document).ready(function () {
+       jQuery('.shop_isle_pro_dropdown').on('click', function () {
+               jQuery('.shop_isle_pro_palette_picker').slideToggle('medium');
+       });
+
+       jQuery('.shop_isle_pro_palette_input').on('click', function () {
+               jQuery('.shop_isle_pro_palette_picker').slideToggle('medium');
+       });
+
+       jQuery('.shop_isle_pro_palette_picker').on('click', 'li', function () {
+               var th = jQuery(this);
+               if (!jQuery(this).hasClass('shop_isle_pro_pallete_default')) {
+
+                       var values = {};
+                       var it = 0;
+                       var metro_palette = jQuery(this).html();
+
+
+                       jQuery('.shop_isle_pro_palette_input').html(metro_palette);
+
+                       jQuery('.shop_isle_pro_palette_input span').each(function () {
+                               it++;
+                               var colval = jQuery(this).css('background-color');
+                               values['color' + it] = colval;
+                       });
+                       th.parent().parent().find('.shop_isle_pro_palette_colector').val(JSON.stringify(values));
+                       th.parent().parent().find('.shop_isle_pro_palette_colector').trigger('change');
+               } else {
+                       var shop_isle_pro_pallete_default = th.text();
+                       jQuery('.shop_isle_pro_palette_input').text(shop_isle_pro_pallete_default);
+                       th.parent().parent().find('.shop_isle_pro_palette_colector').val('');
+                       th.parent().parent().find('.shop_isle_pro_palette_colector').trigger('change');
+               }
+       });
+});
\ No newline at end of file
diff --git a/templates/shop-isle/js/skip-link-focus-fix.js b/templates/shop-isle/js/skip-link-focus-fix.js
new file mode 100644 (file)
index 0000000..1581349
--- /dev/null
@@ -0,0 +1,19 @@
+( function() {
+       var is_webkit = navigator.userAgent.toLowerCase().indexOf( 'webkit' ) > -1,
+           is_opera  = navigator.userAgent.toLowerCase().indexOf( 'opera' )  > -1,
+           is_ie     = navigator.userAgent.toLowerCase().indexOf( 'msie' )   > -1;
+
+       if ( ( is_webkit || is_opera || is_ie ) && document.getElementById && window.addEventListener ) {
+               window.addEventListener( 'hashchange', function() {
+                       var element = document.getElementById( location.hash.substring( 1 ) );
+
+                       if ( element ) {
+                               if ( ! /^(?:a|select|input|button|textarea)$/i.test( element.tagName ) ) {
+                                       element.tabIndex = -1;
+                               }
+
+                               element.focus();
+                       }
+               }, false );
+       }
+})();
diff --git a/templates/shop-isle/js/skip-link-focus-fix.min.js b/templates/shop-isle/js/skip-link-focus-fix.min.js
new file mode 100644 (file)
index 0000000..50dae80
--- /dev/null
@@ -0,0 +1 @@
+!function(){var a=navigator.userAgent.toLowerCase().indexOf("webkit")>-1,b=navigator.userAgent.toLowerCase().indexOf("opera")>-1,c=navigator.userAgent.toLowerCase().indexOf("msie")>-1;(a||b||c)&&document.getElementById&&window.addEventListener&&window.addEventListener("hashchange",function(){var a=document.getElementById(location.hash.substring(1));a&&(/^(?:a|select|input|button|textarea)$/i.test(a.tagName)||(a.tabIndex=-1),a.focus())},!1)}();
\ No newline at end of file
diff --git a/templates/shop-isle/languages/fr_FR.mo b/templates/shop-isle/languages/fr_FR.mo
new file mode 100644 (file)
index 0000000..95a09c6
Binary files /dev/null and b/templates/shop-isle/languages/fr_FR.mo differ
diff --git a/templates/shop-isle/languages/fr_FR.po b/templates/shop-isle/languages/fr_FR.po
new file mode 100644 (file)
index 0000000..55a9fdc
--- /dev/null
@@ -0,0 +1,666 @@
+msgid ""
+msgstr ""
+"Project-Id-Version: ShopIsle\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2016-01-12 15:19+0200\n"
+"PO-Revision-Date: 2016-02-03 14:49+0100\n"
+"Last-Translator: Wp Trads <contact@wolforg.eu>\n"
+"Language-Team: Wp Trads <contact@wolforg.eu>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Poedit-KeywordsList: _;gettext;gettext_noop;__;_e;esc_html__\n"
+"X-Poedit-Basepath: ../\n"
+"Language: fr_FR\n"
+"X-Generator: Poedit 1.5.4\n"
+"X-Poedit-SourceCharset: UTF-8\n"
+"X-Poedit-SearchPath-0: .\n"
+"X-Poedit-SearchPath-1: inc\n"
+"X-Poedit-SearchPath-2: assets\n"
+
+#: 404.php:24
+msgid "Error 404"
+msgstr "Erreur 404"
+
+#: 404.php:41
+msgid "Back to home page"
+msgstr "Retour à la page d'accueil"
+
+#: archive.php:94 home.php:111 index.php:123
+msgid "Read more"
+msgstr "Lire la suite"
+
+#: archive.php:106 home.php:123 index.php:135
+msgid "<span class=\"meta-nav\">&laquo;</span> Older posts"
+msgstr "<span class=\"meta-nav\">&laquo;</span> Articles plus anciens"
+
+#: archive.php:107 home.php:124 index.php:136
+msgid "Newer posts <span class=\"meta-nav\">&raquo;</span>"
+msgstr "Articles plus récents <span class=\"meta-nav\">&raquo;</span>"
+
+#: comments.php:33 comments.php:51
+msgid "Comment navigation"
+msgstr "Navigation de commentaire"
+
+#: comments.php:34 comments.php:52
+msgid "&larr; Older Comments"
+msgstr "&larr; Commentaires plus anciens"
+
+#: comments.php:35 comments.php:53
+msgid "Newer Comments &rarr;"
+msgstr "Commentaires plus récents &rarr;"
+
+#: comments.php:60
+msgid "Comments are closed."
+msgstr "Les commentaires sont fermés."
+
+#: content-none.php:13
+msgid "Nothing Found"
+msgstr "Rien de trouvé"
+
+#: content-none.php:19
+#, php-format
+msgid ""
+"Ready to publish your first post? <a href=\"%1$s\">Get started here</a>."
+msgstr ""
+"Prêt à publier votre 1er article ? <a href=\"%1$s\">Lancez vous ici</a>."
+
+#: content-none.php:23
+msgid ""
+"Sorry, but nothing matched your search terms. Please try again with some "
+"different keywords."
+msgstr "Désolé, mais rien ne correspond à vos critères."
+
+#: content-none.php:28
+msgid ""
+"It seems we can&rsquo;t find what you&rsquo;re looking for. Perhaps "
+"searching can help."
+msgstr "Il semble que rien ne soit trouvé pour votre recherche."
+
+#: front-page.php:20
+msgid "ShopIsle"
+msgstr "ShopIsle"
+
+#: front-page.php:20
+msgid "WooCommerce Theme"
+msgstr "Thème WooCommerce"
+
+#: front-page.php:20
+msgid "FIND OUT MORE"
+msgstr "EN SAVOIR PLUS"
+
+#: front-page.php:20
+msgid "Hight quality store"
+msgstr "Boutique de haute qualité"
+
+#: front-page.php:20
+msgid "Responsive Theme"
+msgstr "Thème Responsif"
+
+#: front-page.php:148
+msgid "Latest products"
+msgstr "Derniers produits"
+
+#: front-page.php:208 front-page.php:296
+msgid "Add To Cart"
+msgstr "Ajout au panier"
+
+#: front-page.php:246 front-page.php:334
+msgid "See all products"
+msgstr "Découvrez tous nos produits"
+
+#: front-page.php:255 front-page.php:343
+msgid "No products found."
+msgstr "Aucun produit trouvé"
+
+#: front-page.php:417
+msgid "Exclusive products"
+msgstr "Produits exclusifs"
+
+#: front-page.php:418
+msgid "Special category of products"
+msgstr "Catégorie spéciale de produits"
+
+#: header.php:35
+msgid "Loading..."
+msgstr "Chargement..."
+
+#: search.php:24
+#, php-format
+msgid "Search Results for: %s"
+msgstr "Résultats de recherche pour : %s"
+
+#: template-about.php:100 inc/customizer/customizer.php:463
+msgid "Meet our team"
+msgstr "Rencontrez notre équipe"
+
+#: template-about.php:101 inc/customizer/customizer.php:477
+msgid "An awesome way to introduce the members of your team."
+msgstr "Une jolie façon de présenter les membres de votre équipe."
+
+#: template-about.php:206 inc/customizer/customizer.php:531
+msgid "Presentation"
+msgstr "Présentation"
+
+#: template-about.php:207 inc/customizer/customizer.php:545
+msgid "What the video about our new products"
+msgstr "Regardez la vidéo de nos nouveaux produits"
+
+#: template-about.php:235 inc/customizer/customizer.php:586
+#: inc/customizer/customizer.php:603
+msgid "Our advantages"
+msgstr "Nos avantages"
+
+#: template-about.php:244 inc/customizer/customizer.php:617
+msgid "Ideas and concepts"
+msgstr "Idées et concepts"
+
+#: template-about.php:244 inc/customizer/customizer.php:617
+msgid "Lorem ipsum dolor sit amet, consectetur adipiscing elit."
+msgstr "Lorem ipsum dolor sit amet, consectetur adipisicing elit."
+
+#: template-about.php:244 inc/customizer/customizer.php:617
+msgid "Designs & interfaces"
+msgstr "Désigns & interfaces"
+
+#: template-about.php:244 inc/customizer/customizer.php:617
+msgid "Highly customizable"
+msgstr "Facilement personnalisable"
+
+#: template-about.php:244 inc/customizer/customizer.php:617
+msgid "Easy to use"
+msgstr "Facile à utiliser"
+
+#: inc/init.php:9
+msgid "Shop isle Small Banner Homepage"
+msgstr "Petite bannière de page d'accueil Shop Isle"
+
+#: inc/customizer/customizer.php:27
+msgid "Header"
+msgstr "En-tête"
+
+#: inc/customizer/customizer.php:38
+msgid "Logo"
+msgstr "Logo"
+
+#: inc/customizer/customizer.php:48
+msgid "Slider section"
+msgstr "Section de diaporama"
+
+#: inc/customizer/customizer.php:62
+msgid "Hide slider section?"
+msgstr "Cacher la section de diaporama ?"
+
+#: inc/customizer/customizer.php:63
+msgid "If you check this box, the Slider section will disappear from homepage."
+msgstr ""
+"Si vous cochez cette case, la section diaporama disparaîtra de la page "
+"d'accueil."
+
+#: inc/customizer/customizer.php:76 inc/customizer/customizer.php:87
+#: inc/customizer/functions.php:164
+msgid "Add new slide"
+msgstr "Ajout de nouveau panneau"
+
+#: inc/customizer/customizer.php:86 inc/customizer/functions.php:158
+msgid "Slide"
+msgstr "Panneau"
+
+#: inc/customizer/customizer.php:95
+msgid "Banners section"
+msgstr "Section de bannière"
+
+#: inc/customizer/customizer.php:109
+msgid "Hide banners section?"
+msgstr "Cacher la section de bannières ?"
+
+#: inc/customizer/customizer.php:110
+msgid ""
+"If you check this box, the Banners section will disappear from homepage."
+msgstr ""
+"Si vous cochez cette case, la section de bannières disparaîtra de la page "
+"d'accueil."
+
+#: inc/customizer/customizer.php:123 inc/customizer/customizer.php:135
+msgid "Add new banner"
+msgstr "Ajout de nouvelle bannière"
+
+#: inc/customizer/customizer.php:134
+msgid "Banner"
+msgstr "Bannière"
+
+#: inc/customizer/customizer.php:144
+msgid "Products section"
+msgstr "Section de produits"
+
+#: inc/customizer/customizer.php:145
+msgid ""
+"If no shortcode or no category is selected , WooCommerce latest products are "
+"displaying."
+msgstr ""
+"Si pas de code court ou de catégorie choisie, les derniers produits "
+"WooCommerce seront affichés."
+
+#: inc/customizer/customizer.php:157
+msgid "Hide products section?"
+msgstr "Cacher la section de produits ?"
+
+#: inc/customizer/customizer.php:158
+msgid ""
+"If you check this box, the Products section will disappear from homepage."
+msgstr ""
+"Si vous cochez cette case, la section de produits disparaîtra de la page "
+"d'accueil."
+
+#: inc/customizer/customizer.php:171 inc/customizer/customizer.php:317
+msgid "Section title"
+msgstr "Titre de section"
+
+#: inc/customizer/customizer.php:183
+msgid "WooCommerce shortcode"
+msgstr "Code court WooCommerce"
+
+#: inc/customizer/customizer.php:185
+msgid "Insert a WooCommerce shortcode"
+msgstr "Insertion de code court WooCommerce"
+
+#: inc/customizer/customizer.php:189
+msgid "Select category"
+msgstr "Sélectionnez la catégorie"
+
+#: inc/customizer/customizer.php:210 inc/customizer/customizer.php:344
+msgid "Products category"
+msgstr "Catégorie de produits"
+
+#: inc/customizer/customizer.php:211
+msgid "OR pick a product category"
+msgstr "OU choisissez une catégorie de produit"
+
+#: inc/customizer/customizer.php:222
+msgid "Video section"
+msgstr "Section vidéo"
+
+#: inc/customizer/customizer.php:234
+msgid "Hide video section?"
+msgstr "Cacher la section vidéo ?"
+
+#: inc/customizer/customizer.php:235
+msgid "If you check this box, the Video section will disappear from homepage."
+msgstr ""
+"Si vous cochez cette case, la section vidéo disparaîtra de la page d'accueil."
+
+#: inc/customizer/customizer.php:247 inc/customizer/customizer.php:468
+#: inc/customizer/customizer.php:536 inc/customizer/customizer.php:608
+#: inc/customizer/customizer.php:667 inc/customizer/functions.php:208
+#: inc/customizer/functions.php:209 inc/customizer/functions.php:270
+#: inc/customizer/functions.php:271 inc/customizer/functions.php:334
+#: inc/customizer/functions.php:335
+msgid "Title"
+msgstr "Titre"
+
+#: inc/customizer/customizer.php:259
+msgid "Youtube link"
+msgstr "Lien Youtube"
+
+#: inc/customizer/customizer.php:269
+msgid "Products slider section"
+msgstr "Section de diaporama de produits"
+
+#: inc/customizer/customizer.php:270
+msgid ""
+"If no category is selected , WooCommerce products from the first category "
+"found are displaying."
+msgstr ""
+"Si pas de catégorie choisie, les produits WooCommerce de la première "
+"catégorie trouvée seront affichés."
+
+#: inc/customizer/customizer.php:284
+msgid "Hide products slider section on frontpage?"
+msgstr "Cachez la section de produits de la page d'accueil ?"
+
+#: inc/customizer/customizer.php:285
+msgid ""
+"If you check this box, the Products slider section will disappear from "
+"homepage."
+msgstr ""
+"Si vous cochez cette case, la section de diaporama de produits disparaîtra "
+"de la page d'accueil."
+
+#: inc/customizer/customizer.php:301
+msgid "Hide products slider section on single product page?"
+msgstr "Cachez la section de diaporama de produits sur la page produit ?"
+
+#: inc/customizer/customizer.php:302
+msgid ""
+"If you check this box, the Products slider section will disappear from each "
+"single product page."
+msgstr ""
+"Si vous cochez cette case, la section de diaporama de produits disparaîtra "
+"de la page du produit."
+
+#: inc/customizer/customizer.php:330
+msgid "Section subtitle"
+msgstr "Sous-titre de section"
+
+#: inc/customizer/customizer.php:356
+msgid "Footer"
+msgstr "Pied"
+
+#: inc/customizer/customizer.php:363 inc/structure/footer.php:82
+msgid "&copy; Themeisle, All rights reserved"
+msgstr ""
+"&copy; Themeisle, Tous droits réservés. Traduit par <a href=\"http://www."
+"wptrads.com/\">Wp Trads</a>."
+
+#: inc/customizer/customizer.php:368
+msgid "Copyright"
+msgstr "Copyright"
+
+#: inc/customizer/customizer.php:380 inc/customizer/customizer.php:392
+msgid "Add new social"
+msgstr "Ajout de nouveau social"
+
+#: inc/customizer/customizer.php:391
+msgid "Social"
+msgstr "Social"
+
+#: inc/customizer/customizer.php:400
+msgid "Contact page"
+msgstr "Page contact"
+
+#: inc/customizer/customizer.php:411
+msgid "Contact form shortcode"
+msgstr "Code court de formulaire de contact"
+
+#: inc/customizer/customizer.php:412
+msgid ""
+"Create a form, copy the shortcode generated and paste it here. We recommend "
+"<a href=\"https://wordpress.org/plugins/contact-form-7/\">Contact Form 7</a> "
+"but you can use any plugin you like."
+msgstr ""
+"Créez un formulaire, codiez le code court généré et collez le ici. Nous "
+"recommandons <a href=\"https://wordpress.org/plugins/contact-form-7/"
+"\">Contact Form 7</a> mais vous pouvez utiliser une autre extension"
+
+#: inc/customizer/customizer.php:425
+msgid "Map shortcode"
+msgstr "Code court de carte"
+
+#: inc/customizer/customizer.php:426
+msgid ""
+"To use this section please install <a href=\"https://wordpress.org/plugins/"
+"intergeo-maps/\">Intergeo Maps</a> plugin then use it to create a map and "
+"paste here the shortcode generated"
+msgstr ""
+"Pour utiliser cette section, merci d'installer l'extension <a href=\"https://"
+"wordpress.org/plugins/intergeo-maps/\">Intergeo Maps</a> puis de l'utiliser "
+"pour créer une carte et de coller ici le code court généré."
+
+#: inc/customizer/customizer.php:442
+msgid "About us page"
+msgstr "Page à propos de nous"
+
+#: inc/customizer/customizer.php:446
+msgid "Our team"
+msgstr "Notre équipe"
+
+#: inc/customizer/customizer.php:454
+msgid "About us page - our team"
+msgstr "Page à propos de nous - notre équipe"
+
+#: inc/customizer/customizer.php:482 inc/customizer/customizer.php:550
+#: inc/customizer/functions.php:214 inc/customizer/functions.php:215
+#: inc/customizer/functions.php:275 inc/customizer/functions.php:276
+#: inc/customizer/functions.php:339 inc/customizer/functions.php:340
+msgid "Subtitle"
+msgstr "Sous-titre"
+
+#: inc/customizer/customizer.php:495 inc/customizer/customizer.php:507
+msgid "Add new team member"
+msgstr "Ajout de nouveau membre d'équipe"
+
+#: inc/customizer/customizer.php:506
+msgid "Team member"
+msgstr "Membre d'équipe"
+
+#: inc/customizer/customizer.php:514 inc/customizer/customizer.php:577
+msgid "Video"
+msgstr "Vidéo"
+
+#: inc/customizer/customizer.php:522
+msgid "About us page - video"
+msgstr "Page à propos de nous - vidéo"
+
+#: inc/customizer/customizer.php:564
+msgid "Background"
+msgstr "Fond"
+
+#: inc/customizer/customizer.php:594
+msgid "About us page - our advantages"
+msgstr "Page à propos de nous - nos avantages"
+
+#: inc/customizer/customizer.php:622 inc/customizer/customizer.php:634
+msgid "Add new advantage"
+msgstr "Ajout de nouvel avantage"
+
+#: inc/customizer/customizer.php:633
+msgid "Advantage"
+msgstr "Avantage"
+
+#: inc/customizer/customizer.php:642
+msgid "404 Not found page"
+msgstr "404 - Page non trouvée"
+
+#: inc/customizer/customizer.php:654
+msgid "Background image"
+msgstr "Image de fond"
+
+#: inc/customizer/customizer.php:675
+msgid ""
+"The requested URL was not found on this server.<br> That is all we know."
+msgstr ""
+"L'URL demandée n'a pas été trouvée sur ce serveur.<br> C'est tout ce que "
+"nous savons."
+
+#: inc/customizer/customizer.php:681
+msgid "Text"
+msgstr "Texte"
+
+#: inc/customizer/customizer.php:694
+msgid "Button link"
+msgstr "Lien du bouton"
+
+#: inc/customizer/customizer.php:707
+msgid "Button label"
+msgstr "Libellé de bouton"
+
+#: inc/customizer/customizer.php:717
+msgid "Advanced options"
+msgstr "Options avancées"
+
+#: inc/customizer/customizer.php:769
+msgid "Disable preloader?"
+msgstr "Désactiver le préchargeur ?"
+
+#: inc/customizer/customizer.php:770
+msgid "If this box is checked, the preloader will be disabled from homepage."
+msgstr ""
+"Si cette case est cochée, le préchargeur sera désactivé de la page d'accueil."
+
+#: inc/customizer/functions.php:33
+msgid "Documentation"
+msgstr "Documentation"
+
+#: inc/customizer/functions.php:34
+msgid "Support Forum"
+msgstr "Forum de support"
+
+#: inc/customizer/functions.php:188 inc/customizer/functions.php:245
+#: inc/customizer/functions.php:309
+msgid "Icon"
+msgstr "Icône"
+
+#: inc/customizer/functions.php:199 inc/customizer/functions.php:262
+#: inc/customizer/functions.php:326
+msgid "Image"
+msgstr "Image"
+
+#: inc/customizer/functions.php:202 inc/customizer/functions.php:265
+#: inc/customizer/functions.php:329
+msgid "Upload Image"
+msgstr "Envoi d'image"
+
+#: inc/customizer/functions.php:219 inc/customizer/functions.php:220
+#: inc/customizer/functions.php:280 inc/customizer/functions.php:281
+#: inc/customizer/functions.php:344 inc/customizer/functions.php:345
+msgid "Description"
+msgstr "Description"
+
+#: inc/customizer/functions.php:224 inc/customizer/functions.php:225
+#: inc/customizer/functions.php:285 inc/customizer/functions.php:286
+#: inc/customizer/functions.php:349 inc/customizer/functions.php:350
+msgid "Button Label"
+msgstr "Libellé de bouton"
+
+#: inc/customizer/functions.php:229 inc/customizer/functions.php:230
+#: inc/customizer/functions.php:290 inc/customizer/functions.php:291
+#: inc/customizer/functions.php:354 inc/customizer/functions.php:355
+msgid "Button Link"
+msgstr "Lien du bouton"
+
+#: inc/customizer/functions.php:232 inc/customizer/functions.php:293
+#: inc/customizer/functions.php:358
+msgid "Delete field"
+msgstr "Supprimer le champ"
+
+#: inc/functions/setup.php:59
+msgid "Primary Menu"
+msgstr "Menu principal"
+
+#: inc/functions/setup.php:105
+msgid "Sidebar"
+msgstr "Barre"
+
+#: inc/functions/setup.php:114
+msgid "Footer area 1"
+msgstr "Zone de pied 1"
+
+#: inc/functions/setup.php:123
+msgid "Footer area 2"
+msgstr "Zone de pied 2"
+
+#: inc/functions/setup.php:132
+msgid "Footer area 3"
+msgstr "Zone de pied 3"
+
+#: inc/functions/setup.php:141
+msgid "Footer area 4"
+msgstr "Zone de pied 4"
+
+#: inc/structure/comments.php:40
+#, php-format
+msgid "<cite class=\"fn\">%s</cite>"
+msgstr "<cite class=\"fn\">%s</cite>"
+
+#: inc/structure/comments.php:43
+msgid "Your comment is awaiting moderation."
+msgstr "Votre commentaire est en attente de validation."
+
+#: inc/structure/comments.php:60
+msgid "Edit"
+msgstr "Modifier"
+
+#: inc/structure/footer.php:121
+msgid "powered by"
+msgstr "propulsé par"
+
+#: inc/structure/header.php:72
+msgid "Toggle navigation"
+msgstr "Déplier/replier la navigation"
+
+#: inc/structure/header.php:104
+msgid "Skip to navigation"
+msgstr "Aller à la navigation"
+
+#: inc/structure/header.php:105
+msgid "Skip to content"
+msgstr "Aller au contenu"
+
+#: inc/structure/page.php:18 inc/structure/post.php:40
+msgid "Pages:"
+msgstr "Pages :"
+
+#: inc/structure/post.php:34
+#, php-format
+msgid "Continue reading %s"
+msgstr "Lire la suite de %s"
+
+#: inc/structure/post.php:47
+msgid ", "
+msgstr ", "
+
+#: inc/structure/post.php:49
+#, php-format
+msgid "Tagged %1$s"
+msgstr "Étiquetté %1$s"
+
+#: inc/structure/post.php:79
+msgid "Posts navigation"
+msgstr "Navigation des articles"
+
+#: inc/structure/post.php:82
+msgid "<span class=\"meta-nav\">&larr;</span> Older posts"
+msgstr "<span class=\"meta-nav\">&larr;</span> Articles plus anciens"
+
+#: inc/structure/post.php:85
+msgid "Newer posts <span class=\"meta-nav\">&rarr;</span>"
+msgstr "Articles plus récents <span class=\"meta-nav\">&rarr;</span>"
+
+#: inc/structure/post.php:123
+msgid "By "
+msgstr "Par"
+
+#: inc/structure/post.php:143
+msgid "No Comments"
+msgstr "0 Commentaires"
+
+#: inc/structure/post.php:145
+msgid " Comments"
+msgstr " Commentaires"
+
+#: inc/structure/post.php:147
+msgid "1 Comment"
+msgstr "1 Commentaire"
+
+#: inc/structure/post.php:158
+#, php-format
+msgid "View all posts in %s"
+msgstr "Voir tout les articles dans %s"
+
+#: inc/structure/template-tags.php:26
+msgid "Product Categories"
+msgstr "Catégories de produit"
+
+#: inc/structure/template-tags.php:58
+msgid "Recent Products"
+msgstr "Produits récents"
+
+#: inc/structure/template-tags.php:92
+msgid "Featured Products"
+msgstr "Produits mis en avant"
+
+#: inc/structure/template-tags.php:124
+msgid "Top Rated Products"
+msgstr "Produits les mieux notés"
+
+#: inc/structure/template-tags.php:156
+msgid "On Sale"
+msgstr "Promotion"
+
+#: inc/woocommerce/functions.php:254
+msgid "Header description"
+msgstr "Description d'en-tête"
+
+#: inc/woocommerce/template-tags.php:18
+msgid "View your shopping cart"
+msgstr "Voir votre panier"
diff --git a/templates/shop-isle/languages/shop-isle.pot b/templates/shop-isle/languages/shop-isle.pot
new file mode 100644 (file)
index 0000000..bf9e59e
--- /dev/null
@@ -0,0 +1,1506 @@
+# Copyright (C) 2017 Themeisle
+# This file is distributed under the GNU General Public License v2 or later.
+msgid ""
+msgstr ""
+"Project-Id-Version: ShopIsle PRO 2.2.17\n"
+"Report-Msgid-Bugs-To: https://github.com/Codeinwp/shop-isle-pro/issues\n"
+"POT-Creation-Date: 2017-07-27 14:23:05+00:00\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=utf-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"PO-Revision-Date: 2017-MO-DA HO:MI+ZONE\n"
+"Last-Translator: Themeisle Translate Team <friends@themeisle.com>\n"
+"Language-Team: Themeisle Translate <friends@themeisle.com>\n"
+"X-Generator: grunt-wp-i18n 0.5.4\n"
+"X-Poedit-KeywordsList: "
+"__;_e;_x:1,2c;_ex:1,2c;_n:1,2;_nx:1,2,4c;_n_noop:1,2;_nx_noop:1,2,3c;esc_"
+"attr__;esc_html__;esc_attr_e;esc_html_e;esc_attr_x:1,2c;esc_html_x:1,2c;\n"
+"Language: en\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+"X-Poedit-Country: United States\n"
+"X-Poedit-SourceCharset: UTF-8\n"
+"X-Poedit-Basepath: ../\n"
+"X-Poedit-SearchPath-0: .\n"
+"X-Poedit-Bookmarks: \n"
+"X-Textdomain-Support: yes\n"
+
+#: 404.php:28 inc/customizer/features/feature-404-controls.php:39
+msgid "Error 404"
+msgstr ""
+
+#: 404.php:45 inc/customizer/features/feature-404-controls.php:91
+msgid "Back to home page"
+msgstr ""
+
+#: archive.php:96 home.php:127
+#: inc/customizer/features/feature-frontpage-big-title-section-controls.php:96
+#: inc/customizer/features/feature-frontpage-slider-section-controls.php:55
+#: inc/customizer/features/feature-frontpage-slider-section-controls.php:62
+#: inc/customizer/features/feature-frontpage-slider-section-controls.php:69
+#: inc/functions/extras.php:188 inc/functions/extras.php:195
+#: inc/functions/extras.php:202 inc/functions/setup.php:373
+#: inc/functions/setup.php:380 inc/functions/setup.php:387
+#: inc/sections/shop_isle_big_title_section.php:27
+#: inc/sections/shop_isle_slider_section.php:29
+#: inc/sections/shop_isle_slider_section.php:36
+#: inc/sections/shop_isle_slider_section.php:43 index.php:131
+#: template-blog.php:127
+msgid "Read more"
+msgstr ""
+
+#: archive.php:108 home.php:139 index.php:143 template-blog.php:139
+msgid "<span class=\"meta-nav\">&laquo;</span> Older posts"
+msgstr ""
+
+#: archive.php:109 home.php:140 index.php:144 template-blog.php:140
+msgid "Newer posts <span class=\"meta-nav\">&raquo;</span>"
+msgstr ""
+
+#: class-tgm-plugin-activation.php:327
+msgid "Install Required Plugins"
+msgstr ""
+
+#: class-tgm-plugin-activation.php:328
+msgid "Install Plugins"
+msgstr ""
+
+#: class-tgm-plugin-activation.php:330
+#. translators: %s: plugin name.
+msgid "Installing Plugin: %s"
+msgstr ""
+
+#: class-tgm-plugin-activation.php:332
+#. translators: %s: plugin name.
+msgid "Updating Plugin: %s"
+msgstr ""
+
+#: class-tgm-plugin-activation.php:333
+msgid "Something went wrong with the plugin API."
+msgstr ""
+
+#: class-tgm-plugin-activation.php:370
+#. translators: 1: plugin name(s).
+msgid "Begin installing plugin"
+msgid_plural "Begin installing plugins"
+msgstr[0] ""
+msgstr[1] ""
+
+#: class-tgm-plugin-activation.php:375
+msgid "Begin updating plugin"
+msgid_plural "Begin updating plugins"
+msgstr[0] ""
+msgstr[1] ""
+
+#: class-tgm-plugin-activation.php:380
+msgid "Begin activating plugin"
+msgid_plural "Begin activating plugins"
+msgstr[0] ""
+msgstr[1] ""
+
+#: class-tgm-plugin-activation.php:385
+msgid "Return to Required Plugins Installer"
+msgstr ""
+
+#: class-tgm-plugin-activation.php:386 class-tgm-plugin-activation.php:827
+#: class-tgm-plugin-activation.php:2533 class-tgm-plugin-activation.php:3580
+msgid "Return to the Dashboard"
+msgstr ""
+
+#: class-tgm-plugin-activation.php:387 class-tgm-plugin-activation.php:3159
+msgid "Plugin activated successfully."
+msgstr ""
+
+#: class-tgm-plugin-activation.php:388 class-tgm-plugin-activation.php:2952
+msgid "The following plugin was activated successfully:"
+msgstr ""
+
+#: class-tgm-plugin-activation.php:390
+#. translators: 1: plugin name.
+msgid "No action taken. Plugin %1$s was already active."
+msgstr ""
+
+#: class-tgm-plugin-activation.php:392
+#. translators: 1: plugin name.
+msgid ""
+"Plugin not activated. A higher version of %s is needed for this theme. "
+"Please update the plugin."
+msgstr ""
+
+#: class-tgm-plugin-activation.php:394
+#. translators: 1: dashboard link.
+msgid "All plugins installed and activated successfully. %1$s"
+msgstr ""
+
+#: class-tgm-plugin-activation.php:395
+msgid "Dismiss this notice"
+msgstr ""
+
+#: class-tgm-plugin-activation.php:396
+msgid ""
+"There are one or more required or recommended plugins to install, update or "
+"activate."
+msgstr ""
+
+#: class-tgm-plugin-activation.php:397
+msgid "Please contact the administrator of this site for help."
+msgstr ""
+
+#: class-tgm-plugin-activation.php:522
+msgid "This plugin needs to be updated to be compatible with your theme."
+msgstr ""
+
+#: class-tgm-plugin-activation.php:523
+msgid "Update Required"
+msgstr ""
+
+#: class-tgm-plugin-activation.php:934
+msgid ""
+"The remote plugin package does not contain a folder with the desired slug "
+"and renaming did not work."
+msgstr ""
+
+#: class-tgm-plugin-activation.php:934 class-tgm-plugin-activation.php:937
+msgid ""
+"Please contact the plugin provider and ask them to package their plugin "
+"according to the WordPress guidelines."
+msgstr ""
+
+#: class-tgm-plugin-activation.php:937
+msgid ""
+"The remote plugin package consists of more than one file, but the files are "
+"not packaged in a folder."
+msgstr ""
+
+#: class-tgm-plugin-activation.php:1982
+#. translators: %s: version number
+msgid "TGMPA v%s"
+msgstr ""
+
+#: class-tgm-plugin-activation.php:2273
+msgid "Required"
+msgstr ""
+
+#: class-tgm-plugin-activation.php:2276
+msgid "Recommended"
+msgstr ""
+
+#: class-tgm-plugin-activation.php:2292
+msgid "WordPress Repository"
+msgstr ""
+
+#: class-tgm-plugin-activation.php:2295
+msgid "External Source"
+msgstr ""
+
+#: class-tgm-plugin-activation.php:2298
+msgid "Pre-Packaged"
+msgstr ""
+
+#: class-tgm-plugin-activation.php:2315
+msgid "Not Installed"
+msgstr ""
+
+#: class-tgm-plugin-activation.php:2319
+msgid "Installed But Not Activated"
+msgstr ""
+
+#: class-tgm-plugin-activation.php:2321
+msgid "Active"
+msgstr ""
+
+#: class-tgm-plugin-activation.php:2327
+msgid "Required Update not Available"
+msgstr ""
+
+#: class-tgm-plugin-activation.php:2330
+msgid "Requires Update"
+msgstr ""
+
+#: class-tgm-plugin-activation.php:2333
+msgid "Update recommended"
+msgstr ""
+
+#: class-tgm-plugin-activation.php:2392
+#. translators: 1: number of plugins.
+msgid "To Install <span class=\"count\">(%s)</span>"
+msgid_plural "To Install <span class=\"count\">(%s)</span>"
+msgstr[0] ""
+msgstr[1] ""
+
+#: class-tgm-plugin-activation.php:2396
+#. translators: 1: number of plugins.
+msgid "Update Available <span class=\"count\">(%s)</span>"
+msgid_plural "Update Available <span class=\"count\">(%s)</span>"
+msgstr[0] ""
+msgstr[1] ""
+
+#: class-tgm-plugin-activation.php:2400
+#. translators: 1: number of plugins.
+msgid "To Activate <span class=\"count\">(%s)</span>"
+msgid_plural "To Activate <span class=\"count\">(%s)</span>"
+msgstr[0] ""
+msgstr[1] ""
+
+#: class-tgm-plugin-activation.php:2490
+msgid "Installed version:"
+msgstr ""
+
+#: class-tgm-plugin-activation.php:2498
+msgid "Minimum required version:"
+msgstr ""
+
+#: class-tgm-plugin-activation.php:2510
+msgid "Available version:"
+msgstr ""
+
+#: class-tgm-plugin-activation.php:2533
+msgid "No plugins to install, update or activate."
+msgstr ""
+
+#: class-tgm-plugin-activation.php:2547
+msgid "Plugin"
+msgstr ""
+
+#: class-tgm-plugin-activation.php:2548
+msgid "Source"
+msgstr ""
+
+#: class-tgm-plugin-activation.php:2549
+msgid "Type"
+msgstr ""
+
+#: class-tgm-plugin-activation.php:2553
+msgid "Version"
+msgstr ""
+
+#: class-tgm-plugin-activation.php:2554
+msgid "Status"
+msgstr ""
+
+#: class-tgm-plugin-activation.php:2603
+#. translators: %2$s: plugin name in screen reader markup
+msgid "Install %2$s"
+msgstr ""
+
+#: class-tgm-plugin-activation.php:2608
+#. translators: %2$s: plugin name in screen reader markup
+msgid "Update %2$s"
+msgstr ""
+
+#: class-tgm-plugin-activation.php:2614
+#. translators: %2$s: plugin name in screen reader markup
+msgid "Activate %2$s"
+msgstr ""
+
+#: class-tgm-plugin-activation.php:2684
+msgid "Upgrade message from the plugin author:"
+msgstr ""
+
+#: class-tgm-plugin-activation.php:2717
+msgid "Install"
+msgstr ""
+
+#: class-tgm-plugin-activation.php:2723
+msgid "Update"
+msgstr ""
+
+#: class-tgm-plugin-activation.php:2726
+msgid "Activate"
+msgstr ""
+
+#: class-tgm-plugin-activation.php:2757
+msgid "No plugins were selected to be installed. No action taken."
+msgstr ""
+
+#: class-tgm-plugin-activation.php:2759
+msgid "No plugins were selected to be updated. No action taken."
+msgstr ""
+
+#: class-tgm-plugin-activation.php:2800
+msgid "No plugins are available to be installed at this time."
+msgstr ""
+
+#: class-tgm-plugin-activation.php:2802
+msgid "No plugins are available to be updated at this time."
+msgstr ""
+
+#: class-tgm-plugin-activation.php:2908
+msgid "No plugins were selected to be activated. No action taken."
+msgstr ""
+
+#: class-tgm-plugin-activation.php:2934
+msgid "No plugins are available to be activated at this time."
+msgstr ""
+
+#: class-tgm-plugin-activation.php:3158
+msgid "Plugin activation failed."
+msgstr ""
+
+#: class-tgm-plugin-activation.php:3498
+#. translators: 1: plugin name, 2: action number 3: total number of actions.
+msgid "Updating Plugin %1$s (%2$d/%3$d)"
+msgstr ""
+
+#: class-tgm-plugin-activation.php:3501
+#. translators: 1: plugin name, 2: error message.
+msgid "An error occurred while installing %1$s: <strong>%2$s</strong>."
+msgstr ""
+
+#: class-tgm-plugin-activation.php:3503
+#. translators: 1: plugin name.
+msgid "The installation of %1$s failed."
+msgstr ""
+
+#: class-tgm-plugin-activation.php:3507
+msgid ""
+"The installation and activation process is starting. This process may take "
+"a while on some hosts, so please be patient."
+msgstr ""
+
+#: class-tgm-plugin-activation.php:3509
+#. translators: 1: plugin name.
+msgid "%1$s installed and activated successfully."
+msgstr ""
+
+#: class-tgm-plugin-activation.php:3509 class-tgm-plugin-activation.php:3517
+msgid "Show Details"
+msgstr ""
+
+#: class-tgm-plugin-activation.php:3509 class-tgm-plugin-activation.php:3517
+msgid "Hide Details"
+msgstr ""
+
+#: class-tgm-plugin-activation.php:3510
+msgid "All installations and activations have been completed."
+msgstr ""
+
+#: class-tgm-plugin-activation.php:3512
+#. translators: 1: plugin name, 2: action number 3: total number of actions.
+msgid "Installing and Activating Plugin %1$s (%2$d/%3$d)"
+msgstr ""
+
+#: class-tgm-plugin-activation.php:3515
+msgid ""
+"The installation process is starting. This process may take a while on some "
+"hosts, so please be patient."
+msgstr ""
+
+#: class-tgm-plugin-activation.php:3517
+#. translators: 1: plugin name.
+msgid "%1$s installed successfully."
+msgstr ""
+
+#: class-tgm-plugin-activation.php:3518
+msgid "All installations have been completed."
+msgstr ""
+
+#: class-tgm-plugin-activation.php:3520
+#. translators: 1: plugin name, 2: action number 3: total number of actions.
+msgid "Installing Plugin %1$s (%2$d/%3$d)"
+msgstr ""
+
+#: comments.php:45 comments.php:65
+msgid "Comment navigation"
+msgstr ""
+
+#: comments.php:46 comments.php:66
+msgid "&larr; Older Comments"
+msgstr ""
+
+#: comments.php:47 comments.php:67
+msgid "Newer Comments &rarr;"
+msgstr ""
+
+#: comments.php:74
+msgid "Comments are closed."
+msgstr ""
+
+#: content-none.php:13
+msgid "Nothing Found"
+msgstr ""
+
+#: content-none.php:23
+#. translators: 1: link to new post page
+msgid "Ready to publish your first post? <a href=\"%1$s\">Get started here</a>."
+msgstr ""
+
+#: content-none.php:30
+msgid ""
+"Sorry, but nothing matched your search terms. Please try again with some "
+"different keywords."
+msgstr ""
+
+#: content-none.php:35
+msgid ""
+"It seems we can&rsquo;t find what you&rsquo;re looking for. Perhaps "
+"searching can help."
+msgstr ""
+
+#: header.php:35
+msgid "Loading..."
+msgstr ""
+
+#: home.php:31 inc/customizer/features/feature-blog-header-controls.php:17
+msgid "Blog"
+msgstr ""
+
+#: inc/customizer/class/class-shop-isle-pro-palette.php:60
+#: inc/customizer/class/class-shop-isle-pro-palette.php:69
+msgid "Default"
+msgstr ""
+
+#: inc/customizer/class/class-shopisle-aboutus-page-instructions.php:18
+msgid ""
+"To customize the About us Page you need to first select the template "
+"\"About us page\" for the page you want to use for this purpose. Then open "
+"that page in the browser and press \"Customize\" in the top bar."
+msgstr ""
+
+#: inc/customizer/class/class-shopisle-aboutus-page-instructions.php:20
+#: inc/customizer/class/class-shopisle-contact-page-instructions.php:21
+#: inc/customizer/customize-pro/class-shopisle-customizer-upsell.php:133
+#: inc/customizer/customize-pro/lite-pro-upsells/class-shopisle-wporg-customize-upsell.php:133
+#. translators: 1: Link to documentation page. 2: 'doc'
+#. translators: 1: Link to documentation
+#. translators: 1: Link to documentation page. 2: 'doc'
+msgid "Need further informations? Check this %1$s"
+msgstr ""
+
+#: inc/customizer/class/class-shopisle-aboutus-page-instructions.php:20
+#: inc/customizer/class/class-shopisle-contact-page-instructions.php:21
+#: inc/customizer/customize-pro/class-shopisle-customizer-upsell.php:136
+#: inc/customizer/customize-pro/lite-pro-upsells/class-shopisle-wporg-customize-upsell.php:136
+#. translators: s: 'doc'
+msgid "doc"
+msgstr ""
+
+#: inc/customizer/class/class-shopisle-contact-page-instructions.php:19
+msgid ""
+"To customize the Contact Page you need to first select the template "
+"\"Contact page\" for the page you want to use for this purpose. Then open "
+"that page in the browser and press \"Customize\" in the top bar."
+msgstr ""
+
+#: inc/customizer/customize-pro/class-shopisle-customizer-upsell.php:88
+#: inc/customizer/customize-pro/lite-pro-upsells/class-shopisle-lite-customize-upsell.php:88
+#: inc/customizer/customize-pro/lite-pro-upsells/class-shopisle-wporg-customize-upsell.php:88
+#: inc/customizer/features/feature-frontpage-slider-section-controls.php:53
+#: inc/customizer/features/feature-frontpage-slider-section-controls.php:60
+#: inc/customizer/features/feature-frontpage-slider-section-controls.php:67
+#: inc/functions/extras.php:186 inc/functions/extras.php:193
+#: inc/functions/extras.php:200 inc/functions/setup.php:371
+#: inc/functions/setup.php:378 inc/functions/setup.php:385
+#: inc/sections/shop_isle_slider_section.php:27
+#: inc/sections/shop_isle_slider_section.php:34
+#: inc/sections/shop_isle_slider_section.php:41
+msgid "Shop Isle"
+msgstr ""
+
+#: inc/customizer/customize-pro/class-shopisle-customizer-upsell.php:90
+#: inc/customizer/customize-pro/lite-pro-upsells/class-shopisle-lite-customize-upsell.php:90
+#: inc/customizer/customize-pro/lite-pro-upsells/class-shopisle-wporg-customize-upsell.php:90
+#: inc/customizer/functions.php:38
+msgid "Documentation"
+msgstr ""
+
+#: inc/customizer/customize-pro/class-shopisle-customizer-upsell.php:102
+#: inc/customizer/customize-pro/lite-pro-upsells/class-shopisle-lite-customize-upsell.php:102
+#: inc/customizer/customize-pro/lite-pro-upsells/class-shopisle-wporg-customize-upsell.php:102
+#: inc/customizer/features/customizer-theme-info.php:47 inc/init.php:21
+msgid "Categories Section"
+msgstr ""
+
+#: inc/customizer/customize-pro/class-shopisle-customizer-upsell.php:103
+#: inc/customizer/customize-pro/lite-pro-upsells/class-shopisle-lite-customize-upsell.php:103
+#: inc/customizer/customize-pro/lite-pro-upsells/class-shopisle-wporg-customize-upsell.php:103
+#: inc/customizer/features/customizer-theme-info.php:44
+msgid "Map Section"
+msgstr ""
+
+#: inc/customizer/customize-pro/class-shopisle-customizer-upsell.php:104
+#: inc/customizer/customize-pro/lite-pro-upsells/class-shopisle-lite-customize-upsell.php:104
+#: inc/customizer/customize-pro/lite-pro-upsells/class-shopisle-wporg-customize-upsell.php:104
+msgid "Ribbon Section"
+msgstr ""
+
+#: inc/customizer/customize-pro/class-shopisle-customizer-upsell.php:105
+#: inc/customizer/customize-pro/lite-pro-upsells/class-shopisle-lite-customize-upsell.php:105
+#: inc/customizer/customize-pro/lite-pro-upsells/class-shopisle-wporg-customize-upsell.php:105
+#: inc/customizer/features/customizer-theme-info.php:45
+msgid "Services Section"
+msgstr ""
+
+#: inc/customizer/customize-pro/class-shopisle-customizer-upsell.php:106
+#: inc/customizer/customize-pro/lite-pro-upsells/class-shopisle-lite-customize-upsell.php:106
+#: inc/customizer/features/customizer-theme-info.php:43
+msgid "Add New Sections"
+msgstr ""
+
+#: inc/customizer/customize-pro/class-shopisle-customizer-upsell.php:109
+#: inc/customizer/customize-pro/lite-pro-upsells/class-shopisle-lite-customize-upsell.php:109
+#: inc/customizer/customize-pro/lite-pro-upsells/class-shopisle-wporg-customize-upsell.php:109
+#: inc/customizer/features/customizer-theme-info.php:21
+#: inc/customizer/features/customizer-theme-info.php:55
+#: inc/customizer/features/customizer-theme-info.php:77
+msgid "View PRO version"
+msgstr ""
+
+#: inc/customizer/customize-pro/class-shopisle-customizer-upsell.php:124
+#: inc/customizer/customize-pro/lite-pro-upsells/class-shopisle-wporg-customize-upsell.php:124
+#. translators: 1: The static front page customizer section link
+#. translators: 1: Link to static front page customizer control
+msgid ""
+"To customize the Frontpage sections please create a page. After that, go to "
+"%1$s and select \"A static page\". Finally, for \"Front page\" choose the "
+"page you previously created."
+msgstr ""
+
+#: inc/customizer/customize-pro/class-shopisle-customizer-upsell.php:129
+#: inc/customizer/customize-pro/class-shopisle-customizer-upsell.php:157
+#: inc/customizer/customize-pro/lite-pro-upsells/class-shopisle-lite-customize-upsell.php:127
+#: inc/customizer/customize-pro/lite-pro-upsells/class-shopisle-wporg-customize-upsell.php:129
+#. translators: 1: Link to customizer control 2: 'Need further informations?
+#. Check this'
+#. translators: 1: Link to static front page customizer control 2: 'Static
+#. Front Page'
+msgid "Static Front Page"
+msgstr ""
+
+#: inc/customizer/customize-pro/class-shopisle-customizer-upsell.php:153
+#: inc/customizer/customize-pro/lite-pro-upsells/class-shopisle-lite-customize-upsell.php:122
+#. translators: 1: Link to customizer control 2: 'Static front Page'
+#. translators: 1: Link to static front page customizer control
+msgid ""
+"To customize the Frontpage sections please go to %1$s and select \"Your "
+"Latest Posts\"."
+msgstr ""
+
+#: inc/customizer/customize-pro/lite-pro-upsells/class-shopisle-wporg-customize-upsell.php:106
+msgid "Shortcodes Section"
+msgstr ""
+
+#: inc/customizer/customizer-repeater/class/customizer-repeater-control.php:25
+msgid "Customizer Repeater"
+msgstr ""
+
+#: inc/customizer/customizer-repeater/class/customizer-repeater-control.php:132
+msgid "Add new field"
+msgstr ""
+
+#: inc/customizer/customizer-repeater/class/customizer-repeater-control.php:194
+#: inc/customizer/customizer-repeater/class/customizer-repeater-control.php:200
+#: inc/customizer/customizer-repeater/class/customizer-repeater-control.php:273
+#: inc/customizer/customizer-repeater/class/customizer-repeater-control.php:279
+#: inc/customizer/features/feature-404-controls.php:46
+#: inc/customizer/features/feature-about-us-controls.php:59
+#: inc/customizer/features/feature-about-us-controls.php:195
+#: inc/customizer/features/feature-about-us-controls.php:289
+#: inc/customizer/features/feature-frontpage-big-title-section-controls.php:70
+#: inc/customizer/features/feature-frontpage-services-section-controls.php:50
+#: inc/customizer/features/feature-frontpage-video-section-controls.php:51
+msgid "Title"
+msgstr ""
+
+#: inc/customizer/customizer-repeater/class/customizer-repeater-control.php:206
+#: inc/customizer/customizer-repeater/class/customizer-repeater-control.php:286
+#: inc/customizer/features/feature-about-us-controls.php:77
+#: inc/customizer/features/feature-about-us-controls.php:213
+#: inc/customizer/features/feature-frontpage-big-title-section-controls.php:86
+#: inc/customizer/features/feature-frontpage-services-section-controls.php:64
+msgid "Subtitle"
+msgstr ""
+
+#: inc/customizer/customizer-repeater/class/customizer-repeater-control.php:212
+#: inc/customizer/customizer-repeater/class/customizer-repeater-control.php:292
+#: inc/customizer/customizer-repeater/class/customizer-repeater-control.php:403
+#: inc/customizer/customizer-repeater/class/customizer-repeater-control.php:421
+#: inc/customizer/features/feature-404-controls.php:81
+#: inc/customizer/features/feature-frontpage-big-title-section-controls.php:118
+#: inc/customizer/features/feature-frontpage-ribbon-section-controls.php:79
+msgid "Button link"
+msgstr ""
+
+#: inc/customizer/customizer-repeater/class/customizer-repeater-control.php:219
+#: inc/customizer/customizer-repeater/class/customizer-repeater-control.php:298
+msgid "Button Label"
+msgstr ""
+
+#: inc/customizer/customizer-repeater/class/customizer-repeater-control.php:226
+#: inc/customizer/customizer-repeater/class/customizer-repeater-control.php:304
+#: inc/sections/shop_isle_shortcodes_section.php:36
+msgid "Shortcode"
+msgstr ""
+
+#: inc/customizer/customizer-repeater/class/customizer-repeater-control.php:232
+#: inc/customizer/customizer-repeater/class/customizer-repeater-control.php:310
+#: inc/feature-page-description-meta.php:34
+msgid "Description"
+msgstr ""
+
+#: inc/customizer/customizer-repeater/class/customizer-repeater-control.php:246
+#: inc/customizer/customizer-repeater/class/customizer-repeater-control.php:319
+msgid "Delete field"
+msgstr ""
+
+#: inc/customizer/customizer-repeater/class/customizer-repeater-control.php:344
+#: inc/customizer/customizer-repeater/class/customizer-repeater-control.php:379
+msgid "Icon"
+msgstr ""
+
+#: inc/customizer/customizer-repeater/class/customizer-repeater-control.php:349
+msgid "Some icons may not be displayed here. You can see the list of icons %1$s"
+msgstr ""
+
+#: inc/customizer/customizer-repeater/class/customizer-repeater-control.php:350
+msgid "here"
+msgstr ""
+
+#: inc/customizer/customizer-repeater/class/customizer-repeater-control.php:365
+#: inc/customizer/customizer-repeater/class/customizer-repeater-control.php:380
+#: inc/customizer/features/feature-frontpage-big-title-section-controls.php:53
+msgid "Image"
+msgstr ""
+
+#: inc/customizer/customizer-repeater/class/customizer-repeater-control.php:368
+msgid "Upload Image"
+msgstr ""
+
+#: inc/customizer/customizer-repeater/class/customizer-repeater-control.php:376
+msgid "Image type"
+msgstr ""
+
+#: inc/customizer/customizer-repeater/class/customizer-repeater-control.php:381
+msgid "None"
+msgstr ""
+
+#: inc/customizer/customizer-repeater/class/customizer-repeater-control.php:389
+#: inc/functions/extras.php:230 inc/sections/shop_isle_services_section.php:22
+msgid "Social icons"
+msgstr ""
+
+#: inc/customizer/customizer-repeater/class/customizer-repeater-control.php:408
+#: inc/customizer/customizer-repeater/class/customizer-repeater-control.php:436
+msgid "Add icon"
+msgstr ""
+
+#: inc/customizer/customizer.php:31
+msgid "Frontpage sections"
+msgstr ""
+
+#: inc/customizer/features/customizer-manager-pro.php:23
+msgid "ShopIsle Pro"
+msgstr ""
+
+#: inc/customizer/features/customizer-manager-pro.php:30
+#: inc/customizer/features/customizer-manager-pro.php:69
+msgid "&copy; Themeisle, All rights reserved"
+msgstr ""
+
+#: inc/customizer/features/customizer-theme-info.php:40
+msgid "Enhanced Cart"
+msgstr ""
+
+#: inc/customizer/features/customizer-theme-info.php:41
+msgid "Get full color schemes support for your site. "
+msgstr ""
+
+#: inc/customizer/features/customizer-theme-info.php:42
+msgid "Section Reordering"
+msgstr ""
+
+#: inc/customizer/features/customizer-theme-info.php:46
+msgid "Quick View functionality"
+msgstr ""
+
+#: inc/customizer/features/customizer-theme-info.php:48
+#: inc/customizer/functions.php:39
+msgid "Support"
+msgstr ""
+
+#: inc/customizer/features/customizer-theme-info.php:73
+msgid "Three New Color Schemes"
+msgstr ""
+
+#: inc/customizer/features/feature-404-controls.php:28
+#: inc/customizer/features/feature-frontpage-ribbon-section-controls.php:96
+msgid "Background image"
+msgstr ""
+
+#: inc/customizer/features/feature-404-controls.php:56
+msgid "The requested URL was not found on this server.<br> That is all we know."
+msgstr ""
+
+#: inc/customizer/features/feature-404-controls.php:64
+#: inc/customizer/features/feature-frontpage-ribbon-section-controls.php:50
+msgid "Text"
+msgstr ""
+
+#: inc/customizer/features/feature-404-controls.php:98
+#: inc/customizer/features/feature-frontpage-big-title-section-controls.php:102
+msgid "Button label"
+msgstr ""
+
+#. Template Name of the plugin/theme
+msgid "About us page"
+msgstr ""
+
+#: inc/customizer/features/feature-about-us-controls.php:31
+msgid "Our team"
+msgstr ""
+
+#: inc/customizer/features/feature-about-us-controls.php:41
+msgid "About us page - our team"
+msgstr ""
+
+#: inc/customizer/features/feature-about-us-controls.php:52
+#: template-about.php:77
+msgid "Meet our team"
+msgstr ""
+
+#: inc/customizer/features/feature-about-us-controls.php:70
+#: template-about.php:78
+msgid "An awesome way to introduce the members of your team."
+msgstr ""
+
+#: inc/customizer/features/feature-about-us-controls.php:122
+#: inc/customizer/features/feature-about-us-controls.php:134
+msgid "Add new team member"
+msgstr ""
+
+#: inc/customizer/features/feature-about-us-controls.php:133
+msgid "Team member"
+msgstr ""
+
+#: inc/customizer/features/feature-about-us-controls.php:167
+#: inc/customizer/features/feature-about-us-controls.php:250
+msgid "Video"
+msgstr ""
+
+#: inc/customizer/features/feature-about-us-controls.php:177
+msgid "About us page - video"
+msgstr ""
+
+#: inc/customizer/features/feature-about-us-controls.php:188
+#: template-about.php:209
+msgid "Presentation"
+msgstr ""
+
+#: inc/customizer/features/feature-about-us-controls.php:206
+#: template-about.php:210
+msgid "What the video about our new products"
+msgstr ""
+
+#: inc/customizer/features/feature-about-us-controls.php:232
+msgid "Background"
+msgstr ""
+
+#: inc/customizer/features/feature-about-us-controls.php:261
+#: inc/customizer/features/feature-about-us-controls.php:282
+#: template-about.php:231
+msgid "Our advantages"
+msgstr ""
+
+#: inc/customizer/features/feature-about-us-controls.php:271
+msgid "About us page - our advantages"
+msgstr ""
+
+#: inc/customizer/features/feature-about-us-controls.php:305
+#: inc/functions/extras.php:231 inc/functions/extras.php:288
+#: inc/functions/setup.php:543 inc/sections/shop_isle_services_section.php:23
+#: template-about.php:245
+msgid "Ideas and concepts"
+msgstr ""
+
+#: inc/customizer/features/feature-about-us-controls.php:306
+#: inc/customizer/features/feature-about-us-controls.php:311
+#: inc/customizer/features/feature-about-us-controls.php:316
+#: inc/customizer/features/feature-about-us-controls.php:321
+#: inc/functions/extras.php:289 inc/functions/extras.php:294
+#: inc/functions/extras.php:299 inc/functions/extras.php:304
+#: inc/functions/setup.php:544 inc/functions/setup.php:549
+#: inc/functions/setup.php:554 inc/functions/setup.php:559
+#: template-about.php:246 template-about.php:251 template-about.php:256
+#: template-about.php:261
+msgid "Lorem ipsum dolor sit amet, consectetur adipiscing elit."
+msgstr ""
+
+#: inc/customizer/features/feature-about-us-controls.php:310
+#: inc/functions/extras.php:293 inc/functions/setup.php:548
+#: template-about.php:250
+msgid "Designs & interfaces"
+msgstr ""
+
+#: inc/customizer/features/feature-about-us-controls.php:315
+#: inc/functions/extras.php:242 inc/functions/extras.php:298
+#: inc/functions/setup.php:553 inc/sections/shop_isle_services_section.php:34
+#: template-about.php:255
+msgid "Highly customizable"
+msgstr ""
+
+#: inc/customizer/features/feature-about-us-controls.php:320
+#: inc/functions/extras.php:243 inc/functions/extras.php:303
+#: inc/functions/setup.php:558 inc/sections/shop_isle_services_section.php:35
+#: template-about.php:260
+msgid "Easy to use"
+msgstr ""
+
+#: inc/customizer/features/feature-about-us-controls.php:331
+#: inc/customizer/features/feature-about-us-controls.php:343
+msgid "Add new advantage"
+msgstr ""
+
+#: inc/customizer/features/feature-about-us-controls.php:342
+msgid "Advantage"
+msgstr ""
+
+#: inc/customizer/features/feature-advanced-controls.php:18
+msgid "Advanced options"
+msgstr ""
+
+#: inc/customizer/features/feature-advanced-controls.php:34
+msgid "Disable preloader?"
+msgstr ""
+
+#: inc/customizer/features/feature-blog-header-controls.php:24
+msgid "Blog header title"
+msgstr ""
+
+#: inc/customizer/features/feature-blog-header-controls.php:39
+msgid "Blog header subtitle"
+msgstr ""
+
+#: inc/customizer/features/feature-colors-palette.php:30
+msgid "Change the color scheme"
+msgstr ""
+
+#: inc/customizer/features/feature-colors-palette.php:49
+msgid "Navbar Background"
+msgstr ""
+
+#: inc/customizer/features/feature-colors-palette.php:66
+msgid "Menu Items"
+msgstr ""
+
+#: inc/customizer/features/feature-colors-palette.php:83
+msgid "Menu Items on Hover"
+msgstr ""
+
+#: inc/customizer/features/feature-colors-palette.php:100
+msgid "Footer Background"
+msgstr ""
+
+#: inc/customizer/features/feature-colors-palette.php:119
+msgid "Padding"
+msgstr ""
+
+#. Template Name of the plugin/theme
+msgid "Contact page"
+msgstr ""
+
+#: inc/customizer/features/feature-contact-controls.php:33
+msgid "Contact form shortcode"
+msgstr ""
+
+#: inc/customizer/features/feature-contact-controls.php:36
+#. translators: 1: Link to Pirate Forms Plugin.
+msgid ""
+"Create a form, copy the shortcode generated and paste it here. We recommend "
+"%1$s but you can use any plugin you like."
+msgstr ""
+
+#: inc/customizer/features/feature-contact-controls.php:58
+#: inc/customizer/features/feature-frontpage-map-section-controls.php:48
+#. translators: 1: 'Simple Contact Form Plugin - PirateForms'
+msgid "Map shortcode"
+msgstr ""
+
+#: inc/customizer/features/feature-contact-controls.php:59
+msgid ""
+"To use this section please install <a "
+"href=\"https://wordpress.org/plugins/intergeo-maps/\">Intergeo Maps</a> "
+"plugin then use it to create a map and paste here the shortcode generated"
+msgstr ""
+
+#: inc/customizer/features/feature-footer-controls.php:18
+msgid "Footer"
+msgstr ""
+
+#: inc/customizer/features/feature-footer-controls.php:33
+msgid "Copyright"
+msgstr ""
+
+#: inc/customizer/features/feature-footer-controls.php:51
+msgid "Hide site info?"
+msgstr ""
+
+#: inc/customizer/features/feature-footer-controls.php:68
+#: inc/customizer/features/feature-footer-controls.php:80
+msgid "Add new social"
+msgstr ""
+
+#: inc/customizer/features/feature-footer-controls.php:79
+msgid "Social"
+msgstr ""
+
+#: inc/customizer/features/feature-frontpage-banners-section-controls.php:18
+#: inc/init.php:20
+msgid "Banners section"
+msgstr ""
+
+#: inc/customizer/features/feature-frontpage-banners-section-controls.php:35
+msgid "Hide banners section?"
+msgstr ""
+
+#: inc/customizer/features/feature-frontpage-banners-section-controls.php:50
+#: inc/customizer/features/feature-frontpage-categories-section-controls.php:52
+#: inc/customizer/features/feature-frontpage-products-section-controls.php:69
+#: inc/customizer/features/feature-frontpage-products-slider-section-controls.php:89
+msgid "Section title"
+msgstr ""
+
+#: inc/customizer/features/feature-frontpage-banners-section-controls.php:82
+#: inc/customizer/features/feature-frontpage-banners-section-controls.php:94
+msgid "Add new banner"
+msgstr ""
+
+#: inc/customizer/features/feature-frontpage-banners-section-controls.php:93
+msgid "Banner"
+msgstr ""
+
+#: inc/customizer/features/feature-frontpage-big-title-section-controls.php:18
+msgid "Big title section"
+msgstr ""
+
+#: inc/customizer/features/feature-frontpage-big-title-section-controls.php:36
+msgid "Hide big title section?"
+msgstr ""
+
+#: inc/customizer/features/feature-frontpage-big-title-section-controls.php:80
+#: inc/customizer/features/feature-frontpage-slider-section-controls.php:54
+#: inc/customizer/features/feature-frontpage-slider-section-controls.php:61
+#: inc/customizer/features/feature-frontpage-slider-section-controls.php:68
+#: inc/functions/extras.php:187 inc/functions/extras.php:194
+#: inc/functions/extras.php:201 inc/functions/setup.php:372
+#: inc/functions/setup.php:379 inc/functions/setup.php:386
+#: inc/sections/shop_isle_big_title_section.php:26
+#: inc/sections/shop_isle_slider_section.php:28
+#: inc/sections/shop_isle_slider_section.php:35
+#: inc/sections/shop_isle_slider_section.php:42
+msgid "WooCommerce Theme"
+msgstr ""
+
+#: inc/customizer/features/feature-frontpage-big-title-section-controls.php:112
+#: inc/sections/shop_isle_big_title_section.php:28
+msgid "#"
+msgstr ""
+
+#: inc/customizer/features/feature-frontpage-categories-section-controls.php:20
+msgid "Categories section"
+msgstr ""
+
+#: inc/customizer/features/feature-frontpage-categories-section-controls.php:36
+msgid "Hide categories section?"
+msgstr ""
+
+#: inc/customizer/features/feature-frontpage-categories-section-controls.php:45
+#: inc/sections/shop_isle_fp_categories_section.php:9
+msgid "Popular categories"
+msgstr ""
+
+#: inc/customizer/features/feature-frontpage-categories-section-controls.php:66
+#: inc/customizer/features/feature-frontpage-products-slider-section-controls.php:106
+msgid "Section subtitle"
+msgstr ""
+
+#: inc/customizer/features/feature-frontpage-categories-section-controls.php:101
+msgid ""
+"Hold down the Ctrl (windows) / Command (Mac) button to select multiple "
+"options."
+msgstr ""
+
+#: inc/customizer/features/feature-frontpage-map-section-controls.php:18
+msgid "Map section"
+msgstr ""
+
+#: inc/customizer/features/feature-frontpage-map-section-controls.php:34
+msgid "Hide map section?"
+msgstr ""
+
+#: inc/customizer/features/feature-frontpage-map-section-controls.php:49
+msgid "To use this section please install "
+msgstr ""
+
+#: inc/customizer/features/feature-frontpage-map-section-controls.php:49
+msgid " plugin then use it to create a map and paste here the shortcode generated"
+msgstr ""
+
+#: inc/customizer/features/feature-frontpage-products-section-controls.php:20
+#: inc/customizer/features/feature-frontpage-products-slider-section-controls.php:18
+#. translators: 1: Link to WooCommerce Plugin
+msgid "To use this section, you are required to first install the  %1$s plugin"
+msgstr ""
+
+#: inc/customizer/features/feature-frontpage-products-section-controls.php:28
+#: inc/customizer/features/feature-frontpage-products-slider-section-controls.php:27
+#: inc/functions/extras.php:236 inc/sections/shop_isle_services_section.php:28
+#. translators: 1: Link to WiooCommerce Plugin. 2: 'WooCommerce'
+msgid "WooCommerce"
+msgstr ""
+
+#: inc/customizer/features/feature-frontpage-products-section-controls.php:36
+msgid "Products section"
+msgstr ""
+
+#: inc/customizer/features/feature-frontpage-products-section-controls.php:52
+msgid "Hide products section?"
+msgstr ""
+
+#: inc/customizer/features/feature-frontpage-products-section-controls.php:63
+#: inc/sections/shop_isle_products_section.php:21
+msgid "Latest products"
+msgstr ""
+
+#: inc/customizer/features/feature-frontpage-products-section-controls.php:84
+msgid "WooCommerce shortcode"
+msgstr ""
+
+#: inc/customizer/features/feature-frontpage-products-section-controls.php:86
+msgid "Insert a WooCommerce shortcode"
+msgstr ""
+
+#: inc/customizer/features/feature-frontpage-products-section-controls.php:93
+#: inc/customizer/features/feature-frontpage-products-slider-section-controls.php:114
+msgid "Select category"
+msgstr ""
+
+#: inc/customizer/features/feature-frontpage-products-section-controls.php:122
+#: inc/customizer/features/feature-frontpage-products-slider-section-controls.php:144
+msgid "Products category"
+msgstr ""
+
+#: inc/customizer/features/feature-frontpage-products-section-controls.php:123
+msgid ""
+"OR pick a product category. If no shortcode or no category is selected , "
+"WooCommerce latest products are displaying."
+msgstr ""
+
+#: inc/customizer/features/feature-frontpage-products-slider-section-controls.php:36
+msgid "Products slider section"
+msgstr ""
+
+#: inc/customizer/features/feature-frontpage-products-slider-section-controls.php:54
+msgid "Hide products slider section on frontpage?"
+msgstr ""
+
+#: inc/customizer/features/feature-frontpage-products-slider-section-controls.php:72
+msgid "Hide products slider section on single product page?"
+msgstr ""
+
+#: inc/customizer/features/feature-frontpage-products-slider-section-controls.php:83
+#: inc/sections/shop_isle_products_slider_section.php:21
+#: inc/woocommerce/functions.php:337
+msgid "Exclusive products"
+msgstr ""
+
+#: inc/customizer/features/feature-frontpage-products-slider-section-controls.php:100
+#: inc/woocommerce/functions.php:338
+msgid "Special category of products"
+msgstr ""
+
+#: inc/customizer/features/feature-frontpage-products-slider-section-controls.php:148
+msgid ""
+"If no category is selected , WooCommerce products from the first category "
+"found are displaying."
+msgstr ""
+
+#: inc/customizer/features/feature-frontpage-ribbon-section-controls.php:18
+msgid "Ribbon section"
+msgstr ""
+
+#: inc/customizer/features/feature-frontpage-ribbon-section-controls.php:34
+msgid "Hide ribbon section?"
+msgstr ""
+
+#: inc/customizer/features/feature-frontpage-ribbon-section-controls.php:43
+#: inc/sections/shop_isle_ribbon_section.php:13
+msgid "Find out more"
+msgstr ""
+
+#: inc/customizer/features/feature-frontpage-ribbon-section-controls.php:58
+#: inc/sections/shop_isle_ribbon_section.php:14
+msgid "Click to subscribe"
+msgstr ""
+
+#: inc/customizer/features/feature-frontpage-ribbon-section-controls.php:65
+msgid "Button Text"
+msgstr ""
+
+#: inc/customizer/features/feature-frontpage-services-section-controls.php:18
+msgid "Services section"
+msgstr ""
+
+#: inc/customizer/features/feature-frontpage-services-section-controls.php:34
+msgid "Hide services section?"
+msgstr ""
+
+#: inc/customizer/features/feature-frontpage-services-section-controls.php:43
+#: inc/sections/shop_isle_services_section.php:13
+#: inc/sections/shop_isle_services_section.php:44
+#: inc/sections/shop_isle_services_section.php:124
+msgid "Our Services"
+msgstr ""
+
+#: inc/customizer/features/feature-frontpage-services-section-controls.php:101
+#: inc/customizer/features/feature-frontpage-services-section-controls.php:109
+msgid "Add new service box"
+msgstr ""
+
+#: inc/customizer/features/feature-frontpage-services-section-controls.php:108
+msgid "Service box"
+msgstr ""
+
+#: inc/customizer/features/feature-frontpage-shortcodes-section-controls.php:18
+msgid "Shortcodes section"
+msgstr ""
+
+#: inc/customizer/features/feature-frontpage-shortcodes-section-controls.php:34
+msgid "Hide shortcodes section?"
+msgstr ""
+
+#: inc/customizer/features/feature-frontpage-shortcodes-section-controls.php:44
+msgid "Edit the shortcode options"
+msgstr ""
+
+#: inc/customizer/features/feature-frontpage-slider-section-controls.php:21
+msgid "Slider section"
+msgstr ""
+
+#: inc/customizer/features/feature-frontpage-slider-section-controls.php:38
+msgid "Hide slider section?"
+msgstr ""
+
+#: inc/customizer/features/feature-frontpage-slider-section-controls.php:79
+#: inc/customizer/features/feature-frontpage-slider-section-controls.php:90
+msgid "Add new slide"
+msgstr ""
+
+#: inc/customizer/features/feature-frontpage-slider-section-controls.php:89
+msgid "Slide"
+msgstr ""
+
+#: inc/customizer/features/feature-frontpage-video-section-controls.php:18
+msgid "Video section"
+msgstr ""
+
+#: inc/customizer/features/feature-frontpage-video-section-controls.php:35
+msgid "Hide video section?"
+msgstr ""
+
+#: inc/customizer/features/feature-frontpage-video-section-controls.php:66
+msgid "Youtube link"
+msgstr ""
+
+#: inc/customizer/features/feature-frontpage-video-section-controls.php:82
+msgid "Video thumbnail"
+msgstr ""
+
+#: inc/customizer/features/feature-header-controls.php:18
+msgid "Header"
+msgstr ""
+
+#: inc/customizer/features/feature-header-controls.php:34
+msgid "Logo"
+msgstr ""
+
+#: inc/customizer/features/feature-slider-shortcode.php:23
+msgid "Slider shortcode"
+msgstr ""
+
+#: inc/customizer/features/feature-slider-shortcode.php:24
+msgid ""
+"You can replace the homepage slider with any plugin you like, just copy the "
+"shortcode generated and paste it here."
+msgstr ""
+
+#: inc/customizer/features/flag-wporg.php:34 inc/functions/setup.php:134
+msgid "Primary Menu"
+msgstr ""
+
+#: inc/feature-page-description-meta.php:20
+msgid "Header description"
+msgstr ""
+
+#: inc/frontpage-manager.php:29
+msgid "Keep the old static frontpage template?"
+msgstr ""
+
+#: inc/functions/extras.php:237 inc/sections/shop_isle_services_section.php:29
+#: inc/structure/template-tags.php:135
+msgid "Top Rated Products"
+msgstr ""
+
+#: inc/functions/setup.php:202
+msgid "Sidebar"
+msgstr ""
+
+#: inc/functions/setup.php:213
+msgid "Footer area 1"
+msgstr ""
+
+#: inc/functions/setup.php:224
+msgid "Footer area 2"
+msgstr ""
+
+#: inc/functions/setup.php:235
+msgid "Footer area 3"
+msgstr ""
+
+#: inc/functions/setup.php:246
+msgid "Footer area 4"
+msgstr ""
+
+#: inc/functions/setup.php:257
+msgid "Sidebar Shop Page"
+msgstr ""
+
+#: inc/init.php:115 inc/structure/header.php:89
+#: inc/woocommerce/template-tags.php:20
+msgid "View your shopping cart"
+msgstr ""
+
+#: inc/sections/shop_isle_products_section.php:146
+#: inc/sections/shop_isle_products_section.php:276
+msgid "Quick View"
+msgstr ""
+
+#: inc/sections/shop_isle_products_section.php:177
+#: inc/sections/shop_isle_products_section.php:308
+#: inc/sections/shop_isle_products_slider_section.php:145
+#: inc/sections/shop_isle_products_slider_section.php:218
+#: inc/woocommerce/functions.php:674
+msgid "Out of Stock"
+msgstr ""
+
+#: inc/sections/shop_isle_products_section.php:197
+#: inc/sections/shop_isle_products_section.php:199
+#: inc/sections/shop_isle_products_section.php:328
+#: inc/sections/shop_isle_products_section.php:330
+msgid "See all products"
+msgstr ""
+
+#: inc/sections/shop_isle_products_section.php:208
+msgid "No products found."
+msgstr ""
+
+#: inc/sections/shop_isle_products_section.php:338
+msgid ""
+"For this section to work, you first need to install the WooCommerce plugin "
+", create some products, and insert a WooCommerce shortocode or select a "
+"product category in Customize -> Frontpage sections -> Products section"
+msgstr ""
+
+#: inc/sections/shop_isle_products_slider_section.php:23
+msgid ""
+"For this section to work, you first need to install the WooCommerce plugin "
+", create some products, and select a product category in Customize -> "
+"Frontpage sections -> Products slider section"
+msgstr ""
+
+#: inc/structure/comments.php:45
+#. translators: s: Comment author link
+msgid "<cite class=\"fn\">%s</cite>"
+msgstr ""
+
+#: inc/structure/comments.php:49
+msgid "Your comment is awaiting moderation."
+msgstr ""
+
+#: inc/structure/comments.php:76
+msgid "Edit"
+msgstr ""
+
+#: inc/structure/footer.php:94
+msgid "powered by"
+msgstr ""
+
+#: inc/structure/header.php:50
+msgid "Toggle navigation"
+msgstr ""
+
+#: inc/structure/page.php:22 inc/structure/post.php:47
+msgid "Pages:"
+msgstr ""
+
+#: inc/structure/post.php:40
+#. translators: s: post title
+msgid "Continue reading %s"
+msgstr ""
+
+#: inc/structure/post.php:55
+msgid ", "
+msgstr ""
+
+#: inc/structure/post.php:59
+#. translators: s: post title
+msgid "Tagged %1$s"
+msgstr ""
+
+#: inc/structure/post.php:92
+msgid "Posts navigation"
+msgstr ""
+
+#: inc/structure/post.php:95
+msgid "<span class=\"meta-nav\">&larr;</span> Older posts"
+msgstr ""
+
+#: inc/structure/post.php:98
+msgid "Newer posts <span class=\"meta-nav\">&rarr;</span>"
+msgstr ""
+
+#: inc/structure/post.php:127
+msgid "By "
+msgstr ""
+
+#: inc/structure/post.php:147
+msgid "No Comments"
+msgstr ""
+
+#: inc/structure/post.php:149
+msgid " Comments"
+msgstr ""
+
+#: inc/structure/post.php:151
+msgid "1 Comment"
+msgstr ""
+
+#: inc/structure/post.php:165
+#. translators: s: category name
+msgid "View all posts in %s"
+msgstr ""
+
+#: inc/structure/template-tags.php:28
+msgid "Product Categories"
+msgstr ""
+
+#: inc/structure/template-tags.php:63
+msgid "Recent Products"
+msgstr ""
+
+#: inc/structure/template-tags.php:100
+msgid "Featured Products"
+msgstr ""
+
+#: inc/structure/template-tags.php:170
+msgid "On Sale"
+msgstr ""
+
+#: inc/woocommerce/template-tags.php:28
+#. translators: d: number of items.
+msgid "%d item"
+msgid_plural "%d items"
+msgstr[0] ""
+msgstr[1] ""
+
+#: search.php:30
+#. translators: s: Search term.
+msgid "Search Results for: %s"
+msgstr ""
+
+#. Theme Name of the plugin/theme
+msgid "ShopIsle PRO"
+msgstr ""
+
+#. Theme URI of the plugin/theme
+msgid "http://themeisle.com/themes/shop-isle-pro/"
+msgstr ""
+
+#. Description of the plugin/theme
+msgid ""
+"ShopIsle is the perfect free theme designed for your WooCommerce shop based "
+"on bootstrap. Due to its flexibility ShopIsle can also be used for a one "
+"page business site, it has a fullscreen image, parallax effect, it provides "
+"a responsive blog section, is eCommerce ready, WPML, Photo Gallery "
+"Grid,Contact Form 7,Meta Slider, SiteOrigin Page Builder, JetPack "
+"compatible and SEO friendly. It features a simple, minimal and elegant "
+"style which will work perfectly for a clothing, electronics and almost any "
+"kind of store."
+msgstr ""
+
+#. Author of the plugin/theme
+msgid "Themeisle"
+msgstr ""
+
+#. Author URI of the plugin/theme
+msgid "https://themeisle.com"
+msgstr ""
+
+#. Template Name of the plugin/theme
+msgid "Blog template"
+msgstr ""
+
+#. Template Name of the plugin/theme
+msgid "Frontpage"
+msgstr ""
+
+#. Template Name of the plugin/theme
+msgid "Full width, no title (SiteOrigin Page builder Template)"
+msgstr ""
+
+#. Template Name of the plugin/theme
+msgid "Full width"
+msgstr ""
+
+#. Template Name of the plugin/theme
+msgid "Page Builder Blank"
+msgstr ""
+
+#. Template Name of the plugin/theme
+msgid "Page Builder Full Width"
+msgstr ""
+
+#: class-tgm-plugin-activation.php:1121 class-tgm-plugin-activation.php:2948
+msgctxt "plugin A *and* plugin B"
+msgid "and"
+msgstr ""
+
+#: class-tgm-plugin-activation.php:2342
+#. translators: 1: install status, 2: update status
+msgctxt "Install/Update Status"
+msgid "%1$s, %2$s"
+msgstr ""
+
+#: class-tgm-plugin-activation.php:2388
+#. translators: 1: number of plugins.
+msgctxt "plugins"
+msgid "All <span class=\"count\">(%s)</span>"
+msgid_plural "All <span class=\"count\">(%s)</span>"
+msgstr[0] ""
+msgstr[1] ""
+
+#: class-tgm-plugin-activation.php:2482
+msgctxt "as in: \"version nr unknown\""
+msgid "unknown"
+msgstr ""
+
+#: comments.php:30
+#. translators: 1: number of comments, 2: post title
+msgctxt "comments title"
+msgid "%1$s thought on &ldquo;%2$s&rdquo;"
+msgid_plural "%1$s thoughts on &ldquo;%2$s&rdquo;"
+msgstr[0] ""
+msgstr[1] ""
+
+#: inc/structure/header.php:80
+msgctxt "placeholder"
+msgid "Search Products&hellip;"
+msgstr ""
+
+#: inc/structure/header.php:80
+msgctxt "label"
+msgid "Search for:"
+msgstr ""
+
+#: inc/structure/header.php:81
+msgctxt "submit button"
+msgid "Search"
+msgstr ""
\ No newline at end of file
diff --git a/templates/shop-isle/loop.php b/templates/shop-isle/loop.php
new file mode 100644 (file)
index 0000000..d95f3fa
--- /dev/null
@@ -0,0 +1,31 @@
+<?php
+/**
+ * The loop template file.
+ *
+ * Included on pages like index.php, archive.php and search.php to display a loop of posts
+ * Learn more: http://codex.wordpress.org/The_Loop
+ *
+ * @package WordPress
+ * @subpackage Shop Isle
+ */
+
+do_action( 'shop_isle_loop_before' );
+
+while ( have_posts() ) :
+       the_post();
+
+       /*
+        Include the Post-Format-specific template for the content.
+        * If you want to override this in a child theme, then include a file
+        * called content-___.php (where ___ is the Post Format name) and that will be used instead.
+        */
+       get_template_part( 'content', get_post_format() );
+
+endwhile;
+
+/**
+ * After loop hook.
+ *
+ * @hooked shop_isle_paging_nav - 10
+ */
+do_action( 'shop_isle_loop_after' );
diff --git a/templates/shop-isle/page.php b/templates/shop-isle/page.php
new file mode 100644 (file)
index 0000000..aa52231
--- /dev/null
@@ -0,0 +1,145 @@
+<?php
+/**
+ * The template for displaying all pages.
+ *
+ * This is the template that displays all pages by default.
+ * Please note that this is the WordPress construct of pages
+ * and that other 'pages' on your WordPress site will use a
+ * different template.
+ *
+ * @package WordPress
+ * @subpackage Shop Isle
+ */
+
+get_header(); ?>
+
+<!-- Wrapper start -->
+<div class="main">
+
+       <?php
+       if ( ( function_exists( 'is_cart' ) && is_cart() ) || ( function_exists( 'is_checkout' ) && is_checkout() ) || ( function_exists( 'is_wc_endpoint_url' ) && is_wc_endpoint_url( 'lost-password' ) ) || ( function_exists( 'is_account_page' ) && is_account_page() ) ) :
+               echo '<section class="module module-cart-top">';
+       else :
+
+               $shop_isle_header_image = get_header_image();
+               if ( ! empty( $shop_isle_header_image ) ) :
+                       echo '<section class="page-header-module module bg-dark" data-background="' . esc_url( $shop_isle_header_image ) . '">';
+               else :
+                       echo '<section class="page-header-module module bg-dark">';
+               endif;
+
+       endif;
+       ?>
+
+       <div class="container">
+               <div class="row">
+                       <div class="col-sm-10 col-sm-offset-1">
+                               <h1 class="module-title font-alt"><?php the_title(); ?></h1>
+
+                               <?php
+
+                               if ( function_exists( 'shop_isle_page_description_box' ) ) {
+
+                                       /* Header description */
+
+                                       $shop_isle_shop_id = get_the_ID();
+
+                                       if ( ! empty( $shop_isle_shop_id ) ) :
+
+                                               $shop_isle_page_description = get_post_meta( $shop_isle_shop_id, 'shop_isle_page_description' );
+
+                                               if ( ! empty( $shop_isle_page_description[0] ) ) :
+                                                       echo '<div class="module-subtitle font-serif mb-0">' . wp_kses_post( $shop_isle_page_description[0] ) . '</div>';
+                                               endif;
+
+                                       endif;
+                               }
+                               ?>
+
+                       </div>
+               </div>
+               <?php
+               if ( ( function_exists( 'is_cart' ) && is_cart() ) || ( function_exists( 'is_checkout' ) && is_checkout() ) || ( function_exists( 'is_wc_endpoint_url' ) && is_wc_endpoint_url( 'lost-password' ) ) || ( function_exists( 'is_account_page' ) && is_account_page() ) ) :
+                       echo '<hr class="divider-w pt-20"><!-- divider -->';
+               endif;
+               ?>
+       </div><!-- .container -->
+
+       <?php
+       echo '</section>';
+       ?>
+
+
+       <!-- Pricing start -->
+       <?php
+       if ( ( function_exists( 'is_cart' ) && is_cart() ) || ( function_exists( 'is_checkout' ) && is_checkout() ) || ( function_exists( 'is_wc_endpoint_url' ) && is_wc_endpoint_url( 'lost-password' ) ) || ( function_exists( 'is_account_page' ) && is_account_page() ) ) :
+               echo '<section class="page-module-content module module-cart-bottom">';
+       else :
+               echo '<section class="page-module-content module">';
+       endif;
+       ?>
+       <div class="container">
+
+               <div class="row">
+
+                       <!-- Content column start -->
+                       <?php if ( ( function_exists( 'is_cart' ) && is_cart() ) || ( function_exists( 'is_checkout' ) && is_checkout() ) || ( function_exists( 'is_wc_endpoint_url' ) && is_wc_endpoint_url( 'lost-password' ) ) || ( function_exists( 'is_account_page' ) && is_account_page() ) ) : ?>
+                       <div class="col-sm-12">
+                               <?php else : ?>
+                               <div class="col-sm-8">
+                                       <?php endif; ?>
+                                       <?php
+                                       /**
+                                        * Top of content hook.
+                                        *
+                                        * @hooked woocommerce_breadcrumb - 10
+                                        */
+                                       do_action( 'shop_isle_content_top' );
+                                       ?>
+
+                                       <?php
+                                       while ( have_posts() ) :
+                                               the_post();
+?>
+
+                                               <?php
+                                               do_action( 'shop_isle_page_before' );
+                                               ?>
+
+                                               <?php get_template_part( 'content', 'page' ); ?>
+
+                                               <?php
+                                               /**
+                                                * Bottom of content hook.
+                                                *
+                                                * @hooked shop_isle_display_comments - 10
+                                                */
+                                               do_action( 'shop_isle_page_after' );
+                                               ?>
+
+                                       <?php endwhile; ?>
+
+                               </div>
+                               <!-- Content column end -->
+
+                               <!-- Sidebar column start -->
+                               <?php if ( ( function_exists( 'is_cart' ) && is_cart() ) || ( function_exists( 'is_checkout' ) && is_checkout() ) || ( function_exists( 'is_wc_endpoint_url' ) && is_wc_endpoint_url( 'lost-password' ) ) || ( function_exists( 'is_account_page' ) && is_account_page() ) ) : ?>
+                               <?php else : ?>
+                                       <div class="col-xs-12 col-sm-4 col-md-3 col-md-offset-1 sidebar">
+
+                                               <?php do_action( 'shop_isle_sidebar' ); ?>
+
+                                       </div>
+                               <?php endif; ?>
+                               <!-- Sidebar column end -->
+
+                       </div><!-- .row -->
+
+               </div>
+               <?php
+               echo '</section>';
+               ?>
+               <!-- Pricing end -->
+
+
+               <?php get_footer(); ?>
diff --git a/templates/shop-isle/rtl.css b/templates/shop-isle/rtl.css
new file mode 100644 (file)
index 0000000..c048c95
--- /dev/null
@@ -0,0 +1,17 @@
+/*
+Theme Name: ShopIsle
+
+Adding support for language written in a Right To Left (RTL) direction is easy -
+it's just a matter of overwriting all the horizontal positioning attributes
+of your CSS stylesheet in a separate stylesheet file named rtl.css.
+
+http://codex.wordpress.org/Right_to_Left_Language_Support
+
+*/
+
+/*
+body {
+       direction: rtl;
+       unicode-bidi: embed;
+}
+*/
diff --git a/templates/shop-isle/screenshot.png b/templates/shop-isle/screenshot.png
new file mode 100644 (file)
index 0000000..f4ded30
Binary files /dev/null and b/templates/shop-isle/screenshot.png differ
diff --git a/templates/shop-isle/search.php b/templates/shop-isle/search.php
new file mode 100644 (file)
index 0000000..c546be4
--- /dev/null
@@ -0,0 +1,79 @@
+<?php
+/**
+ * The template for displaying search results pages.
+ *
+ * @package WordPress
+ * @subpackage Shop Isle
+ */
+
+get_header(); ?>
+
+       <!-- Wrapper start -->
+       <div class="main">
+               <!-- Post single start -->
+                       <?php
+                       $shop_isle_header_image = get_header_image();
+                       if ( ! empty( $shop_isle_header_image ) ) :
+                               echo '<section class="page-header-module module bg-dark" data-background="' . esc_url( $shop_isle_header_image ) . '">';
+                               else :
+                                       echo '<section class="page-header-module module bg-dark">';
+                               endif;
+                       ?>
+                       
+                                       <div class="container">
+                                               <div class="row">
+                                                       <div class="col-sm-6 col-sm-offset-3">
+                                                               <h1 class="module-title font-alt">
+                                                               <?php
+                                                               printf(
+                                                                       /* translators: s: Search term. */
+                                                                               __( 'Search Results for: %s', 'shop-isle' ),
+                                                                       '<span>' . get_search_query() . '</span>'
+                                                               );
+                                                               ?>
+                                                               </h1>
+                                                       </div>
+                                               </div>
+                                       </div><!-- .container -->
+                       
+                       
+                       <?php
+                               echo '</section>';
+
+                               echo '<section class="module">';
+                       ?>
+                       <div class="container">
+
+                               <div class="row">
+
+                                       <!-- Content column start -->
+                                       <div class="col-sm-8">
+
+                                               <?php if ( have_posts() ) : ?>
+
+                                                       <?php get_template_part( 'loop' ); ?>
+
+                                               <?php else : ?>
+
+                                                       <?php get_template_part( 'content', 'none' ); ?>
+
+                                               <?php endif; ?>
+
+                                       </div><!-- Content column end -->       
+                                       
+                                       <!-- Sidebar column start -->
+                                       <div class="col-sm-4 col-md-3 col-md-offset-1 sidebar">
+
+                                               <?php do_action( 'shop_isle_sidebar' ); ?>
+
+                                       </div>
+                                       <!-- Sidebar column end -->
+                                       
+                               </div><!-- .row -->
+
+                       </div>
+               </section>
+               <!-- Post single end -->
+
+
+<?php get_footer(); ?>
diff --git a/templates/shop-isle/sidebar-shop-archive.php b/templates/shop-isle/sidebar-shop-archive.php
new file mode 100644 (file)
index 0000000..661e0ca
--- /dev/null
@@ -0,0 +1,15 @@
+<?php
+/**
+ * The sidebar containing the main widget area.
+ *
+ * @package shop-isle
+ */
+
+if ( ! is_active_sidebar( 'shop-isle-sidebar-shop-archive' ) ) {
+       return;
+}
+?>
+
+<div id="secondary" class="widget-area" role="complementary">
+       <?php dynamic_sidebar( 'shop-isle-sidebar-shop-archive' ); ?>
+</div><!-- #secondary -->
diff --git a/templates/shop-isle/sidebar.php b/templates/shop-isle/sidebar.php
new file mode 100644 (file)
index 0000000..b48442b
--- /dev/null
@@ -0,0 +1,15 @@
+<?php
+/**
+ * The sidebar containing the main widget area.
+ *
+ * @package shop-isle
+ */
+
+if ( ! is_active_sidebar( 'sidebar-1' ) ) {
+       return;
+}
+?>
+
+<div id="secondary" class="widget-area" role="complementary">
+       <?php dynamic_sidebar( 'sidebar-1' ); ?>
+</div><!-- #secondary -->
diff --git a/templates/shop-isle/single.php b/templates/shop-isle/single.php
new file mode 100644 (file)
index 0000000..e21ae4a
--- /dev/null
@@ -0,0 +1,62 @@
+<?php
+/**
+ * The template for displaying all single posts.
+ *
+ * @package WordPress
+ * @subpackage Shop Isle
+ */
+
+get_header(); ?>
+
+<!-- Wrapper start -->
+       <div class="main">
+
+               <!-- Post single start -->
+               <section class="page-module-content module">
+                       <div class="container">
+
+                               <div class="row">
+
+                                       <!-- Content column start -->
+                                       <div class="col-sm-8">
+
+                                               <?php
+                                               while ( have_posts() ) :
+                                                       the_post();
+?>
+
+                                                       <?php
+
+                                                       do_action( 'shop_isle_single_post_before' );
+
+                                                       get_template_part( 'content', 'single' );
+
+                                                       /**
+                                                        * After single post hook.
+                                                        *
+                                                        * @hooked shop_isle_post_nav - 10
+                                                        */
+                                                       do_action( 'shop_isle_single_post_after' );
+                                                       ?>
+
+                                               <?php endwhile; ?>
+
+                                       </div>
+                                       <!-- Content column end -->
+
+                                       <!-- Sidebar column start -->
+                                       <div class="col-xs-12 col-sm-4 col-md-3 col-md-offset-1 sidebar">
+
+                                               <?php do_action( 'shop_isle_sidebar' ); ?>
+
+                                       </div>
+                                       <!-- Sidebar column end -->
+
+                               </div><!-- .row -->
+
+                       </div>
+               </section>
+               <!-- Post single end -->
+               
+
+<?php get_footer(); ?>
diff --git a/templates/shop-isle/style.css b/templates/shop-isle/style.css
new file mode 100644 (file)
index 0000000..18047d7
--- /dev/null
@@ -0,0 +1,25 @@
+/*
+Theme Name:    Shop Isle
+Theme URI:     http://themeisle.com/themes/shop-isle/
+Author:        Themeisle
+Author URI:            https://themeisle.com
+Description:   ShopIsle is the perfect free theme designed for your WooCommerce shop based on bootstrap. Due to its flexibility ShopIsle can also be used for a one page business site, it has a fullscreen image, parallax effect, it provides a responsive blog section, is eCommerce ready, WPML, Photo Gallery Grid,Contact Form 7,Meta Slider, SiteOrigin Page Builder, JetPack compatible and SEO friendly. It features a simple, minimal and elegant style which will work perfectly for a clothing, electronics and almost any kind of store.
+Version:       1.1.24
+License:       GNU General Public License v2 or later
+License URI:   http://www.gnu.org/licenses/gpl-2.0.html
+Text Domain:   shop-isle
+Tags:          two-columns,one-column, grid-layout, right-sidebar, custom-background, custom-colors, custom-header, custom-menu, featured-images, full-width-template,footer-widgets,theme-options, translation-ready,e-commerce,blog,portfolio, threaded-comments
+
+This theme, like WordPress, is licensed under the GPL.
+Use it to make something cool, have fun, and share what you've learned with others.
+
+ShopIsle is based on Underscores http://underscores.me/, (C) 2012-2014 Automattic, Inc.
+
+Resetting and rebuilding styles have been helped along thanks to the fine work of
+Eric Meyer http://meyerweb.com/eric/tools/css/reset/index.html
+along with Nicolas Gallagher and Jonathan Neal http://necolas.github.com/normalize.css/
+
+======
+Note: Do not edit this file. If you wish to add your own CSS we strongly recommend creating your own child theme, or installing a custom CSS plugin.
+======
+*/
diff --git a/templates/shop-isle/template-contact.php b/templates/shop-isle/template-contact.php
new file mode 100644 (file)
index 0000000..331a033
--- /dev/null
@@ -0,0 +1,73 @@
+<?php
+/**
+ * The template for displaying contact page.
+ *
+ * Template Name: Contact page
+ *
+ * @package WordPress
+ * @subpackage Shop Isle
+ */
+
+get_header(); ?>
+
+<!-- Wrapper start -->
+       <div class="main">
+
+               <!-- Header section start -->
+               <?php
+               $shop_isle_header_image = get_header_image();
+               if ( ! empty( $shop_isle_header_image ) ) :
+                       echo '<section class="page-header-module module bg-dark" data-background="' . esc_url( $shop_isle_header_image ) . '">';
+               else :
+                       echo '<section class="page-header-module module bg-dark">';
+               endif;
+               ?>
+                       <div class="container">
+
+                               <div class="row">
+
+                                       <div class="col-sm-10 col-sm-offset-1">
+
+                                               <h1 class="module-title font-alt"><?php the_title(); ?></h1>
+
+                                               <?php
+
+                                               /* Header description */
+
+                                               $shop_isle_shop_id = get_the_ID();
+
+                                               if ( ! empty( $shop_isle_shop_id ) ) :
+
+                                                       $shop_isle_page_description = get_post_meta( $shop_isle_shop_id, 'shop_isle_page_description' );
+
+                                                       if ( ! empty( $shop_isle_page_description[0] ) ) :
+                                                               echo '<div class="module-subtitle font-serif mb-0">' . wp_kses_post( $shop_isle_page_description[0] ) . '</div>';
+                                                       endif;
+
+                                               endif;
+                                               ?>
+
+                                       </div>
+
+                               </div><!-- .row -->
+
+                       </div>
+               </section>
+               <!-- Header section end -->
+
+               <!-- Contact start -->
+               
+               <?php
+
+               if ( have_posts() ) :
+
+                       while ( have_posts() ) :
+                               the_post();
+
+                               get_template_part( 'content', 'contact' );
+
+                       endwhile;
+
+               endif;
+
+               get_footer(); ?>
diff --git a/templates/shop-isle/template-fullwidth-no-title.php b/templates/shop-isle/template-fullwidth-no-title.php
new file mode 100644 (file)
index 0000000..1203aee
--- /dev/null
@@ -0,0 +1,65 @@
+<?php
+/**
+ * The template for displaying full width pages.
+ *
+ * Template Name: Full width, no title (SiteOrigin Page builder Template)
+ *
+ * @package WordPress
+ * @subpackage Shop Isle
+ */
+
+get_header(); ?>
+
+       <!-- Wrapper start -->
+       <div class="main">
+
+       <!-- Pricing start -->
+       <section class="module">
+               <div class="container">
+
+                       <div class="row">
+
+                               <!-- Content column start -->
+                               <div class="col-sm-12">
+
+                                       <?php
+                                       /**
+                                        * Top of content hook.
+                                        *
+                                        * @hooked woocommerce_breadcrumb - 10
+                                        */
+                                       do_action( 'shop_isle_content_top' );
+                                       ?>
+
+                                       <?php
+                                       while ( have_posts() ) :
+                                               the_post();
+?>
+
+                                               <?php
+                                               do_action( 'shop_isle_page_before' );
+                                               ?>
+
+                                               <?php get_template_part( 'content', 'page' ); ?>
+
+                                               <?php
+                                               /**
+                                                * Bottom of content hook.
+                                                *
+                                                * @hooked shop_isle_display_comments - 10
+                                                */
+                                               do_action( 'shop_isle_page_after' );
+                                               ?>
+
+                                       <?php endwhile; ?>
+
+                               </div>
+
+                       </div> <!-- .row -->
+
+               </div>
+       </section>
+       <!-- Pricing end -->
+
+
+<?php get_footer(); ?>
diff --git a/templates/shop-isle/template-fullwidth.php b/templates/shop-isle/template-fullwidth.php
new file mode 100644 (file)
index 0000000..2cabbfd
--- /dev/null
@@ -0,0 +1,107 @@
+<?php
+/**
+ * The template for displaying full width pages.
+ *
+ * Template Name: Full width
+ *
+ * @package WordPress
+ * @subpackage Shop Isle
+ */
+
+get_header(); ?>
+
+<!-- Wrapper start -->
+       <div class="main">
+       
+               <!-- Header section start -->
+               <?php
+               $shop_isle_header_image = get_header_image();
+               if ( ! empty( $shop_isle_header_image ) ) :
+                       echo '<section class="page-header-module module bg-dark" data-background="' . esc_url( $shop_isle_header_image ) . '">';
+               else :
+                       echo '<section class="page-header-module module bg-dark">';
+               endif;
+               ?>
+                       <div class="container">
+
+                               <div class="row">
+
+                                       <div class="col-sm-10 col-sm-offset-1">
+                                               <h1 class="module-title font-alt"><?php the_title(); ?></h1>
+                                               
+                                               <?php
+
+                                               /* Header description */
+
+                                               $shop_isle_shop_id = get_the_ID();
+
+                                               if ( ! empty( $shop_isle_shop_id ) ) :
+
+                                                       $shop_isle_page_description = get_post_meta( $shop_isle_shop_id, 'shop_isle_page_description' );
+
+                                                       if ( ! empty( $shop_isle_page_description[0] ) ) :
+                                                               echo '<div class="module-subtitle font-serif mb-0">' . wp_kses_post( $shop_isle_page_description[0] ) . '</div>';
+                                                       endif;
+
+                                               endif;
+                                               ?>
+                                       </div>
+
+                               </div><!-- .row -->
+
+                       </div>
+               </section>
+               <!-- Header section end -->
+               
+               
+
+               <!-- Pricing start -->
+               <section class="module">
+                       <div class="container">
+                       
+                               <div class="row">
+
+                                       <!-- Content column start -->
+                                       <div class="col-sm-12">
+                       
+                                       <?php
+                                       /**
+                                        * Top of the content hook.
+                                        *
+                                        * @hooked woocommerce_breadcrumb - 10
+                                        */
+                                       do_action( 'shop_isle_content_top' );
+                                       ?>
+
+                                       <?php
+                                       while ( have_posts() ) :
+                                               the_post();
+?>
+
+                                               <?php
+                                               do_action( 'shop_isle_page_before' );
+                                               ?>
+
+                                               <?php get_template_part( 'content', 'page' ); ?>
+
+                                               <?php
+                                               /**
+                                                * Bottom of content hook.
+                                                *
+                                                * @hooked shop_isle_display_comments - 10
+                                                */
+                                               do_action( 'shop_isle_page_after' );
+                                               ?>
+
+                                       <?php endwhile; ?>
+                                       
+                                       </div>
+                                       
+                               </div> <!-- .row -->    
+
+                       </div>
+               </section>
+               <!-- Pricing end -->
+
+
+<?php get_footer(); ?>
diff --git a/templates/shop-isle/template-pagebuilder-blank.php b/templates/shop-isle/template-pagebuilder-blank.php
new file mode 100644 (file)
index 0000000..6cb3da9
--- /dev/null
@@ -0,0 +1,21 @@
+<?php
+/**
+ * Template Name: Page Builder Blank
+ *
+ * The template for the page builder blank.
+ *
+ * @package Shop Isle
+ * @author Themeisle
+ */ ?>
+
+<?php
+shop_isle_no_content_get_header();
+do_action( 'shop_isle_page_builder_blank_before_content' );
+if ( have_posts() ) :
+       while ( have_posts() ) :
+               the_post();
+               get_template_part( 'content', 'pagebuilder' );
+       endwhile;
+endif;
+do_action( 'shop_isle_page_builder_blank_after_content' );
+shop_isle_no_content_get_footer();
diff --git a/templates/shop-isle/template-pagebuilder-full-width.php b/templates/shop-isle/template-pagebuilder-full-width.php
new file mode 100644 (file)
index 0000000..4368156
--- /dev/null
@@ -0,0 +1,29 @@
+<?php
+/**
+ * Template Name: Page Builder Full Width
+ *
+ * The template for the page builder full-width.
+ *
+ * It contains header, footer and 100% content width.
+ *
+ * @package Shop Isle
+ * @author Themeisle
+ */
+get_header(); ?>
+
+<?php do_action( 'shop_isle_page_builder_full_before_content' ); ?>
+
+       <div class="main">
+               <?php
+               if ( have_posts() ) :
+                       while ( have_posts() ) :
+                               the_post();
+                               get_template_part( 'content', 'pagebuilder' );
+                       endwhile;
+               endif;
+               ?>
+       </div>
+
+<?php do_action( 'shop_isle_page_builder_full_after_content' ); ?>
+
+<?php get_footer(); ?>
diff --git a/templates/shop-isle/wpml-config.xml b/templates/shop-isle/wpml-config.xml
new file mode 100644 (file)
index 0000000..083a316
--- /dev/null
@@ -0,0 +1,46 @@
+<wpml-config>
+       <admin-texts>
+               <key name="theme_mods_shop-isle-pro">
+                       <key name="shop_isle_blog_header_title" />
+                       <key name="shop_isle_blog_header_subtitle" />
+                       <key name="shop_isle_homepage_slider_shortcode" />
+                       <key name="shop_isle_banners_title" />
+                       <key name="shop_isle_products_title" />
+                       <key name="shop_isle_products_shortcode" />
+                       <key name="shop_isle_products_category" />
+                       <key name="shop_isle_video_title" />
+                       <key name="shop_isle_yt_link" />
+                       <key name="shop_isle_yt_thumbnail" />
+                       <key name="shop_isle_video_section_padding" />
+                       <key name="shop_isle_services_title" />
+                       <key name="shop_isle_services_subtitle" />
+                       <key name="shop_isle_ribbon_background" />
+                       <key name="shop_isle_ribbon_text" />
+                       <key name="shop_isle_ribbon_button_text" />
+                       <key name="shop_isle_ribbon_button_link" />
+                       <key name="shop_isle_products_slider_title" />
+                       <key name="shop_isle_products_slider_subtitle" />
+                       <key name="shop_isle_products_slider_category" />
+                       <key name="shop_isle_map_shortcode" />
+                       <key name="shop_isle_fp_categories_title" />
+                       <key name="shop_isle_fp_categories_subtitle" />
+                       <key name="shop_isle_fp_categories_list" />
+                       <key name="shop_isle_copyright" />
+                       <key name="shop_isle_font_size" />
+                       <key name="shop_isle_404_background" />
+                       <key name="shop_isle_404_title" />
+                       <key name="shop_isle_404_text" />
+                       <key name="shop_isle_404_link" />
+                       <key name="shop_isle_404_label" />
+                       <key name="shop_isle_contact_page_form_shortcode" />
+                       <key name="shop_isle_contact_page_map_shortcode" />
+                       <key name="shop_isle_our_team_title" />
+                       <key name="shop_isle_our_team_subtitle" />
+                       <key name="shop_isle_about_page_video_title" />
+                       <key name="shop_isle_about_page_video_subtitle" />
+                       <key name="shop_isle_about_page_video_background" />
+                       <key name="shop_isle_about_page_video_link" />
+                       <key name="shop_isle_our_advantages_title" />
+               </key>
+       </admin-texts>
+</wpml-config>