diff --git a/CHANGELOG.md b/CHANGELOG.md index da993fb921..8e0230fbc7 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,68 @@ +5.3.0 (2018-05-29) +------------------ + +Added: +* Core: Re-add some lost functionality of the ckeditor link plugin [#2539](https://github.com/forkcms/forkcms/pull/2539) +* Core: Re-add internal pages to the ckeditor link plugin [#2499](https://github.com/forkcms/forkcms/pull/2499) +* Blog: Set a label and for attribute for each form field in blog add/edit action [#2505](https://github.com/forkcms/forkcms/pull/2505) +* Core: Set aria label on subnavigation based on the active page [#2501](https://github.com/forkcms/forkcms/pull/2501) +* Locale: Polish language [#2520](https://github.com/forkcms/forkcms/pull/2520) +* Location: Service for geolocation [#2525](https://github.com/forkcms/forkcms/pull/2525) + +Changed: +* Core: Add screen readers only guiding text for the breadcrumbs [#2542](https://github.com/forkcms/forkcms/pull/2542) +* Core: Increase log level for the dockerstdout since the logs are showing up in the console commands [#2548](https://github.com/forkcms/forkcms/pull/2548) +* Core: updated the included composer packages [#2547](https://github.com/forkcms/forkcms/pull/2547) +* Core: updated the included javascript packages [#2549](https://github.com/forkcms/forkcms/pull/2549) +* Core: Use type button on buttons that trigger modals [#2523](https://github.com/forkcms/forkcms/pull/2523) +* Blog: Add the tags to the blogpost in the frontend in the model instead of the action [#2486](https://github.com/forkcms/forkcms/pull/2486) +* Dashboard: Make the links bolder for accessibility reasons [#2536](https://github.com/forkcms/forkcms/pull/2536) +* FormBuilder: Use CurlPost for Google Recaptcha [#2532](https://github.com/forkcms/forkcms/pull/2532) +* Pages: Improve accessibility of the block buttons [#2500](https://github.com/forkcms/forkcms/pull/2500) +* Pages: Simplify PageBlock title and description [#2518](https://github.com/forkcms/forkcms/pull/2518) +* Tags: Improve accessibility of the tags input field [#2506](https://github.com/forkcms/forkcms/pull/2506) + +Removed: +* Tests: Disable console debug logging when running tests [#2511](https://github.com/forkcms/forkcms/pull/2511) + +Fixed: +* Core: Increase z-index of the alerts [#2550](https://github.com/forkcms/forkcms/pull/2550) +* Analytics: Fix for Backend Analytics Charts [#2526](https://github.com/forkcms/forkcms/pull/2526) +* Docker: Fix docker image not building because libpng12-dev changed its name to libpng-dev [#2543](https://github.com/forkcms/forkcms/pull/2543) +* Docs: Update 06. blocks_and_widgets.md [#2531](https://github.com/forkcms/forkcms/pull/2531) +* FormBuilder: Fix error when we don't store the responses in the database [#2535](https://github.com/forkcms/forkcms/pull/2535) +* Groups: Fix tabbing to the permissions pannels [#2537](https://github.com/forkcms/forkcms/pull/2537) +* Location: Only copy the location widgets to an other locale if the Location module is installed [#2522](https://github.com/forkcms/forkcms/pull/2522) +* Mailmotor: Add missing import for the macro's on the settings page [#2538](https://github.com/forkcms/forkcms/pull/2538) +* Mailmotor: Fix errors showing up in the logs after installing [#2545](https://github.com/forkcms/forkcms/pull/2545) + +Security: +* Core: Add referrer security header [#2483](https://github.com/forkcms/forkcms/pull/2483) + + +5.2.3 (2018-03-28) +------------------ + +Bugfixes: +* Core: Add missing toggle navigation label in the frontend [#2493](https://github.com/forkcms/forkcms/pull/2493) +* Core: Don't add the language to the home url if it is a single language site [#2516](https://github.com/forkcms/forkcms/pull/2516) +* Core: Remove role tree that prevent screenreaders to use the page [#2504](https://github.com/forkcms/forkcms/pull/2504) +* Analytics: Track mailto links as external links [#2513](https://github.com/forkcms/forkcms/pull/2513) +* Blog: Dont ask to comment if commenting is not allowed [#2496](https://github.com/forkcms/forkcms/pull/2496) +* Blog: Fix overview pages in blog module showing 404's when there are no blog posts [#2481](https://github.com/forkcms/forkcms/pull/2481) +* Blog: Make it possible to add extra blog image sizes [#2467](https://github.com/forkcms/forkcms/pull/2467) +* Blog: Update Category.html.twig if article with image too short [#2498](https://github.com/forkcms/forkcms/pull/2498) +* Extensions: Fix button colour to save the theme template [#2487](https://github.com/forkcms/forkcms/pull/2487) +* Groups: Delete entries linked to a deleted group [#2507](https://github.com/forkcms/forkcms/pull/2507) +* Groups: Fix check if user belongs to a certain group [#2508](https://github.com/forkcms/forkcms/pull/2508) +* Mailmotor: Use the symfony form in the template instead of plain html [#2468](https://github.com/forkcms/forkcms/pull/2468) +* MediaLibrary: Fix sorting media widgets alphabetically [#2472](https://github.com/forkcms/forkcms/pull/2472) +* Pages: Don't load images that don't exist [#2515](https://github.com/forkcms/forkcms/pull/2515) +* Profiles: Ensure getRandomString() returns a string with the requested length [#2503](https://github.com/forkcms/forkcms/pull/2503) +* Profiles: Use the correct macro for the buttons [#2502](https://github.com/forkcms/forkcms/pull/2502) +* Tags: Tags should be case insensitive unique [#2479](https://github.com/forkcms/forkcms/pull/2479) + + 5.2.2 (2018-02-14) ------------------ diff --git a/Dockerfile b/Dockerfile index ec9dc483c3..4e02e28b48 100644 --- a/Dockerfile +++ b/Dockerfile @@ -8,7 +8,7 @@ RUN a2enmod rewrite RUN apt-get update && apt-get install -y --no-install-recommends \ libfreetype6-dev \ libjpeg62-turbo-dev \ - libpng12-dev && \ + libpng-dev && \ docker-php-ext-configure gd --with-freetype-dir=/usr/include/ --with-jpeg-dir=/usr/include/ && \ docker-php-ext-install -j$(nproc) gd && \ rm -rf /var/lib/apt/lists/* diff --git a/VERSION.md b/VERSION.md index ce7f2b425b..03f488b076 100644 --- a/VERSION.md +++ b/VERSION.md @@ -1 +1 @@ -5.2.2 +5.3.0 diff --git a/app/Kernel.php b/app/Kernel.php index c5a8268f17..75b3efa1b2 100644 --- a/app/Kernel.php +++ b/app/Kernel.php @@ -184,7 +184,7 @@ private function getInstalledModules(ContainerBuilder $containerBuilder): array return $moduleNames; } - private function isInstallingModule(): bool + public function isInstallingModule(): bool { return preg_match('/\/private(\/\w\w)?\/extensions\/install_module\?/', $this->request->getRequestUri()) && $this->request->query->has('module') diff --git a/app/config/config.yml b/app/config/config.yml index 74b3274731..6d7fb03862 100644 --- a/app/config/config.yml +++ b/app/config/config.yml @@ -198,6 +198,11 @@ services: tags: - { name: kernel.event_listener, event: kernel.response, method: onKernelResponse } + ForkCMS\Utility\Geolocation: + public: true + arguments: + - "@fork.settings" + templating: class: Frontend\Core\Engine\TwigTemplate public: true diff --git a/app/config/config_dev.yml b/app/config/config_dev.yml index 87b17af045..84d85ae330 100644 --- a/app/config/config_dev.yml +++ b/app/config/config_dev.yml @@ -16,7 +16,7 @@ monolog: dockerstdout: type: stream path: php://stdout - level: debug + level: error formatter: monolog.full_trace_formatter channels: ["!event"] diff --git a/app/config/config_test.yml b/app/config/config_test.yml index 5eda259dd4..99928008fe 100644 --- a/app/config/config_test.yml +++ b/app/config/config_test.yml @@ -36,3 +36,8 @@ services: - "%database.port%" calls: - [ setDebug, [ "%kernel.debug%" ]] + +monolog: + handlers: + main: + type: 'null' diff --git a/app/config/parameters.yml.dist b/app/config/parameters.yml.dist index 7f414525a7..1d20e50c86 100644 --- a/app/config/parameters.yml.dist +++ b/app/config/parameters.yml.dist @@ -10,7 +10,7 @@ parameters: fork.debug_email: fork.debug_message: 'Internal error.' - fork.version: '5.2.2' + fork.version: '5.3.0' site.protocol: site.domain: diff --git a/app/config/parameters.yml.travis b/app/config/parameters.yml.travis index 0fac912813..8e78970851 100644 --- a/app/config/parameters.yml.travis +++ b/app/config/parameters.yml.travis @@ -10,7 +10,7 @@ parameters: fork.debug_email: '' fork.debug_message: 'Internal error.' - fork.version: '5.2.2' + fork.version: '5.3.0' site.protocol: http site.domain: fork.local diff --git a/app/config/parameters_install.yml b/app/config/parameters_install.yml index 03fc32c9cc..024491ed26 100644 --- a/app/config/parameters_install.yml +++ b/app/config/parameters_install.yml @@ -10,7 +10,7 @@ parameters: fork.debug_email: noreply@fork.com fork.debug_message: 'Internal error.' - fork.version: '5.2.2' + fork.version: '5.3.0' site.protocol: site.domain: diff --git a/composer.json b/composer.json index bed9fe61b6..f8ce3bd9d0 100644 --- a/composer.json +++ b/composer.json @@ -14,33 +14,34 @@ "license": "MIT", "require": { "php": "^7.1", - "tijsverkoyen/akismet": "1.1.*", - "tijsverkoyen/css-to-inline-styles": "1.5.*", - "matthiasmullie/minify": "~1.3", - "matthiasmullie/scrapbook": "^1.3", - "symfony/symfony": "^3.3", - "symfony/assetic-bundle": "^2.8", - "symfony/swiftmailer-bundle": "^3.0", - "symfony/monolog-bundle": "^3.1", "behat/transliterator": "~1.0", - "google/apiclient": "~1.1.2", - "league/flysystem": "~1.0", "doctrine/doctrine-bundle": "^1.6", "doctrine/orm": "^2.5", - "simple-bus/symfony-bridge": "^4.1", - "simple-bus/doctrine-orm-bridge": "^4.0", - "mailmotor/mailchimp-bundle": "^3.0", + "google/apiclient": "~1.1.2", + "google/recaptcha": "~1.1", + "jeroendesloovere/geolocation-php-api": "^2.1", + "league/flysystem": "~1.0", + "league/flysystem-aws-s3-v3": "^1.0.13", + "league/flysystem-cached-adapter": "^1.0.6", + "liip/imagine-bundle": "^1.7", "mailmotor/campaignmonitor-bundle": "^2.0", + "mailmotor/mailchimp-bundle": "^3.0", "mailmotor/mailmotor-bundle": "^3.0", + "matthiasmullie/minify": "~1.3", + "matthiasmullie/scrapbook": "^1.3", + "pimple/pimple": "^3.2", "ramsey/uuid": "^3.5", "ramsey/uuid-doctrine": "^1.2", - "liip/imagine-bundle": "^1.7", - "swiftmailer/swiftmailer": "^6.0", - "google/recaptcha": "~1.1", + "simple-bus/doctrine-orm-bridge": "^4.0", + "simple-bus/symfony-bridge": "^4.1", "spoon/library": "^3.0", - "league/flysystem-aws-s3-v3": "^1.0.13", - "league/flysystem-cached-adapter": "^1.0.6", - "pimple/pimple": "^3.2" + "swiftmailer/swiftmailer": "^6.0", + "symfony/assetic-bundle": "^2.8", + "symfony/monolog-bundle": "^3.1", + "symfony/swiftmailer-bundle": "^3.0", + "symfony/symfony": "^3.3", + "tijsverkoyen/akismet": "1.1.*", + "tijsverkoyen/css-to-inline-styles": "1.5.*" }, "require-dev": { "jdorn/sql-formatter": "1.2.17", diff --git a/composer.lock b/composer.lock index 4255874de8..188634e6ab 100644 --- a/composer.lock +++ b/composer.lock @@ -4,20 +4,20 @@ "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#composer-lock-the-lock-file", "This file is @generated automatically" ], - "content-hash": "e61d3f75fbcb5b0412b6e5c72721db89", + "content-hash": "c3aef5510dd9694088aa72eda5b73efa", "packages": [ { "name": "aws/aws-sdk-php", - "version": "3.52.0", + "version": "3.57.1", "source": { "type": "git", "url": "https://github.com/aws/aws-sdk-php.git", - "reference": "1bc98d7f1f4b6ffb3c54d6a854d5ee5b7137e220" + "reference": "795332f5f3a81474e85653e62d1d7b306bd4eeae" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/aws/aws-sdk-php/zipball/1bc98d7f1f4b6ffb3c54d6a854d5ee5b7137e220", - "reference": "1bc98d7f1f4b6ffb3c54d6a854d5ee5b7137e220", + "url": "https://api.github.com/repos/aws/aws-sdk-php/zipball/795332f5f3a81474e85653e62d1d7b306bd4eeae", + "reference": "795332f5f3a81474e85653e62d1d7b306bd4eeae", "shasum": "" }, "require": { @@ -84,20 +84,20 @@ "s3", "sdk" ], - "time": "2018-01-22T22:20:45+00:00" + "time": "2018-05-25T21:34:30+00:00" }, { "name": "beberlei/assert", - "version": "v2.8.1", + "version": "v2.9.5", "source": { "type": "git", "url": "https://github.com/beberlei/assert.git", - "reference": "fd8dc8f6de4645ccf4d1a0b38a6b8fdaf2e8b337" + "reference": "c07fe163d6a3b3e4b1275981ec004397954afa89" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/beberlei/assert/zipball/fd8dc8f6de4645ccf4d1a0b38a6b8fdaf2e8b337", - "reference": "fd8dc8f6de4645ccf4d1a0b38a6b8fdaf2e8b337", + "url": "https://api.github.com/repos/beberlei/assert/zipball/c07fe163d6a3b3e4b1275981ec004397954afa89", + "reference": "c07fe163d6a3b3e4b1275981ec004397954afa89", "shasum": "" }, "require": { @@ -139,7 +139,7 @@ "assertion", "validation" ], - "time": "2017-11-30T13:25:15+00:00" + "time": "2018-04-16T11:18:27+00:00" }, { "name": "behat/transliterator", @@ -527,16 +527,16 @@ }, { "name": "doctrine/dbal", - "version": "v2.6.3", + "version": "v2.7.1", "source": { "type": "git", "url": "https://github.com/doctrine/dbal.git", - "reference": "e3eed9b1facbb0ced3a0995244843a189e7d1b13" + "reference": "11037b4352c008373561dc6fc836834eed80c3b5" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/doctrine/dbal/zipball/e3eed9b1facbb0ced3a0995244843a189e7d1b13", - "reference": "e3eed9b1facbb0ced3a0995244843a189e7d1b13", + "url": "https://api.github.com/repos/doctrine/dbal/zipball/11037b4352c008373561dc6fc836834eed80c3b5", + "reference": "11037b4352c008373561dc6fc836834eed80c3b5", "shasum": "" }, "require": { @@ -545,9 +545,11 @@ "php": "^7.1" }, "require-dev": { - "phpunit/phpunit": "^5.4.6", + "doctrine/coding-standard": "^4.0", + "phpunit/phpunit": "^7.0", "phpunit/phpunit-mock-objects": "!=3.2.4,!=3.2.5", - "symfony/console": "2.*||^3.0" + "symfony/console": "^2.0.5||^3.0", + "symfony/phpunit-bridge": "^3.4.5|^4.0.5" }, "suggest": { "symfony/console": "For helpful console commands such as SQL execution and import of files." @@ -558,7 +560,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-master": "2.6.x-dev" + "dev-master": "2.7.x-dev" } }, "autoload": { @@ -596,20 +598,20 @@ "persistence", "queryobject" ], - "time": "2017-11-19T13:38:54+00:00" + "time": "2018-04-07T18:44:18+00:00" }, { "name": "doctrine/doctrine-bundle", - "version": "1.8.1", + "version": "1.9.1", "source": { "type": "git", "url": "https://github.com/doctrine/DoctrineBundle.git", - "reference": "eb6e4fb904a459be28872765ab6e2d246aac7c87" + "reference": "703fad32e4c8cbe609caf45a71a1d4266c830f0f" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/doctrine/DoctrineBundle/zipball/eb6e4fb904a459be28872765ab6e2d246aac7c87", - "reference": "eb6e4fb904a459be28872765ab6e2d246aac7c87", + "url": "https://api.github.com/repos/doctrine/DoctrineBundle/zipball/703fad32e4c8cbe609caf45a71a1d4266c830f0f", + "reference": "703fad32e4c8cbe609caf45a71a1d4266c830f0f", "shasum": "" }, "require": { @@ -620,13 +622,13 @@ "symfony/console": "~2.7|~3.0|~4.0", "symfony/dependency-injection": "~2.7|~3.0|~4.0", "symfony/doctrine-bridge": "~2.7|~3.0|~4.0", - "symfony/framework-bundle": "~2.7|~3.0|~4.0" + "symfony/framework-bundle": "^2.7.22|~3.0|~4.0" }, "conflict": { "symfony/http-foundation": "<2.6" }, "require-dev": { - "doctrine/orm": "~2.3", + "doctrine/orm": "~2.4", "phpunit/phpunit": "^4.8.36|^5.7|^6.4", "satooshi/php-coveralls": "^1.0", "symfony/phpunit-bridge": "~2.7|~3.0|~4.0", @@ -681,43 +683,43 @@ "orm", "persistence" ], - "time": "2017-11-24T13:09:19+00:00" + "time": "2018-04-19T14:07:39+00:00" }, { "name": "doctrine/doctrine-cache-bundle", - "version": "1.3.2", + "version": "1.3.3", "source": { "type": "git", "url": "https://github.com/doctrine/DoctrineCacheBundle.git", - "reference": "9baecbd6bfdd1123b0cf8c1b88fee0170a84ddd1" + "reference": "4c8e363f96427924e7e519c5b5119b4f54512697" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/doctrine/DoctrineCacheBundle/zipball/9baecbd6bfdd1123b0cf8c1b88fee0170a84ddd1", - "reference": "9baecbd6bfdd1123b0cf8c1b88fee0170a84ddd1", + "url": "https://api.github.com/repos/doctrine/DoctrineCacheBundle/zipball/4c8e363f96427924e7e519c5b5119b4f54512697", + "reference": "4c8e363f96427924e7e519c5b5119b4f54512697", "shasum": "" }, "require": { "doctrine/cache": "^1.4.2", "doctrine/inflector": "~1.0", "php": ">=5.3.2", - "symfony/doctrine-bridge": "~2.2|~3.0|~4.0" + "symfony/doctrine-bridge": "~2.7|~3.3|~4.0" }, "require-dev": { "instaclick/coding-standard": "~1.1", "instaclick/object-calisthenics-sniffs": "dev-master", "instaclick/symfony2-coding-standard": "dev-remaster", - "phpunit/phpunit": "~4", + "phpunit/phpunit": "~4|~5", "predis/predis": "~0.8", "satooshi/php-coveralls": "^1.0", "squizlabs/php_codesniffer": "~1.5", - "symfony/console": "~2.2|~3.0|~4.0", - "symfony/finder": "~2.2|~3.0|~4.0", - "symfony/framework-bundle": "~2.2|~3.0|~4.0", - "symfony/phpunit-bridge": "~2.7|~3.0|~4.0", - "symfony/security-acl": "~2.3|~3.0", - "symfony/validator": "~2.2|~3.0|~4.0", - "symfony/yaml": "~2.2|~3.0|~4.0" + "symfony/console": "~2.7|~3.3|~4.0", + "symfony/finder": "~2.7|~3.3|~4.0", + "symfony/framework-bundle": "~2.7|~3.3|~4.0", + "symfony/phpunit-bridge": "~2.7|~3.3|~4.0", + "symfony/security-acl": "~2.7|~3.3", + "symfony/validator": "~2.7|~3.3|~4.0", + "symfony/yaml": "~2.7|~3.3|~4.0" }, "suggest": { "symfony/security-acl": "For using this bundle to cache ACLs" @@ -769,7 +771,7 @@ "cache", "caching" ], - "time": "2017-10-12T17:23:29+00:00" + "time": "2018-03-27T09:22:12+00:00" }, { "name": "doctrine/inflector", @@ -948,16 +950,16 @@ }, { "name": "doctrine/orm", - "version": "v2.6.0", + "version": "v2.6.1", "source": { "type": "git", "url": "https://github.com/doctrine/doctrine2.git", - "reference": "374e7ace49d864dad8cddbc55346447c8a6a2083" + "reference": "87ee409783a4a322b5597ebaae558661404055a7" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/doctrine/doctrine2/zipball/374e7ace49d864dad8cddbc55346447c8a6a2083", - "reference": "374e7ace49d864dad8cddbc55346447c8a6a2083", + "url": "https://api.github.com/repos/doctrine/doctrine2/zipball/87ee409783a4a322b5597ebaae558661404055a7", + "reference": "87ee409783a4a322b5597ebaae558661404055a7", "shasum": "" }, "require": { @@ -1026,7 +1028,7 @@ "database", "orm" ], - "time": "2017-12-20T00:38:15+00:00" + "time": "2018-02-27T07:30:56+00:00" }, { "name": "egulias/email-validator", @@ -1229,16 +1231,16 @@ }, { "name": "guzzlehttp/guzzle", - "version": "6.3.0", + "version": "6.3.3", "source": { "type": "git", "url": "https://github.com/guzzle/guzzle.git", - "reference": "f4db5a78a5ea468d4831de7f0bf9d9415e348699" + "reference": "407b0cb880ace85c9b63c5f9551db498cb2d50ba" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/guzzle/guzzle/zipball/f4db5a78a5ea468d4831de7f0bf9d9415e348699", - "reference": "f4db5a78a5ea468d4831de7f0bf9d9415e348699", + "url": "https://api.github.com/repos/guzzle/guzzle/zipball/407b0cb880ace85c9b63c5f9551db498cb2d50ba", + "reference": "407b0cb880ace85c9b63c5f9551db498cb2d50ba", "shasum": "" }, "require": { @@ -1248,7 +1250,7 @@ }, "require-dev": { "ext-curl": "*", - "phpunit/phpunit": "^4.0 || ^5.0", + "phpunit/phpunit": "^4.8.35 || ^5.7 || ^6.4 || ^7.0", "psr/log": "^1.0" }, "suggest": { @@ -1257,7 +1259,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-master": "6.2-dev" + "dev-master": "6.3-dev" } }, "autoload": { @@ -1290,7 +1292,7 @@ "rest", "web service" ], - "time": "2017-06-22T18:50:49+00:00" + "time": "2018-04-22T15:46:56+00:00" }, { "name": "guzzlehttp/promises", @@ -1617,6 +1619,56 @@ ], "time": "2014-01-12T16:20:24+00:00" }, + { + "name": "jeroendesloovere/geolocation-php-api", + "version": "2.1.0", + "source": { + "type": "git", + "url": "https://github.com/jeroendesloovere/geolocation-php-api.git", + "reference": "3712172ee434bad4f14abd64a10444a775fd7086" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/jeroendesloovere/geolocation-php-api/zipball/3712172ee434bad4f14abd64a10444a775fd7086", + "reference": "3712172ee434bad4f14abd64a10444a775fd7086", + "shasum": "" + }, + "require": { + "php": ">=7.1" + }, + "require-dev": { + "phpunit/phpunit": "^7.0", + "squizlabs/php_codesniffer": "^3.2" + }, + "type": "library", + "autoload": { + "psr-4": { + "JeroenDesloovere\\Geolocation\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Jeroen Desloovere", + "email": "info@jeroendesloovere.be", + "homepage": "http://jeroendesloovere.be", + "role": "Developer" + } + ], + "description": "This Geolocation PHP class connects to Google Maps API to find latitude/longitude or address.", + "homepage": "https://github.com/jeroendesloovere/geolocation-php-api", + "keywords": [ + "api", + "geolocation", + "google", + "maps", + "php" + ], + "time": "2018-04-13T08:50:24+00:00" + }, { "name": "kriswallsmith/assetic", "version": "v1.4.0", @@ -1696,16 +1748,16 @@ }, { "name": "league/flysystem", - "version": "1.0.41", + "version": "1.0.45", "source": { "type": "git", "url": "https://github.com/thephpleague/flysystem.git", - "reference": "f400aa98912c561ba625ea4065031b7a41e5a155" + "reference": "a99f94e63b512d75f851b181afcdf0ee9ebef7e6" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/thephpleague/flysystem/zipball/f400aa98912c561ba625ea4065031b7a41e5a155", - "reference": "f400aa98912c561ba625ea4065031b7a41e5a155", + "url": "https://api.github.com/repos/thephpleague/flysystem/zipball/a99f94e63b512d75f851b181afcdf0ee9ebef7e6", + "reference": "a99f94e63b512d75f851b181afcdf0ee9ebef7e6", "shasum": "" }, "require": { @@ -1716,12 +1768,13 @@ }, "require-dev": { "ext-fileinfo": "*", - "mockery/mockery": "~0.9", - "phpspec/phpspec": "^2.2", - "phpunit/phpunit": "~4.8" + "phpspec/phpspec": "^3.4", + "phpunit/phpunit": "^5.7" }, "suggest": { "ext-fileinfo": "Required for MimeType", + "ext-ftp": "Allows you to use FTP server storage", + "ext-openssl": "Allows you to use FTPS server storage", "league/flysystem-aws-s3-v2": "Allows you to use S3 storage with AWS SDK v2", "league/flysystem-aws-s3-v3": "Allows you to use S3 storage with AWS SDK v3", "league/flysystem-azure": "Allows you to use Windows Azure Blob storage", @@ -1775,20 +1828,20 @@ "sftp", "storage" ], - "time": "2017-08-06T17:41:04+00:00" + "time": "2018-05-07T08:44:23+00:00" }, { "name": "league/flysystem-aws-s3-v3", - "version": "1.0.18", + "version": "1.0.19", "source": { "type": "git", "url": "https://github.com/thephpleague/flysystem-aws-s3-v3.git", - "reference": "dc09b19f455750663b922ed52dcc0ff215bed284" + "reference": "f135691ef6761542af301b7c9880f140fb12dc74" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/thephpleague/flysystem-aws-s3-v3/zipball/dc09b19f455750663b922ed52dcc0ff215bed284", - "reference": "dc09b19f455750663b922ed52dcc0ff215bed284", + "url": "https://api.github.com/repos/thephpleague/flysystem-aws-s3-v3/zipball/f135691ef6761542af301b7c9880f140fb12dc74", + "reference": "f135691ef6761542af301b7c9880f140fb12dc74", "shasum": "" }, "require": { @@ -1822,7 +1875,7 @@ } ], "description": "Flysystem adapter for the AWS S3 SDK v3.x", - "time": "2017-06-30T06:29:25+00:00" + "time": "2018-03-27T20:33:59+00:00" }, { "name": "league/flysystem-cached-adapter", @@ -2116,16 +2169,16 @@ }, { "name": "matthiasmullie/minify", - "version": "1.3.58", + "version": "1.3.60", "source": { "type": "git", "url": "https://github.com/matthiasmullie/minify.git", - "reference": "aee56fe6c706662c5991bb1f88cabe19430c60fe" + "reference": "ab7fea80ce5ce6549baaf272bc8bd926a7e08f90" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/matthiasmullie/minify/zipball/aee56fe6c706662c5991bb1f88cabe19430c60fe", - "reference": "aee56fe6c706662c5991bb1f88cabe19430c60fe", + "url": "https://api.github.com/repos/matthiasmullie/minify/zipball/ab7fea80ce5ce6549baaf272bc8bd926a7e08f90", + "reference": "ab7fea80ce5ce6549baaf272bc8bd926a7e08f90", "shasum": "" }, "require": { @@ -2172,20 +2225,20 @@ "minifier", "minify" ], - "time": "2018-01-08T10:01:42+00:00" + "time": "2018-04-18T08:50:35+00:00" }, { "name": "matthiasmullie/path-converter", - "version": "1.1.0", + "version": "1.1.1", "source": { "type": "git", "url": "https://github.com/matthiasmullie/path-converter.git", - "reference": "08551ec1b156e923c242a10ab484bd4d6ead6631" + "reference": "3082a6838be02b930239a97d38b5c9da4d693aca" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/matthiasmullie/path-converter/zipball/08551ec1b156e923c242a10ab484bd4d6ead6631", - "reference": "08551ec1b156e923c242a10ab484bd4d6ead6631", + "url": "https://api.github.com/repos/matthiasmullie/path-converter/zipball/3082a6838be02b930239a97d38b5c9da4d693aca", + "reference": "3082a6838be02b930239a97d38b5c9da4d693aca", "shasum": "" }, "require": { @@ -2221,20 +2274,20 @@ "paths", "relative" ], - "time": "2017-01-26T08:54:49+00:00" + "time": "2018-02-02T11:30:10+00:00" }, { "name": "matthiasmullie/scrapbook", - "version": "1.4.5", + "version": "1.4.6", "source": { "type": "git", "url": "https://github.com/matthiasmullie/scrapbook.git", - "reference": "b5429256f9926849be322532f4357400f72a2462" + "reference": "044ff954e41579ff922ee3341b1695d12bb04840" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/matthiasmullie/scrapbook/zipball/b5429256f9926849be322532f4357400f72a2462", - "reference": "b5429256f9926849be322532f4357400f72a2462", + "url": "https://api.github.com/repos/matthiasmullie/scrapbook/zipball/044ff954e41579ff922ee3341b1695d12bb04840", + "reference": "044ff954e41579ff922ee3341b1695d12bb04840", "shasum": "" }, "require": { @@ -2272,12 +2325,12 @@ { "name": "Matthias Mullie", "email": "scrapbook@mullie.eu", - "homepage": "http://www.mullie.eu", + "homepage": "https://www.mullie.eu", "role": "Developer" } ], - "description": "Scrapbook is a caching environment for PHP, with adapters for e.g. Memcached, Redis, Couchbase, APC, SQL and additional capabilities (e.g. transactions, stampede protection) built on top.", - "homepage": "http://scrapbook.cash", + "description": "Scrapbook is a PHP cache library, with adapters for e.g. Memcached, Redis, Couchbase, APC(u), SQL and additional capabilities (e.g. transactions, stampede protection) built on top.", + "homepage": "https://scrapbook.cash", "keywords": [ "Buffer", "Flysystem", @@ -2308,7 +2361,7 @@ "transactional", "value" ], - "time": "2017-12-05T17:26:51+00:00" + "time": "2018-02-14T07:39:26+00:00" }, { "name": "monolog/monolog", @@ -2550,16 +2603,16 @@ }, { "name": "paragonie/random_compat", - "version": "v2.0.11", + "version": "v2.0.12", "source": { "type": "git", "url": "https://github.com/paragonie/random_compat.git", - "reference": "5da4d3c796c275c55f057af5a643ae297d96b4d8" + "reference": "258c89a6b97de7dfaf5b8c7607d0478e236b04fb" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/paragonie/random_compat/zipball/5da4d3c796c275c55f057af5a643ae297d96b4d8", - "reference": "5da4d3c796c275c55f057af5a643ae297d96b4d8", + "url": "https://api.github.com/repos/paragonie/random_compat/zipball/258c89a6b97de7dfaf5b8c7607d0478e236b04fb", + "reference": "258c89a6b97de7dfaf5b8c7607d0478e236b04fb", "shasum": "" }, "require": { @@ -2594,7 +2647,7 @@ "pseudorandom", "random" ], - "time": "2017-09-27T21:40:39+00:00" + "time": "2018-04-04T21:24:14+00:00" }, { "name": "pimple/pimple", @@ -2889,16 +2942,16 @@ }, { "name": "psr/simple-cache", - "version": "1.0.0", + "version": "1.0.1", "source": { "type": "git", "url": "https://github.com/php-fig/simple-cache.git", - "reference": "753fa598e8f3b9966c886fe13f370baa45ef0e24" + "reference": "408d5eafb83c57f6365a3ca330ff23aa4a5fa39b" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/php-fig/simple-cache/zipball/753fa598e8f3b9966c886fe13f370baa45ef0e24", - "reference": "753fa598e8f3b9966c886fe13f370baa45ef0e24", + "url": "https://api.github.com/repos/php-fig/simple-cache/zipball/408d5eafb83c57f6365a3ca330ff23aa4a5fa39b", + "reference": "408d5eafb83c57f6365a3ca330ff23aa4a5fa39b", "shasum": "" }, "require": { @@ -2933,7 +2986,7 @@ "psr-16", "simple-cache" ], - "time": "2017-01-02T13:31:39+00:00" + "time": "2017-10-23T01:57:42+00:00" }, { "name": "ramsey/uuid", @@ -3241,16 +3294,16 @@ }, { "name": "spoon/library", - "version": "3.0.1", + "version": "3.0.3", "source": { "type": "git", "url": "https://github.com/forkcms/library.git", - "reference": "8c7fd824b330603494583e9dab2f202e43c97ce5" + "reference": "30dd35e0ba99f1b4bad4672f376154fc4436019d" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/forkcms/library/zipball/8c7fd824b330603494583e9dab2f202e43c97ce5", - "reference": "8c7fd824b330603494583e9dab2f202e43c97ce5", + "url": "https://api.github.com/repos/forkcms/library/zipball/30dd35e0ba99f1b4bad4672f376154fc4436019d", + "reference": "30dd35e0ba99f1b4bad4672f376154fc4436019d", "shasum": "" }, "require": { @@ -3262,7 +3315,7 @@ "type": "library", "notification-url": "https://packagist.org/downloads/", "license": [ - "BSD" + "BSD-1-Clause" ], "authors": [ { @@ -3272,7 +3325,7 @@ ], "description": "A PHP5 library that is fast, easy to learn and fun!", "homepage": "http://www.spoon-library.com", - "time": "2017-08-03T20:02:47+00:00" + "time": "2018-05-16T11:46:44+00:00" }, { "name": "swiftmailer/swiftmailer", @@ -3397,20 +3450,21 @@ "compression", "minification" ], + "abandoned": "symfony/webpack-encore-pack", "time": "2017-07-14T07:26:46+00:00" }, { "name": "symfony/monolog-bundle", - "version": "v3.1.2", + "version": "v3.2.0", "source": { "type": "git", "url": "https://github.com/symfony/monolog-bundle.git", - "reference": "2b41b8b6d2c6edb1a5494f02f8e4129be2a44784" + "reference": "8781649349fe418d51d194f8c9d212c0b97c40dd" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/monolog-bundle/zipball/2b41b8b6d2c6edb1a5494f02f8e4129be2a44784", - "reference": "2b41b8b6d2c6edb1a5494f02f8e4129be2a44784", + "url": "https://api.github.com/repos/symfony/monolog-bundle/zipball/8781649349fe418d51d194f8c9d212c0b97c40dd", + "reference": "8781649349fe418d51d194f8c9d212c0b97c40dd", "shasum": "" }, "require": { @@ -3460,20 +3514,20 @@ "log", "logging" ], - "time": "2017-11-06T16:02:17+00:00" + "time": "2018-03-05T14:51:36+00:00" }, { "name": "symfony/polyfill-apcu", - "version": "v1.6.0", + "version": "v1.8.0", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-apcu.git", - "reference": "04f62674339602def515bff4bc6901fc1d4951e8" + "reference": "9b83bd010112ec196410849e840d9b9fefcb15ad" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-apcu/zipball/04f62674339602def515bff4bc6901fc1d4951e8", - "reference": "04f62674339602def515bff4bc6901fc1d4951e8", + "url": "https://api.github.com/repos/symfony/polyfill-apcu/zipball/9b83bd010112ec196410849e840d9b9fefcb15ad", + "reference": "9b83bd010112ec196410849e840d9b9fefcb15ad", "shasum": "" }, "require": { @@ -3482,7 +3536,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-master": "1.6-dev" + "dev-master": "1.8-dev" } }, "autoload": { @@ -3516,20 +3570,75 @@ "portable", "shim" ], - "time": "2017-10-11T12:05:26+00:00" + "time": "2018-04-26T10:06:28+00:00" + }, + { + "name": "symfony/polyfill-ctype", + "version": "v1.8.0", + "source": { + "type": "git", + "url": "https://github.com/symfony/polyfill-ctype.git", + "reference": "7cc359f1b7b80fc25ed7796be7d96adc9b354bae" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/polyfill-ctype/zipball/7cc359f1b7b80fc25ed7796be7d96adc9b354bae", + "reference": "7cc359f1b7b80fc25ed7796be7d96adc9b354bae", + "shasum": "" + }, + "require": { + "php": ">=5.3.3" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.8-dev" + } + }, + "autoload": { + "psr-4": { + "Symfony\\Polyfill\\Ctype\\": "" + }, + "files": [ + "bootstrap.php" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + }, + { + "name": "Gert de Pagter", + "email": "BackEndTea@gmail.com" + } + ], + "description": "Symfony polyfill for ctype functions", + "homepage": "https://symfony.com", + "keywords": [ + "compatibility", + "ctype", + "polyfill", + "portable" + ], + "time": "2018-04-30T19:57:29+00:00" }, { "name": "symfony/polyfill-intl-icu", - "version": "v1.6.0", + "version": "v1.8.0", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-intl-icu.git", - "reference": "d2bb2ef00dd8605d6fbd4db53ed4af1395953497" + "reference": "80ee17ae83c10cd513e5144f91a73607a21edb4e" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-intl-icu/zipball/d2bb2ef00dd8605d6fbd4db53ed4af1395953497", - "reference": "d2bb2ef00dd8605d6fbd4db53ed4af1395953497", + "url": "https://api.github.com/repos/symfony/polyfill-intl-icu/zipball/80ee17ae83c10cd513e5144f91a73607a21edb4e", + "reference": "80ee17ae83c10cd513e5144f91a73607a21edb4e", "shasum": "" }, "require": { @@ -3542,7 +3651,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-master": "1.6-dev" + "dev-master": "1.8-dev" } }, "autoload": { @@ -3574,20 +3683,20 @@ "portable", "shim" ], - "time": "2017-10-11T12:05:26+00:00" + "time": "2018-04-25T14:53:50+00:00" }, { "name": "symfony/polyfill-mbstring", - "version": "v1.6.0", + "version": "v1.8.0", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-mbstring.git", - "reference": "2ec8b39c38cb16674bbf3fea2b6ce5bf117e1296" + "reference": "3296adf6a6454a050679cde90f95350ad604b171" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/2ec8b39c38cb16674bbf3fea2b6ce5bf117e1296", - "reference": "2ec8b39c38cb16674bbf3fea2b6ce5bf117e1296", + "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/3296adf6a6454a050679cde90f95350ad604b171", + "reference": "3296adf6a6454a050679cde90f95350ad604b171", "shasum": "" }, "require": { @@ -3599,7 +3708,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-master": "1.6-dev" + "dev-master": "1.8-dev" } }, "autoload": { @@ -3633,20 +3742,20 @@ "portable", "shim" ], - "time": "2017-10-11T12:05:26+00:00" + "time": "2018-04-26T10:06:28+00:00" }, { "name": "symfony/polyfill-php56", - "version": "v1.6.0", + "version": "v1.8.0", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-php56.git", - "reference": "265fc96795492430762c29be291a371494ba3a5b" + "reference": "af98553c84912459db3f636329567809d639a8f6" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-php56/zipball/265fc96795492430762c29be291a371494ba3a5b", - "reference": "265fc96795492430762c29be291a371494ba3a5b", + "url": "https://api.github.com/repos/symfony/polyfill-php56/zipball/af98553c84912459db3f636329567809d639a8f6", + "reference": "af98553c84912459db3f636329567809d639a8f6", "shasum": "" }, "require": { @@ -3656,7 +3765,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-master": "1.6-dev" + "dev-master": "1.8-dev" } }, "autoload": { @@ -3689,20 +3798,20 @@ "portable", "shim" ], - "time": "2017-10-11T12:05:26+00:00" + "time": "2018-04-26T10:06:28+00:00" }, { "name": "symfony/polyfill-php70", - "version": "v1.6.0", + "version": "v1.8.0", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-php70.git", - "reference": "0442b9c0596610bd24ae7b5f0a6cdbbc16d9fcff" + "reference": "77454693d8f10dd23bb24955cffd2d82db1007a6" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-php70/zipball/0442b9c0596610bd24ae7b5f0a6cdbbc16d9fcff", - "reference": "0442b9c0596610bd24ae7b5f0a6cdbbc16d9fcff", + "url": "https://api.github.com/repos/symfony/polyfill-php70/zipball/77454693d8f10dd23bb24955cffd2d82db1007a6", + "reference": "77454693d8f10dd23bb24955cffd2d82db1007a6", "shasum": "" }, "require": { @@ -3712,7 +3821,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-master": "1.6-dev" + "dev-master": "1.8-dev" } }, "autoload": { @@ -3748,20 +3857,20 @@ "portable", "shim" ], - "time": "2017-10-11T12:05:26+00:00" + "time": "2018-04-26T10:06:28+00:00" }, { "name": "symfony/polyfill-util", - "version": "v1.6.0", + "version": "v1.8.0", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-util.git", - "reference": "6e719200c8e540e0c0effeb31f96bdb344b94176" + "reference": "1a5ad95d9436cbff3296034fe9f8d586dce3fb3a" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-util/zipball/6e719200c8e540e0c0effeb31f96bdb344b94176", - "reference": "6e719200c8e540e0c0effeb31f96bdb344b94176", + "url": "https://api.github.com/repos/symfony/polyfill-util/zipball/1a5ad95d9436cbff3296034fe9f8d586dce3fb3a", + "reference": "1a5ad95d9436cbff3296034fe9f8d586dce3fb3a", "shasum": "" }, "require": { @@ -3770,7 +3879,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-master": "1.6-dev" + "dev-master": "1.8-dev" } }, "autoload": { @@ -3800,20 +3909,20 @@ "polyfill", "shim" ], - "time": "2017-10-11T12:05:26+00:00" + "time": "2018-04-26T10:06:28+00:00" }, { "name": "symfony/swiftmailer-bundle", - "version": "v3.1.6", + "version": "v3.2.2", "source": { "type": "git", "url": "https://github.com/symfony/swiftmailer-bundle.git", - "reference": "9728097df87e76e2db71fc41fd7d211c06daea3e" + "reference": "f1ba0552a9cd4df0191a58845fbd5541cf9eda2d" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/swiftmailer-bundle/zipball/9728097df87e76e2db71fc41fd7d211c06daea3e", - "reference": "9728097df87e76e2db71fc41fd7d211c06daea3e", + "url": "https://api.github.com/repos/symfony/swiftmailer-bundle/zipball/f1ba0552a9cd4df0191a58845fbd5541cf9eda2d", + "reference": "f1ba0552a9cd4df0191a58845fbd5541cf9eda2d", "shasum": "" }, "require": { @@ -3835,7 +3944,7 @@ "type": "symfony-bundle", "extra": { "branch-alias": { - "dev-master": "3.1-dev" + "dev-master": "3.2-dev" } }, "autoload": { @@ -3862,20 +3971,20 @@ ], "description": "Symfony SwiftmailerBundle", "homepage": "http://symfony.com", - "time": "2017-10-23T15:15:11+00:00" + "time": "2018-04-03T16:29:41+00:00" }, { "name": "symfony/symfony", - "version": "v3.4.3", + "version": "v3.4.11", "source": { "type": "git", "url": "https://github.com/symfony/symfony.git", - "reference": "21abeae69baf64d689b04ca33663b4354be1a226" + "reference": "8eb567d8398ce31a402ea8db3e6b5b1faf121cbc" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/symfony/zipball/21abeae69baf64d689b04ca33663b4354be1a226", - "reference": "21abeae69baf64d689b04ca33663b4354be1a226", + "url": "https://api.github.com/repos/symfony/symfony/zipball/8eb567d8398ce31a402ea8db3e6b5b1faf121cbc", + "reference": "8eb567d8398ce31a402ea8db3e6b5b1faf121cbc", "shasum": "" }, "require": { @@ -3889,11 +3998,11 @@ "psr/log": "~1.0", "psr/simple-cache": "^1.0", "symfony/polyfill-apcu": "~1.1", + "symfony/polyfill-ctype": "~1.8", "symfony/polyfill-intl-icu": "~1.0", "symfony/polyfill-mbstring": "~1.0", "symfony/polyfill-php56": "~1.0", "symfony/polyfill-php70": "~1.6", - "symfony/polyfill-util": "~1.0", "twig/twig": "^1.35|^2.4.4" }, "conflict": { @@ -4017,7 +4126,7 @@ "keywords": [ "framework" ], - "time": "2018-01-05T08:33:31+00:00" + "time": "2018-05-25T13:16:49+00:00" }, { "name": "tijsverkoyen/akismet", @@ -4107,16 +4216,16 @@ }, { "name": "twig/twig", - "version": "v2.4.4", + "version": "v2.4.8", "source": { "type": "git", "url": "https://github.com/twigphp/Twig.git", - "reference": "eddb97148ad779f27e670e1e3f19fb323aedafeb" + "reference": "7b604c89da162034bdf4bb66310f358d313dd16d" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/twigphp/Twig/zipball/eddb97148ad779f27e670e1e3f19fb323aedafeb", - "reference": "eddb97148ad779f27e670e1e3f19fb323aedafeb", + "url": "https://api.github.com/repos/twigphp/Twig/zipball/7b604c89da162034bdf4bb66310f358d313dd16d", + "reference": "7b604c89da162034bdf4bb66310f358d313dd16d", "shasum": "" }, "require": { @@ -4125,8 +4234,8 @@ }, "require-dev": { "psr/container": "^1.0", - "symfony/debug": "~2.7", - "symfony/phpunit-bridge": "~3.3@dev" + "symfony/debug": "^2.7", + "symfony/phpunit-bridge": "^3.3" }, "type": "library", "extra": { @@ -4169,7 +4278,7 @@ "keywords": [ "templating" ], - "time": "2017-09-27T18:10:31+00:00" + "time": "2018-04-02T09:24:19+00:00" } ], "packages-dev": [ diff --git a/css/vendors/bootstrap-datepicker3.standalone.min.css b/css/vendors/bootstrap-datepicker3.standalone.min.css index 9726d56ecc..da328c1af9 100644 --- a/css/vendors/bootstrap-datepicker3.standalone.min.css +++ b/css/vendors/bootstrap-datepicker3.standalone.min.css @@ -1,7 +1,7 @@ /*! - * Datepicker for Bootstrap v1.7.0 (https://github.com/uxsolutions/bootstrap-datepicker) + * Datepicker for Bootstrap v1.8.0 (https://github.com/uxsolutions/bootstrap-datepicker) * * Licensed under the Apache License v2.0 (http://www.apache.org/licenses/LICENSE-2.0) */ -.datepicker{border-radius:4px;direction:ltr}.datepicker-inline{width:220px}.datepicker-rtl{direction:rtl}.datepicker-rtl.dropdown-menu{left:auto}.datepicker-rtl table tr td span{float:right}.datepicker-dropdown{top:0;left:0;padding:4px}.datepicker-dropdown:before{content:'';display:inline-block;border-left:7px solid transparent;border-right:7px solid transparent;border-bottom:7px solid rgba(0,0,0,.15);border-top:0;border-bottom-color:rgba(0,0,0,.2);position:absolute}.datepicker-dropdown:after{content:'';display:inline-block;border-left:6px solid transparent;border-right:6px solid transparent;border-bottom:6px solid #fff;border-top:0;position:absolute}.datepicker-dropdown.datepicker-orient-left:before{left:6px}.datepicker-dropdown.datepicker-orient-left:after{left:7px}.datepicker-dropdown.datepicker-orient-right:before{right:6px}.datepicker-dropdown.datepicker-orient-right:after{right:7px}.datepicker-dropdown.datepicker-orient-bottom:before{top:-7px}.datepicker-dropdown.datepicker-orient-bottom:after{top:-6px}.datepicker-dropdown.datepicker-orient-top:before{bottom:-7px;border-bottom:0;border-top:7px solid rgba(0,0,0,.15)}.datepicker-dropdown.datepicker-orient-top:after{bottom:-6px;border-bottom:0;border-top:6px solid #fff}.datepicker table{margin:0;-webkit-touch-callout:none;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.datepicker table tr td,.datepicker table tr th{text-align:center;width:30px;height:30px;border-radius:4px;border:none}.table-striped .datepicker table tr td,.table-striped .datepicker table tr th{background-color:transparent}.datepicker table tr td.new,.datepicker table tr td.old{color:#777}.datepicker table tr td.day:hover,.datepicker table tr td.focused{background:#eee;cursor:pointer}.datepicker table tr td.disabled,.datepicker table tr td.disabled:hover{background:0 0;color:#777;cursor:default}.datepicker table tr td.highlighted{color:#000;background-color:#d9edf7;border-color:#85c5e5;border-radius:0}.datepicker table tr td.highlighted.focus,.datepicker table tr td.highlighted:focus{color:#000;background-color:#afd9ee;border-color:#298fc2}.datepicker table tr td.highlighted:hover{color:#000;background-color:#afd9ee;border-color:#52addb}.datepicker table tr td.highlighted.active,.datepicker table tr td.highlighted:active{color:#000;background-color:#afd9ee;border-color:#52addb}.datepicker table tr td.highlighted.active.focus,.datepicker table tr td.highlighted.active:focus,.datepicker table tr td.highlighted.active:hover,.datepicker table tr td.highlighted:active.focus,.datepicker table tr td.highlighted:active:focus,.datepicker table tr td.highlighted:active:hover{color:#000;background-color:#91cbe8;border-color:#298fc2}.datepicker table tr td.highlighted.disabled.focus,.datepicker table tr td.highlighted.disabled:focus,.datepicker table tr td.highlighted.disabled:hover,.datepicker table tr td.highlighted[disabled].focus,.datepicker table tr td.highlighted[disabled]:focus,.datepicker table tr td.highlighted[disabled]:hover,fieldset[disabled] .datepicker table tr td.highlighted.focus,fieldset[disabled] .datepicker table tr td.highlighted:focus,fieldset[disabled] .datepicker table tr td.highlighted:hover{background-color:#d9edf7;border-color:#85c5e5}.datepicker table tr td.highlighted.focused{background:#afd9ee}.datepicker table tr td.highlighted.disabled,.datepicker table tr td.highlighted.disabled:active{background:#d9edf7;color:#777}.datepicker table tr td.today{color:#000;background-color:#ffdb99;border-color:#ffb733}.datepicker table tr td.today.focus,.datepicker table tr td.today:focus{color:#000;background-color:#ffc966;border-color:#b37400}.datepicker table tr td.today:hover{color:#000;background-color:#ffc966;border-color:#f59e00}.datepicker table tr td.today.active,.datepicker table tr td.today:active{color:#000;background-color:#ffc966;border-color:#f59e00}.datepicker table tr td.today.active.focus,.datepicker table tr td.today.active:focus,.datepicker table tr td.today.active:hover,.datepicker table tr td.today:active.focus,.datepicker table tr td.today:active:focus,.datepicker table tr td.today:active:hover{color:#000;background-color:#ffbc42;border-color:#b37400}.datepicker table tr td.today.disabled.focus,.datepicker table tr td.today.disabled:focus,.datepicker table tr td.today.disabled:hover,.datepicker table tr td.today[disabled].focus,.datepicker table tr td.today[disabled]:focus,.datepicker table tr td.today[disabled]:hover,fieldset[disabled] .datepicker table tr td.today.focus,fieldset[disabled] .datepicker table tr td.today:focus,fieldset[disabled] .datepicker table tr td.today:hover{background-color:#ffdb99;border-color:#ffb733}.datepicker table tr td.today.focused{background:#ffc966}.datepicker table tr td.today.disabled,.datepicker table tr td.today.disabled:active{background:#ffdb99;color:#777}.datepicker table tr td.range{color:#000;background-color:#eee;border-color:#bbb;border-radius:0}.datepicker table tr td.range.focus,.datepicker table tr td.range:focus{color:#000;background-color:#d5d5d5;border-color:#7c7c7c}.datepicker table tr td.range:hover{color:#000;background-color:#d5d5d5;border-color:#9d9d9d}.datepicker table tr td.range.active,.datepicker table tr td.range:active{color:#000;background-color:#d5d5d5;border-color:#9d9d9d}.datepicker table tr td.range.active.focus,.datepicker table tr td.range.active:focus,.datepicker table tr td.range.active:hover,.datepicker table tr td.range:active.focus,.datepicker table tr td.range:active:focus,.datepicker table tr td.range:active:hover{color:#000;background-color:#c3c3c3;border-color:#7c7c7c}.datepicker table tr td.range.disabled.focus,.datepicker table tr td.range.disabled:focus,.datepicker table tr td.range.disabled:hover,.datepicker table tr td.range[disabled].focus,.datepicker table tr td.range[disabled]:focus,.datepicker table tr td.range[disabled]:hover,fieldset[disabled] .datepicker table tr td.range.focus,fieldset[disabled] .datepicker table tr td.range:focus,fieldset[disabled] .datepicker table tr td.range:hover{background-color:#eee;border-color:#bbb}.datepicker table tr td.range.focused{background:#d5d5d5}.datepicker table tr td.range.disabled,.datepicker table tr td.range.disabled:active{background:#eee;color:#777}.datepicker table tr td.range.highlighted{color:#000;background-color:#e4eef3;border-color:#9dc1d3}.datepicker table tr td.range.highlighted.focus,.datepicker table tr td.range.highlighted:focus{color:#000;background-color:#c1d7e3;border-color:#4b88a6}.datepicker table tr td.range.highlighted:hover{color:#000;background-color:#c1d7e3;border-color:#73a6c0}.datepicker table tr td.range.highlighted.active,.datepicker table tr td.range.highlighted:active{color:#000;background-color:#c1d7e3;border-color:#73a6c0}.datepicker table tr td.range.highlighted.active.focus,.datepicker table tr td.range.highlighted.active:focus,.datepicker table tr td.range.highlighted.active:hover,.datepicker table tr td.range.highlighted:active.focus,.datepicker table tr td.range.highlighted:active:focus,.datepicker table tr td.range.highlighted:active:hover{color:#000;background-color:#a8c8d8;border-color:#4b88a6}.datepicker table tr td.range.highlighted.disabled.focus,.datepicker table tr td.range.highlighted.disabled:focus,.datepicker table tr td.range.highlighted.disabled:hover,.datepicker table tr td.range.highlighted[disabled].focus,.datepicker table tr td.range.highlighted[disabled]:focus,.datepicker table tr td.range.highlighted[disabled]:hover,fieldset[disabled] .datepicker table tr td.range.highlighted.focus,fieldset[disabled] .datepicker table tr td.range.highlighted:focus,fieldset[disabled] .datepicker table tr td.range.highlighted:hover{background-color:#e4eef3;border-color:#9dc1d3}.datepicker table tr td.range.highlighted.focused{background:#c1d7e3}.datepicker table tr td.range.highlighted.disabled,.datepicker table tr td.range.highlighted.disabled:active{background:#e4eef3;color:#777}.datepicker table tr td.range.today{color:#000;background-color:#f7ca77;border-color:#f1a417}.datepicker table tr td.range.today.focus,.datepicker table tr td.range.today:focus{color:#000;background-color:#f4b747;border-color:#815608}.datepicker table tr td.range.today:hover{color:#000;background-color:#f4b747;border-color:#bf800c}.datepicker table tr td.range.today.active,.datepicker table tr td.range.today:active{color:#000;background-color:#f4b747;border-color:#bf800c}.datepicker table tr td.range.today.active.focus,.datepicker table tr td.range.today.active:focus,.datepicker table tr td.range.today.active:hover,.datepicker table tr td.range.today:active.focus,.datepicker table tr td.range.today:active:focus,.datepicker table tr td.range.today:active:hover{color:#000;background-color:#f2aa25;border-color:#815608}.datepicker table tr td.range.today.disabled.focus,.datepicker table tr td.range.today.disabled:focus,.datepicker table tr td.range.today.disabled:hover,.datepicker table tr td.range.today[disabled].focus,.datepicker table tr td.range.today[disabled]:focus,.datepicker table tr td.range.today[disabled]:hover,fieldset[disabled] .datepicker table tr td.range.today.focus,fieldset[disabled] .datepicker table tr td.range.today:focus,fieldset[disabled] .datepicker table tr td.range.today:hover{background-color:#f7ca77;border-color:#f1a417}.datepicker table tr td.range.today.disabled,.datepicker table tr td.range.today.disabled:active{background:#f7ca77;color:#777}.datepicker table tr td.selected,.datepicker table tr td.selected.highlighted{color:#fff;background-color:#777;border-color:#555;text-shadow:0 -1px 0 rgba(0,0,0,.25)}.datepicker table tr td.selected.focus,.datepicker table tr td.selected.highlighted.focus,.datepicker table tr td.selected.highlighted:focus,.datepicker table tr td.selected:focus{color:#fff;background-color:#5e5e5e;border-color:#161616}.datepicker table tr td.selected.highlighted:hover,.datepicker table tr td.selected:hover{color:#fff;background-color:#5e5e5e;border-color:#373737}.datepicker table tr td.selected.active,.datepicker table tr td.selected.highlighted.active,.datepicker table tr td.selected.highlighted:active,.datepicker table tr td.selected:active{color:#fff;background-color:#5e5e5e;border-color:#373737}.datepicker table tr td.selected.active.focus,.datepicker table tr td.selected.active:focus,.datepicker table tr td.selected.active:hover,.datepicker table tr td.selected.highlighted.active.focus,.datepicker table tr td.selected.highlighted.active:focus,.datepicker table tr td.selected.highlighted.active:hover,.datepicker table tr td.selected.highlighted:active.focus,.datepicker table tr td.selected.highlighted:active:focus,.datepicker table tr td.selected.highlighted:active:hover,.datepicker table tr td.selected:active.focus,.datepicker table tr td.selected:active:focus,.datepicker table tr td.selected:active:hover{color:#fff;background-color:#4c4c4c;border-color:#161616}.datepicker table tr td.selected.disabled.focus,.datepicker table tr td.selected.disabled:focus,.datepicker table tr td.selected.disabled:hover,.datepicker table tr td.selected.highlighted.disabled.focus,.datepicker table tr td.selected.highlighted.disabled:focus,.datepicker table tr td.selected.highlighted.disabled:hover,.datepicker table tr td.selected.highlighted[disabled].focus,.datepicker table tr td.selected.highlighted[disabled]:focus,.datepicker table tr td.selected.highlighted[disabled]:hover,.datepicker table tr td.selected[disabled].focus,.datepicker table tr td.selected[disabled]:focus,.datepicker table tr td.selected[disabled]:hover,fieldset[disabled] .datepicker table tr td.selected.focus,fieldset[disabled] .datepicker table tr td.selected.highlighted.focus,fieldset[disabled] .datepicker table tr td.selected.highlighted:focus,fieldset[disabled] .datepicker table tr td.selected.highlighted:hover,fieldset[disabled] .datepicker table tr td.selected:focus,fieldset[disabled] .datepicker table tr td.selected:hover{background-color:#777;border-color:#555}.datepicker table tr td.active,.datepicker table tr td.active.highlighted{color:#fff;background-color:#337ab7;border-color:#2e6da4;text-shadow:0 -1px 0 rgba(0,0,0,.25)}.datepicker table tr td.active.focus,.datepicker table tr td.active.highlighted.focus,.datepicker table tr td.active.highlighted:focus,.datepicker table tr td.active:focus{color:#fff;background-color:#286090;border-color:#122b40}.datepicker table tr td.active.highlighted:hover,.datepicker table tr td.active:hover{color:#fff;background-color:#286090;border-color:#204d74}.datepicker table tr td.active.active,.datepicker table tr td.active.highlighted.active,.datepicker table tr td.active.highlighted:active,.datepicker table tr td.active:active{color:#fff;background-color:#286090;border-color:#204d74}.datepicker table tr td.active.active.focus,.datepicker table tr td.active.active:focus,.datepicker table tr td.active.active:hover,.datepicker table tr td.active.highlighted.active.focus,.datepicker table tr td.active.highlighted.active:focus,.datepicker table tr td.active.highlighted.active:hover,.datepicker table tr td.active.highlighted:active.focus,.datepicker table tr td.active.highlighted:active:focus,.datepicker table tr td.active.highlighted:active:hover,.datepicker table tr td.active:active.focus,.datepicker table tr td.active:active:focus,.datepicker table tr td.active:active:hover{color:#fff;background-color:#204d74;border-color:#122b40}.datepicker table tr td.active.disabled.focus,.datepicker table tr td.active.disabled:focus,.datepicker table tr td.active.disabled:hover,.datepicker table tr td.active.highlighted.disabled.focus,.datepicker table tr td.active.highlighted.disabled:focus,.datepicker table tr td.active.highlighted.disabled:hover,.datepicker table tr td.active.highlighted[disabled].focus,.datepicker table tr td.active.highlighted[disabled]:focus,.datepicker table tr td.active.highlighted[disabled]:hover,.datepicker table tr td.active[disabled].focus,.datepicker table tr td.active[disabled]:focus,.datepicker table tr td.active[disabled]:hover,fieldset[disabled] .datepicker table tr td.active.focus,fieldset[disabled] .datepicker table tr td.active.highlighted.focus,fieldset[disabled] .datepicker table tr td.active.highlighted:focus,fieldset[disabled] .datepicker table tr td.active.highlighted:hover,fieldset[disabled] .datepicker table tr td.active:focus,fieldset[disabled] .datepicker table tr td.active:hover{background-color:#337ab7;border-color:#2e6da4}.datepicker table tr td span{display:block;width:23%;height:54px;line-height:54px;float:left;margin:1%;cursor:pointer;border-radius:4px}.datepicker table tr td span.focused,.datepicker table tr td span:hover{background:#eee}.datepicker table tr td span.disabled,.datepicker table tr td span.disabled:hover{background:0 0;color:#777;cursor:default}.datepicker table tr td span.active,.datepicker table tr td span.active.disabled,.datepicker table tr td span.active.disabled:hover,.datepicker table tr td span.active:hover{color:#fff;background-color:#337ab7;border-color:#2e6da4;text-shadow:0 -1px 0 rgba(0,0,0,.25)}.datepicker table tr td span.active.disabled.focus,.datepicker table tr td span.active.disabled:focus,.datepicker table tr td span.active.disabled:hover.focus,.datepicker table tr td span.active.disabled:hover:focus,.datepicker table tr td span.active.focus,.datepicker table tr td span.active:focus,.datepicker table tr td span.active:hover.focus,.datepicker table tr td span.active:hover:focus{color:#fff;background-color:#286090;border-color:#122b40}.datepicker table tr td span.active.disabled:hover,.datepicker table tr td span.active.disabled:hover:hover,.datepicker table tr td span.active:hover,.datepicker table tr td span.active:hover:hover{color:#fff;background-color:#286090;border-color:#204d74}.datepicker table tr td span.active.active,.datepicker table tr td span.active.disabled.active,.datepicker table tr td span.active.disabled:active,.datepicker table tr td span.active.disabled:hover.active,.datepicker table tr td span.active.disabled:hover:active,.datepicker table tr td span.active:active,.datepicker table tr td span.active:hover.active,.datepicker table tr td span.active:hover:active{color:#fff;background-color:#286090;border-color:#204d74}.datepicker table tr td span.active.active.focus,.datepicker table tr td span.active.active:focus,.datepicker table tr td span.active.active:hover,.datepicker table tr td span.active.disabled.active.focus,.datepicker table tr td span.active.disabled.active:focus,.datepicker table tr td span.active.disabled.active:hover,.datepicker table tr td span.active.disabled:active.focus,.datepicker table tr td span.active.disabled:active:focus,.datepicker table tr td span.active.disabled:active:hover,.datepicker table tr td span.active.disabled:hover.active.focus,.datepicker table tr td span.active.disabled:hover.active:focus,.datepicker table tr td span.active.disabled:hover.active:hover,.datepicker table tr td span.active.disabled:hover:active.focus,.datepicker table tr td span.active.disabled:hover:active:focus,.datepicker table tr td span.active.disabled:hover:active:hover,.datepicker table tr td span.active:active.focus,.datepicker table tr td span.active:active:focus,.datepicker table tr td span.active:active:hover,.datepicker table tr td span.active:hover.active.focus,.datepicker table tr td span.active:hover.active:focus,.datepicker table tr td span.active:hover.active:hover,.datepicker table tr td span.active:hover:active.focus,.datepicker table tr td span.active:hover:active:focus,.datepicker table tr td span.active:hover:active:hover{color:#fff;background-color:#204d74;border-color:#122b40}.datepicker table tr td span.active.disabled.disabled.focus,.datepicker table tr td span.active.disabled.disabled:focus,.datepicker table tr td span.active.disabled.disabled:hover,.datepicker table tr td span.active.disabled.focus,.datepicker table tr td span.active.disabled:focus,.datepicker table tr td span.active.disabled:hover,.datepicker table tr td span.active.disabled:hover.disabled.focus,.datepicker table tr td span.active.disabled:hover.disabled:focus,.datepicker table tr td span.active.disabled:hover.disabled:hover,.datepicker table tr td span.active.disabled:hover[disabled].focus,.datepicker table tr td span.active.disabled:hover[disabled]:focus,.datepicker table tr td span.active.disabled:hover[disabled]:hover,.datepicker table tr td span.active.disabled[disabled].focus,.datepicker table tr td span.active.disabled[disabled]:focus,.datepicker table tr td span.active.disabled[disabled]:hover,.datepicker table tr td span.active:hover.disabled.focus,.datepicker table tr td span.active:hover.disabled:focus,.datepicker table tr td span.active:hover.disabled:hover,.datepicker table tr td span.active:hover[disabled].focus,.datepicker table tr td span.active:hover[disabled]:focus,.datepicker table tr td span.active:hover[disabled]:hover,.datepicker table tr td span.active[disabled].focus,.datepicker table tr td span.active[disabled]:focus,.datepicker table tr td span.active[disabled]:hover,fieldset[disabled] .datepicker table tr td span.active.disabled.focus,fieldset[disabled] .datepicker table tr td span.active.disabled:focus,fieldset[disabled] .datepicker table tr td span.active.disabled:hover,fieldset[disabled] .datepicker table tr td span.active.disabled:hover.focus,fieldset[disabled] .datepicker table tr td span.active.disabled:hover:focus,fieldset[disabled] .datepicker table tr td span.active.disabled:hover:hover,fieldset[disabled] .datepicker table tr td span.active.focus,fieldset[disabled] .datepicker table tr td span.active:focus,fieldset[disabled] .datepicker table tr td span.active:hover,fieldset[disabled] .datepicker table tr td span.active:hover.focus,fieldset[disabled] .datepicker table tr td span.active:hover:focus,fieldset[disabled] .datepicker table tr td span.active:hover:hover{background-color:#337ab7;border-color:#2e6da4}.datepicker table tr td span.new,.datepicker table tr td span.old{color:#777}.datepicker .datepicker-switch{width:145px}.datepicker .datepicker-switch,.datepicker .next,.datepicker .prev,.datepicker tfoot tr th{cursor:pointer}.datepicker .datepicker-switch:hover,.datepicker .next:hover,.datepicker .prev:hover,.datepicker tfoot tr th:hover{background:#eee}.datepicker .next.disabled,.datepicker .prev.disabled{visibility:hidden}.datepicker .cw{font-size:10px;width:12px;padding:0 2px 0 5px;vertical-align:middle}.input-group.date .input-group-addon{cursor:pointer}.input-daterange{width:100%}.input-daterange input{text-align:center}.input-daterange input:first-child{border-radius:3px 0 0 3px}.input-daterange input:last-child{border-radius:0 3px 3px 0}.input-daterange .input-group-addon{width:auto;min-width:16px;padding:4px 5px;line-height:1.42857143;text-shadow:0 1px 0 #fff;border-width:1px 0;margin-left:-5px;margin-right:-5px}.datepicker.dropdown-menu{position:absolute;top:100%;left:0;z-index:1000;display:none;float:left;min-width:160px;list-style:none;background-color:#fff;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);-moz-box-shadow:0 6px 12px rgba(0,0,0,.175);box-shadow:0 6px 12px rgba(0,0,0,.175);-webkit-background-clip:padding-box;-moz-background-clip:padding;background-clip:padding-box;color:#333;font-size:13px;line-height:1.42857143}.datepicker.datepicker-inline td,.datepicker.datepicker-inline th,.datepicker.dropdown-menu td,.datepicker.dropdown-menu th{padding:0 5px} \ No newline at end of file +.datepicker{border-radius:4px;direction:ltr}.datepicker-inline{width:220px}.datepicker-rtl{direction:rtl}.datepicker-rtl.dropdown-menu{left:auto}.datepicker-rtl table tr td span{float:right}.datepicker-dropdown{top:0;left:0;padding:4px}.datepicker-dropdown:before{content:'';display:inline-block;border-left:7px solid transparent;border-right:7px solid transparent;border-bottom:7px solid rgba(0,0,0,.15);border-top:0;border-bottom-color:rgba(0,0,0,.2);position:absolute}.datepicker-dropdown:after{content:'';display:inline-block;border-left:6px solid transparent;border-right:6px solid transparent;border-bottom:6px solid #fff;border-top:0;position:absolute}.datepicker-dropdown.datepicker-orient-left:before{left:6px}.datepicker-dropdown.datepicker-orient-left:after{left:7px}.datepicker-dropdown.datepicker-orient-right:before{right:6px}.datepicker-dropdown.datepicker-orient-right:after{right:7px}.datepicker-dropdown.datepicker-orient-bottom:before{top:-7px}.datepicker-dropdown.datepicker-orient-bottom:after{top:-6px}.datepicker-dropdown.datepicker-orient-top:before{bottom:-7px;border-bottom:0;border-top:7px solid rgba(0,0,0,.15)}.datepicker-dropdown.datepicker-orient-top:after{bottom:-6px;border-bottom:0;border-top:6px solid #fff}.datepicker table{margin:0;-webkit-touch-callout:none;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.datepicker table tr td,.datepicker table tr th{text-align:center;width:30px;height:30px;border-radius:4px;border:none}.table-striped .datepicker table tr td,.table-striped .datepicker table tr th{background-color:transparent}.datepicker table tr td.new,.datepicker table tr td.old{color:#777}.datepicker table tr td.day:hover,.datepicker table tr td.focused{background:#eee;cursor:pointer}.datepicker table tr td.disabled,.datepicker table tr td.disabled:hover{background:0 0;color:#777;cursor:default}.datepicker table tr td.highlighted{color:#000;background-color:#d9edf7;border-color:#85c5e5;border-radius:0}.datepicker table tr td.highlighted.focus,.datepicker table tr td.highlighted:focus{color:#000;background-color:#afd9ee;border-color:#298fc2}.datepicker table tr td.highlighted:hover{color:#000;background-color:#afd9ee;border-color:#52addb}.datepicker table tr td.highlighted.active,.datepicker table tr td.highlighted:active{color:#000;background-color:#afd9ee;border-color:#52addb}.datepicker table tr td.highlighted.active.focus,.datepicker table tr td.highlighted.active:focus,.datepicker table tr td.highlighted.active:hover,.datepicker table tr td.highlighted:active.focus,.datepicker table tr td.highlighted:active:focus,.datepicker table tr td.highlighted:active:hover{color:#000;background-color:#91cbe8;border-color:#298fc2}.datepicker table tr td.highlighted.disabled.focus,.datepicker table tr td.highlighted.disabled:focus,.datepicker table tr td.highlighted.disabled:hover,.datepicker table tr td.highlighted[disabled].focus,.datepicker table tr td.highlighted[disabled]:focus,.datepicker table tr td.highlighted[disabled]:hover,fieldset[disabled] .datepicker table tr td.highlighted.focus,fieldset[disabled] .datepicker table tr td.highlighted:focus,fieldset[disabled] .datepicker table tr td.highlighted:hover{background-color:#d9edf7;border-color:#85c5e5}.datepicker table tr td.highlighted.focused{background:#afd9ee}.datepicker table tr td.highlighted.disabled,.datepicker table tr td.highlighted.disabled:active{background:#d9edf7;color:#777}.datepicker table tr td.today{color:#000;background-color:#ffdb99;border-color:#ffb733}.datepicker table tr td.today.focus,.datepicker table tr td.today:focus{color:#000;background-color:#ffc966;border-color:#b37400}.datepicker table tr td.today:hover{color:#000;background-color:#ffc966;border-color:#f59e00}.datepicker table tr td.today.active,.datepicker table tr td.today:active{color:#000;background-color:#ffc966;border-color:#f59e00}.datepicker table tr td.today.active.focus,.datepicker table tr td.today.active:focus,.datepicker table tr td.today.active:hover,.datepicker table tr td.today:active.focus,.datepicker table tr td.today:active:focus,.datepicker table tr td.today:active:hover{color:#000;background-color:#ffbc42;border-color:#b37400}.datepicker table tr td.today.disabled.focus,.datepicker table tr td.today.disabled:focus,.datepicker table tr td.today.disabled:hover,.datepicker table tr td.today[disabled].focus,.datepicker table tr td.today[disabled]:focus,.datepicker table tr td.today[disabled]:hover,fieldset[disabled] .datepicker table tr td.today.focus,fieldset[disabled] .datepicker table tr td.today:focus,fieldset[disabled] .datepicker table tr td.today:hover{background-color:#ffdb99;border-color:#ffb733}.datepicker table tr td.today.focused{background:#ffc966}.datepicker table tr td.today.disabled,.datepicker table tr td.today.disabled:active{background:#ffdb99;color:#777}.datepicker table tr td.range{color:#000;background-color:#eee;border-color:#bbb;border-radius:0}.datepicker table tr td.range.focus,.datepicker table tr td.range:focus{color:#000;background-color:#d5d5d5;border-color:#7c7c7c}.datepicker table tr td.range:hover{color:#000;background-color:#d5d5d5;border-color:#9d9d9d}.datepicker table tr td.range.active,.datepicker table tr td.range:active{color:#000;background-color:#d5d5d5;border-color:#9d9d9d}.datepicker table tr td.range.active.focus,.datepicker table tr td.range.active:focus,.datepicker table tr td.range.active:hover,.datepicker table tr td.range:active.focus,.datepicker table tr td.range:active:focus,.datepicker table tr td.range:active:hover{color:#000;background-color:#c3c3c3;border-color:#7c7c7c}.datepicker table tr td.range.disabled.focus,.datepicker table tr td.range.disabled:focus,.datepicker table tr td.range.disabled:hover,.datepicker table tr td.range[disabled].focus,.datepicker table tr td.range[disabled]:focus,.datepicker table tr td.range[disabled]:hover,fieldset[disabled] .datepicker table tr td.range.focus,fieldset[disabled] .datepicker table tr td.range:focus,fieldset[disabled] .datepicker table tr td.range:hover{background-color:#eee;border-color:#bbb}.datepicker table tr td.range.focused{background:#d5d5d5}.datepicker table tr td.range.disabled,.datepicker table tr td.range.disabled:active{background:#eee;color:#777}.datepicker table tr td.range.highlighted{color:#000;background-color:#e4eef3;border-color:#9dc1d3}.datepicker table tr td.range.highlighted.focus,.datepicker table tr td.range.highlighted:focus{color:#000;background-color:#c1d7e3;border-color:#4b88a6}.datepicker table tr td.range.highlighted:hover{color:#000;background-color:#c1d7e3;border-color:#73a6c0}.datepicker table tr td.range.highlighted.active,.datepicker table tr td.range.highlighted:active{color:#000;background-color:#c1d7e3;border-color:#73a6c0}.datepicker table tr td.range.highlighted.active.focus,.datepicker table tr td.range.highlighted.active:focus,.datepicker table tr td.range.highlighted.active:hover,.datepicker table tr td.range.highlighted:active.focus,.datepicker table tr td.range.highlighted:active:focus,.datepicker table tr td.range.highlighted:active:hover{color:#000;background-color:#a8c8d8;border-color:#4b88a6}.datepicker table tr td.range.highlighted.disabled.focus,.datepicker table tr td.range.highlighted.disabled:focus,.datepicker table tr td.range.highlighted.disabled:hover,.datepicker table tr td.range.highlighted[disabled].focus,.datepicker table tr td.range.highlighted[disabled]:focus,.datepicker table tr td.range.highlighted[disabled]:hover,fieldset[disabled] .datepicker table tr td.range.highlighted.focus,fieldset[disabled] .datepicker table tr td.range.highlighted:focus,fieldset[disabled] .datepicker table tr td.range.highlighted:hover{background-color:#e4eef3;border-color:#9dc1d3}.datepicker table tr td.range.highlighted.focused{background:#c1d7e3}.datepicker table tr td.range.highlighted.disabled,.datepicker table tr td.range.highlighted.disabled:active{background:#e4eef3;color:#777}.datepicker table tr td.range.today{color:#000;background-color:#f7ca77;border-color:#f1a417}.datepicker table tr td.range.today.focus,.datepicker table tr td.range.today:focus{color:#000;background-color:#f4b747;border-color:#815608}.datepicker table tr td.range.today:hover{color:#000;background-color:#f4b747;border-color:#bf800c}.datepicker table tr td.range.today.active,.datepicker table tr td.range.today:active{color:#000;background-color:#f4b747;border-color:#bf800c}.datepicker table tr td.range.today.active.focus,.datepicker table tr td.range.today.active:focus,.datepicker table tr td.range.today.active:hover,.datepicker table tr td.range.today:active.focus,.datepicker table tr td.range.today:active:focus,.datepicker table tr td.range.today:active:hover{color:#000;background-color:#f2aa25;border-color:#815608}.datepicker table tr td.range.today.disabled.focus,.datepicker table tr td.range.today.disabled:focus,.datepicker table tr td.range.today.disabled:hover,.datepicker table tr td.range.today[disabled].focus,.datepicker table tr td.range.today[disabled]:focus,.datepicker table tr td.range.today[disabled]:hover,fieldset[disabled] .datepicker table tr td.range.today.focus,fieldset[disabled] .datepicker table tr td.range.today:focus,fieldset[disabled] .datepicker table tr td.range.today:hover{background-color:#f7ca77;border-color:#f1a417}.datepicker table tr td.range.today.disabled,.datepicker table tr td.range.today.disabled:active{background:#f7ca77;color:#777}.datepicker table tr td.selected,.datepicker table tr td.selected.highlighted{color:#fff;background-color:#777;border-color:#555;text-shadow:0 -1px 0 rgba(0,0,0,.25)}.datepicker table tr td.selected.focus,.datepicker table tr td.selected.highlighted.focus,.datepicker table tr td.selected.highlighted:focus,.datepicker table tr td.selected:focus{color:#fff;background-color:#5e5e5e;border-color:#161616}.datepicker table tr td.selected.highlighted:hover,.datepicker table tr td.selected:hover{color:#fff;background-color:#5e5e5e;border-color:#373737}.datepicker table tr td.selected.active,.datepicker table tr td.selected.highlighted.active,.datepicker table tr td.selected.highlighted:active,.datepicker table tr td.selected:active{color:#fff;background-color:#5e5e5e;border-color:#373737}.datepicker table tr td.selected.active.focus,.datepicker table tr td.selected.active:focus,.datepicker table tr td.selected.active:hover,.datepicker table tr td.selected.highlighted.active.focus,.datepicker table tr td.selected.highlighted.active:focus,.datepicker table tr td.selected.highlighted.active:hover,.datepicker table tr td.selected.highlighted:active.focus,.datepicker table tr td.selected.highlighted:active:focus,.datepicker table tr td.selected.highlighted:active:hover,.datepicker table tr td.selected:active.focus,.datepicker table tr td.selected:active:focus,.datepicker table tr td.selected:active:hover{color:#fff;background-color:#4c4c4c;border-color:#161616}.datepicker table tr td.selected.disabled.focus,.datepicker table tr td.selected.disabled:focus,.datepicker table tr td.selected.disabled:hover,.datepicker table tr td.selected.highlighted.disabled.focus,.datepicker table tr td.selected.highlighted.disabled:focus,.datepicker table tr td.selected.highlighted.disabled:hover,.datepicker table tr td.selected.highlighted[disabled].focus,.datepicker table tr td.selected.highlighted[disabled]:focus,.datepicker table tr td.selected.highlighted[disabled]:hover,.datepicker table tr td.selected[disabled].focus,.datepicker table tr td.selected[disabled]:focus,.datepicker table tr td.selected[disabled]:hover,fieldset[disabled] .datepicker table tr td.selected.focus,fieldset[disabled] .datepicker table tr td.selected.highlighted.focus,fieldset[disabled] .datepicker table tr td.selected.highlighted:focus,fieldset[disabled] .datepicker table tr td.selected.highlighted:hover,fieldset[disabled] .datepicker table tr td.selected:focus,fieldset[disabled] .datepicker table tr td.selected:hover{background-color:#777;border-color:#555}.datepicker table tr td.active,.datepicker table tr td.active.highlighted{color:#fff;background-color:#337ab7;border-color:#2e6da4;text-shadow:0 -1px 0 rgba(0,0,0,.25)}.datepicker table tr td.active.focus,.datepicker table tr td.active.highlighted.focus,.datepicker table tr td.active.highlighted:focus,.datepicker table tr td.active:focus{color:#fff;background-color:#286090;border-color:#122b40}.datepicker table tr td.active.highlighted:hover,.datepicker table tr td.active:hover{color:#fff;background-color:#286090;border-color:#204d74}.datepicker table tr td.active.active,.datepicker table tr td.active.highlighted.active,.datepicker table tr td.active.highlighted:active,.datepicker table tr td.active:active{color:#fff;background-color:#286090;border-color:#204d74}.datepicker table tr td.active.active.focus,.datepicker table tr td.active.active:focus,.datepicker table tr td.active.active:hover,.datepicker table tr td.active.highlighted.active.focus,.datepicker table tr td.active.highlighted.active:focus,.datepicker table tr td.active.highlighted.active:hover,.datepicker table tr td.active.highlighted:active.focus,.datepicker table tr td.active.highlighted:active:focus,.datepicker table tr td.active.highlighted:active:hover,.datepicker table tr td.active:active.focus,.datepicker table tr td.active:active:focus,.datepicker table tr td.active:active:hover{color:#fff;background-color:#204d74;border-color:#122b40}.datepicker table tr td.active.disabled.focus,.datepicker table tr td.active.disabled:focus,.datepicker table tr td.active.disabled:hover,.datepicker table tr td.active.highlighted.disabled.focus,.datepicker table tr td.active.highlighted.disabled:focus,.datepicker table tr td.active.highlighted.disabled:hover,.datepicker table tr td.active.highlighted[disabled].focus,.datepicker table tr td.active.highlighted[disabled]:focus,.datepicker table tr td.active.highlighted[disabled]:hover,.datepicker table tr td.active[disabled].focus,.datepicker table tr td.active[disabled]:focus,.datepicker table tr td.active[disabled]:hover,fieldset[disabled] .datepicker table tr td.active.focus,fieldset[disabled] .datepicker table tr td.active.highlighted.focus,fieldset[disabled] .datepicker table tr td.active.highlighted:focus,fieldset[disabled] .datepicker table tr td.active.highlighted:hover,fieldset[disabled] .datepicker table tr td.active:focus,fieldset[disabled] .datepicker table tr td.active:hover{background-color:#337ab7;border-color:#2e6da4}.datepicker table tr td span{display:block;width:23%;height:54px;line-height:54px;float:left;margin:1%;cursor:pointer;border-radius:4px}.datepicker table tr td span.focused,.datepicker table tr td span:hover{background:#eee}.datepicker table tr td span.disabled,.datepicker table tr td span.disabled:hover{background:0 0;color:#777;cursor:default}.datepicker table tr td span.active,.datepicker table tr td span.active.disabled,.datepicker table tr td span.active.disabled:hover,.datepicker table tr td span.active:hover{color:#fff;background-color:#337ab7;border-color:#2e6da4;text-shadow:0 -1px 0 rgba(0,0,0,.25)}.datepicker table tr td span.active.disabled.focus,.datepicker table tr td span.active.disabled:focus,.datepicker table tr td span.active.disabled:hover.focus,.datepicker table tr td span.active.disabled:hover:focus,.datepicker table tr td span.active.focus,.datepicker table tr td span.active:focus,.datepicker table tr td span.active:hover.focus,.datepicker table tr td span.active:hover:focus{color:#fff;background-color:#286090;border-color:#122b40}.datepicker table tr td span.active.disabled:hover,.datepicker table tr td span.active.disabled:hover:hover,.datepicker table tr td span.active:hover,.datepicker table tr td span.active:hover:hover{color:#fff;background-color:#286090;border-color:#204d74}.datepicker table tr td span.active.active,.datepicker table tr td span.active.disabled.active,.datepicker table tr td span.active.disabled:active,.datepicker table tr td span.active.disabled:hover.active,.datepicker table tr td span.active.disabled:hover:active,.datepicker table tr td span.active:active,.datepicker table tr td span.active:hover.active,.datepicker table tr td span.active:hover:active{color:#fff;background-color:#286090;border-color:#204d74}.datepicker table tr td span.active.active.focus,.datepicker table tr td span.active.active:focus,.datepicker table tr td span.active.active:hover,.datepicker table tr td span.active.disabled.active.focus,.datepicker table tr td span.active.disabled.active:focus,.datepicker table tr td span.active.disabled.active:hover,.datepicker table tr td span.active.disabled:active.focus,.datepicker table tr td span.active.disabled:active:focus,.datepicker table tr td span.active.disabled:active:hover,.datepicker table tr td span.active.disabled:hover.active.focus,.datepicker table tr td span.active.disabled:hover.active:focus,.datepicker table tr td span.active.disabled:hover.active:hover,.datepicker table tr td span.active.disabled:hover:active.focus,.datepicker table tr td span.active.disabled:hover:active:focus,.datepicker table tr td span.active.disabled:hover:active:hover,.datepicker table tr td span.active:active.focus,.datepicker table tr td span.active:active:focus,.datepicker table tr td span.active:active:hover,.datepicker table tr td span.active:hover.active.focus,.datepicker table tr td span.active:hover.active:focus,.datepicker table tr td span.active:hover.active:hover,.datepicker table tr td span.active:hover:active.focus,.datepicker table tr td span.active:hover:active:focus,.datepicker table tr td span.active:hover:active:hover{color:#fff;background-color:#204d74;border-color:#122b40}.datepicker table tr td span.active.disabled.disabled.focus,.datepicker table tr td span.active.disabled.disabled:focus,.datepicker table tr td span.active.disabled.disabled:hover,.datepicker table tr td span.active.disabled.focus,.datepicker table tr td span.active.disabled:focus,.datepicker table tr td span.active.disabled:hover,.datepicker table tr td span.active.disabled:hover.disabled.focus,.datepicker table tr td span.active.disabled:hover.disabled:focus,.datepicker table tr td span.active.disabled:hover.disabled:hover,.datepicker table tr td span.active.disabled:hover[disabled].focus,.datepicker table tr td span.active.disabled:hover[disabled]:focus,.datepicker table tr td span.active.disabled:hover[disabled]:hover,.datepicker table tr td span.active.disabled[disabled].focus,.datepicker table tr td span.active.disabled[disabled]:focus,.datepicker table tr td span.active.disabled[disabled]:hover,.datepicker table tr td span.active:hover.disabled.focus,.datepicker table tr td span.active:hover.disabled:focus,.datepicker table tr td span.active:hover.disabled:hover,.datepicker table tr td span.active:hover[disabled].focus,.datepicker table tr td span.active:hover[disabled]:focus,.datepicker table tr td span.active:hover[disabled]:hover,.datepicker table tr td span.active[disabled].focus,.datepicker table tr td span.active[disabled]:focus,.datepicker table tr td span.active[disabled]:hover,fieldset[disabled] .datepicker table tr td span.active.disabled.focus,fieldset[disabled] .datepicker table tr td span.active.disabled:focus,fieldset[disabled] .datepicker table tr td span.active.disabled:hover,fieldset[disabled] .datepicker table tr td span.active.disabled:hover.focus,fieldset[disabled] .datepicker table tr td span.active.disabled:hover:focus,fieldset[disabled] .datepicker table tr td span.active.disabled:hover:hover,fieldset[disabled] .datepicker table tr td span.active.focus,fieldset[disabled] .datepicker table tr td span.active:focus,fieldset[disabled] .datepicker table tr td span.active:hover,fieldset[disabled] .datepicker table tr td span.active:hover.focus,fieldset[disabled] .datepicker table tr td span.active:hover:focus,fieldset[disabled] .datepicker table tr td span.active:hover:hover{background-color:#337ab7;border-color:#2e6da4}.datepicker table tr td span.new,.datepicker table tr td span.old{color:#777}.datepicker .datepicker-switch{width:145px}.datepicker .datepicker-switch,.datepicker .next,.datepicker .prev,.datepicker tfoot tr th{cursor:pointer}.datepicker .datepicker-switch:hover,.datepicker .next:hover,.datepicker .prev:hover,.datepicker tfoot tr th:hover{background:#eee}.datepicker .next.disabled,.datepicker .prev.disabled{visibility:hidden}.datepicker .cw{font-size:10px;width:12px;padding:0 2px 0 5px;vertical-align:middle}.input-group.date .input-group-addon{cursor:pointer}.input-daterange{width:100%}.input-daterange input{text-align:center}.input-daterange input:first-child{border-radius:3px 0 0 3px}.input-daterange input:last-child{border-radius:0 3px 3px 0}.input-daterange .input-group-addon{width:auto;min-width:16px;padding:4px 5px;line-height:1.42857143;border-width:1px 0;margin-left:-5px;margin-right:-5px}.datepicker.dropdown-menu{position:absolute;top:100%;left:0;z-index:1000;display:none;float:left;min-width:160px;list-style:none;background-color:#fff;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);-moz-box-shadow:0 6px 12px rgba(0,0,0,.175);box-shadow:0 6px 12px rgba(0,0,0,.175);-webkit-background-clip:padding-box;-moz-background-clip:padding;background-clip:padding-box;color:#333;font-size:13px;line-height:1.42857143}.datepicker.datepicker-inline td,.datepicker.datepicker-inline th,.datepicker.dropdown-menu td,.datepicker.dropdown-menu th{padding:0 5px} \ No newline at end of file diff --git a/css/vendors/cropper.css b/css/vendors/cropper.css index b75c67a439..3ed761931b 100644 --- a/css/vendors/cropper.css +++ b/css/vendors/cropper.css @@ -1,42 +1,36 @@ /*! - * Cropper v3.0.0-rc.2 + * Cropper v3.1.6 * https://github.com/fengyuanchen/cropper * - * Copyright (c) 2017 Fengyuan Chen + * Copyright (c) 2014-2018 Chen Fengyuan * Released under the MIT license * - * Date: 2017-05-30T05:04:38.958Z + * Date: 2018-03-01T13:33:39.581Z */ .cropper-container { + direction: ltr; font-size: 0; line-height: 0; - position: relative; - - -webkit-user-select: none; - - -moz-user-select: none; - - -ms-user-select: none; - - user-select: none; - - direction: ltr; -ms-touch-action: none; - touch-action: none + touch-action: none; + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; } -.cropper-container img { - /* Avoid margin top issue (Occur only when margin-top <= -height) */ +.cropper-container img {/*Avoid margin top issue (Occur only when margin-top <= -height) + */ display: block; - min-width: 0 !important; + height: 100%; + image-orientation: 0deg; + max-height: none !important; max-width: none !important; min-height: 0 !important; - max-height: none !important; + min-width: 0 !important; width: 100%; - height: 100%; - image-orientation: 0deg } .cropper-wrap-box, @@ -44,250 +38,236 @@ .cropper-drag-box, .cropper-crop-box, .cropper-modal { - position: absolute; - top: 0; - right: 0; bottom: 0; left: 0; + position: absolute; + right: 0; + top: 0; } -.cropper-wrap-box { +.cropper-wrap-box, +.cropper-canvas { overflow: hidden; } .cropper-drag-box { - opacity: 0; background-color: #fff; + opacity: 0; } .cropper-modal { - opacity: .5; background-color: #000; + opacity: .5; } .cropper-view-box { display: block; - overflow: hidden; - - width: 100%; height: 100%; - - outline: 1px solid #39f; outline-color: rgba(51, 153, 255, 0.75); + outline: 1px solid #39f; + overflow: hidden; + width: 100%; } .cropper-dashed { - position: absolute; - + border: 0 dashed #eee; display: block; - opacity: .5; - border: 0 dashed #eee + position: absolute; } .cropper-dashed.dashed-h { - top: 33.33333%; + border-bottom-width: 1px; + border-top-width: 1px; + height: 33.33333%; left: 0; + top: 33.33333%; width: 100%; - height: 33.33333%; - border-top-width: 1px; - border-bottom-width: 1px } .cropper-dashed.dashed-v { - top: 0; + border-left-width: 1px; + border-right-width: 1px; + height: 100%; left: 33.33333%; + top: 0; width: 33.33333%; - height: 100%; - border-right-width: 1px; - border-left-width: 1px } .cropper-center { + display: block; + height: 0; + left: 50%; + opacity: .75; position: absolute; top: 50%; - left: 50%; - - display: block; - width: 0; - height: 0; - - opacity: .75 } .cropper-center:before, - .cropper-center:after { - position: absolute; - display: block; +.cropper-center:after { + background-color: #eee; content: ' '; - background-color: #eee + display: block; + position: absolute; } .cropper-center:before { - top: 0; + height: 1px; left: -3px; + top: 0; width: 7px; - height: 1px } .cropper-center:after { - top: -3px; + height: 7px; left: 0; + top: -3px; width: 1px; - height: 7px } .cropper-face, .cropper-line, .cropper-point { - position: absolute; - display: block; - - width: 100%; height: 100%; - opacity: .1; + position: absolute; + width: 100%; } .cropper-face { - top: 0; - left: 0; - background-color: #fff; + left: 0; + top: 0; } .cropper-line { - background-color: #39f + background-color: #39f; } .cropper-line.line-e { - top: 0; + cursor: ew-resize; right: -3px; + top: 0; width: 5px; - cursor: e-resize } .cropper-line.line-n { - top: -3px; - left: 0; + cursor: ns-resize; height: 5px; - cursor: n-resize + left: 0; + top: -3px; } .cropper-line.line-w { - top: 0; + cursor: ew-resize; left: -3px; + top: 0; width: 5px; - cursor: w-resize } .cropper-line.line-s { bottom: -3px; - left: 0; + cursor: ns-resize; height: 5px; - cursor: s-resize + left: 0; } .cropper-point { - width: 5px; + background-color: #39f; height: 5px; - opacity: .75; - background-color: #39f + width: 5px; } .cropper-point.point-e { - top: 50%; - right: -3px; + cursor: ew-resize; margin-top: -3px; - cursor: e-resize + right: -3px; + top: 50%; } .cropper-point.point-n { - top: -3px; + cursor: ns-resize; left: 50%; margin-left: -3px; - cursor: n-resize + top: -3px; } .cropper-point.point-w { - top: 50%; + cursor: ew-resize; left: -3px; margin-top: -3px; - cursor: w-resize + top: 50%; } .cropper-point.point-s { bottom: -3px; + cursor: s-resize; left: 50%; margin-left: -3px; - cursor: s-resize } .cropper-point.point-ne { - top: -3px; + cursor: nesw-resize; right: -3px; - cursor: ne-resize + top: -3px; } .cropper-point.point-nw { - top: -3px; + cursor: nwse-resize; left: -3px; - cursor: nw-resize + top: -3px; } .cropper-point.point-sw { bottom: -3px; + cursor: nesw-resize; left: -3px; - cursor: sw-resize } .cropper-point.point-se { - right: -3px; bottom: -3px; - width: 20px; + cursor: nwse-resize; height: 20px; - cursor: se-resize; - opacity: 1 + opacity: 1; + right: -3px; + width: 20px; } @media (min-width: 768px) { - .cropper-point.point-se { + height: 15px; width: 15px; - height: 15px } } @media (min-width: 992px) { - .cropper-point.point-se { + height: 10px; width: 10px; - height: 10px } } @media (min-width: 1200px) { - .cropper-point.point-se { - width: 5px; height: 5px; - opacity: .75 + opacity: .75; + width: 5px; } } .cropper-point.point-se:before { - position: absolute; - right: -50%; + background-color: #39f; bottom: -50%; + content: ' '; display: block; - width: 200%; height: 200%; - content: ' '; opacity: 0; - background-color: #39f + position: absolute; + right: -50%; + width: 200%; } .cropper-invisible { @@ -299,12 +279,10 @@ } .cropper-hide { - position: absolute; - display: block; - - width: 0; height: 0; + position: absolute; + width: 0; } .cropper-hidden { @@ -324,5 +302,5 @@ .cropper-disabled .cropper-line, .cropper-disabled .cropper-point { cursor: not-allowed; -} - +} + diff --git a/css/vendors/fine-uploader/fine-uploader-new.min.css b/css/vendors/fine-uploader/fine-uploader-new.min.css index 58422f2f60..40bcea0a01 100644 --- a/css/vendors/fine-uploader/fine-uploader-new.min.css +++ b/css/vendors/fine-uploader/fine-uploader-new.min.css @@ -1 +1 @@ -.qq-btn,.qq-upload-button{box-shadow:0 1px 1px rgba(255,255,255,.37) inset,1px 0 1px rgba(255,255,255,.07) inset,0 1px 0 rgba(0,0,0,.36),0 -2px 12px rgba(0,0,0,.08) inset}.qq-btn{padding:3px 4px;border:1px solid #CCC;border-radius:2px;color:inherit;background-color:#FFF}.qq-upload-delete{background-color:#e65c47;color:#FAFAFA;border-color:#dc523d;text-shadow:0 1px 1px rgba(0,0,0,.55)}.qq-upload-delete:hover{background-color:#f56b56}.qq-upload-cancel{background-color:#F5D7D7;border-color:#e6c8c8}.qq-upload-cancel:hover{background-color:#ffe1e1}.qq-upload-retry{background-color:#EBF6E0;border-color:#d2ddc7}.qq-upload-retry:hover{background-color:#f7ffec}.qq-upload-continue,.qq-upload-pause{background-color:#00ABC7;color:#FAFAFA;border-color:#2dadc2;text-shadow:0 1px 1px rgba(0,0,0,.55)}.qq-upload-continue:hover,.qq-upload-pause:hover{background-color:#0fbad6}.qq-upload-button{display:inline;width:105px;margin-bottom:10px;padding:7px 10px;text-align:center;float:left;background:#00ABC7;color:#FFF;border-radius:2px;border:1px solid #2dadc2}.qq-upload-button-hover{background:#33B6CC}.qq-upload-button-focus{outline:#000 dotted 1px}.qq-uploader{position:relative;min-height:200px;max-height:490px;overflow-y:hidden;width:inherit;border-radius:6px;background-color:#FDFDFD;border:1px dashed #CCC;padding:20px}.qq-uploader:before{content:attr(qq-drop-area-text) " ";position:absolute;font-size:200%;left:0;width:100%;text-align:center;top:45%;opacity:.25}.qq-upload-drop-area,.qq-upload-extra-drop-area{position:absolute;top:0;left:0;width:100%;height:100%;min-height:30px;z-index:2;background:#F9F9F9;border-radius:4px;border:1px dashed #CCC;text-align:center}.qq-upload-drop-area span{display:block;position:absolute;top:50%;width:100%;margin-top:-8px;font-size:16px}.qq-upload-extra-drop-area{position:relative;margin-top:50px;font-size:16px;padding-top:30px;height:20px;min-height:40px}.qq-upload-drop-area-active{background:#FDFDFD;border-radius:4px;border:1px dashed #CCC}.qq-upload-list{margin:0;padding:0;list-style:none;max-height:450px;overflow-y:auto;box-shadow:0 1px 0 rgba(15,15,50,.14);clear:both}.qq-upload-list li{margin:0;padding:9px;line-height:15px;font-size:16px;color:#424242;background-color:#F6F6F6;border-top:1px solid #FFF;border-bottom:1px solid #DDD}.qq-upload-list li:first-child{border-top:none}.qq-upload-list li:last-child{border-bottom:none}.qq-upload-cancel,.qq-upload-continue,.qq-upload-delete,.qq-upload-failed-text,.qq-upload-file,.qq-upload-pause,.qq-upload-retry,.qq-upload-size,.qq-upload-spinner{margin-right:12px;display:inline}.qq-upload-file{vertical-align:middle;display:inline-block;width:300px;text-overflow:ellipsis;white-space:nowrap;overflow-x:hidden;height:18px}.qq-upload-spinner{display:inline-block;background:url(loading.gif);width:15px;height:15px;vertical-align:text-bottom}.qq-drop-processing{display:block}.qq-drop-processing-spinner{display:inline-block;background:url(processing.gif);width:24px;height:24px;vertical-align:text-bottom}.qq-upload-cancel,.qq-upload-continue,.qq-upload-delete,.qq-upload-pause,.qq-upload-retry,.qq-upload-size{font-size:12px;font-weight:400;cursor:pointer;vertical-align:middle}.qq-upload-status-text{font-size:14px;font-weight:700;display:block}.qq-upload-failed-text{display:none;font-style:italic;font-weight:700}.qq-upload-failed-icon{display:none;width:15px;height:15px;vertical-align:text-bottom}.qq-upload-fail .qq-upload-failed-text,.qq-upload-retrying .qq-upload-failed-text{display:inline}.qq-upload-list li.qq-upload-success{background-color:#EBF6E0;color:#424242;border-bottom:1px solid #D3DED1;border-top:1px solid #F7FFF5}.qq-upload-list li.qq-upload-fail{background-color:#F5D7D7;color:#424242;border-bottom:1px solid #DECACA;border-top:1px solid #FCE6E6}.qq-progress-bar{display:block;background:#00abc7;width:0;height:15px;border-radius:6px;margin-bottom:3px}.qq-total-progress-bar{height:25px;border-radius:9px}.qq-total-progress-bar-container{margin-left:9px;display:inline;float:right;width:500px}INPUT.qq-edit-filename{position:absolute;opacity:0;filter:alpha(opacity=0);z-index:-1;-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=0)"}.qq-upload-file.qq-editable{cursor:pointer;margin-right:4px}.qq-edit-filename-icon.qq-editable{display:inline-block;cursor:pointer}.qq-hide,.qq-uploader DIALOG{display:none}INPUT.qq-edit-filename.qq-editing{position:static;height:28px;padding:0 8px;margin-right:10px;margin-bottom:-5px;border:1px solid #ccc;border-radius:2px;font-size:16px;opacity:1;filter:alpha(opacity=100);-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=100)"}.qq-edit-filename-icon{display:none;background:url(edit.gif);width:15px;height:15px;vertical-align:text-bottom;margin-right:16px}.qq-thumbnail-selector{vertical-align:middle;margin-right:12px}.qq-uploader DIALOG[open]{display:block}.qq-uploader DIALOG .qq-dialog-buttons{text-align:center;padding-top:10px}.qq-uploader DIALOG .qq-dialog-buttons BUTTON{margin-left:5px;margin-right:5px}.qq-uploader DIALOG .qq-dialog-message-selector{padding-bottom:10px}.qq-uploader DIALOG::backdrop{background-color:rgba(0,0,0,.7)}/*# sourceMappingURL=fine-uploader-new.min.css.map */ \ No newline at end of file +.qq-btn{box-shadow:0 1px 1px rgba(255,255,255,.37) inset,1px 0 1px rgba(255,255,255,.07) inset,0 1px 0 rgba(0,0,0,.36),0 -2px 12px rgba(0,0,0,.08) inset;padding:3px 4px;border:1px solid #ccc;border-radius:2px;color:inherit;background-color:#fff}.qq-upload-continue,.qq-upload-delete,.qq-upload-pause{display:inline}.qq-upload-delete{background-color:#e65c47;color:#fafafa;border-color:#dc523d;text-shadow:0 1px 1px rgba(0,0,0,.55)}.qq-upload-delete:hover{background-color:#f56b56}.qq-upload-cancel{background-color:#f5d7d7;border-color:#e6c8c8}.qq-upload-cancel:hover{background-color:#ffe1e1}.qq-upload-retry{background-color:#ebf6e0;border-color:#d2ddc7}.qq-upload-retry:hover{background-color:#f7ffec}.qq-upload-continue,.qq-upload-pause{background-color:#00abc7;color:#fafafa;border-color:#2dadc2;text-shadow:0 1px 1px rgba(0,0,0,.55)}.qq-upload-continue:hover,.qq-upload-pause:hover{background-color:#0fbad6}.qq-upload-button{display:inline;width:105px;margin-bottom:10px;padding:7px 10px;text-align:center;float:left;background:#00abc7;color:#fff;border-radius:2px;border:1px solid #2dadc2;box-shadow:0 1px 1px rgba(255,255,255,.37) inset,1px 0 1px rgba(255,255,255,.07) inset,0 1px 0 rgba(0,0,0,.36),0 -2px 12px rgba(0,0,0,.08) inset}.qq-upload-button-hover{background:#33b6cc}.qq-upload-button-focus{outline:1px dotted #000}.qq-uploader{position:relative;min-height:200px;max-height:490px;overflow-y:hidden;width:inherit;border-radius:6px;background-color:#fdfdfd;border:1px dashed #ccc;padding:20px}.qq-uploader:before{content:attr(qq-drop-area-text) " ";position:absolute;font-size:200%;left:0;width:100%;text-align:center;top:45%;opacity:.25}.qq-upload-drop-area,.qq-upload-extra-drop-area{position:absolute;top:0;left:0;width:100%;height:100%;min-height:30px;z-index:2;background:#f9f9f9;border-radius:4px;border:1px dashed #ccc;text-align:center}.qq-upload-drop-area span{display:block;position:absolute;top:50%;width:100%;margin-top:-8px;font-size:16px}.qq-upload-extra-drop-area{position:relative;margin-top:50px;font-size:16px;padding-top:30px;height:20px;min-height:40px}.qq-upload-drop-area-active{background:#fdfdfd;border-radius:4px;border:1px dashed #ccc}.qq-upload-list{margin:0;padding:0;list-style:none;max-height:450px;overflow-y:auto;box-shadow:0 1px 0 rgba(15,15,50,.14);clear:both}.qq-upload-list li{margin:0;padding:9px;line-height:15px;font-size:16px;color:#424242;background-color:#f6f6f6;border-top:1px solid #fff;border-bottom:1px solid #ddd}.qq-upload-list li:first-child{border-top:none}.qq-upload-list li:last-child{border-bottom:none}.qq-upload-cancel,.qq-upload-continue,.qq-upload-delete,.qq-upload-failed-text,.qq-upload-file,.qq-upload-pause,.qq-upload-retry,.qq-upload-size,.qq-upload-spinner{margin-right:12px;display:inline}.qq-upload-file{vertical-align:middle;display:inline-block;width:300px;text-overflow:ellipsis;white-space:nowrap;overflow-x:hidden;height:18px}.qq-upload-spinner{display:inline-block;background:url(loading.gif);width:15px;height:15px;vertical-align:text-bottom}.qq-drop-processing{display:block}.qq-drop-processing-spinner{display:inline-block;background:url(processing.gif);width:24px;height:24px;vertical-align:text-bottom}.qq-upload-cancel,.qq-upload-continue,.qq-upload-delete,.qq-upload-pause,.qq-upload-retry,.qq-upload-size{font-size:12px;font-weight:400;cursor:pointer;vertical-align:middle}.qq-upload-status-text{font-size:14px;font-weight:700;display:block}.qq-upload-failed-text{display:none;font-style:italic;font-weight:700}.qq-upload-failed-icon{display:none;width:15px;height:15px;vertical-align:text-bottom}.qq-upload-fail .qq-upload-failed-text{display:inline}.qq-upload-retrying .qq-upload-failed-text{display:inline}.qq-upload-list li.qq-upload-success{background-color:#ebf6e0;color:#424242;border-bottom:1px solid #d3ded1;border-top:1px solid #f7fff5}.qq-upload-list li.qq-upload-fail{background-color:#f5d7d7;color:#424242;border-bottom:1px solid #decaca;border-top:1px solid #fce6e6}.qq-progress-bar{display:block;display:block;background:#00abc7;width:0;height:15px;border-radius:6px;margin-bottom:3px}.qq-total-progress-bar{height:25px;border-radius:9px}.qq-total-progress-bar-container{margin-left:9px;display:inline;float:right;width:500px}INPUT.qq-edit-filename{position:absolute;opacity:0;z-index:-1}.qq-upload-file.qq-editable{cursor:pointer;margin-right:4px}.qq-edit-filename-icon.qq-editable{display:inline-block;cursor:pointer}INPUT.qq-edit-filename.qq-editing{position:static;height:28px;padding:0 8px;margin-right:10px;margin-bottom:-5px;border:1px solid #ccc;border-radius:2px;font-size:16px;opacity:1}.qq-edit-filename-icon{display:none;background:url(edit.gif);width:15px;height:15px;vertical-align:text-bottom;margin-right:16px}.qq-hide{display:none}.qq-thumbnail-selector{vertical-align:middle;margin-right:12px}.qq-uploader DIALOG{display:none}.qq-uploader DIALOG[open]{display:block}.qq-uploader DIALOG{display:none}.qq-uploader DIALOG[open]{display:block}.qq-uploader DIALOG .qq-dialog-buttons{text-align:center;padding-top:10px}.qq-uploader DIALOG .qq-dialog-buttons BUTTON{margin-left:5px;margin-right:5px}.qq-uploader DIALOG .qq-dialog-message-selector{padding-bottom:10px}.qq-uploader DIALOG::backdrop{background-color:rgba(0,0,0,.7)}/*# sourceMappingURL=fine-uploader-new.min.css.map */ \ No newline at end of file diff --git a/docs/05. module guide/06. blocks_and_widgets.md b/docs/05. module guide/06. blocks_and_widgets.md index 1d4d644543..873bedb924 100644 --- a/docs/05. module guide/06. blocks_and_widgets.md +++ b/docs/05. module guide/06. blocks_and_widgets.md @@ -30,7 +30,7 @@ The classname needs to be the exact same as the action name and the file name, i /** * The blogpost * - * @vararray + * @var array */ private $record; ``` @@ -38,7 +38,7 @@ private $record; Then we define our (private) variables. In our case we'll use an array to save the record with the article we will be viewing. ``` -public function execute() +public function execute(): void { // call the parent parent::execute(); @@ -70,13 +70,7 @@ use Frontend\Modules\Tags\Engine\Model as FrontendTagsModel; use Symfony\Component\HttpKernel\Exception\NotFoundHttpException; ... - - /* - * Load the data - * - * @return void - */ -private function getData() +private function getData(): void { // if no parameter was passed we show the 404-page if($this->url->getParameter(1) === null) { @@ -101,13 +95,13 @@ The getData function first checks if the item given in the url exists and adds s If an article was found, the data we fetched is parsed into the template-file. ``` -private function parse() +private function parse(): void { $this->breadcrumb->addElement($this->record['title']); $this->header->setPageTitle($this->record['title']); - $this->header->setMetaDescription($this->record['meta_description'] , $this->record['meta_description_overwrite'])); - $this->header->setMetaKeywords($this->record['meta_keywords'] , $this->record['meta_keywords_overwrite'])); + $this->header->setMetaDescription($this->record['meta_description'] , $this->record['meta_description_overwrite']); + $this->header->setMetaKeywords($this->record['meta_keywords'] , $this->record['meta_keywords_overwrite']); $this->template->assign('item', $this->record); $this->template->assign('navigation' , FrontendMiniBlogModel::getNavigation($this->record['id'])); diff --git a/index.php b/index.php index b60c2d5f34..438c746192 100644 --- a/index.php +++ b/index.php @@ -63,4 +63,6 @@ ); } $response->send(); -$kernel->terminate($request, $response); +if (!$kernel->isInstallingModule()) { + $kernel->terminate($request, $response); +} diff --git a/js/vendors/bootstrap-datepicker.min.js b/js/vendors/bootstrap-datepicker.min.js index 49ba836749..14457e0c38 100644 --- a/js/vendors/bootstrap-datepicker.min.js +++ b/js/vendors/bootstrap-datepicker.min.js @@ -1,8 +1,8 @@ /*! - * Datepicker for Bootstrap v1.7.0 (https://github.com/uxsolutions/bootstrap-datepicker) + * Datepicker for Bootstrap v1.8.0 (https://github.com/uxsolutions/bootstrap-datepicker) * * Licensed under the Apache License v2.0 (http://www.apache.org/licenses/LICENSE-2.0) */ -!function(a){"function"==typeof define&&define.amd?define(["jquery"],a):a("object"==typeof exports?require("jquery"):jQuery)}(function(a,b){function c(){return new Date(Date.UTC.apply(Date,arguments))}function d(){var a=new Date;return c(a.getFullYear(),a.getMonth(),a.getDate())}function e(a,b){return a.getUTCFullYear()===b.getUTCFullYear()&&a.getUTCMonth()===b.getUTCMonth()&&a.getUTCDate()===b.getUTCDate()}function f(c,d){return function(){return d!==b&&a.fn.datepicker.deprecated(d),this[c].apply(this,arguments)}}function g(a){return a&&!isNaN(a.getTime())}function h(b,c){function d(a,b){return b.toLowerCase()}var e,f=a(b).data(),g={},h=new RegExp("^"+c.toLowerCase()+"([A-Z])");c=new RegExp("^"+c.toLowerCase());for(var i in f)c.test(i)&&(e=i.replace(h,d),g[e]=f[i]);return g}function i(b){var c={};if(q[b]||(b=b.split("-")[0],q[b])){var d=q[b];return a.each(p,function(a,b){b in d&&(c[b]=d[b])}),c}}var j=function(){var b={get:function(a){return this.slice(a)[0]},contains:function(a){for(var b=a&&a.valueOf(),c=0,d=this.length;c]/g)||[]).length<=0)return!0;var d=a(c);return d.length>0}catch(a){return!1}},_process_options:function(b){this._o=a.extend({},this._o,b);var e=this.o=a.extend({},this._o),f=e.language;q[f]||(f=f.split("-")[0],q[f]||(f=o.language)),e.language=f,e.startView=this._resolveViewName(e.startView),e.minViewMode=this._resolveViewName(e.minViewMode),e.maxViewMode=this._resolveViewName(e.maxViewMode),e.startView=Math.max(this.o.minViewMode,Math.min(this.o.maxViewMode,e.startView)),e.multidate!==!0&&(e.multidate=Number(e.multidate)||!1,e.multidate!==!1&&(e.multidate=Math.max(0,e.multidate))),e.multidateSeparator=String(e.multidateSeparator),e.weekStart%=7,e.weekEnd=(e.weekStart+6)%7;var g=r.parseFormat(e.format);e.startDate!==-(1/0)&&(e.startDate?e.startDate instanceof Date?e.startDate=this._local_to_utc(this._zero_time(e.startDate)):e.startDate=r.parseDate(e.startDate,g,e.language,e.assumeNearbyYear):e.startDate=-(1/0)),e.endDate!==1/0&&(e.endDate?e.endDate instanceof Date?e.endDate=this._local_to_utc(this._zero_time(e.endDate)):e.endDate=r.parseDate(e.endDate,g,e.language,e.assumeNearbyYear):e.endDate=1/0),e.daysOfWeekDisabled=this._resolveDaysOfWeek(e.daysOfWeekDisabled||[]),e.daysOfWeekHighlighted=this._resolveDaysOfWeek(e.daysOfWeekHighlighted||[]),e.datesDisabled=e.datesDisabled||[],a.isArray(e.datesDisabled)||(e.datesDisabled=e.datesDisabled.split(",")),e.datesDisabled=a.map(e.datesDisabled,function(a){return r.parseDate(a,g,e.language,e.assumeNearbyYear)});var h=String(e.orientation).toLowerCase().split(/\s+/g),i=e.orientation.toLowerCase();if(h=a.grep(h,function(a){return/^auto|left|right|top|bottom$/.test(a)}),e.orientation={x:"auto",y:"auto"},i&&"auto"!==i)if(1===h.length)switch(h[0]){case"top":case"bottom":e.orientation.y=h[0];break;case"left":case"right":e.orientation.x=h[0]}else i=a.grep(h,function(a){return/^left|right$/.test(a)}),e.orientation.x=i[0]||"auto",i=a.grep(h,function(a){return/^top|bottom$/.test(a)}),e.orientation.y=i[0]||"auto";else;if(e.defaultViewDate instanceof Date||"string"==typeof e.defaultViewDate)e.defaultViewDate=r.parseDate(e.defaultViewDate,g,e.language,e.assumeNearbyYear);else if(e.defaultViewDate){var j=e.defaultViewDate.year||(new Date).getFullYear(),k=e.defaultViewDate.month||0,l=e.defaultViewDate.day||1;e.defaultViewDate=c(j,k,l)}else e.defaultViewDate=d()},_events:[],_secondaryEvents:[],_applyEvents:function(a){for(var c,d,e,f=0;ff?(this.picker.addClass("datepicker-orient-right"),n+=m-b):this.o.rtl?this.picker.addClass("datepicker-orient-right"):this.picker.addClass("datepicker-orient-left");var p,q=this.o.orientation.y;if("auto"===q&&(p=-g+o-c,q=p<0?"bottom":"top"),this.picker.addClass("datepicker-orient-"+q),"top"===q?o-=c+parseInt(this.picker.css("padding-top")):o+=l,this.o.rtl){var r=f-(n+m);this.picker.css({top:o,right:r,zIndex:j})}else this.picker.css({top:o,left:n,zIndex:j});return this},_allow_update:!0,update:function(){if(!this._allow_update)return this;var b=this.dates.copy(),c=[],d=!1;return arguments.length?(a.each(arguments,a.proxy(function(a,b){b instanceof Date&&(b=this._local_to_utc(b)),c.push(b)},this)),d=!0):(c=this.isInput?this.element.val():this.element.data("date")||this.inputField.val(),c=c&&this.o.multidate?c.split(this.o.multidateSeparator):[c],delete this.element.data().date),c=a.map(c,a.proxy(function(a){return r.parseDate(a,this.o.format,this.o.language,this.o.assumeNearbyYear)},this)),c=a.grep(c,a.proxy(function(a){return!this.dateWithinRange(a)||!a},this),!0),this.dates.replace(c),this.o.updateViewDate&&(this.dates.length?this.viewDate=new Date(this.dates.get(-1)):this.viewDatethis.o.endDate?this.viewDate=new Date(this.o.endDate):this.viewDate=this.o.defaultViewDate),d?(this.setValue(),this.element.change()):this.dates.length&&String(b)!==String(this.dates)&&d&&(this._trigger("changeDate"),this.element.change()),!this.dates.length&&b.length&&(this._trigger("clearDate"),this.element.change()),this.fill(),this},fillDow:function(){if(this.o.showWeekDays){var b=this.o.weekStart,c="";for(this.o.calendarWeeks&&(c+=' ');b";c+="",this.picker.find(".datepicker-days thead").append(c)}},fillMonths:function(){for(var a,b=this._utc_to_local(this.viewDate),c="",d=0;d<12;d++)a=b&&b.getMonth()===d?" focused":"",c+=''+q[this.o.language].monthsShort[d]+"";this.picker.find(".datepicker-months td").html(c)},setRange:function(b){b&&b.length?this.range=a.map(b,function(a){return a.valueOf()}):delete this.range,this.fill()},getClassNames:function(b){var c=[],f=this.viewDate.getUTCFullYear(),g=this.viewDate.getUTCMonth(),h=d();return b.getUTCFullYear()f||b.getUTCFullYear()===f&&b.getUTCMonth()>g)&&c.push("new"),this.focusDate&&b.valueOf()===this.focusDate.valueOf()&&c.push("focused"),this.o.todayHighlight&&e(b,h)&&c.push("today"),this.dates.contains(b)!==-1&&c.push("active"),this.dateWithinRange(b)||c.push("disabled"),this.dateIsDisabled(b)&&c.push("disabled","disabled-date"),a.inArray(b.getUTCDay(),this.o.daysOfWeekHighlighted)!==-1&&c.push("highlighted"),this.range&&(b>this.range[0]&&bh)&&j.push("disabled"),t===r&&j.push("focused"),i!==a.noop&&(l=i(new Date(t,0,1)),l===b?l={}:"boolean"==typeof l?l={enabled:l}:"string"==typeof l&&(l={classes:l}),l.enabled===!1&&j.push("disabled"),l.classes&&(j=j.concat(l.classes.split(/\s+/))),l.tooltip&&(k=l.tooltip)),m+='"+t+"";o.find(".datepicker-switch").text(p+"-"+q),o.find("td").html(m)},fill:function(){var d,e,f=new Date(this.viewDate),g=f.getUTCFullYear(),h=f.getUTCMonth(),i=this.o.startDate!==-(1/0)?this.o.startDate.getUTCFullYear():-(1/0),j=this.o.startDate!==-(1/0)?this.o.startDate.getUTCMonth():-(1/0),k=this.o.endDate!==1/0?this.o.endDate.getUTCFullYear():1/0,l=this.o.endDate!==1/0?this.o.endDate.getUTCMonth():1/0,m=q[this.o.language].today||q.en.today||"",n=q[this.o.language].clear||q.en.clear||"",o=q[this.o.language].titleFormat||q.en.titleFormat;if(!isNaN(g)&&!isNaN(h)){this.picker.find(".datepicker-days .datepicker-switch").text(r.formatDate(f,o,this.o.language)),this.picker.find("tfoot .today").text(m).css("display",this.o.todayBtn===!0||"linked"===this.o.todayBtn?"table-cell":"none"),this.picker.find("tfoot .clear").text(n).css("display",this.o.clearBtn===!0?"table-cell":"none"),this.picker.find("thead .datepicker-title").text(this.o.title).css("display","string"==typeof this.o.title&&""!==this.o.title?"table-cell":"none"),this.updateNavArrows(),this.fillMonths();var p=c(g,h,0),s=p.getUTCDate();p.setUTCDate(s-(p.getUTCDay()-this.o.weekStart+7)%7);var t=new Date(p);p.getUTCFullYear()<100&&t.setUTCFullYear(p.getUTCFullYear()),t.setUTCDate(t.getUTCDate()+42),t=t.valueOf();for(var u,v,w=[];p.valueOf()"),this.o.calendarWeeks)){var x=new Date(+p+(this.o.weekStart-u-7)%7*864e5),y=new Date(Number(x)+(11-x.getUTCDay())%7*864e5),z=new Date(Number(z=c(y.getUTCFullYear(),0,1))+(11-z.getUTCDay())%7*864e5),A=(y-z)/864e5/7+1;w.push(''+A+"")}v=this.getClassNames(p),v.push("day");var B=p.getUTCDate();this.o.beforeShowDay!==a.noop&&(e=this.o.beforeShowDay(this._utc_to_local(p)),e===b?e={}:"boolean"==typeof e?e={enabled:e}:"string"==typeof e&&(e={classes:e}),e.enabled===!1&&v.push("disabled"),e.classes&&(v=v.concat(e.classes.split(/\s+/))),e.tooltip&&(d=e.tooltip),e.content&&(B=e.content)),v=a.isFunction(a.uniqueSort)?a.uniqueSort(v):a.unique(v),w.push(''+B+""),d=null,u===this.o.weekEnd&&w.push(""),p.setUTCDate(p.getUTCDate()+1)}this.picker.find(".datepicker-days tbody").html(w.join(""));var C=q[this.o.language].monthsTitle||q.en.monthsTitle||"Months",D=this.picker.find(".datepicker-months").find(".datepicker-switch").text(this.o.maxViewMode<2?C:g).end().find("tbody span").removeClass("active");if(a.each(this.dates,function(a,b){b.getUTCFullYear()===g&&D.eq(b.getUTCMonth()).addClass("active")}),(gk)&&D.addClass("disabled"),g===i&&D.slice(0,j).addClass("disabled"),g===k&&D.slice(l+1).addClass("disabled"),this.o.beforeShowMonth!==a.noop){var E=this;a.each(D,function(c,d){var e=new Date(g,c,1),f=E.o.beforeShowMonth(e);f===b?f={}:"boolean"==typeof f?f={enabled:f}:"string"==typeof f&&(f={classes:f}),f.enabled!==!1||a(d).hasClass("disabled")||a(d).addClass("disabled"),f.classes&&a(d).addClass(f.classes),f.tooltip&&a(d).prop("title",f.tooltip)})}this._fill_yearsView(".datepicker-years","year",10,g,i,k,this.o.beforeShowYear),this._fill_yearsView(".datepicker-decades","decade",100,g,i,k,this.o.beforeShowDecade),this._fill_yearsView(".datepicker-centuries","century",1e3,g,i,k,this.o.beforeShowCentury)}},updateNavArrows:function(){if(this._allow_update){var a,b,c=new Date(this.viewDate),d=c.getUTCFullYear(),e=c.getUTCMonth(),f=this.o.startDate!==-(1/0)?this.o.startDate.getUTCFullYear():-(1/0),g=this.o.startDate!==-(1/0)?this.o.startDate.getUTCMonth():-(1/0),h=this.o.endDate!==1/0?this.o.endDate.getUTCFullYear():1/0,i=this.o.endDate!==1/0?this.o.endDate.getUTCMonth():1/0,j=1;switch(this.viewMode){case 0:a=d<=f&&e<=g,b=d>=h&&e>=i;break;case 4:j*=10;case 3:j*=10;case 2:j*=10;case 1:a=Math.floor(d/j)*j<=f,b=Math.floor(d/j)*j+j>=h}this.picker.find(".prev").toggleClass("disabled",a),this.picker.find(".next").toggleClass("disabled",b)}},click:function(b){b.preventDefault(),b.stopPropagation();var e,f,g,h;e=a(b.target),e.hasClass("datepicker-switch")&&this.viewMode!==this.o.maxViewMode&&this.setViewMode(this.viewMode+1),e.hasClass("today")&&!e.hasClass("day")&&(this.setViewMode(0),this._setDate(d(),"linked"===this.o.todayBtn?null:"view")),e.hasClass("clear")&&this.clearDates(),e.hasClass("disabled")||(e.hasClass("month")||e.hasClass("year")||e.hasClass("decade")||e.hasClass("century"))&&(this.viewDate.setUTCDate(1),f=1,1===this.viewMode?(h=e.parent().find("span").index(e),g=this.viewDate.getUTCFullYear(),this.viewDate.setUTCMonth(h)):(h=0,g=Number(e.text()),this.viewDate.setUTCFullYear(g)),this._trigger(r.viewModes[this.viewMode-1].e,this.viewDate),this.viewMode===this.o.minViewMode?this._setDate(c(g,h,f)):(this.setViewMode(this.viewMode-1),this.fill())),this.picker.is(":visible")&&this._focused_from&&this._focused_from.focus(),delete this._focused_from},dayCellClick:function(b){var c=a(b.currentTarget),d=c.data("date"),e=new Date(d);this.o.updateViewDate&&(e.getUTCFullYear()!==this.viewDate.getUTCFullYear()&&this._trigger("changeYear",this.viewDate),e.getUTCMonth()!==this.viewDate.getUTCMonth()&&this._trigger("changeMonth",this.viewDate)),this._setDate(e)},navArrowsClick:function(b){var c=a(b.currentTarget),d=c.hasClass("prev")?-1:1;0!==this.viewMode&&(d*=12*r.viewModes[this.viewMode].navStep),this.viewDate=this.moveMonth(this.viewDate,d),this._trigger(r.viewModes[this.viewMode].e,this.viewDate),this.fill()},_toggle_multidate:function(a){var b=this.dates.contains(a);if(a||this.dates.clear(),b!==-1?(this.o.multidate===!0||this.o.multidate>1||this.o.toggleActive)&&this.dates.remove(b):this.o.multidate===!1?(this.dates.clear(),this.dates.push(a)):this.dates.push(a),"number"==typeof this.o.multidate)for(;this.dates.length>this.o.multidate;)this.dates.remove(0)},_setDate:function(a,b){b&&"date"!==b||this._toggle_multidate(a&&new Date(a)),(!b&&this.o.updateViewDate||"view"===b)&&(this.viewDate=a&&new Date(a)),this.fill(),this.setValue(),b&&"view"===b||this._trigger("changeDate"),this.inputField.trigger("change"),!this.o.autoclose||b&&"date"!==b||this.hide()},moveDay:function(a,b){var c=new Date(a);return c.setUTCDate(a.getUTCDate()+b),c},moveWeek:function(a,b){return this.moveDay(a,7*b)},moveMonth:function(a,b){if(!g(a))return this.o.defaultViewDate;if(!b)return a;var c,d,e=new Date(a.valueOf()),f=e.getUTCDate(),h=e.getUTCMonth(),i=Math.abs(b);if(b=b>0?1:-1,1===i)d=b===-1?function(){return e.getUTCMonth()===h}:function(){return e.getUTCMonth()!==c},c=h+b,e.setUTCMonth(c),c=(c+12)%12;else{for(var j=0;j0},dateWithinRange:function(a){return a>=this.o.startDate&&a<=this.o.endDate},keydown:function(a){if(!this.picker.is(":visible"))return void(40!==a.keyCode&&27!==a.keyCode||(this.show(),a.stopPropagation()));var b,c,d=!1,e=this.focusDate||this.viewDate;switch(a.keyCode){case 27:this.focusDate?(this.focusDate=null,this.viewDate=this.dates.get(-1)||this.viewDate,this.fill()):this.hide(),a.preventDefault(),a.stopPropagation();break;case 37:case 38:case 39:case 40:if(!this.o.keyboardNavigation||7===this.o.daysOfWeekDisabled.length)break;b=37===a.keyCode||38===a.keyCode?-1:1,0===this.viewMode?a.ctrlKey?(c=this.moveAvailableDate(e,b,"moveYear"),c&&this._trigger("changeYear",this.viewDate)):a.shiftKey?(c=this.moveAvailableDate(e,b,"moveMonth"),c&&this._trigger("changeMonth",this.viewDate)):37===a.keyCode||39===a.keyCode?c=this.moveAvailableDate(e,b,"moveDay"):this.weekOfDateIsDisabled(e)||(c=this.moveAvailableDate(e,b,"moveWeek")):1===this.viewMode?(38!==a.keyCode&&40!==a.keyCode||(b*=4),c=this.moveAvailableDate(e,b,"moveMonth")):2===this.viewMode&&(38!==a.keyCode&&40!==a.keyCode||(b*=4),c=this.moveAvailableDate(e,b,"moveYear")),c&&(this.focusDate=this.viewDate=c,this.setValue(),this.fill(),a.preventDefault());break;case 13:if(!this.o.forceParse)break;e=this.focusDate||this.dates.get(-1)||this.viewDate,this.o.keyboardNavigation&&(this._toggle_multidate(e),d=!0),this.focusDate=null,this.viewDate=this.dates.get(-1)||this.viewDate,this.setValue(),this.fill(),this.picker.is(":visible")&&(a.preventDefault(),a.stopPropagation(),this.o.autoclose&&this.hide());break;case 9:this.focusDate=null,this.viewDate=this.dates.get(-1)||this.viewDate,this.fill(),this.hide()}d&&(this.dates.length?this._trigger("changeDate"):this._trigger("clearDate"),this.inputField.trigger("change"))},setViewMode:function(a){this.viewMode=a,this.picker.children("div").hide().filter(".datepicker-"+r.viewModes[this.viewMode].clsName).show(),this.updateNavArrows(),this._trigger("changeViewMode",new Date(this.viewDate))}};var l=function(b,c){a.data(b,"datepicker",this),this.element=a(b),this.inputs=a.map(c.inputs,function(a){return a.jquery?a[0]:a}),delete c.inputs,this.keepEmptyValues=c.keepEmptyValues,delete c.keepEmptyValues,n.call(a(this.inputs),c).on("changeDate",a.proxy(this.dateUpdated,this)),this.pickers=a.map(this.inputs,function(b){return a.data(b,"datepicker")}),this.updateDates()};l.prototype={updateDates:function(){this.dates=a.map(this.pickers,function(a){return a.getUTCDate()}),this.updateRanges()},updateRanges:function(){var b=a.map(this.dates,function(a){return a.valueOf()});a.each(this.pickers,function(a,c){c.setRange(b)})},dateUpdated:function(c){if(!this.updating){this.updating=!0;var d=a.data(c.target,"datepicker");if(d!==b){var e=d.getUTCDate(),f=this.keepEmptyValues,g=a.inArray(c.target,this.inputs),h=g-1,i=g+1,j=this.inputs.length;if(g!==-1){if(a.each(this.pickers,function(a,b){b.getUTCDate()||b!==d&&f||b.setUTCDate(e)}),e=0&&ethis.dates[i])for(;ithis.dates[i];)this.pickers[i++].setUTCDate(e);this.updateDates(),delete this.updating}}}},destroy:function(){a.map(this.pickers,function(a){a.destroy()}),a(this.inputs).off("changeDate",this.dateUpdated),delete this.element.data().datepicker},remove:f("destroy","Method `remove` is deprecated and will be removed in version 2.0. Use `destroy` instead")};var m=a.fn.datepicker,n=function(c){var d=Array.apply(null,arguments);d.shift();var e;if(this.each(function(){var b=a(this),f=b.data("datepicker"),g="object"==typeof c&&c;if(!f){var j=h(this,"date"),m=a.extend({},o,j,g),n=i(m.language),p=a.extend({},o,n,j,g);b.hasClass("input-daterange")||p.inputs?(a.extend(p,{inputs:p.inputs||b.find("input").toArray()}),f=new l(this,p)):f=new k(this,p),b.data("datepicker",f)}"string"==typeof c&&"function"==typeof f[c]&&(e=f[c].apply(f,d))}),e===b||e instanceof k||e instanceof l)return this;if(this.length>1)throw new Error("Using only allowed for the collection of a single element ("+c+" function)");return e};a.fn.datepicker=n;var o=a.fn.datepicker.defaults={assumeNearbyYear:!1,autoclose:!1,beforeShowDay:a.noop,beforeShowMonth:a.noop,beforeShowYear:a.noop,beforeShowDecade:a.noop,beforeShowCentury:a.noop,calendarWeeks:!1,clearBtn:!1,toggleActive:!1,daysOfWeekDisabled:[],daysOfWeekHighlighted:[],datesDisabled:[],endDate:1/0,forceParse:!0,format:"mm/dd/yyyy",keepEmptyValues:!1,keyboardNavigation:!0,language:"en",minViewMode:0,maxViewMode:4,multidate:!1,multidateSeparator:",",orientation:"auto",rtl:!1,startDate:-(1/0),startView:0,todayBtn:!1,todayHighlight:!1,updateViewDate:!0,weekStart:0,disableTouchKeyboard:!1,enableOnReadonly:!0,showOnFocus:!0,zIndexOffset:10,container:"body",immediateUpdates:!1,title:"",templates:{leftArrow:"«",rightArrow:"»"},showWeekDays:!0},p=a.fn.datepicker.locale_opts=["format","rtl","weekStart"];a.fn.datepicker.Constructor=k;var q=a.fn.datepicker.dates={en:{days:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],daysShort:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],daysMin:["Su","Mo","Tu","We","Th","Fr","Sa"],months:["January","February","March","April","May","June","July","August","September","October","November","December"],monthsShort:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],today:"Today",clear:"Clear",titleFormat:"MM yyyy"}},r={viewModes:[{names:["days","month"],clsName:"days",e:"changeMonth"},{names:["months","year"],clsName:"months",e:"changeYear",navStep:1},{names:["years","decade"],clsName:"years",e:"changeDecade",navStep:10},{names:["decades","century"],clsName:"decades",e:"changeCentury",navStep:100},{names:["centuries","millennium"],clsName:"centuries",e:"changeMillennium",navStep:1e3}],validParts:/dd?|DD?|mm?|MM?|yy(?:yy)?/g,nonpunctuation:/[^ -\/:-@\u5e74\u6708\u65e5\[-`{-~\t\n\r]+/g,parseFormat:function(a){if("function"==typeof a.toValue&&"function"==typeof a.toDisplay)return a;var b=a.replace(this.validParts,"\0").split("\0"),c=a.match(this.validParts);if(!b||!b.length||!c||0===c.length)throw new Error("Invalid date format.");return{separators:b,parts:c}},parseDate:function(c,e,f,g){function h(a,b){return b===!0&&(b=10),a<100&&(a+=2e3,a>(new Date).getFullYear()+b&&(a-=100)),a}function i(){var a=this.slice(0,j[n].length),b=j[n].slice(0,a.length);return a.toLowerCase()===b.toLowerCase()}if(!c)return b;if(c instanceof Date)return c;if("string"==typeof e&&(e=r.parseFormat(e)),e.toValue)return e.toValue(c,e,f);var j,l,m,n,o,p={d:"moveDay",m:"moveMonth",w:"moveWeek",y:"moveYear"},s={yesterday:"-1d",today:"+0d",tomorrow:"+1d"};if(c in s&&(c=s[c]),/^[\-+]\d+[dmwy]([\s,]+[\-+]\d+[dmwy])*$/i.test(c)){for(j=c.match(/([\-+]\d+)([dmwy])/gi),c=new Date,n=0;n'+o.templates.leftArrow+''+o.templates.rightArrow+"", -contTemplate:'',footTemplate:''};r.template='
'+r.headTemplate+""+r.footTemplate+'
'+r.headTemplate+r.contTemplate+r.footTemplate+'
'+r.headTemplate+r.contTemplate+r.footTemplate+'
'+r.headTemplate+r.contTemplate+r.footTemplate+'
'+r.headTemplate+r.contTemplate+r.footTemplate+"
",a.fn.datepicker.DPGlobal=r,a.fn.datepicker.noConflict=function(){return a.fn.datepicker=m,this},a.fn.datepicker.version="1.7.0",a.fn.datepicker.deprecated=function(a){var b=window.console;b&&b.warn&&b.warn("DEPRECATED: "+a)},a(document).on("focus.datepicker.data-api click.datepicker.data-api",'[data-provide="datepicker"]',function(b){var c=a(this);c.data("datepicker")||(b.preventDefault(),n.call(c,"show"))}),a(function(){n.call(a('[data-provide="datepicker-inline"]'))})}); \ No newline at end of file +!function(a){"function"==typeof define&&define.amd?define(["jquery"],a):a("object"==typeof exports?require("jquery"):jQuery)}(function(a,b){function c(){return new Date(Date.UTC.apply(Date,arguments))}function d(){var a=new Date;return c(a.getFullYear(),a.getMonth(),a.getDate())}function e(a,b){return a.getUTCFullYear()===b.getUTCFullYear()&&a.getUTCMonth()===b.getUTCMonth()&&a.getUTCDate()===b.getUTCDate()}function f(c,d){return function(){return d!==b&&a.fn.datepicker.deprecated(d),this[c].apply(this,arguments)}}function g(a){return a&&!isNaN(a.getTime())}function h(b,c){function d(a,b){return b.toLowerCase()}var e,f=a(b).data(),g={},h=new RegExp("^"+c.toLowerCase()+"([A-Z])");c=new RegExp("^"+c.toLowerCase());for(var i in f)c.test(i)&&(e=i.replace(h,d),g[e]=f[i]);return g}function i(b){var c={};if(q[b]||(b=b.split("-")[0],q[b])){var d=q[b];return a.each(p,function(a,b){b in d&&(c[b]=d[b])}),c}}var j=function(){var b={get:function(a){return this.slice(a)[0]},contains:function(a){for(var b=a&&a.valueOf(),c=0,d=this.length;c]/g)||[]).length<=0)return!0;var d=a(c);return d.length>0}catch(a){return!1}},_process_options:function(b){this._o=a.extend({},this._o,b);var e=this.o=a.extend({},this._o),f=e.language;q[f]||(f=f.split("-")[0],q[f]||(f=o.language)),e.language=f,e.startView=this._resolveViewName(e.startView),e.minViewMode=this._resolveViewName(e.minViewMode),e.maxViewMode=this._resolveViewName(e.maxViewMode),e.startView=Math.max(this.o.minViewMode,Math.min(this.o.maxViewMode,e.startView)),e.multidate!==!0&&(e.multidate=Number(e.multidate)||!1,e.multidate!==!1&&(e.multidate=Math.max(0,e.multidate))),e.multidateSeparator=String(e.multidateSeparator),e.weekStart%=7,e.weekEnd=(e.weekStart+6)%7;var g=r.parseFormat(e.format);e.startDate!==-(1/0)&&(e.startDate?e.startDate instanceof Date?e.startDate=this._local_to_utc(this._zero_time(e.startDate)):e.startDate=r.parseDate(e.startDate,g,e.language,e.assumeNearbyYear):e.startDate=-(1/0)),e.endDate!==1/0&&(e.endDate?e.endDate instanceof Date?e.endDate=this._local_to_utc(this._zero_time(e.endDate)):e.endDate=r.parseDate(e.endDate,g,e.language,e.assumeNearbyYear):e.endDate=1/0),e.daysOfWeekDisabled=this._resolveDaysOfWeek(e.daysOfWeekDisabled||[]),e.daysOfWeekHighlighted=this._resolveDaysOfWeek(e.daysOfWeekHighlighted||[]),e.datesDisabled=e.datesDisabled||[],a.isArray(e.datesDisabled)||(e.datesDisabled=e.datesDisabled.split(",")),e.datesDisabled=a.map(e.datesDisabled,function(a){return r.parseDate(a,g,e.language,e.assumeNearbyYear)});var h=String(e.orientation).toLowerCase().split(/\s+/g),i=e.orientation.toLowerCase();if(h=a.grep(h,function(a){return/^auto|left|right|top|bottom$/.test(a)}),e.orientation={x:"auto",y:"auto"},i&&"auto"!==i)if(1===h.length)switch(h[0]){case"top":case"bottom":e.orientation.y=h[0];break;case"left":case"right":e.orientation.x=h[0]}else i=a.grep(h,function(a){return/^left|right$/.test(a)}),e.orientation.x=i[0]||"auto",i=a.grep(h,function(a){return/^top|bottom$/.test(a)}),e.orientation.y=i[0]||"auto";else;if(e.defaultViewDate instanceof Date||"string"==typeof e.defaultViewDate)e.defaultViewDate=r.parseDate(e.defaultViewDate,g,e.language,e.assumeNearbyYear);else if(e.defaultViewDate){var j=e.defaultViewDate.year||(new Date).getFullYear(),k=e.defaultViewDate.month||0,l=e.defaultViewDate.day||1;e.defaultViewDate=c(j,k,l)}else e.defaultViewDate=d()},_events:[],_secondaryEvents:[],_applyEvents:function(a){for(var c,d,e,f=0;ff?(this.picker.addClass("datepicker-orient-right"),n+=m-b):this.o.rtl?this.picker.addClass("datepicker-orient-right"):this.picker.addClass("datepicker-orient-left");var p,q=this.o.orientation.y;if("auto"===q&&(p=-g+o-c,q=p<0?"bottom":"top"),this.picker.addClass("datepicker-orient-"+q),"top"===q?o-=c+parseInt(this.picker.css("padding-top")):o+=l,this.o.rtl){var r=f-(n+m);this.picker.css({top:o,right:r,zIndex:j})}else this.picker.css({top:o,left:n,zIndex:j});return this},_allow_update:!0,update:function(){if(!this._allow_update)return this;var b=this.dates.copy(),c=[],d=!1;return arguments.length?(a.each(arguments,a.proxy(function(a,b){b instanceof Date&&(b=this._local_to_utc(b)),c.push(b)},this)),d=!0):(c=this.isInput?this.element.val():this.element.data("date")||this.inputField.val(),c=c&&this.o.multidate?c.split(this.o.multidateSeparator):[c],delete this.element.data().date),c=a.map(c,a.proxy(function(a){return r.parseDate(a,this.o.format,this.o.language,this.o.assumeNearbyYear)},this)),c=a.grep(c,a.proxy(function(a){return!this.dateWithinRange(a)||!a},this),!0),this.dates.replace(c),this.o.updateViewDate&&(this.dates.length?this.viewDate=new Date(this.dates.get(-1)):this.viewDatethis.o.endDate?this.viewDate=new Date(this.o.endDate):this.viewDate=this.o.defaultViewDate),d?(this.setValue(),this.element.change()):this.dates.length&&String(b)!==String(this.dates)&&d&&(this._trigger("changeDate"),this.element.change()),!this.dates.length&&b.length&&(this._trigger("clearDate"),this.element.change()),this.fill(),this},fillDow:function(){if(this.o.showWeekDays){var b=this.o.weekStart,c="";for(this.o.calendarWeeks&&(c+=' ');b";c+="",this.picker.find(".datepicker-days thead").append(c)}},fillMonths:function(){for(var a,b=this._utc_to_local(this.viewDate),c="",d=0;d<12;d++)a=b&&b.getMonth()===d?" focused":"",c+=''+q[this.o.language].monthsShort[d]+"";this.picker.find(".datepicker-months td").html(c)},setRange:function(b){b&&b.length?this.range=a.map(b,function(a){return a.valueOf()}):delete this.range,this.fill()},getClassNames:function(b){var c=[],f=this.viewDate.getUTCFullYear(),g=this.viewDate.getUTCMonth(),h=d();return b.getUTCFullYear()f||b.getUTCFullYear()===f&&b.getUTCMonth()>g)&&c.push("new"),this.focusDate&&b.valueOf()===this.focusDate.valueOf()&&c.push("focused"),this.o.todayHighlight&&e(b,h)&&c.push("today"),this.dates.contains(b)!==-1&&c.push("active"),this.dateWithinRange(b)||c.push("disabled"),this.dateIsDisabled(b)&&c.push("disabled","disabled-date"),a.inArray(b.getUTCDay(),this.o.daysOfWeekHighlighted)!==-1&&c.push("highlighted"),this.range&&(b>this.range[0]&&bh)&&j.push("disabled"),t===r&&j.push("focused"),i!==a.noop&&(l=i(new Date(t,0,1)),l===b?l={}:"boolean"==typeof l?l={enabled:l}:"string"==typeof l&&(l={classes:l}),l.enabled===!1&&j.push("disabled"),l.classes&&(j=j.concat(l.classes.split(/\s+/))),l.tooltip&&(k=l.tooltip)),m+='"+t+"";o.find(".datepicker-switch").text(p+"-"+q),o.find("td").html(m)},fill:function(){var d,e,f=new Date(this.viewDate),g=f.getUTCFullYear(),h=f.getUTCMonth(),i=this.o.startDate!==-(1/0)?this.o.startDate.getUTCFullYear():-(1/0),j=this.o.startDate!==-(1/0)?this.o.startDate.getUTCMonth():-(1/0),k=this.o.endDate!==1/0?this.o.endDate.getUTCFullYear():1/0,l=this.o.endDate!==1/0?this.o.endDate.getUTCMonth():1/0,m=q[this.o.language].today||q.en.today||"",n=q[this.o.language].clear||q.en.clear||"",o=q[this.o.language].titleFormat||q.en.titleFormat;if(!isNaN(g)&&!isNaN(h)){this.picker.find(".datepicker-days .datepicker-switch").text(r.formatDate(f,o,this.o.language)),this.picker.find("tfoot .today").text(m).css("display",this.o.todayBtn===!0||"linked"===this.o.todayBtn?"table-cell":"none"),this.picker.find("tfoot .clear").text(n).css("display",this.o.clearBtn===!0?"table-cell":"none"),this.picker.find("thead .datepicker-title").text(this.o.title).css("display","string"==typeof this.o.title&&""!==this.o.title?"table-cell":"none"),this.updateNavArrows(),this.fillMonths();var p=c(g,h,0),s=p.getUTCDate();p.setUTCDate(s-(p.getUTCDay()-this.o.weekStart+7)%7);var t=new Date(p);p.getUTCFullYear()<100&&t.setUTCFullYear(p.getUTCFullYear()),t.setUTCDate(t.getUTCDate()+42),t=t.valueOf();for(var u,v,w=[];p.valueOf()"),this.o.calendarWeeks)){var x=new Date(+p+(this.o.weekStart-u-7)%7*864e5),y=new Date(Number(x)+(11-x.getUTCDay())%7*864e5),z=new Date(Number(z=c(y.getUTCFullYear(),0,1))+(11-z.getUTCDay())%7*864e5),A=(y-z)/864e5/7+1;w.push(''+A+"")}v=this.getClassNames(p),v.push("day");var B=p.getUTCDate();this.o.beforeShowDay!==a.noop&&(e=this.o.beforeShowDay(this._utc_to_local(p)),e===b?e={}:"boolean"==typeof e?e={enabled:e}:"string"==typeof e&&(e={classes:e}),e.enabled===!1&&v.push("disabled"),e.classes&&(v=v.concat(e.classes.split(/\s+/))),e.tooltip&&(d=e.tooltip),e.content&&(B=e.content)),v=a.isFunction(a.uniqueSort)?a.uniqueSort(v):a.unique(v),w.push(''+B+""),d=null,u===this.o.weekEnd&&w.push(""),p.setUTCDate(p.getUTCDate()+1)}this.picker.find(".datepicker-days tbody").html(w.join(""));var C=q[this.o.language].monthsTitle||q.en.monthsTitle||"Months",D=this.picker.find(".datepicker-months").find(".datepicker-switch").text(this.o.maxViewMode<2?C:g).end().find("tbody span").removeClass("active");if(a.each(this.dates,function(a,b){b.getUTCFullYear()===g&&D.eq(b.getUTCMonth()).addClass("active")}),(gk)&&D.addClass("disabled"),g===i&&D.slice(0,j).addClass("disabled"),g===k&&D.slice(l+1).addClass("disabled"),this.o.beforeShowMonth!==a.noop){var E=this;a.each(D,function(c,d){var e=new Date(g,c,1),f=E.o.beforeShowMonth(e);f===b?f={}:"boolean"==typeof f?f={enabled:f}:"string"==typeof f&&(f={classes:f}),f.enabled!==!1||a(d).hasClass("disabled")||a(d).addClass("disabled"),f.classes&&a(d).addClass(f.classes),f.tooltip&&a(d).prop("title",f.tooltip)})}this._fill_yearsView(".datepicker-years","year",10,g,i,k,this.o.beforeShowYear),this._fill_yearsView(".datepicker-decades","decade",100,g,i,k,this.o.beforeShowDecade),this._fill_yearsView(".datepicker-centuries","century",1e3,g,i,k,this.o.beforeShowCentury)}},updateNavArrows:function(){if(this._allow_update){var a,b,c=new Date(this.viewDate),d=c.getUTCFullYear(),e=c.getUTCMonth(),f=this.o.startDate!==-(1/0)?this.o.startDate.getUTCFullYear():-(1/0),g=this.o.startDate!==-(1/0)?this.o.startDate.getUTCMonth():-(1/0),h=this.o.endDate!==1/0?this.o.endDate.getUTCFullYear():1/0,i=this.o.endDate!==1/0?this.o.endDate.getUTCMonth():1/0,j=1;switch(this.viewMode){case 4:j*=10;case 3:j*=10;case 2:j*=10;case 1:a=Math.floor(d/j)*jh;break;case 0:a=d<=f&&e=h&&e>i}this.picker.find(".prev").toggleClass("disabled",a),this.picker.find(".next").toggleClass("disabled",b)}},click:function(b){b.preventDefault(),b.stopPropagation();var e,f,g,h;e=a(b.target),e.hasClass("datepicker-switch")&&this.viewMode!==this.o.maxViewMode&&this.setViewMode(this.viewMode+1),e.hasClass("today")&&!e.hasClass("day")&&(this.setViewMode(0),this._setDate(d(),"linked"===this.o.todayBtn?null:"view")),e.hasClass("clear")&&this.clearDates(),e.hasClass("disabled")||(e.hasClass("month")||e.hasClass("year")||e.hasClass("decade")||e.hasClass("century"))&&(this.viewDate.setUTCDate(1),f=1,1===this.viewMode?(h=e.parent().find("span").index(e),g=this.viewDate.getUTCFullYear(),this.viewDate.setUTCMonth(h)):(h=0,g=Number(e.text()),this.viewDate.setUTCFullYear(g)),this._trigger(r.viewModes[this.viewMode-1].e,this.viewDate),this.viewMode===this.o.minViewMode?this._setDate(c(g,h,f)):(this.setViewMode(this.viewMode-1),this.fill())),this.picker.is(":visible")&&this._focused_from&&this._focused_from.focus(),delete this._focused_from},dayCellClick:function(b){var c=a(b.currentTarget),d=c.data("date"),e=new Date(d);this.o.updateViewDate&&(e.getUTCFullYear()!==this.viewDate.getUTCFullYear()&&this._trigger("changeYear",this.viewDate),e.getUTCMonth()!==this.viewDate.getUTCMonth()&&this._trigger("changeMonth",this.viewDate)),this._setDate(e)},navArrowsClick:function(b){var c=a(b.currentTarget),d=c.hasClass("prev")?-1:1;0!==this.viewMode&&(d*=12*r.viewModes[this.viewMode].navStep),this.viewDate=this.moveMonth(this.viewDate,d),this._trigger(r.viewModes[this.viewMode].e,this.viewDate),this.fill()},_toggle_multidate:function(a){var b=this.dates.contains(a);if(a||this.dates.clear(),b!==-1?(this.o.multidate===!0||this.o.multidate>1||this.o.toggleActive)&&this.dates.remove(b):this.o.multidate===!1?(this.dates.clear(),this.dates.push(a)):this.dates.push(a),"number"==typeof this.o.multidate)for(;this.dates.length>this.o.multidate;)this.dates.remove(0)},_setDate:function(a,b){b&&"date"!==b||this._toggle_multidate(a&&new Date(a)),(!b&&this.o.updateViewDate||"view"===b)&&(this.viewDate=a&&new Date(a)),this.fill(),this.setValue(),b&&"view"===b||this._trigger("changeDate"),this.inputField.trigger("change"),!this.o.autoclose||b&&"date"!==b||this.hide()},moveDay:function(a,b){var c=new Date(a);return c.setUTCDate(a.getUTCDate()+b),c},moveWeek:function(a,b){return this.moveDay(a,7*b)},moveMonth:function(a,b){if(!g(a))return this.o.defaultViewDate;if(!b)return a;var c,d,e=new Date(a.valueOf()),f=e.getUTCDate(),h=e.getUTCMonth(),i=Math.abs(b);if(b=b>0?1:-1,1===i)d=b===-1?function(){return e.getUTCMonth()===h}:function(){return e.getUTCMonth()!==c},c=h+b,e.setUTCMonth(c),c=(c+12)%12;else{for(var j=0;j0},dateWithinRange:function(a){return a>=this.o.startDate&&a<=this.o.endDate},keydown:function(a){if(!this.picker.is(":visible"))return void(40!==a.keyCode&&27!==a.keyCode||(this.show(),a.stopPropagation()));var b,c,d=!1,e=this.focusDate||this.viewDate;switch(a.keyCode){case 27:this.focusDate?(this.focusDate=null,this.viewDate=this.dates.get(-1)||this.viewDate,this.fill()):this.hide(),a.preventDefault(),a.stopPropagation();break;case 37:case 38:case 39:case 40:if(!this.o.keyboardNavigation||7===this.o.daysOfWeekDisabled.length)break;b=37===a.keyCode||38===a.keyCode?-1:1,0===this.viewMode?a.ctrlKey?(c=this.moveAvailableDate(e,b,"moveYear"),c&&this._trigger("changeYear",this.viewDate)):a.shiftKey?(c=this.moveAvailableDate(e,b,"moveMonth"),c&&this._trigger("changeMonth",this.viewDate)):37===a.keyCode||39===a.keyCode?c=this.moveAvailableDate(e,b,"moveDay"):this.weekOfDateIsDisabled(e)||(c=this.moveAvailableDate(e,b,"moveWeek")):1===this.viewMode?(38!==a.keyCode&&40!==a.keyCode||(b*=4),c=this.moveAvailableDate(e,b,"moveMonth")):2===this.viewMode&&(38!==a.keyCode&&40!==a.keyCode||(b*=4),c=this.moveAvailableDate(e,b,"moveYear")),c&&(this.focusDate=this.viewDate=c,this.setValue(),this.fill(),a.preventDefault());break;case 13:if(!this.o.forceParse)break;e=this.focusDate||this.dates.get(-1)||this.viewDate,this.o.keyboardNavigation&&(this._toggle_multidate(e),d=!0),this.focusDate=null,this.viewDate=this.dates.get(-1)||this.viewDate,this.setValue(),this.fill(),this.picker.is(":visible")&&(a.preventDefault(),a.stopPropagation(),this.o.autoclose&&this.hide());break;case 9:this.focusDate=null,this.viewDate=this.dates.get(-1)||this.viewDate,this.fill(),this.hide()}d&&(this.dates.length?this._trigger("changeDate"):this._trigger("clearDate"),this.inputField.trigger("change"))},setViewMode:function(a){this.viewMode=a,this.picker.children("div").hide().filter(".datepicker-"+r.viewModes[this.viewMode].clsName).show(),this.updateNavArrows(),this._trigger("changeViewMode",new Date(this.viewDate))}};var l=function(b,c){a.data(b,"datepicker",this),this.element=a(b),this.inputs=a.map(c.inputs,function(a){return a.jquery?a[0]:a}),delete c.inputs,this.keepEmptyValues=c.keepEmptyValues,delete c.keepEmptyValues,n.call(a(this.inputs),c).on("changeDate",a.proxy(this.dateUpdated,this)),this.pickers=a.map(this.inputs,function(b){return a.data(b,"datepicker")}),this.updateDates()};l.prototype={updateDates:function(){this.dates=a.map(this.pickers,function(a){return a.getUTCDate()}),this.updateRanges()},updateRanges:function(){var b=a.map(this.dates,function(a){return a.valueOf()});a.each(this.pickers,function(a,c){c.setRange(b)})},clearDates:function(){a.each(this.pickers,function(a,b){b.clearDates()})},dateUpdated:function(c){if(!this.updating){this.updating=!0;var d=a.data(c.target,"datepicker");if(d!==b){var e=d.getUTCDate(),f=this.keepEmptyValues,g=a.inArray(c.target,this.inputs),h=g-1,i=g+1,j=this.inputs.length;if(g!==-1){if(a.each(this.pickers,function(a,b){b.getUTCDate()||b!==d&&f||b.setUTCDate(e)}),e=0&&ethis.dates[i])for(;ithis.dates[i];)this.pickers[i++].setUTCDate(e);this.updateDates(),delete this.updating}}}},destroy:function(){a.map(this.pickers,function(a){a.destroy()}),a(this.inputs).off("changeDate",this.dateUpdated),delete this.element.data().datepicker},remove:f("destroy","Method `remove` is deprecated and will be removed in version 2.0. Use `destroy` instead")};var m=a.fn.datepicker,n=function(c){var d=Array.apply(null,arguments);d.shift();var e;if(this.each(function(){var b=a(this),f=b.data("datepicker"),g="object"==typeof c&&c;if(!f){var j=h(this,"date"),m=a.extend({},o,j,g),n=i(m.language),p=a.extend({},o,n,j,g);b.hasClass("input-daterange")||p.inputs?(a.extend(p,{inputs:p.inputs||b.find("input").toArray()}),f=new l(this,p)):f=new k(this,p),b.data("datepicker",f)}"string"==typeof c&&"function"==typeof f[c]&&(e=f[c].apply(f,d))}),e===b||e instanceof k||e instanceof l)return this;if(this.length>1)throw new Error("Using only allowed for the collection of a single element ("+c+" function)");return e};a.fn.datepicker=n;var o=a.fn.datepicker.defaults={assumeNearbyYear:!1,autoclose:!1,beforeShowDay:a.noop,beforeShowMonth:a.noop,beforeShowYear:a.noop,beforeShowDecade:a.noop,beforeShowCentury:a.noop,calendarWeeks:!1,clearBtn:!1,toggleActive:!1,daysOfWeekDisabled:[],daysOfWeekHighlighted:[],datesDisabled:[],endDate:1/0,forceParse:!0,format:"mm/dd/yyyy",keepEmptyValues:!1,keyboardNavigation:!0,language:"en",minViewMode:0,maxViewMode:4,multidate:!1,multidateSeparator:",",orientation:"auto",rtl:!1,startDate:-(1/0),startView:0,todayBtn:!1,todayHighlight:!1,updateViewDate:!0,weekStart:0,disableTouchKeyboard:!1,enableOnReadonly:!0,showOnFocus:!0,zIndexOffset:10,container:"body",immediateUpdates:!1,title:"",templates:{leftArrow:"«",rightArrow:"»"},showWeekDays:!0},p=a.fn.datepicker.locale_opts=["format","rtl","weekStart"];a.fn.datepicker.Constructor=k;var q=a.fn.datepicker.dates={en:{days:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],daysShort:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],daysMin:["Su","Mo","Tu","We","Th","Fr","Sa"],months:["January","February","March","April","May","June","July","August","September","October","November","December"],monthsShort:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],today:"Today",clear:"Clear",titleFormat:"MM yyyy"}},r={viewModes:[{names:["days","month"],clsName:"days",e:"changeMonth"},{names:["months","year"],clsName:"months",e:"changeYear",navStep:1},{names:["years","decade"],clsName:"years",e:"changeDecade",navStep:10},{names:["decades","century"],clsName:"decades",e:"changeCentury",navStep:100},{names:["centuries","millennium"],clsName:"centuries",e:"changeMillennium",navStep:1e3}],validParts:/dd?|DD?|mm?|MM?|yy(?:yy)?/g,nonpunctuation:/[^ -\/:-@\u5e74\u6708\u65e5\[-`{-~\t\n\r]+/g,parseFormat:function(a){if("function"==typeof a.toValue&&"function"==typeof a.toDisplay)return a;var b=a.replace(this.validParts,"\0").split("\0"),c=a.match(this.validParts);if(!b||!b.length||!c||0===c.length)throw new Error("Invalid date format.");return{separators:b,parts:c}},parseDate:function(c,e,f,g){function h(a,b){return b===!0&&(b=10),a<100&&(a+=2e3,a>(new Date).getFullYear()+b&&(a-=100)),a}function i(){var a=this.slice(0,j[n].length),b=j[n].slice(0,a.length);return a.toLowerCase()===b.toLowerCase()}if(!c)return b;if(c instanceof Date)return c;if("string"==typeof e&&(e=r.parseFormat(e)),e.toValue)return e.toValue(c,e,f);var j,l,m,n,o,p={d:"moveDay",m:"moveMonth",w:"moveWeek",y:"moveYear"},s={yesterday:"-1d",today:"+0d",tomorrow:"+1d"};if(c in s&&(c=s[c]),/^[\-+]\d+[dmwy]([\s,]+[\-+]\d+[dmwy])*$/i.test(c)){for(j=c.match(/([\-+]\d+)([dmwy])/gi),c=new Date,n=0;n'+o.templates.leftArrow+''+o.templates.rightArrow+"", +contTemplate:'',footTemplate:''};r.template='
'+r.headTemplate+""+r.footTemplate+'
'+r.headTemplate+r.contTemplate+r.footTemplate+'
'+r.headTemplate+r.contTemplate+r.footTemplate+'
'+r.headTemplate+r.contTemplate+r.footTemplate+'
'+r.headTemplate+r.contTemplate+r.footTemplate+"
",a.fn.datepicker.DPGlobal=r,a.fn.datepicker.noConflict=function(){return a.fn.datepicker=m,this},a.fn.datepicker.version="1.8.0",a.fn.datepicker.deprecated=function(a){var b=window.console;b&&b.warn&&b.warn("DEPRECATED: "+a)},a(document).on("focus.datepicker.data-api click.datepicker.data-api",'[data-provide="datepicker"]',function(b){var c=a(this);c.data("datepicker")||(b.preventDefault(),n.call(c,"show"))}),a(function(){n.call(a('[data-provide="datepicker-inline"]'))})}); \ No newline at end of file diff --git a/js/vendors/cropper.js b/js/vendors/cropper.js index 1912e2ecda..3757403d3b 100644 --- a/js/vendors/cropper.js +++ b/js/vendors/cropper.js @@ -1,27 +1,84 @@ /*! - * Cropper v3.0.0-rc.2 + * Cropper v3.1.6 * https://github.com/fengyuanchen/cropper * - * Copyright (c) 2017 Fengyuan Chen + * Copyright (c) 2014-2018 Chen Fengyuan * Released under the MIT license * - * Date: 2017-05-30T05:04:38.958Z + * Date: 2018-03-01T13:33:48.179Z */ (function (global, factory) { - typeof exports === 'object' && typeof module !== 'undefined' ? factory(require('jquery')) : - typeof define === 'function' && define.amd ? define(['jquery'], factory) : - (factory(global.jQuery)); + typeof exports === 'object' && typeof module !== 'undefined' ? factory(require('jquery')) : + typeof define === 'function' && define.amd ? define(['jquery'], factory) : + (factory(global.jQuery)); }(this, (function ($) { 'use strict'; -$ = 'default' in $ ? $['default'] : $; +$ = $ && $.hasOwnProperty('default') ? $['default'] : $; + +var WINDOW = typeof window !== 'undefined' ? window : {}; +var NAMESPACE = 'cropper'; + +// Actions +var ACTION_ALL = 'all'; +var ACTION_CROP = 'crop'; +var ACTION_MOVE = 'move'; +var ACTION_ZOOM = 'zoom'; +var ACTION_EAST = 'e'; +var ACTION_WEST = 'w'; +var ACTION_SOUTH = 's'; +var ACTION_NORTH = 'n'; +var ACTION_NORTH_EAST = 'ne'; +var ACTION_NORTH_WEST = 'nw'; +var ACTION_SOUTH_EAST = 'se'; +var ACTION_SOUTH_WEST = 'sw'; + +// Classes +var CLASS_CROP = NAMESPACE + '-crop'; +var CLASS_DISABLED = NAMESPACE + '-disabled'; +var CLASS_HIDDEN = NAMESPACE + '-hidden'; +var CLASS_HIDE = NAMESPACE + '-hide'; +var CLASS_INVISIBLE = NAMESPACE + '-invisible'; +var CLASS_MODAL = NAMESPACE + '-modal'; +var CLASS_MOVE = NAMESPACE + '-move'; + +// Data keys +var DATA_ACTION = 'action'; +var DATA_PREVIEW = 'preview'; + +// Drag modes +var DRAG_MODE_CROP = 'crop'; +var DRAG_MODE_MOVE = 'move'; +var DRAG_MODE_NONE = 'none'; + +// Events +var EVENT_CROP = 'crop'; +var EVENT_CROP_END = 'cropend'; +var EVENT_CROP_MOVE = 'cropmove'; +var EVENT_CROP_START = 'cropstart'; +var EVENT_DBLCLICK = 'dblclick'; +var EVENT_ERROR = 'error'; +var EVENT_LOAD = 'load'; +var EVENT_POINTER_DOWN = WINDOW.PointerEvent ? 'pointerdown' : 'touchstart mousedown'; +var EVENT_POINTER_MOVE = WINDOW.PointerEvent ? 'pointermove' : 'touchmove mousemove'; +var EVENT_POINTER_UP = WINDOW.PointerEvent ? 'pointerup pointercancel' : 'touchend touchcancel mouseup'; +var EVENT_READY = 'ready'; +var EVENT_RESIZE = 'resize'; +var EVENT_WHEEL = 'wheel mousewheel DOMMouseScroll'; +var EVENT_ZOOM = 'zoom'; + +// RegExps +var REGEXP_ACTIONS = /^(e|w|s|n|se|sw|ne|nw|all|crop|move|zoom)$/; +var REGEXP_DATA_URL = /^data:/; +var REGEXP_DATA_URL_JPEG = /^data:image\/jpeg;base64,/; +var REGEXP_TAG_NAME = /^(img|canvas)$/i; var DEFAULTS = { // Define the view mode of the cropper viewMode: 0, // 0, 1, 2, 3 // Define the dragging mode of the cropper - dragMode: 'crop', // 'crop', 'move' or 'none' + dragMode: DRAG_MODE_CROP, // 'crop', 'move' or 'none' // Define the aspect ratio of the crop box aspectRatio: NaN, @@ -114,32 +171,79 @@ var DEFAULTS = { var TEMPLATE = '
' + '
' + '
' + '
' + '
' + '
' + '' + '' + '' + '' + '' + '' + '' + '' + '' + '' + '' + '' + '' + '' + '' + '' + '' + '
' + '
'; -var REGEXP_DATA_URL_HEAD = /^data:.*,/; -var REGEXP_USERAGENT = /(Macintosh|iPhone|iPod|iPad).*AppleWebKit/i; -var navigator = typeof window !== 'undefined' ? window.navigator : null; -var IS_SAFARI_OR_UIWEBVIEW = navigator && REGEXP_USERAGENT.test(navigator.userAgent); -var fromCharCode = String.fromCharCode; +var classCallCheck = function (instance, Constructor) { + if (!(instance instanceof Constructor)) { + throw new TypeError("Cannot call a class as a function"); + } +}; -function isNumber(n) { - return typeof n === 'number' && !isNaN(n); -} +var createClass = function () { + function defineProperties(target, props) { + for (var i = 0; i < props.length; i++) { + var descriptor = props[i]; + descriptor.enumerable = descriptor.enumerable || false; + descriptor.configurable = true; + if ("value" in descriptor) descriptor.writable = true; + Object.defineProperty(target, descriptor.key, descriptor); + } + } -function isUndefined(n) { - return typeof n === 'undefined'; -} + return function (Constructor, protoProps, staticProps) { + if (protoProps) defineProperties(Constructor.prototype, protoProps); + if (staticProps) defineProperties(Constructor, staticProps); + return Constructor; + }; +}(); -function toArray(obj, offset) { - var args = []; +var toConsumableArray = function (arr) { + if (Array.isArray(arr)) { + for (var i = 0, arr2 = Array(arr.length); i < arr.length; i++) arr2[i] = arr[i]; - // This is necessary for IE8 - if (isNumber(offset)) { - args.push(offset); + return arr2; + } else { + return Array.from(arr); } +}; + +/** + * Check if the given value is a string. + * @param {*} value - The value to check. + * @returns {boolean} Returns `true` if the given value is a string, else `false`. + */ +function isString(value) { + return typeof value === 'string'; +} + +/** + * Check if the given value is not a number. + */ +var isNaN = Number.isNaN || WINDOW.isNaN; - return args.slice.apply(obj, args); +/** + * Check if the given value is a number. + * @param {*} value - The value to check. + * @returns {boolean} Returns `true` if the given value is a number, else `false`. + */ +function isNumber(value) { + return typeof value === 'number' && !isNaN(value); +} + +/** + * Check if the given value is undefined. + * @param {*} value - The value to check. + * @returns {boolean} Returns `true` if the given value is undefined, else `false`. + */ +function isUndefined(value) { + return typeof value === 'undefined'; } -// Custom proxy to avoid jQuery's guid +/** + * Takes a function and returns a new one that will always have a particular context. + * Custom proxy to avoid jQuery's guid. + * @param {Function} fn - The target function. + * @param {Object} context - The new context for the function. + * @returns {Function} The new function. + */ function proxy(fn, context) { for (var _len = arguments.length, args = Array(_len > 2 ? _len - 2 : 0), _key = 2; _key < _len; _key++) { args[_key - 2] = arguments[_key]; @@ -150,11 +254,16 @@ function proxy(fn, context) { args2[_key2] = arguments[_key2]; } - return fn.apply(context, args.concat(toArray(args2))); + return fn.apply(context, args.concat(args2)); }; } -function objectKeys(obj) { +/** + * Get the own enumerable properties of a given object. + * @param {Object} obj - The target object. + * @returns {Array} All the own enumerable properties of the given object. + */ +var objectKeys = Object.keys || function objectKeys(obj) { var keys = []; $.each(obj, function (key) { @@ -162,188 +271,416 @@ function objectKeys(obj) { }); return keys; +}; + +var REGEXP_DECIMALS = /\.\d*(?:0|9){12}\d*$/i; + +/** + * Normalize decimal number. + * Check out {@link http://0.30000000000000004.com/ } + * @param {number} value - The value to normalize. + * @param {number} [times=100000000000] - The times for normalizing. + * @returns {number} Returns the normalized number. + */ +function normalizeDecimalNumber(value) { + var times = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 100000000000; + + return REGEXP_DECIMALS.test(value) ? Math.round(value * times) / times : value; } +var location = WINDOW.location; + +var REGEXP_ORIGINS = /^(https?:)\/\/([^:/?#]+):?(\d*)/i; + +/** + * Check if the given URL is a cross origin URL. + * @param {string} url - The target URL. + * @returns {boolean} Returns `true` if the given URL is a cross origin URL, else `false`. + */ function isCrossOriginURL(url) { - var parts = url.match(/^(https?:)\/\/([^:/?#]+):?(\d*)/i); + var parts = url.match(REGEXP_ORIGINS); return parts && (parts[1] !== location.protocol || parts[2] !== location.hostname || parts[3] !== location.port); } +/** + * Add timestamp to the given URL. + * @param {string} url - The target URL. + * @returns {string} The result URL. + */ function addTimestamp(url) { var timestamp = 'timestamp=' + new Date().getTime(); return url + (url.indexOf('?') === -1 ? '?' : '&') + timestamp; } -function getImageSize(image, callback) { - // Modern browsers (ignore Safari, #120 & #509) - if (image.naturalWidth && !IS_SAFARI_OR_UIWEBVIEW) { - callback(image.naturalWidth, image.naturalHeight); - return; - } - - // IE8: Don't use `new Image()` here (#319) - var newImage = document.createElement('img'); - - newImage.onload = function load() { - callback(this.width, this.height); - }; - - newImage.src = image.src; -} +/** + * Get transform values base on the given object. + * @param {Object} obj - The target object. + * @returns {string} A string contains transform values. + */ +function getTransformValues(_ref) { + var rotate = _ref.rotate, + scaleX = _ref.scaleX, + scaleY = _ref.scaleY, + translateX = _ref.translateX, + translateY = _ref.translateY; -function getTransform(options) { - var transforms = []; - var translateX = options.translateX; - var translateY = options.translateY; - var rotate = options.rotate; - var scaleX = options.scaleX; - var scaleY = options.scaleY; + var values = []; if (isNumber(translateX) && translateX !== 0) { - transforms.push('translateX(' + translateX + 'px)'); + values.push('translateX(' + translateX + 'px)'); } if (isNumber(translateY) && translateY !== 0) { - transforms.push('translateY(' + translateY + 'px)'); + values.push('translateY(' + translateY + 'px)'); } // Rotate should come first before scale to match orientation transform if (isNumber(rotate) && rotate !== 0) { - transforms.push('rotate(' + rotate + 'deg)'); + values.push('rotate(' + rotate + 'deg)'); } if (isNumber(scaleX) && scaleX !== 1) { - transforms.push('scaleX(' + scaleX + ')'); + values.push('scaleX(' + scaleX + ')'); } if (isNumber(scaleY) && scaleY !== 1) { - transforms.push('scaleY(' + scaleY + ')'); + values.push('scaleY(' + scaleY + ')'); } - return transforms.length ? transforms.join(' ') : 'none'; + return values.length ? values.join(' ') : 'none'; } -function getRotatedSizes(data, isReversed) { - var deg = Math.abs(data.degree) % 180; - var arc = (deg > 90 ? 180 - deg : deg) * Math.PI / 180; - var sinArc = Math.sin(arc); - var cosArc = Math.cos(arc); - var width = data.width; - var height = data.height; - var aspectRatio = data.aspectRatio; - var newWidth = void 0; - var newHeight = void 0; - - if (!isReversed) { - newWidth = width * cosArc + height * sinArc; - newHeight = width * sinArc + height * cosArc; - } else { - newWidth = width / (cosArc + sinArc / aspectRatio); - newHeight = newWidth / aspectRatio; +var navigator = WINDOW.navigator; + +var IS_SAFARI_OR_UIWEBVIEW = navigator && /(Macintosh|iPhone|iPod|iPad).*AppleWebKit/i.test(navigator.userAgent); + +/** + * Get an image's natural sizes. + * @param {string} image - The target image. + * @param {Function} callback - The callback function. + */ +function getImageNaturalSizes(image, callback) { + // Modern browsers (except Safari) + if (image.naturalWidth && !IS_SAFARI_OR_UIWEBVIEW) { + callback(image.naturalWidth, image.naturalHeight); + return; } - return { - width: newWidth, - height: newHeight + var newImage = document.createElement('img'); + + newImage.onload = function () { + callback(newImage.width, newImage.height); }; + + newImage.src = image.src; } -function getSourceCanvas(image, data) { - var canvas = $('')[0]; - var context = canvas.getContext('2d'); - var dstX = 0; - var dstY = 0; - var dstWidth = data.naturalWidth; - var dstHeight = data.naturalHeight; - var rotate = data.rotate; - var scaleX = data.scaleX; - var scaleY = data.scaleY; - var scalable = isNumber(scaleX) && isNumber(scaleY) && (scaleX !== 1 || scaleY !== 1); - var rotatable = isNumber(rotate) && rotate !== 0; - var advanced = rotatable || scalable; - var canvasWidth = dstWidth * Math.abs(scaleX || 1); - var canvasHeight = dstHeight * Math.abs(scaleY || 1); - var translateX = void 0; - var translateY = void 0; - var rotated = void 0; - - if (scalable) { - translateX = canvasWidth / 2; - translateY = canvasHeight / 2; - } +/** + * Get the max ratio of a group of pointers. + * @param {string} pointers - The target pointers. + * @returns {number} The result ratio. + */ +function getMaxZoomRatio(pointers) { + var pointers2 = $.extend({}, pointers); + var ratios = []; - if (rotatable) { - rotated = getRotatedSizes({ - width: canvasWidth, - height: canvasHeight, - degree: rotate + $.each(pointers, function (pointerId, pointer) { + delete pointers2[pointerId]; + + $.each(pointers2, function (pointerId2, pointer2) { + var x1 = Math.abs(pointer.startX - pointer2.startX); + var y1 = Math.abs(pointer.startY - pointer2.startY); + var x2 = Math.abs(pointer.endX - pointer2.endX); + var y2 = Math.abs(pointer.endY - pointer2.endY); + var z1 = Math.sqrt(x1 * x1 + y1 * y1); + var z2 = Math.sqrt(x2 * x2 + y2 * y2); + var ratio = (z2 - z1) / z1; + + ratios.push(ratio); }); + }); - canvasWidth = rotated.width; - canvasHeight = rotated.height; - translateX = canvasWidth / 2; - translateY = canvasHeight / 2; - } + ratios.sort(function (a, b) { + return Math.abs(a) < Math.abs(b); + }); - canvas.width = canvasWidth; - canvas.height = canvasHeight; + return ratios[0]; +} - if (advanced) { - dstX = -dstWidth / 2; - dstY = -dstHeight / 2; +/** + * Get a pointer from an event object. + * @param {Object} event - The target event object. + * @param {boolean} endOnly - Indicates if only returns the end point coordinate or not. + * @returns {Object} The result pointer contains start and/or end point coordinates. + */ +function getPointer(_ref2, endOnly) { + var pageX = _ref2.pageX, + pageY = _ref2.pageY; - context.save(); - context.translate(translateX, translateY); - } + var end = { + endX: pageX, + endY: pageY + }; - // Rotate should come first before scale as in the "getTransform" function - if (rotatable) { - context.rotate(rotate * Math.PI / 180); + if (endOnly) { + return end; } - if (scalable) { - context.scale(scaleX, scaleY); + return $.extend({ + startX: pageX, + startY: pageY + }, end); +} + +/** + * Get the center point coordinate of a group of pointers. + * @param {Object} pointers - The target pointers. + * @returns {Object} The center point coordinate. + */ +function getPointersCenter(pointers) { + var pageX = 0; + var pageY = 0; + var count = 0; + + $.each(pointers, function (pointerId, _ref3) { + var startX = _ref3.startX, + startY = _ref3.startY; + + pageX += startX; + pageY += startY; + count += 1; + }); + + pageX /= count; + pageY /= count; + + return { + pageX: pageX, + pageY: pageY + }; +} + +/** + * Check if the given value is a finite number. + */ +var isFinite = Number.isFinite || WINDOW.isFinite; + +/** + * Get the max sizes in a rectangle under the given aspect ratio. + * @param {Object} data - The original sizes. + * @param {string} [type='contain'] - The adjust type. + * @returns {Object} The result sizes. + */ +function getAdjustedSizes(_ref4) // or 'cover' +{ + var aspectRatio = _ref4.aspectRatio, + height = _ref4.height, + width = _ref4.width; + var type = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'contain'; + + var isValidNumber = function isValidNumber(value) { + return isFinite(value) && value > 0; + }; + + if (isValidNumber(width) && isValidNumber(height)) { + var adjustedWidth = height * aspectRatio; + + if (type === 'contain' && adjustedWidth > width || type === 'cover' && adjustedWidth < width) { + height = width / aspectRatio; + } else { + width = height * aspectRatio; + } + } else if (isValidNumber(width)) { + height = width / aspectRatio; + } else if (isValidNumber(height)) { + width = height * aspectRatio; } - context.drawImage(image, Math.floor(dstX), Math.floor(dstY), Math.floor(dstWidth), Math.floor(dstHeight)); + return { + width: width, + height: height + }; +} + +/** + * Get the new sizes of a rectangle after rotated. + * @param {Object} data - The original sizes. + * @returns {Object} The result sizes. + */ +function getRotatedSizes(_ref5) { + var width = _ref5.width, + height = _ref5.height, + degree = _ref5.degree; - if (advanced) { - context.restore(); + degree = Math.abs(degree) % 180; + + if (degree === 90) { + return { + width: height, + height: width + }; } + var arc = degree % 90 * Math.PI / 180; + var sinArc = Math.sin(arc); + var cosArc = Math.cos(arc); + var newWidth = width * cosArc + height * sinArc; + var newHeight = width * sinArc + height * cosArc; + + return degree > 90 ? { + width: newHeight, + height: newWidth + } : { + width: newWidth, + height: newHeight + }; +} + +/** + * Get a canvas which drew the given image. + * @param {HTMLImageElement} image - The image for drawing. + * @param {Object} imageData - The image data. + * @param {Object} canvasData - The canvas data. + * @param {Object} options - The options. + * @returns {HTMLCanvasElement} The result canvas. + */ +function getSourceCanvas(image, _ref6, _ref7, _ref8) { + var _ref6$rotate = _ref6.rotate, + rotate = _ref6$rotate === undefined ? 0 : _ref6$rotate, + _ref6$scaleX = _ref6.scaleX, + scaleX = _ref6$scaleX === undefined ? 1 : _ref6$scaleX, + _ref6$scaleY = _ref6.scaleY, + scaleY = _ref6$scaleY === undefined ? 1 : _ref6$scaleY; + var aspectRatio = _ref7.aspectRatio, + naturalWidth = _ref7.naturalWidth, + naturalHeight = _ref7.naturalHeight; + var _ref8$fillColor = _ref8.fillColor, + fillColor = _ref8$fillColor === undefined ? 'transparent' : _ref8$fillColor, + _ref8$imageSmoothingE = _ref8.imageSmoothingEnabled, + imageSmoothingEnabled = _ref8$imageSmoothingE === undefined ? true : _ref8$imageSmoothingE, + _ref8$imageSmoothingQ = _ref8.imageSmoothingQuality, + imageSmoothingQuality = _ref8$imageSmoothingQ === undefined ? 'low' : _ref8$imageSmoothingQ, + _ref8$maxWidth = _ref8.maxWidth, + maxWidth = _ref8$maxWidth === undefined ? Infinity : _ref8$maxWidth, + _ref8$maxHeight = _ref8.maxHeight, + maxHeight = _ref8$maxHeight === undefined ? Infinity : _ref8$maxHeight, + _ref8$minWidth = _ref8.minWidth, + minWidth = _ref8$minWidth === undefined ? 0 : _ref8$minWidth, + _ref8$minHeight = _ref8.minHeight, + minHeight = _ref8$minHeight === undefined ? 0 : _ref8$minHeight; + + var canvas = document.createElement('canvas'); + var context = canvas.getContext('2d'); + var maxSizes = getAdjustedSizes({ + aspectRatio: aspectRatio, + width: maxWidth, + height: maxHeight + }); + var minSizes = getAdjustedSizes({ + aspectRatio: aspectRatio, + width: minWidth, + height: minHeight + }, 'cover'); + var width = Math.min(maxSizes.width, Math.max(minSizes.width, naturalWidth)); + var height = Math.min(maxSizes.height, Math.max(minSizes.height, naturalHeight)); + var params = [-width / 2, -height / 2, width, height]; + + canvas.width = normalizeDecimalNumber(width); + canvas.height = normalizeDecimalNumber(height); + context.fillStyle = fillColor; + context.fillRect(0, 0, width, height); + context.save(); + context.translate(width / 2, height / 2); + context.rotate(rotate * Math.PI / 180); + context.scale(scaleX, scaleY); + context.imageSmoothingEnabled = imageSmoothingEnabled; + context.imageSmoothingQuality = imageSmoothingQuality; + context.drawImage.apply(context, [image].concat(toConsumableArray($.map(params, function (param) { + return Math.floor(normalizeDecimalNumber(param)); + })))); + context.restore(); return canvas; } +var fromCharCode = String.fromCharCode; + +/** + * Get string from char code in data view. + * @param {DataView} dataView - The data view for read. + * @param {number} start - The start index. + * @param {number} length - The read length. + * @returns {string} The read result. + */ + function getStringFromCharCode(dataView, start, length) { var str = ''; var i = void 0; - for (i = start, length += start; i < length; i++) { + length += start; + + for (i = start; i < length; i += 1) { str += fromCharCode(dataView.getUint8(i)); } return str; } +var REGEXP_DATA_URL_HEAD = /^data:.*,/; + +/** + * Transform Data URL to array buffer. + * @param {string} dataURL - The Data URL to transform. + * @returns {ArrayBuffer} The result array buffer. + */ +function dataURLToArrayBuffer(dataURL) { + var base64 = dataURL.replace(REGEXP_DATA_URL_HEAD, ''); + var binary = atob(base64); + var arrayBuffer = new ArrayBuffer(binary.length); + var uint8 = new Uint8Array(arrayBuffer); + + $.each(uint8, function (i) { + uint8[i] = binary.charCodeAt(i); + }); + + return arrayBuffer; +} + +/** + * Transform array buffer to Data URL. + * @param {ArrayBuffer} arrayBuffer - The array buffer to transform. + * @param {string} mimeType - The mime type of the Data URL. + * @returns {string} The result Data URL. + */ +function arrayBufferToDataURL(arrayBuffer, mimeType) { + var uint8 = new Uint8Array(arrayBuffer); + var data = ''; + + // TypedArray.prototype.forEach is not supported in some browsers. + $.each(uint8, function (i, value) { + data += fromCharCode(value); + }); + + return 'data:' + mimeType + ';base64,' + btoa(data); +} + +/** + * Get orientation value from given array buffer. + * @param {ArrayBuffer} arrayBuffer - The array buffer to read. + * @returns {number} The read orientation value. + */ function getOrientation(arrayBuffer) { var dataView = new DataView(arrayBuffer); - var length = dataView.byteLength; var orientation = void 0; - var exifIDCode = void 0; - var tiffOffset = void 0; - var firstIFDOffset = void 0; var littleEndian = void 0; - var endianness = void 0; var app1Start = void 0; var ifdStart = void 0; - var offset = void 0; - var i = void 0; // Only handle JPEG image (start by 0xFFD8) if (dataView.getUint8(0) === 0xFF && dataView.getUint8(1) === 0xD8) { - offset = 2; + var length = dataView.byteLength; + var offset = 2; while (offset < length) { if (dataView.getUint8(offset) === 0xFF && dataView.getUint8(offset + 1) === 0xE1) { @@ -351,21 +688,22 @@ function getOrientation(arrayBuffer) { break; } - offset++; + offset += 1; } } if (app1Start) { - exifIDCode = app1Start + 4; - tiffOffset = app1Start + 10; + var exifIDCode = app1Start + 4; + var tiffOffset = app1Start + 10; if (getStringFromCharCode(dataView, exifIDCode, 4) === 'Exif') { - endianness = dataView.getUint16(tiffOffset); + var endianness = dataView.getUint16(tiffOffset); + littleEndian = endianness === 0x4949; if (littleEndian || endianness === 0x4D4D /* bigEndian */) { if (dataView.getUint16(tiffOffset + 2, littleEndian) === 0x002A) { - firstIFDOffset = dataView.getUint32(tiffOffset + 4, littleEndian); + var firstIFDOffset = dataView.getUint32(tiffOffset + 4, littleEndian); if (firstIFDOffset >= 0x00000008) { ifdStart = tiffOffset + firstIFDOffset; @@ -376,23 +714,22 @@ function getOrientation(arrayBuffer) { } if (ifdStart) { - length = dataView.getUint16(ifdStart, littleEndian); + var _length = dataView.getUint16(ifdStart, littleEndian); + var _offset = void 0; + var i = void 0; - for (i = 0; i < length; i++) { - offset = ifdStart + i * 12 + 2; + for (i = 0; i < _length; i += 1) { + _offset = ifdStart + i * 12 + 2; - if (dataView.getUint16(offset, littleEndian) === 0x0112 /* Orientation */) { + if (dataView.getUint16(_offset, littleEndian) === 0x0112 /* Orientation */) { // 8 is the offset of the current tag's value - offset += 8; + _offset += 8; // Get the original orientation value - orientation = dataView.getUint16(offset, littleEndian); - - // Override the orientation with its default value for Safari (#120) - if (IS_SAFARI_OR_UIWEBVIEW) { - dataView.setUint16(offset, 1, littleEndian); - } + orientation = dataView.getUint16(_offset, littleEndian); + // Override the orientation with its default value + dataView.setUint16(_offset, 1, littleEndian); break; } } @@ -401,136 +738,157 @@ function getOrientation(arrayBuffer) { return orientation; } -function dataURLToArrayBuffer(dataURL) { - var base64 = dataURL.replace(REGEXP_DATA_URL_HEAD, ''); - var binary = atob(base64); - var length = binary.length; - var arrayBuffer = new ArrayBuffer(length); - var dataView = new Uint8Array(arrayBuffer); - var i = void 0; - - for (i = 0; i < length; i++) { - dataView[i] = binary.charCodeAt(i); - } - - return arrayBuffer; -} - -// Only available for JPEG image -function arrayBufferToDataURL(arrayBuffer) { - var dataView = new Uint8Array(arrayBuffer); - var length = dataView.length; - var base64 = ''; - var i = void 0; - - for (i = 0; i < length; i++) { - base64 += fromCharCode(dataView[i]); +/** + * Parse Exif Orientation value. + * @param {number} orientation - The orientation to parse. + * @returns {Object} The parsed result. + */ +function parseOrientation(orientation) { + var rotate = 0; + var scaleX = 1; + var scaleY = 1; + + switch (orientation) { + // Flip horizontal + case 2: + scaleX = -1; + break; + + // Rotate left 180° + case 3: + rotate = -180; + break; + + // Flip vertical + case 4: + scaleY = -1; + break; + + // Flip vertical and rotate right 90° + case 5: + rotate = 90; + scaleY = -1; + break; + + // Rotate right 90° + case 6: + rotate = 90; + break; + + // Flip horizontal and rotate right 90° + case 7: + rotate = 90; + scaleX = -1; + break; + + // Rotate left 90° + case 8: + rotate = -90; + break; + + default: } - return 'data:image/jpeg;base64,' + btoa(base64); + return { + rotate: rotate, + scaleX: scaleX, + scaleY: scaleY + }; } -var render$1 = { +var render = { render: function render() { - var self = this; + this.initContainer(); + this.initCanvas(); + this.initCropBox(); + this.renderCanvas(); - self.initContainer(); - self.initCanvas(); - self.initCropBox(); - - self.renderCanvas(); - - if (self.cropped) { - self.renderCropBox(); + if (this.cropped) { + this.renderCropBox(); } }, initContainer: function initContainer() { - var self = this; - var options = self.options; - var $this = self.$element; - var $container = self.$container; - var $cropper = self.$cropper; - var hidden = 'cropper-hidden'; + var $element = this.$element, + options = this.options, + $container = this.$container, + $cropper = this.$cropper; + - $cropper.addClass(hidden); - $this.removeClass(hidden); + $cropper.addClass(CLASS_HIDDEN); + $element.removeClass(CLASS_HIDDEN); - $cropper.css(self.container = { + $cropper.css(this.container = { width: Math.max($container.width(), Number(options.minContainerWidth) || 200), height: Math.max($container.height(), Number(options.minContainerHeight) || 100) }); - $this.addClass(hidden); - $cropper.removeClass(hidden); + $element.addClass(CLASS_HIDDEN); + $cropper.removeClass(CLASS_HIDDEN); }, // Canvas (image wrapper) initCanvas: function initCanvas() { - var self = this; - var viewMode = self.options.viewMode; - var container = self.container; - var containerWidth = container.width; - var containerHeight = container.height; - var image = self.image; - var imageNaturalWidth = image.naturalWidth; - var imageNaturalHeight = image.naturalHeight; - var is90Degree = Math.abs(image.rotate) % 180 === 90; - var naturalWidth = is90Degree ? imageNaturalHeight : imageNaturalWidth; - var naturalHeight = is90Degree ? imageNaturalWidth : imageNaturalHeight; + var container = this.container, + image = this.image; + var viewMode = this.options.viewMode; + + var rotated = Math.abs(image.rotate) % 180 === 90; + var naturalWidth = rotated ? image.naturalHeight : image.naturalWidth; + var naturalHeight = rotated ? image.naturalWidth : image.naturalHeight; var aspectRatio = naturalWidth / naturalHeight; - var canvasWidth = containerWidth; - var canvasHeight = containerHeight; + var canvasWidth = container.width; + var canvasHeight = container.height; - if (containerHeight * aspectRatio > containerWidth) { + if (container.height * aspectRatio > container.width) { if (viewMode === 3) { - canvasWidth = containerHeight * aspectRatio; + canvasWidth = container.height * aspectRatio; } else { - canvasHeight = containerWidth / aspectRatio; + canvasHeight = container.width / aspectRatio; } } else if (viewMode === 3) { - canvasHeight = containerWidth / aspectRatio; + canvasHeight = container.width / aspectRatio; } else { - canvasWidth = containerHeight * aspectRatio; + canvasWidth = container.height * aspectRatio; } var canvas = { + aspectRatio: aspectRatio, naturalWidth: naturalWidth, naturalHeight: naturalHeight, - aspectRatio: aspectRatio, width: canvasWidth, height: canvasHeight }; - canvas.oldLeft = canvas.left = (containerWidth - canvasWidth) / 2; - canvas.oldTop = canvas.top = (containerHeight - canvasHeight) / 2; + canvas.left = (container.width - canvasWidth) / 2; + canvas.top = (container.height - canvasHeight) / 2; + canvas.oldLeft = canvas.left; + canvas.oldTop = canvas.top; - self.canvas = canvas; - self.limited = viewMode === 1 || viewMode === 2; - self.limitCanvas(true, true); - self.initialImage = $.extend({}, image); - self.initialCanvas = $.extend({}, canvas); + this.canvas = canvas; + this.limited = viewMode === 1 || viewMode === 2; + this.limitCanvas(true, true); + this.initialImage = $.extend({}, image); + this.initialCanvas = $.extend({}, canvas); }, limitCanvas: function limitCanvas(isSizeLimited, isPositionLimited) { - var self = this; - var options = self.options; + var options = this.options, + container = this.container, + canvas = this.canvas, + cropBox = this.cropBox; var viewMode = options.viewMode; - var container = self.container; - var containerWidth = container.width; - var containerHeight = container.height; - var canvas = self.canvas; var aspectRatio = canvas.aspectRatio; - var cropBox = self.cropBox; - var cropped = self.cropped && cropBox; + + var cropped = this.cropped && cropBox; if (isSizeLimited) { var minCanvasWidth = Number(options.minCanvasWidth) || 0; var minCanvasHeight = Number(options.minCanvasHeight) || 0; - if (viewMode) { + if (viewMode > 0) { if (viewMode > 1) { - minCanvasWidth = Math.max(minCanvasWidth, containerWidth); - minCanvasHeight = Math.max(minCanvasHeight, containerHeight); + minCanvasWidth = Math.max(minCanvasWidth, container.width); + minCanvasHeight = Math.max(minCanvasHeight, container.height); if (viewMode === 3) { if (minCanvasHeight * aspectRatio > minCanvasWidth) { @@ -555,17 +913,15 @@ var render$1 = { } } - if (minCanvasWidth && minCanvasHeight) { - if (minCanvasHeight * aspectRatio > minCanvasWidth) { - minCanvasHeight = minCanvasWidth / aspectRatio; - } else { - minCanvasWidth = minCanvasHeight * aspectRatio; - } - } else if (minCanvasWidth) { - minCanvasHeight = minCanvasWidth / aspectRatio; - } else if (minCanvasHeight) { - minCanvasWidth = minCanvasHeight * aspectRatio; - } + var _getAdjustedSizes = getAdjustedSizes({ + aspectRatio: aspectRatio, + width: minCanvasWidth, + height: minCanvasHeight + }); + + minCanvasWidth = _getAdjustedSizes.width; + minCanvasHeight = _getAdjustedSizes.height; + canvas.minWidth = minCanvasWidth; canvas.minHeight = minCanvasHeight; @@ -574,28 +930,28 @@ var render$1 = { } if (isPositionLimited) { - if (viewMode) { - var newCanvasLeft = containerWidth - canvas.width; - var newCanvasTop = containerHeight - canvas.height; + if (viewMode > 0) { + var newCanvasLeft = container.width - canvas.width; + var newCanvasTop = container.height - canvas.height; canvas.minLeft = Math.min(0, newCanvasLeft); canvas.minTop = Math.min(0, newCanvasTop); canvas.maxLeft = Math.max(0, newCanvasLeft); canvas.maxTop = Math.max(0, newCanvasTop); - if (cropped && self.limited) { + if (cropped && this.limited) { canvas.minLeft = Math.min(cropBox.left, cropBox.left + cropBox.width - canvas.width); canvas.minTop = Math.min(cropBox.top, cropBox.top + cropBox.height - canvas.height); canvas.maxLeft = cropBox.left; canvas.maxTop = cropBox.top; if (viewMode === 2) { - if (canvas.width >= containerWidth) { + if (canvas.width >= container.width) { canvas.minLeft = Math.min(0, newCanvasLeft); canvas.maxLeft = Math.max(0, newCanvasLeft); } - if (canvas.height >= containerHeight) { + if (canvas.height >= container.height) { canvas.minTop = Math.min(0, newCanvasTop); canvas.maxTop = Math.max(0, newCanvasTop); } @@ -604,54 +960,36 @@ var render$1 = { } else { canvas.minLeft = -canvas.width; canvas.minTop = -canvas.height; - canvas.maxLeft = containerWidth; - canvas.maxTop = containerHeight; + canvas.maxLeft = container.width; + canvas.maxTop = container.height; } } }, - renderCanvas: function renderCanvas(isChanged) { - var self = this; - var canvas = self.canvas; - var image = self.image; - var rotate = image.rotate; - var naturalWidth = image.naturalWidth; - var naturalHeight = image.naturalHeight; - - if (self.rotated) { - self.rotated = false; - - // Computes rotated sizes with image sizes - var rotated = getRotatedSizes({ - width: image.width, - height: image.height, - degree: rotate - }); - var aspectRatio = rotated.width / rotated.height; - var isSquareImage = image.aspectRatio === 1; - - if (isSquareImage || aspectRatio !== canvas.aspectRatio) { - canvas.left -= (rotated.width - canvas.width) / 2; - canvas.top -= (rotated.height - canvas.height) / 2; - canvas.width = rotated.width; - canvas.height = rotated.height; - canvas.aspectRatio = aspectRatio; - canvas.naturalWidth = naturalWidth; - canvas.naturalHeight = naturalHeight; - - // Computes rotated sizes with natural image sizes - if (isSquareImage && rotate % 90 || rotate % 180) { - var rotated2 = getRotatedSizes({ - width: naturalWidth, - height: naturalHeight, - degree: rotate - }); - - canvas.naturalWidth = rotated2.width; - canvas.naturalHeight = rotated2.height; - } + renderCanvas: function renderCanvas(changed, transformed) { + var canvas = this.canvas, + image = this.image; - self.limitCanvas(true, false); - } + + if (transformed) { + var _getRotatedSizes = getRotatedSizes({ + width: image.naturalWidth * Math.abs(image.scaleX || 1), + height: image.naturalHeight * Math.abs(image.scaleY || 1), + degree: image.rotate || 0 + }), + naturalWidth = _getRotatedSizes.width, + naturalHeight = _getRotatedSizes.height; + + var width = canvas.width * (naturalWidth / canvas.naturalWidth); + var height = canvas.height * (naturalHeight / canvas.naturalHeight); + + canvas.left -= (width - canvas.width) / 2; + canvas.top -= (height - canvas.height) / 2; + canvas.width = width; + canvas.height = height; + canvas.aspectRatio = naturalWidth / naturalHeight; + canvas.naturalWidth = naturalWidth; + canvas.naturalHeight = naturalHeight; + this.limitCanvas(true, false); } if (canvas.width > canvas.maxWidth || canvas.width < canvas.minWidth) { @@ -665,75 +1003,60 @@ var render$1 = { canvas.width = Math.min(Math.max(canvas.width, canvas.minWidth), canvas.maxWidth); canvas.height = Math.min(Math.max(canvas.height, canvas.minHeight), canvas.maxHeight); - self.limitCanvas(false, true); + this.limitCanvas(false, true); - canvas.oldLeft = canvas.left = Math.min(Math.max(canvas.left, canvas.minLeft), canvas.maxLeft); - canvas.oldTop = canvas.top = Math.min(Math.max(canvas.top, canvas.minTop), canvas.maxTop); + canvas.left = Math.min(Math.max(canvas.left, canvas.minLeft), canvas.maxLeft); + canvas.top = Math.min(Math.max(canvas.top, canvas.minTop), canvas.maxTop); + canvas.oldLeft = canvas.left; + canvas.oldTop = canvas.top; - self.$canvas.css({ + this.$canvas.css({ width: canvas.width, height: canvas.height, - transform: getTransform({ + transform: getTransformValues({ translateX: canvas.left, translateY: canvas.top }) }); - self.renderImage(); - - if (self.cropped && self.limited) { - self.limitCropBox(true, true); - } + this.renderImage(changed); - if (isChanged) { - self.output(); + if (this.cropped && this.limited) { + this.limitCropBox(true, true); } }, - renderImage: function renderImage(isChanged) { - var self = this; - var canvas = self.canvas; - var image = self.image; - var reversed = void 0; - - if (image.rotate) { - reversed = getRotatedSizes({ - width: canvas.width, - height: canvas.height, - degree: image.rotate, - aspectRatio: image.aspectRatio - }, true); - } - - $.extend(image, reversed ? { - width: reversed.width, - height: reversed.height, - left: (canvas.width - reversed.width) / 2, - top: (canvas.height - reversed.height) / 2 - } : { - width: canvas.width, - height: canvas.height, - left: 0, - top: 0 + renderImage: function renderImage(changed) { + var canvas = this.canvas, + image = this.image; + + var width = image.naturalWidth * (canvas.width / canvas.naturalWidth); + var height = image.naturalHeight * (canvas.height / canvas.naturalHeight); + + $.extend(image, { + width: width, + height: height, + left: (canvas.width - width) / 2, + top: (canvas.height - height) / 2 }); - self.$clone.css({ + this.$clone.css({ width: image.width, height: image.height, - transform: getTransform($.extend({ + transform: getTransformValues($.extend({ translateX: image.left, translateY: image.top }, image)) }); - if (isChanged) { - self.output(); + if (changed) { + this.output(); } }, initCropBox: function initCropBox() { - var self = this; - var options = self.options; - var canvas = self.canvas; + var options = this.options, + canvas = this.canvas; var aspectRatio = options.aspectRatio; + var autoCropArea = Number(options.autoCropArea) || 0.8; var cropBox = { width: canvas.width, @@ -748,8 +1071,8 @@ var render$1 = { } } - self.cropBox = cropBox; - self.limitCropBox(true, true); + this.cropBox = cropBox; + this.limitCropBox(true, true); // Initialize auto crop area cropBox.width = Math.min(Math.max(cropBox.width, cropBox.minWidth), cropBox.maxWidth); @@ -758,31 +1081,31 @@ var render$1 = { // The width of auto crop area must large than "minWidth", and the height too. (#164) cropBox.width = Math.max(cropBox.minWidth, cropBox.width * autoCropArea); cropBox.height = Math.max(cropBox.minHeight, cropBox.height * autoCropArea); - cropBox.oldLeft = cropBox.left = canvas.left + (canvas.width - cropBox.width) / 2; - cropBox.oldTop = cropBox.top = canvas.top + (canvas.height - cropBox.height) / 2; + cropBox.left = canvas.left + (canvas.width - cropBox.width) / 2; + cropBox.top = canvas.top + (canvas.height - cropBox.height) / 2; + cropBox.oldLeft = cropBox.left; + cropBox.oldTop = cropBox.top; - self.initialCropBox = $.extend({}, cropBox); + this.initialCropBox = $.extend({}, cropBox); }, limitCropBox: function limitCropBox(isSizeLimited, isPositionLimited) { - var self = this; - var options = self.options; + var options = this.options, + container = this.container, + canvas = this.canvas, + cropBox = this.cropBox, + limited = this.limited; var aspectRatio = options.aspectRatio; - var container = self.container; - var containerWidth = container.width; - var containerHeight = container.height; - var canvas = self.canvas; - var cropBox = self.cropBox; - var limited = self.limited; + if (isSizeLimited) { var minCropBoxWidth = Number(options.minCropBoxWidth) || 0; var minCropBoxHeight = Number(options.minCropBoxHeight) || 0; - var maxCropBoxWidth = Math.min(containerWidth, limited ? canvas.width : containerWidth); - var maxCropBoxHeight = Math.min(containerHeight, limited ? canvas.height : containerHeight); + var maxCropBoxWidth = Math.min(container.width, limited ? canvas.width : container.width); + var maxCropBoxHeight = Math.min(container.height, limited ? canvas.height : container.height); - // The min/maxCropBoxWidth/Height must be less than containerWidth/Height - minCropBoxWidth = Math.min(minCropBoxWidth, containerWidth); - minCropBoxHeight = Math.min(minCropBoxHeight, containerHeight); + // The min/maxCropBoxWidth/Height must be less than container's width/Height + minCropBoxWidth = Math.min(minCropBoxWidth, container.width); + minCropBoxHeight = Math.min(minCropBoxHeight, container.height); if (aspectRatio) { if (minCropBoxWidth && minCropBoxHeight) { @@ -815,23 +1138,21 @@ var render$1 = { if (limited) { cropBox.minLeft = Math.max(0, canvas.left); cropBox.minTop = Math.max(0, canvas.top); - cropBox.maxLeft = Math.min(containerWidth, canvas.left + canvas.width) - cropBox.width; - cropBox.maxTop = Math.min(containerHeight, canvas.top + canvas.height) - cropBox.height; + cropBox.maxLeft = Math.min(container.width, canvas.left + canvas.width) - cropBox.width; + cropBox.maxTop = Math.min(container.height, canvas.top + canvas.height) - cropBox.height; } else { cropBox.minLeft = 0; cropBox.minTop = 0; - cropBox.maxLeft = containerWidth - cropBox.width; - cropBox.maxTop = containerHeight - cropBox.height; + cropBox.maxLeft = container.width - cropBox.width; + cropBox.maxTop = container.height - cropBox.height; } } }, renderCropBox: function renderCropBox() { - var self = this; - var options = self.options; - var container = self.container; - var containerWidth = container.width; - var containerHeight = container.height; - var cropBox = self.cropBox; + var options = this.options, + container = this.container, + cropBox = this.cropBox; + if (cropBox.width > cropBox.maxWidth || cropBox.width < cropBox.minWidth) { cropBox.left = cropBox.oldLeft; @@ -844,51 +1165,49 @@ var render$1 = { cropBox.width = Math.min(Math.max(cropBox.width, cropBox.minWidth), cropBox.maxWidth); cropBox.height = Math.min(Math.max(cropBox.height, cropBox.minHeight), cropBox.maxHeight); - self.limitCropBox(false, true); + this.limitCropBox(false, true); - cropBox.oldLeft = cropBox.left = Math.min(Math.max(cropBox.left, cropBox.minLeft), cropBox.maxLeft); - cropBox.oldTop = cropBox.top = Math.min(Math.max(cropBox.top, cropBox.minTop), cropBox.maxTop); + cropBox.left = Math.min(Math.max(cropBox.left, cropBox.minLeft), cropBox.maxLeft); + cropBox.top = Math.min(Math.max(cropBox.top, cropBox.minTop), cropBox.maxTop); + cropBox.oldLeft = cropBox.left; + cropBox.oldTop = cropBox.top; if (options.movable && options.cropBoxMovable) { // Turn to move the canvas when the crop box is equal to the container - self.$face.data('action', cropBox.width === containerWidth && cropBox.height === containerHeight ? 'move' : 'all'); + this.$face.data(DATA_ACTION, cropBox.width >= container.width && cropBox.height >= container.height ? ACTION_MOVE : ACTION_ALL); } - self.$cropBox.css({ + this.$cropBox.css({ width: cropBox.width, height: cropBox.height, - transform: getTransform({ + transform: getTransformValues({ translateX: cropBox.left, translateY: cropBox.top }) }); - if (self.cropped && self.limited) { - self.limitCanvas(true, true); + if (this.cropped && this.limited) { + this.limitCanvas(true, true); } - if (!self.disabled) { - self.output(); + if (!this.disabled) { + this.output(); } }, output: function output() { - var self = this; - - self.preview(); + this.preview(); - if (self.completed) { - self.trigger('crop', self.getData()); + if (this.completed) { + this.trigger(EVENT_CROP, this.getData()); } } }; -var DATA_PREVIEW = 'preview'; - -var preview$1 = { +var preview = { initPreview: function initPreview() { - var self = this; - var crossOrigin = self.crossOrigin; - var url = crossOrigin ? self.crossOriginUrl : self.url; + var crossOrigin = this.crossOrigin; + + var url = crossOrigin ? this.crossOriginUrl : this.url; var image = document.createElement('img'); if (crossOrigin) { @@ -899,18 +1218,18 @@ var preview$1 = { var $clone2 = $(image); - self.$preview = $(self.options.preview); - self.$clone2 = $clone2; - self.$viewBox.html($clone2); - self.$preview.each(function (i, element) { - var $this = $(element); + this.$preview = $(this.options.preview); + this.$clone2 = $clone2; + this.$viewBox.html($clone2); + this.$preview.each(function (i, element) { + var $element = $(element); var img = document.createElement('img'); // Save the original size for recover - $this.data(DATA_PREVIEW, { - width: $this.width(), - height: $this.height(), - html: $this.html() + $element.data(DATA_PREVIEW, { + width: $element.width(), + height: $element.height(), + html: $element.html() }); if (crossOrigin) { @@ -927,48 +1246,48 @@ var preview$1 = { */ img.style.cssText = 'display:block;' + 'width:100%;' + 'height:auto;' + 'min-width:0!important;' + 'min-height:0!important;' + 'max-width:none!important;' + 'max-height:none!important;' + 'image-orientation:0deg!important;"'; - $this.html(img); + $element.html(img); }); }, resetPreview: function resetPreview() { this.$preview.each(function (i, element) { - var $this = $(element); - var data = $this.data(DATA_PREVIEW); + var $element = $(element); + var data = $element.data(DATA_PREVIEW); - $this.css({ + $element.css({ width: data.width, height: data.height }).html(data.html).removeData(DATA_PREVIEW); }); }, preview: function preview() { - var self = this; - var image = self.image; - var canvas = self.canvas; - var cropBox = self.cropBox; - var cropBoxWidth = cropBox.width; - var cropBoxHeight = cropBox.height; - var width = image.width; - var height = image.height; + var image = this.image, + canvas = this.canvas, + cropBox = this.cropBox; + var cropBoxWidth = cropBox.width, + cropBoxHeight = cropBox.height; + var width = image.width, + height = image.height; + var left = cropBox.left - canvas.left - image.left; var top = cropBox.top - canvas.top - image.top; - if (!self.cropped || self.disabled) { + if (!this.cropped || this.disabled) { return; } - self.$clone2.css({ + this.$clone2.css({ width: width, height: height, - transform: getTransform($.extend({ + transform: getTransformValues($.extend({ translateX: -left, translateY: -top }, image)) }); - self.$preview.each(function (i, element) { - var $this = $(element); - var data = $this.data(DATA_PREVIEW); + this.$preview.each(function (i, element) { + var $element = $(element); + var data = $element.data(DATA_PREVIEW); var originalWidth = data.width; var originalHeight = data.height; var newWidth = originalWidth; @@ -986,13 +1305,13 @@ var preview$1 = { newHeight = originalHeight; } - $this.css({ + $element.css({ width: newWidth, height: newHeight }).find('img').css({ width: width * ratio, height: height * ratio, - transform: getTransform($.extend({ + transform: getTransformValues($.extend({ translateX: -left * ratio, translateY: -top * ratio }, image)) @@ -1001,140 +1320,103 @@ var preview$1 = { } }; -// Globals -var PointerEvent = typeof window !== 'undefined' ? window.PointerEvent : null; - -// Events -var EVENT_POINTER_DOWN = PointerEvent ? 'pointerdown' : 'touchstart mousedown'; -var EVENT_POINTER_MOVE = PointerEvent ? 'pointermove' : 'touchmove mousemove'; -var EVENT_POINTER_UP = PointerEvent ? ' pointerup pointercancel' : 'touchend touchcancel mouseup'; -var EVENT_WHEEL = 'wheel mousewheel DOMMouseScroll'; -var EVENT_DBLCLICK = 'dblclick'; -var EVENT_RESIZE = 'resize'; -var EVENT_CROP_START = 'cropstart'; -var EVENT_CROP_MOVE = 'cropmove'; -var EVENT_CROP_END = 'cropend'; -var EVENT_CROP = 'crop'; -var EVENT_ZOOM = 'zoom'; - var events = { bind: function bind() { - var self = this; - var options = self.options; - var $this = self.$element; - var $cropper = self.$cropper; + var $element = this.$element, + options = this.options, + $cropper = this.$cropper; + if ($.isFunction(options.cropstart)) { - $this.on(EVENT_CROP_START, options.cropstart); + $element.on(EVENT_CROP_START, options.cropstart); } if ($.isFunction(options.cropmove)) { - $this.on(EVENT_CROP_MOVE, options.cropmove); + $element.on(EVENT_CROP_MOVE, options.cropmove); } if ($.isFunction(options.cropend)) { - $this.on(EVENT_CROP_END, options.cropend); + $element.on(EVENT_CROP_END, options.cropend); } if ($.isFunction(options.crop)) { - $this.on(EVENT_CROP, options.crop); + $element.on(EVENT_CROP, options.crop); } if ($.isFunction(options.zoom)) { - $this.on(EVENT_ZOOM, options.zoom); + $element.on(EVENT_ZOOM, options.zoom); } - $cropper.on(EVENT_POINTER_DOWN, proxy(self.cropStart, this)); + $cropper.on(EVENT_POINTER_DOWN, proxy(this.cropStart, this)); if (options.zoomable && options.zoomOnWheel) { - $cropper.on(EVENT_WHEEL, proxy(self.wheel, this)); + $cropper.on(EVENT_WHEEL, proxy(this.wheel, this)); } if (options.toggleDragModeOnDblclick) { - $cropper.on(EVENT_DBLCLICK, proxy(self.dblclick, this)); + $cropper.on(EVENT_DBLCLICK, proxy(this.dblclick, this)); } - $(document).on(EVENT_POINTER_MOVE, self.onCropMove = proxy(self.cropMove, this)).on(EVENT_POINTER_UP, self.onCropEnd = proxy(self.cropEnd, this)); + $(this.element.ownerDocument).on(EVENT_POINTER_MOVE, this.onCropMove = proxy(this.cropMove, this)).on(EVENT_POINTER_UP, this.onCropEnd = proxy(this.cropEnd, this)); if (options.responsive) { - $(window).on(EVENT_RESIZE, self.onResize = proxy(self.resize, this)); + $(window).on(EVENT_RESIZE, this.onResize = proxy(this.resize, this)); } }, unbind: function unbind() { - var self = this; - var options = self.options; - var $this = self.$element; - var $cropper = self.$cropper; + var $element = this.$element, + options = this.options, + $cropper = this.$cropper; + if ($.isFunction(options.cropstart)) { - $this.off(EVENT_CROP_START, options.cropstart); + $element.off(EVENT_CROP_START, options.cropstart); } if ($.isFunction(options.cropmove)) { - $this.off(EVENT_CROP_MOVE, options.cropmove); + $element.off(EVENT_CROP_MOVE, options.cropmove); } if ($.isFunction(options.cropend)) { - $this.off(EVENT_CROP_END, options.cropend); + $element.off(EVENT_CROP_END, options.cropend); } if ($.isFunction(options.crop)) { - $this.off(EVENT_CROP, options.crop); + $element.off(EVENT_CROP, options.crop); } if ($.isFunction(options.zoom)) { - $this.off(EVENT_ZOOM, options.zoom); + $element.off(EVENT_ZOOM, options.zoom); } - $cropper.off(EVENT_POINTER_DOWN, self.cropStart); + $cropper.off(EVENT_POINTER_DOWN, this.cropStart); if (options.zoomable && options.zoomOnWheel) { - $cropper.off(EVENT_WHEEL, self.wheel); + $cropper.off(EVENT_WHEEL, this.wheel); } if (options.toggleDragModeOnDblclick) { - $cropper.off(EVENT_DBLCLICK, self.dblclick); + $cropper.off(EVENT_DBLCLICK, this.dblclick); } - $(document).off(EVENT_POINTER_MOVE, self.onCropMove).off(EVENT_POINTER_UP, self.onCropEnd); + $(this.element.ownerDocument).off(EVENT_POINTER_MOVE, this.onCropMove).off(EVENT_POINTER_UP, this.onCropEnd); if (options.responsive) { - $(window).off(EVENT_RESIZE, self.onResize); + $(window).off(EVENT_RESIZE, this.onResize); } } }; -var REGEXP_ACTIONS = /^(e|w|s|n|se|sw|ne|nw|all|crop|move|zoom)$/; - -function getPointer(_ref, endOnly) { - var pageX = _ref.pageX, - pageY = _ref.pageY; - - var end = { - endX: pageX, - endY: pageY - }; - - if (endOnly) { - return end; - } - - return $.extend({ - startX: pageX, - startY: pageY - }, end); -} - var handlers = { resize: function resize() { - var self = this; - var options = self.options; - var $container = self.$container; - var container = self.container; + var options = this.options, + $container = this.$container, + container = this.container; + var minContainerWidth = Number(options.minContainerWidth) || 200; var minContainerHeight = Number(options.minContainerHeight) || 100; - if (self.disabled || container.width === minContainerWidth || container.height === minContainerHeight) { + if (this.disabled || container.width <= minContainerWidth || container.height <= minContainerHeight) { return; } @@ -1142,57 +1424,54 @@ var handlers = { // Resize when width changed or height changed if (ratio !== 1 || $container.height() !== container.height) { - (function () { - var canvasData = void 0; - var cropBoxData = void 0; + var canvasData = void 0; + var cropBoxData = void 0; - if (options.restore) { - canvasData = self.getCanvasData(); - cropBoxData = self.getCropBoxData(); - } + if (options.restore) { + canvasData = this.getCanvasData(); + cropBoxData = this.getCropBoxData(); + } - self.render(); + this.render(); - if (options.restore) { - self.setCanvasData($.each(canvasData, function (i, n) { - canvasData[i] = n * ratio; - })); - self.setCropBoxData($.each(cropBoxData, function (i, n) { - cropBoxData[i] = n * ratio; - })); - } - })(); + if (options.restore) { + this.setCanvasData($.each(canvasData, function (i, n) { + canvasData[i] = n * ratio; + })); + this.setCropBoxData($.each(cropBoxData, function (i, n) { + cropBoxData[i] = n * ratio; + })); + } } }, dblclick: function dblclick() { - var self = this; - - if (self.disabled || self.options.dragMode === 'none') { + if (this.disabled || this.options.dragMode === DRAG_MODE_NONE) { return; } - self.setDragMode(self.$dragBox.hasClass('cropper-crop') ? 'move' : 'crop'); + this.setDragMode(this.$dragBox.hasClass(CLASS_CROP) ? DRAG_MODE_MOVE : DRAG_MODE_CROP); }, wheel: function wheel(event) { - var self = this; + var _this = this; + var e = event.originalEvent || event; - var ratio = Number(self.options.wheelZoomRatio) || 0.1; + var ratio = Number(this.options.wheelZoomRatio) || 0.1; - if (self.disabled) { + if (this.disabled) { return; } event.preventDefault(); // Limit wheel speed to prevent zoom too fast - if (self.wheeling) { + if (this.wheeling) { return; } - self.wheeling = true; + this.wheeling = true; setTimeout(function () { - self.wheeling = false; + _this.wheeling = false; }, 50); var delta = 1; @@ -1205,18 +1484,17 @@ var handlers = { delta = e.detail > 0 ? 1 : -1; } - self.zoom(-delta * ratio, event); + this.zoom(-delta * ratio, event); }, cropStart: function cropStart(e) { - var self = this; - - if (self.disabled) { + if (this.disabled) { return; } - var options = self.options; - var pointers = self.pointers; + var options = this.options, + pointers = this.pointers; var originalEvent = e.originalEvent; + var action = void 0; if (originalEvent && originalEvent.changedTouches) { @@ -1230,16 +1508,16 @@ var handlers = { } if (objectKeys(pointers).length > 1 && options.zoomable && options.zoomOnTouch) { - action = 'zoom'; + action = ACTION_ZOOM; } else { - action = $(e.target).data('action'); + action = $(e.target).data(DATA_ACTION); } if (!REGEXP_ACTIONS.test(action)) { return; } - if (self.trigger('cropstart', { + if (this.trigger(EVENT_CROP_START, { originalEvent: originalEvent, action: action }).isDefaultPrevented()) { @@ -1248,28 +1526,29 @@ var handlers = { e.preventDefault(); - self.action = action; - self.cropping = false; + this.action = action; + this.cropping = false; - if (action === 'crop') { - self.cropping = true; - self.$dragBox.addClass('cropper-modal'); + if (action === ACTION_CROP) { + this.cropping = true; + this.$dragBox.addClass(CLASS_MODAL); } }, cropMove: function cropMove(e) { - var self = this; - var action = self.action; + var action = this.action; + - if (self.disabled || !action) { + if (this.disabled || !action) { return; } - var pointers = self.pointers; + var pointers = this.pointers; var originalEvent = e.originalEvent; + e.preventDefault(); - if (self.trigger('cropmove', { + if (this.trigger(EVENT_CROP_MOVE, { originalEvent: originalEvent, action: action }).isDefaultPrevented()) { @@ -1284,19 +1563,18 @@ var handlers = { $.extend(pointers[originalEvent && originalEvent.pointerId || 0], getPointer(originalEvent || e, true)); } - self.change(e); + this.change(e); }, cropEnd: function cropEnd(e) { - var self = this; - - if (self.disabled) { + if (this.disabled) { return; } - var action = self.action; - var pointers = self.pointers; + var action = this.action; + var pointers = this.pointers; var originalEvent = e.originalEvent; + if (originalEvent && originalEvent.changedTouches) { $.each(originalEvent.changedTouches, function (i, touch) { delete pointers[touch.identifier]; @@ -1312,73 +1590,35 @@ var handlers = { e.preventDefault(); if (!objectKeys(pointers).length) { - self.action = ''; + this.action = ''; } - if (self.cropping) { - self.cropping = false; - self.$dragBox.toggleClass('cropper-modal', self.cropped && self.options.modal); + if (this.cropping) { + this.cropping = false; + this.$dragBox.toggleClass(CLASS_MODAL, this.cropped && this.options.modal); } - self.trigger('cropend', { + this.trigger(EVENT_CROP_END, { originalEvent: originalEvent, action: action }); } }; -// Actions -var ACTION_EAST = 'e'; -var ACTION_WEST = 'w'; -var ACTION_SOUTH = 's'; -var ACTION_NORTH = 'n'; -var ACTION_SOUTH_EAST = 'se'; -var ACTION_SOUTH_WEST = 'sw'; -var ACTION_NORTH_EAST = 'ne'; -var ACTION_NORTH_WEST = 'nw'; - -function getMaxZoomRatio(pointers) { - var pointers2 = $.extend({}, pointers); - var ratios = []; - - $.each(pointers, function (pointerId, pointer) { - delete pointers2[pointerId]; - - $.each(pointers2, function (pointerId2, pointer2) { - var x1 = Math.abs(pointer.startX - pointer2.startX); - var y1 = Math.abs(pointer.startY - pointer2.startY); - var x2 = Math.abs(pointer.endX - pointer2.endX); - var y2 = Math.abs(pointer.endY - pointer2.endY); - var z1 = Math.sqrt(x1 * x1 + y1 * y1); - var z2 = Math.sqrt(x2 * x2 + y2 * y2); - var ratio = (z2 - z1) / z1; - - ratios.push(ratio); - }); - }); - - ratios.sort(function (a, b) { - return Math.abs(a) < Math.abs(b); - }); - - return ratios[0]; -} - -var change$1 = { +var change = { change: function change(e) { - var self = this; - var options = self.options; - var pointers = self.pointers; - var pointer = pointers[objectKeys(pointers)[0]]; - var container = self.container; - var canvas = self.canvas; - var cropBox = self.cropBox; - var action = self.action; + var options = this.options, + pointers = this.pointers, + container = this.container, + canvas = this.canvas, + cropBox = this.cropBox; + var action = this.action; var aspectRatio = options.aspectRatio; - var width = cropBox.width; - var height = cropBox.height; - var left = cropBox.left; - var top = cropBox.top; + var left = cropBox.left, + top = cropBox.top, + width = cropBox.width, + height = cropBox.height; + var right = left + width; var bottom = top + height; var minLeft = 0; @@ -1393,26 +1633,56 @@ var change$1 = { aspectRatio = width && height ? width / height : 1; } - if (self.limited) { + if (this.limited) { minLeft = cropBox.minLeft; minTop = cropBox.minTop; + maxWidth = minLeft + Math.min(container.width, canvas.width, canvas.left + canvas.width); maxHeight = minTop + Math.min(container.height, canvas.height, canvas.top + canvas.height); } - var range = { - x: pointer.endX - pointer.startX, - y: pointer.endY - pointer.startY - }; + var pointer = pointers[objectKeys(pointers)[0]]; + var range = { + x: pointer.endX - pointer.startX, + y: pointer.endY - pointer.startY + }; + var check = function check(side) { + switch (side) { + case ACTION_EAST: + if (right + range.x > maxWidth) { + range.x = maxWidth - right; + } + + break; + + case ACTION_WEST: + if (left + range.x < minLeft) { + range.x = minLeft - left; + } + + break; + + case ACTION_NORTH: + if (top + range.y < minTop) { + range.y = minTop - top; + } + + break; + + case ACTION_SOUTH: + if (bottom + range.y > maxHeight) { + range.y = maxHeight - bottom; + } - if (aspectRatio) { - range.X = range.y * aspectRatio; - range.Y = range.x / aspectRatio; - } + break; + + default: + } + }; switch (action) { // Move crop box - case 'all': + case ACTION_ALL: left += range.x; top += range.y; break; @@ -1424,11 +1694,12 @@ var change$1 = { break; } + check(ACTION_EAST); width += range.x; if (aspectRatio) { height = width / aspectRatio; - top -= range.Y / 2; + top -= range.x / aspectRatio / 2; } if (width < 0) { @@ -1444,12 +1715,13 @@ var change$1 = { break; } + check(ACTION_NORTH); height -= range.y; top += range.y; if (aspectRatio) { width = height * aspectRatio; - left += range.X / 2; + left += range.y * aspectRatio / 2; } if (height < 0) { @@ -1465,12 +1737,13 @@ var change$1 = { break; } + check(ACTION_WEST); width -= range.x; left += range.x; if (aspectRatio) { height = width / aspectRatio; - top += range.Y / 2; + top += range.x / aspectRatio / 2; } if (width < 0) { @@ -1486,11 +1759,12 @@ var change$1 = { break; } + check(ACTION_SOUTH); height += range.y; if (aspectRatio) { width = height * aspectRatio; - left -= range.X / 2; + left -= range.y * aspectRatio / 2; } if (height < 0) { @@ -1507,10 +1781,14 @@ var change$1 = { break; } + check(ACTION_NORTH); height -= range.y; top += range.y; width = height * aspectRatio; } else { + check(ACTION_NORTH); + check(ACTION_EAST); + if (range.x >= 0) { if (right < maxWidth) { width += range.x; @@ -1553,11 +1831,15 @@ var change$1 = { break; } + check(ACTION_NORTH); height -= range.y; top += range.y; width = height * aspectRatio; - left += range.X; + left += range.y * aspectRatio; } else { + check(ACTION_NORTH); + check(ACTION_WEST); + if (range.x <= 0) { if (left > minLeft) { width -= range.x; @@ -1602,10 +1884,14 @@ var change$1 = { break; } + check(ACTION_WEST); width -= range.x; left += range.x; height = width / aspectRatio; } else { + check(ACTION_SOUTH); + check(ACTION_WEST); + if (range.x <= 0) { if (left > minLeft) { width -= range.x; @@ -1648,9 +1934,13 @@ var change$1 = { break; } + check(ACTION_EAST); width += range.x; height = width / aspectRatio; } else { + check(ACTION_SOUTH); + check(ACTION_EAST); + if (range.x >= 0) { if (right < maxWidth) { width += range.x; @@ -1685,25 +1975,25 @@ var change$1 = { break; // Move canvas - case 'move': - self.move(range.x, range.y); + case ACTION_MOVE: + this.move(range.x, range.y); renderable = false; break; // Zoom canvas - case 'zoom': - self.zoom(getMaxZoomRatio(pointers), e.originalEvent); + case ACTION_ZOOM: + this.zoom(getMaxZoomRatio(pointers), e.originalEvent); renderable = false; break; // Create crop box - case 'crop': + case ACTION_CROP: if (!range.x || !range.y) { renderable = false; break; } - offset = self.$cropper.offset(); + offset = this.$cropper.offset(); left = pointer.startX - offset.left; top = pointer.startY - offset.top; width = cropBox.minWidth; @@ -1721,18 +2011,18 @@ var change$1 = { } // Show the crop box if is hidden - if (!self.cropped) { - self.$cropBox.removeClass('cropper-hidden'); - self.cropped = true; + if (!this.cropped) { + this.$cropBox.removeClass(CLASS_HIDDEN); + this.cropped = true; - if (self.limited) { - self.limitCropBox(true, true); + if (this.limited) { + this.limitCropBox(true, true); } } break; - // No default + default: } if (renderable) { @@ -1740,8 +2030,8 @@ var change$1 = { cropBox.height = height; cropBox.left = left; cropBox.top = top; - self.action = action; - self.renderCropBox(); + this.action = action; + this.renderCropBox(); } // Override @@ -1752,247 +2042,95 @@ var change$1 = { } }; -var classCallCheck = function (instance, Constructor) { - if (!(instance instanceof Constructor)) { - throw new TypeError("Cannot call a class as a function"); - } -}; - -var createClass = function () { - function defineProperties(target, props) { - for (var i = 0; i < props.length; i++) { - var descriptor = props[i]; - descriptor.enumerable = descriptor.enumerable || false; - descriptor.configurable = true; - if ("value" in descriptor) descriptor.writable = true; - Object.defineProperty(target, descriptor.key, descriptor); - } - } - - return function (Constructor, protoProps, staticProps) { - if (protoProps) defineProperties(Constructor.prototype, protoProps); - if (staticProps) defineProperties(Constructor, staticProps); - return Constructor; - }; -}(); - - - - - - - -var get = function get(object, property, receiver) { - if (object === null) object = Function.prototype; - var desc = Object.getOwnPropertyDescriptor(object, property); - - if (desc === undefined) { - var parent = Object.getPrototypeOf(object); - - if (parent === null) { - return undefined; - } else { - return get(parent, property, receiver); - } - } else if ("value" in desc) { - return desc.value; - } else { - var getter = desc.get; - - if (getter === undefined) { - return undefined; - } - - return getter.call(receiver); - } -}; - - - - - - - - - - - - - - - - - -var set = function set(object, property, value, receiver) { - var desc = Object.getOwnPropertyDescriptor(object, property); - - if (desc === undefined) { - var parent = Object.getPrototypeOf(object); - - if (parent !== null) { - set(parent, property, value, receiver); - } - } else if ("value" in desc && desc.writable) { - desc.value = value; - } else { - var setter = desc.set; - - if (setter !== undefined) { - setter.call(receiver, value); - } - } - - return value; -}; - - - - - - - - - - - - - - - -var toConsumableArray = function (arr) { - if (Array.isArray(arr)) { - for (var i = 0, arr2 = Array(arr.length); i < arr.length; i++) arr2[i] = arr[i]; - - return arr2; - } else { - return Array.from(arr); - } -}; - -function getPointersCenter(pointers) { - var pageX = 0; - var pageY = 0; - var count = 0; - - $.each(pointers, function (i, _ref) { - var startX = _ref.startX, - startY = _ref.startY; - - pageX += startX; - pageY += startY; - count += 1; - }); - - pageX /= count; - pageY /= count; - - return { - pageX: pageX, - pageY: pageY - }; -} - var methods = { // Show the crop box manually crop: function crop() { - var self = this; - - if (!self.ready || self.disabled) { + if (!this.ready || this.disabled) { return; } - if (!self.cropped) { - self.cropped = true; - self.limitCropBox(true, true); + if (!this.cropped) { + this.cropped = true; + this.limitCropBox(true, true); - if (self.options.modal) { - self.$dragBox.addClass('cropper-modal'); + if (this.options.modal) { + this.$dragBox.addClass(CLASS_MODAL); } - self.$cropBox.removeClass('cropper-hidden'); + this.$cropBox.removeClass(CLASS_HIDDEN); } - self.setCropBoxData(self.initialCropBox); + this.setCropBoxData(this.initialCropBox); }, // Reset the image and crop box to their initial states reset: function reset() { - var self = this; - - if (!self.ready || self.disabled) { + if (!this.ready || this.disabled) { return; } - self.image = $.extend({}, self.initialImage); - self.canvas = $.extend({}, self.initialCanvas); - self.cropBox = $.extend({}, self.initialCropBox); - - self.renderCanvas(); + this.image = $.extend({}, this.initialImage); + this.canvas = $.extend({}, this.initialCanvas); + this.cropBox = $.extend({}, this.initialCropBox); + this.renderCanvas(); - if (self.cropped) { - self.renderCropBox(); + if (this.cropped) { + this.renderCropBox(); } }, // Clear the crop box clear: function clear() { - var self = this; - - if (!self.cropped || self.disabled) { + if (!this.cropped || this.disabled) { return; } - $.extend(self.cropBox, { + $.extend(this.cropBox, { left: 0, top: 0, width: 0, height: 0 }); - self.cropped = false; - self.renderCropBox(); - - self.limitCanvas(true, true); + this.cropped = false; + this.renderCropBox(); + this.limitCanvas(true, true); // Render canvas after crop box rendered - self.renderCanvas(); - - self.$dragBox.removeClass('cropper-modal'); - self.$cropBox.addClass('cropper-hidden'); + this.renderCanvas(); + this.$dragBox.removeClass(CLASS_MODAL); + this.$cropBox.addClass(CLASS_HIDDEN); }, /** * Replace the image's src and rebuild the cropper - * - * @param {String} url - * @param {Boolean} onlyColorChanged (optional) + * @param {string} url - The new URL. + * @param {boolean} [onlyColorChanged] - Indicate if the new image only changed color. */ replace: function replace(url, onlyColorChanged) { - var self = this; - - if (!self.disabled && url) { - if (self.isImg) { - self.$element.attr('src', url); + if (!this.disabled && url) { + if (this.isImg) { + this.$element.attr('src', url); } if (onlyColorChanged) { - self.url = url; - self.$clone.attr('src', url); + this.url = url; + this.$clone.attr('src', url); - if (self.ready) { - self.$preview.find('img').add(self.$clone2).attr('src', url); + if (this.ready) { + this.$preview.find('img').add(this.$clone2).attr('src', url); } } else { - if (self.isImg) { - self.replaced = true; + if (this.isImg) { + this.replaced = true; } // Clear previous data - self.options.data = null; - self.load(url); + this.options.data = null; + this.load(url); } } }, @@ -2000,71 +2138,67 @@ var methods = { // Enable (unfreeze) the cropper enable: function enable() { - var self = this; - - if (self.ready) { - self.disabled = false; - self.$cropper.removeClass('cropper-disabled'); + if (this.ready) { + this.disabled = false; + this.$cropper.removeClass(CLASS_DISABLED); } }, // Disable (freeze) the cropper disable: function disable() { - var self = this; - - if (self.ready) { - self.disabled = true; - self.$cropper.addClass('cropper-disabled'); + if (this.ready) { + this.disabled = true; + this.$cropper.addClass(CLASS_DISABLED); } }, // Destroy the cropper and remove the instance from the image destroy: function destroy() { - var self = this; - var $this = self.$element; + var $element = this.$element; - if (self.loaded) { - if (self.isImg && self.replaced) { - $this.attr('src', self.originalUrl); + + if (this.loaded) { + if (this.isImg && this.replaced) { + $element.attr('src', this.originalUrl); } - self.unbuild(); - $this.removeClass('cropper-hidden'); - } else if (self.isImg) { - $this.off('load', self.start); - } else if (self.$clone) { - self.$clone.remove(); + this.unbuild(); + $element.removeClass(CLASS_HIDDEN); + } else if (this.isImg) { + $element.off(EVENT_LOAD, this.start); + } else if (this.$clone) { + this.$clone.remove(); } - $this.removeData('cropper'); + $element.removeData(NAMESPACE); }, /** * Move the canvas with relative offsets - * - * @param {Number} offsetX - * @param {Number} offsetY (optional) + * @param {number} offsetX - The relative offset distance on the x-axis. + * @param {number} offsetY - The relative offset distance on the y-axis. */ move: function move(offsetX, offsetY) { - var self = this; - var canvas = self.canvas; + var _canvas = this.canvas, + left = _canvas.left, + top = _canvas.top; + - self.moveTo(isUndefined(offsetX) ? offsetX : canvas.left + Number(offsetX), isUndefined(offsetY) ? offsetY : canvas.top + Number(offsetY)); + this.moveTo(isUndefined(offsetX) ? offsetX : left + Number(offsetX), isUndefined(offsetY) ? offsetY : top + Number(offsetY)); }, /** * Move the canvas to an absolute point - * - * @param {Number} x - * @param {Number} y (optional) + * @param {number} x - The x-axis coordinate. + * @param {number} [y=x] - The y-axis coordinate. */ moveTo: function moveTo(x, y) { - var self = this; - var canvas = self.canvas; + var canvas = this.canvas; + var changed = false; // If "y" is not present, its default value is "x" @@ -2075,7 +2209,7 @@ var methods = { x = Number(x); y = Number(y); - if (self.ready && !self.disabled && self.options.movable) { + if (this.ready && !this.disabled && this.options.movable) { if (isNumber(x)) { canvas.left = x; changed = true; @@ -2087,7 +2221,7 @@ var methods = { } if (changed) { - self.renderCanvas(true); + this.renderCanvas(true); } } }, @@ -2095,13 +2229,12 @@ var methods = { /** * Zoom the canvas with a relative ratio - * - * @param {Number} ratio - * @param {jQuery Event} _event (private) + * @param {Number} ratio - The target ratio. + * @param {Event} _event - The related event if any. */ zoom: function zoom(ratio, _event) { - var self = this; - var canvas = self.canvas; + var canvas = this.canvas; + ratio = Number(ratio); @@ -2111,29 +2244,28 @@ var methods = { ratio = 1 + ratio; } - self.zoomTo(canvas.width * ratio / canvas.naturalWidth, _event); + this.zoomTo(canvas.width * ratio / canvas.naturalWidth, _event); }, /** * Zoom the canvas to an absolute ratio - * - * @param {Number} ratio - * @param {jQuery Event} _event (private) + * @param {number} ratio - The target ratio. + * @param {Event} _event - The related event if any. */ zoomTo: function zoomTo(ratio, _event) { - var self = this; - var options = self.options; - var pointers = self.pointers; - var canvas = self.canvas; - var width = canvas.width; - var height = canvas.height; - var naturalWidth = canvas.naturalWidth; - var naturalHeight = canvas.naturalHeight; + var options = this.options, + pointers = this.pointers, + canvas = this.canvas; + var width = canvas.width, + height = canvas.height, + naturalWidth = canvas.naturalWidth, + naturalHeight = canvas.naturalHeight; + ratio = Number(ratio); - if (ratio >= 0 && self.ready && !self.disabled && options.zoomable) { + if (ratio >= 0 && this.ready && !this.disabled && options.zoomable) { var newWidth = naturalWidth * ratio; var newHeight = naturalHeight * ratio; var originalEvent = void 0; @@ -2142,7 +2274,7 @@ var methods = { originalEvent = _event.originalEvent; } - if (self.trigger('zoom', { + if (this.trigger(EVENT_ZOOM, { originalEvent: originalEvent, oldRatio: width / naturalWidth, ratio: newWidth / naturalWidth @@ -2151,7 +2283,7 @@ var methods = { } if (originalEvent) { - var offset = self.$cropper.offset(); + var offset = this.$cropper.offset(); var center = pointers && objectKeys(pointers).length ? getPointersCenter(pointers) : { pageX: _event.pageX || originalEvent.pageX || 0, pageY: _event.pageY || originalEvent.pageY || 0 @@ -2168,122 +2300,105 @@ var methods = { canvas.width = newWidth; canvas.height = newHeight; - self.renderCanvas(true); + this.renderCanvas(true); } }, /** * Rotate the canvas with a relative degree - * - * @param {Number} degree + * @param {number} degree - The rotate degree. */ rotate: function rotate(degree) { - var self = this; - - self.rotateTo((self.image.rotate || 0) + Number(degree)); + this.rotateTo((this.image.rotate || 0) + Number(degree)); }, /** * Rotate the canvas to an absolute degree - * https://developer.mozilla.org/en-US/docs/Web/CSS/transform-function#rotate() - * - * @param {Number} degree + * @param {number} degree - The rotate degree. */ rotateTo: function rotateTo(degree) { - var self = this; - degree = Number(degree); - if (isNumber(degree) && self.ready && !self.disabled && self.options.rotatable) { - self.image.rotate = degree % 360; - self.rotated = true; - self.renderCanvas(true); + if (isNumber(degree) && this.ready && !this.disabled && this.options.rotatable) { + this.image.rotate = degree % 360; + this.renderCanvas(true, true); } }, + /** + * Scale the image on the x-axis. + * @param {number} scaleX - The scale ratio on the x-axis. + */ + scaleX: function scaleX(_scaleX) { + var scaleY = this.image.scaleY; + + + this.scale(_scaleX, isNumber(scaleY) ? scaleY : 1); + }, + + + /** + * Scale the image on the y-axis. + * @param {number} scaleY - The scale ratio on the y-axis. + */ + scaleY: function scaleY(_scaleY) { + var scaleX = this.image.scaleX; + + + this.scale(isNumber(scaleX) ? scaleX : 1, _scaleY); + }, + + /** * Scale the image - * https://developer.mozilla.org/en-US/docs/Web/CSS/transform-function#scale() - * - * @param {Number} scaleX - * @param {Number} scaleY (optional) + * @param {number} scaleX - The scale ratio on the x-axis. + * @param {number} [scaleY=scaleX] - The scale ratio on the y-axis. */ - scale: function scale(scaleX, scaleY) { - var self = this; - var image = self.image; - var changed = false; + scale: function scale(scaleX) { + var scaleY = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : scaleX; + var image = this.image; - // If "scaleY" is not present, its default value is "scaleX" - if (isUndefined(scaleY)) { - scaleY = scaleX; - } + var transformed = false; scaleX = Number(scaleX); scaleY = Number(scaleY); - if (self.ready && !self.disabled && self.options.scalable) { + if (this.ready && !this.disabled && this.options.scalable) { if (isNumber(scaleX)) { image.scaleX = scaleX; - changed = true; + transformed = true; } if (isNumber(scaleY)) { image.scaleY = scaleY; - changed = true; + transformed = true; } - if (changed) { - self.renderImage(true); + if (transformed) { + this.renderCanvas(true, true); } } }, - /** - * Scale the abscissa of the image - * - * @param {Number} scaleX - */ - scaleX: function scaleX(_scaleX) { - var self = this; - var scaleY = self.image.scaleY; - - self.scale(_scaleX, isNumber(scaleY) ? scaleY : 1); - }, - - - /** - * Scale the ordinate of the image - * - * @param {Number} scaleY - */ - scaleY: function scaleY(_scaleY) { - var self = this; - var scaleX = self.image.scaleX; - - self.scale(isNumber(scaleX) ? scaleX : 1, _scaleY); - }, - - /** * Get the cropped area position and size data (base on the original image) - * - * @param {Boolean} isRounded (optional) - * @return {Object} data + * @param {boolean} [rounded=false] - Indicate if round the data values or not. + * @returns {Object} The result cropped data. */ - getData: function getData(isRounded) { - var self = this; - var options = self.options; - var image = self.image; - var canvas = self.canvas; - var cropBox = self.cropBox; - var ratio = void 0; + getData: function getData() { + var rounded = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false; + var options = this.options, + image = this.image, + canvas = this.canvas, + cropBox = this.cropBox; + var data = void 0; - if (self.ready && self.cropped) { + if (this.ready && this.cropped) { data = { x: cropBox.left - canvas.left, y: cropBox.top - canvas.top, @@ -2291,11 +2406,11 @@ var methods = { height: cropBox.height }; - ratio = image.width / image.naturalWidth; + var ratio = image.width / image.naturalWidth; $.each(data, function (i, n) { n /= ratio; - data[i] = isRounded ? Math.round(n) : n; + data[i] = rounded ? Math.round(n) : n; }); } else { data = { @@ -2321,50 +2436,46 @@ var methods = { /** * Set the cropped area position and size with new data - * - * @param {Object} data + * @param {Object} data - The new data. */ setData: function setData(data) { - var self = this; - var options = self.options; - var image = self.image; - var canvas = self.canvas; + var options = this.options, + image = this.image, + canvas = this.canvas; + var cropBoxData = {}; - var rotated = void 0; - var isScaled = void 0; - var ratio = void 0; if ($.isFunction(data)) { - data = data.call(self.element); + data = data.call(this.element); } - if (self.ready && !self.disabled && $.isPlainObject(data)) { + if (this.ready && !this.disabled && $.isPlainObject(data)) { + var transformed = false; + if (options.rotatable) { if (isNumber(data.rotate) && data.rotate !== image.rotate) { image.rotate = data.rotate; - self.rotated = rotated = true; + transformed = true; } } if (options.scalable) { if (isNumber(data.scaleX) && data.scaleX !== image.scaleX) { image.scaleX = data.scaleX; - isScaled = true; + transformed = true; } if (isNumber(data.scaleY) && data.scaleY !== image.scaleY) { image.scaleY = data.scaleY; - isScaled = true; + transformed = true; } } - if (rotated) { - self.renderCanvas(); - } else if (isScaled) { - self.renderImage(); + if (transformed) { + this.renderCanvas(true, true); } - ratio = image.width / image.naturalWidth; + var ratio = image.width / image.naturalWidth; if (isNumber(data.x)) { cropBoxData.left = data.x * ratio + canvas.left; @@ -2382,42 +2493,39 @@ var methods = { cropBoxData.height = data.height * ratio; } - self.setCropBoxData(cropBoxData); + this.setCropBoxData(cropBoxData); } }, /** - * Get the container size data - * - * @return {Object} data + * Get the container size data. + * @returns {Object} The result container data. */ getContainerData: function getContainerData() { - return this.ready ? this.container : {}; + return this.ready ? $.extend({}, this.container) : {}; }, /** - * Get the image position and size data - * - * @return {Object} data + * Get the image position and size data. + * @returns {Object} The result image data. */ getImageData: function getImageData() { - return this.loaded ? this.image : {}; + return this.loaded ? $.extend({}, this.image) : {}; }, /** - * Get the canvas position and size data - * - * @return {Object} data + * Get the canvas position and size data. + * @returns {Object} The result canvas data. */ getCanvasData: function getCanvasData() { - var self = this; - var canvas = self.canvas; + var canvas = this.canvas; + var data = {}; - if (self.ready) { + if (this.ready) { $.each(['left', 'top', 'width', 'height', 'naturalWidth', 'naturalHeight'], function (i, n) { data[n] = canvas[n]; }); @@ -2428,20 +2536,19 @@ var methods = { /** - * Set the canvas position and size with new data - * - * @param {Object} data + * Set the canvas position and size with new data. + * @param {Object} data - The new canvas data. */ setCanvasData: function setCanvasData(data) { - var self = this; - var canvas = self.canvas; + var canvas = this.canvas; var aspectRatio = canvas.aspectRatio; + if ($.isFunction(data)) { - data = data.call(self.$element); + data = data.call(this.$element); } - if (self.ready && !self.disabled && $.isPlainObject(data)) { + if (this.ready && !this.disabled && $.isPlainObject(data)) { if (isNumber(data.left)) { canvas.left = data.left; } @@ -2458,21 +2565,20 @@ var methods = { canvas.width = data.height * aspectRatio; } - self.renderCanvas(true); + this.renderCanvas(true); } }, /** - * Get the crop box position and size data - * - * @return {Object} data + * Get the crop box position and size data. + * @returns {Object} The result crop box data. */ getCropBoxData: function getCropBoxData() { - var self = this; - var cropBox = self.cropBox; + var cropBox = this.cropBox; + - return self.ready && self.cropped ? { + return this.ready && this.cropped ? { left: cropBox.left, top: cropBox.top, width: cropBox.width, @@ -2482,22 +2588,21 @@ var methods = { /** - * Set the crop box position and size with new data - * - * @param {Object} data + * Set the crop box position and size with new data. + * @param {Object} data - The new crop box data. */ setCropBoxData: function setCropBoxData(data) { - var self = this; - var cropBox = self.cropBox; - var aspectRatio = self.options.aspectRatio; + var cropBox = this.cropBox; + var aspectRatio = this.options.aspectRatio; + var widthChanged = void 0; var heightChanged = void 0; if ($.isFunction(data)) { - data = data.call(self.$element); + data = data.call(this.$element); } - if (self.ready && self.cropped && !self.disabled && $.isPlainObject(data)) { + if (this.ready && this.cropped && !this.disabled && $.isPlainObject(data)) { if (isNumber(data.left)) { cropBox.left = data.left; } @@ -2524,153 +2629,172 @@ var methods = { } } - self.renderCropBox(); + this.renderCropBox(); } }, /** - * Get a canvas drawn the cropped image - * - * @param {Object} options (optional) - * @return {HTMLCanvasElement} canvas + * Get a canvas drawn the cropped image. + * @param {Object} [options={}] - The config options. + * @returns {HTMLCanvasElement} - The result canvas. */ - getCroppedCanvas: function getCroppedCanvas(options) { - var self = this; + getCroppedCanvas: function getCroppedCanvas() { + var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}; - if (!self.ready || !window.HTMLCanvasElement) { + if (!this.ready || !window.HTMLCanvasElement) { return null; } - if (!self.cropped) { - return getSourceCanvas(self.$clone[0], self.image); - } + var canvasData = this.canvas; - if (!$.isPlainObject(options)) { - options = {}; + var source = getSourceCanvas(this.$clone[0], this.image, canvasData, options); + + // Returns the source canvas if it is not cropped. + if (!this.cropped) { + return source; } - var data = self.getData(); - var originalWidth = data.width; - var originalHeight = data.height; - var aspectRatio = originalWidth / originalHeight; - var scaledWidth = void 0; - var scaledHeight = void 0; - var scaledRatio = void 0; + var _getData = this.getData(), + initialX = _getData.x, + initialY = _getData.y, + initialWidth = _getData.width, + initialHeight = _getData.height; - if ($.isPlainObject(options)) { - scaledWidth = options.width; - scaledHeight = options.height; + var ratio = source.width / Math.floor(canvasData.naturalWidth); - if (scaledWidth) { - scaledHeight = scaledWidth / aspectRatio; - scaledRatio = scaledWidth / originalWidth; - } else if (scaledHeight) { - scaledWidth = scaledHeight * aspectRatio; - scaledRatio = scaledHeight / originalHeight; - } + if (ratio !== 1) { + initialX *= ratio; + initialY *= ratio; + initialWidth *= ratio; + initialHeight *= ratio; } - // The canvas element will use `Math.Math.floor` on a float number, so Math.floor first - var canvasWidth = Math.floor(scaledWidth || originalWidth); - var canvasHeight = Math.floor(scaledHeight || originalHeight); + var aspectRatio = initialWidth / initialHeight; + var maxSizes = getAdjustedSizes({ + aspectRatio: aspectRatio, + width: options.maxWidth || Infinity, + height: options.maxHeight || Infinity + }); + var minSizes = getAdjustedSizes({ + aspectRatio: aspectRatio, + width: options.minWidth || 0, + height: options.minHeight || 0 + }, 'cover'); + + var _getAdjustedSizes = getAdjustedSizes({ + aspectRatio: aspectRatio, + width: options.width || (ratio !== 1 ? source.width : initialWidth), + height: options.height || (ratio !== 1 ? source.height : initialHeight) + }), + width = _getAdjustedSizes.width, + height = _getAdjustedSizes.height; + + width = Math.min(maxSizes.width, Math.max(minSizes.width, width)); + height = Math.min(maxSizes.height, Math.max(minSizes.height, height)); - var canvas = $('')[0]; + var canvas = document.createElement('canvas'); var context = canvas.getContext('2d'); - canvas.width = canvasWidth; - canvas.height = canvasHeight; + canvas.width = normalizeDecimalNumber(width); + canvas.height = normalizeDecimalNumber(height); + context.fillStyle = options.fillColor || 'transparent'; + context.fillRect(0, 0, width, height); + + var _options$imageSmoothi = options.imageSmoothingEnabled, + imageSmoothingEnabled = _options$imageSmoothi === undefined ? true : _options$imageSmoothi, + imageSmoothingQuality = options.imageSmoothingQuality; + - if (options.fillColor) { - context.fillStyle = options.fillColor; - context.fillRect(0, 0, canvasWidth, canvasHeight); + context.imageSmoothingEnabled = imageSmoothingEnabled; + + if (imageSmoothingQuality) { + context.imageSmoothingQuality = imageSmoothingQuality; } // https://developer.mozilla.org/en-US/docs/Web/API/CanvasRenderingContext2D.drawImage - var parameters = function () { - var source = getSourceCanvas(self.$clone[0], self.image); - var sourceWidth = source.width; - var sourceHeight = source.height; - var canvasData = self.canvas; - var params = [source]; - - // Source canvas - var srcX = data.x + canvasData.naturalWidth * (Math.abs(data.scaleX || 1) - 1) / 2; - var srcY = data.y + canvasData.naturalHeight * (Math.abs(data.scaleY || 1) - 1) / 2; - var srcWidth = void 0; - var srcHeight = void 0; - - // Destination canvas - var dstX = void 0; - var dstY = void 0; - var dstWidth = void 0; - var dstHeight = void 0; - - if (srcX <= -originalWidth || srcX > sourceWidth) { - srcX = srcWidth = dstX = dstWidth = 0; - } else if (srcX <= 0) { - dstX = -srcX; - srcX = 0; - srcWidth = dstWidth = Math.min(sourceWidth, originalWidth + srcX); - } else if (srcX <= sourceWidth) { - dstX = 0; - srcWidth = dstWidth = Math.min(originalWidth, sourceWidth - srcX); - } - - if (srcWidth <= 0 || srcY <= -originalHeight || srcY > sourceHeight) { - srcY = srcHeight = dstY = dstHeight = 0; - } else if (srcY <= 0) { - dstY = -srcY; - srcY = 0; - srcHeight = dstHeight = Math.min(sourceHeight, originalHeight + srcY); - } else if (srcY <= sourceHeight) { - dstY = 0; - srcHeight = dstHeight = Math.min(originalHeight, sourceHeight - srcY); - } - - // All the numerical parameters should be integer for `drawImage` (#476) - params.push(Math.floor(srcX), Math.floor(srcY), Math.floor(srcWidth), Math.floor(srcHeight)); - - // Scale destination sizes - if (scaledRatio) { - dstX *= scaledRatio; - dstY *= scaledRatio; - dstWidth *= scaledRatio; - dstHeight *= scaledRatio; - } - - // Avoid "IndexSizeError" in IE and Firefox - if (dstWidth > 0 && dstHeight > 0) { - params.push(Math.floor(dstX), Math.floor(dstY), Math.floor(dstWidth), Math.floor(dstHeight)); - } - - return params; - }(); - - context.drawImage.apply(context, toConsumableArray(parameters)); - + var sourceWidth = source.width; + var sourceHeight = source.height; + + // Source canvas parameters + var srcX = initialX; + var srcY = initialY; + var srcWidth = void 0; + var srcHeight = void 0; + + // Destination canvas parameters + var dstX = void 0; + var dstY = void 0; + var dstWidth = void 0; + var dstHeight = void 0; + + if (srcX <= -initialWidth || srcX > sourceWidth) { + srcX = 0; + srcWidth = 0; + dstX = 0; + dstWidth = 0; + } else if (srcX <= 0) { + dstX = -srcX; + srcX = 0; + srcWidth = Math.min(sourceWidth, initialWidth + srcX); + dstWidth = srcWidth; + } else if (srcX <= sourceWidth) { + dstX = 0; + srcWidth = Math.min(initialWidth, sourceWidth - srcX); + dstWidth = srcWidth; + } + + if (srcWidth <= 0 || srcY <= -initialHeight || srcY > sourceHeight) { + srcY = 0; + srcHeight = 0; + dstY = 0; + dstHeight = 0; + } else if (srcY <= 0) { + dstY = -srcY; + srcY = 0; + srcHeight = Math.min(sourceHeight, initialHeight + srcY); + dstHeight = srcHeight; + } else if (srcY <= sourceHeight) { + dstY = 0; + srcHeight = Math.min(initialHeight, sourceHeight - srcY); + dstHeight = srcHeight; + } + + // All the numerical parameters should be integer for `drawImage` + // https://github.com/fengyuanchen/cropper/issues/476 + var params = [srcX, srcY, srcWidth, srcHeight]; + + // Avoid "IndexSizeError" + if (dstWidth > 0 && dstHeight > 0) { + var scale = width / initialWidth; + + params.push(dstX * scale, dstY * scale, dstWidth * scale, dstHeight * scale); + } + + context.drawImage.apply(context, [source].concat(toConsumableArray($.map(params, function (param) { + return Math.floor(normalizeDecimalNumber(param)); + })))); return canvas; }, /** - * Change the aspect ratio of the crop box - * - * @param {Number} aspectRatio + * Change the aspect ratio of the crop box. + * @param {number} aspectRatio - The new aspect ratio. */ setAspectRatio: function setAspectRatio(aspectRatio) { - var self = this; - var options = self.options; + var options = this.options; - if (!self.disabled && !isUndefined(aspectRatio)) { + + if (!this.disabled && !isUndefined(aspectRatio)) { // 0 -> NaN options.aspectRatio = Math.max(0, aspectRatio) || NaN; - if (self.ready) { - self.initCropBox(); + if (this.ready) { + this.initCropBox(); - if (self.cropped) { - self.renderCropBox(); + if (this.cropped) { + this.renderCropBox(); } } } @@ -2678,72 +2802,76 @@ var methods = { /** - * Change the drag mode - * - * @param {String} mode (optional) + * Change the drag mode. + * @param {string} mode - The new drag mode. */ setDragMode: function setDragMode(mode) { - var self = this; - var options = self.options; + var options = this.options; + var croppable = void 0; var movable = void 0; - if (self.loaded && !self.disabled) { - croppable = mode === 'crop'; - movable = options.movable && mode === 'move'; - mode = croppable || movable ? mode : 'none'; + if (this.loaded && !this.disabled) { + croppable = mode === DRAG_MODE_CROP; + movable = options.movable && mode === DRAG_MODE_MOVE; + mode = croppable || movable ? mode : DRAG_MODE_NONE; - self.$dragBox.data('action', mode).toggleClass('cropper-crop', croppable).toggleClass('cropper-move', movable); + this.$dragBox.data(DATA_ACTION, mode).toggleClass(CLASS_CROP, croppable).toggleClass(CLASS_MOVE, movable); if (!options.cropBoxMovable) { // Sync drag mode to crop box when it is not movable(#300) - self.$face.data('action', mode).toggleClass('cropper-crop', croppable).toggleClass('cropper-move', movable); + this.$face.data(DATA_ACTION, mode).toggleClass(CLASS_CROP, croppable).toggleClass(CLASS_MOVE, movable); } } } }; -var CLASS_HIDDEN = 'cropper-hidden'; -var REGEXP_DATA_URL = /^data:/; -var REGEXP_DATA_URL_JPEG = /^data:image\/jpeg;base64,/; - var Cropper = function () { - function Cropper(element, options) { + /** + * Create a new Cropper. + * @param {Element} element - The target element for cropping. + * @param {Object} [options={}] - The configuration options. + */ + function Cropper(element) { + var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; classCallCheck(this, Cropper); - var self = this; - - self.$element = $(element); - self.options = $.extend({}, DEFAULTS, $.isPlainObject(options) && options); - self.loaded = false; - self.ready = false; - self.completed = false; - self.rotated = false; - self.cropped = false; - self.disabled = false; - self.replaced = false; - self.limited = false; - self.wheeling = false; - self.isImg = false; - self.originalUrl = ''; - self.canvas = null; - self.cropBox = null; - self.pointers = {}; - self.init(); + if (!element || !REGEXP_TAG_NAME.test(element.tagName)) { + throw new Error('The first argument is required and must be an or element.'); + } + + this.element = element; + this.$element = $(element); + this.options = $.extend({}, DEFAULTS, $.isPlainObject(options) && options); + this.completed = false; + this.cropped = false; + this.disabled = false; + this.isImg = false; + this.limited = false; + this.loaded = false; + this.ready = false; + this.replaced = false; + this.wheeling = false; + this.originalUrl = ''; + this.canvas = null; + this.cropBox = null; + this.pointers = {}; + this.init(); } createClass(Cropper, [{ key: 'init', value: function init() { - var self = this; - var $this = self.$element; + var $element = this.$element; + var url = void 0; - if ($this.is('img')) { - self.isImg = true; + if ($element.is('img')) { + this.isImg = true; // Should use `$.fn.attr` here. e.g.: "img/picture.jpg" - self.originalUrl = url = $this.attr('src'); + url = $element.attr('src') || ''; + this.originalUrl = url; // Stop when it's a blank image if (!url) { @@ -2751,12 +2879,12 @@ var Cropper = function () { } // Should use `$.fn.prop` here. e.g.: "http://example.com/img/picture.jpg" - url = $this.prop('src'); - } else if ($this.is('canvas') && window.HTMLCanvasElement) { - url = $this[0].toDataURL(); + url = $element.prop('src'); + } else if ($element.is('canvas') && window.HTMLCanvasElement) { + url = $element[0].toDataURL(); } - self.load(url); + this.load(url); } // A shortcut for triggering custom events @@ -2773,104 +2901,74 @@ var Cropper = function () { }, { key: 'load', value: function load(url) { - var self = this; - var options = self.options; - var $this = self.$element; + var _this = this; if (!url) { return; } - self.url = url; - self.image = {}; + this.url = url; + this.image = {}; + + var $element = this.$element, + options = this.options; + if (!options.checkOrientation || !window.ArrayBuffer) { - self.clone(); + this.clone(); return; } // XMLHttpRequest disallows to open a Data URL in some browsers like IE11 and Safari if (REGEXP_DATA_URL.test(url)) { if (REGEXP_DATA_URL_JPEG.test(url)) { - self.read(dataURLToArrayBuffer(url)); + this.read(dataURLToArrayBuffer(url)); } else { - self.clone(); + this.clone(); } + return; } var xhr = new XMLHttpRequest(); - xhr.onerror = xhr.onabort = $.proxy(function () { - self.clone(); - }, this); + xhr.onerror = function () { + _this.clone(); + }; - xhr.onload = function load() { - self.read(this.response); + xhr.onload = function () { + _this.read(xhr.response); }; - if (options.checkCrossOrigin && isCrossOriginURL(url) && $this.prop('crossOrigin')) { + // Bust cache when there is a "crossOrigin" property + if (options.checkCrossOrigin && isCrossOriginURL(url) && !$element.prop('crossOrigin')) { url = addTimestamp(url); } xhr.open('get', url); xhr.responseType = 'arraybuffer'; - xhr.withCredentials = $this.prop('crossOrigin') === 'use-credentials'; + xhr.withCredentials = $element.prop('crossOrigin') === 'use-credentials'; xhr.send(); } }, { key: 'read', value: function read(arrayBuffer) { - var self = this; - var options = self.options; + var options = this.options, + image = this.image; + var orientation = getOrientation(arrayBuffer); - var image = self.image; var rotate = 0; var scaleX = 1; var scaleY = 1; if (orientation > 1) { - self.url = arrayBufferToDataURL(arrayBuffer); - - switch (orientation) { - - // flip horizontal - case 2: - scaleX = -1; - break; - - // rotate left 180° - case 3: - rotate = -180; - break; + this.url = arrayBufferToDataURL(arrayBuffer, 'image/jpeg'); - // flip vertical - case 4: - scaleY = -1; - break; - - // flip vertical + rotate right 90° - case 5: - rotate = 90; - scaleY = -1; - break; - - // rotate right 90° - case 6: - rotate = 90; - break; - - // flip horizontal + rotate right 90° - case 7: - rotate = 90; - scaleX = -1; - break; + var _parseOrientation = parseOrientation(orientation); - // rotate left 90° - case 8: - rotate = -90; - break; - } + rotate = _parseOrientation.rotate; + scaleX = _parseOrientation.scaleX; + scaleY = _parseOrientation.scaleY; } if (options.rotatable) { @@ -2882,20 +2980,20 @@ var Cropper = function () { image.scaleY = scaleY; } - self.clone(); + this.clone(); } }, { key: 'clone', value: function clone() { - var self = this; - var options = self.options; - var $this = self.$element; - var url = self.url; + var $element = this.$element, + options = this.options, + url = this.url; + var crossOrigin = ''; var crossOriginUrl = void 0; if (options.checkCrossOrigin && isCrossOriginURL(url)) { - crossOrigin = $this.prop('crossOrigin'); + crossOrigin = $element.prop('crossOrigin'); if (crossOrigin) { crossOriginUrl = url; @@ -2907,8 +3005,8 @@ var Cropper = function () { } } - self.crossOrigin = crossOrigin; - self.crossOriginUrl = crossOriginUrl; + this.crossOrigin = crossOrigin; + this.crossOriginUrl = crossOriginUrl; var image = document.createElement('img'); @@ -2920,181 +3018,187 @@ var Cropper = function () { var $clone = $(image); - self.$clone = $clone; + this.$clone = $clone; - if (self.isImg) { - if ($this[0].complete) { - self.start(); + if (this.isImg) { + if (this.element.complete) { + this.start(); } else { - $this.one('load', $.proxy(self.start, this)); + $element.one(EVENT_LOAD, $.proxy(this.start, this)); } } else { - $clone.one('load', $.proxy(self.start, this)).one('error', $.proxy(self.stop, this)).addClass('cropper-hide').insertAfter($this); + $clone.one(EVENT_LOAD, $.proxy(this.start, this)).one(EVENT_ERROR, $.proxy(this.stop, this)).addClass(CLASS_HIDE).insertAfter($element); } } }, { key: 'start', value: function start() { - var self = this; - var $clone = self.$clone; - var $image = self.$element; + var _this2 = this; + + var $clone = this.$clone; + + var $image = this.$element; - if (!self.isImg) { - $clone.off('error', self.stop); + if (!this.isImg) { + $clone.off(EVENT_ERROR, this.stop); $image = $clone; } - getImageSize($image[0], function (naturalWidth, naturalHeight) { - $.extend(self.image, { + getImageNaturalSizes($image[0], function (naturalWidth, naturalHeight) { + $.extend(_this2.image, { naturalWidth: naturalWidth, naturalHeight: naturalHeight, aspectRatio: naturalWidth / naturalHeight }); - self.loaded = true; - self.build(); + _this2.loaded = true; + _this2.build(); }); } }, { key: 'stop', value: function stop() { - var self = this; - - self.$clone.remove(); - self.$clone = null; + this.$clone.remove(); + this.$clone = null; } }, { key: 'build', value: function build() { - var self = this; - var options = self.options; - var $this = self.$element; - var $clone = self.$clone; - var $cropper = void 0; - var $cropBox = void 0; - var $face = void 0; - - if (!self.loaded) { + var _this3 = this; + + if (!this.loaded) { return; } // Unbuild first when replace - if (self.ready) { - self.unbuild(); + if (this.ready) { + this.unbuild(); } + var $element = this.$element, + options = this.options, + $clone = this.$clone; + + var $cropper = $(TEMPLATE); + var $cropBox = $cropper.find('.' + NAMESPACE + '-crop-box'); + var $face = $cropBox.find('.' + NAMESPACE + '-face'); + // Create cropper elements - self.$container = $this.parent(); - self.$cropper = $cropper = $(TEMPLATE); - self.$canvas = $cropper.find('.cropper-canvas').append($clone); - self.$dragBox = $cropper.find('.cropper-drag-box'); - self.$cropBox = $cropBox = $cropper.find('.cropper-crop-box'); - self.$viewBox = $cropper.find('.cropper-view-box'); - self.$face = $face = $cropBox.find('.cropper-face'); + this.$container = $element.parent(); + this.$cropper = $cropper; + this.$canvas = $cropper.find('.' + NAMESPACE + '-canvas').append($clone); + this.$dragBox = $cropper.find('.' + NAMESPACE + '-drag-box'); + this.$cropBox = $cropBox; + this.$viewBox = $cropper.find('.' + NAMESPACE + '-view-box'); + this.$face = $face; // Hide the original image - $this.addClass(CLASS_HIDDEN).after($cropper); + $element.addClass(CLASS_HIDDEN).after($cropper); // Show the clone image if is hidden - if (!self.isImg) { - $clone.removeClass('cropper-hide'); + if (!this.isImg) { + $clone.removeClass(CLASS_HIDE); } - self.initPreview(); - self.bind(); + this.initPreview(); + this.bind(); options.aspectRatio = Math.max(0, options.aspectRatio) || NaN; options.viewMode = Math.max(0, Math.min(3, Math.round(options.viewMode))) || 0; - self.cropped = options.autoCrop; + this.cropped = options.autoCrop; if (options.autoCrop) { if (options.modal) { - self.$dragBox.addClass('cropper-modal'); + this.$dragBox.addClass(CLASS_MODAL); } } else { $cropBox.addClass(CLASS_HIDDEN); } if (!options.guides) { - $cropBox.find('.cropper-dashed').addClass(CLASS_HIDDEN); + $cropBox.find('.' + NAMESPACE + '-dashed').addClass(CLASS_HIDDEN); } if (!options.center) { - $cropBox.find('.cropper-center').addClass(CLASS_HIDDEN); + $cropBox.find('.' + NAMESPACE + '-center').addClass(CLASS_HIDDEN); } if (options.cropBoxMovable) { - $face.addClass('cropper-move').data('action', 'all'); + $face.addClass(CLASS_MOVE).data(DATA_ACTION, ACTION_ALL); } if (!options.highlight) { - $face.addClass('cropper-invisible'); + $face.addClass(CLASS_INVISIBLE); } if (options.background) { - $cropper.addClass('cropper-bg'); + $cropper.addClass(NAMESPACE + '-bg'); } if (!options.cropBoxResizable) { - $cropBox.find('.cropper-line, .cropper-point').addClass(CLASS_HIDDEN); + $cropBox.find('.' + NAMESPACE + '-line,.' + NAMESPACE + '-point').addClass(CLASS_HIDDEN); } - self.setDragMode(options.dragMode); - self.render(); - self.ready = true; - self.setData(options.data); + this.setDragMode(options.dragMode); + this.render(); + this.ready = true; + this.setData(options.data); // Trigger the ready event asynchronously to keep `data('cropper')` is defined - self.completing = setTimeout(function () { + this.completing = setTimeout(function () { if ($.isFunction(options.ready)) { - $this.one('ready', options.ready); + $element.one(EVENT_READY, options.ready); } - self.trigger('ready'); - self.trigger('crop', self.getData()); - self.completed = true; + _this3.trigger(EVENT_READY); + _this3.trigger(EVENT_CROP, _this3.getData()); + _this3.completed = true; }, 0); } }, { key: 'unbuild', value: function unbuild() { - var self = this; - - if (!self.ready) { + if (!this.ready) { return; } - if (!self.completed) { - clearTimeout(self.completing); + if (!this.completed) { + clearTimeout(this.completing); } - self.ready = false; - self.completed = false; - self.initialImage = null; + this.ready = false; + this.completed = false; + this.initialImage = null; // Clear `initialCanvas` is necessary when replace - self.initialCanvas = null; - self.initialCropBox = null; - self.container = null; - self.canvas = null; + this.initialCanvas = null; + this.initialCropBox = null; + this.container = null; + this.canvas = null; // Clear `cropBox` is necessary when replace - self.cropBox = null; - self.unbind(); + this.cropBox = null; + this.unbind(); - self.resetPreview(); - self.$preview = null; + this.resetPreview(); + this.$preview = null; - self.$viewBox = null; - self.$cropBox = null; - self.$dragBox = null; - self.$canvas = null; - self.$container = null; + this.$viewBox = null; + this.$cropBox = null; + this.$dragBox = null; + this.$canvas = null; + this.$container = null; - self.$cropper.remove(); - self.$cropper = null; + this.$cropper.remove(); + this.$cropper = null; } + + /** + * Change the default options. + * @param {Object} options - The new default options. + */ + }], [{ key: 'setDefaults', value: function setDefaults(options) { @@ -3104,55 +3208,53 @@ var Cropper = function () { return Cropper; }(); -$.extend(Cropper.prototype, render$1); -$.extend(Cropper.prototype, preview$1); -$.extend(Cropper.prototype, events); -$.extend(Cropper.prototype, handlers); -$.extend(Cropper.prototype, change$1); -$.extend(Cropper.prototype, methods); - -var NAMESPACE = 'cropper'; -var OtherCropper = $.fn.cropper; +if ($.extend) { + $.extend(Cropper.prototype, render, preview, events, handlers, change, methods); +} -$.fn.cropper = function jQueryCropper(option) { - for (var _len = arguments.length, args = Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) { - args[_key - 1] = arguments[_key]; - } +if ($.fn) { + var AnotherCropper = $.fn.cropper; - var result = void 0; + $.fn.cropper = function jQueryCropper(option) { + for (var _len = arguments.length, args = Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) { + args[_key - 1] = arguments[_key]; + } - this.each(function (i, element) { - var $this = $(element); - var data = $this.data(NAMESPACE); + var result = void 0; - if (!data) { - if (/destroy/.test(option)) { - return; - } + this.each(function (i, element) { + var $element = $(element); + var data = $element.data(NAMESPACE); - var options = $.extend({}, $this.data(), $.isPlainObject(option) && option); - $this.data(NAMESPACE, data = new Cropper(element, options)); - } + if (!data) { + if (/destroy/.test(option)) { + return; + } - if (typeof option === 'string') { - var fn = data[option]; + var options = $.extend({}, $element.data(), $.isPlainObject(option) && option); - if ($.isFunction(fn)) { - result = fn.apply(data, args); + data = new Cropper(element, options); + $element.data(NAMESPACE, data); } - } - }); - return typeof result !== 'undefined' ? result : this; -}; + if (isString(option)) { + var fn = data[option]; -$.fn.cropper.Constructor = Cropper; -$.fn.cropper.setDefaults = Cropper.setDefaults; + if ($.isFunction(fn)) { + result = fn.apply(data, args); + } + } + }); -// No conflict -$.fn.cropper.noConflict = function noConflict() { - $.fn.cropper = OtherCropper; - return this; -}; + return isUndefined(result) ? this : result; + }; + + $.fn.cropper.Constructor = Cropper; + $.fn.cropper.setDefaults = Cropper.setDefaults; + $.fn.cropper.noConflict = function noConflict() { + $.fn.cropper = AnotherCropper; + return this; + }; +} }))); diff --git a/js/vendors/jquery.fine-uploader.min.js b/js/vendors/jquery.fine-uploader.min.js index cf903586f7..8ac83d6a91 100644 --- a/js/vendors/jquery.fine-uploader.min.js +++ b/js/vendors/jquery.fine-uploader.min.js @@ -1,7 +1,7 @@ -// Fine Uploader 5.14.1 - (c) 2013-present Widen Enterprises, Inc. MIT licensed. http://fineuploader.com -!function(global){!function(e){"use strict";function t(e){var t=s(e||{}),i=n(t);return o(i),a(t,i),d}function n(e){var t=r("uploaderType"),n=r("endpointType");return t?(t=t.charAt(0).toUpperCase()+t.slice(1).toLowerCase(),n?new qq[n]["FineUploader"+t](e):new qq["FineUploader"+t](e)):n?new qq[n].FineUploader(e):new qq.FineUploader(e)}function i(e,t){var n=d.data("fineuploader");return t?(void 0===n&&(n={}),n[e]=t,d.data("fineuploader",n),void 0):void 0===n?null:n[e]}function o(e){return i("uploader",e)}function r(e,t){return i(e,t)}function a(t,n){var i=t.callbacks={};e.each(n._options.callbacks,function(t,n){var o,r;o=/^on(\w+)/.exec(t)[1],o=o.substring(0,1).toLowerCase()+o.substring(1),r=d,i[t]=function(){var t,i,a=Array.prototype.slice.call(arguments),s=[];e.each(a,function(e,t){s.push(c(t))}),t=n.apply(this,a);try{i=r.triggerHandler(o,s)}catch(e){qq.log("Caught error in Fine Uploader jQuery event handler: "+e.message,"error")}return null!=t?t:i}}),n._options.callbacks=i}function s(t,n){var i,o;if(i=void 0===n?"basic"!==t.uploaderType?{element:d[0]}:{}:n,e.each(t,function(t,n){e.inArray(t,p)>=0?r(t,n):n instanceof e?i[t]=n[0]:e.isPlainObject(n)?(i[t]={},s(n,i[t])):e.isArray(n)?(o=[],e.each(n,function(t,n){var i={};n instanceof e?e.merge(o,n):e.isPlainObject(n)?(s(n,i),o.push(i)):o.push(n)}),i[t]=o):i[t]=n}),void 0===n)return i}function l(t){return"string"===e.type(t)&&!t.match(/^_/)&&void 0!==o()[t]}function u(e){var t,n=[],i=Array.prototype.slice.call(arguments,1);return s(i,n),t=o()[e].apply(o(),n),c(t)}function c(t){var n=t;return null==t||"object"!=typeof t||1!==t.nodeType&&9!==t.nodeType||!t.cloneNode||(n=e(t)),n}var d,p=["uploaderType","endpointType"];e.fn.fineUploader=function(n){var i=this,r=arguments,a=[];return this.each(function(s,c){if(d=e(c),o()&&l(n)){if(a.push(u.apply(i,r)),1===i.length)return!1}else"object"!=typeof n&&n?e.error("Method "+n+" does not exist on jQuery.fineUploader"):t.apply(i,r)}),1===a.length?a[0]:a.length>1?a:this}}(jQuery),function(e){"use strict";function t(e){e||(e={}),e.dropZoneElements=[l];var t=r(e);return o(t),i(new qq.DragAndDrop(t)),l}function n(e,t){var n=l.data(u);return t?(void 0===n&&(n={}),n[e]=t,l.data(u,n),void 0):void 0===n?null:n[e]}function i(e){return n("dndInstance",e)}function o(t){var n=t.callbacks={};e.each(new qq.DragAndDrop.callbacks,function(e,t){var i,o=e;i=l,n[e]=function(){var e=Array.prototype.slice.call(arguments),t=i.triggerHandler(o,e);return t}})}function r(t,n){var i,o;if(i=void 0===n?{}:n,e.each(t,function(t,n){n instanceof e?i[t]=n[0]:e.isPlainObject(n)?(i[t]={},r(n,i[t])):e.isArray(n)?(o=[],e.each(n,function(t,n){n instanceof e?e.merge(o,n):o.push(n)}),i[t]=o):i[t]=n}),void 0===n)return i}function a(t){return"string"===e.type(t)&&"dispose"===t&&void 0!==i()[t]}function s(e){var t=[],n=Array.prototype.slice.call(arguments,1);return r(n,t),i()[e].apply(i(),t)}var l,u="fineUploaderDnd";e.fn.fineUploaderDnd=function(n){var o=this,r=arguments,u=[];return this.each(function(c,d){if(l=e(d),i()&&a(n)){if(u.push(s.apply(o,r)),1===o.length)return!1}else"object"!=typeof n&&n?e.error("Method "+n+" does not exist in Fine Uploader's DnD module."):t.apply(o,r)}),1===u.length?u[0]:u.length>1?u:this}}(jQuery);var qq=function(e){"use strict";return{hide:function(){return e.style.display="none",this},attach:function(t,n){return e.addEventListener?e.addEventListener(t,n,!1):e.attachEvent&&e.attachEvent("on"+t,n),function(){qq(e).detach(t,n)}},detach:function(t,n){return e.removeEventListener?e.removeEventListener(t,n,!1):e.attachEvent&&e.detachEvent("on"+t,n),this},contains:function(t){return!!t&&(e===t||(e.contains?e.contains(t):!!(8&t.compareDocumentPosition(e))))},insertBefore:function(t){return t.parentNode.insertBefore(e,t),this},remove:function(){return e.parentNode.removeChild(e),this},css:function(t){if(null==e.style)throw new qq.Error("Can't apply style to node as it is not on the HTMLElement prototype chain!");return null!=t.opacity&&"string"!=typeof e.style.opacity&&"undefined"!=typeof e.filters&&(t.filter="alpha(opacity="+Math.round(100*t.opacity)+")"),qq.extend(e.style,t),this},hasClass:function(t,n){var i=new RegExp("(^| )"+t+"( |$)");return i.test(e.className)||!(!n||!i.test(e.parentNode.className))},addClass:function(t){return qq(e).hasClass(t)||(e.className+=" "+t),this},removeClass:function(t){var n=new RegExp("(^| )"+t+"( |$)");return e.className=e.className.replace(n," ").replace(/^\s+|\s+$/g,""),this},getByClass:function(t,n){var i,o=[];return n&&e.querySelector?e.querySelector("."+t):e.querySelectorAll?e.querySelectorAll("."+t):(i=e.getElementsByTagName("*"),qq.each(i,function(e,n){qq(n).hasClass(t)&&o.push(n)}),n?o[0]:o)},getFirstByClass:function(t){return qq(e).getByClass(t,!0)},children:function(){for(var t=[],n=e.firstChild;n;)1===n.nodeType&&t.push(n),n=n.nextSibling;return t},setText:function(t){return e.innerText=t,e.textContent=t,this},clearText:function(){return qq(e).setText("")},hasAttribute:function(t){var n;return e.hasAttribute?!!e.hasAttribute(t)&&null==/^false$/i.exec(e.getAttribute(t)):(n=e[t],void 0!==n&&null==/^false$/i.exec(n))}}};!function(){"use strict";qq.canvasToBlob=function(e,t,n){return qq.dataUriToBlob(e.toDataURL(t,n))},qq.dataUriToBlob=function(e){var t,n,i,o,r=function(e,t){var n=window.BlobBuilder||window.WebKitBlobBuilder||window.MozBlobBuilder||window.MSBlobBuilder,i=n&&new n;return i?(i.append(e),i.getBlob(t)):new Blob([e],{type:t})};return n=e.split(",")[0].indexOf("base64")>=0?atob(e.split(",")[1]):decodeURI(e.split(",")[1]),o=e.split(",")[0].split(":")[1].split(";")[0],t=new ArrayBuffer(n.length),i=new Uint8Array(t),qq.each(n,function(e,t){i[e]=t.charCodeAt(0)}),r(t,o)},qq.log=function(e,t){window.console&&(t&&"info"!==t?window.console[t]?window.console[t](e):window.console.log("<"+t+"> "+e):window.console.log(e))},qq.isObject=function(e){return e&&!e.nodeType&&"[object Object]"===Object.prototype.toString.call(e)},qq.isFunction=function(e){return"function"==typeof e},qq.isArray=function(e){return"[object Array]"===Object.prototype.toString.call(e)||e&&window.ArrayBuffer&&e.buffer&&e.buffer.constructor===ArrayBuffer},qq.isItemList=function(e){return"[object DataTransferItemList]"===Object.prototype.toString.call(e)},qq.isNodeList=function(e){return"[object NodeList]"===Object.prototype.toString.call(e)||e.item&&e.namedItem},qq.isString=function(e){return"[object String]"===Object.prototype.toString.call(e)},qq.trimStr=function(e){return String.prototype.trim?e.trim():e.replace(/^\s+|\s+$/g,"")},qq.format=function(e){var t=Array.prototype.slice.call(arguments,1),n=e,i=n.indexOf("{}");return qq.each(t,function(e,t){var o=n.substring(0,i),r=n.substring(i+2);if(n=o+t+r,i=n.indexOf("{}",i+t.length),i<0)return!1}),n},qq.isFile=function(e){return window.File&&"[object File]"===Object.prototype.toString.call(e)},qq.isFileList=function(e){return window.FileList&&"[object FileList]"===Object.prototype.toString.call(e)},qq.isFileOrInput=function(e){return qq.isFile(e)||qq.isInput(e)},qq.isInput=function(e,t){var n=function(e){var n=e.toLowerCase();return t?"file"!==n:"file"===n};return!!(window.HTMLInputElement&&"[object HTMLInputElement]"===Object.prototype.toString.call(e)&&e.type&&n(e.type))||!!(e.tagName&&"input"===e.tagName.toLowerCase()&&e.type&&n(e.type))},qq.isBlob=function(e){if(window.Blob&&"[object Blob]"===Object.prototype.toString.call(e))return!0},qq.isXhrUploadSupported=function(){var e=document.createElement("input");return e.type="file",void 0!==e.multiple&&"undefined"!=typeof File&&"undefined"!=typeof FormData&&"undefined"!=typeof qq.createXhrInstance().upload},qq.createXhrInstance=function(){if(window.XMLHttpRequest)return new XMLHttpRequest;try{return new ActiveXObject("MSXML2.XMLHTTP.3.0")}catch(e){return qq.log("Neither XHR or ActiveX are supported!","error"),null}},qq.isFolderDropSupported=function(e){return e.items&&e.items.length>0&&e.items[0].webkitGetAsEntry},qq.isFileChunkingSupported=function(){return!qq.androidStock()&&qq.isXhrUploadSupported()&&(void 0!==File.prototype.slice||void 0!==File.prototype.webkitSlice||void 0!==File.prototype.mozSlice)},qq.sliceBlob=function(e,t,n){var i=e.slice||e.mozSlice||e.webkitSlice;return i.call(e,t,n)},qq.arrayBufferToHex=function(e){var t="",n=new Uint8Array(e);return qq.each(n,function(e,n){var i=n.toString(16);i.length<2&&(i="0"+i),t+=i}),t},qq.readBlobToHex=function(e,t,n){var i=qq.sliceBlob(e,t,t+n),o=new FileReader,r=new qq.Promise;return o.onload=function(){r.success(qq.arrayBufferToHex(o.result))},o.onerror=r.failure,o.readAsArrayBuffer(i),r},qq.extend=function(e,t,n){return qq.each(t,function(t,i){n&&qq.isObject(i)?(void 0===e[t]&&(e[t]={}),qq.extend(e[t],i,!0)):e[t]=i}),e},qq.override=function(e,t){var n={},i=t(n);return qq.each(i,function(t,i){void 0!==e[t]&&(n[t]=e[t]),e[t]=i}),e},qq.indexOf=function(e,t,n){if(e.indexOf)return e.indexOf(t,n);n=n||0;var i=e.length;for(n<0&&(n+=i);n=0},qq.safari=function(){return void 0!==navigator.vendor&&navigator.vendor.indexOf("Apple")!==-1},qq.chrome=function(){return void 0!==navigator.vendor&&navigator.vendor.indexOf("Google")!==-1},qq.opera=function(){return void 0!==navigator.vendor&&navigator.vendor.indexOf("Opera")!==-1},qq.firefox=function(){return!qq.edge()&&!qq.ie11()&&navigator.userAgent.indexOf("Mozilla")!==-1&&void 0!==navigator.vendor&&""===navigator.vendor},qq.windows=function(){return"Win32"===navigator.platform},qq.android=function(){return navigator.userAgent.toLowerCase().indexOf("android")!==-1},qq.androidStock=function(){return qq.android()&&navigator.userAgent.toLowerCase().indexOf("chrome")<0},qq.ios6=function(){return qq.ios()&&navigator.userAgent.indexOf(" OS 6_")!==-1},qq.ios7=function(){return qq.ios()&&navigator.userAgent.indexOf(" OS 7_")!==-1},qq.ios8=function(){return qq.ios()&&navigator.userAgent.indexOf(" OS 8_")!==-1},qq.ios800=function(){return qq.ios()&&navigator.userAgent.indexOf(" OS 8_0 ")!==-1},qq.ios=function(){return navigator.userAgent.indexOf("iPad")!==-1||navigator.userAgent.indexOf("iPod")!==-1||navigator.userAgent.indexOf("iPhone")!==-1},qq.iosChrome=function(){return qq.ios()&&navigator.userAgent.indexOf("CriOS")!==-1},qq.iosSafari=function(){return qq.ios()&&!qq.iosChrome()&&navigator.userAgent.indexOf("Safari")!==-1},qq.iosSafariWebView=function(){return qq.ios()&&!qq.iosChrome()&&!qq.iosSafari()},qq.preventDefault=function(e){e.preventDefault?e.preventDefault():e.returnValue=!1},qq.toElement=function(){var e=document.createElement("div");return function(t){e.innerHTML=t;var n=e.firstChild;return e.removeChild(n),n}}(),qq.each=function(e,t){var n,i;if(e)if(window.Storage&&e.constructor===window.Storage)for(n=0;n0)return e.substr(t,e.length-t)},qq.getFilename=function(e){return qq.isInput(e)?e.value.replace(/.*(\/|\\)/,""):qq.isFile(e)&&null!==e.fileName&&void 0!==e.fileName?e.fileName:e.name},qq.DisposeSupport=function(){var e=[];return{dispose:function(){var t;do t=e.shift(),t&&t();while(t)},attach:function(){var e=arguments;this.addDisposer(qq(e[0]).attach.apply(this,Array.prototype.slice.call(arguments,1)))},addDisposer:function(t){e.push(t)}}}}(),function(){"use strict";"function"==typeof define&&define.amd?define(function(){return qq}):"undefined"!=typeof module&&module.exports?module.exports=qq:global.qq=qq}(),function(){"use strict";qq.Error=function(e){this.message="[Fine Uploader "+qq.version+"] "+e},qq.Error.prototype=new Error}(),qq.version="5.14.1",qq.supportedFeatures=function(){"use strict";function e(){var e,t=!0;try{e=document.createElement("input"),e.type="file",qq(e).hide(),e.disabled&&(t=!1)}catch(e){t=!1}return t}function t(){return(qq.chrome()||qq.opera())&&void 0!==navigator.userAgent.match(/Chrome\/[2][1-9]|Chrome\/[3-9][0-9]/)}function n(){return(qq.chrome()||qq.opera())&&void 0!==navigator.userAgent.match(/Chrome\/[1][4-9]|Chrome\/[2-9][0-9]/)}function i(){if(window.XMLHttpRequest){var e=qq.createXhrInstance();return void 0!==e.withCredentials}return!1}function o(){return void 0!==window.XDomainRequest}function r(){return!!i()||o()}function a(){return void 0!==document.createElement("input").webkitdirectory}function s(){try{return!!window.localStorage&&qq.isFunction(window.localStorage.setItem)}catch(e){return!1}}function l(){var e=document.createElement("span");return("draggable"in e||"ondragstart"in e&&"ondrop"in e)&&!qq.android()&&!qq.ios()}var u,c,d,p,h,f,q,m,g,_,v,b,y,S,w;return u=e(),p=u&&qq.isXhrUploadSupported(),c=p&&!qq.androidStock(),d=p&&l(),h=d&&t(),f=p&&qq.isFileChunkingSupported(),q=p&&f&&s(),m=p&&n(),g=u&&(void 0!==window.postMessage||p),v=i(),_=o(),b=r(),y=a(),S=p&&void 0!==window.FileReader,w=function(){return!!p&&(!qq.androidStock()&&!qq.iosChrome())}(),{ajaxUploading:p,blobUploading:c,canDetermineSize:p,chunking:f,deleteFileCors:b,deleteFileCorsXdr:_,deleteFileCorsXhr:v,dialogElement:!!window.HTMLDialogElement,fileDrop:d,folderDrop:h,folderSelection:y,imagePreviews:S,imageValidation:S,itemSizeValidation:p,pause:f,progressBar:w,resume:q,scaling:S&&c,tiffPreviews:qq.safari(),unlimitedScaledImageSize:!qq.ios(),uploading:u,uploadCors:g,uploadCustomHeaders:p,uploadNonMultipart:p,uploadViaPaste:m}}(),qq.isGenericPromise=function(e){"use strict";return!!(e&&e.then&&qq.isFunction(e.then))},qq.Promise=function(){"use strict";var e,t,n=[],i=[],o=[],r=0;qq.extend(this,{then:function(o,a){return 0===r?(o&&n.push(o),a&&i.push(a)):r===-1?a&&a.apply(null,t):o&&o.apply(null,e),this},done:function(n){return 0===r?o.push(n):n.apply(null,void 0===t?e:t),this},success:function(){return r=1,e=arguments,n.length&&qq.each(n,function(t,n){n.apply(null,e)}),o.length&&qq.each(o,function(t,n){n.apply(null,e)}),this},failure:function(){return r=-1,t=arguments,i.length&&qq.each(i,function(e,n){n.apply(null,t)}),o.length&&qq.each(o,function(e,n){n.apply(null,t)}),this}})},qq.BlobProxy=function(e,t){"use strict";qq.extend(this,{referenceBlob:e,create:function(){return t(e)}})},qq.UploadButton=function(e){"use strict";function t(){var e=document.createElement("input");return e.setAttribute(qq.UploadButton.BUTTON_ID_ATTR_NAME,i),e.setAttribute("title",a.title),o.setMultiple(a.multiple,e),a.folders&&qq.supportedFeatures.folderSelection&&e.setAttribute("webkitdirectory",""),a.acceptFiles&&e.setAttribute("accept",a.acceptFiles),e.setAttribute("type","file"),e.setAttribute("name",a.name),qq(e).css({position:"absolute",right:0,top:0,fontFamily:"Arial",fontSize:qq.ie()&&!qq.ie8()?"3500px":"118px",margin:0,padding:0,cursor:"pointer",opacity:0}),!qq.ie7()&&qq(e).css({height:"100%"}),a.element.appendChild(e),r.attach(e,"change",function(){a.onChange(e)}),r.attach(e,"mouseover",function(){qq(a.element).addClass(a.hoverClass)}),r.attach(e,"mouseout",function(){qq(a.element).removeClass(a.hoverClass)}),r.attach(e,"focus",function(){qq(a.element).addClass(a.focusClass)}),r.attach(e,"blur",function(){qq(a.element).removeClass(a.focusClass)}),e}var n,i,o=this,r=new qq.DisposeSupport,a={acceptFiles:null,element:null,focusClass:"qq-upload-button-focus",folders:!1,hoverClass:"qq-upload-button-hover",ios8BrowserCrashWorkaround:!1,multiple:!1,name:"qqfile",onChange:function(e){},title:null};qq.extend(a,e),i=qq.getUniqueId(),qq(a.element).css({position:"relative",overflow:"hidden",direction:"ltr"}),qq.extend(this,{getInput:function(){return n},getButtonId:function(){return i},setMultiple:function(e,t){var n=t||this.getInput();a.ios8BrowserCrashWorkaround&&qq.ios8()&&(qq.iosChrome()||qq.iosSafariWebView())?n.setAttribute("multiple",""):e?n.setAttribute("multiple",""):n.removeAttribute("multiple")},setAcceptFiles:function(e){e!==a.acceptFiles&&n.setAttribute("accept",e)},reset:function(){n.parentNode&&qq(n).remove(),qq(a.element).removeClass(a.focusClass),n=null,n=t()}}),n=t()},qq.UploadButton.BUTTON_ID_ATTR_NAME="qq-button-id",qq.UploadData=function(e){"use strict";function t(e){if(qq.isArray(e)){var t=[];return qq.each(e,function(e,n){t.push(o[n])}),t}return o[e]}function n(e){if(qq.isArray(e)){var t=[];return qq.each(e,function(e,n){t.push(o[r[n]])}),t}return o[r[e]]}function i(e){var t=[],n=[].concat(e);return qq.each(n,function(e,n){var i=a[n];void 0!==i&&qq.each(i,function(e,n){t.push(o[n])})}),t}var o=[],r={},a={},s={},l={};qq.extend(this,{addFile:function(t){var n=t.status||qq.status.SUBMITTING,i=o.push({name:t.name,originalName:t.name,uuid:t.uuid,size:null==t.size?-1:t.size,status:n})-1;return t.batchId&&(o[i].batchId=t.batchId,void 0===l[t.batchId]&&(l[t.batchId]=[]),l[t.batchId].push(i)),t.proxyGroupId&&(o[i].proxyGroupId=t.proxyGroupId,void 0===s[t.proxyGroupId]&&(s[t.proxyGroupId]=[]),s[t.proxyGroupId].push(i)),o[i].id=i,r[t.uuid]=i,void 0===a[n]&&(a[n]=[]),a[n].push(i),e.onStatusChange(i,null,n),i},retrieve:function(e){return qq.isObject(e)&&o.length?void 0!==e.id?t(e.id):void 0!==e.uuid?n(e.uuid):e.status?i(e.status):void 0:qq.extend([],o,!0)},reset:function(){o=[],r={},a={},l={}},setStatus:function(t,n){var i=o[t].status,r=qq.indexOf(a[i],t);a[i].splice(r,1),o[t].status=n,void 0===a[n]&&(a[n]=[]),a[n].push(t),e.onStatusChange(t,i,n)},uuidChanged:function(e,t){var n=o[e].uuid;o[e].uuid=t,r[t]=e,delete r[n]},updateName:function(e,t){o[e].name=t},updateSize:function(e,t){o[e].size=t},setParentId:function(e,t){o[e].parentId=t},getIdsInProxyGroup:function(e){var t=o[e].proxyGroupId;return t?s[t]:[]},getIdsInBatch:function(e){var t=o[e].batchId;return l[t]}})},qq.status={SUBMITTING:"submitting",SUBMITTED:"submitted",REJECTED:"rejected",QUEUED:"queued",CANCELED:"canceled",PAUSED:"paused",UPLOADING:"uploading",UPLOAD_RETRYING:"retrying upload",UPLOAD_SUCCESSFUL:"upload successful",UPLOAD_FAILED:"upload failed",DELETE_FAILED:"delete failed",DELETING:"deleting",DELETED:"deleted"},function(){"use strict";qq.basePublicApi={addBlobs:function(e,t,n){this.addFiles(e,t,n)},addInitialFiles:function(e){var t=this;qq.each(e,function(e,n){t._addCannedFile(n)})},addFiles:function(e,t,n){this._maybeHandleIos8SafariWorkaround();var i=0===this._storedIds.length?qq.getUniqueId():this._currentBatchId,o=qq.bind(function(e){this._handleNewFile({blob:e,name:this._options.blobs.defaultName},i,d)},this),r=qq.bind(function(e){this._handleNewFile(e,i,d)},this),a=qq.bind(function(e){var t=qq.canvasToBlob(e);this._handleNewFile({blob:t,name:this._options.blobs.defaultName+".png"},i,d)},this),s=qq.bind(function(e){var t=e.quality&&e.quality/100,n=qq.canvasToBlob(e.canvas,e.type,t);this._handleNewFile({blob:n,name:e.name},i,d)},this),l=qq.bind(function(e){if(qq.isInput(e)&&qq.supportedFeatures.ajaxUploading){var t=Array.prototype.slice.call(e.files),n=this;qq.each(t,function(e,t){n._handleNewFile(t,i,d)})}else this._handleNewFile(e,i,d)},this),u=function(){qq.isFileList(e)&&(e=Array.prototype.slice.call(e)),e=[].concat(e)},c=this,d=[];this._currentBatchId=i,e&&(u(),qq.each(e,function(e,t){qq.isFileOrInput(t)?l(t):qq.isBlob(t)?o(t):qq.isObject(t)?t.blob&&t.name?r(t):t.canvas&&t.name&&s(t):t.tagName&&"canvas"===t.tagName.toLowerCase()?a(t):c.log(t+" is not a valid file container! Ignoring!","warn")}),this.log("Received "+d.length+" files."),this._prepareItemsForUpload(d,t,n))},cancel:function(e){this._handler.cancel(e)},cancelAll:function(){var e=[],t=this;qq.extend(e,this._storedIds),qq.each(e,function(e,n){t.cancel(n)}),this._handler.cancelAll()},clearStoredFiles:function(){this._storedIds=[]},continueUpload:function(e){var t=this._uploadData.retrieve({id:e});return!(!qq.supportedFeatures.pause||!this._options.chunking.enabled)&&(t.status===qq.status.PAUSED?(this.log(qq.format("Paused file ID {} ({}) will be continued. Not paused.",e,this.getName(e))),this._uploadFile(e),!0):(this.log(qq.format("Ignoring continue for file ID {} ({}). Not paused.",e,this.getName(e)),"error"),!1))},deleteFile:function(e){return this._onSubmitDelete(e)},doesExist:function(e){return this._handler.isValid(e)},drawThumbnail:function(e,t,n,i,o){var r,a,s=new qq.Promise;return this._imageGenerator?(r=this._thumbnailUrls[e],a={customResizeFunction:o,maxSize:n>0?n:null,scale:n>0},!i&&qq.supportedFeatures.imagePreviews&&(r=this.getFile(e)),null==r?s.failure({container:t,error:"File or URL not found."}):this._imageGenerator.generate(r,t,a).then(function(e){s.success(e)},function(e,t){s.failure({container:e,error:t||"Problem generating thumbnail"})})):s.failure({container:t,error:"Missing image generator module"}),s},getButton:function(e){return this._getButton(this._buttonIdsForFileIds[e])},getEndpoint:function(e){return this._endpointStore.get(e)},getFile:function(e){return this._handler.getFile(e)||null},getInProgress:function(){return this._uploadData.retrieve({status:[qq.status.UPLOADING,qq.status.UPLOAD_RETRYING,qq.status.QUEUED]}).length},getName:function(e){return this._uploadData.retrieve({id:e}).name},getParentId:function(e){var t=this.getUploads({id:e}),n=null;return t&&void 0!==t.parentId&&(n=t.parentId),n},getResumableFilesData:function(){return this._handler.getResumableFilesData()},getSize:function(e){return this._uploadData.retrieve({id:e}).size},getNetUploads:function(){return this._netUploaded},getRemainingAllowedItems:function(){var e=this._currentItemLimit;return e>0?e-this._netUploadedOrQueued:null},getUploads:function(e){return this._uploadData.retrieve(e)},getUuid:function(e){return this._uploadData.retrieve({id:e}).uuid},log:function(e,t){!this._options.debug||t&&"info"!==t?t&&"info"!==t&&qq.log("[Fine Uploader "+qq.version+"] "+e,t):qq.log("[Fine Uploader "+qq.version+"] "+e)},pauseUpload:function(e){var t=this._uploadData.retrieve({id:e});if(!qq.supportedFeatures.pause||!this._options.chunking.enabled)return!1;if(qq.indexOf([qq.status.UPLOADING,qq.status.UPLOAD_RETRYING],t.status)>=0){if(this._handler.pause(e))return this._uploadData.setStatus(e,qq.status.PAUSED),!0;this.log(qq.format("Unable to pause file ID {} ({}).",e,this.getName(e)),"error")}else this.log(qq.format("Ignoring pause for file ID {} ({}). Not in progress.",e,this.getName(e)),"error");return!1},removeFileRef:function(e){this._handler.expunge(e)},reset:function(){this.log("Resetting uploader..."),this._handler.reset(),this._storedIds=[],this._autoRetries=[],this._retryTimeouts=[],this._preventRetries=[],this._thumbnailUrls=[],qq.each(this._buttons,function(e,t){t.reset()}),this._paramsStore.reset(),this._endpointStore.reset(),this._netUploadedOrQueued=0,this._netUploaded=0,this._uploadData.reset(),this._buttonIdsForFileIds=[],this._pasteHandler&&this._pasteHandler.reset(),this._options.session.refreshOnReset&&this._refreshSessionData(),this._succeededSinceLastAllComplete=[],this._failedSinceLastAllComplete=[],this._totalProgress&&this._totalProgress.reset()},retry:function(e){return this._manualRetry(e)},scaleImage:function(e,t){var n=this;return qq.Scaler.prototype.scaleImage(e,t,{log:qq.bind(n.log,n),getFile:qq.bind(n.getFile,n),uploadData:n._uploadData})},setCustomHeaders:function(e,t){this._customHeadersStore.set(e,t)},setDeleteFileCustomHeaders:function(e,t){this._deleteFileCustomHeadersStore.set(e,t)},setDeleteFileEndpoint:function(e,t){this._deleteFileEndpointStore.set(e,t)},setDeleteFileParams:function(e,t){this._deleteFileParamsStore.set(e,t)},setEndpoint:function(e,t){this._endpointStore.set(e,t)},setForm:function(e){this._updateFormSupportAndParams(e)},setItemLimit:function(e){this._currentItemLimit=e},setName:function(e,t){this._uploadData.updateName(e,t)},setParams:function(e,t){this._paramsStore.set(e,t)},setUuid:function(e,t){return this._uploadData.uuidChanged(e,t)},setStatus:function(e,t){var n=this.getUploads({id:e});if(!n)throw new qq.Error(e+" is not a valid file ID.");switch(t){case qq.status.DELETED:this._onDeleteComplete(e,null,!1);break;case qq.status.DELETE_FAILED:this._onDeleteComplete(e,null,!0);break;default:var i="Method setStatus called on '"+name+"' not implemented yet for "+t;throw this.log(i),new qq.Error(i)}},uploadStoredFiles:function(){0===this._storedIds.length?this._itemError("noFilesError"):this._uploadStoredFiles()}},qq.basePrivateApi={_addCannedFile:function(e){var t=this._uploadData.addFile({uuid:e.uuid,name:e.name,size:e.size,status:qq.status.UPLOAD_SUCCESSFUL});return e.deleteFileEndpoint&&this.setDeleteFileEndpoint(e.deleteFileEndpoint,t),e.deleteFileParams&&this.setDeleteFileParams(e.deleteFileParams,t),e.thumbnailUrl&&(this._thumbnailUrls[t]=e.thumbnailUrl),this._netUploaded++,this._netUploadedOrQueued++,t},_annotateWithButtonId:function(e,t){qq.isFile(e)&&(e.qqButtonId=this._getButtonId(t))},_batchError:function(e){this._options.callbacks.onError(null,null,e,void 0)},_createDeleteHandler:function(){var e=this;return new qq.DeleteFileAjaxRequester({method:this._options.deleteFile.method.toUpperCase(),maxConnections:this._options.maxConnections,uuidParamName:this._options.request.uuidName,customHeaders:this._deleteFileCustomHeadersStore,paramsStore:this._deleteFileParamsStore,endpointStore:this._deleteFileEndpointStore,cors:this._options.cors,log:qq.bind(e.log,e),onDelete:function(t){e._onDelete(t),e._options.callbacks.onDelete(t)},onDeleteComplete:function(t,n,i){e._onDeleteComplete(t,n,i),e._options.callbacks.onDeleteComplete(t,n,i)}})},_createPasteHandler:function(){var e=this;return new qq.PasteSupport({targetElement:this._options.paste.targetElement,callbacks:{log:qq.bind(e.log,e),pasteReceived:function(t){e._handleCheckedCallback({name:"onPasteReceived",callback:qq.bind(e._options.callbacks.onPasteReceived,e,t),onSuccess:qq.bind(e._handlePasteSuccess,e,t),identifier:"pasted image"})}}})},_createStore:function(e,t){var n={},i=e,o={},r=t,a=function(e){return qq.isObject(e)?qq.extend({},e):e},s=function(){return qq.isFunction(r)?r():r},l=function(e,t){r&&qq.isObject(t)&&qq.extend(t,s()),o[e]&&qq.extend(t,o[e])};return{set:function(e,t){null==t?(n={},i=a(e)):n[t]=a(e)},get:function(e){var t;return t=null!=e&&n[e]?n[e]:a(i),l(e,t),a(t)},addReadOnly:function(e,t){qq.isObject(n)&&(null===e?qq.isFunction(t)?r=t:(r=r||{},qq.extend(r,t)):(o[e]=o[e]||{},qq.extend(o[e],t)))},remove:function(e){return delete n[e]},reset:function(){n={},o={},i=e}}},_createUploadDataTracker:function(){var e=this;return new qq.UploadData({getName:function(t){return e.getName(t)},getUuid:function(t){return e.getUuid(t)},getSize:function(t){return e.getSize(t)},onStatusChange:function(t,n,i){e._onUploadStatusChange(t,n,i),e._options.callbacks.onStatusChange(t,n,i),e._maybeAllComplete(t,i),e._totalProgress&&setTimeout(function(){e._totalProgress.onStatusChange(t,n,i)},0)}})},_createUploadButton:function(e){function t(){return!!qq.supportedFeatures.ajaxUploading&&(!(i._options.workarounds.iosEmptyVideos&&qq.ios()&&!qq.ios6()&&i._isAllowedExtension(r,".mov"))&&(void 0===e.multiple?i._options.multiple:e.multiple))}var n,i=this,o=e.accept||this._options.validation.acceptFiles,r=e.allowedExtensions||this._options.validation.allowedExtensions;return n=new qq.UploadButton({acceptFiles:o,element:e.element,focusClass:this._options.classes.buttonFocus,folders:e.folders,hoverClass:this._options.classes.buttonHover,ios8BrowserCrashWorkaround:this._options.workarounds.ios8BrowserCrash,multiple:t(),name:this._options.request.inputName,onChange:function(e){i._onInputChange(e)},title:null==e.title?this._options.text.fileInputTitle:e.title}),this._disposeSupport.addDisposer(function(){n.dispose()}),i._buttons.push(n),n},_createUploadHandler:function(e,t){var n=this,i={},o={debug:this._options.debug,maxConnections:this._options.maxConnections,cors:this._options.cors,paramsStore:this._paramsStore,endpointStore:this._endpointStore,chunking:this._options.chunking,resume:this._options.resume,blobs:this._options.blobs,log:qq.bind(n.log,n),preventRetryParam:this._options.retry.preventRetryResponseProperty,onProgress:function(e,t,o,r){o<0||r<0||(i[e]?i[e].loaded===o&&i[e].total===r||(n._onProgress(e,t,o,r),n._options.callbacks.onProgress(e,t,o,r)):(n._onProgress(e,t,o,r),n._options.callbacks.onProgress(e,t,o,r)),i[e]={loaded:o,total:r})},onComplete:function(e,t,o,r){delete i[e];var a,s=n.getUploads({id:e}).status;s!==qq.status.UPLOAD_SUCCESSFUL&&s!==qq.status.UPLOAD_FAILED&&(a=n._onComplete(e,t,o,r),a instanceof qq.Promise?a.done(function(){n._options.callbacks.onComplete(e,t,o,r)}):n._options.callbacks.onComplete(e,t,o,r))},onCancel:function(e,t,i){var o=new qq.Promise;return n._handleCheckedCallback({name:"onCancel",callback:qq.bind(n._options.callbacks.onCancel,n,e,t),onFailure:o.failure,onSuccess:function(){i.then(function(){n._onCancel(e,t)}),o.success()},identifier:e}),o},onUploadPrep:qq.bind(this._onUploadPrep,this),onUpload:function(e,t){n._onUpload(e,t),n._options.callbacks.onUpload(e,t)},onUploadChunk:function(e,t,i){n._onUploadChunk(e,i),n._options.callbacks.onUploadChunk(e,t,i)},onUploadChunkSuccess:function(e,t,i,o){n._options.callbacks.onUploadChunkSuccess.apply(n,arguments)},onResume:function(e,t,i){return n._options.callbacks.onResume(e,t,i)},onAutoRetry:function(e,t,i,o){return n._onAutoRetry.apply(n,arguments)},onUuidChanged:function(e,t){n.log("Server requested UUID change from '"+n.getUuid(e)+"' to '"+t+"'"),n.setUuid(e,t)},getName:qq.bind(n.getName,n),getUuid:qq.bind(n.getUuid,n),getSize:qq.bind(n.getSize,n),setSize:qq.bind(n._setSize,n),getDataByUuid:function(e){return n.getUploads({uuid:e})},isQueued:function(e){var t=n.getUploads({id:e}).status;return t===qq.status.QUEUED||t===qq.status.SUBMITTED||t===qq.status.UPLOAD_RETRYING||t===qq.status.PAUSED},getIdsInProxyGroup:n._uploadData.getIdsInProxyGroup,getIdsInBatch:n._uploadData.getIdsInBatch -};return qq.each(this._options.request,function(e,t){o[e]=t}),o.customHeaders=this._customHeadersStore,e&&qq.each(e,function(e,t){o[e]=t}),new qq.UploadHandlerController(o,t)},_fileOrBlobRejected:function(e){this._netUploadedOrQueued--,this._uploadData.setStatus(e,qq.status.REJECTED)},_formatSize:function(e){if(0===e)return e+this._options.text.sizeSymbols[0];var t=-1;do e/=1e3,t++;while(e>999);return Math.max(e,.1).toFixed(1)+this._options.text.sizeSymbols[t]},_generateExtraButtonSpecs:function(){var e=this;this._extraButtonSpecs={},qq.each(this._options.extraButtons,function(t,n){var i=n.multiple,o=qq.extend({},e._options.validation,!0),r=qq.extend({},n);void 0===i&&(i=e._options.multiple),r.validation&&qq.extend(o,n.validation,!0),qq.extend(r,{multiple:i,validation:o},!0),e._initExtraButton(r)})},_getButton:function(e){var t=this._extraButtonSpecs[e];return t?t.element:e===this._defaultButtonId?this._options.button:void 0},_getButtonId:function(e){var t,n,i=e;if(i instanceof qq.BlobProxy&&(i=i.referenceBlob),i&&!qq.isBlob(i)){if(qq.isFile(i))return i.qqButtonId;if("input"===i.tagName.toLowerCase()&&"file"===i.type.toLowerCase())return i.getAttribute(qq.UploadButton.BUTTON_ID_ATTR_NAME);if(t=i.getElementsByTagName("input"),qq.each(t,function(e,t){if("file"===t.getAttribute("type"))return n=t,!1}),n)return n.getAttribute(qq.UploadButton.BUTTON_ID_ATTR_NAME)}},_getNotFinished:function(){return this._uploadData.retrieve({status:[qq.status.UPLOADING,qq.status.UPLOAD_RETRYING,qq.status.QUEUED,qq.status.SUBMITTING,qq.status.SUBMITTED,qq.status.PAUSED]}).length},_getValidationBase:function(e){var t=this._extraButtonSpecs[e];return t?t.validation:this._options.validation},_getValidationDescriptor:function(e){return e.file instanceof qq.BlobProxy?{name:qq.getFilename(e.file.referenceBlob),size:e.file.referenceBlob.size}:{name:this.getUploads({id:e.id}).name,size:this.getUploads({id:e.id}).size}},_getValidationDescriptors:function(e){var t=this,n=[];return qq.each(e,function(e,i){n.push(t._getValidationDescriptor(i))}),n},_handleCameraAccess:function(){if(this._options.camera.ios&&qq.ios()){var e="image/*;capture=camera",t=this._options.camera.button,n=t?this._getButtonId(t):this._defaultButtonId,i=this._options;n&&n!==this._defaultButtonId&&(i=this._extraButtonSpecs[n]),i.multiple=!1,null===i.validation.acceptFiles?i.validation.acceptFiles=e:i.validation.acceptFiles+=","+e,qq.each(this._buttons,function(e,t){if(t.getButtonId()===n)return t.setMultiple(i.multiple),t.setAcceptFiles(i.acceptFiles),!1})}},_handleCheckedCallback:function(e){var t=this,n=e.callback();return qq.isGenericPromise(n)?(this.log(e.name+" - waiting for "+e.name+" promise to be fulfilled for "+e.identifier),n.then(function(n){t.log(e.name+" promise success for "+e.identifier),e.onSuccess(n)},function(){e.onFailure?(t.log(e.name+" promise failure for "+e.identifier),e.onFailure()):t.log(e.name+" promise failure for "+e.identifier)})):(n!==!1?e.onSuccess(n):e.onFailure?(this.log(e.name+" - return value was 'false' for "+e.identifier+". Invoking failure callback."),e.onFailure()):this.log(e.name+" - return value was 'false' for "+e.identifier+". Will not proceed."),n)},_handleNewFile:function(e,t,n){var i=this,o=qq.getUniqueId(),r=-1,a=qq.getFilename(e),s=e.blob||e,l=this._customNewFileHandler?this._customNewFileHandler:qq.bind(i._handleNewFileGeneric,i);!qq.isInput(s)&&s.size>=0&&(r=s.size),l(s,a,o,r,n,t,this._options.request.uuidName,{uploadData:i._uploadData,paramsStore:i._paramsStore,addFileToHandler:function(e,t){i._handler.add(e,t),i._netUploadedOrQueued++,i._trackButton(e)}})},_handleNewFileGeneric:function(e,t,n,i,o,r){var a=this._uploadData.addFile({uuid:n,name:t,size:i,batchId:r});this._handler.add(a,e),this._trackButton(a),this._netUploadedOrQueued++,o.push({id:a,file:e})},_handlePasteSuccess:function(e,t){var n=e.type.split("/")[1],i=t;null==i&&(i=this._options.paste.defaultName),i+="."+n,this.addFiles({name:i,blob:e})},_handleDeleteSuccess:function(e){if(this.getUploads({id:e}).status!==qq.status.DELETED){var t=this.getName(e);this._netUploadedOrQueued--,this._netUploaded--,this._handler.expunge(e),this._uploadData.setStatus(e,qq.status.DELETED),this.log("Delete request for '"+t+"' has succeeded.")}},_handleDeleteFailed:function(e,t){var n=this.getName(e);this._uploadData.setStatus(e,qq.status.DELETE_FAILED),this.log("Delete request for '"+n+"' has failed.","error"),t&&void 0!==t.withCredentials?this._options.callbacks.onError(e,n,"Delete request failed with response code "+t.status,t):this._options.callbacks.onError(e,n,"Delete request failed",t)},_initExtraButton:function(e){var t=this._createUploadButton({accept:e.validation.acceptFiles,allowedExtensions:e.validation.allowedExtensions,element:e.element,folders:e.folders,multiple:e.multiple,title:e.fileInputTitle});this._extraButtonSpecs[t.getButtonId()]=e},_initFormSupportAndParams:function(){this._formSupport=qq.FormSupport&&new qq.FormSupport(this._options.form,qq.bind(this.uploadStoredFiles,this),qq.bind(this.log,this)),this._formSupport&&this._formSupport.attachedToForm?(this._paramsStore=this._createStore(this._options.request.params,this._formSupport.getFormInputsAsObject),this._options.autoUpload=this._formSupport.newAutoUpload,this._formSupport.newEndpoint&&(this._options.request.endpoint=this._formSupport.newEndpoint)):this._paramsStore=this._createStore(this._options.request.params)},_isDeletePossible:function(){return!(!qq.DeleteFileAjaxRequester||!this._options.deleteFile.enabled)&&(!this._options.cors.expected||(!!qq.supportedFeatures.deleteFileCorsXhr||!(!qq.supportedFeatures.deleteFileCorsXdr||!this._options.cors.allowXdr)))},_isAllowedExtension:function(e,t){var n=!1;return!e.length||(qq.each(e,function(e,i){if(qq.isString(i)){var o=new RegExp("\\."+i+"$","i");if(null!=t.match(o))return n=!0,!1}}),n)},_itemError:function(e,t,n){function i(e,t){a=a.replace(e,t)}var o,r,a=this._options.messages[e],s=[],l=[].concat(t),u=l[0],c=this._getButtonId(n),d=this._getValidationBase(c);return qq.each(d.allowedExtensions,function(e,t){qq.isString(t)&&s.push(t)}),o=s.join(", ").toLowerCase(),i("{file}",this._options.formatFileName(u)),i("{extensions}",o),i("{sizeLimit}",this._formatSize(d.sizeLimit)),i("{minSizeLimit}",this._formatSize(d.minSizeLimit)),r=a.match(/(\{\w+\})/g),null!==r&&qq.each(r,function(e,t){i(t,l[e])}),this._options.callbacks.onError(null,u,a,void 0),a},_manualRetry:function(e,t){if(this._onBeforeManualRetry(e))return this._netUploadedOrQueued++,this._uploadData.setStatus(e,qq.status.UPLOAD_RETRYING),t?t(e):this._handler.retry(e),!0},_maybeAllComplete:function(e,t){var n=this,i=this._getNotFinished();t===qq.status.UPLOAD_SUCCESSFUL?this._succeededSinceLastAllComplete.push(e):t===qq.status.UPLOAD_FAILED&&this._failedSinceLastAllComplete.push(e),0===i&&(this._succeededSinceLastAllComplete.length||this._failedSinceLastAllComplete.length)&&setTimeout(function(){n._onAllComplete(n._succeededSinceLastAllComplete,n._failedSinceLastAllComplete)},0)},_maybeHandleIos8SafariWorkaround:function(){var e=this;if(this._options.workarounds.ios8SafariUploads&&qq.ios800()&&qq.iosSafari())throw setTimeout(function(){window.alert(e._options.messages.unsupportedBrowserIos8Safari)},0),new qq.Error(this._options.messages.unsupportedBrowserIos8Safari)},_maybeParseAndSendUploadError:function(e,t,n,i){if(!n.success)if(i&&200!==i.status&&!n.error)this._options.callbacks.onError(e,t,"XHR returned response code "+i.status,i);else{var o=n.error?n.error:this._options.text.defaultResponseError;this._options.callbacks.onError(e,t,o,i)}},_maybeProcessNextItemAfterOnValidateCallback:function(e,t,n,i,o){var r=this;if(t.length>n)if(e||!this._options.validation.stopOnFirstInvalidFile)setTimeout(function(){var e=r._getValidationDescriptor(t[n]),a=r._getButtonId(t[n].file),s=r._getButton(a);r._handleCheckedCallback({name:"onValidate",callback:qq.bind(r._options.callbacks.onValidate,r,e,s),onSuccess:qq.bind(r._onValidateCallbackSuccess,r,t,n,i,o),onFailure:qq.bind(r._onValidateCallbackFailure,r,t,n,i,o),identifier:"Item '"+e.name+"', size: "+e.size})},0);else if(!e)for(;n0&&this._netUploadedOrQueued+1>n?(this._itemError("retryFailTooManyItems"),!1):(this.log("Retrying upload for '"+t+"' (id: "+e+")..."),!0))):(this.log("'"+e+"' is not a valid file ID","error"),!1)},_onCancel:function(e,t){this._netUploadedOrQueued--,clearTimeout(this._retryTimeouts[e]);var n=qq.indexOf(this._storedIds,e);!this._options.autoUpload&&n>=0&&this._storedIds.splice(n,1),this._uploadData.setStatus(e,qq.status.CANCELED)},_onComplete:function(e,t,n,i){return n.success?(n.thumbnailUrl&&(this._thumbnailUrls[e]=n.thumbnailUrl),this._netUploaded++,this._uploadData.setStatus(e,qq.status.UPLOAD_SUCCESSFUL)):(this._netUploadedOrQueued--,this._uploadData.setStatus(e,qq.status.UPLOAD_FAILED),n[this._options.retry.preventRetryResponseProperty]===!0&&(this._preventRetries[e]=!0)),this._maybeParseAndSendUploadError(e,t,n,i),!!n.success},_onDelete:function(e){this._uploadData.setStatus(e,qq.status.DELETING)},_onDeleteComplete:function(e,t,n){this.getName(e);n?this._handleDeleteFailed(e,t):this._handleDeleteSuccess(e)},_onInputChange:function(e){var t;if(qq.supportedFeatures.ajaxUploading){for(t=0;t0&&this.addFiles(e);qq.each(this._buttons,function(e,t){t.reset()})},_onProgress:function(e,t,n,i){this._totalProgress&&this._totalProgress.onIndividualProgress(e,n,i)},_onSubmit:function(e,t){},_onSubmitCallbackSuccess:function(e,t){this._onSubmit.apply(this,arguments),this._uploadData.setStatus(e,qq.status.SUBMITTED),this._onSubmitted.apply(this,arguments),this._options.autoUpload?(this._options.callbacks.onSubmitted.apply(this,arguments),this._uploadFile(e)):(this._storeForLater(e),this._options.callbacks.onSubmitted.apply(this,arguments))},_onSubmitDelete:function(e,t,n){var i,o=this.getUuid(e);return t&&(i=qq.bind(t,this,e,o,n)),this._isDeletePossible()?(this._handleCheckedCallback({name:"onSubmitDelete",callback:qq.bind(this._options.callbacks.onSubmitDelete,this,e),onSuccess:i||qq.bind(this._deleteHandler.sendDelete,this,e,o,n),identifier:e}),!0):(this.log("Delete request ignored for ID "+e+", delete feature is disabled or request not possible due to CORS on a user agent that does not support pre-flighting.","warn"),!1)},_onSubmitted:function(e){},_onTotalProgress:function(e,t){this._options.callbacks.onTotalProgress(e,t)},_onUploadPrep:function(e){},_onUpload:function(e,t){this._uploadData.setStatus(e,qq.status.UPLOADING)},_onUploadChunk:function(e,t){},_onUploadStatusChange:function(e,t,n){n===qq.status.PAUSED&&clearTimeout(this._retryTimeouts[e])},_onValidateBatchCallbackFailure:function(e){var t=this;qq.each(e,function(e,n){t._fileOrBlobRejected(n.id)})},_onValidateBatchCallbackSuccess:function(e,t,n,i,o){var r,a=this._currentItemLimit,s=this._netUploadedOrQueued;0===a||s<=a?t.length>0?this._handleCheckedCallback({name:"onValidate",callback:qq.bind(this._options.callbacks.onValidate,this,e[0],o),onSuccess:qq.bind(this._onValidateCallbackSuccess,this,t,0,n,i),onFailure:qq.bind(this._onValidateCallbackFailure,this,t,0,n,i),identifier:"Item '"+t[0].file.name+"', size: "+t[0].file.size}):this._itemError("noFilesError"):(this._onValidateBatchCallbackFailure(t),r=this._options.messages.tooManyItemsError.replace(/\{netItems\}/g,s).replace(/\{itemLimit\}/g,a),this._batchError(r))},_onValidateCallbackFailure:function(e,t,n,i){var o=t+1;this._fileOrBlobRejected(e[t].id,e[t].file.name),this._maybeProcessNextItemAfterOnValidateCallback(!1,e,o,n,i)},_onValidateCallbackSuccess:function(e,t,n,i){var o=this,r=t+1,a=this._getValidationDescriptor(e[t]);this._validateFileOrBlobData(e[t],a).then(function(){o._upload(e[t].id,n,i),o._maybeProcessNextItemAfterOnValidateCallback(!0,e,r,n,i)},function(){o._maybeProcessNextItemAfterOnValidateCallback(!1,e,r,n,i)})},_prepareItemsForUpload:function(e,t,n){if(0===e.length)return void this._itemError("noFilesError");var i=this._getValidationDescriptors(e),o=this._getButtonId(e[0].file),r=this._getButton(o);this._handleCheckedCallback({name:"onValidateBatch",callback:qq.bind(this._options.callbacks.onValidateBatch,this,i,r),onSuccess:qq.bind(this._onValidateBatchCallbackSuccess,this,i,e,t,n,r),onFailure:qq.bind(this._onValidateBatchCallbackFailure,this,e),identifier:"batch validation"})},_preventLeaveInProgress:function(){var e=this;this._disposeSupport.attach(window,"beforeunload",function(t){if(e.getInProgress())return t=t||window.event,t.returnValue=e._options.messages.onLeave,e._options.messages.onLeave})},_refreshSessionData:function(){var e=this,t=this._options.session;qq.Session&&null!=this._options.session.endpoint&&(this._session||(qq.extend(t,{cors:this._options.cors}),t.log=qq.bind(this.log,this),t.addFileRecord=qq.bind(this._addCannedFile,this),this._session=new qq.Session(t)),setTimeout(function(){e._session.refresh().then(function(t,n){e._sessionRequestComplete(),e._options.callbacks.onSessionRequestComplete(t,!0,n)},function(t,n){e._options.callbacks.onSessionRequestComplete(t,!1,n)})},0))},_sessionRequestComplete:function(){},_setSize:function(e,t){this._uploadData.updateSize(e,t),this._totalProgress&&this._totalProgress.onNewSize(e)},_shouldAutoRetry:function(e,t,n){var i=this._uploadData.retrieve({id:e});return!!(!this._preventRetries[e]&&this._options.retry.enableAuto&&i.status!==qq.status.PAUSED&&(void 0===this._autoRetries[e]&&(this._autoRetries[e]=0),this._autoRetries[e]0&&s.sizeLimit&&r>s.sizeLimit?(this._itemError("sizeError",o,i),l.failure()):r>0&&r=0}function n(e){var t=!1;return qq.each(t,function(e,n){if(qq.indexOf(["Accept","Accept-Language","Content-Language","Content-Type"],n)<0)return t=!0,!1}),t}function i(e){return S.cors.expected&&void 0===e.withCredentials}function o(){var e;return(window.XMLHttpRequest||window.ActiveXObject)&&(e=qq.createXhrInstance(),void 0===e.withCredentials&&(e=new XDomainRequest,e.onload=function(){},e.onerror=function(){},e.ontimeout=function(){},e.onprogress=function(){})),e}function r(e,t){var n=y[e].xhr;return n||(n=t?t:S.cors.expected?o():qq.createXhrInstance(),y[e].xhr=n),n}function a(e){var t,n=qq.indexOf(b,e),i=S.maxConnections;delete y[e],b.splice(n,1),b.length>=i&&n=0?o.send(qq.obj2url(s,"")):s&&S.contentType&&S.contentType.toLowerCase().indexOf("application/json")>=0?o.send(JSON.stringify(s)):o.send(s),o}function c(e,t,n){var i=S.endpointStore.get(e),o=y[e].addToPath;return void 0!=o&&(i+="/"+o),v&&t&&(i=qq.obj2url(t,i)),n&&(i=qq.obj2url(n,i)),i}function d(e){return function(){4===r(e).readyState&&s(e)}}function p(e){var t=S.onProgress;t&&(r(e).upload.onprogress=function(n){n.lengthComputable&&t(e,n.loaded,n.total)})}function h(e){return function(){s(e)}}function f(e){return function(){s(e,!0)}}function q(e){var o=r(e),a=S.customHeaders,s=y[e].additionalHeaders||{},l=S.method,u={};i(o)||(S.acceptHeader&&o.setRequestHeader("Accept",S.acceptHeader),S.allowXRequestedWithAndCacheControl&&(S.cors.expected&&t()&&!n(a)||(o.setRequestHeader("X-Requested-With","XMLHttpRequest"),o.setRequestHeader("Cache-Control","no-cache"))),!S.contentType||"POST"!==l&&"PUT"!==l||o.setRequestHeader("Content-Type",S.contentType),qq.extend(u,qq.isFunction(a)?a(e):a),qq.extend(u,s),qq.each(u,function(e,t){o.setRequestHeader(e,t)}))}function m(e){return qq.indexOf(S.successfulResponseCodes[S.method],e)>=0}function g(e,t,n,i,o,r,a){y[e]={addToPath:n,additionalParams:i,additionalQueryParams:o,additionalHeaders:r,payload:a};var s=b.push(e);if(s<=S.maxConnections)return u(e,t)}var _,v,b=[],y={},S={acceptHeader:null,validMethods:["PATCH","POST","PUT"],method:"POST",contentType:"application/x-www-form-urlencoded",maxConnections:3,customHeaders:{},endpointStore:{},paramsStore:{},mandatedParams:{},allowXRequestedWithAndCacheControl:!0,successfulResponseCodes:{DELETE:[200,202,204],PATCH:[200,201,202,203,204],POST:[200,201,202,203,204],PUT:[200,201,202,203,204],GET:[200]},cors:{expected:!1,sendCredentials:!1},log:function(e,t){},onSend:function(e){},onComplete:function(e,t,n){},onProgress:null};if(qq.extend(S,e),_=S.log,qq.indexOf(S.validMethods,S.method)<0)throw new Error("'"+S.method+"' is not a supported method for this type of request!");v="GET"===S.method||"DELETE"===S.method,qq.extend(this,{initTransport:function(e){var t,n,i,o,r,a;return{withPath:function(e){return t=e,this},withParams:function(e){return n=e,this},withQueryParams:function(e){return a=e,this},withHeaders:function(e){return i=e,this},withPayload:function(e){return o=e,this},withCacheBuster:function(){return r=!0,this},send:function(s){return r&&qq.indexOf(["GET","DELETE"],S.method)>=0&&(n.qqtimestamp=(new Date).getTime()),g(e,s,t,n,a,i,o)}}},canceled:function(e){a(e)}})},qq.UploadHandler=function(e){"use strict";var t=e.proxy,n={},i=t.onCancel,o=t.getName;qq.extend(this,{add:function(e,t){n[e]=t,n[e].temp={}},cancel:function(e){var t=this,r=new qq.Promise,a=i(e,o(e),r);a.then(function(){t.isValid(e)&&(n[e].canceled=!0,t.expunge(e)),r.success()})},expunge:function(e){delete n[e]},getThirdPartyFileId:function(e){return n[e].key},isValid:function(e){return void 0!==n[e]},reset:function(){n={}},_getFileState:function(e){return n[e]},_setThirdPartyFileId:function(e,t){n[e].key=t},_wasCanceled:function(e){return!!n[e].canceled}})},qq.UploadHandlerController=function(e,t){"use strict";var n,i,o,r=this,a=!1,s=!1,l={paramsStore:{},maxConnections:3,chunking:{enabled:!1,multiple:{enabled:!1}},log:function(e,t){},onProgress:function(e,t,n,i){},onComplete:function(e,t,n,i){},onCancel:function(e,t){},onUploadPrep:function(e){},onUpload:function(e,t){},onUploadChunk:function(e,t,n){},onUploadChunkSuccess:function(e,t,n,i){},onAutoRetry:function(e,t,n,i){},onResume:function(e,t,n){},onUuidChanged:function(e,t){},getName:function(e){},setSize:function(e,t){},isQueued:function(e){},getIdsInProxyGroup:function(e){},getIdsInBatch:function(e){}},u={done:function(e,t,n,i){var r=o._getChunkData(e,t);o._getFileState(e).attemptingResume=!1,delete o._getFileState(e).temp.chunkProgress[t],o._getFileState(e).loaded+=r.size,l.onUploadChunkSuccess(e,o._getChunkDataForCallback(r),n,i)},finalize:function(e){var t=l.getSize(e),n=l.getName(e);i("All chunks have been uploaded for "+e+" - finalizing...."),o.finalizeChunks(e).then(function(r,a){i("Finalize successful for "+e);var s=p.normalizeResponse(r,!0);l.onProgress(e,n,t,t),o._maybeDeletePersistedChunkData(e),p.cleanup(e,s,a)},function(t,o){var r=p.normalizeResponse(t,!1);i("Problem finalizing chunks for file ID "+e+" - "+r.error,"error"),r.reset&&u.reset(e),l.onAutoRetry(e,n,r,o)||p.cleanup(e,r,o)})},handleFailure:function(e,t,n,r){var a=l.getName(t);i("Chunked upload request failed for "+t+", chunk "+e),o.clearCachedChunk(t,e);var d,h=p.normalizeResponse(n,!1);h.reset?u.reset(t):(d=qq.indexOf(o._getFileState(t).chunking.inProgress,e),d>=0&&(o._getFileState(t).chunking.inProgress.splice(d,1),o._getFileState(t).chunking.remaining.unshift(e))),o._getFileState(t).temp.ignoreFailure||(s&&(o._getFileState(t).temp.ignoreFailure=!0,i(qq.format("Going to attempt to abort these chunks: {}. These are currently in-progress: {}.",JSON.stringify(Object.keys(o._getXhrs(t))),JSON.stringify(o._getFileState(t).chunking.inProgress))),qq.each(o._getXhrs(t),function(e,n){i(qq.format("Attempting to abort file {}.{}. XHR readyState {}. ",t,e,n.readyState)),n.abort(),n._cancelled=!0}),o.moveInProgressToRemaining(t),c.free(t,!0)),l.onAutoRetry(t,a,h,r)||p.cleanup(t,h,r))},hasMoreParts:function(e){return!!o._getFileState(e).chunking.remaining.length},nextPart:function(e){var t=o._getFileState(e).chunking.remaining.shift();return t>=o._getTotalChunks(e)&&(t=null),t},reset:function(e){i("Server or callback has ordered chunking effort to be restarted on next attempt for item ID "+e,"error"),o._maybeDeletePersistedChunkData(e),o.reevaluateChunking(e),o._getFileState(e).loaded=0},sendNext:function(e){var t=l.getSize(e),n=l.getName(e),r=u.nextPart(e),a=o._getChunkData(e,r),d=o._getFileState(e).attemptingResume,h=o._getFileState(e).chunking.inProgress||[];null==o._getFileState(e).loaded&&(o._getFileState(e).loaded=0),d&&l.onResume(e,n,a)===!1&&(u.reset(e),r=u.nextPart(e),a=o._getChunkData(e,r),d=!1),null==r&&0===h.length?u.finalize(e):(i(qq.format("Sending chunked upload request for item {}.{}, bytes {}-{} of {}.",e,r,a.start+1,a.end,t)),l.onUploadChunk(e,n,o._getChunkDataForCallback(a)),h.push(r),o._getFileState(e).chunking.inProgress=h,s&&c.open(e,r),s&&c.available()&&o._getFileState(e).chunking.remaining.length&&u.sendNext(e),0===a.blob.size?(i(qq.format("Chunk {} for file {} will not be uploaded, zero sized chunk.",r,e),"error"),u.handleFailure(r,e,"File is no longer available",null)):o.uploadChunk(e,r,d).then(function(t,n){i("Chunked upload request succeeded for "+e+", chunk "+r),o.clearCachedChunk(e,r);var a=o._getFileState(e).chunking.inProgress||[],s=p.normalizeResponse(t,!0),l=qq.indexOf(a,r);i(qq.format("Chunk {} for file {} uploaded successfully.",r,e)),u.done(e,r,s,n),l>=0&&a.splice(l,1),o._maybePersistChunkedState(e),u.hasMoreParts(e)||0!==a.length?u.hasMoreParts(e)?u.sendNext(e):i(qq.format("File ID {} has no more chunks to send and these chunk indexes are still marked as in-progress: {}",e,JSON.stringify(a))):u.finalize(e)},function(t,n){u.handleFailure(r,e,t,n)}).done(function(){o.clearXhr(e,r)}))}},c={_open:[],_openChunks:{},_waiting:[],available:function(){var e=l.maxConnections,t=0,n=0;return qq.each(c._openChunks,function(e,i){t++,n+=i.length}),e-(c._open.length-t+n)},free:function(e,t){ -var n,r=!t,a=qq.indexOf(c._waiting,e),s=qq.indexOf(c._open,e);delete c._openChunks[e],p.getProxyOrBlob(e)instanceof qq.BlobProxy&&(i("Generated blob upload has ended for "+e+", disposing generated blob."),delete o._getFileState(e).file),a>=0?c._waiting.splice(a,1):r&&s>=0&&(c._open.splice(s,1),n=c._waiting.shift(),n>=0&&(c._open.push(n),p.start(n)))},getWaitingOrConnected:function(){var e=[];return qq.each(c._openChunks,function(t,n){n&&n.length&&e.push(parseInt(t))}),qq.each(c._open,function(t,n){c._openChunks[n]||e.push(parseInt(n))}),e=e.concat(c._waiting)},isUsingConnection:function(e){return qq.indexOf(c._open,e)>=0},open:function(e,t){return null==t&&c._waiting.push(e),!!c.available()&&(null==t?(c._waiting.pop(),c._open.push(e)):!function(){var n=c._openChunks[e]||[];n.push(t),c._openChunks[e]=n}(),!0)},reset:function(){c._waiting=[],c._open=[]}},d={send:function(e,t){o._getFileState(e).loaded=0,i("Sending simple upload request for "+e),o.uploadFile(e).then(function(n,o){i("Simple upload request succeeded for "+e);var r=p.normalizeResponse(n,!0),a=l.getSize(e);l.onProgress(e,t,a,a),p.maybeNewUuid(e,r),p.cleanup(e,r,o)},function(n,o){i("Simple upload request failed for "+e);var r=p.normalizeResponse(n,!1);l.onAutoRetry(e,t,r,o)||p.cleanup(e,r,o)})}},p={cancel:function(e){i("Cancelling "+e),l.paramsStore.remove(e),c.free(e)},cleanup:function(e,t,n){var i=l.getName(e);l.onComplete(e,i,t,n),o._getFileState(e)&&o._clearXhrs&&o._clearXhrs(e),c.free(e)},getProxyOrBlob:function(e){return o.getProxy&&o.getProxy(e)||o.getFile&&o.getFile(e)},initHandler:function(){var e=t?qq[t]:qq.traditional,n=qq.supportedFeatures.ajaxUploading?"Xhr":"Form";o=new e[n+"UploadHandler"](l,{getDataByUuid:l.getDataByUuid,getName:l.getName,getSize:l.getSize,getUuid:l.getUuid,log:i,onCancel:l.onCancel,onProgress:l.onProgress,onUuidChanged:l.onUuidChanged}),o._removeExpiredChunkingRecords&&o._removeExpiredChunkingRecords()},isDeferredEligibleForUpload:function(e){return l.isQueued(e)},maybeDefer:function(e,t){return t&&!o.getFile(e)&&t instanceof qq.BlobProxy?(l.onUploadPrep(e),i("Attempting to generate a blob on-demand for "+e),t.create().then(function(t){i("Generated an on-demand blob for "+e),o.updateBlob(e,t),l.setSize(e,t.size),o.reevaluateChunking(e),p.maybeSendDeferredFiles(e)},function(t){var o={};t&&(o.error=t),i(qq.format("Failed to generate blob for ID {}. Error message: {}.",e,t),"error"),l.onComplete(e,l.getName(e),qq.extend(o,n),null),p.maybeSendDeferredFiles(e),c.free(e)}),!1):p.maybeSendDeferredFiles(e)},maybeSendDeferredFiles:function(e){var t=l.getIdsInProxyGroup(e),n=!1;return t&&t.length?(i("Maybe ready to upload proxy group file "+e),qq.each(t,function(t,i){if(p.isDeferredEligibleForUpload(i)&&o.getFile(i))n=i===e,p.now(i);else if(p.isDeferredEligibleForUpload(i))return!1})):(n=!0,p.now(e)),n},maybeNewUuid:function(e,t){void 0!==t.newUuid&&l.onUuidChanged(e,t.newUuid)},normalizeResponse:function(e,t){var n=e;return qq.isObject(e)||(n={},qq.isString(e)&&!t&&(n.error=e)),n.success=t,n},now:function(e){var t=l.getName(e);if(!r.isValid(e))throw new qq.Error(e+" is not a valid file ID to upload!");l.onUpload(e,t),a&&o._shouldChunkThisFile(e)?u.sendNext(e):d.send(e,t)},start:function(e){var t=p.getProxyOrBlob(e);return t?p.maybeDefer(e,t):(p.now(e),!0)}};qq.extend(this,{add:function(e,t){o.add.apply(this,arguments)},upload:function(e){return!!c.open(e)&&p.start(e)},retry:function(e){return s&&(o._getFileState(e).temp.ignoreFailure=!1),c.isUsingConnection(e)?p.start(e):r.upload(e)},cancel:function(e){var t=o.cancel(e);qq.isGenericPromise(t)?t.then(function(){p.cancel(e)}):t!==!1&&p.cancel(e)},cancelAll:function(){var e,t=c.getWaitingOrConnected();if(t.length)for(e=t.length-1;e>=0;e--)r.cancel(t[e]);c.reset()},getFile:function(e){return o.getProxy&&o.getProxy(e)?o.getProxy(e).referenceBlob:o.getFile&&o.getFile(e)},isProxied:function(e){return!(!o.getProxy||!o.getProxy(e))},getInput:function(e){if(o.getInput)return o.getInput(e)},reset:function(){i("Resetting upload handler"),r.cancelAll(),c.reset(),o.reset()},expunge:function(e){if(r.isValid(e))return o.expunge(e)},isValid:function(e){return o.isValid(e)},getResumableFilesData:function(){return o.getResumableFilesData?o.getResumableFilesData():[]},getThirdPartyFileId:function(e){if(r.isValid(e))return o.getThirdPartyFileId(e)},pause:function(e){return!!(r.isResumable(e)&&o.pause&&r.isValid(e)&&o.pause(e))&&(c.free(e),o.moveInProgressToRemaining(e),!0)},isResumable:function(e){return!!o.isResumable&&o.isResumable(e)}}),qq.extend(l,e),i=l.log,a=l.chunking.enabled&&qq.supportedFeatures.chunking,s=a&&l.chunking.concurrent.enabled,n=function(){var e={};return e[l.preventRetryParam]=!0,e}(),p.initHandler()},qq.WindowReceiveMessage=function(e){"use strict";var t={log:function(e,t){}},n={};qq.extend(t,e),qq.extend(this,{receiveMessage:function(e,t){var i=function(e){t(e.data)};window.postMessage?n[e]=qq(window).attach("message",i):log("iframe message passing not supported in this browser!","error")},stopReceivingMessages:function(e){if(window.postMessage){var t=n[e];t&&t()}}})},qq.FormUploadHandler=function(e){"use strict";function t(e){delete c[e],p&&(clearTimeout(d[e]),delete d[e],m.stopReceivingMessages(e));var t=document.getElementById(a._getIframeName(e));t&&(t.setAttribute("src","javascript:false;"),qq(t).remove())}function n(e){return e.split("_")[0]}function i(e){var t=qq.toElement(" -

This page doesn't exist or is not accessible at this time. Take a look at the sitemap:

+

Ta strona nie istnieje lub nie jest dostępna w tym momencie. Zobacz mapę witryny:

diff --git a/src/Backend/Modules/Pages/Installer/Data/pl/contact.txt b/src/Backend/Modules/Pages/Installer/Data/pl/contact.txt index 6ceb94f9ad..6079ade7fa 100644 --- a/src/Backend/Modules/Pages/Installer/Data/pl/contact.txt +++ b/src/Backend/Modules/Pages/Installer/Data/pl/contact.txt @@ -1 +1 @@ -

Enter your question and contact information and we'll get back to you as soon as possible.

\ No newline at end of file +

Wpisz swoje pytanie i dane kontaktowe, a my skontaktujemy się z Tobą tak szybko, jak to możliwe.

\ No newline at end of file diff --git a/src/Backend/Modules/Pages/Installer/Data/pl/disclaimer.txt b/src/Backend/Modules/Pages/Installer/Data/pl/disclaimer.txt index e835f5bf49..b91b618eb7 100644 --- a/src/Backend/Modules/Pages/Installer/Data/pl/disclaimer.txt +++ b/src/Backend/Modules/Pages/Installer/Data/pl/disclaimer.txt @@ -1,24 +1,24 @@ -

This website is property of [Bedrijfsnaam].

-

Contact info:
[Bedrijfsnaam]
[Straatnaam] [Nummer]
[Postcode] [Gemeente]

-

Adres maatschappelijk zetel:
[Maatschappelijke zetel]
[Straatnaam] [Nummer]
[Postcode] [Gemeente]

-

Telefoon:
E-mail:

-

Ondernemingsnummer: BTW BE 0 [BTW-nummer]

-

De toezichthoudende autoriteit: (wanneer uw activiteit aan een vergunningsstelsel is onderworpen)

-

By accessing and using the website, you have expressly agreed to the following general conditions.

-

Intellectual property rights

-

The contents of this site, including trade marks, logos, drawings, data, product or company names, texts, images, etc. are protected by intellectual property rights and belong to [Bedrijfsnaam] or entitled third parties.

-

Liability limitation

-

The information on the website is general in nature. It is not adapted to personal or specific circumstances and can therefore not be regarded as personal, professional or judicial advice for the user.

-

[Bedrijfsnaam] does everything in its power to ensure that the information made available is complete, correct, accurate and updated. However, despite these efforts inaccuracies may occur when providing information. If the information provided contains inaccuracies or if specific information on or via the site is unavailable, [Bedrijfsnaam] shall make the greatest effort to ensure that this is rectified as soon as possible.

-

[Bedrijfsnaam] cannot be held responsible for direct or indirect damage caused by the use of the information on this site.  
The site manager should be contacted if the user has noticed any inaccuracies in the information provided by the site.

-

The contents of the site (including links) may be adjusted, changed or extended at any time without any announcement or advance notice. [Bedrijfsnaam] gives no guarantees for the smooth operation of the website and cannot be held responsible in any way for the poor operation or temporary unavailability of the website or for any type of damage, direct or indirect, which may occur due to the access to or use of the website.

-

[Bedrijfsnaam] can in no case be held liable, directly or indirectly, specifically or otherwise, vis-à-vis anyone for any damage attributable to the use of this site or any other one, in particular as the result of links or hyperlinks including, but not limited to, any loss, work interruption, damage of the user’s programs or other data on the computer system, hardware, software or otherwise.

-

The website may contain hyperlinks to websites or pages of third parties or refer to these indirectly. The placing of links on these websites or pages shall not imply in any way the implicit approval of the contents thereof.  
[Bedrijfsnaam] expressly declares that it has no authority over the contents or over other features of these websites and can in no case be held responsible for the contents or features thereof or for any other type of damage resulting from their use.

-

Applicable legislation and competent courts

-

This site is governed by Belgian law. Only the courts of the district of Ghent are competent to settle any disputes.

-

Privacy policy

-

[Bedrijfsnaam] believes that your privacy is important. While most of the information on this site is available without having to ask the user for personal information,  the user may be asked for some personal details.   This information will only be used to ensure a better service.   (e.g. for our customer database, to keep users informed of our activities, etc.). The user may, free of charge and on request, always prevent the use of his personal details for the purposes of direct marketing. In this regard, the user should contact [Bedrijfsnaam], [Adres bedrijf] or via [Email adres bedrijf]. Your personal details will never been transferred to any third parties (if this should occur, you will be informed).

-

In accordance with the law on the processing of personal data of 8 December 1992, the user has the legal right to examine and possibly correct any of his/her personal details. Subject to proof of identity (copy of the user’s identity card), you can via a written, dated and signed request to [Bedrijfsnaam], [Adres bedrijf] or via [Email adres bedrijf], receive free of charge a written statement of the user’s personal details.  If necessary, you may also ask for any incorrect, incomplete or irrelevant data to be adjusted.

-

[Bedrijfsnaam] can collect non-personal anonymous or aggregate data such as browser type, IP address or operating system in use or the domain name of the website that led you to and from our website, ensuring optimum effectiveness of our website for all users.

-

The use of cookies

-

During a visit to the site, cookies may be placed on the hard drive of your computer. This is only in order to ensure that our site is geared to the needs of users returning to our website. These tiny files known as cookies are not used to ascertain the surfing habits of the visitor on other websites. Your internet browser enables you to disable these cookies, receive a warning when a cookie has been installed or have the cookies removed from your hard disc.  For this purpose, consult the help function of your internet browser.

\ No newline at end of file +

Ta strona jest własnością [Nazwa Firmy]].

+

Dane kontaktowe:
[Nazwa Firmy]
[Straatnaam] [Nummer]
[Postcode] [Gemeente]

+

Adres siedziby:
[Maatschappelijke zetel]
[Straatnaam] [Nummer]
[Postcode] [Gemeente]

+

Telefon:
E-mail:

+

NIP: [Numer NIP]

+

Organ nadzorczy: (gdy twoja działalność podlega systemowi licencjonowania)

+

Uzyskując dostęp i korzystając ze strony internetowej, wyraźnie wyraziłeś zgodę na następujące ogólne warunki.

+

Prawa własności intelektualnej

+

Zawartość tej witryny, w tym znaki towarowe, logo, rysunki, dane, nazwy produktów lub firm, teksty, obrazy itp. Są chronione prawem własności intelektualnej i należą do [Nazwa Firmy] lub strony trzeciej.

+

Ograniczenie odpowiedzialności

+

Informacje na stronie internetowej mają charakter ogólny. Nie jest to pomoc osobista, zawodowa ani sądowa dla użytkownika.

+

[Nazwa Firmy] robi wszystko, co w jej mocy, aby zapewnić, że informacje są kompletne, poprawne, dokładne i aktualne. Jednak pomimo tych wysiłków mogą wystąpić niedokładności w dostarczaniu informacji. Jeśli podane informacje zawierają niedokładności lub jeśli konkretne informacje na stronie są niedostępne, należy jak najszybciej poinformować [Nazwa Firmy].

+

[Nazwa Firmy] nie ponosi odpowiedzialności za bezpośrednie lub pośrednie szkody spowodowane używaniem tej strony. & Nbsp; Należy skontaktować się z administratorem, jeśli użytkownik zauważy jakiekolwiek nieścisłości w informacjach dostarczonych przez witrynę.

+

Zawartość strony (w tym linki) może być dostosowywana, zmieniana lub rozszerzana w dowolnym momencie bez uprzedniego powiadomienia lub uprzedniego powiadomienia. [Nazwa Firmy] nie daje żadnych gwarancji na płynne działanie strony internetowej i nie może być w żaden sposób pociągnięta do odpowiedzialności za złe działanie lub tymczasową niedostępność strony internetowej lub za jakiekolwiek szkody bezpośrednie lub pośrednie, które mogą wystąpić w związku z dostępem do lub korzystania ze strony internetowej.

+

[Nazwa Firmy] nie może w żadnym przypadku odpowiadać, bezpośrednio lub pośrednio, w szczególności lub w inny sposób, ryb- i agrawować; -przekazać komukolwiek o jakichkolwiek szkodach na stronie lub jakiejkolwiek innej, w szczególności w wyniku linków lub hiperłącza takie jak, ale nie wyłącznie, wszelkie straty, przerwanie pracy, uszkodzenie programów użytkownika lub innych danych w systemie komputerowym, sprzęcie, oprogramowaniu lub w inny sposób.

+

Strona internetowa może zawierać hiperłącza do zewnęgtrznych stron internetowych lub stron firm trzecich lub odsyłać do nich pośrednio. Umieszczenie linków na tych stronach lub stronach nie implikuje w żaden sposób niejawnego zatwierdzenia ich treści. & Nbsp; [Nazwa Firmy] jednoznacznie oświadcza, że nie ma żadnej władzy nad treścią ani innymi cechami tych stron i nie może ponosić odpowiedzialności za zawartość lub cechy jakiegokolwiek innego rodzaju uszkodzenia.

+

Obowiązujące ustawodawstwo i właściwe sądy

+

Ta strona podlega belgijskiemu prawu. Jedynie sądy okręgu Gandawa są właściwe do rozstrzygania wszelkich sporów.

+

Polityka prywatności

+

[Nazwa Firmy] uważa, że twoja prywatność jest ważna. Podczas gdy większość informacji na tej stronie jest dostępna bez danych osobowych, & nbsp; użytkownik może poprosić o podanie niektórych danych osobowych. & nbsp; & nbsp; Te informacje zostaną wykorzystane w celu zapewnienia lepszej obsługi. & Nbsp; & nbsp; (np. w naszej bazie danych klientów, aby informować użytkowników o naszych działaniach itp.). Użytkownik może bezpłatnie i na żądanie zawsze wykorzystywać dane osobowe do celów marketingu bezpośredniego. W związku z tym użytkownik powinien skontaktować się z [Nazwa Firmy], [Firmowy adres] lub za pośrednictwem [Adres e-mail firmy]. Twoje dane osobowe nigdy nie zostaną przekazane osobom trzecim (jeśli tak się stanie, zostaniesz o tym poinformowany).

+

Zgodnie z przetwarzaniem danych osobowych lub 8 grudnia 1992 r. Użytkownik ma prawo do sprawdzenia i ewentualnie poprawienia swoich danych osobowych. Z zastrzeżeniem dowodu tożsamości (kopia dowodu osobistego użytkownika), można przesłać na adres [Nazwa Firmy], [Adres firmy] lub przez [firmę pocztową], otrzymać bezpłatnie oświadczenie o danych osobowych użytkownika. & nbsp; W razie potrzeby możesz również poprosić o korektę błędnych, niekompletnych lub nieistotnych danych.

+

[Nazwa Firmy] może gromadzić nieosobowe anonimowe lub zagregowane dane, takie jak typ przeglądarki, adres IP lub system operacyjny na stronie internetowej Twojej witryny, zapewniając optymalną skuteczność lub naszą stronę internetową dla wszystkich użytkowników. .

+

Korzystanie z plików cookie

+

Podczas wizyty na stronie pliki cookie mogą być umieszczane na Twoim komputerze. Jest to tylko w celu zapewnienia, że nasza strona jest dostosowana do potrzeb użytkowników powracających do naszej witryny. Te niewielkie pliki, znane jako pliki cookie, nie są używane do ustalenia zwyczajów surfowania odwiedzającego na innych stronach internetowych. Twoja przeglądarka internetowa umożliwia wyłączenie tych plików cookie, a otrzymasz ostrzeżenie, gdy plik cookie zostanie zainstalowany lub usunięty z dysku twardego. & Nbsp; W tym celu skorzystaj z funkcji pomocy przeglądarki internetowej.

\ No newline at end of file diff --git a/src/Backend/Modules/Pages/Installer/Data/pl/sitemap.txt b/src/Backend/Modules/Pages/Installer/Data/pl/sitemap.txt index e0a13a7842..67ec5c8fb8 100644 --- a/src/Backend/Modules/Pages/Installer/Data/pl/sitemap.txt +++ b/src/Backend/Modules/Pages/Installer/Data/pl/sitemap.txt @@ -1 +1 @@ -

Take a look at all the pages in our website:

\ No newline at end of file +

Spójrz na wszystkie strony w naszej witrynie:

\ No newline at end of file diff --git a/src/Backend/Modules/Pages/Js/Pages.js b/src/Backend/Modules/Pages/Js/Pages.js index 2ecec29589..c16947c7af 100644 --- a/src/Backend/Modules/Pages/Js/Pages.js +++ b/src/Backend/Modules/Pages/Js/Pages.js @@ -233,7 +233,7 @@ jsBackend.pages.extras = { if (typeof extrasById[extraId].data.edit_url !== 'undefined' && extrasById[extraId].data.edit_url) editLink = extrasById[extraId].data.edit_url // title, description & visibility - title = extrasById[extraId].human_name + title = extrasById[extraId].path description = extrasById[extraId].path } else if (extraType === 'usertemplate') { // user template @@ -244,7 +244,7 @@ jsBackend.pages.extras = { editLink = '' title = utils.string.ucfirst(jsBackend.locale.lbl('UserTemplate')) if (extraData.title) { - title += ': ' + extraData.title + title += ' > ' + extraData.title title += ' (' + extraData.description + ')' } description = utils.string.stripTags($('#blockHtml' + index).val()).substr(0, 200) @@ -267,12 +267,14 @@ jsBackend.pages.extras = { // create html to be appended in template-view var blockHTML = '
' + - '' + title + '' + - '' + description + '' + - '
' + - '' + - '' + jsBackend.locale.lbl('EditBlock') + '' + - '' + + '' + title + '' + if (title !== description) { + blockHTML += '' + description + '' + } + blockHTML += '
' + + '' + + '' + jsBackend.locale.lbl('EditContent') + '' + + '' + '
' + '
' @@ -1208,8 +1210,10 @@ jsBackend.pages.extras = { // toggle visibility indicators if (visible) { $(this).find('.fa').addClass('fa-eye') + $(this).find('.sr-only').html(jsBackend.locale.lbl('Hide')) } else { $(this).find('.fa').addClass('fa-eye-slash') + $(this).find('.sr-only').html(jsBackend.locale.lbl('Show')) $(this).closest('*[data-block-id]').addClass('templateDisabled') } }, diff --git a/src/Backend/Modules/Pages/Layout/Templates/Add.html.twig b/src/Backend/Modules/Pages/Layout/Templates/Add.html.twig index 81370b0378..7a4dc8f99f 100644 --- a/src/Backend/Modules/Pages/Layout/Templates/Add.html.twig +++ b/src/Backend/Modules/Pages/Layout/Templates/Add.html.twig @@ -188,7 +188,7 @@

{{ 'msg.AddTagsHere'|trans }}

{% form_field tags %} {% form_field_error tags %} -
{{ 'msg.HelpTextTags'|trans }}
+
{{ 'msg.HelpTextTags'|trans }}
diff --git a/src/Backend/Modules/Pages/Layout/Templates/Edit.html.twig b/src/Backend/Modules/Pages/Layout/Templates/Edit.html.twig index 3de035ee09..03fd36d4eb 100644 --- a/src/Backend/Modules/Pages/Layout/Templates/Edit.html.twig +++ b/src/Backend/Modules/Pages/Layout/Templates/Edit.html.twig @@ -329,7 +329,7 @@
{% form_field tags %} {% form_field_error tags %} -
{{ 'msg.HelpTextTags'|trans }}
+
{{ 'msg.HelpTextTags'|trans }}
diff --git a/src/Backend/Modules/Profiles/Installer/Data/locale.xml b/src/Backend/Modules/Profiles/Installer/Data/locale.xml index 78e65c97fe..d8935feecf 100644 --- a/src/Backend/Modules/Profiles/Installer/Data/locale.xml +++ b/src/Backend/Modules/Profiles/Installer/Data/locale.xml @@ -1,4 +1,4 @@ - + @@ -15,14 +15,17 @@ + + + @@ -37,6 +40,7 @@ + @@ -51,6 +55,7 @@ + @@ -65,6 +70,7 @@ + @@ -79,6 +85,7 @@ + @@ -93,6 +100,7 @@ + @@ -107,6 +115,7 @@ + @@ -121,6 +130,7 @@ + @@ -135,6 +145,7 @@ + @@ -149,6 +160,7 @@ + @@ -162,6 +174,7 @@ + @@ -175,10 +188,12 @@ + + @@ -192,10 +207,12 @@ + + @@ -210,6 +227,7 @@ + @@ -224,6 +242,7 @@ + @@ -238,6 +257,7 @@ + @@ -252,6 +272,7 @@ + @@ -266,6 +287,7 @@ + @@ -280,6 +302,7 @@ + @@ -293,6 +316,7 @@ + @@ -301,12 +325,14 @@ + + @@ -320,6 +346,7 @@ + @@ -333,33 +360,40 @@ + + + + + + + @@ -373,14 +407,17 @@ + + + @@ -395,6 +432,7 @@ + @@ -408,6 +446,7 @@ + @@ -421,18 +460,22 @@ + + + + @@ -445,6 +488,7 @@ + @@ -457,6 +501,7 @@ + @@ -469,6 +514,7 @@ + @@ -481,6 +527,7 @@ + @@ -493,6 +540,7 @@ + @@ -505,6 +553,7 @@ + @@ -517,14 +566,17 @@ + + + @@ -537,6 +589,7 @@ + @@ -549,6 +602,7 @@ + @@ -561,6 +615,7 @@ + @@ -573,6 +628,7 @@ + @@ -585,6 +641,7 @@ + @@ -597,25 +654,30 @@ + + Beste,

vanaf heden kan u inloggen op onze website met volgende gegevens:

Email: %1$s
Wachtwoord: %2$s

Log in op %3$s

]]>
Dear,

from now on you can log in to our website with the following information:

Email: %1$s
Password: %2$s

Log in on %3$s

]]>
Bonjour,

Vous pouvez désormais vous connecter à notre site Web avec les informations suivantes:

E-mail: %1$s
Mot de passe: %2$s

Connectez-vous sur %3$s

]]>
+ Użytkowniku,

od teraz możesz logować się na naszej stronie za pomocą następujących danych:

Email: %1$s
Hasło: %2$s

Zaloguj się na %3$s

]]>

er is een nieuw profiel toevoegd:
%1$s - %2$s]]>

a new profile has been added:
%1$s - %2$s]]>

il ya un nouveau profil ajoute:
%1$s - %2$s]]>
+
nowy profil został utworzony:
%1$s - %2$s]]>
+ @@ -628,6 +690,7 @@ + @@ -640,6 +703,7 @@ + @@ -652,6 +716,7 @@ + @@ -664,14 +729,17 @@ + + + @@ -684,6 +752,7 @@ + @@ -696,6 +765,7 @@ + @@ -708,15 +778,18 @@ + + + @@ -729,6 +802,7 @@ + @@ -741,6 +815,7 @@ + @@ -753,6 +828,7 @@ + @@ -765,6 +841,7 @@ + @@ -777,6 +854,7 @@ + @@ -789,6 +867,7 @@ + @@ -801,6 +880,7 @@ + @@ -813,6 +893,7 @@ +
@@ -820,18 +901,21 @@ + + +
@@ -841,11 +925,13 @@ + %1$s.]]> %1$s.]]> %1$s.]]> + %1$s.]]> diff --git a/src/Backend/Modules/Profiles/Layout/Templates/Add.html.twig b/src/Backend/Modules/Profiles/Layout/Templates/Add.html.twig index 7c2a5f461c..bfecf015f0 100644 --- a/src/Backend/Modules/Profiles/Layout/Templates/Add.html.twig +++ b/src/Backend/Modules/Profiles/Layout/Templates/Add.html.twig @@ -91,7 +91,7 @@
- {#{{ macro.cancelButton(geturl('Index')) }}#} + {{ macro.buttonIcon(geturl('Index'), 'times', 'lbl.Cancel'|trans|ucfirst) }}
{{ macro.buttonIcon('', 'plus-square', 'lbl.Add'|trans|ucfirst, 'btn-primary', { "type":"submit", "id":"addButton", "name":"add" }) }} diff --git a/src/Backend/Modules/Profiles/Layout/Templates/AddGroup.html.twig b/src/Backend/Modules/Profiles/Layout/Templates/AddGroup.html.twig index 93324c300b..fe7d57ad51 100644 --- a/src/Backend/Modules/Profiles/Layout/Templates/AddGroup.html.twig +++ b/src/Backend/Modules/Profiles/Layout/Templates/AddGroup.html.twig @@ -22,7 +22,7 @@
- {#{{ macro.cancelButton(geturl('Groups')) }}#} + {{ macro.buttonIcon(geturl('Groups'), 'times', 'lbl.Cancel'|trans|ucfirst) }}
{{ macro.buttonIcon('', 'plus-square', 'lbl.AddGroup'|trans|ucfirst, 'btn-primary', { "type":"submit", "id":"addButton", "name":"add" }) }} diff --git a/src/Backend/Modules/Profiles/Layout/Templates/AddProfileGroup.html.twig b/src/Backend/Modules/Profiles/Layout/Templates/AddProfileGroup.html.twig index 9df1f48838..319a518fb1 100644 --- a/src/Backend/Modules/Profiles/Layout/Templates/AddProfileGroup.html.twig +++ b/src/Backend/Modules/Profiles/Layout/Templates/AddProfileGroup.html.twig @@ -43,7 +43,7 @@
- {#{{ macro.cancelButton(geturl('Edit') ~ '&id=' ~ id ~ "#tabGroups") }}#} + {{ macro.buttonIcon(geturl('Edit') ~ '&id=' ~ id ~ "#tabGroups", 'times', 'lbl.Cancel'|trans|ucfirst) }}
{{ macro.buttonIcon('', 'plus-square', 'lbl.Add'|trans|ucfirst, 'btn-primary', { "type":"submit", "id":"addButton", "name":"add" }) }} diff --git a/src/Backend/Modules/Profiles/Layout/Templates/EditGroup.html.twig b/src/Backend/Modules/Profiles/Layout/Templates/EditGroup.html.twig index 4a5fc83088..c0fe5e25f9 100644 --- a/src/Backend/Modules/Profiles/Layout/Templates/EditGroup.html.twig +++ b/src/Backend/Modules/Profiles/Layout/Templates/EditGroup.html.twig @@ -25,7 +25,7 @@ {% if showProfilesDeleteGroup %} {{ macro.buttonIcon('', 'trash-o', 'lbl.Delete'|trans|ucfirst, 'btn-danger', { "type":"button", "data-toggle":"modal", "data-target":"#confirmDelete" }) }} {% endif %} - {#{{ macro.cancelButton(geturl('Groups')) }}#} + {{ macro.buttonIcon(geturl('Groups'), 'times', 'lbl.Cancel'|trans|ucfirst) }}
{{ macro.buttonIcon('', 'floppy-o', 'lbl.Save'|trans|ucfirst, 'btn-primary', { "type":"submit", "name":"edit", "id":"saveButton" }) }} diff --git a/src/Backend/Modules/Search/Installer/Data/locale.xml b/src/Backend/Modules/Search/Installer/Data/locale.xml index cb26ee0e9d..abb5686036 100644 --- a/src/Backend/Modules/Search/Installer/Data/locale.xml +++ b/src/Backend/Modules/Search/Installer/Data/locale.xml @@ -14,6 +14,7 @@ + @@ -26,6 +27,7 @@ + @@ -38,6 +40,7 @@ + @@ -50,6 +53,7 @@ + @@ -62,6 +66,7 @@ + @@ -74,10 +79,12 @@ + Googles officiële documentatie.]]> Googles official documentation.]]> + oficjalnej dokumentacji Google.]]> @@ -90,6 +97,7 @@ + @@ -102,6 +110,7 @@ + Voeg het eerste synoniem toe.]]> @@ -114,6 +123,7 @@ Ajoutez le premier synonyme.]]> Agregar el primer sinónimo.]]> Προσθέστε το πρώτο συνώνυμο.]]> + Dodaj pierwszy synonim.]]> @@ -126,6 +136,7 @@ + @@ -140,6 +151,7 @@ + @@ -154,6 +166,7 @@ + @@ -167,6 +180,7 @@ + @@ -180,6 +194,7 @@ + @@ -193,6 +208,7 @@ + @@ -206,6 +222,7 @@ + @@ -219,10 +236,12 @@ + + @@ -235,6 +254,7 @@ + @@ -247,6 +267,7 @@ + @@ -259,10 +280,11 @@ + - + @@ -271,6 +293,7 @@ + diff --git a/src/Backend/Modules/Settings/Installer/Data/locale.xml b/src/Backend/Modules/Settings/Installer/Data/locale.xml index 9f26f966c6..6b2f015f2d 100644 --- a/src/Backend/Modules/Settings/Installer/Data/locale.xml +++ b/src/Backend/Modules/Settings/Installer/Data/locale.xml @@ -15,6 +15,7 @@ + @@ -29,6 +30,7 @@ + @@ -43,6 +45,7 @@ + @@ -50,10 +53,12 @@ + + @@ -65,6 +70,7 @@ + @@ -76,6 +82,7 @@ + @@ -87,6 +94,7 @@ + @@ -98,6 +106,7 @@ + @@ -111,6 +120,7 @@ + @@ -118,6 +128,7 @@ + @@ -126,6 +137,7 @@ + @@ -134,6 +146,7 @@ + @@ -142,6 +155,7 @@ + @@ -150,6 +164,7 @@ + @@ -162,6 +177,7 @@ + @@ -174,6 +190,7 @@ + @@ -184,6 +201,7 @@ + @@ -194,6 +212,7 @@ + @@ -201,6 +220,7 @@ + @@ -213,6 +233,7 @@ + @@ -225,6 +246,7 @@ + @@ -237,6 +259,7 @@ + @@ -249,6 +272,7 @@ + @@ -261,6 +285,7 @@ + @@ -273,6 +298,7 @@ + @@ -285,6 +311,7 @@ + @@ -297,11 +324,13 @@ + + @@ -314,6 +343,7 @@ + @@ -326,6 +356,7 @@ + @@ -338,6 +369,7 @@ + @@ -350,6 +382,7 @@ <body> Tag geladen werden soll hier ein.]]> <body> aquí.]]> .]]> + .]]> <body> script(s)]]> @@ -362,6 +395,7 @@ <body> - Ende Script(s)]]> <body> script(s)]]> <body> σκριπτ.]]> + <body>]]> <head>-tag.]]> @@ -374,6 +408,7 @@ <head> Tag geladen werden soll hier ein.]]> <head> aquí.]]> .]]> + <head>.]]> <head> script(s)]]> @@ -386,6 +421,7 @@ <body> script(s)]]> <head> script(s)]]> <head> σκριπτ.]]> + <head>]]> <body>-tag.]]> @@ -394,6 +430,7 @@ Start van <body> script(s)]]> Start of <body> script(s)]]> + Rozpoczęcie skryptu <body>]]> @@ -406,6 +443,7 @@ + open directory project.]]> @@ -418,6 +456,7 @@ Open-Directory-Project hinzugefügt wird.]]> open directory project.]]> open directory project.]]> + , projektu otwartego katalogu.]]> @@ -430,6 +469,7 @@ + @@ -442,18 +482,22 @@ + + + + @@ -466,6 +510,7 @@ + @@ -478,6 +523,7 @@ + rel="nofollow" voor links in reacties]]> @@ -490,6 +536,7 @@ rel="nofollow" bei Links in Kommentaren ein]]> rel="nofollow" en los enlaces dentro de un comentario]]> rel="nofollow" σε συνδέσμους που βρίσκονται μέσα σε σχόλιο.]]> + rel="nofollow" do linków wewnątrz komentarza]]> @@ -497,6 +544,7 @@ + @@ -509,6 +557,7 @@ + @@ -521,6 +570,7 @@ + @@ -533,6 +583,7 @@ + @@ -545,6 +596,7 @@ + @@ -553,6 +605,7 @@ + diff --git a/src/Backend/Modules/Tags/Engine/Model.php b/src/Backend/Modules/Tags/Engine/Model.php index 490fc88925..2db33379cb 100644 --- a/src/Backend/Modules/Tags/Engine/Model.php +++ b/src/Backend/Modules/Tags/Engine/Model.php @@ -235,8 +235,8 @@ public static function saveTags(int $otherId, $tags, string $module, string $lan $tags = (array) explode(',', (string) $tags); } - // make sure the list of tags contains only unique and non-empty elements - $tags = array_filter(array_unique($tags)); + // make sure the list of tags contains only unique and non-empty elements in a case insensitive way + $tags = array_filter(array_intersect_key($tags, array_unique(array_map('strtolower', $tags)))); // get database $database = BackendModel::getContainer()->get('database'); diff --git a/src/Backend/Modules/Tags/Installer/Data/locale.xml b/src/Backend/Modules/Tags/Installer/Data/locale.xml index 2c1e96f438..8afff0f46f 100644 --- a/src/Backend/Modules/Tags/Installer/Data/locale.xml +++ b/src/Backend/Modules/Tags/Installer/Data/locale.xml @@ -13,6 +13,7 @@ + @@ -25,6 +26,7 @@ + @@ -37,6 +39,7 @@ + @@ -49,6 +52,7 @@ + @@ -61,6 +65,7 @@ + @@ -73,6 +78,7 @@ + @@ -85,6 +91,7 @@ + diff --git a/src/Backend/Modules/Users/Installer/Data/locale.xml b/src/Backend/Modules/Users/Installer/Data/locale.xml index 2a2d1633ce..652b88a311 100644 --- a/src/Backend/Modules/Users/Installer/Data/locale.xml +++ b/src/Backend/Modules/Users/Installer/Data/locale.xml @@ -15,11 +15,13 @@ + + @@ -33,6 +35,7 @@ + @@ -45,6 +48,7 @@ + @@ -57,6 +61,7 @@ + @@ -69,6 +74,7 @@ + @@ -81,6 +87,7 @@ + @@ -93,6 +100,7 @@ + @@ -105,6 +113,7 @@ + @@ -117,6 +126,7 @@ + @@ -129,6 +139,7 @@ + @@ -141,6 +152,7 @@ + Activeer deze gebruiker terug.]]> @@ -153,6 +165,7 @@ Felhasználó visszaállítása.]]> Restaurar este usuario.]]> Επαναφορά του χρήστη.]]> + Przywróć go]]> @@ -165,6 +178,7 @@ + diff --git a/src/Common/EventListener/ResponseSecurer.php b/src/Common/EventListener/ResponseSecurer.php index 4337ead2ed..1c88ce2e61 100644 --- a/src/Common/EventListener/ResponseSecurer.php +++ b/src/Common/EventListener/ResponseSecurer.php @@ -16,6 +16,7 @@ public function onKernelResponse(FilterResponseEvent $event): void { $headers = [ 'X-Frame-Options' => 'deny', + 'referrer' => 'strict-origin-when-cross-origin', 'X-XSS-Protection' => '1; mode=block', 'X-Content-Type-Options' => 'nosniff', ]; diff --git a/src/Console/Locale/EnableLocaleCommand.php b/src/Console/Locale/EnableLocaleCommand.php index f4b4e9a7f0..2f91808ad1 100644 --- a/src/Console/Locale/EnableLocaleCommand.php +++ b/src/Console/Locale/EnableLocaleCommand.php @@ -342,6 +342,7 @@ private function getInstallableLocale(): array 'es' => 'Spanish', 'sv' => 'Swedish', 'uk' => 'Ukrainian', + 'pl' => 'Polish', ]; } } diff --git a/src/ForkCMS/Bundle/InstallerBundle/Form/Type/LanguagesType.php b/src/ForkCMS/Bundle/InstallerBundle/Form/Type/LanguagesType.php index bfa05ba189..bb09bbf5a3 100644 --- a/src/ForkCMS/Bundle/InstallerBundle/Form/Type/LanguagesType.php +++ b/src/ForkCMS/Bundle/InstallerBundle/Form/Type/LanguagesType.php @@ -99,6 +99,7 @@ protected function getInstallableLanguages(): array 'Spanish' => 'es', 'Swedish' => 'sv', 'Ukrainian' => 'uk', + 'Polish' => 'pl', ]; } } diff --git a/src/ForkCMS/Utility/Geolocation.php b/src/ForkCMS/Utility/Geolocation.php new file mode 100644 index 0000000000..93ed900b95 --- /dev/null +++ b/src/ForkCMS/Utility/Geolocation.php @@ -0,0 +1,59 @@ +api = new API($settings->get('Core', 'google_maps_key')); + } + + /** + * @param string|null $street + * @param string|null $streetNumber + * @param string|null $city + * @param string|null $zip + * @param string|null $country + * @return array - Example: ['latitude' => 50.8864, 'longitude' => 3.42928] + */ + public function getCoordinates( + string $street = null, + string $streetNumber = null, + string $city = null, + string $zip = null, + string $country = null + ): array { + if (!empty($country)) { + $country = Intl::getRegionBundle()->getCountryName($country, Language::getInterfaceLanguage()); + } + + try { + /** @var Coordinates $coordinates */ + $coordinates = $this->api->getCoordinates( + $street, + $streetNumber, + $city, + $zip, + $country + ); + } catch (Exception $e) { + $coordinates = null; + } + + return [ + 'latitude' => ($coordinates instanceof Coordinates) ? $coordinates->getLatitude() : null, + 'longitude' => ($coordinates instanceof Coordinates) ? $coordinates->getLongitude() : null, + ]; + } +} diff --git a/src/Frontend/Core/Engine/TwigTemplate.php b/src/Frontend/Core/Engine/TwigTemplate.php index bb70dcf64d..b033609473 100644 --- a/src/Frontend/Core/Engine/TwigTemplate.php +++ b/src/Frontend/Core/Engine/TwigTemplate.php @@ -2,6 +2,7 @@ namespace Frontend\Core\Engine; +use Frontend\Core\Language\Locale; use Common\Core\Twig\BaseTwigTemplate; use Common\Core\Twig\Extensions\TwigFilters; use Symfony\Bridge\Twig\Form\TwigRendererEngine; @@ -31,6 +32,7 @@ public function __construct( ) { $container = Model::getContainer(); $this->forkSettings = $container->get('fork.settings'); + $this->language = Locale::frontendLanguage(); parent::__construct($environment, $parser, $locator); diff --git a/src/Frontend/Core/Js/frontend.js b/src/Frontend/Core/Js/frontend.js index 8eef5c15ed..2d1a3dd224 100644 --- a/src/Frontend/Core/Js/frontend.js +++ b/src/Frontend/Core/Js/frontend.js @@ -69,11 +69,25 @@ jsFrontend.controls = { // init, something like a constructor init: function () { jsFrontend.controls.bindTargetBlank() + jsFrontend.controls.toggleCollapse() }, // bind target blank bindTargetBlank: function () { $('a.targetBlank').attr('target', '_blank') + }, + + toggleCollapse: function () { + var $navToggle = $('.navbar-toggle') + + if ($navToggle.length === 0) { + return + } + + $navToggle.on('click', function() { + var $button = $(this) + $button.find('[data-role=label]').text(jsFrontend.locale.lbl($button.hasClass('collapsed') ? 'CloseNavigation' : 'OpenNavigation')) + }).find('[data-role=label]').text(jsFrontend.locale.lbl($navToggle.hasClass('collapsed') ? 'CloseNavigation' : 'OpenNavigation')) } } @@ -532,7 +546,7 @@ jsFrontend.statistics = { if (typeof _gaq === 'object' || typeof ga === 'function') { // create a new selector $.expr[':'].external = function (obj) { - return (typeof obj.href !== 'undefined') && !obj.href.match(/^mailto:/) && (obj.hostname !== window.location.hostname) + return (typeof obj.href !== 'undefined') && (obj.hostname !== window.location.hostname) } // bind on all links that don't have the class noTracking diff --git a/src/Frontend/Core/Language/Locale.php b/src/Frontend/Core/Language/Locale.php index fca0ac13f1..b685ac64db 100644 --- a/src/Frontend/Core/Language/Locale.php +++ b/src/Frontend/Core/Language/Locale.php @@ -6,9 +6,13 @@ final class Locale extends CommonLocale { - public static function frontendLanguage(): self + public static function frontendLanguage(): ?self { - return new self(FRONTEND_LANGUAGE); + if (\defined('FRONTEND_LANGUAGE')) { + return new self(FRONTEND_LANGUAGE); + } + + return null; } protected function getPossibleLanguages(): array diff --git a/src/Frontend/Core/Layout/Css/screen.css b/src/Frontend/Core/Layout/Css/screen.css index e3c785be2d..4b7c3a4d93 100644 --- a/src/Frontend/Core/Layout/Css/screen.css +++ b/src/Frontend/Core/Layout/Css/screen.css @@ -2,6 +2,6 @@ * Bootstrap v3.3.7 (http://getbootstrap.com) * Copyright 2011-2016 Twitter, Inc. * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) - *//*! normalize.css v3.0.3 | MIT License | github.com/necolas/normalize.css */html{font-family:sans-serif;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%}body{margin:0}article,aside,details,figcaption,figure,footer,header,hgroup,main,menu,nav,section,summary{display:block}audio,canvas,progress,video{display:inline-block;vertical-align:baseline}audio:not([controls]){display:none;height:0}[hidden],template{display:none}a{background-color:transparent}a:active,a:hover{outline:0}abbr[title]{border-bottom:1px dotted}b,strong{font-weight:bold}dfn{font-style:italic}h1{font-size:2em;margin:0.67em 0}mark{background:#ff0;color:#000}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sup{top:-0.5em}sub{bottom:-0.25em}img{border:0}svg:not(:root){overflow:hidden}figure{margin:1em 40px}hr{box-sizing:content-box;height:0}pre{overflow:auto}code,kbd,pre,samp{font-family:monospace, monospace;font-size:1em}button,input,optgroup,select,textarea{color:inherit;font:inherit;margin:0}button{overflow:visible}button,select{text-transform:none}button,html input[type="button"],input[type="reset"],input[type="submit"]{-webkit-appearance:button;cursor:pointer}button[disabled],html input[disabled]{cursor:default}button::-moz-focus-inner,input::-moz-focus-inner{border:0;padding:0}input{line-height:normal}input[type="checkbox"],input[type="radio"]{box-sizing:border-box;padding:0}input[type="number"]::-webkit-inner-spin-button,input[type="number"]::-webkit-outer-spin-button{height:auto}input[type="search"]{-webkit-appearance:textfield;box-sizing:content-box}input[type="search"]::-webkit-search-cancel-button,input[type="search"]::-webkit-search-decoration{-webkit-appearance:none}fieldset{border:1px solid #c0c0c0;margin:0 2px;padding:0.35em 0.625em 0.75em}legend{border:0;padding:0}textarea{overflow:auto}optgroup{font-weight:bold}table{border-collapse:collapse;border-spacing:0}td,th{padding:0}/*! Source: https://github.com/h5bp/html5-boilerplate/blob/master/src/css/main.css */@media print{*,*:before,*:after{background:transparent !important;color:#000 !important;box-shadow:none !important;text-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}.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/bootstrap/glyphicons-halflings-regular.eot");src:url("../fonts/bootstrap/glyphicons-halflings-regular.eot?#iefix") format("embedded-opentype"),url("../fonts/bootstrap/glyphicons-halflings-regular.woff2") format("woff2"),url("../fonts/bootstrap/glyphicons-halflings-regular.woff") format("woff"),url("../fonts/bootstrap/glyphicons-halflings-regular.ttf") format("truetype"),url("../fonts/bootstrap/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:"\002a"}.glyphicon-plus:before{content:"\002b"}.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"}*{box-sizing:border-box}*:before,*:after{box-sizing:border-box}html{font-size:10px;-webkit-tap-highlight-color:transparent}body{font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:14px;line-height:1.428571429;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:5px auto -webkit-focus-ring-color;outline-offset:-2px}figure{margin:0}img{vertical-align:middle}.img-responsive{display:block;max-width:100%;height:auto}.img-rounded{border-radius:6px}.img-thumbnail{padding:4px;line-height:1.428571429;background-color:#fff;border:1px solid #ddd;border-radius:4px;-webkit-transition:all 0.2s ease-in-out;transition:all 0.2s ease-in-out;display:inline-block;max-width:100%;height:auto}.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;margin:-1px;padding:0;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:normal;line-height:1;color:#777}h1,.h1,h2,.h2,h3,.h3{margin-top:20px;margin-bottom:10px}h1 small,h1 .small,.h1 small,.h1 .small,h2 small,h2 .small,.h2 small,.h2 .small,h3 small,h3 .small,.h3 small,.h3 .small{font-size:65%}h4,.h4,h5,.h5,h6,.h6{margin-top:10px;margin-bottom:10px}h4 small,h4 .small,.h4 small,.h4 .small,h5 small,h5 .small,.h5 small,.h5 .small,h6 small,h6 .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{background-color:#fcf8e3;padding:.2em}.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,.initialism{text-transform:uppercase}.text-capitalize{text-transform:capitalize}.text-muted{color:#777}.text-primary{color:#337ab7}a.text-primary:hover,a.text-primary:focus{color:#286090}.text-success{color:#3c763d}a.text-success:hover,a.text-success:focus{color:#2b542c}.text-info{color:#31708f}a.text-info:hover,a.text-info:focus{color:#245269}.text-warning{color:#8a6d3b}a.text-warning:hover,a.text-warning:focus{color:#66512c}.text-danger{color:#a94442}a.text-danger:hover,a.text-danger:focus{color:#843534}.bg-primary{color:#fff}.bg-primary{background-color:#337ab7}a.bg-primary:hover,a.bg-primary:focus{background-color:#286090}.bg-success{background-color:#dff0d8}a.bg-success:hover,a.bg-success:focus{background-color:#c1e2b3}.bg-info{background-color:#d9edf7}a.bg-info:hover,a.bg-info:focus{background-color:#afd9ee}.bg-warning{background-color:#fcf8e3}a.bg-warning:hover,a.bg-warning:focus{background-color:#f7ecb5}.bg-danger{background-color:#f2dede}a.bg-danger:hover,a.bg-danger:focus{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,ul ol,ol ul,ol ol{margin-bottom:0}.list-unstyled{padding-left:0;list-style:none}.list-inline{padding-left:0;list-style:none;margin-left:-5px}.list-inline>li{display:inline-block;padding-left:5px;padding-right:5px}dl{margin-top:0;margin-bottom:20px}dt,dd{line-height:1.428571429}dt{font-weight:bold}dd{margin-left:0}.dl-horizontal dd:before,.dl-horizontal dd:after{content:" ";display:table}.dl-horizontal dd:after{clear:both}@media (min-width: 768px){.dl-horizontal dt{float:left;width:160px;clear:left;text-align:right;overflow:hidden;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%}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.428571429;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;border-right:5px solid #eee;border-left:0;text-align:right}.blockquote-reverse footer:before,.blockquote-reverse small:before,.blockquote-reverse .small:before,blockquote.pull-right footer:before,blockquote.pull-right small:before,blockquote.pull-right .small:before{content:''}.blockquote-reverse footer:after,.blockquote-reverse small:after,.blockquote-reverse .small:after,blockquote.pull-right footer:after,blockquote.pull-right small:after,blockquote.pull-right .small:after{content:'\00A0 \2014'}address{margin-bottom:20px;font-style:normal;line-height:1.428571429}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;box-shadow:inset 0 -1px 0 rgba(0,0,0,0.25)}kbd kbd{padding:0;font-size:100%;font-weight:bold;box-shadow:none}pre{display:block;padding:9.5px;margin:0 0 10px;font-size:13px;line-height:1.428571429;word-break:break-all;word-wrap:break-word;color:#333;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{margin-right:auto;margin-left:auto;padding-left:15px;padding-right:15px}.container:before,.container:after{content:" ";display:table}.container:after{clear:both}@media (min-width: 768px){.container{width:750px}}@media (min-width: 992px){.container{width:970px}}@media (min-width: 1200px){.container{width:1170px}}.container-fluid{margin-right:auto;margin-left:auto;padding-left:15px;padding-right:15px}.container-fluid:before,.container-fluid:after{content:" ";display:table}.container-fluid:after{clear:both}.row{margin-left:-15px;margin-right:-15px}.row:before,.row:after{content:" ";display:table}.row:after{clear:both}.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-left:15px;padding-right: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-1{width:8.3333333333%}.col-xs-2{width:16.6666666667%}.col-xs-3{width:25%}.col-xs-4{width:33.3333333333%}.col-xs-5{width:41.6666666667%}.col-xs-6{width:50%}.col-xs-7{width:58.3333333333%}.col-xs-8{width:66.6666666667%}.col-xs-9{width:75%}.col-xs-10{width:83.3333333333%}.col-xs-11{width:91.6666666667%}.col-xs-12{width:100%}.col-xs-pull-0{right:auto}.col-xs-pull-1{right:8.3333333333%}.col-xs-pull-2{right:16.6666666667%}.col-xs-pull-3{right:25%}.col-xs-pull-4{right:33.3333333333%}.col-xs-pull-5{right:41.6666666667%}.col-xs-pull-6{right:50%}.col-xs-pull-7{right:58.3333333333%}.col-xs-pull-8{right:66.6666666667%}.col-xs-pull-9{right:75%}.col-xs-pull-10{right:83.3333333333%}.col-xs-pull-11{right:91.6666666667%}.col-xs-pull-12{right:100%}.col-xs-push-0{left:auto}.col-xs-push-1{left:8.3333333333%}.col-xs-push-2{left:16.6666666667%}.col-xs-push-3{left:25%}.col-xs-push-4{left:33.3333333333%}.col-xs-push-5{left:41.6666666667%}.col-xs-push-6{left:50%}.col-xs-push-7{left:58.3333333333%}.col-xs-push-8{left:66.6666666667%}.col-xs-push-9{left:75%}.col-xs-push-10{left:83.3333333333%}.col-xs-push-11{left:91.6666666667%}.col-xs-push-12{left:100%}.col-xs-offset-0{margin-left:0%}.col-xs-offset-1{margin-left:8.3333333333%}.col-xs-offset-2{margin-left:16.6666666667%}.col-xs-offset-3{margin-left:25%}.col-xs-offset-4{margin-left:33.3333333333%}.col-xs-offset-5{margin-left:41.6666666667%}.col-xs-offset-6{margin-left:50%}.col-xs-offset-7{margin-left:58.3333333333%}.col-xs-offset-8{margin-left:66.6666666667%}.col-xs-offset-9{margin-left:75%}.col-xs-offset-10{margin-left:83.3333333333%}.col-xs-offset-11{margin-left:91.6666666667%}.col-xs-offset-12{margin-left:100%}@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-1{width:8.3333333333%}.col-sm-2{width:16.6666666667%}.col-sm-3{width:25%}.col-sm-4{width:33.3333333333%}.col-sm-5{width:41.6666666667%}.col-sm-6{width:50%}.col-sm-7{width:58.3333333333%}.col-sm-8{width:66.6666666667%}.col-sm-9{width:75%}.col-sm-10{width:83.3333333333%}.col-sm-11{width:91.6666666667%}.col-sm-12{width:100%}.col-sm-pull-0{right:auto}.col-sm-pull-1{right:8.3333333333%}.col-sm-pull-2{right:16.6666666667%}.col-sm-pull-3{right:25%}.col-sm-pull-4{right:33.3333333333%}.col-sm-pull-5{right:41.6666666667%}.col-sm-pull-6{right:50%}.col-sm-pull-7{right:58.3333333333%}.col-sm-pull-8{right:66.6666666667%}.col-sm-pull-9{right:75%}.col-sm-pull-10{right:83.3333333333%}.col-sm-pull-11{right:91.6666666667%}.col-sm-pull-12{right:100%}.col-sm-push-0{left:auto}.col-sm-push-1{left:8.3333333333%}.col-sm-push-2{left:16.6666666667%}.col-sm-push-3{left:25%}.col-sm-push-4{left:33.3333333333%}.col-sm-push-5{left:41.6666666667%}.col-sm-push-6{left:50%}.col-sm-push-7{left:58.3333333333%}.col-sm-push-8{left:66.6666666667%}.col-sm-push-9{left:75%}.col-sm-push-10{left:83.3333333333%}.col-sm-push-11{left:91.6666666667%}.col-sm-push-12{left:100%}.col-sm-offset-0{margin-left:0%}.col-sm-offset-1{margin-left:8.3333333333%}.col-sm-offset-2{margin-left:16.6666666667%}.col-sm-offset-3{margin-left:25%}.col-sm-offset-4{margin-left:33.3333333333%}.col-sm-offset-5{margin-left:41.6666666667%}.col-sm-offset-6{margin-left:50%}.col-sm-offset-7{margin-left:58.3333333333%}.col-sm-offset-8{margin-left:66.6666666667%}.col-sm-offset-9{margin-left:75%}.col-sm-offset-10{margin-left:83.3333333333%}.col-sm-offset-11{margin-left:91.6666666667%}.col-sm-offset-12{margin-left:100%}}@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-1{width:8.3333333333%}.col-md-2{width:16.6666666667%}.col-md-3{width:25%}.col-md-4{width:33.3333333333%}.col-md-5{width:41.6666666667%}.col-md-6{width:50%}.col-md-7{width:58.3333333333%}.col-md-8{width:66.6666666667%}.col-md-9{width:75%}.col-md-10{width:83.3333333333%}.col-md-11{width:91.6666666667%}.col-md-12{width:100%}.col-md-pull-0{right:auto}.col-md-pull-1{right:8.3333333333%}.col-md-pull-2{right:16.6666666667%}.col-md-pull-3{right:25%}.col-md-pull-4{right:33.3333333333%}.col-md-pull-5{right:41.6666666667%}.col-md-pull-6{right:50%}.col-md-pull-7{right:58.3333333333%}.col-md-pull-8{right:66.6666666667%}.col-md-pull-9{right:75%}.col-md-pull-10{right:83.3333333333%}.col-md-pull-11{right:91.6666666667%}.col-md-pull-12{right:100%}.col-md-push-0{left:auto}.col-md-push-1{left:8.3333333333%}.col-md-push-2{left:16.6666666667%}.col-md-push-3{left:25%}.col-md-push-4{left:33.3333333333%}.col-md-push-5{left:41.6666666667%}.col-md-push-6{left:50%}.col-md-push-7{left:58.3333333333%}.col-md-push-8{left:66.6666666667%}.col-md-push-9{left:75%}.col-md-push-10{left:83.3333333333%}.col-md-push-11{left:91.6666666667%}.col-md-push-12{left:100%}.col-md-offset-0{margin-left:0%}.col-md-offset-1{margin-left:8.3333333333%}.col-md-offset-2{margin-left:16.6666666667%}.col-md-offset-3{margin-left:25%}.col-md-offset-4{margin-left:33.3333333333%}.col-md-offset-5{margin-left:41.6666666667%}.col-md-offset-6{margin-left:50%}.col-md-offset-7{margin-left:58.3333333333%}.col-md-offset-8{margin-left:66.6666666667%}.col-md-offset-9{margin-left:75%}.col-md-offset-10{margin-left:83.3333333333%}.col-md-offset-11{margin-left:91.6666666667%}.col-md-offset-12{margin-left:100%}}@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-1{width:8.3333333333%}.col-lg-2{width:16.6666666667%}.col-lg-3{width:25%}.col-lg-4{width:33.3333333333%}.col-lg-5{width:41.6666666667%}.col-lg-6{width:50%}.col-lg-7{width:58.3333333333%}.col-lg-8{width:66.6666666667%}.col-lg-9{width:75%}.col-lg-10{width:83.3333333333%}.col-lg-11{width:91.6666666667%}.col-lg-12{width:100%}.col-lg-pull-0{right:auto}.col-lg-pull-1{right:8.3333333333%}.col-lg-pull-2{right:16.6666666667%}.col-lg-pull-3{right:25%}.col-lg-pull-4{right:33.3333333333%}.col-lg-pull-5{right:41.6666666667%}.col-lg-pull-6{right:50%}.col-lg-pull-7{right:58.3333333333%}.col-lg-pull-8{right:66.6666666667%}.col-lg-pull-9{right:75%}.col-lg-pull-10{right:83.3333333333%}.col-lg-pull-11{right:91.6666666667%}.col-lg-pull-12{right:100%}.col-lg-push-0{left:auto}.col-lg-push-1{left:8.3333333333%}.col-lg-push-2{left:16.6666666667%}.col-lg-push-3{left:25%}.col-lg-push-4{left:33.3333333333%}.col-lg-push-5{left:41.6666666667%}.col-lg-push-6{left:50%}.col-lg-push-7{left:58.3333333333%}.col-lg-push-8{left:66.6666666667%}.col-lg-push-9{left:75%}.col-lg-push-10{left:83.3333333333%}.col-lg-push-11{left:91.6666666667%}.col-lg-push-12{left:100%}.col-lg-offset-0{margin-left:0%}.col-lg-offset-1{margin-left:8.3333333333%}.col-lg-offset-2{margin-left:16.6666666667%}.col-lg-offset-3{margin-left:25%}.col-lg-offset-4{margin-left:33.3333333333%}.col-lg-offset-5{margin-left:41.6666666667%}.col-lg-offset-6{margin-left:50%}.col-lg-offset-7{margin-left:58.3333333333%}.col-lg-offset-8{margin-left:66.6666666667%}.col-lg-offset-9{margin-left:75%}.col-lg-offset-10{margin-left:83.3333333333%}.col-lg-offset-11{margin-left:91.6666666667%}.col-lg-offset-12{margin-left:100%}}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>thead>tr>td,.table>tbody>tr>th,.table>tbody>tr>td,.table>tfoot>tr>th,.table>tfoot>tr>td{padding:8px;line-height:1.428571429;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>caption+thead>tr:first-child>td,.table>colgroup+thead>tr:first-child>th,.table>colgroup+thead>tr:first-child>td,.table>thead:first-child>tr:first-child>th,.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>thead>tr>td,.table-condensed>tbody>tr>th,.table-condensed>tbody>tr>td,.table-condensed>tfoot>tr>th,.table-condensed>tfoot>tr>td{padding:5px}.table-bordered{border:1px solid #ddd}.table-bordered>thead>tr>th,.table-bordered>thead>tr>td,.table-bordered>tbody>tr>th,.table-bordered>tbody>tr>td,.table-bordered>tfoot>tr>th,.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;float:none;display:table-column}table td[class*="col-"],table th[class*="col-"]{position:static;float:none;display:table-cell}.table>thead>tr>td.active,.table>thead>tr>th.active,.table>thead>tr.active>td,.table>thead>tr.active>th,.table>tbody>tr>td.active,.table>tbody>tr>th.active,.table>tbody>tr.active>td,.table>tbody>tr.active>th,.table>tfoot>tr>td.active,.table>tfoot>tr>th.active,.table>tfoot>tr.active>td,.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>thead>tr>th.success,.table>thead>tr.success>td,.table>thead>tr.success>th,.table>tbody>tr>td.success,.table>tbody>tr>th.success,.table>tbody>tr.success>td,.table>tbody>tr.success>th,.table>tfoot>tr>td.success,.table>tfoot>tr>th.success,.table>tfoot>tr.success>td,.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>thead>tr>th.info,.table>thead>tr.info>td,.table>thead>tr.info>th,.table>tbody>tr>td.info,.table>tbody>tr>th.info,.table>tbody>tr.info>td,.table>tbody>tr.info>th,.table>tfoot>tr>td.info,.table>tfoot>tr>th.info,.table>tfoot>tr.info>td,.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>thead>tr>th.warning,.table>thead>tr.warning>td,.table>thead>tr.warning>th,.table>tbody>tr>td.warning,.table>tbody>tr>th.warning,.table>tbody>tr.warning>td,.table>tbody>tr.warning>th,.table>tfoot>tr>td.warning,.table>tfoot>tr>th.warning,.table>tfoot>tr.warning>td,.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>thead>tr>th.danger,.table>thead>tr.danger>td,.table>thead>tr.danger>th,.table>tbody>tr>td.danger,.table>tbody>tr>th.danger,.table>tbody>tr.danger>td,.table>tbody>tr.danger>th,.table>tfoot>tr>td.danger,.table>tfoot>tr>th.danger,.table>tfoot>tr.danger>td,.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{overflow-x:auto;min-height:0.01%}@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>thead>tr>td,.table-responsive>.table>tbody>tr>th,.table-responsive>.table>tbody>tr>td,.table-responsive>.table>tfoot>tr>th,.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>thead>tr>td:first-child,.table-responsive>.table-bordered>tbody>tr>th:first-child,.table-responsive>.table-bordered>tbody>tr>td:first-child,.table-responsive>.table-bordered>tfoot>tr>th: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>thead>tr>td:last-child,.table-responsive>.table-bordered>tbody>tr>th:last-child,.table-responsive>.table-bordered>tbody>tr>td:last-child,.table-responsive>.table-bordered>tfoot>tr>th: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>tbody>tr:last-child>td,.table-responsive>.table-bordered>tfoot>tr:last-child>th,.table-responsive>.table-bordered>tfoot>tr:last-child>td{border-bottom:0}}fieldset{padding:0;margin:0;border:0;min-width: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"]{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:5px auto -webkit-focus-ring-color;outline-offset:-2px}output{display:block;padding-top:7px;font-size:14px;line-height:1.428571429;color:#555}.form-control{display:block;width:100%;height:34px;padding:6px 12px;font-size:14px;line-height:1.428571429;color:#555;background-color:#fff;background-image:none;border:1px solid #ccc;border-radius:4px;box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);-webkit-transition:border-color ease-in-out 0.15s,box-shadow ease-in-out 0.15s;transition:border-color ease-in-out 0.15s,box-shadow ease-in-out 0.15s}.form-control:focus{border-color:#66afe9;outline:0;box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 8px rgba(102,175,233,0.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::-ms-expand{border:0;background-color:transparent}.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"].form-control,input[type="time"].form-control,input[type="datetime-local"].form-control,input[type="month"].form-control{line-height:34px}input[type="date"].input-sm,.input-group-sm>input[type="date"].form-control,.input-group-sm>input[type="date"].input-group-addon,.input-group-sm>.input-group-btn>input[type="date"].btn,.input-group-sm input[type="date"],input[type="time"].input-sm,.input-group-sm>input[type="time"].form-control,.input-group-sm>input[type="time"].input-group-addon,.input-group-sm>.input-group-btn>input[type="time"].btn,.input-group-sm input[type="time"],input[type="datetime-local"].input-sm,.input-group-sm>input[type="datetime-local"].form-control,.input-group-sm>input[type="datetime-local"].input-group-addon,.input-group-sm>.input-group-btn>input[type="datetime-local"].btn,.input-group-sm input[type="datetime-local"],input[type="month"].input-sm,.input-group-sm>input[type="month"].form-control,.input-group-sm>input[type="month"].input-group-addon,.input-group-sm>.input-group-btn>input[type="month"].btn,.input-group-sm input[type="month"]{line-height:30px}input[type="date"].input-lg,.input-group-lg>input[type="date"].form-control,.input-group-lg>input[type="date"].input-group-addon,.input-group-lg>.input-group-btn>input[type="date"].btn,.input-group-lg input[type="date"],input[type="time"].input-lg,.input-group-lg>input[type="time"].form-control,.input-group-lg>input[type="time"].input-group-addon,.input-group-lg>.input-group-btn>input[type="time"].btn,.input-group-lg input[type="time"],input[type="datetime-local"].input-lg,.input-group-lg>input[type="datetime-local"].form-control,.input-group-lg>input[type="datetime-local"].input-group-addon,.input-group-lg>.input-group-btn>input[type="datetime-local"].btn,.input-group-lg input[type="datetime-local"],input[type="month"].input-lg,.input-group-lg>input[type="month"].form-control,.input-group-lg>input[type="month"].input-group-addon,.input-group-lg>.input-group-btn>input[type="month"].btn,.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-left:-20px;margin-top:4px \9}.radio+.radio,.checkbox+.checkbox{margin-top:-5px}.radio-inline,.checkbox-inline{position:relative;display:inline-block;padding-left:20px;margin-bottom:0;vertical-align:middle;font-weight:normal;cursor:pointer}.radio-inline+.radio-inline,.checkbox-inline+.checkbox-inline{margin-top:0;margin-left:10px}input[type="radio"][disabled],input[type="radio"].disabled,fieldset[disabled] input[type="radio"],input[type="checkbox"][disabled],input[type="checkbox"].disabled,fieldset[disabled] input[type="checkbox"]{cursor:not-allowed}.radio-inline.disabled,fieldset[disabled] .radio-inline,.checkbox-inline.disabled,fieldset[disabled] .checkbox-inline{cursor:not-allowed}.radio.disabled label,fieldset[disabled] .radio label,.checkbox.disabled label,fieldset[disabled] .checkbox label{cursor:not-allowed}.form-control-static{padding-top:7px;padding-bottom:7px;margin-bottom:0;min-height:34px}.form-control-static.input-lg,.input-group-lg>.form-control-static.form-control,.input-group-lg>.form-control-static.input-group-addon,.input-group-lg>.input-group-btn>.form-control-static.btn,.form-control-static.input-sm,.input-group-sm>.form-control-static.form-control,.input-group-sm>.form-control-static.input-group-addon,.input-group-sm>.input-group-btn>.form-control-static.btn{padding-left:0;padding-right:0}.input-sm,.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-sm,.input-group-sm>select.form-control,.input-group-sm>select.input-group-addon,.input-group-sm>.input-group-btn>select.btn{height:30px;line-height:30px}textarea.input-sm,.input-group-sm>textarea.form-control,.input-group-sm>textarea.input-group-addon,.input-group-sm>.input-group-btn>textarea.btn,select[multiple].input-sm,.input-group-sm>select[multiple].form-control,.input-group-sm>select[multiple].input-group-addon,.input-group-sm>.input-group-btn>select[multiple].btn{height:auto}.form-group-sm .form-control{height:30px;padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}.form-group-sm select.form-control{height:30px;line-height:30px}.form-group-sm textarea.form-control,.form-group-sm select[multiple].form-control{height:auto}.form-group-sm .form-control-static{height:30px;min-height:32px;padding:6px 10px;font-size:12px;line-height:1.5}.input-lg,.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-lg,.input-group-lg>select.form-control,.input-group-lg>select.input-group-addon,.input-group-lg>.input-group-btn>select.btn{height:46px;line-height:46px}textarea.input-lg,.input-group-lg>textarea.form-control,.input-group-lg>textarea.input-group-addon,.input-group-lg>.input-group-btn>textarea.btn,select[multiple].input-lg,.input-group-lg>select[multiple].form-control,.input-group-lg>select[multiple].input-group-addon,.input-group-lg>.input-group-btn>select[multiple].btn{height:auto}.form-group-lg .form-control{height:46px;padding:10px 16px;font-size:18px;line-height:1.3333333;border-radius:6px}.form-group-lg select.form-control{height:46px;line-height:46px}.form-group-lg textarea.form-control,.form-group-lg select[multiple].form-control{height:auto}.form-group-lg .form-control-static{height:46px;min-height:38px;padding:11px 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,.input-group-lg>.form-control+.form-control-feedback,.input-group-lg>.input-group-addon+.form-control-feedback,.input-group-lg>.input-group-btn>.btn+.form-control-feedback,.input-group-lg+.form-control-feedback,.form-group-lg .form-control+.form-control-feedback{width:46px;height:46px;line-height:46px}.input-sm+.form-control-feedback,.input-group-sm>.form-control+.form-control-feedback,.input-group-sm>.input-group-addon+.form-control-feedback,.input-group-sm>.input-group-btn>.btn+.form-control-feedback,.input-group-sm+.form-control-feedback,.form-group-sm .form-control+.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;box-shadow:inset 0 1px 1px rgba(0,0,0,0.075)}.has-success .form-control:focus{border-color:#2b542c;box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #67b168}.has-success .input-group-addon{color:#3c763d;border-color:#3c763d;background-color:#dff0d8}.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;box-shadow:inset 0 1px 1px rgba(0,0,0,0.075)}.has-warning .form-control:focus{border-color:#66512c;box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #c0a16b}.has-warning .input-group-addon{color:#8a6d3b;border-color:#8a6d3b;background-color:#fcf8e3}.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;box-shadow:inset 0 1px 1px rgba(0,0,0,0.075)}.has-error .form-control:focus{border-color:#843534;box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #ce8483}.has-error .input-group-addon{color:#a94442;border-color:#a94442;background-color:#f2dede}.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{margin-top:0;margin-bottom:0;padding-top:7px}.form-horizontal .radio,.form-horizontal .checkbox{min-height:27px}.form-horizontal .form-group{margin-left:-15px;margin-right:-15px}.form-horizontal .form-group:before,.form-horizontal .form-group:after{content:" ";display:table}.form-horizontal .form-group:after{clear:both}@media (min-width: 768px){.form-horizontal .control-label{text-align:right;margin-bottom:0;padding-top:7px}}.form-horizontal .has-feedback .form-control-feedback{right:15px}@media (min-width: 768px){.form-horizontal .form-group-lg .control-label{padding-top:11px;font-size:18px}}@media (min-width: 768px){.form-horizontal .form-group-sm .control-label{padding-top:6px;font-size:12px}}.btn{display:inline-block;margin-bottom:0;font-weight:normal;text-align:center;vertical-align:middle;-ms-touch-action:manipulation;touch-action:manipulation;cursor:pointer;background-image:none;border:1px solid transparent;white-space:nowrap;padding:6px 12px;font-size:14px;line-height:1.428571429;border-radius:4px;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.btn:focus,.btn.focus,.btn:active:focus,.btn:active.focus,.btn.active:focus,.btn.active.focus{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{outline:0;background-image:none;box-shadow:inset 0 3px 5px rgba(0,0,0,0.125)}.btn.disabled,.btn[disabled],fieldset[disabled] .btn{cursor:not-allowed;opacity:.65;filter:alpha(opacity=65);box-shadow:none}a.btn.disabled,fieldset[disabled] a.btn{pointer-events:none}.btn-default{color:#333;background-color:#fff;border-color:#ccc}.btn-default:focus,.btn-default.focus{color:#333;background-color:#e6e5e5;border-color:#8c8c8c}.btn-default:hover{color:#333;background-color:#e6e5e5;border-color:#adadad}.btn-default:active,.btn-default.active,.open>.btn-default.dropdown-toggle{color:#333;background-color:#e6e5e5;border-color:#adadad}.btn-default:active:hover,.btn-default:active:focus,.btn-default:active.focus,.btn-default.active:hover,.btn-default.active:focus,.btn-default.active.focus,.open>.btn-default.dropdown-toggle:hover,.open>.btn-default.dropdown-toggle:focus,.open>.btn-default.dropdown-toggle.focus{color:#333;background-color:#d4d4d4;border-color:#8c8c8c}.btn-default:active,.btn-default.active,.open>.btn-default.dropdown-toggle{background-image:none}.btn-default.disabled:hover,.btn-default.disabled:focus,.btn-default.disabled.focus,.btn-default[disabled]:hover,.btn-default[disabled]:focus,.btn-default[disabled].focus,fieldset[disabled] .btn-default:hover,fieldset[disabled] .btn-default:focus,fieldset[disabled] .btn-default.focus{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:focus,.btn-primary.focus{color:#fff;background-color:#286090;border-color:#122b40}.btn-primary:hover{color:#fff;background-color:#286090;border-color:#204d74}.btn-primary:active,.btn-primary.active,.open>.btn-primary.dropdown-toggle{color:#fff;background-color:#286090;border-color:#204d74}.btn-primary:active:hover,.btn-primary:active:focus,.btn-primary:active.focus,.btn-primary.active:hover,.btn-primary.active:focus,.btn-primary.active.focus,.open>.btn-primary.dropdown-toggle:hover,.open>.btn-primary.dropdown-toggle:focus,.open>.btn-primary.dropdown-toggle.focus{color:#fff;background-color:#204d74;border-color:#122b40}.btn-primary:active,.btn-primary.active,.open>.btn-primary.dropdown-toggle{background-image:none}.btn-primary.disabled:hover,.btn-primary.disabled:focus,.btn-primary.disabled.focus,.btn-primary[disabled]:hover,.btn-primary[disabled]:focus,.btn-primary[disabled].focus,fieldset[disabled] .btn-primary:hover,fieldset[disabled] .btn-primary:focus,fieldset[disabled] .btn-primary.focus{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:focus,.btn-success.focus{color:#fff;background-color:#449d44;border-color:#255625}.btn-success:hover{color:#fff;background-color:#449d44;border-color:#398439}.btn-success:active,.btn-success.active,.open>.btn-success.dropdown-toggle{color:#fff;background-color:#449d44;border-color:#398439}.btn-success:active:hover,.btn-success:active:focus,.btn-success:active.focus,.btn-success.active:hover,.btn-success.active:focus,.btn-success.active.focus,.open>.btn-success.dropdown-toggle:hover,.open>.btn-success.dropdown-toggle:focus,.open>.btn-success.dropdown-toggle.focus{color:#fff;background-color:#398439;border-color:#255625}.btn-success:active,.btn-success.active,.open>.btn-success.dropdown-toggle{background-image:none}.btn-success.disabled:hover,.btn-success.disabled:focus,.btn-success.disabled.focus,.btn-success[disabled]:hover,.btn-success[disabled]:focus,.btn-success[disabled].focus,fieldset[disabled] .btn-success:hover,fieldset[disabled] .btn-success:focus,fieldset[disabled] .btn-success.focus{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:focus,.btn-info.focus{color:#fff;background-color:#31b0d5;border-color:#1b6d85}.btn-info:hover{color:#fff;background-color:#31b0d5;border-color:#269abc}.btn-info:active,.btn-info.active,.open>.btn-info.dropdown-toggle{color:#fff;background-color:#31b0d5;border-color:#269abc}.btn-info:active:hover,.btn-info:active:focus,.btn-info:active.focus,.btn-info.active:hover,.btn-info.active:focus,.btn-info.active.focus,.open>.btn-info.dropdown-toggle:hover,.open>.btn-info.dropdown-toggle:focus,.open>.btn-info.dropdown-toggle.focus{color:#fff;background-color:#269abc;border-color:#1b6d85}.btn-info:active,.btn-info.active,.open>.btn-info.dropdown-toggle{background-image:none}.btn-info.disabled:hover,.btn-info.disabled:focus,.btn-info.disabled.focus,.btn-info[disabled]:hover,.btn-info[disabled]:focus,.btn-info[disabled].focus,fieldset[disabled] .btn-info:hover,fieldset[disabled] .btn-info:focus,fieldset[disabled] .btn-info.focus{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:focus,.btn-warning.focus{color:#fff;background-color:#ec971f;border-color:#985f0d}.btn-warning:hover{color:#fff;background-color:#ec971f;border-color:#d58512}.btn-warning:active,.btn-warning.active,.open>.btn-warning.dropdown-toggle{color:#fff;background-color:#ec971f;border-color:#d58512}.btn-warning:active:hover,.btn-warning:active:focus,.btn-warning:active.focus,.btn-warning.active:hover,.btn-warning.active:focus,.btn-warning.active.focus,.open>.btn-warning.dropdown-toggle:hover,.open>.btn-warning.dropdown-toggle:focus,.open>.btn-warning.dropdown-toggle.focus{color:#fff;background-color:#d58512;border-color:#985f0d}.btn-warning:active,.btn-warning.active,.open>.btn-warning.dropdown-toggle{background-image:none}.btn-warning.disabled:hover,.btn-warning.disabled:focus,.btn-warning.disabled.focus,.btn-warning[disabled]:hover,.btn-warning[disabled]:focus,.btn-warning[disabled].focus,fieldset[disabled] .btn-warning:hover,fieldset[disabled] .btn-warning:focus,fieldset[disabled] .btn-warning.focus{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:focus,.btn-danger.focus{color:#fff;background-color:#c9302c;border-color:#761c19}.btn-danger:hover{color:#fff;background-color:#c9302c;border-color:#ac2925}.btn-danger:active,.btn-danger.active,.open>.btn-danger.dropdown-toggle{color:#fff;background-color:#c9302c;border-color:#ac2925}.btn-danger:active:hover,.btn-danger:active:focus,.btn-danger:active.focus,.btn-danger.active:hover,.btn-danger.active:focus,.btn-danger.active.focus,.open>.btn-danger.dropdown-toggle:hover,.open>.btn-danger.dropdown-toggle:focus,.open>.btn-danger.dropdown-toggle.focus{color:#fff;background-color:#ac2925;border-color:#761c19}.btn-danger:active,.btn-danger.active,.open>.btn-danger.dropdown-toggle{background-image:none}.btn-danger.disabled:hover,.btn-danger.disabled:focus,.btn-danger.disabled.focus,.btn-danger[disabled]:hover,.btn-danger[disabled]:focus,.btn-danger[disabled].focus,fieldset[disabled] .btn-danger:hover,fieldset[disabled] .btn-danger:focus,fieldset[disabled] .btn-danger.focus{background-color:#d9534f;border-color:#d43f3a}.btn-danger .badge{color:#d9534f;background-color:#fff}.btn-link{color:#337ab7;font-weight:normal;border-radius:0}.btn-link,.btn-link:active,.btn-link.active,.btn-link[disabled],fieldset[disabled] .btn-link{background-color:transparent;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,.btn-link[disabled]:focus,fieldset[disabled] .btn-link:hover,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 0.15s linear;transition:opacity 0.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-property:height,visibility;transition-property:height,visibility;-webkit-transition-duration:0.35s;transition-duration:0.35s;-webkit-transition-timing-function:ease;transition-timing-function:ease}.caret{display:inline-block;width:0;height:0;margin-left:2px;vertical-align:middle;border-top:4px dashed;border-top:4px solid \9;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;list-style:none;font-size:14px;text-align:left;background-color:#fff;border:1px solid #ccc;border:1px solid rgba(0,0,0,0.15);border-radius:4px;box-shadow:0 6px 12px rgba(0,0,0,0.175);background-clip:padding-box}.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.428571429;color:#333;white-space:nowrap}.dropdown-menu>li>a:hover,.dropdown-menu>li>a:focus{text-decoration:none;color:#262626;background-color:#f5f5f5}.dropdown-menu>.active>a,.dropdown-menu>.active>a:hover,.dropdown-menu>.active>a:focus{color:#fff;text-decoration:none;outline:0;background-color:#337ab7}.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;background-color:transparent;background-image:none;filter:progid:DXImageTransform.Microsoft.gradient(enabled = false);cursor:not-allowed}.open>.dropdown-menu{display:block}.open>a{outline:0}.dropdown-menu-right{left:auto;right:0}.dropdown-menu-left{left:0;right:auto}.dropdown-header{display:block;padding:3px 20px;font-size:12px;line-height:1.428571429;color:#777;white-space:nowrap}.dropdown-backdrop{position:fixed;left:0;right:0;bottom:0;top:0;z-index:990}.pull-right>.dropdown-menu{right:0;left:auto}.dropup .caret,.navbar-fixed-bottom .dropdown .caret{border-top:0;border-bottom:4px dashed;border-bottom:4px solid \9;content:""}.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{left:0;right:auto}}.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>.btn:focus,.btn-group>.btn:active,.btn-group>.btn.active,.btn-group-vertical>.btn:hover,.btn-group-vertical>.btn:focus,.btn-group-vertical>.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:before,.btn-toolbar:after{content:" ";display:table}.btn-toolbar:after{clear:both}.btn-toolbar .btn,.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-bottom-right-radius:0;border-top-right-radius:0}.btn-group>.btn:last-child:not(:first-child),.btn-group>.dropdown-toggle:not(:first-child){border-bottom-left-radius:0;border-top-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-bottom-right-radius:0;border-top-right-radius:0}.btn-group>.btn-group:last-child:not(:first-child)>.btn:first-child{border-bottom-left-radius:0;border-top-left-radius:0}.btn-group .dropdown-toggle:active,.btn-group.open .dropdown-toggle{outline:0}.btn-group>.btn+.dropdown-toggle{padding-left:8px;padding-right:8px}.btn-group>.btn-lg+.dropdown-toggle,.btn-group-lg.btn-group>.btn+.dropdown-toggle{padding-left:12px;padding-right:12px}.btn-group.open .dropdown-toggle{box-shadow:inset 0 3px 5px rgba(0,0,0,0.125)}.btn-group.open .dropdown-toggle.btn-link{box-shadow:none}.btn .caret{margin-left:0}.btn-lg .caret,.btn-group-lg>.btn .caret{border-width:5px 5px 0;border-bottom-width:0}.dropup .btn-lg .caret,.dropup .btn-group-lg>.btn .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:before,.btn-group-vertical>.btn-group:after{content:" ";display:table}.btn-group-vertical>.btn-group:after{clear:both}.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-top-left-radius:4px;border-bottom-right-radius:0;border-bottom-left-radius:0}.btn-group-vertical>.btn:last-child:not(:first-child){border-top-right-radius:0;border-top-left-radius:0;border-bottom-right-radius:4px;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-right-radius:0;border-top-left-radius:0}.btn-group-justified{display:table;width:100%;table-layout:fixed;border-collapse:separate}.btn-group-justified>.btn,.btn-group-justified>.btn-group{float:none;display:table-cell;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 input[type="checkbox"],[data-toggle="buttons"]>.btn-group>.btn input[type="radio"],[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-left:0;padding-right:0}.input-group .form-control{position:relative;z-index:2;float:left;width:100%;margin-bottom:0}.input-group .form-control:focus{z-index:3}.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,.input-group-sm>.input-group-addon,.input-group-sm>.input-group-btn>.input-group-addon.btn{padding:5px 10px;font-size:12px;border-radius:3px}.input-group-addon.input-lg,.input-group-lg>.input-group-addon,.input-group-lg>.input-group-btn>.input-group-addon.btn{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-bottom-right-radius:0;border-top-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-bottom-left-radius:0;border-top-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{z-index:2;margin-left:-1px}.nav{margin-bottom:0;padding-left:0;list-style:none}.nav:before,.nav:after{content:" ";display:table}.nav:after{clear:both}.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;background-color:transparent;cursor:not-allowed}.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.428571429;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;background-color:#fff;border:1px solid #ddd;border-bottom-color:transparent;cursor:default}.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,.nav-tabs.nav-justified{width:100%}.nav-justified>li,.nav-tabs.nav-justified>li{float:none}.nav-justified>li>a,.nav-tabs.nav-justified>li>a{text-align:center;margin-bottom:5px}.nav-justified>.dropdown .dropdown-menu{top:auto;left:auto}@media (min-width: 768px){.nav-justified>li,.nav-tabs.nav-justified>li{display:table-cell;width:1%}.nav-justified>li>a,.nav-tabs.nav-justified>li>a{margin-bottom:0}}.nav-tabs-justified,.nav-tabs.nav-justified{border-bottom:0}.nav-tabs-justified>li>a,.nav-tabs.nav-justified>li>a{margin-right:0;border-radius:4px}.nav-tabs-justified>.active>a,.nav-tabs.nav-justified>.active>a,.nav-tabs-justified>.active>a:hover,.nav-tabs.nav-justified>.active>a:hover,.nav-tabs-justified>.active>a:focus,.nav-tabs.nav-justified>.active>a:focus{border:1px solid #ddd}@media (min-width: 768px){.nav-tabs-justified>li>a,.nav-tabs.nav-justified>li>a{border-bottom:1px solid #ddd;border-radius:4px 4px 0 0}.nav-tabs-justified>.active>a,.nav-tabs.nav-justified>.active>a,.nav-tabs-justified>.active>a:hover,.nav-tabs.nav-justified>.active>a:hover,.nav-tabs-justified>.active>a:focus,.nav-tabs.nav-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-right-radius:0;border-top-left-radius:0}.navbar{position:relative;min-height:50px;margin-bottom:20px;border:1px solid transparent}.navbar:before,.navbar:after{content:" ";display:table}.navbar:after{clear:both}@media (min-width: 768px){.navbar{border-radius:4px}}.navbar-header:before,.navbar-header:after{content:" ";display:table}.navbar-header:after{clear:both}@media (min-width: 768px){.navbar-header{float:left}}.navbar-collapse{overflow-x:visible;padding-right:15px;padding-left:15px;border-top:1px solid transparent;box-shadow:inset 0 1px 0 rgba(255,255,255,0.1);-webkit-overflow-scrolling:touch}.navbar-collapse:before,.navbar-collapse:after{content:" ";display:table}.navbar-collapse:after{clear:both}.navbar-collapse.in{overflow-y:auto}@media (min-width: 768px){.navbar-collapse{width:auto;border-top:0;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-left:0;padding-right: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>.navbar-collapse,.container-fluid>.navbar-header,.container-fluid>.navbar-collapse{margin-right:-15px;margin-left:-15px}@media (min-width: 768px){.container>.navbar-header,.container>.navbar-collapse,.container-fluid>.navbar-header,.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;padding:15px 15px;font-size:18px;line-height:20px;height:50px}.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;margin-right:15px;padding:9px 10px;margin-top:8px;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;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{margin-left:-15px;margin-right:-15px;padding:10px 15px;border-top:1px solid transparent;border-bottom:1px solid transparent;box-shadow:inset 0 1px 0 rgba(255,255,255,0.1),0 1px 0 rgba(255,255,255,0.1);margin-top:8px;margin-bottom:8px}@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;border:0;margin-left:0;margin-right:0;padding-top:0;padding-bottom:0;box-shadow:none}}.navbar-nav>li>.dropdown-menu{margin-top:0;border-top-right-radius:0;border-top-left-radius:0}.navbar-fixed-bottom .navbar-nav>li>.dropdown-menu{margin-bottom:0;border-top-right-radius:4px;border-top-left-radius:4px;border-bottom-right-radius:0;border-bottom-left-radius:0}.navbar-btn{margin-top:8px;margin-bottom:8px}.navbar-btn.btn-sm,.btn-group-sm>.navbar-btn.btn{margin-top:10px;margin-bottom:10px}.navbar-btn.btn-xs,.btn-group-xs>.navbar-btn.btn{margin-top:14px;margin-bottom:14px}.navbar-text{margin-top:15px;margin-bottom:15px}@media (min-width: 768px){.navbar-text{float:left;margin-left:15px;margin-right: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:#5e5d5d;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{background-color:#e7e7e7;color:#555}@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,.navbar-default .btn-link[disabled]:focus,fieldset[disabled] .navbar-default .btn-link:hover,fieldset[disabled] .navbar-default .btn-link:focus{color:#ccc}.navbar-inverse{background-color:#222;border-color:#090808}.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:#090808}.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{background-color:#090808;color:#fff}@media (max-width: 767px){.navbar-inverse .navbar-nav .open .dropdown-menu>.dropdown-header{border-color:#090808}.navbar-inverse .navbar-nav .open .dropdown-menu .divider{background-color:#090808}.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:#090808}.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,.navbar-inverse .btn-link[disabled]:focus,fieldset[disabled] .navbar-inverse .btn-link:hover,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{content:"/ ";padding:0 5px;color:#ccc}.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;line-height:1.428571429;text-decoration:none;color:#337ab7;background-color:#fff;border:1px solid #ddd;margin-left:-1px}.pagination>li:first-child>a,.pagination>li:first-child>span{margin-left:0;border-bottom-left-radius:4px;border-top-left-radius:4px}.pagination>li:last-child>a,.pagination>li:last-child>span{border-bottom-right-radius:4px;border-top-right-radius:4px}.pagination>li>a:hover,.pagination>li>a:focus,.pagination>li>span:hover,.pagination>li>span:focus{z-index:2;color:#23527c;background-color:#eee;border-color:#ddd}.pagination>.active>a,.pagination>.active>a:hover,.pagination>.active>a:focus,.pagination>.active>span,.pagination>.active>span:hover,.pagination>.active>span:focus{z-index:3;color:#fff;background-color:#337ab7;border-color:#337ab7;cursor:default}.pagination>.disabled>span,.pagination>.disabled>span:hover,.pagination>.disabled>span:focus,.pagination>.disabled>a,.pagination>.disabled>a:hover,.pagination>.disabled>a:focus{color:#777;background-color:#fff;border-color:#ddd;cursor:not-allowed}.pagination-lg>li>a,.pagination-lg>li>span{padding:10px 16px;font-size:18px;line-height:1.3333333}.pagination-lg>li:first-child>a,.pagination-lg>li:first-child>span{border-bottom-left-radius:6px;border-top-left-radius:6px}.pagination-lg>li:last-child>a,.pagination-lg>li:last-child>span{border-bottom-right-radius:6px;border-top-right-radius:6px}.pagination-sm>li>a,.pagination-sm>li>span{padding:5px 10px;font-size:12px;line-height:1.5}.pagination-sm>li:first-child>a,.pagination-sm>li:first-child>span{border-bottom-left-radius:3px;border-top-left-radius:3px}.pagination-sm>li:last-child>a,.pagination-sm>li:last-child>span{border-bottom-right-radius:3px;border-top-right-radius:3px}.pager{padding-left:0;margin:20px 0;list-style:none;text-align:center}.pager:before,.pager:after{content:" ";display:table}.pager:after{clear:both}.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;background-color:#fff;cursor:not-allowed}.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}.label:empty{display:none}.btn .label{position:relative;top:-1px}a.label:hover,a.label:focus{color:#fff;text-decoration:none;cursor:pointer}.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;color:#fff;line-height:1;vertical-align:middle;white-space:nowrap;text-align:center;background-color:#777;border-radius:10px}.badge:empty{display:none}.btn .badge{position:relative;top:-1px}.btn-xs .badge,.btn-group-xs>.btn .badge,.btn-group-xs>.btn .badge{top:0;padding:1px 5px}.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}a.badge:hover,a.badge:focus{color:#fff;text-decoration:none;cursor:pointer}.jumbotron{padding-top:30px;padding-bottom:30px;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;padding-left:15px;padding-right:15px}.jumbotron .container{max-width:100%}@media screen and (min-width: 768px){.jumbotron{padding-top:48px;padding-bottom:48px}.container .jumbotron,.container-fluid .jumbotron{padding-left:60px;padding-right:60px}.jumbotron h1,.jumbotron .h1{font-size:63px}}.thumbnail{display:block;padding:4px;margin-bottom:20px;line-height:1.428571429;background-color:#fff;border:1px solid #ddd;border-radius:4px;-webkit-transition:border 0.2s ease-in-out;transition:border 0.2s ease-in-out}.thumbnail>img,.thumbnail a>img{display:block;max-width:100%;height:auto;margin-left:auto;margin-right:auto}.thumbnail .caption{padding:9px;color:#333}a.thumbnail:hover,a.thumbnail:focus,a.thumbnail.active{border-color:#337ab7}.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{background-color:#dff0d8;border-color:#d6e9c6;color:#3c763d}.alert-success hr{border-top-color:#c9e2b3}.alert-success .alert-link{color:#2b542c}.alert-info{background-color:#d9edf7;border-color:#bce8f1;color:#31708f}.alert-info hr{border-top-color:#a6e1ec}.alert-info .alert-link{color:#245269}.alert-warning{background-color:#fcf8e3;border-color:#faebcc;color:#8a6d3b}.alert-warning hr{border-top-color:#f7e1b5}.alert-warning .alert-link{color:#66512c}.alert-danger{background-color:#f2dede;border-color:#ebccd1;color:#a94442}.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}}@keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}.progress{overflow:hidden;height:20px;margin-bottom:20px;background-color:#f5f5f5;border-radius:4px;box-shadow:inset 0 1px 2px rgba(0,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;box-shadow:inset 0 -1px 0 rgba(0,0,0,0.15);-webkit-transition:width 0.6s ease;transition:width 0.6s ease}.progress-striped .progress-bar,.progress-bar-striped{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);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);background-size:40px 40px}.progress.active .progress-bar,.progress-bar.active{-webkit-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,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent);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)}.progress-bar-info{background-color:#5bc0de}.progress-striped .progress-bar-info{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);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)}.progress-bar-warning{background-color:#f0ad4e}.progress-striped .progress-bar-warning{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);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)}.progress-bar-danger{background-color:#d9534f}.progress-striped .progress-bar-danger{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);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)}.media{margin-top:15px}.media:first-child{margin-top:0}.media,.media-body{zoom:1;overflow:hidden}.media-body{width:10000px}.media-object{display:block}.media-object.img-thumbnail{max-width:none}.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{margin-bottom:20px;padding-left:0}.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-right-radius:4px;border-top-left-radius:4px}.list-group-item:last-child{margin-bottom:0;border-bottom-right-radius:4px;border-bottom-left-radius:4px}a.list-group-item,button.list-group-item{color:#555}a.list-group-item .list-group-item-heading,button.list-group-item .list-group-item-heading{color:#333}a.list-group-item:hover,a.list-group-item:focus,button.list-group-item:hover,button.list-group-item:focus{text-decoration:none;color:#555;background-color:#f5f5f5}button.list-group-item{width:100%;text-align:left}.list-group-item.disabled,.list-group-item.disabled:hover,.list-group-item.disabled:focus{background-color:#eee;color:#777;cursor:not-allowed}.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 .list-group-item-heading>small,.list-group-item.active .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,.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{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,button.list-group-item-success{color:#3c763d}a.list-group-item-success .list-group-item-heading,button.list-group-item-success .list-group-item-heading{color:inherit}a.list-group-item-success:hover,a.list-group-item-success:focus,button.list-group-item-success:hover,button.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,button.list-group-item-success.active,button.list-group-item-success.active:hover,button.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,button.list-group-item-info{color:#31708f}a.list-group-item-info .list-group-item-heading,button.list-group-item-info .list-group-item-heading{color:inherit}a.list-group-item-info:hover,a.list-group-item-info:focus,button.list-group-item-info:hover,button.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,button.list-group-item-info.active,button.list-group-item-info.active:hover,button.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,button.list-group-item-warning{color:#8a6d3b}a.list-group-item-warning .list-group-item-heading,button.list-group-item-warning .list-group-item-heading{color:inherit}a.list-group-item-warning:hover,a.list-group-item-warning:focus,button.list-group-item-warning:hover,button.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,button.list-group-item-warning.active,button.list-group-item-warning.active:hover,button.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,button.list-group-item-danger{color:#a94442}a.list-group-item-danger .list-group-item-heading,button.list-group-item-danger .list-group-item-heading{color:inherit}a.list-group-item-danger:hover,a.list-group-item-danger:focus,button.list-group-item-danger:hover,button.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,button.list-group-item-danger.active,button.list-group-item-danger.active:hover,button.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;box-shadow:0 1px 1px rgba(0,0,0,0.05)}.panel-body{padding:15px}.panel-body:before,.panel-body:after{content:" ";display:table}.panel-body:after{clear:both}.panel-heading{padding:10px 15px;border-bottom:1px solid transparent;border-top-right-radius:3px;border-top-left-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-right-radius:3px;border-top-left-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>.panel-heading+.panel-collapse>.list-group .list-group-item:first-child{border-top-right-radius:0;border-top-left-radius:0}.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-left:15px;padding-right:15px}.panel>.table:first-child,.panel>.table-responsive:first-child>.table:first-child{border-top-right-radius:3px;border-top-left-radius:3px}.panel>.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>thead: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: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-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-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{border-top-left-radius:3px}.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,.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-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-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{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:last-child>tfoot:last-child>tr:last-child,.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{border-bottom-left-radius:3px;border-bottom-right-radius:3px}.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,.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{border-bottom-left-radius:3px}.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,.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{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-bordered>thead>tr>td:first-child,.panel>.table-bordered>tbody>tr>th:first-child,.panel>.table-bordered>tbody>tr>td:first-child,.panel>.table-bordered>tfoot>tr>th:first-child,.panel>.table-bordered>tfoot>tr>td:first-child,.panel>.table-responsive>.table-bordered>thead>tr>th:first-child,.panel>.table-responsive>.table-bordered>thead>tr>td:first-child,.panel>.table-responsive>.table-bordered>tbody>tr>th:first-child,.panel>.table-responsive>.table-bordered>tbody>tr>td:first-child,.panel>.table-responsive>.table-bordered>tfoot>tr>th: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-bordered>thead>tr>td:last-child,.panel>.table-bordered>tbody>tr>th:last-child,.panel>.table-bordered>tbody>tr>td:last-child,.panel>.table-bordered>tfoot>tr>th:last-child,.panel>.table-bordered>tfoot>tr>td:last-child,.panel>.table-responsive>.table-bordered>thead>tr>th:last-child,.panel>.table-responsive>.table-bordered>thead>tr>td:last-child,.panel>.table-responsive>.table-bordered>tbody>tr>th:last-child,.panel>.table-responsive>.table-bordered>tbody>tr>td:last-child,.panel>.table-responsive>.table-bordered>tfoot>tr>th: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-bordered>thead>tr:first-child>th,.panel>.table-bordered>tbody>tr:first-child>td,.panel>.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,.panel>.table-responsive>.table-bordered>tbody>tr:first-child>td,.panel>.table-responsive>.table-bordered>tbody>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{border:0;margin-bottom: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;left:0;bottom:0;height:100%;width: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;box-shadow:inset 0 1px 1px rgba(0,0,0,0.05)}.well blockquote{border-color:#ddd;border-color:rgba(0,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;opacity:.2;filter:alpha(opacity=20)}.close:hover,.close:focus{color:#000;text-decoration:none;cursor:pointer;opacity:.5;filter:alpha(opacity=50)}button.close{padding:0;cursor:pointer;background:transparent;border:0;-webkit-appearance:none}.modal-open{overflow:hidden}.modal{display:none;overflow:hidden;position:fixed;top:0;right:0;bottom:0;left:0;z-index:1050;-webkit-overflow-scrolling:touch;outline:0}.modal.fade .modal-dialog{-webkit-transform:translate(0, -25%);transform:translate(0, -25%);-webkit-transition:-webkit-transform 0.3s ease-out;transition:-webkit-transform 0.3s ease-out;transition:transform 0.3s ease-out;transition:transform 0.3s ease-out, -webkit-transform 0.3s ease-out}.modal.in .modal-dialog{-webkit-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;border:1px solid #999;border:1px solid rgba(0,0,0,0.2);border-radius:6px;box-shadow:0 3px 9px rgba(0,0,0,0.5);background-clip:padding-box;outline:0}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1040;background-color:#000}.modal-backdrop.fade{opacity:0;filter:alpha(opacity=0)}.modal-backdrop.in{opacity:.5;filter:alpha(opacity=50)}.modal-header{padding:15px;border-bottom:1px solid #e5e5e5}.modal-header:before,.modal-header:after{content:" ";display:table}.modal-header:after{clear:both}.modal-header .close{margin-top:-2px}.modal-title{margin:0;line-height:1.428571429}.modal-body{position:relative;padding:15px}.modal-footer{padding:15px;text-align:right;border-top:1px solid #e5e5e5}.modal-footer:before,.modal-footer:after{content:" ";display:table}.modal-footer:after{clear:both}.modal-footer .btn+.btn{margin-left:5px;margin-bottom:0}.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{box-shadow:0 5px 15px rgba(0,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-style:normal;font-weight:normal;letter-spacing:normal;line-break:auto;line-height:1.428571429;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;white-space:normal;word-break:normal;word-spacing:normal;word-wrap:normal;font-size:12px;opacity:0;filter:alpha(opacity=0)}.tooltip.in{opacity:.9;filter:alpha(opacity=90)}.tooltip.top{margin-top:-3px;padding:5px 0}.tooltip.right{margin-left:3px;padding:0 5px}.tooltip.bottom{margin-top:3px;padding:5px 0}.tooltip.left{margin-left:-3px;padding:0 5px}.tooltip-inner{max-width:200px;padding:3px 8px;color:#fff;text-align:center;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{bottom:0;right:5px;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-style:normal;font-weight:normal;letter-spacing:normal;line-break:auto;line-height:1.428571429;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;white-space:normal;word-break:normal;word-spacing:normal;word-wrap:normal;font-size:14px;background-color:#fff;background-clip:padding-box;border:1px solid #ccc;border:1px solid rgba(0,0,0,0.2);border-radius:6px;box-shadow:0 5px 10px rgba(0,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{margin:0;padding:8px 14px;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{border-width:10px;content:""}.popover.top>.arrow{left:50%;margin-left:-11px;border-bottom-width:0;border-top-color:#999;border-top-color:rgba(0,0,0,0.25);bottom:-11px}.popover.top>.arrow:after{content:" ";bottom:1px;margin-left:-10px;border-bottom-width:0;border-top-color:#fff}.popover.right>.arrow{top:50%;left:-11px;margin-top:-11px;border-left-width:0;border-right-color:#999;border-right-color:rgba(0,0,0,0.25)}.popover.right>.arrow:after{content:" ";left:1px;bottom:-10px;border-left-width:0;border-right-color:#fff}.popover.bottom>.arrow{left:50%;margin-left:-11px;border-top-width:0;border-bottom-color:#999;border-bottom-color:rgba(0,0,0,0.25);top:-11px}.popover.bottom>.arrow:after{content:" ";top:1px;margin-left:-10px;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,0.25)}.popover.left>.arrow:after{content:" ";right:1px;border-right-width:0;border-left-color:#fff;bottom:-10px}.carousel{position:relative}.carousel-inner{position:relative;overflow:hidden;width:100%}.carousel-inner>.item{display:none;position:relative;-webkit-transition:0.6s ease-in-out left;transition:0.6s ease-in-out left}.carousel-inner>.item>img,.carousel-inner>.item>a>img{display:block;max-width:100%;height:auto;line-height:1}@media all and (transform-3d), (-webkit-transform-3d){.carousel-inner>.item{-webkit-transition:-webkit-transform 0.6s ease-in-out;transition:-webkit-transform 0.6s ease-in-out;transition:transform 0.6s ease-in-out;transition:transform 0.6s ease-in-out, -webkit-transform 0.6s ease-in-out;-webkit-backface-visibility:hidden;backface-visibility:hidden;-webkit-perspective:1000px;perspective:1000px}.carousel-inner>.item.next,.carousel-inner>.item.active.right{-webkit-transform:translate3d(100%, 0, 0);transform:translate3d(100%, 0, 0);left:0}.carousel-inner>.item.prev,.carousel-inner>.item.active.left{-webkit-transform:translate3d(-100%, 0, 0);transform:translate3d(-100%, 0, 0);left:0}.carousel-inner>.item.next.left,.carousel-inner>.item.prev.right,.carousel-inner>.item.active{-webkit-transform:translate3d(0, 0, 0);transform:translate3d(0, 0, 0);left: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;left:0;bottom:0;width:15%;opacity:.5;filter:alpha(opacity=50);font-size:20px;color:#fff;text-align:center;text-shadow:0 1px 2px rgba(0,0,0,0.6);background-color:transparent}.carousel-control.left{background-image:-webkit-linear-gradient(left, rgba(0,0,0,0.5) 0%, rgba(0,0,0,0.0001) 100%);background-image:linear-gradient(to right, rgba(0,0,0,0.5) 0%, rgba(0,0,0,0.0001) 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#80000000', endColorstr='#00000000', GradientType=1)}.carousel-control.right{left:auto;right:0;background-image:-webkit-linear-gradient(left, rgba(0,0,0,0.0001) 0%, rgba(0,0,0,0.5) 100%);background-image:linear-gradient(to right, rgba(0,0,0,0.0001) 0%, rgba(0,0,0,0.5) 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#00000000', endColorstr='#80000000', GradientType=1)}.carousel-control:hover,.carousel-control:focus{outline:0;color:#fff;text-decoration:none;opacity:.9;filter:alpha(opacity=90)}.carousel-control .icon-prev,.carousel-control .icon-next,.carousel-control .glyphicon-chevron-left,.carousel-control .glyphicon-chevron-right{position:absolute;top:50%;margin-top:-10px;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;line-height:1;font-family:serif}.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%;margin-left:-30%;padding-left:0;list-style:none;text-align:center}.carousel-indicators li{display:inline-block;width:10px;height:10px;margin:1px;text-indent:-999px;border:1px solid #fff;border-radius:10px;cursor:pointer;background-color:#000 \9;background-color:transparent}.carousel-indicators .active{margin:0;width:12px;height:12px;background-color:#fff}.carousel-caption{position:absolute;left:15%;right:15%;bottom:20px;z-index:10;padding-top:20px;padding-bottom:20px;color:#fff;text-align:center;text-shadow:0 1px 2px rgba(0,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:-10px;font-size:30px}.carousel-control .glyphicon-chevron-left,.carousel-control .icon-prev{margin-left:-10px}.carousel-control .glyphicon-chevron-right,.carousel-control .icon-next{margin-right:-10px}.carousel-caption{left:20%;right:20%;padding-bottom:30px}.carousel-indicators{bottom:20px}}.clearfix:before,.clearfix:after{content:" ";display:table}.clearfix:after{clear:both}.center-block{display:block;margin-left:auto;margin-right: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{display:none !important}.visible-sm{display:none !important}.visible-md{display:none !important}.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 !important}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 !important}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 !important}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 !important}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 !important}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}} + *//*! normalize.css v3.0.3 | MIT License | github.com/necolas/normalize.css */html{font-family:sans-serif;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%}body{margin:0}article,aside,details,figcaption,figure,footer,header,hgroup,main,menu,nav,section,summary{display:block}audio,canvas,progress,video{display:inline-block;vertical-align:baseline}audio:not([controls]){display:none;height:0}[hidden],template{display:none}a{background-color:transparent}a:active,a:hover{outline:0}abbr[title]{border-bottom:1px dotted}b,strong{font-weight:bold}dfn{font-style:italic}h1{font-size:2em;margin:0.67em 0}mark{background:#ff0;color:#000}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sup{top:-0.5em}sub{bottom:-0.25em}img{border:0}svg:not(:root){overflow:hidden}figure{margin:1em 40px}hr{box-sizing:content-box;height:0}pre{overflow:auto}code,kbd,pre,samp{font-family:monospace, monospace;font-size:1em}button,input,optgroup,select,textarea{color:inherit;font:inherit;margin:0}button{overflow:visible}button,select{text-transform:none}button,html input[type="button"],input[type="reset"],input[type="submit"]{-webkit-appearance:button;cursor:pointer}button[disabled],html input[disabled]{cursor:default}button::-moz-focus-inner,input::-moz-focus-inner{border:0;padding:0}input{line-height:normal}input[type="checkbox"],input[type="radio"]{box-sizing:border-box;padding:0}input[type="number"]::-webkit-inner-spin-button,input[type="number"]::-webkit-outer-spin-button{height:auto}input[type="search"]{-webkit-appearance:textfield;box-sizing:content-box}input[type="search"]::-webkit-search-cancel-button,input[type="search"]::-webkit-search-decoration{-webkit-appearance:none}fieldset{border:1px solid #c0c0c0;margin:0 2px;padding:0.35em 0.625em 0.75em}legend{border:0;padding:0}textarea{overflow:auto}optgroup{font-weight:bold}table{border-collapse:collapse;border-spacing:0}td,th{padding:0}/*! Source: https://github.com/h5bp/html5-boilerplate/blob/master/src/css/main.css */@media print{*,*:before,*:after{background:transparent !important;color:#000 !important;box-shadow:none !important;text-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}.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/bootstrap/glyphicons-halflings-regular.eot");src:url("../fonts/bootstrap/glyphicons-halflings-regular.eot?#iefix") format("embedded-opentype"),url("../fonts/bootstrap/glyphicons-halflings-regular.woff2") format("woff2"),url("../fonts/bootstrap/glyphicons-halflings-regular.woff") format("woff"),url("../fonts/bootstrap/glyphicons-halflings-regular.ttf") format("truetype"),url("../fonts/bootstrap/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:"\002a"}.glyphicon-plus:before{content:"\002b"}.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"}*{box-sizing:border-box}*:before,*:after{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.428571429;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:5px auto -webkit-focus-ring-color;outline-offset:-2px}figure{margin:0}img{vertical-align:middle}.img-responsive{display:block;max-width:100%;height:auto}.img-rounded{border-radius:6px}.img-thumbnail{padding:4px;line-height:1.428571429;background-color:#fff;border:1px solid #ddd;border-radius:4px;-webkit-transition:all 0.2s ease-in-out;transition:all 0.2s ease-in-out;display:inline-block;max-width:100%;height:auto}.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;margin:-1px;padding:0;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:normal;line-height:1;color:#777}h1,.h1,h2,.h2,h3,.h3{margin-top:20px;margin-bottom:10px}h1 small,h1 .small,.h1 small,.h1 .small,h2 small,h2 .small,.h2 small,.h2 .small,h3 small,h3 .small,.h3 small,.h3 .small{font-size:65%}h4,.h4,h5,.h5,h6,.h6{margin-top:10px;margin-bottom:10px}h4 small,h4 .small,.h4 small,.h4 .small,h5 small,h5 .small,.h5 small,.h5 .small,h6 small,h6 .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{background-color:#fcf8e3;padding:.2em}.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,.initialism{text-transform:uppercase}.text-capitalize{text-transform:capitalize}.text-muted{color:#777}.text-primary{color:#337ab7}a.text-primary:hover,a.text-primary:focus{color:#286090}.text-success{color:#3c763d}a.text-success:hover,a.text-success:focus{color:#2b542c}.text-info{color:#31708f}a.text-info:hover,a.text-info:focus{color:#245269}.text-warning{color:#8a6d3b}a.text-warning:hover,a.text-warning:focus{color:#66512c}.text-danger{color:#a94442}a.text-danger:hover,a.text-danger:focus{color:#843534}.bg-primary{color:#fff}.bg-primary{background-color:#337ab7}a.bg-primary:hover,a.bg-primary:focus{background-color:#286090}.bg-success{background-color:#dff0d8}a.bg-success:hover,a.bg-success:focus{background-color:#c1e2b3}.bg-info{background-color:#d9edf7}a.bg-info:hover,a.bg-info:focus{background-color:#afd9ee}.bg-warning{background-color:#fcf8e3}a.bg-warning:hover,a.bg-warning:focus{background-color:#f7ecb5}.bg-danger{background-color:#f2dede}a.bg-danger:hover,a.bg-danger:focus{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,ul ol,ol ul,ol ol{margin-bottom:0}.list-unstyled{padding-left:0;list-style:none}.list-inline{padding-left:0;list-style:none;margin-left:-5px}.list-inline>li{display:inline-block;padding-left:5px;padding-right:5px}dl{margin-top:0;margin-bottom:20px}dt,dd{line-height:1.428571429}dt{font-weight:bold}dd{margin-left:0}.dl-horizontal dd:before,.dl-horizontal dd:after{content:" ";display:table}.dl-horizontal dd:after{clear:both}@media (min-width: 768px){.dl-horizontal dt{float:left;width:160px;clear:left;text-align:right;overflow:hidden;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%}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.428571429;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;border-right:5px solid #eee;border-left:0;text-align:right}.blockquote-reverse footer:before,.blockquote-reverse small:before,.blockquote-reverse .small:before,blockquote.pull-right footer:before,blockquote.pull-right small:before,blockquote.pull-right .small:before{content:''}.blockquote-reverse footer:after,.blockquote-reverse small:after,.blockquote-reverse .small:after,blockquote.pull-right footer:after,blockquote.pull-right small:after,blockquote.pull-right .small:after{content:'\00A0 \2014'}address{margin-bottom:20px;font-style:normal;line-height:1.428571429}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;box-shadow:inset 0 -1px 0 rgba(0,0,0,0.25)}kbd kbd{padding:0;font-size:100%;font-weight:bold;box-shadow:none}pre{display:block;padding:9.5px;margin:0 0 10px;font-size:13px;line-height:1.428571429;word-break:break-all;word-wrap:break-word;color:#333;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{margin-right:auto;margin-left:auto;padding-left:15px;padding-right:15px}.container:before,.container:after{content:" ";display:table}.container:after{clear:both}@media (min-width: 768px){.container{width:750px}}@media (min-width: 992px){.container{width:970px}}@media (min-width: 1200px){.container{width:1170px}}.container-fluid{margin-right:auto;margin-left:auto;padding-left:15px;padding-right:15px}.container-fluid:before,.container-fluid:after{content:" ";display:table}.container-fluid:after{clear:both}.row{margin-left:-15px;margin-right:-15px}.row:before,.row:after{content:" ";display:table}.row:after{clear:both}.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-left:15px;padding-right: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-1{width:8.3333333333%}.col-xs-2{width:16.6666666667%}.col-xs-3{width:25%}.col-xs-4{width:33.3333333333%}.col-xs-5{width:41.6666666667%}.col-xs-6{width:50%}.col-xs-7{width:58.3333333333%}.col-xs-8{width:66.6666666667%}.col-xs-9{width:75%}.col-xs-10{width:83.3333333333%}.col-xs-11{width:91.6666666667%}.col-xs-12{width:100%}.col-xs-pull-0{right:auto}.col-xs-pull-1{right:8.3333333333%}.col-xs-pull-2{right:16.6666666667%}.col-xs-pull-3{right:25%}.col-xs-pull-4{right:33.3333333333%}.col-xs-pull-5{right:41.6666666667%}.col-xs-pull-6{right:50%}.col-xs-pull-7{right:58.3333333333%}.col-xs-pull-8{right:66.6666666667%}.col-xs-pull-9{right:75%}.col-xs-pull-10{right:83.3333333333%}.col-xs-pull-11{right:91.6666666667%}.col-xs-pull-12{right:100%}.col-xs-push-0{left:auto}.col-xs-push-1{left:8.3333333333%}.col-xs-push-2{left:16.6666666667%}.col-xs-push-3{left:25%}.col-xs-push-4{left:33.3333333333%}.col-xs-push-5{left:41.6666666667%}.col-xs-push-6{left:50%}.col-xs-push-7{left:58.3333333333%}.col-xs-push-8{left:66.6666666667%}.col-xs-push-9{left:75%}.col-xs-push-10{left:83.3333333333%}.col-xs-push-11{left:91.6666666667%}.col-xs-push-12{left:100%}.col-xs-offset-0{margin-left:0%}.col-xs-offset-1{margin-left:8.3333333333%}.col-xs-offset-2{margin-left:16.6666666667%}.col-xs-offset-3{margin-left:25%}.col-xs-offset-4{margin-left:33.3333333333%}.col-xs-offset-5{margin-left:41.6666666667%}.col-xs-offset-6{margin-left:50%}.col-xs-offset-7{margin-left:58.3333333333%}.col-xs-offset-8{margin-left:66.6666666667%}.col-xs-offset-9{margin-left:75%}.col-xs-offset-10{margin-left:83.3333333333%}.col-xs-offset-11{margin-left:91.6666666667%}.col-xs-offset-12{margin-left:100%}@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-1{width:8.3333333333%}.col-sm-2{width:16.6666666667%}.col-sm-3{width:25%}.col-sm-4{width:33.3333333333%}.col-sm-5{width:41.6666666667%}.col-sm-6{width:50%}.col-sm-7{width:58.3333333333%}.col-sm-8{width:66.6666666667%}.col-sm-9{width:75%}.col-sm-10{width:83.3333333333%}.col-sm-11{width:91.6666666667%}.col-sm-12{width:100%}.col-sm-pull-0{right:auto}.col-sm-pull-1{right:8.3333333333%}.col-sm-pull-2{right:16.6666666667%}.col-sm-pull-3{right:25%}.col-sm-pull-4{right:33.3333333333%}.col-sm-pull-5{right:41.6666666667%}.col-sm-pull-6{right:50%}.col-sm-pull-7{right:58.3333333333%}.col-sm-pull-8{right:66.6666666667%}.col-sm-pull-9{right:75%}.col-sm-pull-10{right:83.3333333333%}.col-sm-pull-11{right:91.6666666667%}.col-sm-pull-12{right:100%}.col-sm-push-0{left:auto}.col-sm-push-1{left:8.3333333333%}.col-sm-push-2{left:16.6666666667%}.col-sm-push-3{left:25%}.col-sm-push-4{left:33.3333333333%}.col-sm-push-5{left:41.6666666667%}.col-sm-push-6{left:50%}.col-sm-push-7{left:58.3333333333%}.col-sm-push-8{left:66.6666666667%}.col-sm-push-9{left:75%}.col-sm-push-10{left:83.3333333333%}.col-sm-push-11{left:91.6666666667%}.col-sm-push-12{left:100%}.col-sm-offset-0{margin-left:0%}.col-sm-offset-1{margin-left:8.3333333333%}.col-sm-offset-2{margin-left:16.6666666667%}.col-sm-offset-3{margin-left:25%}.col-sm-offset-4{margin-left:33.3333333333%}.col-sm-offset-5{margin-left:41.6666666667%}.col-sm-offset-6{margin-left:50%}.col-sm-offset-7{margin-left:58.3333333333%}.col-sm-offset-8{margin-left:66.6666666667%}.col-sm-offset-9{margin-left:75%}.col-sm-offset-10{margin-left:83.3333333333%}.col-sm-offset-11{margin-left:91.6666666667%}.col-sm-offset-12{margin-left:100%}}@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-1{width:8.3333333333%}.col-md-2{width:16.6666666667%}.col-md-3{width:25%}.col-md-4{width:33.3333333333%}.col-md-5{width:41.6666666667%}.col-md-6{width:50%}.col-md-7{width:58.3333333333%}.col-md-8{width:66.6666666667%}.col-md-9{width:75%}.col-md-10{width:83.3333333333%}.col-md-11{width:91.6666666667%}.col-md-12{width:100%}.col-md-pull-0{right:auto}.col-md-pull-1{right:8.3333333333%}.col-md-pull-2{right:16.6666666667%}.col-md-pull-3{right:25%}.col-md-pull-4{right:33.3333333333%}.col-md-pull-5{right:41.6666666667%}.col-md-pull-6{right:50%}.col-md-pull-7{right:58.3333333333%}.col-md-pull-8{right:66.6666666667%}.col-md-pull-9{right:75%}.col-md-pull-10{right:83.3333333333%}.col-md-pull-11{right:91.6666666667%}.col-md-pull-12{right:100%}.col-md-push-0{left:auto}.col-md-push-1{left:8.3333333333%}.col-md-push-2{left:16.6666666667%}.col-md-push-3{left:25%}.col-md-push-4{left:33.3333333333%}.col-md-push-5{left:41.6666666667%}.col-md-push-6{left:50%}.col-md-push-7{left:58.3333333333%}.col-md-push-8{left:66.6666666667%}.col-md-push-9{left:75%}.col-md-push-10{left:83.3333333333%}.col-md-push-11{left:91.6666666667%}.col-md-push-12{left:100%}.col-md-offset-0{margin-left:0%}.col-md-offset-1{margin-left:8.3333333333%}.col-md-offset-2{margin-left:16.6666666667%}.col-md-offset-3{margin-left:25%}.col-md-offset-4{margin-left:33.3333333333%}.col-md-offset-5{margin-left:41.6666666667%}.col-md-offset-6{margin-left:50%}.col-md-offset-7{margin-left:58.3333333333%}.col-md-offset-8{margin-left:66.6666666667%}.col-md-offset-9{margin-left:75%}.col-md-offset-10{margin-left:83.3333333333%}.col-md-offset-11{margin-left:91.6666666667%}.col-md-offset-12{margin-left:100%}}@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-1{width:8.3333333333%}.col-lg-2{width:16.6666666667%}.col-lg-3{width:25%}.col-lg-4{width:33.3333333333%}.col-lg-5{width:41.6666666667%}.col-lg-6{width:50%}.col-lg-7{width:58.3333333333%}.col-lg-8{width:66.6666666667%}.col-lg-9{width:75%}.col-lg-10{width:83.3333333333%}.col-lg-11{width:91.6666666667%}.col-lg-12{width:100%}.col-lg-pull-0{right:auto}.col-lg-pull-1{right:8.3333333333%}.col-lg-pull-2{right:16.6666666667%}.col-lg-pull-3{right:25%}.col-lg-pull-4{right:33.3333333333%}.col-lg-pull-5{right:41.6666666667%}.col-lg-pull-6{right:50%}.col-lg-pull-7{right:58.3333333333%}.col-lg-pull-8{right:66.6666666667%}.col-lg-pull-9{right:75%}.col-lg-pull-10{right:83.3333333333%}.col-lg-pull-11{right:91.6666666667%}.col-lg-pull-12{right:100%}.col-lg-push-0{left:auto}.col-lg-push-1{left:8.3333333333%}.col-lg-push-2{left:16.6666666667%}.col-lg-push-3{left:25%}.col-lg-push-4{left:33.3333333333%}.col-lg-push-5{left:41.6666666667%}.col-lg-push-6{left:50%}.col-lg-push-7{left:58.3333333333%}.col-lg-push-8{left:66.6666666667%}.col-lg-push-9{left:75%}.col-lg-push-10{left:83.3333333333%}.col-lg-push-11{left:91.6666666667%}.col-lg-push-12{left:100%}.col-lg-offset-0{margin-left:0%}.col-lg-offset-1{margin-left:8.3333333333%}.col-lg-offset-2{margin-left:16.6666666667%}.col-lg-offset-3{margin-left:25%}.col-lg-offset-4{margin-left:33.3333333333%}.col-lg-offset-5{margin-left:41.6666666667%}.col-lg-offset-6{margin-left:50%}.col-lg-offset-7{margin-left:58.3333333333%}.col-lg-offset-8{margin-left:66.6666666667%}.col-lg-offset-9{margin-left:75%}.col-lg-offset-10{margin-left:83.3333333333%}.col-lg-offset-11{margin-left:91.6666666667%}.col-lg-offset-12{margin-left:100%}}table{background-color:rgba(0,0,0,0)}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>thead>tr>td,.table>tbody>tr>th,.table>tbody>tr>td,.table>tfoot>tr>th,.table>tfoot>tr>td{padding:8px;line-height:1.428571429;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>caption+thead>tr:first-child>td,.table>colgroup+thead>tr:first-child>th,.table>colgroup+thead>tr:first-child>td,.table>thead:first-child>tr:first-child>th,.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>thead>tr>td,.table-condensed>tbody>tr>th,.table-condensed>tbody>tr>td,.table-condensed>tfoot>tr>th,.table-condensed>tfoot>tr>td{padding:5px}.table-bordered{border:1px solid #ddd}.table-bordered>thead>tr>th,.table-bordered>thead>tr>td,.table-bordered>tbody>tr>th,.table-bordered>tbody>tr>td,.table-bordered>tfoot>tr>th,.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;float:none;display:table-column}table td[class*="col-"],table th[class*="col-"]{position:static;float:none;display:table-cell}.table>thead>tr>td.active,.table>thead>tr>th.active,.table>thead>tr.active>td,.table>thead>tr.active>th,.table>tbody>tr>td.active,.table>tbody>tr>th.active,.table>tbody>tr.active>td,.table>tbody>tr.active>th,.table>tfoot>tr>td.active,.table>tfoot>tr>th.active,.table>tfoot>tr.active>td,.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>thead>tr>th.success,.table>thead>tr.success>td,.table>thead>tr.success>th,.table>tbody>tr>td.success,.table>tbody>tr>th.success,.table>tbody>tr.success>td,.table>tbody>tr.success>th,.table>tfoot>tr>td.success,.table>tfoot>tr>th.success,.table>tfoot>tr.success>td,.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>thead>tr>th.info,.table>thead>tr.info>td,.table>thead>tr.info>th,.table>tbody>tr>td.info,.table>tbody>tr>th.info,.table>tbody>tr.info>td,.table>tbody>tr.info>th,.table>tfoot>tr>td.info,.table>tfoot>tr>th.info,.table>tfoot>tr.info>td,.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>thead>tr>th.warning,.table>thead>tr.warning>td,.table>thead>tr.warning>th,.table>tbody>tr>td.warning,.table>tbody>tr>th.warning,.table>tbody>tr.warning>td,.table>tbody>tr.warning>th,.table>tfoot>tr>td.warning,.table>tfoot>tr>th.warning,.table>tfoot>tr.warning>td,.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>thead>tr>th.danger,.table>thead>tr.danger>td,.table>thead>tr.danger>th,.table>tbody>tr>td.danger,.table>tbody>tr>th.danger,.table>tbody>tr.danger>td,.table>tbody>tr.danger>th,.table>tfoot>tr>td.danger,.table>tfoot>tr>th.danger,.table>tfoot>tr.danger>td,.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{overflow-x:auto;min-height:0.01%}@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>thead>tr>td,.table-responsive>.table>tbody>tr>th,.table-responsive>.table>tbody>tr>td,.table-responsive>.table>tfoot>tr>th,.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>thead>tr>td:first-child,.table-responsive>.table-bordered>tbody>tr>th:first-child,.table-responsive>.table-bordered>tbody>tr>td:first-child,.table-responsive>.table-bordered>tfoot>tr>th: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>thead>tr>td:last-child,.table-responsive>.table-bordered>tbody>tr>th:last-child,.table-responsive>.table-bordered>tbody>tr>td:last-child,.table-responsive>.table-bordered>tfoot>tr>th: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>tbody>tr:last-child>td,.table-responsive>.table-bordered>tfoot>tr:last-child>th,.table-responsive>.table-bordered>tfoot>tr:last-child>td{border-bottom:0}}fieldset{padding:0;margin:0;border:0;min-width: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"]{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:5px auto -webkit-focus-ring-color;outline-offset:-2px}output{display:block;padding-top:7px;font-size:14px;line-height:1.428571429;color:#555}.form-control{display:block;width:100%;height:34px;padding:6px 12px;font-size:14px;line-height:1.428571429;color:#555;background-color:#fff;background-image:none;border:1px solid #ccc;border-radius:4px;box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);-webkit-transition:border-color ease-in-out 0.15s,box-shadow ease-in-out 0.15s;transition:border-color ease-in-out 0.15s,box-shadow ease-in-out 0.15s}.form-control:focus{border-color:#66afe9;outline:0;box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 8px rgba(102,175,233,0.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::-ms-expand{border:0;background-color:transparent}.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"].form-control,input[type="time"].form-control,input[type="datetime-local"].form-control,input[type="month"].form-control{line-height:34px}input[type="date"].input-sm,.input-group-sm>input.form-control[type="date"],.input-group-sm>input.input-group-addon[type="date"],.input-group-sm>.input-group-btn>input.btn[type="date"],.input-group-sm input[type="date"],input[type="time"].input-sm,.input-group-sm>input.form-control[type="time"],.input-group-sm>input.input-group-addon[type="time"],.input-group-sm>.input-group-btn>input.btn[type="time"],.input-group-sm input[type="time"],input[type="datetime-local"].input-sm,.input-group-sm>input.form-control[type="datetime-local"],.input-group-sm>input.input-group-addon[type="datetime-local"],.input-group-sm>.input-group-btn>input.btn[type="datetime-local"],.input-group-sm input[type="datetime-local"],input[type="month"].input-sm,.input-group-sm>input.form-control[type="month"],.input-group-sm>input.input-group-addon[type="month"],.input-group-sm>.input-group-btn>input.btn[type="month"],.input-group-sm input[type="month"]{line-height:30px}input[type="date"].input-lg,.input-group-lg>input.form-control[type="date"],.input-group-lg>input.input-group-addon[type="date"],.input-group-lg>.input-group-btn>input.btn[type="date"],.input-group-lg input[type="date"],input[type="time"].input-lg,.input-group-lg>input.form-control[type="time"],.input-group-lg>input.input-group-addon[type="time"],.input-group-lg>.input-group-btn>input.btn[type="time"],.input-group-lg input[type="time"],input[type="datetime-local"].input-lg,.input-group-lg>input.form-control[type="datetime-local"],.input-group-lg>input.input-group-addon[type="datetime-local"],.input-group-lg>.input-group-btn>input.btn[type="datetime-local"],.input-group-lg input[type="datetime-local"],input[type="month"].input-lg,.input-group-lg>input.form-control[type="month"],.input-group-lg>input.input-group-addon[type="month"],.input-group-lg>.input-group-btn>input.btn[type="month"],.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-left:-20px;margin-top:4px \9}.radio+.radio,.checkbox+.checkbox{margin-top:-5px}.radio-inline,.checkbox-inline{position:relative;display:inline-block;padding-left:20px;margin-bottom:0;vertical-align:middle;font-weight:normal;cursor:pointer}.radio-inline+.radio-inline,.checkbox-inline+.checkbox-inline{margin-top:0;margin-left:10px}input[type="radio"][disabled],input[type="radio"].disabled,fieldset[disabled] input[type="radio"],input[type="checkbox"][disabled],input[type="checkbox"].disabled,fieldset[disabled] input[type="checkbox"]{cursor:not-allowed}.radio-inline.disabled,fieldset[disabled] .radio-inline,.checkbox-inline.disabled,fieldset[disabled] .checkbox-inline{cursor:not-allowed}.radio.disabled label,fieldset[disabled] .radio label,.checkbox.disabled label,fieldset[disabled] .checkbox label{cursor:not-allowed}.form-control-static{padding-top:7px;padding-bottom:7px;margin-bottom:0;min-height:34px}.form-control-static.input-lg,.input-group-lg>.form-control-static.form-control,.input-group-lg>.form-control-static.input-group-addon,.input-group-lg>.input-group-btn>.form-control-static.btn,.form-control-static.input-sm,.input-group-sm>.form-control-static.form-control,.input-group-sm>.form-control-static.input-group-addon,.input-group-sm>.input-group-btn>.form-control-static.btn{padding-left:0;padding-right:0}.input-sm,.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-sm,.input-group-sm>select.form-control,.input-group-sm>select.input-group-addon,.input-group-sm>.input-group-btn>select.btn{height:30px;line-height:30px}textarea.input-sm,.input-group-sm>textarea.form-control,.input-group-sm>textarea.input-group-addon,.input-group-sm>.input-group-btn>textarea.btn,select[multiple].input-sm,.input-group-sm>select.form-control[multiple],.input-group-sm>select.input-group-addon[multiple],.input-group-sm>.input-group-btn>select.btn[multiple]{height:auto}.form-group-sm .form-control{height:30px;padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}.form-group-sm select.form-control{height:30px;line-height:30px}.form-group-sm textarea.form-control,.form-group-sm select[multiple].form-control{height:auto}.form-group-sm .form-control-static{height:30px;min-height:32px;padding:6px 10px;font-size:12px;line-height:1.5}.input-lg,.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-lg,.input-group-lg>select.form-control,.input-group-lg>select.input-group-addon,.input-group-lg>.input-group-btn>select.btn{height:46px;line-height:46px}textarea.input-lg,.input-group-lg>textarea.form-control,.input-group-lg>textarea.input-group-addon,.input-group-lg>.input-group-btn>textarea.btn,select[multiple].input-lg,.input-group-lg>select.form-control[multiple],.input-group-lg>select.input-group-addon[multiple],.input-group-lg>.input-group-btn>select.btn[multiple]{height:auto}.form-group-lg .form-control{height:46px;padding:10px 16px;font-size:18px;line-height:1.3333333;border-radius:6px}.form-group-lg select.form-control{height:46px;line-height:46px}.form-group-lg textarea.form-control,.form-group-lg select[multiple].form-control{height:auto}.form-group-lg .form-control-static{height:46px;min-height:38px;padding:11px 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,.input-group-lg>.form-control+.form-control-feedback,.input-group-lg>.input-group-addon+.form-control-feedback,.input-group-lg>.input-group-btn>.btn+.form-control-feedback,.input-group-lg+.form-control-feedback,.form-group-lg .form-control+.form-control-feedback{width:46px;height:46px;line-height:46px}.input-sm+.form-control-feedback,.input-group-sm>.form-control+.form-control-feedback,.input-group-sm>.input-group-addon+.form-control-feedback,.input-group-sm>.input-group-btn>.btn+.form-control-feedback,.input-group-sm+.form-control-feedback,.form-group-sm .form-control+.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;box-shadow:inset 0 1px 1px rgba(0,0,0,0.075)}.has-success .form-control:focus{border-color:#2b542c;box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #67b168}.has-success .input-group-addon{color:#3c763d;border-color:#3c763d;background-color:#dff0d8}.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;box-shadow:inset 0 1px 1px rgba(0,0,0,0.075)}.has-warning .form-control:focus{border-color:#66512c;box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #c0a16b}.has-warning .input-group-addon{color:#8a6d3b;border-color:#8a6d3b;background-color:#fcf8e3}.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;box-shadow:inset 0 1px 1px rgba(0,0,0,0.075)}.has-error .form-control:focus{border-color:#843534;box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #ce8483}.has-error .input-group-addon{color:#a94442;border-color:#a94442;background-color:#f2dede}.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{margin-top:0;margin-bottom:0;padding-top:7px}.form-horizontal .radio,.form-horizontal .checkbox{min-height:27px}.form-horizontal .form-group{margin-left:-15px;margin-right:-15px}.form-horizontal .form-group:before,.form-horizontal .form-group:after{content:" ";display:table}.form-horizontal .form-group:after{clear:both}@media (min-width: 768px){.form-horizontal .control-label{text-align:right;margin-bottom:0;padding-top:7px}}.form-horizontal .has-feedback .form-control-feedback{right:15px}@media (min-width: 768px){.form-horizontal .form-group-lg .control-label{padding-top:11px;font-size:18px}}@media (min-width: 768px){.form-horizontal .form-group-sm .control-label{padding-top:6px;font-size:12px}}.btn{display:inline-block;margin-bottom:0;font-weight:normal;text-align:center;vertical-align:middle;-ms-touch-action:manipulation;touch-action:manipulation;cursor:pointer;background-image:none;border:1px solid transparent;white-space:nowrap;padding:6px 12px;font-size:14px;line-height:1.428571429;border-radius:4px;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.btn:focus,.btn.focus,.btn:active:focus,.btn:active.focus,.btn.active:focus,.btn.active.focus{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{outline:0;background-image:none;box-shadow:inset 0 3px 5px rgba(0,0,0,0.125)}.btn.disabled,.btn[disabled],fieldset[disabled] .btn{cursor:not-allowed;opacity:.65;filter:alpha(opacity=65);box-shadow:none}a.btn.disabled,fieldset[disabled] a.btn{pointer-events:none}.btn-default{color:#333;background-color:#fff;border-color:#ccc}.btn-default:focus,.btn-default.focus{color:#333;background-color:#e6e5e5;border-color:#8c8c8c}.btn-default:hover{color:#333;background-color:#e6e5e5;border-color:#adadad}.btn-default:active,.btn-default.active,.open>.btn-default.dropdown-toggle{color:#333;background-color:#e6e5e5;border-color:#adadad}.btn-default:active:hover,.btn-default:active:focus,.btn-default:active.focus,.btn-default.active:hover,.btn-default.active:focus,.btn-default.active.focus,.open>.btn-default.dropdown-toggle:hover,.open>.btn-default.dropdown-toggle:focus,.open>.btn-default.dropdown-toggle.focus{color:#333;background-color:#d4d4d4;border-color:#8c8c8c}.btn-default:active,.btn-default.active,.open>.btn-default.dropdown-toggle{background-image:none}.btn-default.disabled:hover,.btn-default.disabled:focus,.btn-default.disabled.focus,.btn-default[disabled]:hover,.btn-default[disabled]:focus,.btn-default[disabled].focus,fieldset[disabled] .btn-default:hover,fieldset[disabled] .btn-default:focus,fieldset[disabled] .btn-default.focus{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:focus,.btn-primary.focus{color:#fff;background-color:#286090;border-color:#122b40}.btn-primary:hover{color:#fff;background-color:#286090;border-color:#204d74}.btn-primary:active,.btn-primary.active,.open>.btn-primary.dropdown-toggle{color:#fff;background-color:#286090;border-color:#204d74}.btn-primary:active:hover,.btn-primary:active:focus,.btn-primary:active.focus,.btn-primary.active:hover,.btn-primary.active:focus,.btn-primary.active.focus,.open>.btn-primary.dropdown-toggle:hover,.open>.btn-primary.dropdown-toggle:focus,.open>.btn-primary.dropdown-toggle.focus{color:#fff;background-color:#204d74;border-color:#122b40}.btn-primary:active,.btn-primary.active,.open>.btn-primary.dropdown-toggle{background-image:none}.btn-primary.disabled:hover,.btn-primary.disabled:focus,.btn-primary.disabled.focus,.btn-primary[disabled]:hover,.btn-primary[disabled]:focus,.btn-primary[disabled].focus,fieldset[disabled] .btn-primary:hover,fieldset[disabled] .btn-primary:focus,fieldset[disabled] .btn-primary.focus{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:focus,.btn-success.focus{color:#fff;background-color:#449d44;border-color:#255625}.btn-success:hover{color:#fff;background-color:#449d44;border-color:#398439}.btn-success:active,.btn-success.active,.open>.btn-success.dropdown-toggle{color:#fff;background-color:#449d44;border-color:#398439}.btn-success:active:hover,.btn-success:active:focus,.btn-success:active.focus,.btn-success.active:hover,.btn-success.active:focus,.btn-success.active.focus,.open>.btn-success.dropdown-toggle:hover,.open>.btn-success.dropdown-toggle:focus,.open>.btn-success.dropdown-toggle.focus{color:#fff;background-color:#398439;border-color:#255625}.btn-success:active,.btn-success.active,.open>.btn-success.dropdown-toggle{background-image:none}.btn-success.disabled:hover,.btn-success.disabled:focus,.btn-success.disabled.focus,.btn-success[disabled]:hover,.btn-success[disabled]:focus,.btn-success[disabled].focus,fieldset[disabled] .btn-success:hover,fieldset[disabled] .btn-success:focus,fieldset[disabled] .btn-success.focus{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:focus,.btn-info.focus{color:#fff;background-color:#31b0d5;border-color:#1b6d85}.btn-info:hover{color:#fff;background-color:#31b0d5;border-color:#269abc}.btn-info:active,.btn-info.active,.open>.btn-info.dropdown-toggle{color:#fff;background-color:#31b0d5;border-color:#269abc}.btn-info:active:hover,.btn-info:active:focus,.btn-info:active.focus,.btn-info.active:hover,.btn-info.active:focus,.btn-info.active.focus,.open>.btn-info.dropdown-toggle:hover,.open>.btn-info.dropdown-toggle:focus,.open>.btn-info.dropdown-toggle.focus{color:#fff;background-color:#269abc;border-color:#1b6d85}.btn-info:active,.btn-info.active,.open>.btn-info.dropdown-toggle{background-image:none}.btn-info.disabled:hover,.btn-info.disabled:focus,.btn-info.disabled.focus,.btn-info[disabled]:hover,.btn-info[disabled]:focus,.btn-info[disabled].focus,fieldset[disabled] .btn-info:hover,fieldset[disabled] .btn-info:focus,fieldset[disabled] .btn-info.focus{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:focus,.btn-warning.focus{color:#fff;background-color:#ec971f;border-color:#985f0d}.btn-warning:hover{color:#fff;background-color:#ec971f;border-color:#d58512}.btn-warning:active,.btn-warning.active,.open>.btn-warning.dropdown-toggle{color:#fff;background-color:#ec971f;border-color:#d58512}.btn-warning:active:hover,.btn-warning:active:focus,.btn-warning:active.focus,.btn-warning.active:hover,.btn-warning.active:focus,.btn-warning.active.focus,.open>.btn-warning.dropdown-toggle:hover,.open>.btn-warning.dropdown-toggle:focus,.open>.btn-warning.dropdown-toggle.focus{color:#fff;background-color:#d58512;border-color:#985f0d}.btn-warning:active,.btn-warning.active,.open>.btn-warning.dropdown-toggle{background-image:none}.btn-warning.disabled:hover,.btn-warning.disabled:focus,.btn-warning.disabled.focus,.btn-warning[disabled]:hover,.btn-warning[disabled]:focus,.btn-warning[disabled].focus,fieldset[disabled] .btn-warning:hover,fieldset[disabled] .btn-warning:focus,fieldset[disabled] .btn-warning.focus{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:focus,.btn-danger.focus{color:#fff;background-color:#c9302c;border-color:#761c19}.btn-danger:hover{color:#fff;background-color:#c9302c;border-color:#ac2925}.btn-danger:active,.btn-danger.active,.open>.btn-danger.dropdown-toggle{color:#fff;background-color:#c9302c;border-color:#ac2925}.btn-danger:active:hover,.btn-danger:active:focus,.btn-danger:active.focus,.btn-danger.active:hover,.btn-danger.active:focus,.btn-danger.active.focus,.open>.btn-danger.dropdown-toggle:hover,.open>.btn-danger.dropdown-toggle:focus,.open>.btn-danger.dropdown-toggle.focus{color:#fff;background-color:#ac2925;border-color:#761c19}.btn-danger:active,.btn-danger.active,.open>.btn-danger.dropdown-toggle{background-image:none}.btn-danger.disabled:hover,.btn-danger.disabled:focus,.btn-danger.disabled.focus,.btn-danger[disabled]:hover,.btn-danger[disabled]:focus,.btn-danger[disabled].focus,fieldset[disabled] .btn-danger:hover,fieldset[disabled] .btn-danger:focus,fieldset[disabled] .btn-danger.focus{background-color:#d9534f;border-color:#d43f3a}.btn-danger .badge{color:#d9534f;background-color:#fff}.btn-link{color:#337ab7;font-weight:normal;border-radius:0}.btn-link,.btn-link:active,.btn-link.active,.btn-link[disabled],fieldset[disabled] .btn-link{background-color:transparent;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,.btn-link[disabled]:focus,fieldset[disabled] .btn-link:hover,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 0.15s linear;transition:opacity 0.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-property:height,visibility;transition-property:height,visibility;-webkit-transition-duration:0.35s;transition-duration:0.35s;-webkit-transition-timing-function:ease;transition-timing-function:ease}.caret{display:inline-block;width:0;height:0;margin-left:2px;vertical-align:middle;border-top:4px dashed;border-top:4px solid \9;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;list-style:none;font-size:14px;text-align:left;background-color:#fff;border:1px solid #ccc;border:1px solid rgba(0,0,0,0.15);border-radius:4px;box-shadow:0 6px 12px rgba(0,0,0,0.175);background-clip:padding-box}.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.428571429;color:#333;white-space:nowrap}.dropdown-menu>li>a:hover,.dropdown-menu>li>a:focus{text-decoration:none;color:#262626;background-color:#f5f5f5}.dropdown-menu>.active>a,.dropdown-menu>.active>a:hover,.dropdown-menu>.active>a:focus{color:#fff;text-decoration:none;outline:0;background-color:#337ab7}.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;background-color:transparent;background-image:none;filter:progid:DXImageTransform.Microsoft.gradient(enabled = false);cursor:not-allowed}.open>.dropdown-menu{display:block}.open>a{outline:0}.dropdown-menu-right{left:auto;right:0}.dropdown-menu-left{left:0;right:auto}.dropdown-header{display:block;padding:3px 20px;font-size:12px;line-height:1.428571429;color:#777;white-space:nowrap}.dropdown-backdrop{position:fixed;left:0;right:0;bottom:0;top:0;z-index:990}.pull-right>.dropdown-menu{right:0;left:auto}.dropup .caret,.navbar-fixed-bottom .dropdown .caret{border-top:0;border-bottom:4px dashed;border-bottom:4px solid \9;content:""}.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{left:0;right:auto}}.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>.btn:focus,.btn-group>.btn:active,.btn-group>.btn.active,.btn-group-vertical>.btn:hover,.btn-group-vertical>.btn:focus,.btn-group-vertical>.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:before,.btn-toolbar:after{content:" ";display:table}.btn-toolbar:after{clear:both}.btn-toolbar .btn,.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-bottom-right-radius:0;border-top-right-radius:0}.btn-group>.btn:last-child:not(:first-child),.btn-group>.dropdown-toggle:not(:first-child){border-bottom-left-radius:0;border-top-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-bottom-right-radius:0;border-top-right-radius:0}.btn-group>.btn-group:last-child:not(:first-child)>.btn:first-child{border-bottom-left-radius:0;border-top-left-radius:0}.btn-group .dropdown-toggle:active,.btn-group.open .dropdown-toggle{outline:0}.btn-group>.btn+.dropdown-toggle{padding-left:8px;padding-right:8px}.btn-group>.btn-lg+.dropdown-toggle,.btn-group-lg.btn-group>.btn+.dropdown-toggle{padding-left:12px;padding-right:12px}.btn-group.open .dropdown-toggle{box-shadow:inset 0 3px 5px rgba(0,0,0,0.125)}.btn-group.open .dropdown-toggle.btn-link{box-shadow:none}.btn .caret{margin-left:0}.btn-lg .caret,.btn-group-lg>.btn .caret{border-width:5px 5px 0;border-bottom-width:0}.dropup .btn-lg .caret,.dropup .btn-group-lg>.btn .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:before,.btn-group-vertical>.btn-group:after{content:" ";display:table}.btn-group-vertical>.btn-group:after{clear:both}.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-top-left-radius:4px;border-bottom-right-radius:0;border-bottom-left-radius:0}.btn-group-vertical>.btn:last-child:not(:first-child){border-top-right-radius:0;border-top-left-radius:0;border-bottom-right-radius:4px;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-right-radius:0;border-top-left-radius:0}.btn-group-justified{display:table;width:100%;table-layout:fixed;border-collapse:separate}.btn-group-justified>.btn,.btn-group-justified>.btn-group{float:none;display:table-cell;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 input[type="checkbox"],[data-toggle="buttons"]>.btn-group>.btn input[type="radio"],[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-left:0;padding-right:0}.input-group .form-control{position:relative;z-index:2;float:left;width:100%;margin-bottom:0}.input-group .form-control:focus{z-index:3}.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,.input-group-sm>.input-group-addon,.input-group-sm>.input-group-btn>.input-group-addon.btn{padding:5px 10px;font-size:12px;border-radius:3px}.input-group-addon.input-lg,.input-group-lg>.input-group-addon,.input-group-lg>.input-group-btn>.input-group-addon.btn{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-bottom-right-radius:0;border-top-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-bottom-left-radius:0;border-top-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{z-index:2;margin-left:-1px}.nav{margin-bottom:0;padding-left:0;list-style:none}.nav:before,.nav:after{content:" ";display:table}.nav:after{clear:both}.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;background-color:transparent;cursor:not-allowed}.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.428571429;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;background-color:#fff;border:1px solid #ddd;border-bottom-color:transparent;cursor:default}.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,.nav-tabs.nav-justified{width:100%}.nav-justified>li,.nav-tabs.nav-justified>li{float:none}.nav-justified>li>a,.nav-tabs.nav-justified>li>a{text-align:center;margin-bottom:5px}.nav-justified>.dropdown .dropdown-menu{top:auto;left:auto}@media (min-width: 768px){.nav-justified>li,.nav-tabs.nav-justified>li{display:table-cell;width:1%}.nav-justified>li>a,.nav-tabs.nav-justified>li>a{margin-bottom:0}}.nav-tabs-justified,.nav-tabs.nav-justified{border-bottom:0}.nav-tabs-justified>li>a,.nav-tabs.nav-justified>li>a{margin-right:0;border-radius:4px}.nav-tabs-justified>.active>a,.nav-tabs.nav-justified>.active>a,.nav-tabs-justified>.active>a:hover,.nav-tabs.nav-justified>.active>a:hover,.nav-tabs-justified>.active>a:focus,.nav-tabs.nav-justified>.active>a:focus{border:1px solid #ddd}@media (min-width: 768px){.nav-tabs-justified>li>a,.nav-tabs.nav-justified>li>a{border-bottom:1px solid #ddd;border-radius:4px 4px 0 0}.nav-tabs-justified>.active>a,.nav-tabs.nav-justified>.active>a,.nav-tabs-justified>.active>a:hover,.nav-tabs.nav-justified>.active>a:hover,.nav-tabs-justified>.active>a:focus,.nav-tabs.nav-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-right-radius:0;border-top-left-radius:0}.navbar{position:relative;min-height:50px;margin-bottom:20px;border:1px solid transparent}.navbar:before,.navbar:after{content:" ";display:table}.navbar:after{clear:both}@media (min-width: 768px){.navbar{border-radius:4px}}.navbar-header:before,.navbar-header:after{content:" ";display:table}.navbar-header:after{clear:both}@media (min-width: 768px){.navbar-header{float:left}}.navbar-collapse{overflow-x:visible;padding-right:15px;padding-left:15px;border-top:1px solid transparent;box-shadow:inset 0 1px 0 rgba(255,255,255,0.1);-webkit-overflow-scrolling:touch}.navbar-collapse:before,.navbar-collapse:after{content:" ";display:table}.navbar-collapse:after{clear:both}.navbar-collapse.in{overflow-y:auto}@media (min-width: 768px){.navbar-collapse{width:auto;border-top:0;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-left:0;padding-right: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>.navbar-collapse,.container-fluid>.navbar-header,.container-fluid>.navbar-collapse{margin-right:-15px;margin-left:-15px}@media (min-width: 768px){.container>.navbar-header,.container>.navbar-collapse,.container-fluid>.navbar-header,.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;padding:15px 15px;font-size:18px;line-height:20px;height:50px}.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;margin-right:15px;padding:9px 10px;margin-top:8px;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;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{margin-left:-15px;margin-right:-15px;padding:10px 15px;border-top:1px solid transparent;border-bottom:1px solid transparent;box-shadow:inset 0 1px 0 rgba(255,255,255,0.1),0 1px 0 rgba(255,255,255,0.1);margin-top:8px;margin-bottom:8px}@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;border:0;margin-left:0;margin-right:0;padding-top:0;padding-bottom:0;box-shadow:none}}.navbar-nav>li>.dropdown-menu{margin-top:0;border-top-right-radius:0;border-top-left-radius:0}.navbar-fixed-bottom .navbar-nav>li>.dropdown-menu{margin-bottom:0;border-top-right-radius:4px;border-top-left-radius:4px;border-bottom-right-radius:0;border-bottom-left-radius:0}.navbar-btn{margin-top:8px;margin-bottom:8px}.navbar-btn.btn-sm,.btn-group-sm>.navbar-btn.btn{margin-top:10px;margin-bottom:10px}.navbar-btn.btn-xs,.btn-group-xs>.navbar-btn.btn{margin-top:14px;margin-bottom:14px}.navbar-text{margin-top:15px;margin-bottom:15px}@media (min-width: 768px){.navbar-text{float:left;margin-left:15px;margin-right: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:#5e5d5d;background-color:rgba(0,0,0,0)}.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:rgba(0,0,0,0)}.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:rgba(0,0,0,0)}.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{background-color:#e7e7e7;color:#555}@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:rgba(0,0,0,0)}.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:rgba(0,0,0,0)}}.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,.navbar-default .btn-link[disabled]:focus,fieldset[disabled] .navbar-default .btn-link:hover,fieldset[disabled] .navbar-default .btn-link:focus{color:#ccc}.navbar-inverse{background-color:#222;border-color:#090808}.navbar-inverse .navbar-brand{color:#9d9d9d}.navbar-inverse .navbar-brand:hover,.navbar-inverse .navbar-brand:focus{color:#fff;background-color:rgba(0,0,0,0)}.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:rgba(0,0,0,0)}.navbar-inverse .navbar-nav>.active>a,.navbar-inverse .navbar-nav>.active>a:hover,.navbar-inverse .navbar-nav>.active>a:focus{color:#fff;background-color:#090808}.navbar-inverse .navbar-nav>.disabled>a,.navbar-inverse .navbar-nav>.disabled>a:hover,.navbar-inverse .navbar-nav>.disabled>a:focus{color:#444;background-color:rgba(0,0,0,0)}.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{background-color:#090808;color:#fff}@media (max-width: 767px){.navbar-inverse .navbar-nav .open .dropdown-menu>.dropdown-header{border-color:#090808}.navbar-inverse .navbar-nav .open .dropdown-menu .divider{background-color:#090808}.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:rgba(0,0,0,0)}.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:#090808}.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:rgba(0,0,0,0)}}.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,.navbar-inverse .btn-link[disabled]:focus,fieldset[disabled] .navbar-inverse .btn-link:hover,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{content:"/ ";padding:0 5px;color:#ccc}.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;line-height:1.428571429;text-decoration:none;color:#337ab7;background-color:#fff;border:1px solid #ddd;margin-left:-1px}.pagination>li:first-child>a,.pagination>li:first-child>span{margin-left:0;border-bottom-left-radius:4px;border-top-left-radius:4px}.pagination>li:last-child>a,.pagination>li:last-child>span{border-bottom-right-radius:4px;border-top-right-radius:4px}.pagination>li>a:hover,.pagination>li>a:focus,.pagination>li>span:hover,.pagination>li>span:focus{z-index:2;color:#23527c;background-color:#eee;border-color:#ddd}.pagination>.active>a,.pagination>.active>a:hover,.pagination>.active>a:focus,.pagination>.active>span,.pagination>.active>span:hover,.pagination>.active>span:focus{z-index:3;color:#fff;background-color:#337ab7;border-color:#337ab7;cursor:default}.pagination>.disabled>span,.pagination>.disabled>span:hover,.pagination>.disabled>span:focus,.pagination>.disabled>a,.pagination>.disabled>a:hover,.pagination>.disabled>a:focus{color:#777;background-color:#fff;border-color:#ddd;cursor:not-allowed}.pagination-lg>li>a,.pagination-lg>li>span{padding:10px 16px;font-size:18px;line-height:1.3333333}.pagination-lg>li:first-child>a,.pagination-lg>li:first-child>span{border-bottom-left-radius:6px;border-top-left-radius:6px}.pagination-lg>li:last-child>a,.pagination-lg>li:last-child>span{border-bottom-right-radius:6px;border-top-right-radius:6px}.pagination-sm>li>a,.pagination-sm>li>span{padding:5px 10px;font-size:12px;line-height:1.5}.pagination-sm>li:first-child>a,.pagination-sm>li:first-child>span{border-bottom-left-radius:3px;border-top-left-radius:3px}.pagination-sm>li:last-child>a,.pagination-sm>li:last-child>span{border-bottom-right-radius:3px;border-top-right-radius:3px}.pager{padding-left:0;margin:20px 0;list-style:none;text-align:center}.pager:before,.pager:after{content:" ";display:table}.pager:after{clear:both}.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;background-color:#fff;cursor:not-allowed}.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}.label:empty{display:none}.btn .label{position:relative;top:-1px}a.label:hover,a.label:focus{color:#fff;text-decoration:none;cursor:pointer}.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;color:#fff;line-height:1;vertical-align:middle;white-space:nowrap;text-align:center;background-color:#777;border-radius:10px}.badge:empty{display:none}.btn .badge{position:relative;top:-1px}.btn-xs .badge,.btn-group-xs>.btn .badge,.btn-group-xs>.btn .badge{top:0;padding:1px 5px}.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}a.badge:hover,a.badge:focus{color:#fff;text-decoration:none;cursor:pointer}.jumbotron{padding-top:30px;padding-bottom:30px;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;padding-left:15px;padding-right:15px}.jumbotron .container{max-width:100%}@media screen and (min-width: 768px){.jumbotron{padding-top:48px;padding-bottom:48px}.container .jumbotron,.container-fluid .jumbotron{padding-left:60px;padding-right:60px}.jumbotron h1,.jumbotron .h1{font-size:63px}}.thumbnail{display:block;padding:4px;margin-bottom:20px;line-height:1.428571429;background-color:#fff;border:1px solid #ddd;border-radius:4px;-webkit-transition:border 0.2s ease-in-out;transition:border 0.2s ease-in-out}.thumbnail>img,.thumbnail a>img{display:block;max-width:100%;height:auto;margin-left:auto;margin-right:auto}.thumbnail .caption{padding:9px;color:#333}a.thumbnail:hover,a.thumbnail:focus,a.thumbnail.active{border-color:#337ab7}.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{background-color:#dff0d8;border-color:#d6e9c6;color:#3c763d}.alert-success hr{border-top-color:#c9e2b3}.alert-success .alert-link{color:#2b542c}.alert-info{background-color:#d9edf7;border-color:#bce8f1;color:#31708f}.alert-info hr{border-top-color:#a6e1ec}.alert-info .alert-link{color:#245269}.alert-warning{background-color:#fcf8e3;border-color:#faebcc;color:#8a6d3b}.alert-warning hr{border-top-color:#f7e1b5}.alert-warning .alert-link{color:#66512c}.alert-danger{background-color:#f2dede;border-color:#ebccd1;color:#a94442}.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}}@keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}.progress{overflow:hidden;height:20px;margin-bottom:20px;background-color:#f5f5f5;border-radius:4px;box-shadow:inset 0 1px 2px rgba(0,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;box-shadow:inset 0 -1px 0 rgba(0,0,0,0.15);-webkit-transition:width 0.6s ease;transition:width 0.6s ease}.progress-striped .progress-bar,.progress-bar-striped{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);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);background-size:40px 40px}.progress.active .progress-bar,.progress-bar.active{-webkit-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,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent);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)}.progress-bar-info{background-color:#5bc0de}.progress-striped .progress-bar-info{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);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)}.progress-bar-warning{background-color:#f0ad4e}.progress-striped .progress-bar-warning{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);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)}.progress-bar-danger{background-color:#d9534f}.progress-striped .progress-bar-danger{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);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)}.media{margin-top:15px}.media:first-child{margin-top:0}.media,.media-body{zoom:1;overflow:hidden}.media-body{width:10000px}.media-object{display:block}.media-object.img-thumbnail{max-width:none}.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{margin-bottom:20px;padding-left:0}.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-right-radius:4px;border-top-left-radius:4px}.list-group-item:last-child{margin-bottom:0;border-bottom-right-radius:4px;border-bottom-left-radius:4px}a.list-group-item,button.list-group-item{color:#555}a.list-group-item .list-group-item-heading,button.list-group-item .list-group-item-heading{color:#333}a.list-group-item:hover,a.list-group-item:focus,button.list-group-item:hover,button.list-group-item:focus{text-decoration:none;color:#555;background-color:#f5f5f5}button.list-group-item{width:100%;text-align:left}.list-group-item.disabled,.list-group-item.disabled:hover,.list-group-item.disabled:focus{background-color:#eee;color:#777;cursor:not-allowed}.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 .list-group-item-heading>small,.list-group-item.active .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,.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{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,button.list-group-item-success{color:#3c763d}a.list-group-item-success .list-group-item-heading,button.list-group-item-success .list-group-item-heading{color:inherit}a.list-group-item-success:hover,a.list-group-item-success:focus,button.list-group-item-success:hover,button.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,button.list-group-item-success.active,button.list-group-item-success.active:hover,button.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,button.list-group-item-info{color:#31708f}a.list-group-item-info .list-group-item-heading,button.list-group-item-info .list-group-item-heading{color:inherit}a.list-group-item-info:hover,a.list-group-item-info:focus,button.list-group-item-info:hover,button.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,button.list-group-item-info.active,button.list-group-item-info.active:hover,button.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,button.list-group-item-warning{color:#8a6d3b}a.list-group-item-warning .list-group-item-heading,button.list-group-item-warning .list-group-item-heading{color:inherit}a.list-group-item-warning:hover,a.list-group-item-warning:focus,button.list-group-item-warning:hover,button.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,button.list-group-item-warning.active,button.list-group-item-warning.active:hover,button.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,button.list-group-item-danger{color:#a94442}a.list-group-item-danger .list-group-item-heading,button.list-group-item-danger .list-group-item-heading{color:inherit}a.list-group-item-danger:hover,a.list-group-item-danger:focus,button.list-group-item-danger:hover,button.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,button.list-group-item-danger.active,button.list-group-item-danger.active:hover,button.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;box-shadow:0 1px 1px rgba(0,0,0,0.05)}.panel-body{padding:15px}.panel-body:before,.panel-body:after{content:" ";display:table}.panel-body:after{clear:both}.panel-heading{padding:10px 15px;border-bottom:1px solid transparent;border-top-right-radius:3px;border-top-left-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-right-radius:3px;border-top-left-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>.panel-heading+.panel-collapse>.list-group .list-group-item:first-child{border-top-right-radius:0;border-top-left-radius:0}.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-left:15px;padding-right:15px}.panel>.table:first-child,.panel>.table-responsive:first-child>.table:first-child{border-top-right-radius:3px;border-top-left-radius:3px}.panel>.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>thead: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: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-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-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{border-top-left-radius:3px}.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,.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-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-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{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:last-child>tfoot:last-child>tr:last-child,.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{border-bottom-left-radius:3px;border-bottom-right-radius:3px}.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,.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{border-bottom-left-radius:3px}.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,.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{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-bordered>thead>tr>td:first-child,.panel>.table-bordered>tbody>tr>th:first-child,.panel>.table-bordered>tbody>tr>td:first-child,.panel>.table-bordered>tfoot>tr>th:first-child,.panel>.table-bordered>tfoot>tr>td:first-child,.panel>.table-responsive>.table-bordered>thead>tr>th:first-child,.panel>.table-responsive>.table-bordered>thead>tr>td:first-child,.panel>.table-responsive>.table-bordered>tbody>tr>th:first-child,.panel>.table-responsive>.table-bordered>tbody>tr>td:first-child,.panel>.table-responsive>.table-bordered>tfoot>tr>th: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-bordered>thead>tr>td:last-child,.panel>.table-bordered>tbody>tr>th:last-child,.panel>.table-bordered>tbody>tr>td:last-child,.panel>.table-bordered>tfoot>tr>th:last-child,.panel>.table-bordered>tfoot>tr>td:last-child,.panel>.table-responsive>.table-bordered>thead>tr>th:last-child,.panel>.table-responsive>.table-bordered>thead>tr>td:last-child,.panel>.table-responsive>.table-bordered>tbody>tr>th:last-child,.panel>.table-responsive>.table-bordered>tbody>tr>td:last-child,.panel>.table-responsive>.table-bordered>tfoot>tr>th: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-bordered>thead>tr:first-child>th,.panel>.table-bordered>tbody>tr:first-child>td,.panel>.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,.panel>.table-responsive>.table-bordered>tbody>tr:first-child>td,.panel>.table-responsive>.table-bordered>tbody>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{border:0;margin-bottom: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;left:0;bottom:0;height:100%;width: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;box-shadow:inset 0 1px 1px rgba(0,0,0,0.05)}.well blockquote{border-color:#ddd;border-color:rgba(0,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;opacity:.2;filter:alpha(opacity=20)}.close:hover,.close:focus{color:#000;text-decoration:none;cursor:pointer;opacity:.5;filter:alpha(opacity=50)}button.close{padding:0;cursor:pointer;background:transparent;border:0;-webkit-appearance:none}.modal-open{overflow:hidden}.modal{display:none;overflow:hidden;position:fixed;top:0;right:0;bottom:0;left:0;z-index:1050;-webkit-overflow-scrolling:touch;outline:0}.modal.fade .modal-dialog{-webkit-transform:translate(0, -25%);transform:translate(0, -25%);-webkit-transition:-webkit-transform 0.3s ease-out;transition:-webkit-transform 0.3s ease-out;transition:transform 0.3s ease-out;transition:transform 0.3s ease-out, -webkit-transform 0.3s ease-out}.modal.in .modal-dialog{-webkit-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;border:1px solid #999;border:1px solid rgba(0,0,0,0.2);border-radius:6px;box-shadow:0 3px 9px rgba(0,0,0,0.5);background-clip:padding-box;outline:0}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1040;background-color:#000}.modal-backdrop.fade{opacity:0;filter:alpha(opacity=0)}.modal-backdrop.in{opacity:.5;filter:alpha(opacity=50)}.modal-header{padding:15px;border-bottom:1px solid #e5e5e5}.modal-header:before,.modal-header:after{content:" ";display:table}.modal-header:after{clear:both}.modal-header .close{margin-top:-2px}.modal-title{margin:0;line-height:1.428571429}.modal-body{position:relative;padding:15px}.modal-footer{padding:15px;text-align:right;border-top:1px solid #e5e5e5}.modal-footer:before,.modal-footer:after{content:" ";display:table}.modal-footer:after{clear:both}.modal-footer .btn+.btn{margin-left:5px;margin-bottom:0}.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{box-shadow:0 5px 15px rgba(0,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-style:normal;font-weight:normal;letter-spacing:normal;line-break:auto;line-height:1.428571429;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;white-space:normal;word-break:normal;word-spacing:normal;word-wrap:normal;font-size:12px;opacity:0;filter:alpha(opacity=0)}.tooltip.in{opacity:.9;filter:alpha(opacity=90)}.tooltip.top{margin-top:-3px;padding:5px 0}.tooltip.right{margin-left:3px;padding:0 5px}.tooltip.bottom{margin-top:3px;padding:5px 0}.tooltip.left{margin-left:-3px;padding:0 5px}.tooltip-inner{max-width:200px;padding:3px 8px;color:#fff;text-align:center;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{bottom:0;right:5px;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-style:normal;font-weight:normal;letter-spacing:normal;line-break:auto;line-height:1.428571429;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;white-space:normal;word-break:normal;word-spacing:normal;word-wrap:normal;font-size:14px;background-color:#fff;background-clip:padding-box;border:1px solid #ccc;border:1px solid rgba(0,0,0,0.2);border-radius:6px;box-shadow:0 5px 10px rgba(0,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{margin:0;padding:8px 14px;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{border-width:10px;content:""}.popover.top>.arrow{left:50%;margin-left:-11px;border-bottom-width:0;border-top-color:#999;border-top-color:rgba(0,0,0,0.25);bottom:-11px}.popover.top>.arrow:after{content:" ";bottom:1px;margin-left:-10px;border-bottom-width:0;border-top-color:#fff}.popover.right>.arrow{top:50%;left:-11px;margin-top:-11px;border-left-width:0;border-right-color:#999;border-right-color:rgba(0,0,0,0.25)}.popover.right>.arrow:after{content:" ";left:1px;bottom:-10px;border-left-width:0;border-right-color:#fff}.popover.bottom>.arrow{left:50%;margin-left:-11px;border-top-width:0;border-bottom-color:#999;border-bottom-color:rgba(0,0,0,0.25);top:-11px}.popover.bottom>.arrow:after{content:" ";top:1px;margin-left:-10px;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,0.25)}.popover.left>.arrow:after{content:" ";right:1px;border-right-width:0;border-left-color:#fff;bottom:-10px}.carousel{position:relative}.carousel-inner{position:relative;overflow:hidden;width:100%}.carousel-inner>.item{display:none;position:relative;-webkit-transition:0.6s ease-in-out left;transition:0.6s ease-in-out left}.carousel-inner>.item>img,.carousel-inner>.item>a>img{display:block;max-width:100%;height:auto;line-height:1}@media all and (transform-3d), (-webkit-transform-3d){.carousel-inner>.item{-webkit-transition:-webkit-transform 0.6s ease-in-out;transition:-webkit-transform 0.6s ease-in-out;transition:transform 0.6s ease-in-out;transition:transform 0.6s ease-in-out, -webkit-transform 0.6s ease-in-out;-webkit-backface-visibility:hidden;backface-visibility:hidden;-webkit-perspective:1000px;perspective:1000px}.carousel-inner>.item.next,.carousel-inner>.item.active.right{-webkit-transform:translate3d(100%, 0, 0);transform:translate3d(100%, 0, 0);left:0}.carousel-inner>.item.prev,.carousel-inner>.item.active.left{-webkit-transform:translate3d(-100%, 0, 0);transform:translate3d(-100%, 0, 0);left:0}.carousel-inner>.item.next.left,.carousel-inner>.item.prev.right,.carousel-inner>.item.active{-webkit-transform:translate3d(0, 0, 0);transform:translate3d(0, 0, 0);left: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;left:0;bottom:0;width:15%;opacity:.5;filter:alpha(opacity=50);font-size:20px;color:#fff;text-align:center;text-shadow:0 1px 2px rgba(0,0,0,0.6);background-color:rgba(0,0,0,0)}.carousel-control.left{background-image:-webkit-linear-gradient(left, rgba(0,0,0,0.5) 0%, rgba(0,0,0,0.0001) 100%);background-image:linear-gradient(to right, rgba(0,0,0,0.5) 0%, rgba(0,0,0,0.0001) 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#80000000', endColorstr='#00000000', GradientType=1)}.carousel-control.right{left:auto;right:0;background-image:-webkit-linear-gradient(left, rgba(0,0,0,0.0001) 0%, rgba(0,0,0,0.5) 100%);background-image:linear-gradient(to right, rgba(0,0,0,0.0001) 0%, rgba(0,0,0,0.5) 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#00000000', endColorstr='#80000000', GradientType=1)}.carousel-control:hover,.carousel-control:focus{outline:0;color:#fff;text-decoration:none;opacity:.9;filter:alpha(opacity=90)}.carousel-control .icon-prev,.carousel-control .icon-next,.carousel-control .glyphicon-chevron-left,.carousel-control .glyphicon-chevron-right{position:absolute;top:50%;margin-top:-10px;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;line-height:1;font-family:serif}.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%;margin-left:-30%;padding-left:0;list-style:none;text-align:center}.carousel-indicators li{display:inline-block;width:10px;height:10px;margin:1px;text-indent:-999px;border:1px solid #fff;border-radius:10px;cursor:pointer;background-color:#000 \9;background-color:rgba(0,0,0,0)}.carousel-indicators .active{margin:0;width:12px;height:12px;background-color:#fff}.carousel-caption{position:absolute;left:15%;right:15%;bottom:20px;z-index:10;padding-top:20px;padding-bottom:20px;color:#fff;text-align:center;text-shadow:0 1px 2px rgba(0,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:-10px;font-size:30px}.carousel-control .glyphicon-chevron-left,.carousel-control .icon-prev{margin-left:-10px}.carousel-control .glyphicon-chevron-right,.carousel-control .icon-next{margin-right:-10px}.carousel-caption{left:20%;right:20%;padding-bottom:30px}.carousel-indicators{bottom:20px}}.clearfix:before,.clearfix:after{content:" ";display:table}.clearfix:after{clear:both}.center-block{display:block;margin-left:auto;margin-right: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{display:none !important}.visible-sm{display:none !important}.visible-md{display:none !important}.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 !important}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 !important}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 !important}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 !important}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 !important}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=screen.css.map */ diff --git a/src/Frontend/Core/Layout/Css/screen.css.map b/src/Frontend/Core/Layout/Css/screen.css.map index 665f514145..b0bb53de0a 100644 --- a/src/Frontend/Core/Layout/Css/screen.css.map +++ b/src/Frontend/Core/Layout/Css/screen.css.map @@ -1 +1 @@ -{"version":3,"sources":["screen.css","../../../../../node_modules/bootstrap-sass/assets/stylesheets/_bootstrap.scss","../../../../../node_modules/bootstrap-sass/assets/stylesheets/bootstrap/_normalize.scss","../../../../../node_modules/bootstrap-sass/assets/stylesheets/bootstrap/_print.scss","../../../../../node_modules/bootstrap-sass/assets/stylesheets/bootstrap/_glyphicons.scss","../../../../../node_modules/bootstrap-sass/assets/stylesheets/bootstrap/mixins/_vendor-prefixes.scss","../../../../../node_modules/bootstrap-sass/assets/stylesheets/bootstrap/_scaffolding.scss","../../../../../node_modules/bootstrap-sass/assets/stylesheets/bootstrap/_variables.scss","../../../../../node_modules/bootstrap-sass/assets/stylesheets/bootstrap/mixins/_tab-focus.scss","../../../../../node_modules/bootstrap-sass/assets/stylesheets/bootstrap/mixins/_image.scss","../../../../../node_modules/bootstrap-sass/assets/stylesheets/bootstrap/_type.scss","../../../../../node_modules/bootstrap-sass/assets/stylesheets/bootstrap/mixins/_text-emphasis.scss","../../../../../node_modules/bootstrap-sass/assets/stylesheets/bootstrap/mixins/_background-variant.scss","../../../../../node_modules/bootstrap-sass/assets/stylesheets/bootstrap/mixins/_clearfix.scss","../../../../../node_modules/bootstrap-sass/assets/stylesheets/bootstrap/mixins/_text-overflow.scss","../../../../../node_modules/bootstrap-sass/assets/stylesheets/bootstrap/_code.scss","../../../../../node_modules/bootstrap-sass/assets/stylesheets/bootstrap/mixins/_grid.scss","../../../../../node_modules/bootstrap-sass/assets/stylesheets/bootstrap/_grid.scss","../../../../../node_modules/bootstrap-sass/assets/stylesheets/bootstrap/mixins/_grid-framework.scss","../../../../../node_modules/bootstrap-sass/assets/stylesheets/bootstrap/_tables.scss","../../../../../node_modules/bootstrap-sass/assets/stylesheets/bootstrap/mixins/_table-row.scss","../../../../../node_modules/bootstrap-sass/assets/stylesheets/bootstrap/_forms.scss","../../../../../node_modules/bootstrap-sass/assets/stylesheets/bootstrap/mixins/_forms.scss","../../../../../node_modules/bootstrap-sass/assets/stylesheets/bootstrap/_buttons.scss","../../../../../node_modules/bootstrap-sass/assets/stylesheets/bootstrap/mixins/_buttons.scss","../../../../../node_modules/bootstrap-sass/assets/stylesheets/bootstrap/mixins/_opacity.scss","../../../../../node_modules/bootstrap-sass/assets/stylesheets/bootstrap/_component-animations.scss","../../../../../node_modules/bootstrap-sass/assets/stylesheets/bootstrap/_dropdowns.scss","../../../../../node_modules/bootstrap-sass/assets/stylesheets/bootstrap/mixins/_nav-divider.scss","../../../../../node_modules/bootstrap-sass/assets/stylesheets/bootstrap/mixins/_reset-filter.scss","../../../../../node_modules/bootstrap-sass/assets/stylesheets/bootstrap/_button-groups.scss","../../../../../node_modules/bootstrap-sass/assets/stylesheets/bootstrap/mixins/_border-radius.scss","../../../../../node_modules/bootstrap-sass/assets/stylesheets/bootstrap/_input-groups.scss","../../../../../node_modules/bootstrap-sass/assets/stylesheets/bootstrap/_navs.scss","../../../../../node_modules/bootstrap-sass/assets/stylesheets/bootstrap/_navbar.scss","../../../../../node_modules/bootstrap-sass/assets/stylesheets/bootstrap/mixins/_nav-vertical-align.scss","../../../../../node_modules/bootstrap-sass/assets/stylesheets/bootstrap/_breadcrumbs.scss","../../../../../node_modules/bootstrap-sass/assets/stylesheets/bootstrap/_pagination.scss","../../../../../node_modules/bootstrap-sass/assets/stylesheets/bootstrap/mixins/_pagination.scss","../../../../../node_modules/bootstrap-sass/assets/stylesheets/bootstrap/_pager.scss","../../../../../node_modules/bootstrap-sass/assets/stylesheets/bootstrap/_labels.scss","../../../../../node_modules/bootstrap-sass/assets/stylesheets/bootstrap/mixins/_labels.scss","../../../../../node_modules/bootstrap-sass/assets/stylesheets/bootstrap/_badges.scss","../../../../../node_modules/bootstrap-sass/assets/stylesheets/bootstrap/_jumbotron.scss","../../../../../node_modules/bootstrap-sass/assets/stylesheets/bootstrap/_thumbnails.scss","../../../../../node_modules/bootstrap-sass/assets/stylesheets/bootstrap/_alerts.scss","../../../../../node_modules/bootstrap-sass/assets/stylesheets/bootstrap/mixins/_alerts.scss","../../../../../node_modules/bootstrap-sass/assets/stylesheets/bootstrap/_progress-bars.scss","../../../../../node_modules/bootstrap-sass/assets/stylesheets/bootstrap/mixins/_gradients.scss","../../../../../node_modules/bootstrap-sass/assets/stylesheets/bootstrap/mixins/_progress-bar.scss","../../../../../node_modules/bootstrap-sass/assets/stylesheets/bootstrap/_media.scss","../../../../../node_modules/bootstrap-sass/assets/stylesheets/bootstrap/_list-group.scss","../../../../../node_modules/bootstrap-sass/assets/stylesheets/bootstrap/mixins/_list-group.scss","../../../../../node_modules/bootstrap-sass/assets/stylesheets/bootstrap/_panels.scss","../../../../../node_modules/bootstrap-sass/assets/stylesheets/bootstrap/mixins/_panels.scss","../../../../../node_modules/bootstrap-sass/assets/stylesheets/bootstrap/_responsive-embed.scss","../../../../../node_modules/bootstrap-sass/assets/stylesheets/bootstrap/_wells.scss","../../../../../node_modules/bootstrap-sass/assets/stylesheets/bootstrap/_close.scss","../../../../../node_modules/bootstrap-sass/assets/stylesheets/bootstrap/_modals.scss","../../../../../node_modules/bootstrap-sass/assets/stylesheets/bootstrap/_tooltip.scss","../../../../../node_modules/bootstrap-sass/assets/stylesheets/bootstrap/mixins/_reset-text.scss","../../../../../node_modules/bootstrap-sass/assets/stylesheets/bootstrap/_popovers.scss","../../../../../node_modules/bootstrap-sass/assets/stylesheets/bootstrap/_carousel.scss","../../../../../node_modules/bootstrap-sass/assets/stylesheets/bootstrap/_utilities.scss","../../../../../node_modules/bootstrap-sass/assets/stylesheets/bootstrap/mixins/_center-block.scss","../../../../../node_modules/bootstrap-sass/assets/stylesheets/bootstrap/mixins/_hide-text.scss","../../../../../node_modules/bootstrap-sass/assets/stylesheets/bootstrap/_responsive-utilities.scss","../../../../../node_modules/bootstrap-sass/assets/stylesheets/bootstrap/mixins/_responsive-visibility.scss"],"names":[],"mappings":"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","file":"screen.css","sourceRoot":"src/Frontend/Core/Layout/Sass"} \ No newline at end of file +{"version":3,"sources":["../../../../../node_modules/bootstrap-sass/assets/stylesheets/_bootstrap.scss","../../../../../node_modules/bootstrap-sass/assets/stylesheets/bootstrap/_normalize.scss","../../../../../node_modules/bootstrap-sass/assets/stylesheets/bootstrap/_print.scss","../../../../../node_modules/bootstrap-sass/assets/stylesheets/bootstrap/_glyphicons.scss","../../../../../node_modules/bootstrap-sass/assets/stylesheets/bootstrap/mixins/_vendor-prefixes.scss","../../../../../node_modules/bootstrap-sass/assets/stylesheets/bootstrap/_scaffolding.scss","../../../../../node_modules/bootstrap-sass/assets/stylesheets/bootstrap/_variables.scss","../../../../../node_modules/bootstrap-sass/assets/stylesheets/bootstrap/mixins/_tab-focus.scss","../../../../../node_modules/bootstrap-sass/assets/stylesheets/bootstrap/mixins/_image.scss","../../../../../node_modules/bootstrap-sass/assets/stylesheets/bootstrap/_type.scss","../../../../../node_modules/bootstrap-sass/assets/stylesheets/bootstrap/mixins/_text-emphasis.scss","../../../../../node_modules/bootstrap-sass/assets/stylesheets/bootstrap/mixins/_background-variant.scss","../../../../../node_modules/bootstrap-sass/assets/stylesheets/bootstrap/mixins/_clearfix.scss","../../../../../node_modules/bootstrap-sass/assets/stylesheets/bootstrap/mixins/_text-overflow.scss","../../../../../node_modules/bootstrap-sass/assets/stylesheets/bootstrap/_code.scss","../../../../../node_modules/bootstrap-sass/assets/stylesheets/bootstrap/mixins/_grid.scss","../../../../../node_modules/bootstrap-sass/assets/stylesheets/bootstrap/_grid.scss","../../../../../node_modules/bootstrap-sass/assets/stylesheets/bootstrap/mixins/_grid-framework.scss","../../../../../node_modules/bootstrap-sass/assets/stylesheets/bootstrap/_tables.scss","../../../../../node_modules/bootstrap-sass/assets/stylesheets/bootstrap/mixins/_table-row.scss","../../../../../node_modules/bootstrap-sass/assets/stylesheets/bootstrap/_forms.scss","../../../../../node_modules/bootstrap-sass/assets/stylesheets/bootstrap/mixins/_forms.scss","../../../../../node_modules/bootstrap-sass/assets/stylesheets/bootstrap/_buttons.scss","../../../../../node_modules/bootstrap-sass/assets/stylesheets/bootstrap/mixins/_buttons.scss","../../../../../node_modules/bootstrap-sass/assets/stylesheets/bootstrap/mixins/_opacity.scss","../../../../../node_modules/bootstrap-sass/assets/stylesheets/bootstrap/_component-animations.scss","../../../../../node_modules/bootstrap-sass/assets/stylesheets/bootstrap/_dropdowns.scss","../../../../../node_modules/bootstrap-sass/assets/stylesheets/bootstrap/mixins/_nav-divider.scss","../../../../../node_modules/bootstrap-sass/assets/stylesheets/bootstrap/mixins/_reset-filter.scss","../../../../../node_modules/bootstrap-sass/assets/stylesheets/bootstrap/_button-groups.scss","../../../../../node_modules/bootstrap-sass/assets/stylesheets/bootstrap/mixins/_border-radius.scss","../../../../../node_modules/bootstrap-sass/assets/stylesheets/bootstrap/_input-groups.scss","../../../../../node_modules/bootstrap-sass/assets/stylesheets/bootstrap/_navs.scss","../../../../../node_modules/bootstrap-sass/assets/stylesheets/bootstrap/_navbar.scss","../../../../../node_modules/bootstrap-sass/assets/stylesheets/bootstrap/mixins/_nav-vertical-align.scss","../../../../../node_modules/bootstrap-sass/assets/stylesheets/bootstrap/_breadcrumbs.scss","../../../../../node_modules/bootstrap-sass/assets/stylesheets/bootstrap/_pagination.scss","../../../../../node_modules/bootstrap-sass/assets/stylesheets/bootstrap/mixins/_pagination.scss","../../../../../node_modules/bootstrap-sass/assets/stylesheets/bootstrap/_pager.scss","../../../../../node_modules/bootstrap-sass/assets/stylesheets/bootstrap/_labels.scss","../../../../../node_modules/bootstrap-sass/assets/stylesheets/bootstrap/mixins/_labels.scss","../../../../../node_modules/bootstrap-sass/assets/stylesheets/bootstrap/_badges.scss","../../../../../node_modules/bootstrap-sass/assets/stylesheets/bootstrap/_jumbotron.scss","../../../../../node_modules/bootstrap-sass/assets/stylesheets/bootstrap/_thumbnails.scss","../../../../../node_modules/bootstrap-sass/assets/stylesheets/bootstrap/_alerts.scss","../../../../../node_modules/bootstrap-sass/assets/stylesheets/bootstrap/mixins/_alerts.scss","../../../../../node_modules/bootstrap-sass/assets/stylesheets/bootstrap/_progress-bars.scss","../../../../../node_modules/bootstrap-sass/assets/stylesheets/bootstrap/mixins/_gradients.scss","../../../../../node_modules/bootstrap-sass/assets/stylesheets/bootstrap/mixins/_progress-bar.scss","../../../../../node_modules/bootstrap-sass/assets/stylesheets/bootstrap/_media.scss","../../../../../node_modules/bootstrap-sass/assets/stylesheets/bootstrap/_list-group.scss","../../../../../node_modules/bootstrap-sass/assets/stylesheets/bootstrap/mixins/_list-group.scss","../../../../../node_modules/bootstrap-sass/assets/stylesheets/bootstrap/_panels.scss","../../../../../node_modules/bootstrap-sass/assets/stylesheets/bootstrap/mixins/_panels.scss","../../../../../node_modules/bootstrap-sass/assets/stylesheets/bootstrap/_responsive-embed.scss","../../../../../node_modules/bootstrap-sass/assets/stylesheets/bootstrap/_wells.scss","../../../../../node_modules/bootstrap-sass/assets/stylesheets/bootstrap/_close.scss","../../../../../node_modules/bootstrap-sass/assets/stylesheets/bootstrap/_modals.scss","../../../../../node_modules/bootstrap-sass/assets/stylesheets/bootstrap/_tooltip.scss","../../../../../node_modules/bootstrap-sass/assets/stylesheets/bootstrap/mixins/_reset-text.scss","../../../../../node_modules/bootstrap-sass/assets/stylesheets/bootstrap/_popovers.scss","../../../../../node_modules/bootstrap-sass/assets/stylesheets/bootstrap/_carousel.scss","../../../../../node_modules/bootstrap-sass/assets/stylesheets/bootstrap/mixins/_center-block.scss","../../../../../node_modules/bootstrap-sass/assets/stylesheets/bootstrap/_utilities.scss","../../../../../node_modules/bootstrap-sass/assets/stylesheets/bootstrap/mixins/_hide-text.scss","../../../../../node_modules/bootstrap-sass/assets/stylesheets/bootstrap/_responsive-utilities.scss","../../../../../node_modules/bootstrap-sass/assets/stylesheets/bootstrap/mixins/_responsive-visibility.scss"],"names":[],"mappings":"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","file":"screen.css","sourceRoot":"src/Frontend/Core/Layout/Sass"} \ No newline at end of file diff --git a/src/Frontend/Core/Layout/Templates/Base.html.twig b/src/Frontend/Core/Layout/Templates/Base.html.twig index 22ae3ee6b7..e60099b955 100644 --- a/src/Frontend/Core/Layout/Templates/Base.html.twig +++ b/src/Frontend/Core/Layout/Templates/Base.html.twig @@ -6,12 +6,12 @@