diff --git a/.idea/HacktoberfestHackDay2018.iml b/.idea/HacktoberfestHackDay2018.iml new file mode 100644 index 0000000..c956989 --- /dev/null +++ b/.idea/HacktoberfestHackDay2018.iml @@ -0,0 +1,8 @@ + + + + + + + + \ No newline at end of file diff --git a/.idea/jsLibraryMappings.xml b/.idea/jsLibraryMappings.xml new file mode 100644 index 0000000..de4d97f --- /dev/null +++ b/.idea/jsLibraryMappings.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/.idea/misc.xml b/.idea/misc.xml new file mode 100644 index 0000000..28a804d --- /dev/null +++ b/.idea/misc.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/.idea/modules.xml b/.idea/modules.xml new file mode 100644 index 0000000..b71db4e --- /dev/null +++ b/.idea/modules.xml @@ -0,0 +1,8 @@ + + + + + + + + \ No newline at end of file diff --git a/.idea/vcs.xml b/.idea/vcs.xml new file mode 100644 index 0000000..94a25f7 --- /dev/null +++ b/.idea/vcs.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/.idea/workspace.xml b/.idea/workspace.xml new file mode 100644 index 0000000..0e5c577 --- /dev/null +++ b/.idea/workspace.xml @@ -0,0 +1,812 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + true + DEFINITION_ORDER + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 1539942664406 + + + 1539942664406 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/Show-Crypto-Currency-Price-in-Graph/amol/.editorconfig b/Show-Crypto-Currency-Price-in-Graph/amol/.editorconfig new file mode 100644 index 0000000..6f313c6 --- /dev/null +++ b/Show-Crypto-Currency-Price-in-Graph/amol/.editorconfig @@ -0,0 +1,15 @@ +root = true + +[*] +charset = utf-8 +end_of_line = lf +insert_final_newline = true +indent_style = space +indent_size = 4 +trim_trailing_whitespace = true + +[*.md] +trim_trailing_whitespace = false + +[*.yml] +indent_size = 2 diff --git a/Show-Crypto-Currency-Price-in-Graph/amol/.env.example b/Show-Crypto-Currency-Price-in-Graph/amol/.env.example new file mode 100644 index 0000000..27f6db4 --- /dev/null +++ b/Show-Crypto-Currency-Price-in-Graph/amol/.env.example @@ -0,0 +1,39 @@ +APP_NAME=Laravel +APP_ENV=local +APP_KEY= +APP_DEBUG=true +APP_URL=http://localhost + +LOG_CHANNEL=stack + +DB_CONNECTION=mysql +DB_HOST=127.0.0.1 +DB_PORT=3306 +DB_DATABASE=homestead +DB_USERNAME=homestead +DB_PASSWORD=secret + +BROADCAST_DRIVER=log +CACHE_DRIVER=file +QUEUE_CONNECTION=sync +SESSION_DRIVER=file +SESSION_LIFETIME=120 + +REDIS_HOST=127.0.0.1 +REDIS_PASSWORD=null +REDIS_PORT=6379 + +MAIL_DRIVER=smtp +MAIL_HOST=smtp.mailtrap.io +MAIL_PORT=2525 +MAIL_USERNAME=null +MAIL_PASSWORD=null +MAIL_ENCRYPTION=null + +PUSHER_APP_ID= +PUSHER_APP_KEY= +PUSHER_APP_SECRET= +PUSHER_APP_CLUSTER=mt1 + +MIX_PUSHER_APP_KEY="${PUSHER_APP_KEY}" +MIX_PUSHER_APP_CLUSTER="${PUSHER_APP_CLUSTER}" diff --git a/Show-Crypto-Currency-Price-in-Graph/amol/.gitattributes b/Show-Crypto-Currency-Price-in-Graph/amol/.gitattributes new file mode 100644 index 0000000..967315d --- /dev/null +++ b/Show-Crypto-Currency-Price-in-Graph/amol/.gitattributes @@ -0,0 +1,5 @@ +* text=auto +*.css linguist-vendored +*.scss linguist-vendored +*.js linguist-vendored +CHANGELOG.md export-ignore diff --git a/Show-Crypto-Currency-Price-in-Graph/amol/.gitignore b/Show-Crypto-Currency-Price-in-Graph/amol/.gitignore new file mode 100644 index 0000000..7c34e0f --- /dev/null +++ b/Show-Crypto-Currency-Price-in-Graph/amol/.gitignore @@ -0,0 +1,14 @@ +/node_modules +/public/hot +/public/storage +/storage/*.key +/vendor +/.idea +/.vscode +/.vagrant +Homestead.json +Homestead.yaml +npm-debug.log +yarn-error.log +.env +.phpunit.result.cache diff --git a/Show-Crypto-Currency-Price-in-Graph/amol/app/Console/Kernel.php b/Show-Crypto-Currency-Price-in-Graph/amol/app/Console/Kernel.php new file mode 100644 index 0000000..a8c5158 --- /dev/null +++ b/Show-Crypto-Currency-Price-in-Graph/amol/app/Console/Kernel.php @@ -0,0 +1,42 @@ +command('inspire') + // ->hourly(); + } + + /** + * Register the commands for the application. + * + * @return void + */ + protected function commands() + { + $this->load(__DIR__.'/Commands'); + + require base_path('routes/console.php'); + } +} diff --git a/Show-Crypto-Currency-Price-in-Graph/amol/app/Exceptions/Handler.php b/Show-Crypto-Currency-Price-in-Graph/amol/app/Exceptions/Handler.php new file mode 100644 index 0000000..043cad6 --- /dev/null +++ b/Show-Crypto-Currency-Price-in-Graph/amol/app/Exceptions/Handler.php @@ -0,0 +1,51 @@ +middleware('guest'); + } +} diff --git a/Show-Crypto-Currency-Price-in-Graph/amol/app/Http/Controllers/Auth/LoginController.php b/Show-Crypto-Currency-Price-in-Graph/amol/app/Http/Controllers/Auth/LoginController.php new file mode 100644 index 0000000..b2ea669 --- /dev/null +++ b/Show-Crypto-Currency-Price-in-Graph/amol/app/Http/Controllers/Auth/LoginController.php @@ -0,0 +1,39 @@ +middleware('guest')->except('logout'); + } +} diff --git a/Show-Crypto-Currency-Price-in-Graph/amol/app/Http/Controllers/Auth/RegisterController.php b/Show-Crypto-Currency-Price-in-Graph/amol/app/Http/Controllers/Auth/RegisterController.php new file mode 100644 index 0000000..e749c07 --- /dev/null +++ b/Show-Crypto-Currency-Price-in-Graph/amol/app/Http/Controllers/Auth/RegisterController.php @@ -0,0 +1,72 @@ +middleware('guest'); + } + + /** + * Get a validator for an incoming registration request. + * + * @param array $data + * @return \Illuminate\Contracts\Validation\Validator + */ + protected function validator(array $data) + { + return Validator::make($data, [ + 'name' => 'required|string|max:255', + 'email' => 'required|string|email|max:255|unique:users', + 'password' => 'required|string|min:6|confirmed', + ]); + } + + /** + * Create a new user instance after a valid registration. + * + * @param array $data + * @return \App\User + */ + protected function create(array $data) + { + return User::create([ + 'name' => $data['name'], + 'email' => $data['email'], + 'password' => Hash::make($data['password']), + ]); + } +} diff --git a/Show-Crypto-Currency-Price-in-Graph/amol/app/Http/Controllers/Auth/ResetPasswordController.php b/Show-Crypto-Currency-Price-in-Graph/amol/app/Http/Controllers/Auth/ResetPasswordController.php new file mode 100644 index 0000000..cf726ee --- /dev/null +++ b/Show-Crypto-Currency-Price-in-Graph/amol/app/Http/Controllers/Auth/ResetPasswordController.php @@ -0,0 +1,39 @@ +middleware('guest'); + } +} diff --git a/Show-Crypto-Currency-Price-in-Graph/amol/app/Http/Controllers/Auth/VerificationController.php b/Show-Crypto-Currency-Price-in-Graph/amol/app/Http/Controllers/Auth/VerificationController.php new file mode 100644 index 0000000..b5d8ba3 --- /dev/null +++ b/Show-Crypto-Currency-Price-in-Graph/amol/app/Http/Controllers/Auth/VerificationController.php @@ -0,0 +1,42 @@ +middleware('auth'); + $this->middleware('signed')->only('verify'); + $this->middleware('throttle:6,1')->only('verify', 'resend'); + } +} diff --git a/Show-Crypto-Currency-Price-in-Graph/amol/app/Http/Controllers/Controller.php b/Show-Crypto-Currency-Price-in-Graph/amol/app/Http/Controllers/Controller.php new file mode 100644 index 0000000..03e02a2 --- /dev/null +++ b/Show-Crypto-Currency-Price-in-Graph/amol/app/Http/Controllers/Controller.php @@ -0,0 +1,13 @@ +get('https://api.nomics.com/v1/currencies/highs?key=b563950e3cdccce870db284024dbba33'); + $response = $request->getBody()->getContents(); + return view('crypto.index')->with('data', json_decode($response)); + } +} diff --git a/Show-Crypto-Currency-Price-in-Graph/amol/app/Http/Kernel.php b/Show-Crypto-Currency-Price-in-Graph/amol/app/Http/Kernel.php new file mode 100644 index 0000000..0e5dff8 --- /dev/null +++ b/Show-Crypto-Currency-Price-in-Graph/amol/app/Http/Kernel.php @@ -0,0 +1,64 @@ + [ + \App\Http\Middleware\EncryptCookies::class, + \Illuminate\Cookie\Middleware\AddQueuedCookiesToResponse::class, + \Illuminate\Session\Middleware\StartSession::class, + // \Illuminate\Session\Middleware\AuthenticateSession::class, + \Illuminate\View\Middleware\ShareErrorsFromSession::class, + \App\Http\Middleware\VerifyCsrfToken::class, + \Illuminate\Routing\Middleware\SubstituteBindings::class, + ], + + 'api' => [ + 'throttle:60,1', + 'bindings', + ], + ]; + + /** + * The application's route middleware. + * + * These middleware may be assigned to groups or used individually. + * + * @var array + */ + protected $routeMiddleware = [ + 'auth' => \App\Http\Middleware\Authenticate::class, + 'auth.basic' => \Illuminate\Auth\Middleware\AuthenticateWithBasicAuth::class, + 'bindings' => \Illuminate\Routing\Middleware\SubstituteBindings::class, + 'cache.headers' => \Illuminate\Http\Middleware\SetCacheHeaders::class, + 'can' => \Illuminate\Auth\Middleware\Authorize::class, + 'guest' => \App\Http\Middleware\RedirectIfAuthenticated::class, + 'signed' => \Illuminate\Routing\Middleware\ValidateSignature::class, + 'throttle' => \Illuminate\Routing\Middleware\ThrottleRequests::class, + 'verified' => \Illuminate\Auth\Middleware\EnsureEmailIsVerified::class, + ]; +} diff --git a/Show-Crypto-Currency-Price-in-Graph/amol/app/Http/Middleware/Authenticate.php b/Show-Crypto-Currency-Price-in-Graph/amol/app/Http/Middleware/Authenticate.php new file mode 100644 index 0000000..41ad4a9 --- /dev/null +++ b/Show-Crypto-Currency-Price-in-Graph/amol/app/Http/Middleware/Authenticate.php @@ -0,0 +1,19 @@ +check()) { + return redirect('/home'); + } + + return $next($request); + } +} diff --git a/Show-Crypto-Currency-Price-in-Graph/amol/app/Http/Middleware/TrimStrings.php b/Show-Crypto-Currency-Price-in-Graph/amol/app/Http/Middleware/TrimStrings.php new file mode 100644 index 0000000..5a50e7b --- /dev/null +++ b/Show-Crypto-Currency-Price-in-Graph/amol/app/Http/Middleware/TrimStrings.php @@ -0,0 +1,18 @@ + 'App\Policies\ModelPolicy', + ]; + + /** + * Register any authentication / authorization services. + * + * @return void + */ + public function boot() + { + $this->registerPolicies(); + + // + } +} diff --git a/Show-Crypto-Currency-Price-in-Graph/amol/app/Providers/BroadcastServiceProvider.php b/Show-Crypto-Currency-Price-in-Graph/amol/app/Providers/BroadcastServiceProvider.php new file mode 100644 index 0000000..352cce4 --- /dev/null +++ b/Show-Crypto-Currency-Price-in-Graph/amol/app/Providers/BroadcastServiceProvider.php @@ -0,0 +1,21 @@ + [ + SendEmailVerificationNotification::class, + ], + ]; + + /** + * Register any events for your application. + * + * @return void + */ + public function boot() + { + parent::boot(); + + // + } +} diff --git a/Show-Crypto-Currency-Price-in-Graph/amol/app/Providers/RouteServiceProvider.php b/Show-Crypto-Currency-Price-in-Graph/amol/app/Providers/RouteServiceProvider.php new file mode 100644 index 0000000..5ea48d3 --- /dev/null +++ b/Show-Crypto-Currency-Price-in-Graph/amol/app/Providers/RouteServiceProvider.php @@ -0,0 +1,73 @@ +mapApiRoutes(); + + $this->mapWebRoutes(); + + // + } + + /** + * Define the "web" routes for the application. + * + * These routes all receive session state, CSRF protection, etc. + * + * @return void + */ + protected function mapWebRoutes() + { + Route::middleware('web') + ->namespace($this->namespace) + ->group(base_path('routes/web.php')); + } + + /** + * Define the "api" routes for the application. + * + * These routes are typically stateless. + * + * @return void + */ + protected function mapApiRoutes() + { + Route::prefix('api') + ->middleware('api') + ->namespace($this->namespace) + ->group(base_path('routes/api.php')); + } +} diff --git a/Show-Crypto-Currency-Price-in-Graph/amol/app/User.php b/Show-Crypto-Currency-Price-in-Graph/amol/app/User.php new file mode 100644 index 0000000..fbc0e58 --- /dev/null +++ b/Show-Crypto-Currency-Price-in-Graph/amol/app/User.php @@ -0,0 +1,30 @@ +make(Illuminate\Contracts\Console\Kernel::class); + +$status = $kernel->handle( + $input = new Symfony\Component\Console\Input\ArgvInput, + new Symfony\Component\Console\Output\ConsoleOutput +); + +/* +|-------------------------------------------------------------------------- +| Shutdown The Application +|-------------------------------------------------------------------------- +| +| Once Artisan has finished running, we will fire off the shutdown events +| so that any final work may be done by the application before we shut +| down the process. This is the last thing to happen to the request. +| +*/ + +$kernel->terminate($input, $status); + +exit($status); diff --git a/Show-Crypto-Currency-Price-in-Graph/amol/bootstrap/app.php b/Show-Crypto-Currency-Price-in-Graph/amol/bootstrap/app.php new file mode 100644 index 0000000..f2801ad --- /dev/null +++ b/Show-Crypto-Currency-Price-in-Graph/amol/bootstrap/app.php @@ -0,0 +1,55 @@ +singleton( + Illuminate\Contracts\Http\Kernel::class, + App\Http\Kernel::class +); + +$app->singleton( + Illuminate\Contracts\Console\Kernel::class, + App\Console\Kernel::class +); + +$app->singleton( + Illuminate\Contracts\Debug\ExceptionHandler::class, + App\Exceptions\Handler::class +); + +/* +|-------------------------------------------------------------------------- +| Return The Application +|-------------------------------------------------------------------------- +| +| This script returns the application instance. The instance is given to +| the calling script so we can separate the building of the instances +| from the actual running of the application and sending responses. +| +*/ + +return $app; diff --git a/Show-Crypto-Currency-Price-in-Graph/amol/bootstrap/cache/.gitignore b/Show-Crypto-Currency-Price-in-Graph/amol/bootstrap/cache/.gitignore new file mode 100644 index 0000000..d6b7ef3 --- /dev/null +++ b/Show-Crypto-Currency-Price-in-Graph/amol/bootstrap/cache/.gitignore @@ -0,0 +1,2 @@ +* +!.gitignore diff --git a/Show-Crypto-Currency-Price-in-Graph/amol/composer.json b/Show-Crypto-Currency-Price-in-Graph/amol/composer.json new file mode 100644 index 0000000..1f7a398 --- /dev/null +++ b/Show-Crypto-Currency-Price-in-Graph/amol/composer.json @@ -0,0 +1,61 @@ +{ + "name": "laravel/laravel", + "description": "The Laravel Framework.", + "keywords": ["framework", "laravel"], + "license": "MIT", + "type": "project", + "require": { + "php": "^7.1.3", + "fideloper/proxy": "^4.0", + "laravel/framework": "5.7.*", + "laravel/tinker": "^1.0" + }, + "require-dev": { + "beyondcode/laravel-dump-server": "^1.0", + "filp/whoops": "^2.0", + "fzaninotto/faker": "^1.4", + "mockery/mockery": "^1.0", + "nunomaduro/collision": "^2.0", + "phpunit/phpunit": "^7.0", + "guzzlehttp/guzzle": "~6.0" + }, + "autoload": { + "classmap": [ + "database/seeds", + "database/factories" + ], + "psr-4": { + "App\\": "app/" + } + }, + "autoload-dev": { + "psr-4": { + "Tests\\": "tests/" + } + }, + "extra": { + "laravel": { + "dont-discover": [ + ] + } + }, + "scripts": { + "post-root-package-install": [ + "@php -r \"file_exists('.env') || copy('.env.example', '.env');\"" + ], + "post-create-project-cmd": [ + "@php artisan key:generate" + ], + "post-autoload-dump": [ + "Illuminate\\Foundation\\ComposerScripts::postAutoloadDump", + "@php artisan package:discover" + ] + }, + "config": { + "preferred-install": "dist", + "sort-packages": true, + "optimize-autoloader": true + }, + "minimum-stability": "dev", + "prefer-stable": true +} diff --git a/Show-Crypto-Currency-Price-in-Graph/amol/composer.lock b/Show-Crypto-Currency-Price-in-Graph/amol/composer.lock new file mode 100644 index 0000000..4d29f7d --- /dev/null +++ b/Show-Crypto-Currency-Price-in-Graph/amol/composer.lock @@ -0,0 +1,4361 @@ +{ + "_readme": [ + "This file locks the dependencies of your project to a known state", + "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": "8bda2e09801848c93ffb916e9501bcee", + "packages": [ + { + "name": "dnoegel/php-xdg-base-dir", + "version": "0.1", + "source": { + "type": "git", + "url": "https://github.com/dnoegel/php-xdg-base-dir.git", + "reference": "265b8593498b997dc2d31e75b89f053b5cc9621a" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/dnoegel/php-xdg-base-dir/zipball/265b8593498b997dc2d31e75b89f053b5cc9621a", + "reference": "265b8593498b997dc2d31e75b89f053b5cc9621a", + "shasum": "" + }, + "require": { + "php": ">=5.3.2" + }, + "require-dev": { + "phpunit/phpunit": "@stable" + }, + "type": "project", + "autoload": { + "psr-4": { + "XdgBaseDir\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "description": "implementation of xdg base directory specification for php", + "time": "2014-10-24T07:27:01+00:00" + }, + { + "name": "doctrine/inflector", + "version": "v1.3.0", + "source": { + "type": "git", + "url": "https://github.com/doctrine/inflector.git", + "reference": "5527a48b7313d15261292c149e55e26eae771b0a" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/doctrine/inflector/zipball/5527a48b7313d15261292c149e55e26eae771b0a", + "reference": "5527a48b7313d15261292c149e55e26eae771b0a", + "shasum": "" + }, + "require": { + "php": "^7.1" + }, + "require-dev": { + "phpunit/phpunit": "^6.2" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.3.x-dev" + } + }, + "autoload": { + "psr-4": { + "Doctrine\\Common\\Inflector\\": "lib/Doctrine/Common/Inflector" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Roman Borschel", + "email": "roman@code-factory.org" + }, + { + "name": "Benjamin Eberlei", + "email": "kontakt@beberlei.de" + }, + { + "name": "Guilherme Blanco", + "email": "guilhermeblanco@gmail.com" + }, + { + "name": "Jonathan Wage", + "email": "jonwage@gmail.com" + }, + { + "name": "Johannes Schmitt", + "email": "schmittjoh@gmail.com" + } + ], + "description": "Common String Manipulations with regard to casing and singular/plural rules.", + "homepage": "http://www.doctrine-project.org", + "keywords": [ + "inflection", + "pluralize", + "singularize", + "string" + ], + "time": "2018-01-09T20:05:19+00:00" + }, + { + "name": "doctrine/lexer", + "version": "v1.0.1", + "source": { + "type": "git", + "url": "https://github.com/doctrine/lexer.git", + "reference": "83893c552fd2045dd78aef794c31e694c37c0b8c" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/doctrine/lexer/zipball/83893c552fd2045dd78aef794c31e694c37c0b8c", + "reference": "83893c552fd2045dd78aef794c31e694c37c0b8c", + "shasum": "" + }, + "require": { + "php": ">=5.3.2" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0.x-dev" + } + }, + "autoload": { + "psr-0": { + "Doctrine\\Common\\Lexer\\": "lib/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Roman Borschel", + "email": "roman@code-factory.org" + }, + { + "name": "Guilherme Blanco", + "email": "guilhermeblanco@gmail.com" + }, + { + "name": "Johannes Schmitt", + "email": "schmittjoh@gmail.com" + } + ], + "description": "Base library for a lexer that can be used in Top-Down, Recursive Descent Parsers.", + "homepage": "http://www.doctrine-project.org", + "keywords": [ + "lexer", + "parser" + ], + "time": "2014-09-09T13:34:57+00:00" + }, + { + "name": "dragonmantank/cron-expression", + "version": "v2.2.0", + "source": { + "type": "git", + "url": "https://github.com/dragonmantank/cron-expression.git", + "reference": "92a2c3768d50e21a1f26a53cb795ce72806266c5" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/dragonmantank/cron-expression/zipball/92a2c3768d50e21a1f26a53cb795ce72806266c5", + "reference": "92a2c3768d50e21a1f26a53cb795ce72806266c5", + "shasum": "" + }, + "require": { + "php": ">=7.0.0" + }, + "require-dev": { + "phpunit/phpunit": "~6.4" + }, + "type": "library", + "autoload": { + "psr-4": { + "Cron\\": "src/Cron/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Michael Dowling", + "email": "mtdowling@gmail.com", + "homepage": "https://github.com/mtdowling" + }, + { + "name": "Chris Tankersley", + "email": "chris@ctankersley.com", + "homepage": "https://github.com/dragonmantank" + } + ], + "description": "CRON for PHP: Calculate the next or previous run date and determine if a CRON expression is due", + "keywords": [ + "cron", + "schedule" + ], + "time": "2018-06-06T03:12:17+00:00" + }, + { + "name": "egulias/email-validator", + "version": "2.1.6", + "source": { + "type": "git", + "url": "https://github.com/egulias/EmailValidator.git", + "reference": "0578b32b30b22de3e8664f797cf846fc9246f786" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/egulias/EmailValidator/zipball/0578b32b30b22de3e8664f797cf846fc9246f786", + "reference": "0578b32b30b22de3e8664f797cf846fc9246f786", + "shasum": "" + }, + "require": { + "doctrine/lexer": "^1.0.1", + "php": ">= 5.5" + }, + "require-dev": { + "dominicsayers/isemail": "dev-master", + "phpunit/phpunit": "^4.8.35||^5.7||^6.0", + "satooshi/php-coveralls": "^1.0.1" + }, + "suggest": { + "ext-intl": "PHP Internationalization Libraries are required to use the SpoofChecking validation" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.0.x-dev" + } + }, + "autoload": { + "psr-4": { + "Egulias\\EmailValidator\\": "EmailValidator" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Eduardo Gulias Davis" + } + ], + "description": "A library for validating emails against several RFCs", + "homepage": "https://github.com/egulias/EmailValidator", + "keywords": [ + "email", + "emailvalidation", + "emailvalidator", + "validation", + "validator" + ], + "time": "2018-09-25T20:47:26+00:00" + }, + { + "name": "erusev/parsedown", + "version": "1.7.1", + "source": { + "type": "git", + "url": "https://github.com/erusev/parsedown.git", + "reference": "92e9c27ba0e74b8b028b111d1b6f956a15c01fc1" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/erusev/parsedown/zipball/92e9c27ba0e74b8b028b111d1b6f956a15c01fc1", + "reference": "92e9c27ba0e74b8b028b111d1b6f956a15c01fc1", + "shasum": "" + }, + "require": { + "ext-mbstring": "*", + "php": ">=5.3.0" + }, + "require-dev": { + "phpunit/phpunit": "^4.8.35" + }, + "type": "library", + "autoload": { + "psr-0": { + "Parsedown": "" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Emanuil Rusev", + "email": "hello@erusev.com", + "homepage": "http://erusev.com" + } + ], + "description": "Parser for Markdown.", + "homepage": "http://parsedown.org", + "keywords": [ + "markdown", + "parser" + ], + "time": "2018-03-08T01:11:30+00:00" + }, + { + "name": "fideloper/proxy", + "version": "4.0.0", + "source": { + "type": "git", + "url": "https://github.com/fideloper/TrustedProxy.git", + "reference": "cf8a0ca4b85659b9557e206c90110a6a4dba980a" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/fideloper/TrustedProxy/zipball/cf8a0ca4b85659b9557e206c90110a6a4dba980a", + "reference": "cf8a0ca4b85659b9557e206c90110a6a4dba980a", + "shasum": "" + }, + "require": { + "illuminate/contracts": "~5.0", + "php": ">=5.4.0" + }, + "require-dev": { + "illuminate/http": "~5.6", + "mockery/mockery": "~1.0", + "phpunit/phpunit": "^6.0" + }, + "type": "library", + "extra": { + "laravel": { + "providers": [ + "Fideloper\\Proxy\\TrustedProxyServiceProvider" + ] + } + }, + "autoload": { + "psr-4": { + "Fideloper\\Proxy\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Chris Fidao", + "email": "fideloper@gmail.com" + } + ], + "description": "Set trusted proxies for Laravel", + "keywords": [ + "load balancing", + "proxy", + "trusted proxy" + ], + "time": "2018-02-07T20:20:57+00:00" + }, + { + "name": "jakub-onderka/php-console-color", + "version": "v0.2", + "source": { + "type": "git", + "url": "https://github.com/JakubOnderka/PHP-Console-Color.git", + "reference": "d5deaecff52a0d61ccb613bb3804088da0307191" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/JakubOnderka/PHP-Console-Color/zipball/d5deaecff52a0d61ccb613bb3804088da0307191", + "reference": "d5deaecff52a0d61ccb613bb3804088da0307191", + "shasum": "" + }, + "require": { + "php": ">=5.4.0" + }, + "require-dev": { + "jakub-onderka/php-code-style": "1.0", + "jakub-onderka/php-parallel-lint": "1.0", + "jakub-onderka/php-var-dump-check": "0.*", + "phpunit/phpunit": "~4.3", + "squizlabs/php_codesniffer": "1.*" + }, + "type": "library", + "autoload": { + "psr-4": { + "JakubOnderka\\PhpConsoleColor\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-2-Clause" + ], + "authors": [ + { + "name": "Jakub Onderka", + "email": "jakub.onderka@gmail.com" + } + ], + "time": "2018-09-29T17:23:10+00:00" + }, + { + "name": "jakub-onderka/php-console-highlighter", + "version": "v0.3.2", + "source": { + "type": "git", + "url": "https://github.com/JakubOnderka/PHP-Console-Highlighter.git", + "reference": "7daa75df45242c8d5b75a22c00a201e7954e4fb5" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/JakubOnderka/PHP-Console-Highlighter/zipball/7daa75df45242c8d5b75a22c00a201e7954e4fb5", + "reference": "7daa75df45242c8d5b75a22c00a201e7954e4fb5", + "shasum": "" + }, + "require": { + "jakub-onderka/php-console-color": "~0.1", + "php": ">=5.3.0" + }, + "require-dev": { + "jakub-onderka/php-code-style": "~1.0", + "jakub-onderka/php-parallel-lint": "~0.5", + "jakub-onderka/php-var-dump-check": "~0.1", + "phpunit/phpunit": "~4.0", + "squizlabs/php_codesniffer": "~1.5" + }, + "type": "library", + "autoload": { + "psr-0": { + "JakubOnderka\\PhpConsoleHighlighter": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Jakub Onderka", + "email": "acci@acci.cz", + "homepage": "http://www.acci.cz/" + } + ], + "time": "2015-04-20T18:58:01+00:00" + }, + { + "name": "laravel/framework", + "version": "v5.7.9", + "source": { + "type": "git", + "url": "https://github.com/laravel/framework.git", + "reference": "172f69f86bb86e107fb9fafff293b4b01291cf05" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/laravel/framework/zipball/172f69f86bb86e107fb9fafff293b4b01291cf05", + "reference": "172f69f86bb86e107fb9fafff293b4b01291cf05", + "shasum": "" + }, + "require": { + "doctrine/inflector": "^1.1", + "dragonmantank/cron-expression": "^2.0", + "erusev/parsedown": "^1.7", + "ext-mbstring": "*", + "ext-openssl": "*", + "league/flysystem": "^1.0.8", + "monolog/monolog": "^1.12", + "nesbot/carbon": "^1.26.3", + "opis/closure": "^3.1", + "php": "^7.1.3", + "psr/container": "^1.0", + "psr/simple-cache": "^1.0", + "ramsey/uuid": "^3.7", + "swiftmailer/swiftmailer": "^6.0", + "symfony/console": "^4.1", + "symfony/debug": "^4.1", + "symfony/finder": "^4.1", + "symfony/http-foundation": "^4.1", + "symfony/http-kernel": "^4.1", + "symfony/process": "^4.1", + "symfony/routing": "^4.1", + "symfony/var-dumper": "^4.1", + "tijsverkoyen/css-to-inline-styles": "^2.2.1", + "vlucas/phpdotenv": "^2.2" + }, + "conflict": { + "tightenco/collect": "<5.5.33" + }, + "replace": { + "illuminate/auth": "self.version", + "illuminate/broadcasting": "self.version", + "illuminate/bus": "self.version", + "illuminate/cache": "self.version", + "illuminate/config": "self.version", + "illuminate/console": "self.version", + "illuminate/container": "self.version", + "illuminate/contracts": "self.version", + "illuminate/cookie": "self.version", + "illuminate/database": "self.version", + "illuminate/encryption": "self.version", + "illuminate/events": "self.version", + "illuminate/filesystem": "self.version", + "illuminate/hashing": "self.version", + "illuminate/http": "self.version", + "illuminate/log": "self.version", + "illuminate/mail": "self.version", + "illuminate/notifications": "self.version", + "illuminate/pagination": "self.version", + "illuminate/pipeline": "self.version", + "illuminate/queue": "self.version", + "illuminate/redis": "self.version", + "illuminate/routing": "self.version", + "illuminate/session": "self.version", + "illuminate/support": "self.version", + "illuminate/translation": "self.version", + "illuminate/validation": "self.version", + "illuminate/view": "self.version" + }, + "require-dev": { + "aws/aws-sdk-php": "^3.0", + "doctrine/dbal": "^2.6", + "filp/whoops": "^2.1.4", + "league/flysystem-cached-adapter": "^1.0", + "mockery/mockery": "^1.0", + "moontoast/math": "^1.1", + "orchestra/testbench-core": "3.7.*", + "pda/pheanstalk": "^3.0", + "phpunit/phpunit": "^7.0", + "predis/predis": "^1.1.1", + "symfony/css-selector": "^4.1", + "symfony/dom-crawler": "^4.1", + "true/punycode": "^2.1" + }, + "suggest": { + "aws/aws-sdk-php": "Required to use the SQS queue driver and SES mail driver (^3.0).", + "doctrine/dbal": "Required to rename columns and drop SQLite columns (^2.6).", + "ext-pcntl": "Required to use all features of the queue worker.", + "ext-posix": "Required to use all features of the queue worker.", + "fzaninotto/faker": "Required to use the eloquent factory builder (^1.4).", + "guzzlehttp/guzzle": "Required to use the Mailgun and Mandrill mail drivers and the ping methods on schedules (^6.0).", + "laravel/tinker": "Required to use the tinker console command (^1.0).", + "league/flysystem-aws-s3-v3": "Required to use the Flysystem S3 driver (^1.0).", + "league/flysystem-cached-adapter": "Required to use the Flysystem cache (^1.0).", + "league/flysystem-rackspace": "Required to use the Flysystem Rackspace driver (^1.0).", + "league/flysystem-sftp": "Required to use the Flysystem SFTP driver (^1.0).", + "moontoast/math": "Required to use ordered UUIDs (^1.1).", + "nexmo/client": "Required to use the Nexmo transport (^1.0).", + "pda/pheanstalk": "Required to use the beanstalk queue driver (^3.0).", + "predis/predis": "Required to use the redis cache and queue drivers (^1.0).", + "pusher/pusher-php-server": "Required to use the Pusher broadcast driver (^3.0).", + "symfony/css-selector": "Required to use some of the crawler integration testing tools (^4.1).", + "symfony/dom-crawler": "Required to use most of the crawler integration testing tools (^4.1).", + "symfony/psr-http-message-bridge": "Required to psr7 bridging features (^1.0)." + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "5.7-dev" + } + }, + "autoload": { + "files": [ + "src/Illuminate/Foundation/helpers.php", + "src/Illuminate/Support/helpers.php" + ], + "psr-4": { + "Illuminate\\": "src/Illuminate/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Taylor Otwell", + "email": "taylor@laravel.com" + } + ], + "description": "The Laravel Framework.", + "homepage": "https://laravel.com", + "keywords": [ + "framework", + "laravel" + ], + "time": "2018-10-09T13:28:28+00:00" + }, + { + "name": "laravel/tinker", + "version": "v1.0.8", + "source": { + "type": "git", + "url": "https://github.com/laravel/tinker.git", + "reference": "cafbf598a90acde68985660e79b2b03c5609a405" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/laravel/tinker/zipball/cafbf598a90acde68985660e79b2b03c5609a405", + "reference": "cafbf598a90acde68985660e79b2b03c5609a405", + "shasum": "" + }, + "require": { + "illuminate/console": "~5.1", + "illuminate/contracts": "~5.1", + "illuminate/support": "~5.1", + "php": ">=5.5.9", + "psy/psysh": "0.7.*|0.8.*|0.9.*", + "symfony/var-dumper": "~3.0|~4.0" + }, + "require-dev": { + "phpunit/phpunit": "~4.0|~5.0" + }, + "suggest": { + "illuminate/database": "The Illuminate Database package (~5.1)." + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0-dev" + }, + "laravel": { + "providers": [ + "Laravel\\Tinker\\TinkerServiceProvider" + ] + } + }, + "autoload": { + "psr-4": { + "Laravel\\Tinker\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Taylor Otwell", + "email": "taylor@laravel.com" + } + ], + "description": "Powerful REPL for the Laravel framework.", + "keywords": [ + "REPL", + "Tinker", + "laravel", + "psysh" + ], + "time": "2018-10-12T19:39:35+00:00" + }, + { + "name": "league/flysystem", + "version": "1.0.48", + "source": { + "type": "git", + "url": "https://github.com/thephpleague/flysystem.git", + "reference": "a6ded5b2f6055e2db97b4b859fdfca2b952b78aa" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/thephpleague/flysystem/zipball/a6ded5b2f6055e2db97b4b859fdfca2b952b78aa", + "reference": "a6ded5b2f6055e2db97b4b859fdfca2b952b78aa", + "shasum": "" + }, + "require": { + "ext-fileinfo": "*", + "php": ">=5.5.9" + }, + "conflict": { + "league/flysystem-sftp": "<1.0.6" + }, + "require-dev": { + "phpspec/phpspec": "^3.4", + "phpunit/phpunit": "^5.7.10" + }, + "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", + "league/flysystem-cached-adapter": "Flysystem adapter decorator for metadata caching", + "league/flysystem-eventable-filesystem": "Allows you to use EventableFilesystem", + "league/flysystem-rackspace": "Allows you to use Rackspace Cloud Files", + "league/flysystem-sftp": "Allows you to use SFTP server storage via phpseclib", + "league/flysystem-webdav": "Allows you to use WebDAV storage", + "league/flysystem-ziparchive": "Allows you to use ZipArchive adapter", + "spatie/flysystem-dropbox": "Allows you to use Dropbox storage", + "srmklive/flysystem-dropbox-v2": "Allows you to use Dropbox storage for PHP 5 applications" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.1-dev" + } + }, + "autoload": { + "psr-4": { + "League\\Flysystem\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Frank de Jonge", + "email": "info@frenky.net" + } + ], + "description": "Filesystem abstraction: Many filesystems, one API.", + "keywords": [ + "Cloud Files", + "WebDAV", + "abstraction", + "aws", + "cloud", + "copy.com", + "dropbox", + "file systems", + "files", + "filesystem", + "filesystems", + "ftp", + "rackspace", + "remote", + "s3", + "sftp", + "storage" + ], + "time": "2018-10-15T13:53:10+00:00" + }, + { + "name": "monolog/monolog", + "version": "1.23.0", + "source": { + "type": "git", + "url": "https://github.com/Seldaek/monolog.git", + "reference": "fd8c787753b3a2ad11bc60c063cff1358a32a3b4" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/Seldaek/monolog/zipball/fd8c787753b3a2ad11bc60c063cff1358a32a3b4", + "reference": "fd8c787753b3a2ad11bc60c063cff1358a32a3b4", + "shasum": "" + }, + "require": { + "php": ">=5.3.0", + "psr/log": "~1.0" + }, + "provide": { + "psr/log-implementation": "1.0.0" + }, + "require-dev": { + "aws/aws-sdk-php": "^2.4.9 || ^3.0", + "doctrine/couchdb": "~1.0@dev", + "graylog2/gelf-php": "~1.0", + "jakub-onderka/php-parallel-lint": "0.9", + "php-amqplib/php-amqplib": "~2.4", + "php-console/php-console": "^3.1.3", + "phpunit/phpunit": "~4.5", + "phpunit/phpunit-mock-objects": "2.3.0", + "ruflin/elastica": ">=0.90 <3.0", + "sentry/sentry": "^0.13", + "swiftmailer/swiftmailer": "^5.3|^6.0" + }, + "suggest": { + "aws/aws-sdk-php": "Allow sending log messages to AWS services like DynamoDB", + "doctrine/couchdb": "Allow sending log messages to a CouchDB server", + "ext-amqp": "Allow sending log messages to an AMQP server (1.0+ required)", + "ext-mongo": "Allow sending log messages to a MongoDB server", + "graylog2/gelf-php": "Allow sending log messages to a GrayLog2 server", + "mongodb/mongodb": "Allow sending log messages to a MongoDB server via PHP Driver", + "php-amqplib/php-amqplib": "Allow sending log messages to an AMQP server using php-amqplib", + "php-console/php-console": "Allow sending log messages to Google Chrome", + "rollbar/rollbar": "Allow sending log messages to Rollbar", + "ruflin/elastica": "Allow sending log messages to an Elastic Search server", + "sentry/sentry": "Allow sending log messages to a Sentry server" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.0.x-dev" + } + }, + "autoload": { + "psr-4": { + "Monolog\\": "src/Monolog" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Jordi Boggiano", + "email": "j.boggiano@seld.be", + "homepage": "http://seld.be" + } + ], + "description": "Sends your logs to files, sockets, inboxes, databases and various web services", + "homepage": "http://github.com/Seldaek/monolog", + "keywords": [ + "log", + "logging", + "psr-3" + ], + "time": "2017-06-19T01:22:40+00:00" + }, + { + "name": "nesbot/carbon", + "version": "1.34.0", + "source": { + "type": "git", + "url": "https://github.com/briannesbitt/Carbon.git", + "reference": "1dbd3cb01c5645f3e7deda7aa46ef780d95fcc33" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/briannesbitt/Carbon/zipball/1dbd3cb01c5645f3e7deda7aa46ef780d95fcc33", + "reference": "1dbd3cb01c5645f3e7deda7aa46ef780d95fcc33", + "shasum": "" + }, + "require": { + "php": ">=5.3.9", + "symfony/translation": "~2.6 || ~3.0 || ~4.0" + }, + "require-dev": { + "friendsofphp/php-cs-fixer": "~2", + "phpunit/phpunit": "^4.8.35 || ^5.7" + }, + "type": "library", + "extra": { + "laravel": { + "providers": [ + "Carbon\\Laravel\\ServiceProvider" + ] + } + }, + "autoload": { + "psr-4": { + "": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Brian Nesbitt", + "email": "brian@nesbot.com", + "homepage": "http://nesbot.com" + } + ], + "description": "A simple API extension for DateTime.", + "homepage": "http://carbon.nesbot.com", + "keywords": [ + "date", + "datetime", + "time" + ], + "time": "2018-09-20T19:36:25+00:00" + }, + { + "name": "nikic/php-parser", + "version": "v4.1.0", + "source": { + "type": "git", + "url": "https://github.com/nikic/PHP-Parser.git", + "reference": "d0230c5c77a7e3cfa69446febf340978540958c0" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/nikic/PHP-Parser/zipball/d0230c5c77a7e3cfa69446febf340978540958c0", + "reference": "d0230c5c77a7e3cfa69446febf340978540958c0", + "shasum": "" + }, + "require": { + "ext-tokenizer": "*", + "php": ">=7.0" + }, + "require-dev": { + "phpunit/phpunit": "^6.5 || ^7.0" + }, + "bin": [ + "bin/php-parse" + ], + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "4.1-dev" + } + }, + "autoload": { + "psr-4": { + "PhpParser\\": "lib/PhpParser" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Nikita Popov" + } + ], + "description": "A PHP parser written in PHP", + "keywords": [ + "parser", + "php" + ], + "time": "2018-10-10T09:24:14+00:00" + }, + { + "name": "opis/closure", + "version": "3.1.1", + "source": { + "type": "git", + "url": "https://github.com/opis/closure.git", + "reference": "d3209e46ad6c69a969b705df0738fd0dbe26ef9e" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/opis/closure/zipball/d3209e46ad6c69a969b705df0738fd0dbe26ef9e", + "reference": "d3209e46ad6c69a969b705df0738fd0dbe26ef9e", + "shasum": "" + }, + "require": { + "php": "^5.4 || ^7.0" + }, + "require-dev": { + "jeremeamia/superclosure": "^2.0", + "phpunit/phpunit": "^4.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "3.0.x-dev" + } + }, + "autoload": { + "psr-4": { + "Opis\\Closure\\": "src/" + }, + "files": [ + "functions.php" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Marius Sarca", + "email": "marius.sarca@gmail.com" + }, + { + "name": "Sorin Sarca", + "email": "sarca_sorin@hotmail.com" + } + ], + "description": "A library that can be used to serialize closures (anonymous functions) and arbitrary objects.", + "homepage": "https://opis.io/closure", + "keywords": [ + "anonymous functions", + "closure", + "function", + "serializable", + "serialization", + "serialize" + ], + "time": "2018-10-02T13:36:53+00:00" + }, + { + "name": "paragonie/random_compat", + "version": "v9.99.99", + "source": { + "type": "git", + "url": "https://github.com/paragonie/random_compat.git", + "reference": "84b4dfb120c6f9b4ff7b3685f9b8f1aa365a0c95" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/paragonie/random_compat/zipball/84b4dfb120c6f9b4ff7b3685f9b8f1aa365a0c95", + "reference": "84b4dfb120c6f9b4ff7b3685f9b8f1aa365a0c95", + "shasum": "" + }, + "require": { + "php": "^7" + }, + "require-dev": { + "phpunit/phpunit": "4.*|5.*", + "vimeo/psalm": "^1" + }, + "suggest": { + "ext-libsodium": "Provides a modern crypto API that can be used to generate random bytes." + }, + "type": "library", + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Paragon Initiative Enterprises", + "email": "security@paragonie.com", + "homepage": "https://paragonie.com" + } + ], + "description": "PHP 5.x polyfill for random_bytes() and random_int() from PHP 7", + "keywords": [ + "csprng", + "polyfill", + "pseudorandom", + "random" + ], + "time": "2018-07-02T15:55:56+00:00" + }, + { + "name": "psr/container", + "version": "1.0.0", + "source": { + "type": "git", + "url": "https://github.com/php-fig/container.git", + "reference": "b7ce3b176482dbbc1245ebf52b181af44c2cf55f" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/php-fig/container/zipball/b7ce3b176482dbbc1245ebf52b181af44c2cf55f", + "reference": "b7ce3b176482dbbc1245ebf52b181af44c2cf55f", + "shasum": "" + }, + "require": { + "php": ">=5.3.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0.x-dev" + } + }, + "autoload": { + "psr-4": { + "Psr\\Container\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "PHP-FIG", + "homepage": "http://www.php-fig.org/" + } + ], + "description": "Common Container Interface (PHP FIG PSR-11)", + "homepage": "https://github.com/php-fig/container", + "keywords": [ + "PSR-11", + "container", + "container-interface", + "container-interop", + "psr" + ], + "time": "2017-02-14T16:28:37+00:00" + }, + { + "name": "psr/log", + "version": "1.0.2", + "source": { + "type": "git", + "url": "https://github.com/php-fig/log.git", + "reference": "4ebe3a8bf773a19edfe0a84b6585ba3d401b724d" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/php-fig/log/zipball/4ebe3a8bf773a19edfe0a84b6585ba3d401b724d", + "reference": "4ebe3a8bf773a19edfe0a84b6585ba3d401b724d", + "shasum": "" + }, + "require": { + "php": ">=5.3.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0.x-dev" + } + }, + "autoload": { + "psr-4": { + "Psr\\Log\\": "Psr/Log/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "PHP-FIG", + "homepage": "http://www.php-fig.org/" + } + ], + "description": "Common interface for logging libraries", + "homepage": "https://github.com/php-fig/log", + "keywords": [ + "log", + "psr", + "psr-3" + ], + "time": "2016-10-10T12:19:37+00:00" + }, + { + "name": "psr/simple-cache", + "version": "1.0.1", + "source": { + "type": "git", + "url": "https://github.com/php-fig/simple-cache.git", + "reference": "408d5eafb83c57f6365a3ca330ff23aa4a5fa39b" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/php-fig/simple-cache/zipball/408d5eafb83c57f6365a3ca330ff23aa4a5fa39b", + "reference": "408d5eafb83c57f6365a3ca330ff23aa4a5fa39b", + "shasum": "" + }, + "require": { + "php": ">=5.3.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0.x-dev" + } + }, + "autoload": { + "psr-4": { + "Psr\\SimpleCache\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "PHP-FIG", + "homepage": "http://www.php-fig.org/" + } + ], + "description": "Common interfaces for simple caching", + "keywords": [ + "cache", + "caching", + "psr", + "psr-16", + "simple-cache" + ], + "time": "2017-10-23T01:57:42+00:00" + }, + { + "name": "psy/psysh", + "version": "v0.9.9", + "source": { + "type": "git", + "url": "https://github.com/bobthecow/psysh.git", + "reference": "9aaf29575bb8293206bb0420c1e1c87ff2ffa94e" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/bobthecow/psysh/zipball/9aaf29575bb8293206bb0420c1e1c87ff2ffa94e", + "reference": "9aaf29575bb8293206bb0420c1e1c87ff2ffa94e", + "shasum": "" + }, + "require": { + "dnoegel/php-xdg-base-dir": "0.1", + "ext-json": "*", + "ext-tokenizer": "*", + "jakub-onderka/php-console-highlighter": "0.3.*|0.4.*", + "nikic/php-parser": "~1.3|~2.0|~3.0|~4.0", + "php": ">=5.4.0", + "symfony/console": "~2.3.10|^2.4.2|~3.0|~4.0", + "symfony/var-dumper": "~2.7|~3.0|~4.0" + }, + "require-dev": { + "bamarni/composer-bin-plugin": "^1.2", + "hoa/console": "~2.15|~3.16", + "phpunit/phpunit": "~4.8.35|~5.0|~6.0|~7.0" + }, + "suggest": { + "ext-pcntl": "Enabling the PCNTL extension makes PsySH a lot happier :)", + "ext-pdo-sqlite": "The doc command requires SQLite to work.", + "ext-posix": "If you have PCNTL, you'll want the POSIX extension as well.", + "ext-readline": "Enables support for arrow-key history navigation, and showing and manipulating command history.", + "hoa/console": "A pure PHP readline implementation. You'll want this if your PHP install doesn't already support readline or libedit." + }, + "bin": [ + "bin/psysh" + ], + "type": "library", + "extra": { + "branch-alias": { + "dev-develop": "0.9.x-dev" + } + }, + "autoload": { + "files": [ + "src/functions.php" + ], + "psr-4": { + "Psy\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Justin Hileman", + "email": "justin@justinhileman.info", + "homepage": "http://justinhileman.com" + } + ], + "description": "An interactive shell for modern PHP.", + "homepage": "http://psysh.org", + "keywords": [ + "REPL", + "console", + "interactive", + "shell" + ], + "time": "2018-10-13T15:16:03+00:00" + }, + { + "name": "ramsey/uuid", + "version": "3.8.0", + "source": { + "type": "git", + "url": "https://github.com/ramsey/uuid.git", + "reference": "d09ea80159c1929d75b3f9c60504d613aeb4a1e3" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/ramsey/uuid/zipball/d09ea80159c1929d75b3f9c60504d613aeb4a1e3", + "reference": "d09ea80159c1929d75b3f9c60504d613aeb4a1e3", + "shasum": "" + }, + "require": { + "paragonie/random_compat": "^1.0|^2.0|9.99.99", + "php": "^5.4 || ^7.0", + "symfony/polyfill-ctype": "^1.8" + }, + "replace": { + "rhumsaa/uuid": "self.version" + }, + "require-dev": { + "codeception/aspect-mock": "^1.0 | ~2.0.0", + "doctrine/annotations": "~1.2.0", + "goaop/framework": "1.0.0-alpha.2 | ^1.0 | ~2.1.0", + "ircmaxell/random-lib": "^1.1", + "jakub-onderka/php-parallel-lint": "^0.9.0", + "mockery/mockery": "^0.9.9", + "moontoast/math": "^1.1", + "php-mock/php-mock-phpunit": "^0.3|^1.1", + "phpunit/phpunit": "^4.7|^5.0|^6.5", + "squizlabs/php_codesniffer": "^2.3" + }, + "suggest": { + "ext-ctype": "Provides support for PHP Ctype functions", + "ext-libsodium": "Provides the PECL libsodium extension for use with the SodiumRandomGenerator", + "ext-uuid": "Provides the PECL UUID extension for use with the PeclUuidTimeGenerator and PeclUuidRandomGenerator", + "ircmaxell/random-lib": "Provides RandomLib for use with the RandomLibAdapter", + "moontoast/math": "Provides support for converting UUID to 128-bit integer (in string form).", + "ramsey/uuid-console": "A console application for generating UUIDs with ramsey/uuid", + "ramsey/uuid-doctrine": "Allows the use of Ramsey\\Uuid\\Uuid as Doctrine field type." + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "3.x-dev" + } + }, + "autoload": { + "psr-4": { + "Ramsey\\Uuid\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Marijn Huizendveld", + "email": "marijn.huizendveld@gmail.com" + }, + { + "name": "Thibaud Fabre", + "email": "thibaud@aztech.io" + }, + { + "name": "Ben Ramsey", + "email": "ben@benramsey.com", + "homepage": "https://benramsey.com" + } + ], + "description": "Formerly rhumsaa/uuid. A PHP 5.4+ library for generating RFC 4122 version 1, 3, 4, and 5 universally unique identifiers (UUID).", + "homepage": "https://github.com/ramsey/uuid", + "keywords": [ + "guid", + "identifier", + "uuid" + ], + "time": "2018-07-19T23:38:55+00:00" + }, + { + "name": "swiftmailer/swiftmailer", + "version": "v6.1.3", + "source": { + "type": "git", + "url": "https://github.com/swiftmailer/swiftmailer.git", + "reference": "8ddcb66ac10c392d3beb54829eef8ac1438595f4" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/swiftmailer/swiftmailer/zipball/8ddcb66ac10c392d3beb54829eef8ac1438595f4", + "reference": "8ddcb66ac10c392d3beb54829eef8ac1438595f4", + "shasum": "" + }, + "require": { + "egulias/email-validator": "~2.0", + "php": ">=7.0.0" + }, + "require-dev": { + "mockery/mockery": "~0.9.1", + "symfony/phpunit-bridge": "~3.3@dev" + }, + "suggest": { + "ext-intl": "Needed to support internationalized email addresses", + "true/punycode": "Needed to support internationalized email addresses, if ext-intl is not installed" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "6.1-dev" + } + }, + "autoload": { + "files": [ + "lib/swift_required.php" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Chris Corbyn" + }, + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + } + ], + "description": "Swiftmailer, free feature-rich PHP mailer", + "homepage": "https://swiftmailer.symfony.com", + "keywords": [ + "email", + "mail", + "mailer" + ], + "time": "2018-09-11T07:12:52+00:00" + }, + { + "name": "symfony/console", + "version": "v4.1.6", + "source": { + "type": "git", + "url": "https://github.com/symfony/console.git", + "reference": "dc7122fe5f6113cfaba3b3de575d31112c9aa60b" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/console/zipball/dc7122fe5f6113cfaba3b3de575d31112c9aa60b", + "reference": "dc7122fe5f6113cfaba3b3de575d31112c9aa60b", + "shasum": "" + }, + "require": { + "php": "^7.1.3", + "symfony/polyfill-mbstring": "~1.0" + }, + "conflict": { + "symfony/dependency-injection": "<3.4", + "symfony/process": "<3.3" + }, + "require-dev": { + "psr/log": "~1.0", + "symfony/config": "~3.4|~4.0", + "symfony/dependency-injection": "~3.4|~4.0", + "symfony/event-dispatcher": "~3.4|~4.0", + "symfony/lock": "~3.4|~4.0", + "symfony/process": "~3.4|~4.0" + }, + "suggest": { + "psr/log-implementation": "For using the console logger", + "symfony/event-dispatcher": "", + "symfony/lock": "", + "symfony/process": "" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "4.1-dev" + } + }, + "autoload": { + "psr-4": { + "Symfony\\Component\\Console\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony Console Component", + "homepage": "https://symfony.com", + "time": "2018-10-03T08:15:46+00:00" + }, + { + "name": "symfony/css-selector", + "version": "v4.1.6", + "source": { + "type": "git", + "url": "https://github.com/symfony/css-selector.git", + "reference": "d67de79a70a27d93c92c47f37ece958bf8de4d8a" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/css-selector/zipball/d67de79a70a27d93c92c47f37ece958bf8de4d8a", + "reference": "d67de79a70a27d93c92c47f37ece958bf8de4d8a", + "shasum": "" + }, + "require": { + "php": "^7.1.3" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "4.1-dev" + } + }, + "autoload": { + "psr-4": { + "Symfony\\Component\\CssSelector\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Jean-François Simon", + "email": "jeanfrancois.simon@sensiolabs.com" + }, + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony CssSelector Component", + "homepage": "https://symfony.com", + "time": "2018-10-02T16:36:10+00:00" + }, + { + "name": "symfony/debug", + "version": "v4.1.6", + "source": { + "type": "git", + "url": "https://github.com/symfony/debug.git", + "reference": "e3f76ce6198f81994e019bb2b4e533e9de1b9b90" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/debug/zipball/e3f76ce6198f81994e019bb2b4e533e9de1b9b90", + "reference": "e3f76ce6198f81994e019bb2b4e533e9de1b9b90", + "shasum": "" + }, + "require": { + "php": "^7.1.3", + "psr/log": "~1.0" + }, + "conflict": { + "symfony/http-kernel": "<3.4" + }, + "require-dev": { + "symfony/http-kernel": "~3.4|~4.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "4.1-dev" + } + }, + "autoload": { + "psr-4": { + "Symfony\\Component\\Debug\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony Debug Component", + "homepage": "https://symfony.com", + "time": "2018-10-02T16:36:10+00:00" + }, + { + "name": "symfony/event-dispatcher", + "version": "v4.1.6", + "source": { + "type": "git", + "url": "https://github.com/symfony/event-dispatcher.git", + "reference": "bfb30c2ad377615a463ebbc875eba64a99f6aa3e" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/event-dispatcher/zipball/bfb30c2ad377615a463ebbc875eba64a99f6aa3e", + "reference": "bfb30c2ad377615a463ebbc875eba64a99f6aa3e", + "shasum": "" + }, + "require": { + "php": "^7.1.3" + }, + "conflict": { + "symfony/dependency-injection": "<3.4" + }, + "require-dev": { + "psr/log": "~1.0", + "symfony/config": "~3.4|~4.0", + "symfony/dependency-injection": "~3.4|~4.0", + "symfony/expression-language": "~3.4|~4.0", + "symfony/stopwatch": "~3.4|~4.0" + }, + "suggest": { + "symfony/dependency-injection": "", + "symfony/http-kernel": "" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "4.1-dev" + } + }, + "autoload": { + "psr-4": { + "Symfony\\Component\\EventDispatcher\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony EventDispatcher Component", + "homepage": "https://symfony.com", + "time": "2018-07-26T09:10:45+00:00" + }, + { + "name": "symfony/finder", + "version": "v4.1.6", + "source": { + "type": "git", + "url": "https://github.com/symfony/finder.git", + "reference": "1f17195b44543017a9c9b2d437c670627e96ad06" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/finder/zipball/1f17195b44543017a9c9b2d437c670627e96ad06", + "reference": "1f17195b44543017a9c9b2d437c670627e96ad06", + "shasum": "" + }, + "require": { + "php": "^7.1.3" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "4.1-dev" + } + }, + "autoload": { + "psr-4": { + "Symfony\\Component\\Finder\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony Finder Component", + "homepage": "https://symfony.com", + "time": "2018-10-03T08:47:56+00:00" + }, + { + "name": "symfony/http-foundation", + "version": "v4.1.6", + "source": { + "type": "git", + "url": "https://github.com/symfony/http-foundation.git", + "reference": "d528136617ff24f530e70df9605acc1b788b08d4" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/http-foundation/zipball/d528136617ff24f530e70df9605acc1b788b08d4", + "reference": "d528136617ff24f530e70df9605acc1b788b08d4", + "shasum": "" + }, + "require": { + "php": "^7.1.3", + "symfony/polyfill-mbstring": "~1.1" + }, + "require-dev": { + "predis/predis": "~1.0", + "symfony/expression-language": "~3.4|~4.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "4.1-dev" + } + }, + "autoload": { + "psr-4": { + "Symfony\\Component\\HttpFoundation\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony HttpFoundation Component", + "homepage": "https://symfony.com", + "time": "2018-10-03T08:48:45+00:00" + }, + { + "name": "symfony/http-kernel", + "version": "v4.1.6", + "source": { + "type": "git", + "url": "https://github.com/symfony/http-kernel.git", + "reference": "f5e7c15a5d010be0e16ce798594c5960451d4220" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/http-kernel/zipball/f5e7c15a5d010be0e16ce798594c5960451d4220", + "reference": "f5e7c15a5d010be0e16ce798594c5960451d4220", + "shasum": "" + }, + "require": { + "php": "^7.1.3", + "psr/log": "~1.0", + "symfony/debug": "~3.4|~4.0", + "symfony/event-dispatcher": "~4.1", + "symfony/http-foundation": "^4.1.1", + "symfony/polyfill-ctype": "~1.8" + }, + "conflict": { + "symfony/config": "<3.4", + "symfony/dependency-injection": "<4.1", + "symfony/var-dumper": "<4.1.1", + "twig/twig": "<1.34|<2.4,>=2" + }, + "provide": { + "psr/log-implementation": "1.0" + }, + "require-dev": { + "psr/cache": "~1.0", + "symfony/browser-kit": "~3.4|~4.0", + "symfony/config": "~3.4|~4.0", + "symfony/console": "~3.4|~4.0", + "symfony/css-selector": "~3.4|~4.0", + "symfony/dependency-injection": "^4.1", + "symfony/dom-crawler": "~3.4|~4.0", + "symfony/expression-language": "~3.4|~4.0", + "symfony/finder": "~3.4|~4.0", + "symfony/process": "~3.4|~4.0", + "symfony/routing": "~3.4|~4.0", + "symfony/stopwatch": "~3.4|~4.0", + "symfony/templating": "~3.4|~4.0", + "symfony/translation": "~3.4|~4.0", + "symfony/var-dumper": "^4.1.1" + }, + "suggest": { + "symfony/browser-kit": "", + "symfony/config": "", + "symfony/console": "", + "symfony/dependency-injection": "", + "symfony/var-dumper": "" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "4.1-dev" + } + }, + "autoload": { + "psr-4": { + "Symfony\\Component\\HttpKernel\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony HttpKernel Component", + "homepage": "https://symfony.com", + "time": "2018-10-03T12:53:38+00:00" + }, + { + "name": "symfony/polyfill-ctype", + "version": "v1.9.0", + "source": { + "type": "git", + "url": "https://github.com/symfony/polyfill-ctype.git", + "reference": "e3d826245268269cd66f8326bd8bc066687b4a19" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/polyfill-ctype/zipball/e3d826245268269cd66f8326bd8bc066687b4a19", + "reference": "e3d826245268269cd66f8326bd8bc066687b4a19", + "shasum": "" + }, + "require": { + "php": ">=5.3.3" + }, + "suggest": { + "ext-ctype": "For best performance" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.9-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-08-06T14:22:27+00:00" + }, + { + "name": "symfony/polyfill-mbstring", + "version": "v1.9.0", + "source": { + "type": "git", + "url": "https://github.com/symfony/polyfill-mbstring.git", + "reference": "d0cd638f4634c16d8df4508e847f14e9e43168b8" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/d0cd638f4634c16d8df4508e847f14e9e43168b8", + "reference": "d0cd638f4634c16d8df4508e847f14e9e43168b8", + "shasum": "" + }, + "require": { + "php": ">=5.3.3" + }, + "suggest": { + "ext-mbstring": "For best performance" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.9-dev" + } + }, + "autoload": { + "psr-4": { + "Symfony\\Polyfill\\Mbstring\\": "" + }, + "files": [ + "bootstrap.php" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Nicolas Grekas", + "email": "p@tchwork.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony polyfill for the Mbstring extension", + "homepage": "https://symfony.com", + "keywords": [ + "compatibility", + "mbstring", + "polyfill", + "portable", + "shim" + ], + "time": "2018-08-06T14:22:27+00:00" + }, + { + "name": "symfony/polyfill-php72", + "version": "v1.9.0", + "source": { + "type": "git", + "url": "https://github.com/symfony/polyfill-php72.git", + "reference": "95c50420b0baed23852452a7f0c7b527303ed5ae" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/polyfill-php72/zipball/95c50420b0baed23852452a7f0c7b527303ed5ae", + "reference": "95c50420b0baed23852452a7f0c7b527303ed5ae", + "shasum": "" + }, + "require": { + "php": ">=5.3.3" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.9-dev" + } + }, + "autoload": { + "psr-4": { + "Symfony\\Polyfill\\Php72\\": "" + }, + "files": [ + "bootstrap.php" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Nicolas Grekas", + "email": "p@tchwork.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony polyfill backporting some PHP 7.2+ features to lower PHP versions", + "homepage": "https://symfony.com", + "keywords": [ + "compatibility", + "polyfill", + "portable", + "shim" + ], + "time": "2018-08-06T14:22:27+00:00" + }, + { + "name": "symfony/process", + "version": "v4.1.6", + "source": { + "type": "git", + "url": "https://github.com/symfony/process.git", + "reference": "ee33c0322a8fee0855afcc11fff81e6b1011b529" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/process/zipball/ee33c0322a8fee0855afcc11fff81e6b1011b529", + "reference": "ee33c0322a8fee0855afcc11fff81e6b1011b529", + "shasum": "" + }, + "require": { + "php": "^7.1.3" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "4.1-dev" + } + }, + "autoload": { + "psr-4": { + "Symfony\\Component\\Process\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony Process Component", + "homepage": "https://symfony.com", + "time": "2018-10-02T12:40:59+00:00" + }, + { + "name": "symfony/routing", + "version": "v4.1.6", + "source": { + "type": "git", + "url": "https://github.com/symfony/routing.git", + "reference": "537803f0bdfede36b9acef052d2e4d447d9fa0e9" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/routing/zipball/537803f0bdfede36b9acef052d2e4d447d9fa0e9", + "reference": "537803f0bdfede36b9acef052d2e4d447d9fa0e9", + "shasum": "" + }, + "require": { + "php": "^7.1.3" + }, + "conflict": { + "symfony/config": "<3.4", + "symfony/dependency-injection": "<3.4", + "symfony/yaml": "<3.4" + }, + "require-dev": { + "doctrine/annotations": "~1.0", + "psr/log": "~1.0", + "symfony/config": "~3.4|~4.0", + "symfony/dependency-injection": "~3.4|~4.0", + "symfony/expression-language": "~3.4|~4.0", + "symfony/http-foundation": "~3.4|~4.0", + "symfony/yaml": "~3.4|~4.0" + }, + "suggest": { + "doctrine/annotations": "For using the annotation loader", + "symfony/config": "For using the all-in-one router or any loader", + "symfony/dependency-injection": "For loading routes from a service", + "symfony/expression-language": "For using expression matching", + "symfony/http-foundation": "For using a Symfony Request object", + "symfony/yaml": "For using the YAML loader" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "4.1-dev" + } + }, + "autoload": { + "psr-4": { + "Symfony\\Component\\Routing\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony Routing Component", + "homepage": "https://symfony.com", + "keywords": [ + "router", + "routing", + "uri", + "url" + ], + "time": "2018-10-02T12:40:59+00:00" + }, + { + "name": "symfony/translation", + "version": "v4.1.6", + "source": { + "type": "git", + "url": "https://github.com/symfony/translation.git", + "reference": "9f0b61e339160a466ebcde167a6c5521c810e304" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/translation/zipball/9f0b61e339160a466ebcde167a6c5521c810e304", + "reference": "9f0b61e339160a466ebcde167a6c5521c810e304", + "shasum": "" + }, + "require": { + "php": "^7.1.3", + "symfony/polyfill-mbstring": "~1.0" + }, + "conflict": { + "symfony/config": "<3.4", + "symfony/dependency-injection": "<3.4", + "symfony/yaml": "<3.4" + }, + "require-dev": { + "psr/log": "~1.0", + "symfony/config": "~3.4|~4.0", + "symfony/console": "~3.4|~4.0", + "symfony/dependency-injection": "~3.4|~4.0", + "symfony/finder": "~2.8|~3.0|~4.0", + "symfony/intl": "~3.4|~4.0", + "symfony/yaml": "~3.4|~4.0" + }, + "suggest": { + "psr/log-implementation": "To use logging capability in translator", + "symfony/config": "", + "symfony/yaml": "" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "4.1-dev" + } + }, + "autoload": { + "psr-4": { + "Symfony\\Component\\Translation\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony Translation Component", + "homepage": "https://symfony.com", + "time": "2018-10-02T16:36:10+00:00" + }, + { + "name": "symfony/var-dumper", + "version": "v4.1.6", + "source": { + "type": "git", + "url": "https://github.com/symfony/var-dumper.git", + "reference": "60319b45653580b0cdacca499344577d87732f16" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/var-dumper/zipball/60319b45653580b0cdacca499344577d87732f16", + "reference": "60319b45653580b0cdacca499344577d87732f16", + "shasum": "" + }, + "require": { + "php": "^7.1.3", + "symfony/polyfill-mbstring": "~1.0", + "symfony/polyfill-php72": "~1.5" + }, + "conflict": { + "phpunit/phpunit": "<4.8.35|<5.4.3,>=5.0", + "symfony/console": "<3.4" + }, + "require-dev": { + "ext-iconv": "*", + "symfony/process": "~3.4|~4.0", + "twig/twig": "~1.34|~2.4" + }, + "suggest": { + "ext-iconv": "To convert non-UTF-8 strings to UTF-8 (or symfony/polyfill-iconv in case ext-iconv cannot be used).", + "ext-intl": "To show region name in time zone dump", + "symfony/console": "To use the ServerDumpCommand and/or the bin/var-dump-server script" + }, + "bin": [ + "Resources/bin/var-dump-server" + ], + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "4.1-dev" + } + }, + "autoload": { + "files": [ + "Resources/functions/dump.php" + ], + "psr-4": { + "Symfony\\Component\\VarDumper\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Nicolas Grekas", + "email": "p@tchwork.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony mechanism for exploring and dumping PHP variables", + "homepage": "https://symfony.com", + "keywords": [ + "debug", + "dump" + ], + "time": "2018-10-02T16:36:10+00:00" + }, + { + "name": "tijsverkoyen/css-to-inline-styles", + "version": "2.2.1", + "source": { + "type": "git", + "url": "https://github.com/tijsverkoyen/CssToInlineStyles.git", + "reference": "0ed4a2ea4e0902dac0489e6436ebcd5bbcae9757" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/tijsverkoyen/CssToInlineStyles/zipball/0ed4a2ea4e0902dac0489e6436ebcd5bbcae9757", + "reference": "0ed4a2ea4e0902dac0489e6436ebcd5bbcae9757", + "shasum": "" + }, + "require": { + "php": "^5.5 || ^7.0", + "symfony/css-selector": "^2.7 || ^3.0 || ^4.0" + }, + "require-dev": { + "phpunit/phpunit": "^4.8.35 || ^5.7 || ^6.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.2.x-dev" + } + }, + "autoload": { + "psr-4": { + "TijsVerkoyen\\CssToInlineStyles\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Tijs Verkoyen", + "email": "css_to_inline_styles@verkoyen.eu", + "role": "Developer" + } + ], + "description": "CssToInlineStyles is a class that enables you to convert HTML-pages/files into HTML-pages/files with inline styles. This is very useful when you're sending emails.", + "homepage": "https://github.com/tijsverkoyen/CssToInlineStyles", + "time": "2017-11-27T11:13:29+00:00" + }, + { + "name": "vlucas/phpdotenv", + "version": "v2.5.1", + "source": { + "type": "git", + "url": "https://github.com/vlucas/phpdotenv.git", + "reference": "8abb4f9aa89ddea9d52112c65bbe8d0125e2fa8e" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/vlucas/phpdotenv/zipball/8abb4f9aa89ddea9d52112c65bbe8d0125e2fa8e", + "reference": "8abb4f9aa89ddea9d52112c65bbe8d0125e2fa8e", + "shasum": "" + }, + "require": { + "php": ">=5.3.9" + }, + "require-dev": { + "phpunit/phpunit": "^4.8.35 || ^5.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.5-dev" + } + }, + "autoload": { + "psr-4": { + "Dotenv\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Vance Lucas", + "email": "vance@vancelucas.com", + "homepage": "http://www.vancelucas.com" + } + ], + "description": "Loads environment variables from `.env` to `getenv()`, `$_ENV` and `$_SERVER` automagically.", + "keywords": [ + "dotenv", + "env", + "environment" + ], + "time": "2018-07-29T20:33:41+00:00" + } + ], + "packages-dev": [ + { + "name": "beyondcode/laravel-dump-server", + "version": "1.2.2", + "source": { + "type": "git", + "url": "https://github.com/beyondcode/laravel-dump-server.git", + "reference": "8864b9efcb48e0a79e83014dd7f0a5481f5c808f" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/beyondcode/laravel-dump-server/zipball/8864b9efcb48e0a79e83014dd7f0a5481f5c808f", + "reference": "8864b9efcb48e0a79e83014dd7f0a5481f5c808f", + "shasum": "" + }, + "require": { + "illuminate/console": "5.6.*|5.7.*|5.8.*", + "illuminate/http": "5.6.*|5.7.*|5.8.*", + "illuminate/support": "5.6.*|5.7.*|5.8.*", + "php": "^7.1", + "symfony/var-dumper": "^4.1.1" + }, + "require-dev": { + "larapack/dd": "^1.0", + "phpunit/phpunit": "^7.0" + }, + "type": "library", + "extra": { + "laravel": { + "providers": [ + "BeyondCode\\DumpServer\\DumpServerServiceProvider" + ] + } + }, + "autoload": { + "psr-4": { + "BeyondCode\\DumpServer\\": "src" + }, + "files": [ + "helpers.php" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Marcel Pociot", + "email": "marcel@beyondco.de", + "homepage": "https://beyondcode.de", + "role": "Developer" + } + ], + "description": "Symfony Var-Dump Server for Laravel", + "homepage": "https://github.com/beyondcode/laravel-dump-server", + "keywords": [ + "beyondcode", + "laravel-dump-server" + ], + "time": "2018-10-04T07:22:24+00:00" + }, + { + "name": "doctrine/instantiator", + "version": "1.1.0", + "source": { + "type": "git", + "url": "https://github.com/doctrine/instantiator.git", + "reference": "185b8868aa9bf7159f5f953ed5afb2d7fcdc3bda" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/doctrine/instantiator/zipball/185b8868aa9bf7159f5f953ed5afb2d7fcdc3bda", + "reference": "185b8868aa9bf7159f5f953ed5afb2d7fcdc3bda", + "shasum": "" + }, + "require": { + "php": "^7.1" + }, + "require-dev": { + "athletic/athletic": "~0.1.8", + "ext-pdo": "*", + "ext-phar": "*", + "phpunit/phpunit": "^6.2.3", + "squizlabs/php_codesniffer": "^3.0.2" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.2.x-dev" + } + }, + "autoload": { + "psr-4": { + "Doctrine\\Instantiator\\": "src/Doctrine/Instantiator/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Marco Pivetta", + "email": "ocramius@gmail.com", + "homepage": "http://ocramius.github.com/" + } + ], + "description": "A small, lightweight utility to instantiate objects in PHP without invoking their constructors", + "homepage": "https://github.com/doctrine/instantiator", + "keywords": [ + "constructor", + "instantiate" + ], + "time": "2017-07-22T11:58:36+00:00" + }, + { + "name": "filp/whoops", + "version": "2.2.1", + "source": { + "type": "git", + "url": "https://github.com/filp/whoops.git", + "reference": "e79cd403fb77fc8963a99ecc30e80ddd885b3311" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/filp/whoops/zipball/e79cd403fb77fc8963a99ecc30e80ddd885b3311", + "reference": "e79cd403fb77fc8963a99ecc30e80ddd885b3311", + "shasum": "" + }, + "require": { + "php": "^5.5.9 || ^7.0", + "psr/log": "^1.0.1" + }, + "require-dev": { + "mockery/mockery": "^0.9 || ^1.0", + "phpunit/phpunit": "^4.8.35 || ^5.7", + "symfony/var-dumper": "^2.6 || ^3.0 || ^4.0" + }, + "suggest": { + "symfony/var-dumper": "Pretty print complex values better with var-dumper available", + "whoops/soap": "Formats errors as SOAP responses" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.2-dev" + } + }, + "autoload": { + "psr-4": { + "Whoops\\": "src/Whoops/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Filipe Dobreira", + "homepage": "https://github.com/filp", + "role": "Developer" + } + ], + "description": "php error handling for cool kids", + "homepage": "https://filp.github.io/whoops/", + "keywords": [ + "error", + "exception", + "handling", + "library", + "throwable", + "whoops" + ], + "time": "2018-06-30T13:14:06+00:00" + }, + { + "name": "fzaninotto/faker", + "version": "v1.8.0", + "source": { + "type": "git", + "url": "https://github.com/fzaninotto/Faker.git", + "reference": "f72816b43e74063c8b10357394b6bba8cb1c10de" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/fzaninotto/Faker/zipball/f72816b43e74063c8b10357394b6bba8cb1c10de", + "reference": "f72816b43e74063c8b10357394b6bba8cb1c10de", + "shasum": "" + }, + "require": { + "php": "^5.3.3 || ^7.0" + }, + "require-dev": { + "ext-intl": "*", + "phpunit/phpunit": "^4.8.35 || ^5.7", + "squizlabs/php_codesniffer": "^1.5" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.8-dev" + } + }, + "autoload": { + "psr-4": { + "Faker\\": "src/Faker/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "François Zaninotto" + } + ], + "description": "Faker is a PHP library that generates fake data for you.", + "keywords": [ + "data", + "faker", + "fixtures" + ], + "time": "2018-07-12T10:23:15+00:00" + }, + { + "name": "guzzlehttp/guzzle", + "version": "6.3.3", + "source": { + "type": "git", + "url": "https://github.com/guzzle/guzzle.git", + "reference": "407b0cb880ace85c9b63c5f9551db498cb2d50ba" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/guzzle/guzzle/zipball/407b0cb880ace85c9b63c5f9551db498cb2d50ba", + "reference": "407b0cb880ace85c9b63c5f9551db498cb2d50ba", + "shasum": "" + }, + "require": { + "guzzlehttp/promises": "^1.0", + "guzzlehttp/psr7": "^1.4", + "php": ">=5.5" + }, + "require-dev": { + "ext-curl": "*", + "phpunit/phpunit": "^4.8.35 || ^5.7 || ^6.4 || ^7.0", + "psr/log": "^1.0" + }, + "suggest": { + "psr/log": "Required for using the Log middleware" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "6.3-dev" + } + }, + "autoload": { + "files": [ + "src/functions_include.php" + ], + "psr-4": { + "GuzzleHttp\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Michael Dowling", + "email": "mtdowling@gmail.com", + "homepage": "https://github.com/mtdowling" + } + ], + "description": "Guzzle is a PHP HTTP client library", + "homepage": "http://guzzlephp.org/", + "keywords": [ + "client", + "curl", + "framework", + "http", + "http client", + "rest", + "web service" + ], + "time": "2018-04-22T15:46:56+00:00" + }, + { + "name": "guzzlehttp/promises", + "version": "v1.3.1", + "source": { + "type": "git", + "url": "https://github.com/guzzle/promises.git", + "reference": "a59da6cf61d80060647ff4d3eb2c03a2bc694646" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/guzzle/promises/zipball/a59da6cf61d80060647ff4d3eb2c03a2bc694646", + "reference": "a59da6cf61d80060647ff4d3eb2c03a2bc694646", + "shasum": "" + }, + "require": { + "php": ">=5.5.0" + }, + "require-dev": { + "phpunit/phpunit": "^4.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.4-dev" + } + }, + "autoload": { + "psr-4": { + "GuzzleHttp\\Promise\\": "src/" + }, + "files": [ + "src/functions_include.php" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Michael Dowling", + "email": "mtdowling@gmail.com", + "homepage": "https://github.com/mtdowling" + } + ], + "description": "Guzzle promises library", + "keywords": [ + "promise" + ], + "time": "2016-12-20T10:07:11+00:00" + }, + { + "name": "guzzlehttp/psr7", + "version": "1.4.2", + "source": { + "type": "git", + "url": "https://github.com/guzzle/psr7.git", + "reference": "f5b8a8512e2b58b0071a7280e39f14f72e05d87c" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/guzzle/psr7/zipball/f5b8a8512e2b58b0071a7280e39f14f72e05d87c", + "reference": "f5b8a8512e2b58b0071a7280e39f14f72e05d87c", + "shasum": "" + }, + "require": { + "php": ">=5.4.0", + "psr/http-message": "~1.0" + }, + "provide": { + "psr/http-message-implementation": "1.0" + }, + "require-dev": { + "phpunit/phpunit": "~4.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.4-dev" + } + }, + "autoload": { + "psr-4": { + "GuzzleHttp\\Psr7\\": "src/" + }, + "files": [ + "src/functions_include.php" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Michael Dowling", + "email": "mtdowling@gmail.com", + "homepage": "https://github.com/mtdowling" + }, + { + "name": "Tobias Schultze", + "homepage": "https://github.com/Tobion" + } + ], + "description": "PSR-7 message implementation that also provides common utility methods", + "keywords": [ + "http", + "message", + "request", + "response", + "stream", + "uri", + "url" + ], + "time": "2017-03-20T17:10:46+00:00" + }, + { + "name": "hamcrest/hamcrest-php", + "version": "v2.0.0", + "source": { + "type": "git", + "url": "https://github.com/hamcrest/hamcrest-php.git", + "reference": "776503d3a8e85d4f9a1148614f95b7a608b046ad" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/hamcrest/hamcrest-php/zipball/776503d3a8e85d4f9a1148614f95b7a608b046ad", + "reference": "776503d3a8e85d4f9a1148614f95b7a608b046ad", + "shasum": "" + }, + "require": { + "php": "^5.3|^7.0" + }, + "replace": { + "cordoval/hamcrest-php": "*", + "davedevelopment/hamcrest-php": "*", + "kodova/hamcrest-php": "*" + }, + "require-dev": { + "phpunit/php-file-iterator": "1.3.3", + "phpunit/phpunit": "~4.0", + "satooshi/php-coveralls": "^1.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.0-dev" + } + }, + "autoload": { + "classmap": [ + "hamcrest" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD" + ], + "description": "This is the PHP port of Hamcrest Matchers", + "keywords": [ + "test" + ], + "time": "2016-01-20T08:20:44+00:00" + }, + { + "name": "mockery/mockery", + "version": "1.2.0", + "source": { + "type": "git", + "url": "https://github.com/mockery/mockery.git", + "reference": "100633629bf76d57430b86b7098cd6beb996a35a" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/mockery/mockery/zipball/100633629bf76d57430b86b7098cd6beb996a35a", + "reference": "100633629bf76d57430b86b7098cd6beb996a35a", + "shasum": "" + }, + "require": { + "hamcrest/hamcrest-php": "~2.0", + "lib-pcre": ">=7.0", + "php": ">=5.6.0" + }, + "require-dev": { + "phpunit/phpunit": "~5.7.10|~6.5|~7.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0.x-dev" + } + }, + "autoload": { + "psr-0": { + "Mockery": "library/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Pádraic Brady", + "email": "padraic.brady@gmail.com", + "homepage": "http://blog.astrumfutura.com" + }, + { + "name": "Dave Marshall", + "email": "dave.marshall@atstsolutions.co.uk", + "homepage": "http://davedevelopment.co.uk" + } + ], + "description": "Mockery is a simple yet flexible PHP mock object framework", + "homepage": "https://github.com/mockery/mockery", + "keywords": [ + "BDD", + "TDD", + "library", + "mock", + "mock objects", + "mockery", + "stub", + "test", + "test double", + "testing" + ], + "time": "2018-10-02T21:52:37+00:00" + }, + { + "name": "myclabs/deep-copy", + "version": "1.8.1", + "source": { + "type": "git", + "url": "https://github.com/myclabs/DeepCopy.git", + "reference": "3e01bdad3e18354c3dce54466b7fbe33a9f9f7f8" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/myclabs/DeepCopy/zipball/3e01bdad3e18354c3dce54466b7fbe33a9f9f7f8", + "reference": "3e01bdad3e18354c3dce54466b7fbe33a9f9f7f8", + "shasum": "" + }, + "require": { + "php": "^7.1" + }, + "replace": { + "myclabs/deep-copy": "self.version" + }, + "require-dev": { + "doctrine/collections": "^1.0", + "doctrine/common": "^2.6", + "phpunit/phpunit": "^7.1" + }, + "type": "library", + "autoload": { + "psr-4": { + "DeepCopy\\": "src/DeepCopy/" + }, + "files": [ + "src/DeepCopy/deep_copy.php" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "description": "Create deep copies (clones) of your objects", + "keywords": [ + "clone", + "copy", + "duplicate", + "object", + "object graph" + ], + "time": "2018-06-11T23:09:50+00:00" + }, + { + "name": "nunomaduro/collision", + "version": "v2.1.0", + "source": { + "type": "git", + "url": "https://github.com/nunomaduro/collision.git", + "reference": "1149ad9f36f61b121ae61f5f6de820fc77b51e6b" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/nunomaduro/collision/zipball/1149ad9f36f61b121ae61f5f6de820fc77b51e6b", + "reference": "1149ad9f36f61b121ae61f5f6de820fc77b51e6b", + "shasum": "" + }, + "require": { + "filp/whoops": "^2.1.4", + "jakub-onderka/php-console-highlighter": "0.3.*", + "php": "^7.1", + "symfony/console": "~2.8|~3.3|~4.0" + }, + "require-dev": { + "laravel/framework": "5.7.*", + "phpstan/phpstan": "^0.10", + "phpunit/phpunit": "~7.3" + }, + "type": "library", + "extra": { + "laravel": { + "providers": [ + "NunoMaduro\\Collision\\Adapters\\Laravel\\CollisionServiceProvider" + ] + } + }, + "autoload": { + "psr-4": { + "NunoMaduro\\Collision\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Nuno Maduro", + "email": "enunomaduro@gmail.com" + } + ], + "description": "Cli error handling for console/command-line PHP applications.", + "keywords": [ + "artisan", + "cli", + "command-line", + "console", + "error", + "handling", + "laravel", + "laravel-zero", + "php", + "symfony" + ], + "time": "2018-10-03T20:01:54+00:00" + }, + { + "name": "phar-io/manifest", + "version": "1.0.3", + "source": { + "type": "git", + "url": "https://github.com/phar-io/manifest.git", + "reference": "7761fcacf03b4d4f16e7ccb606d4879ca431fcf4" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/phar-io/manifest/zipball/7761fcacf03b4d4f16e7ccb606d4879ca431fcf4", + "reference": "7761fcacf03b4d4f16e7ccb606d4879ca431fcf4", + "shasum": "" + }, + "require": { + "ext-dom": "*", + "ext-phar": "*", + "phar-io/version": "^2.0", + "php": "^5.6 || ^7.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0.x-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Arne Blankerts", + "email": "arne@blankerts.de", + "role": "Developer" + }, + { + "name": "Sebastian Heuer", + "email": "sebastian@phpeople.de", + "role": "Developer" + }, + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de", + "role": "Developer" + } + ], + "description": "Component for reading phar.io manifest information from a PHP Archive (PHAR)", + "time": "2018-07-08T19:23:20+00:00" + }, + { + "name": "phar-io/version", + "version": "2.0.1", + "source": { + "type": "git", + "url": "https://github.com/phar-io/version.git", + "reference": "45a2ec53a73c70ce41d55cedef9063630abaf1b6" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/phar-io/version/zipball/45a2ec53a73c70ce41d55cedef9063630abaf1b6", + "reference": "45a2ec53a73c70ce41d55cedef9063630abaf1b6", + "shasum": "" + }, + "require": { + "php": "^5.6 || ^7.0" + }, + "type": "library", + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Arne Blankerts", + "email": "arne@blankerts.de", + "role": "Developer" + }, + { + "name": "Sebastian Heuer", + "email": "sebastian@phpeople.de", + "role": "Developer" + }, + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de", + "role": "Developer" + } + ], + "description": "Library for handling version information and constraints", + "time": "2018-07-08T19:19:57+00:00" + }, + { + "name": "phpdocumentor/reflection-common", + "version": "1.0.1", + "source": { + "type": "git", + "url": "https://github.com/phpDocumentor/ReflectionCommon.git", + "reference": "21bdeb5f65d7ebf9f43b1b25d404f87deab5bfb6" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/phpDocumentor/ReflectionCommon/zipball/21bdeb5f65d7ebf9f43b1b25d404f87deab5bfb6", + "reference": "21bdeb5f65d7ebf9f43b1b25d404f87deab5bfb6", + "shasum": "" + }, + "require": { + "php": ">=5.5" + }, + "require-dev": { + "phpunit/phpunit": "^4.6" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0.x-dev" + } + }, + "autoload": { + "psr-4": { + "phpDocumentor\\Reflection\\": [ + "src" + ] + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Jaap van Otterdijk", + "email": "opensource@ijaap.nl" + } + ], + "description": "Common reflection classes used by phpdocumentor to reflect the code structure", + "homepage": "http://www.phpdoc.org", + "keywords": [ + "FQSEN", + "phpDocumentor", + "phpdoc", + "reflection", + "static analysis" + ], + "time": "2017-09-11T18:02:19+00:00" + }, + { + "name": "phpdocumentor/reflection-docblock", + "version": "4.3.0", + "source": { + "type": "git", + "url": "https://github.com/phpDocumentor/ReflectionDocBlock.git", + "reference": "94fd0001232e47129dd3504189fa1c7225010d08" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/phpDocumentor/ReflectionDocBlock/zipball/94fd0001232e47129dd3504189fa1c7225010d08", + "reference": "94fd0001232e47129dd3504189fa1c7225010d08", + "shasum": "" + }, + "require": { + "php": "^7.0", + "phpdocumentor/reflection-common": "^1.0.0", + "phpdocumentor/type-resolver": "^0.4.0", + "webmozart/assert": "^1.0" + }, + "require-dev": { + "doctrine/instantiator": "~1.0.5", + "mockery/mockery": "^1.0", + "phpunit/phpunit": "^6.4" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "4.x-dev" + } + }, + "autoload": { + "psr-4": { + "phpDocumentor\\Reflection\\": [ + "src/" + ] + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Mike van Riel", + "email": "me@mikevanriel.com" + } + ], + "description": "With this component, a library can provide support for annotations via DocBlocks or otherwise retrieve information that is embedded in a DocBlock.", + "time": "2017-11-30T07:14:17+00:00" + }, + { + "name": "phpdocumentor/type-resolver", + "version": "0.4.0", + "source": { + "type": "git", + "url": "https://github.com/phpDocumentor/TypeResolver.git", + "reference": "9c977708995954784726e25d0cd1dddf4e65b0f7" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/phpDocumentor/TypeResolver/zipball/9c977708995954784726e25d0cd1dddf4e65b0f7", + "reference": "9c977708995954784726e25d0cd1dddf4e65b0f7", + "shasum": "" + }, + "require": { + "php": "^5.5 || ^7.0", + "phpdocumentor/reflection-common": "^1.0" + }, + "require-dev": { + "mockery/mockery": "^0.9.4", + "phpunit/phpunit": "^5.2||^4.8.24" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0.x-dev" + } + }, + "autoload": { + "psr-4": { + "phpDocumentor\\Reflection\\": [ + "src/" + ] + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Mike van Riel", + "email": "me@mikevanriel.com" + } + ], + "time": "2017-07-14T14:27:02+00:00" + }, + { + "name": "phpspec/prophecy", + "version": "1.8.0", + "source": { + "type": "git", + "url": "https://github.com/phpspec/prophecy.git", + "reference": "4ba436b55987b4bf311cb7c6ba82aa528aac0a06" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/phpspec/prophecy/zipball/4ba436b55987b4bf311cb7c6ba82aa528aac0a06", + "reference": "4ba436b55987b4bf311cb7c6ba82aa528aac0a06", + "shasum": "" + }, + "require": { + "doctrine/instantiator": "^1.0.2", + "php": "^5.3|^7.0", + "phpdocumentor/reflection-docblock": "^2.0|^3.0.2|^4.0", + "sebastian/comparator": "^1.1|^2.0|^3.0", + "sebastian/recursion-context": "^1.0|^2.0|^3.0" + }, + "require-dev": { + "phpspec/phpspec": "^2.5|^3.2", + "phpunit/phpunit": "^4.8.35 || ^5.7 || ^6.5 || ^7.1" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.8.x-dev" + } + }, + "autoload": { + "psr-0": { + "Prophecy\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Konstantin Kudryashov", + "email": "ever.zet@gmail.com", + "homepage": "http://everzet.com" + }, + { + "name": "Marcello Duarte", + "email": "marcello.duarte@gmail.com" + } + ], + "description": "Highly opinionated mocking framework for PHP 5.3+", + "homepage": "https://github.com/phpspec/prophecy", + "keywords": [ + "Double", + "Dummy", + "fake", + "mock", + "spy", + "stub" + ], + "time": "2018-08-05T17:53:17+00:00" + }, + { + "name": "phpunit/php-code-coverage", + "version": "6.1.1", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/php-code-coverage.git", + "reference": "b097681a19a48e52706f57e47a09594bac4f7cab" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/php-code-coverage/zipball/b097681a19a48e52706f57e47a09594bac4f7cab", + "reference": "b097681a19a48e52706f57e47a09594bac4f7cab", + "shasum": "" + }, + "require": { + "ext-dom": "*", + "ext-xmlwriter": "*", + "php": "^7.1", + "phpunit/php-file-iterator": "^2.0", + "phpunit/php-text-template": "^1.2.1", + "phpunit/php-token-stream": "^3.0", + "sebastian/code-unit-reverse-lookup": "^1.0.1", + "sebastian/environment": "^3.1 || ^4.0", + "sebastian/version": "^2.0.1", + "theseer/tokenizer": "^1.1" + }, + "require-dev": { + "phpunit/phpunit": "^7.0" + }, + "suggest": { + "ext-xdebug": "^2.6.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "6.1-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de", + "role": "lead" + } + ], + "description": "Library that provides collection, processing, and rendering functionality for PHP code coverage information.", + "homepage": "https://github.com/sebastianbergmann/php-code-coverage", + "keywords": [ + "coverage", + "testing", + "xunit" + ], + "time": "2018-10-18T09:01:38+00:00" + }, + { + "name": "phpunit/php-file-iterator", + "version": "2.0.2", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/php-file-iterator.git", + "reference": "050bedf145a257b1ff02746c31894800e5122946" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/php-file-iterator/zipball/050bedf145a257b1ff02746c31894800e5122946", + "reference": "050bedf145a257b1ff02746c31894800e5122946", + "shasum": "" + }, + "require": { + "php": "^7.1" + }, + "require-dev": { + "phpunit/phpunit": "^7.1" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.0.x-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de", + "role": "lead" + } + ], + "description": "FilterIterator implementation that filters files based on a list of suffixes.", + "homepage": "https://github.com/sebastianbergmann/php-file-iterator/", + "keywords": [ + "filesystem", + "iterator" + ], + "time": "2018-09-13T20:33:42+00:00" + }, + { + "name": "phpunit/php-text-template", + "version": "1.2.1", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/php-text-template.git", + "reference": "31f8b717e51d9a2afca6c9f046f5d69fc27c8686" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/php-text-template/zipball/31f8b717e51d9a2afca6c9f046f5d69fc27c8686", + "reference": "31f8b717e51d9a2afca6c9f046f5d69fc27c8686", + "shasum": "" + }, + "require": { + "php": ">=5.3.3" + }, + "type": "library", + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de", + "role": "lead" + } + ], + "description": "Simple template engine.", + "homepage": "https://github.com/sebastianbergmann/php-text-template/", + "keywords": [ + "template" + ], + "time": "2015-06-21T13:50:34+00:00" + }, + { + "name": "phpunit/php-timer", + "version": "2.0.0", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/php-timer.git", + "reference": "8b8454ea6958c3dee38453d3bd571e023108c91f" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/php-timer/zipball/8b8454ea6958c3dee38453d3bd571e023108c91f", + "reference": "8b8454ea6958c3dee38453d3bd571e023108c91f", + "shasum": "" + }, + "require": { + "php": "^7.1" + }, + "require-dev": { + "phpunit/phpunit": "^7.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.0-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de", + "role": "lead" + } + ], + "description": "Utility class for timing", + "homepage": "https://github.com/sebastianbergmann/php-timer/", + "keywords": [ + "timer" + ], + "time": "2018-02-01T13:07:23+00:00" + }, + { + "name": "phpunit/php-token-stream", + "version": "3.0.0", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/php-token-stream.git", + "reference": "21ad88bbba7c3d93530d93994e0a33cd45f02ace" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/php-token-stream/zipball/21ad88bbba7c3d93530d93994e0a33cd45f02ace", + "reference": "21ad88bbba7c3d93530d93994e0a33cd45f02ace", + "shasum": "" + }, + "require": { + "ext-tokenizer": "*", + "php": "^7.1" + }, + "require-dev": { + "phpunit/phpunit": "^7.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "3.0-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de" + } + ], + "description": "Wrapper around PHP's tokenizer extension.", + "homepage": "https://github.com/sebastianbergmann/php-token-stream/", + "keywords": [ + "tokenizer" + ], + "time": "2018-02-01T13:16:43+00:00" + }, + { + "name": "phpunit/phpunit", + "version": "7.4.1", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/phpunit.git", + "reference": "c5a120ade60992bd671a912188ee9ee9f8083bbd" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/c5a120ade60992bd671a912188ee9ee9f8083bbd", + "reference": "c5a120ade60992bd671a912188ee9ee9f8083bbd", + "shasum": "" + }, + "require": { + "doctrine/instantiator": "^1.1", + "ext-dom": "*", + "ext-json": "*", + "ext-libxml": "*", + "ext-mbstring": "*", + "ext-xml": "*", + "myclabs/deep-copy": "^1.7", + "phar-io/manifest": "^1.0.2", + "phar-io/version": "^2.0", + "php": "^7.1", + "phpspec/prophecy": "^1.7", + "phpunit/php-code-coverage": "^6.0.7", + "phpunit/php-file-iterator": "^2.0.1", + "phpunit/php-text-template": "^1.2.1", + "phpunit/php-timer": "^2.0", + "sebastian/comparator": "^3.0", + "sebastian/diff": "^3.0", + "sebastian/environment": "^3.1 || ^4.0", + "sebastian/exporter": "^3.1", + "sebastian/global-state": "^2.0", + "sebastian/object-enumerator": "^3.0.3", + "sebastian/resource-operations": "^2.0", + "sebastian/version": "^2.0.1" + }, + "conflict": { + "phpunit/phpunit-mock-objects": "*" + }, + "require-dev": { + "ext-pdo": "*" + }, + "suggest": { + "ext-soap": "*", + "ext-xdebug": "*", + "phpunit/php-invoker": "^2.0" + }, + "bin": [ + "phpunit" + ], + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "7.4-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de", + "role": "lead" + } + ], + "description": "The PHP Unit Testing framework.", + "homepage": "https://phpunit.de/", + "keywords": [ + "phpunit", + "testing", + "xunit" + ], + "time": "2018-10-18T09:02:52+00:00" + }, + { + "name": "psr/http-message", + "version": "1.0.1", + "source": { + "type": "git", + "url": "https://github.com/php-fig/http-message.git", + "reference": "f6561bf28d520154e4b0ec72be95418abe6d9363" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/php-fig/http-message/zipball/f6561bf28d520154e4b0ec72be95418abe6d9363", + "reference": "f6561bf28d520154e4b0ec72be95418abe6d9363", + "shasum": "" + }, + "require": { + "php": ">=5.3.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0.x-dev" + } + }, + "autoload": { + "psr-4": { + "Psr\\Http\\Message\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "PHP-FIG", + "homepage": "http://www.php-fig.org/" + } + ], + "description": "Common interface for HTTP messages", + "homepage": "https://github.com/php-fig/http-message", + "keywords": [ + "http", + "http-message", + "psr", + "psr-7", + "request", + "response" + ], + "time": "2016-08-06T14:39:51+00:00" + }, + { + "name": "sebastian/code-unit-reverse-lookup", + "version": "1.0.1", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/code-unit-reverse-lookup.git", + "reference": "4419fcdb5eabb9caa61a27c7a1db532a6b55dd18" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/code-unit-reverse-lookup/zipball/4419fcdb5eabb9caa61a27c7a1db532a6b55dd18", + "reference": "4419fcdb5eabb9caa61a27c7a1db532a6b55dd18", + "shasum": "" + }, + "require": { + "php": "^5.6 || ^7.0" + }, + "require-dev": { + "phpunit/phpunit": "^5.7 || ^6.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0.x-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de" + } + ], + "description": "Looks up which function or method a line of code belongs to", + "homepage": "https://github.com/sebastianbergmann/code-unit-reverse-lookup/", + "time": "2017-03-04T06:30:41+00:00" + }, + { + "name": "sebastian/comparator", + "version": "3.0.2", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/comparator.git", + "reference": "5de4fc177adf9bce8df98d8d141a7559d7ccf6da" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/comparator/zipball/5de4fc177adf9bce8df98d8d141a7559d7ccf6da", + "reference": "5de4fc177adf9bce8df98d8d141a7559d7ccf6da", + "shasum": "" + }, + "require": { + "php": "^7.1", + "sebastian/diff": "^3.0", + "sebastian/exporter": "^3.1" + }, + "require-dev": { + "phpunit/phpunit": "^7.1" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "3.0-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Jeff Welch", + "email": "whatthejeff@gmail.com" + }, + { + "name": "Volker Dusch", + "email": "github@wallbash.com" + }, + { + "name": "Bernhard Schussek", + "email": "bschussek@2bepublished.at" + }, + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de" + } + ], + "description": "Provides the functionality to compare PHP values for equality", + "homepage": "https://github.com/sebastianbergmann/comparator", + "keywords": [ + "comparator", + "compare", + "equality" + ], + "time": "2018-07-12T15:12:46+00:00" + }, + { + "name": "sebastian/diff", + "version": "3.0.1", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/diff.git", + "reference": "366541b989927187c4ca70490a35615d3fef2dce" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/diff/zipball/366541b989927187c4ca70490a35615d3fef2dce", + "reference": "366541b989927187c4ca70490a35615d3fef2dce", + "shasum": "" + }, + "require": { + "php": "^7.1" + }, + "require-dev": { + "phpunit/phpunit": "^7.0", + "symfony/process": "^2 || ^3.3 || ^4" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "3.0-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Kore Nordmann", + "email": "mail@kore-nordmann.de" + }, + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de" + } + ], + "description": "Diff implementation", + "homepage": "https://github.com/sebastianbergmann/diff", + "keywords": [ + "diff", + "udiff", + "unidiff", + "unified diff" + ], + "time": "2018-06-10T07:54:39+00:00" + }, + { + "name": "sebastian/environment", + "version": "3.1.0", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/environment.git", + "reference": "cd0871b3975fb7fc44d11314fd1ee20925fce4f5" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/environment/zipball/cd0871b3975fb7fc44d11314fd1ee20925fce4f5", + "reference": "cd0871b3975fb7fc44d11314fd1ee20925fce4f5", + "shasum": "" + }, + "require": { + "php": "^7.0" + }, + "require-dev": { + "phpunit/phpunit": "^6.1" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "3.1.x-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de" + } + ], + "description": "Provides functionality to handle HHVM/PHP environments", + "homepage": "http://www.github.com/sebastianbergmann/environment", + "keywords": [ + "Xdebug", + "environment", + "hhvm" + ], + "time": "2017-07-01T08:51:00+00:00" + }, + { + "name": "sebastian/exporter", + "version": "3.1.0", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/exporter.git", + "reference": "234199f4528de6d12aaa58b612e98f7d36adb937" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/exporter/zipball/234199f4528de6d12aaa58b612e98f7d36adb937", + "reference": "234199f4528de6d12aaa58b612e98f7d36adb937", + "shasum": "" + }, + "require": { + "php": "^7.0", + "sebastian/recursion-context": "^3.0" + }, + "require-dev": { + "ext-mbstring": "*", + "phpunit/phpunit": "^6.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "3.1.x-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Jeff Welch", + "email": "whatthejeff@gmail.com" + }, + { + "name": "Volker Dusch", + "email": "github@wallbash.com" + }, + { + "name": "Bernhard Schussek", + "email": "bschussek@2bepublished.at" + }, + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de" + }, + { + "name": "Adam Harvey", + "email": "aharvey@php.net" + } + ], + "description": "Provides the functionality to export PHP variables for visualization", + "homepage": "http://www.github.com/sebastianbergmann/exporter", + "keywords": [ + "export", + "exporter" + ], + "time": "2017-04-03T13:19:02+00:00" + }, + { + "name": "sebastian/global-state", + "version": "2.0.0", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/global-state.git", + "reference": "e8ba02eed7bbbb9e59e43dedd3dddeff4a56b0c4" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/global-state/zipball/e8ba02eed7bbbb9e59e43dedd3dddeff4a56b0c4", + "reference": "e8ba02eed7bbbb9e59e43dedd3dddeff4a56b0c4", + "shasum": "" + }, + "require": { + "php": "^7.0" + }, + "require-dev": { + "phpunit/phpunit": "^6.0" + }, + "suggest": { + "ext-uopz": "*" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.0-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de" + } + ], + "description": "Snapshotting of global state", + "homepage": "http://www.github.com/sebastianbergmann/global-state", + "keywords": [ + "global state" + ], + "time": "2017-04-27T15:39:26+00:00" + }, + { + "name": "sebastian/object-enumerator", + "version": "3.0.3", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/object-enumerator.git", + "reference": "7cfd9e65d11ffb5af41198476395774d4c8a84c5" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/object-enumerator/zipball/7cfd9e65d11ffb5af41198476395774d4c8a84c5", + "reference": "7cfd9e65d11ffb5af41198476395774d4c8a84c5", + "shasum": "" + }, + "require": { + "php": "^7.0", + "sebastian/object-reflector": "^1.1.1", + "sebastian/recursion-context": "^3.0" + }, + "require-dev": { + "phpunit/phpunit": "^6.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "3.0.x-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de" + } + ], + "description": "Traverses array structures and object graphs to enumerate all referenced objects", + "homepage": "https://github.com/sebastianbergmann/object-enumerator/", + "time": "2017-08-03T12:35:26+00:00" + }, + { + "name": "sebastian/object-reflector", + "version": "1.1.1", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/object-reflector.git", + "reference": "773f97c67f28de00d397be301821b06708fca0be" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/object-reflector/zipball/773f97c67f28de00d397be301821b06708fca0be", + "reference": "773f97c67f28de00d397be301821b06708fca0be", + "shasum": "" + }, + "require": { + "php": "^7.0" + }, + "require-dev": { + "phpunit/phpunit": "^6.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.1-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de" + } + ], + "description": "Allows reflection of object attributes, including inherited and non-public ones", + "homepage": "https://github.com/sebastianbergmann/object-reflector/", + "time": "2017-03-29T09:07:27+00:00" + }, + { + "name": "sebastian/recursion-context", + "version": "3.0.0", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/recursion-context.git", + "reference": "5b0cd723502bac3b006cbf3dbf7a1e3fcefe4fa8" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/recursion-context/zipball/5b0cd723502bac3b006cbf3dbf7a1e3fcefe4fa8", + "reference": "5b0cd723502bac3b006cbf3dbf7a1e3fcefe4fa8", + "shasum": "" + }, + "require": { + "php": "^7.0" + }, + "require-dev": { + "phpunit/phpunit": "^6.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "3.0.x-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Jeff Welch", + "email": "whatthejeff@gmail.com" + }, + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de" + }, + { + "name": "Adam Harvey", + "email": "aharvey@php.net" + } + ], + "description": "Provides functionality to recursively process PHP variables", + "homepage": "http://www.github.com/sebastianbergmann/recursion-context", + "time": "2017-03-03T06:23:57+00:00" + }, + { + "name": "sebastian/resource-operations", + "version": "2.0.1", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/resource-operations.git", + "reference": "4d7a795d35b889bf80a0cc04e08d77cedfa917a9" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/resource-operations/zipball/4d7a795d35b889bf80a0cc04e08d77cedfa917a9", + "reference": "4d7a795d35b889bf80a0cc04e08d77cedfa917a9", + "shasum": "" + }, + "require": { + "php": "^7.1" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.0-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de" + } + ], + "description": "Provides a list of PHP built-in functions that operate on resources", + "homepage": "https://www.github.com/sebastianbergmann/resource-operations", + "time": "2018-10-04T04:07:39+00:00" + }, + { + "name": "sebastian/version", + "version": "2.0.1", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/version.git", + "reference": "99732be0ddb3361e16ad77b68ba41efc8e979019" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/version/zipball/99732be0ddb3361e16ad77b68ba41efc8e979019", + "reference": "99732be0ddb3361e16ad77b68ba41efc8e979019", + "shasum": "" + }, + "require": { + "php": ">=5.6" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.0.x-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de", + "role": "lead" + } + ], + "description": "Library that helps with managing the version number of Git-hosted PHP projects", + "homepage": "https://github.com/sebastianbergmann/version", + "time": "2016-10-03T07:35:21+00:00" + }, + { + "name": "theseer/tokenizer", + "version": "1.1.0", + "source": { + "type": "git", + "url": "https://github.com/theseer/tokenizer.git", + "reference": "cb2f008f3f05af2893a87208fe6a6c4985483f8b" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/theseer/tokenizer/zipball/cb2f008f3f05af2893a87208fe6a6c4985483f8b", + "reference": "cb2f008f3f05af2893a87208fe6a6c4985483f8b", + "shasum": "" + }, + "require": { + "ext-dom": "*", + "ext-tokenizer": "*", + "ext-xmlwriter": "*", + "php": "^7.0" + }, + "type": "library", + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Arne Blankerts", + "email": "arne@blankerts.de", + "role": "Developer" + } + ], + "description": "A small library for converting tokenized PHP source code into XML and potentially other formats", + "time": "2017-04-07T12:08:54+00:00" + }, + { + "name": "webmozart/assert", + "version": "1.3.0", + "source": { + "type": "git", + "url": "https://github.com/webmozart/assert.git", + "reference": "0df1908962e7a3071564e857d86874dad1ef204a" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/webmozart/assert/zipball/0df1908962e7a3071564e857d86874dad1ef204a", + "reference": "0df1908962e7a3071564e857d86874dad1ef204a", + "shasum": "" + }, + "require": { + "php": "^5.3.3 || ^7.0" + }, + "require-dev": { + "phpunit/phpunit": "^4.6", + "sebastian/version": "^1.0.1" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.3-dev" + } + }, + "autoload": { + "psr-4": { + "Webmozart\\Assert\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Bernhard Schussek", + "email": "bschussek@gmail.com" + } + ], + "description": "Assertions to validate method input/output with nice error messages.", + "keywords": [ + "assert", + "check", + "validate" + ], + "time": "2018-01-29T19:49:41+00:00" + } + ], + "aliases": [], + "minimum-stability": "dev", + "stability-flags": [], + "prefer-stable": true, + "prefer-lowest": false, + "platform": { + "php": "^7.1.3" + }, + "platform-dev": [] +} diff --git a/Show-Crypto-Currency-Price-in-Graph/amol/config/app.php b/Show-Crypto-Currency-Price-in-Graph/amol/config/app.php new file mode 100644 index 0000000..056512b --- /dev/null +++ b/Show-Crypto-Currency-Price-in-Graph/amol/config/app.php @@ -0,0 +1,214 @@ + env('APP_NAME', 'Laravel'), + + /* + |-------------------------------------------------------------------------- + | Application Environment + |-------------------------------------------------------------------------- + | + | This value determines the "environment" your application is currently + | running in. This may determine how you prefer to configure various + | services the application utilizes. Set this in your ".env" file. + | + */ + + 'env' => env('APP_ENV', 'production'), + + /* + |-------------------------------------------------------------------------- + | Application Debug Mode + |-------------------------------------------------------------------------- + | + | When your application is in debug mode, detailed error messages with + | stack traces will be shown on every error that occurs within your + | application. If disabled, a simple generic error page is shown. + | + */ + + 'debug' => env('APP_DEBUG', false), + + /* + |-------------------------------------------------------------------------- + | Application URL + |-------------------------------------------------------------------------- + | + | This URL is used by the console to properly generate URLs when using + | the Artisan command line tool. You should set this to the root of + | your application so that it is used when running Artisan tasks. + | + */ + + 'url' => env('APP_URL', 'http://localhost'), + + /* + |-------------------------------------------------------------------------- + | Application Timezone + |-------------------------------------------------------------------------- + | + | Here you may specify the default timezone for your application, which + | will be used by the PHP date and date-time functions. We have gone + | ahead and set this to a sensible default for you out of the box. + | + */ + + 'timezone' => 'UTC', + + /* + |-------------------------------------------------------------------------- + | Application Locale Configuration + |-------------------------------------------------------------------------- + | + | The application locale determines the default locale that will be used + | by the translation service provider. You are free to set this value + | to any of the locales which will be supported by the application. + | + */ + + 'locale' => 'en', + + /* + |-------------------------------------------------------------------------- + | Application Fallback Locale + |-------------------------------------------------------------------------- + | + | The fallback locale determines the locale to use when the current one + | is not available. You may change the value to correspond to any of + | the language folders that are provided through your application. + | + */ + + 'fallback_locale' => 'en', + + /* + |-------------------------------------------------------------------------- + | Encryption Key + |-------------------------------------------------------------------------- + | + | This key is used by the Illuminate encrypter service and should be set + | to a random, 32 character string, otherwise these encrypted strings + | will not be safe. Please do this before deploying an application! + | + */ + + 'key' => env('APP_KEY'), + + 'cipher' => 'AES-256-CBC', + + /* + |-------------------------------------------------------------------------- + | Autoloaded Service Providers + |-------------------------------------------------------------------------- + | + | The service providers listed here will be automatically loaded on the + | request to your application. Feel free to add your own services to + | this array to grant expanded functionality to your applications. + | + */ + + 'providers' => [ + + /* + * Laravel Framework Service Providers... + */ + Illuminate\Auth\AuthServiceProvider::class, + Illuminate\Broadcasting\BroadcastServiceProvider::class, + Illuminate\Bus\BusServiceProvider::class, + Illuminate\Cache\CacheServiceProvider::class, + Illuminate\Foundation\Providers\ConsoleSupportServiceProvider::class, + Illuminate\Cookie\CookieServiceProvider::class, + Illuminate\Database\DatabaseServiceProvider::class, + Illuminate\Encryption\EncryptionServiceProvider::class, + Illuminate\Filesystem\FilesystemServiceProvider::class, + Illuminate\Foundation\Providers\FoundationServiceProvider::class, + Illuminate\Hashing\HashServiceProvider::class, + Illuminate\Mail\MailServiceProvider::class, + Illuminate\Notifications\NotificationServiceProvider::class, + Illuminate\Pagination\PaginationServiceProvider::class, + Illuminate\Pipeline\PipelineServiceProvider::class, + Illuminate\Queue\QueueServiceProvider::class, + Illuminate\Redis\RedisServiceProvider::class, + Illuminate\Auth\Passwords\PasswordResetServiceProvider::class, + Illuminate\Session\SessionServiceProvider::class, + Illuminate\Translation\TranslationServiceProvider::class, + Illuminate\Validation\ValidationServiceProvider::class, + Illuminate\View\ViewServiceProvider::class, + + /* + * Package Service Providers... + */ + + /* + * Application Service Providers... + */ + App\Providers\AppServiceProvider::class, + App\Providers\AuthServiceProvider::class, + // App\Providers\BroadcastServiceProvider::class, + App\Providers\EventServiceProvider::class, + App\Providers\RouteServiceProvider::class, + + ], + + /* + |-------------------------------------------------------------------------- + | Class Aliases + |-------------------------------------------------------------------------- + | + | This array of class aliases will be registered when this application + | is started. However, feel free to register as many as you wish as + | the aliases are "lazy" loaded so they don't hinder performance. + | + */ + + 'aliases' => [ + + 'App' => Illuminate\Support\Facades\App::class, + 'Artisan' => Illuminate\Support\Facades\Artisan::class, + 'Auth' => Illuminate\Support\Facades\Auth::class, + 'Blade' => Illuminate\Support\Facades\Blade::class, + 'Broadcast' => Illuminate\Support\Facades\Broadcast::class, + 'Bus' => Illuminate\Support\Facades\Bus::class, + 'Cache' => Illuminate\Support\Facades\Cache::class, + 'Config' => Illuminate\Support\Facades\Config::class, + 'Cookie' => Illuminate\Support\Facades\Cookie::class, + 'Crypt' => Illuminate\Support\Facades\Crypt::class, + 'DB' => Illuminate\Support\Facades\DB::class, + 'Eloquent' => Illuminate\Database\Eloquent\Model::class, + 'Event' => Illuminate\Support\Facades\Event::class, + 'File' => Illuminate\Support\Facades\File::class, + 'Gate' => Illuminate\Support\Facades\Gate::class, + 'Hash' => Illuminate\Support\Facades\Hash::class, + 'Lang' => Illuminate\Support\Facades\Lang::class, + 'Log' => Illuminate\Support\Facades\Log::class, + 'Mail' => Illuminate\Support\Facades\Mail::class, + 'Notification' => Illuminate\Support\Facades\Notification::class, + 'Password' => Illuminate\Support\Facades\Password::class, + 'Queue' => Illuminate\Support\Facades\Queue::class, + 'Redirect' => Illuminate\Support\Facades\Redirect::class, + 'Redis' => Illuminate\Support\Facades\Redis::class, + 'Request' => Illuminate\Support\Facades\Request::class, + 'Response' => Illuminate\Support\Facades\Response::class, + 'Route' => Illuminate\Support\Facades\Route::class, + 'Schema' => Illuminate\Support\Facades\Schema::class, + 'Session' => Illuminate\Support\Facades\Session::class, + 'Storage' => Illuminate\Support\Facades\Storage::class, + 'URL' => Illuminate\Support\Facades\URL::class, + 'Validator' => Illuminate\Support\Facades\Validator::class, + 'View' => Illuminate\Support\Facades\View::class, + + ], + +]; diff --git a/Show-Crypto-Currency-Price-in-Graph/amol/config/auth.php b/Show-Crypto-Currency-Price-in-Graph/amol/config/auth.php new file mode 100644 index 0000000..7817501 --- /dev/null +++ b/Show-Crypto-Currency-Price-in-Graph/amol/config/auth.php @@ -0,0 +1,102 @@ + [ + 'guard' => 'web', + 'passwords' => 'users', + ], + + /* + |-------------------------------------------------------------------------- + | Authentication Guards + |-------------------------------------------------------------------------- + | + | Next, you may define every authentication guard for your application. + | Of course, a great default configuration has been defined for you + | here which uses session storage and the Eloquent user provider. + | + | All authentication drivers have a user provider. This defines how the + | users are actually retrieved out of your database or other storage + | mechanisms used by this application to persist your user's data. + | + | Supported: "session", "token" + | + */ + + 'guards' => [ + 'web' => [ + 'driver' => 'session', + 'provider' => 'users', + ], + + 'api' => [ + 'driver' => 'token', + 'provider' => 'users', + ], + ], + + /* + |-------------------------------------------------------------------------- + | User Providers + |-------------------------------------------------------------------------- + | + | All authentication drivers have a user provider. This defines how the + | users are actually retrieved out of your database or other storage + | mechanisms used by this application to persist your user's data. + | + | If you have multiple user tables or models you may configure multiple + | sources which represent each model / table. These sources may then + | be assigned to any extra authentication guards you have defined. + | + | Supported: "database", "eloquent" + | + */ + + 'providers' => [ + 'users' => [ + 'driver' => 'eloquent', + 'model' => App\User::class, + ], + + // 'users' => [ + // 'driver' => 'database', + // 'table' => 'users', + // ], + ], + + /* + |-------------------------------------------------------------------------- + | Resetting Passwords + |-------------------------------------------------------------------------- + | + | You may specify multiple password reset configurations if you have more + | than one user table or model in the application and you want to have + | separate password reset settings based on the specific user types. + | + | The expire time is the number of minutes that the reset token should be + | considered valid. This security feature keeps tokens short-lived so + | they have less time to be guessed. You may change this as needed. + | + */ + + 'passwords' => [ + 'users' => [ + 'provider' => 'users', + 'table' => 'password_resets', + 'expire' => 60, + ], + ], + +]; diff --git a/Show-Crypto-Currency-Price-in-Graph/amol/config/broadcasting.php b/Show-Crypto-Currency-Price-in-Graph/amol/config/broadcasting.php new file mode 100644 index 0000000..3ca45ea --- /dev/null +++ b/Show-Crypto-Currency-Price-in-Graph/amol/config/broadcasting.php @@ -0,0 +1,59 @@ + env('BROADCAST_DRIVER', 'null'), + + /* + |-------------------------------------------------------------------------- + | Broadcast Connections + |-------------------------------------------------------------------------- + | + | Here you may define all of the broadcast connections that will be used + | to broadcast events to other systems or over websockets. Samples of + | each available type of connection are provided inside this array. + | + */ + + 'connections' => [ + + 'pusher' => [ + 'driver' => 'pusher', + 'key' => env('PUSHER_APP_KEY'), + 'secret' => env('PUSHER_APP_SECRET'), + 'app_id' => env('PUSHER_APP_ID'), + 'options' => [ + 'cluster' => env('PUSHER_APP_CLUSTER'), + 'encrypted' => true, + ], + ], + + 'redis' => [ + 'driver' => 'redis', + 'connection' => 'default', + ], + + 'log' => [ + 'driver' => 'log', + ], + + 'null' => [ + 'driver' => 'null', + ], + + ], + +]; diff --git a/Show-Crypto-Currency-Price-in-Graph/amol/config/cache.php b/Show-Crypto-Currency-Price-in-Graph/amol/config/cache.php new file mode 100644 index 0000000..6c4629d --- /dev/null +++ b/Show-Crypto-Currency-Price-in-Graph/amol/config/cache.php @@ -0,0 +1,94 @@ + env('CACHE_DRIVER', 'file'), + + /* + |-------------------------------------------------------------------------- + | Cache Stores + |-------------------------------------------------------------------------- + | + | Here you may define all of the cache "stores" for your application as + | well as their drivers. You may even define multiple stores for the + | same cache driver to group types of items stored in your caches. + | + */ + + 'stores' => [ + + 'apc' => [ + 'driver' => 'apc', + ], + + 'array' => [ + 'driver' => 'array', + ], + + 'database' => [ + 'driver' => 'database', + 'table' => 'cache', + 'connection' => null, + ], + + 'file' => [ + 'driver' => 'file', + 'path' => storage_path('framework/cache/data'), + ], + + 'memcached' => [ + 'driver' => 'memcached', + 'persistent_id' => env('MEMCACHED_PERSISTENT_ID'), + 'sasl' => [ + env('MEMCACHED_USERNAME'), + env('MEMCACHED_PASSWORD'), + ], + 'options' => [ + // Memcached::OPT_CONNECT_TIMEOUT => 2000, + ], + 'servers' => [ + [ + 'host' => env('MEMCACHED_HOST', '127.0.0.1'), + 'port' => env('MEMCACHED_PORT', 11211), + 'weight' => 100, + ], + ], + ], + + 'redis' => [ + 'driver' => 'redis', + 'connection' => 'cache', + ], + + ], + + /* + |-------------------------------------------------------------------------- + | Cache Key Prefix + |-------------------------------------------------------------------------- + | + | When utilizing a RAM based store such as APC or Memcached, there might + | be other applications utilizing the same cache. So, we'll specify a + | value to get prefixed to all our keys so we can avoid collisions. + | + */ + + 'prefix' => env( + 'CACHE_PREFIX', + str_slug(env('APP_NAME', 'laravel'), '_').'_cache' + ), + +]; diff --git a/Show-Crypto-Currency-Price-in-Graph/amol/config/database.php b/Show-Crypto-Currency-Price-in-Graph/amol/config/database.php new file mode 100644 index 0000000..c60c885 --- /dev/null +++ b/Show-Crypto-Currency-Price-in-Graph/amol/config/database.php @@ -0,0 +1,127 @@ + env('DB_CONNECTION', 'mysql'), + + /* + |-------------------------------------------------------------------------- + | Database Connections + |-------------------------------------------------------------------------- + | + | Here are each of the database connections setup for your application. + | Of course, examples of configuring each database platform that is + | supported by Laravel is shown below to make development simple. + | + | + | All database work in Laravel is done through the PHP PDO facilities + | so make sure you have the driver for your particular database of + | choice installed on your machine before you begin development. + | + */ + + 'connections' => [ + + 'sqlite' => [ + 'driver' => 'sqlite', + 'database' => env('DB_DATABASE', database_path('database.sqlite')), + 'prefix' => '', + ], + + 'mysql' => [ + 'driver' => 'mysql', + 'host' => env('DB_HOST', '127.0.0.1'), + 'port' => env('DB_PORT', '3306'), + 'database' => env('DB_DATABASE', 'forge'), + 'username' => env('DB_USERNAME', 'forge'), + 'password' => env('DB_PASSWORD', ''), + 'unix_socket' => env('DB_SOCKET', ''), + 'charset' => 'utf8mb4', + 'collation' => 'utf8mb4_unicode_ci', + 'prefix' => '', + 'strict' => true, + 'engine' => null, + ], + + 'pgsql' => [ + 'driver' => 'pgsql', + 'host' => env('DB_HOST', '127.0.0.1'), + 'port' => env('DB_PORT', '5432'), + 'database' => env('DB_DATABASE', 'forge'), + 'username' => env('DB_USERNAME', 'forge'), + 'password' => env('DB_PASSWORD', ''), + 'charset' => 'utf8', + 'prefix' => '', + 'schema' => 'public', + 'sslmode' => 'prefer', + ], + + 'sqlsrv' => [ + 'driver' => 'sqlsrv', + 'host' => env('DB_HOST', 'localhost'), + 'port' => env('DB_PORT', '1433'), + 'database' => env('DB_DATABASE', 'forge'), + 'username' => env('DB_USERNAME', 'forge'), + 'password' => env('DB_PASSWORD', ''), + 'charset' => 'utf8', + 'prefix' => '', + ], + + ], + + /* + |-------------------------------------------------------------------------- + | Migration Repository Table + |-------------------------------------------------------------------------- + | + | This table keeps track of all the migrations that have already run for + | your application. Using this information, we can determine which of + | the migrations on disk haven't actually been run in the database. + | + */ + + 'migrations' => 'migrations', + + /* + |-------------------------------------------------------------------------- + | Redis Databases + |-------------------------------------------------------------------------- + | + | Redis is an open source, fast, and advanced key-value store that also + | provides a richer set of commands than a typical key-value systems + | such as APC or Memcached. Laravel makes it easy to dig right in. + | + */ + + 'redis' => [ + + 'client' => 'predis', + + 'default' => [ + 'host' => env('REDIS_HOST', '127.0.0.1'), + 'password' => env('REDIS_PASSWORD', null), + 'port' => env('REDIS_PORT', 6379), + 'database' => env('REDIS_DB', 0), + ], + + 'cache' => [ + 'host' => env('REDIS_HOST', '127.0.0.1'), + 'password' => env('REDIS_PASSWORD', null), + 'port' => env('REDIS_PORT', 6379), + 'database' => env('REDIS_CACHE_DB', 1), + ], + + ], + +]; diff --git a/Show-Crypto-Currency-Price-in-Graph/amol/config/filesystems.php b/Show-Crypto-Currency-Price-in-Graph/amol/config/filesystems.php new file mode 100644 index 0000000..77fa5de --- /dev/null +++ b/Show-Crypto-Currency-Price-in-Graph/amol/config/filesystems.php @@ -0,0 +1,69 @@ + env('FILESYSTEM_DRIVER', 'local'), + + /* + |-------------------------------------------------------------------------- + | Default Cloud Filesystem Disk + |-------------------------------------------------------------------------- + | + | Many applications store files both locally and in the cloud. For this + | reason, you may specify a default "cloud" driver here. This driver + | will be bound as the Cloud disk implementation in the container. + | + */ + + 'cloud' => env('FILESYSTEM_CLOUD', 's3'), + + /* + |-------------------------------------------------------------------------- + | Filesystem Disks + |-------------------------------------------------------------------------- + | + | Here you may configure as many filesystem "disks" as you wish, and you + | may even configure multiple disks of the same driver. Defaults have + | been setup for each driver as an example of the required options. + | + | Supported Drivers: "local", "ftp", "sftp", "s3", "rackspace" + | + */ + + 'disks' => [ + + 'local' => [ + 'driver' => 'local', + 'root' => storage_path('app'), + ], + + 'public' => [ + 'driver' => 'local', + 'root' => storage_path('app/public'), + 'url' => env('APP_URL').'/storage', + 'visibility' => 'public', + ], + + 's3' => [ + 'driver' => 's3', + 'key' => env('AWS_ACCESS_KEY_ID'), + 'secret' => env('AWS_SECRET_ACCESS_KEY'), + 'region' => env('AWS_DEFAULT_REGION'), + 'bucket' => env('AWS_BUCKET'), + 'url' => env('AWS_URL'), + ], + + ], + +]; diff --git a/Show-Crypto-Currency-Price-in-Graph/amol/config/hashing.php b/Show-Crypto-Currency-Price-in-Graph/amol/config/hashing.php new file mode 100644 index 0000000..8425770 --- /dev/null +++ b/Show-Crypto-Currency-Price-in-Graph/amol/config/hashing.php @@ -0,0 +1,52 @@ + 'bcrypt', + + /* + |-------------------------------------------------------------------------- + | Bcrypt Options + |-------------------------------------------------------------------------- + | + | Here you may specify the configuration options that should be used when + | passwords are hashed using the Bcrypt algorithm. This will allow you + | to control the amount of time it takes to hash the given password. + | + */ + + 'bcrypt' => [ + 'rounds' => env('BCRYPT_ROUNDS', 10), + ], + + /* + |-------------------------------------------------------------------------- + | Argon Options + |-------------------------------------------------------------------------- + | + | Here you may specify the configuration options that should be used when + | passwords are hashed using the Argon algorithm. These will allow you + | to control the amount of time it takes to hash the given password. + | + */ + + 'argon' => [ + 'memory' => 1024, + 'threads' => 2, + 'time' => 2, + ], + +]; diff --git a/Show-Crypto-Currency-Price-in-Graph/amol/config/logging.php b/Show-Crypto-Currency-Price-in-Graph/amol/config/logging.php new file mode 100644 index 0000000..400bc7f --- /dev/null +++ b/Show-Crypto-Currency-Price-in-Graph/amol/config/logging.php @@ -0,0 +1,81 @@ + env('LOG_CHANNEL', 'stack'), + + /* + |-------------------------------------------------------------------------- + | Log Channels + |-------------------------------------------------------------------------- + | + | Here you may configure the log channels for your application. Out of + | the box, Laravel uses the Monolog PHP logging library. This gives + | you a variety of powerful log handlers / formatters to utilize. + | + | Available Drivers: "single", "daily", "slack", "syslog", + | "errorlog", "monolog", + | "custom", "stack" + | + */ + + 'channels' => [ + 'stack' => [ + 'driver' => 'stack', + 'channels' => ['single'], + ], + + 'single' => [ + 'driver' => 'single', + 'path' => storage_path('logs/laravel.log'), + 'level' => 'debug', + ], + + 'daily' => [ + 'driver' => 'daily', + 'path' => storage_path('logs/laravel.log'), + 'level' => 'debug', + 'days' => 7, + ], + + 'slack' => [ + 'driver' => 'slack', + 'url' => env('LOG_SLACK_WEBHOOK_URL'), + 'username' => 'Laravel Log', + 'emoji' => ':boom:', + 'level' => 'critical', + ], + + 'stderr' => [ + 'driver' => 'monolog', + 'handler' => StreamHandler::class, + 'with' => [ + 'stream' => 'php://stderr', + ], + ], + + 'syslog' => [ + 'driver' => 'syslog', + 'level' => 'debug', + ], + + 'errorlog' => [ + 'driver' => 'errorlog', + 'level' => 'debug', + ], + ], + +]; diff --git a/Show-Crypto-Currency-Price-in-Graph/amol/config/mail.php b/Show-Crypto-Currency-Price-in-Graph/amol/config/mail.php new file mode 100644 index 0000000..bb92224 --- /dev/null +++ b/Show-Crypto-Currency-Price-in-Graph/amol/config/mail.php @@ -0,0 +1,123 @@ + env('MAIL_DRIVER', 'smtp'), + + /* + |-------------------------------------------------------------------------- + | SMTP Host Address + |-------------------------------------------------------------------------- + | + | Here you may provide the host address of the SMTP server used by your + | applications. A default option is provided that is compatible with + | the Mailgun mail service which will provide reliable deliveries. + | + */ + + 'host' => env('MAIL_HOST', 'smtp.mailgun.org'), + + /* + |-------------------------------------------------------------------------- + | SMTP Host Port + |-------------------------------------------------------------------------- + | + | This is the SMTP port used by your application to deliver e-mails to + | users of the application. Like the host we have set this value to + | stay compatible with the Mailgun e-mail application by default. + | + */ + + 'port' => env('MAIL_PORT', 587), + + /* + |-------------------------------------------------------------------------- + | Global "From" Address + |-------------------------------------------------------------------------- + | + | You may wish for all e-mails sent by your application to be sent from + | the same address. Here, you may specify a name and address that is + | used globally for all e-mails that are sent by your application. + | + */ + + 'from' => [ + 'address' => env('MAIL_FROM_ADDRESS', 'hello@example.com'), + 'name' => env('MAIL_FROM_NAME', 'Example'), + ], + + /* + |-------------------------------------------------------------------------- + | E-Mail Encryption Protocol + |-------------------------------------------------------------------------- + | + | Here you may specify the encryption protocol that should be used when + | the application send e-mail messages. A sensible default using the + | transport layer security protocol should provide great security. + | + */ + + 'encryption' => env('MAIL_ENCRYPTION', 'tls'), + + /* + |-------------------------------------------------------------------------- + | SMTP Server Username + |-------------------------------------------------------------------------- + | + | If your SMTP server requires a username for authentication, you should + | set it here. This will get used to authenticate with your server on + | connection. You may also set the "password" value below this one. + | + */ + + 'username' => env('MAIL_USERNAME'), + + 'password' => env('MAIL_PASSWORD'), + + /* + |-------------------------------------------------------------------------- + | Sendmail System Path + |-------------------------------------------------------------------------- + | + | When using the "sendmail" driver to send e-mails, we will need to know + | the path to where Sendmail lives on this server. A default path has + | been provided here, which will work well on most of your systems. + | + */ + + 'sendmail' => '/usr/sbin/sendmail -bs', + + /* + |-------------------------------------------------------------------------- + | Markdown Mail Settings + |-------------------------------------------------------------------------- + | + | If you are using Markdown based email rendering, you may configure your + | theme and component paths here, allowing you to customize the design + | of the emails. Or, you may simply stick with the Laravel defaults! + | + */ + + 'markdown' => [ + 'theme' => 'default', + + 'paths' => [ + resource_path('views/vendor/mail'), + ], + ], + +]; diff --git a/Show-Crypto-Currency-Price-in-Graph/amol/config/queue.php b/Show-Crypto-Currency-Price-in-Graph/amol/config/queue.php new file mode 100644 index 0000000..38326ef --- /dev/null +++ b/Show-Crypto-Currency-Price-in-Graph/amol/config/queue.php @@ -0,0 +1,86 @@ + env('QUEUE_CONNECTION', 'sync'), + + /* + |-------------------------------------------------------------------------- + | Queue Connections + |-------------------------------------------------------------------------- + | + | Here you may configure the connection information for each server that + | is used by your application. A default configuration has been added + | for each back-end shipped with Laravel. You are free to add more. + | + | Drivers: "sync", "database", "beanstalkd", "sqs", "redis", "null" + | + */ + + 'connections' => [ + + 'sync' => [ + 'driver' => 'sync', + ], + + 'database' => [ + 'driver' => 'database', + 'table' => 'jobs', + 'queue' => 'default', + 'retry_after' => 90, + ], + + 'beanstalkd' => [ + 'driver' => 'beanstalkd', + 'host' => 'localhost', + 'queue' => 'default', + 'retry_after' => 90, + ], + + 'sqs' => [ + 'driver' => 'sqs', + 'key' => env('SQS_KEY', 'your-public-key'), + 'secret' => env('SQS_SECRET', 'your-secret-key'), + 'prefix' => env('SQS_PREFIX', 'https://sqs.us-east-1.amazonaws.com/your-account-id'), + 'queue' => env('SQS_QUEUE', 'your-queue-name'), + 'region' => env('SQS_REGION', 'us-east-1'), + ], + + 'redis' => [ + 'driver' => 'redis', + 'connection' => 'default', + 'queue' => 'default', + 'retry_after' => 90, + 'block_for' => null, + ], + + ], + + /* + |-------------------------------------------------------------------------- + | Failed Queue Jobs + |-------------------------------------------------------------------------- + | + | These options configure the behavior of failed queue job logging so you + | can control which database and table are used to store the jobs that + | have failed. You may change them to any database / table you wish. + | + */ + + 'failed' => [ + 'database' => env('DB_CONNECTION', 'mysql'), + 'table' => 'failed_jobs', + ], + +]; diff --git a/Show-Crypto-Currency-Price-in-Graph/amol/config/services.php b/Show-Crypto-Currency-Price-in-Graph/amol/config/services.php new file mode 100644 index 0000000..aa1f7f8 --- /dev/null +++ b/Show-Crypto-Currency-Price-in-Graph/amol/config/services.php @@ -0,0 +1,38 @@ + [ + 'domain' => env('MAILGUN_DOMAIN'), + 'secret' => env('MAILGUN_SECRET'), + ], + + 'ses' => [ + 'key' => env('SES_KEY'), + 'secret' => env('SES_SECRET'), + 'region' => env('SES_REGION', 'us-east-1'), + ], + + 'sparkpost' => [ + 'secret' => env('SPARKPOST_SECRET'), + ], + + 'stripe' => [ + 'model' => App\User::class, + 'key' => env('STRIPE_KEY'), + 'secret' => env('STRIPE_SECRET'), + ], + +]; diff --git a/Show-Crypto-Currency-Price-in-Graph/amol/config/session.php b/Show-Crypto-Currency-Price-in-Graph/amol/config/session.php new file mode 100644 index 0000000..38829b7 --- /dev/null +++ b/Show-Crypto-Currency-Price-in-Graph/amol/config/session.php @@ -0,0 +1,197 @@ + env('SESSION_DRIVER', 'file'), + + /* + |-------------------------------------------------------------------------- + | Session Lifetime + |-------------------------------------------------------------------------- + | + | Here you may specify the number of minutes that you wish the session + | to be allowed to remain idle before it expires. If you want them + | to immediately expire on the browser closing, set that option. + | + */ + + 'lifetime' => env('SESSION_LIFETIME', 120), + + 'expire_on_close' => false, + + /* + |-------------------------------------------------------------------------- + | Session Encryption + |-------------------------------------------------------------------------- + | + | This option allows you to easily specify that all of your session data + | should be encrypted before it is stored. All encryption will be run + | automatically by Laravel and you can use the Session like normal. + | + */ + + 'encrypt' => false, + + /* + |-------------------------------------------------------------------------- + | Session File Location + |-------------------------------------------------------------------------- + | + | When using the native session driver, we need a location where session + | files may be stored. A default has been set for you but a different + | location may be specified. This is only needed for file sessions. + | + */ + + 'files' => storage_path('framework/sessions'), + + /* + |-------------------------------------------------------------------------- + | Session Database Connection + |-------------------------------------------------------------------------- + | + | When using the "database" or "redis" session drivers, you may specify a + | connection that should be used to manage these sessions. This should + | correspond to a connection in your database configuration options. + | + */ + + 'connection' => env('SESSION_CONNECTION', null), + + /* + |-------------------------------------------------------------------------- + | Session Database Table + |-------------------------------------------------------------------------- + | + | When using the "database" session driver, you may specify the table we + | should use to manage the sessions. Of course, a sensible default is + | provided for you; however, you are free to change this as needed. + | + */ + + 'table' => 'sessions', + + /* + |-------------------------------------------------------------------------- + | Session Cache Store + |-------------------------------------------------------------------------- + | + | When using the "apc" or "memcached" session drivers, you may specify a + | cache store that should be used for these sessions. This value must + | correspond with one of the application's configured cache stores. + | + */ + + 'store' => env('SESSION_STORE', null), + + /* + |-------------------------------------------------------------------------- + | Session Sweeping Lottery + |-------------------------------------------------------------------------- + | + | Some session drivers must manually sweep their storage location to get + | rid of old sessions from storage. Here are the chances that it will + | happen on a given request. By default, the odds are 2 out of 100. + | + */ + + 'lottery' => [2, 100], + + /* + |-------------------------------------------------------------------------- + | Session Cookie Name + |-------------------------------------------------------------------------- + | + | Here you may change the name of the cookie used to identify a session + | instance by ID. The name specified here will get used every time a + | new session cookie is created by the framework for every driver. + | + */ + + 'cookie' => env( + 'SESSION_COOKIE', + str_slug(env('APP_NAME', 'laravel'), '_').'_session' + ), + + /* + |-------------------------------------------------------------------------- + | Session Cookie Path + |-------------------------------------------------------------------------- + | + | The session cookie path determines the path for which the cookie will + | be regarded as available. Typically, this will be the root path of + | your application but you are free to change this when necessary. + | + */ + + 'path' => '/', + + /* + |-------------------------------------------------------------------------- + | Session Cookie Domain + |-------------------------------------------------------------------------- + | + | Here you may change the domain of the cookie used to identify a session + | in your application. This will determine which domains the cookie is + | available to in your application. A sensible default has been set. + | + */ + + 'domain' => env('SESSION_DOMAIN', null), + + /* + |-------------------------------------------------------------------------- + | HTTPS Only Cookies + |-------------------------------------------------------------------------- + | + | By setting this option to true, session cookies will only be sent back + | to the server if the browser has a HTTPS connection. This will keep + | the cookie from being sent to you if it can not be done securely. + | + */ + + 'secure' => env('SESSION_SECURE_COOKIE', false), + + /* + |-------------------------------------------------------------------------- + | HTTP Access Only + |-------------------------------------------------------------------------- + | + | Setting this value to true will prevent JavaScript from accessing the + | value of the cookie and the cookie will only be accessible through + | the HTTP protocol. You are free to modify this option if needed. + | + */ + + 'http_only' => true, + + /* + |-------------------------------------------------------------------------- + | Same-Site Cookies + |-------------------------------------------------------------------------- + | + | This option determines how your cookies behave when cross-site requests + | take place, and can be used to mitigate CSRF attacks. By default, we + | do not enable this as other CSRF protection services are in place. + | + | Supported: "lax", "strict" + | + */ + + 'same_site' => null, + +]; diff --git a/Show-Crypto-Currency-Price-in-Graph/amol/config/view.php b/Show-Crypto-Currency-Price-in-Graph/amol/config/view.php new file mode 100644 index 0000000..2acfd9c --- /dev/null +++ b/Show-Crypto-Currency-Price-in-Graph/amol/config/view.php @@ -0,0 +1,33 @@ + [ + resource_path('views'), + ], + + /* + |-------------------------------------------------------------------------- + | Compiled View Path + |-------------------------------------------------------------------------- + | + | This option determines where all the compiled Blade templates will be + | stored for your application. Typically, this is within the storage + | directory. However, as usual, you are free to change this value. + | + */ + + 'compiled' => realpath(storage_path('framework/views')), + +]; diff --git a/Show-Crypto-Currency-Price-in-Graph/amol/database/.gitignore b/Show-Crypto-Currency-Price-in-Graph/amol/database/.gitignore new file mode 100644 index 0000000..9b1dffd --- /dev/null +++ b/Show-Crypto-Currency-Price-in-Graph/amol/database/.gitignore @@ -0,0 +1 @@ +*.sqlite diff --git a/Show-Crypto-Currency-Price-in-Graph/amol/database/factories/UserFactory.php b/Show-Crypto-Currency-Price-in-Graph/amol/database/factories/UserFactory.php new file mode 100644 index 0000000..facf233 --- /dev/null +++ b/Show-Crypto-Currency-Price-in-Graph/amol/database/factories/UserFactory.php @@ -0,0 +1,23 @@ +define(App\User::class, function (Faker $faker) { + return [ + 'name' => $faker->name, + 'email' => $faker->unique()->safeEmail, + 'password' => '$2y$10$TKh8H1.PfQx37YgCzwiKb.KjNyWgaHb9cbcoQgdIVFlYg7B77UdFm', // secret + 'remember_token' => str_random(10), + ]; +}); diff --git a/Show-Crypto-Currency-Price-in-Graph/amol/database/migrations/2014_10_12_000000_create_users_table.php b/Show-Crypto-Currency-Price-in-Graph/amol/database/migrations/2014_10_12_000000_create_users_table.php new file mode 100644 index 0000000..16a6108 --- /dev/null +++ b/Show-Crypto-Currency-Price-in-Graph/amol/database/migrations/2014_10_12_000000_create_users_table.php @@ -0,0 +1,36 @@ +increments('id'); + $table->string('name'); + $table->string('email')->unique(); + $table->timestamp('email_verified_at')->nullable(); + $table->string('password'); + $table->rememberToken(); + $table->timestamps(); + }); + } + + /** + * Reverse the migrations. + * + * @return void + */ + public function down() + { + Schema::dropIfExists('users'); + } +} diff --git a/Show-Crypto-Currency-Price-in-Graph/amol/database/migrations/2014_10_12_100000_create_password_resets_table.php b/Show-Crypto-Currency-Price-in-Graph/amol/database/migrations/2014_10_12_100000_create_password_resets_table.php new file mode 100644 index 0000000..0d5cb84 --- /dev/null +++ b/Show-Crypto-Currency-Price-in-Graph/amol/database/migrations/2014_10_12_100000_create_password_resets_table.php @@ -0,0 +1,32 @@ +string('email')->index(); + $table->string('token'); + $table->timestamp('created_at')->nullable(); + }); + } + + /** + * Reverse the migrations. + * + * @return void + */ + public function down() + { + Schema::dropIfExists('password_resets'); + } +} diff --git a/Show-Crypto-Currency-Price-in-Graph/amol/database/seeds/DatabaseSeeder.php b/Show-Crypto-Currency-Price-in-Graph/amol/database/seeds/DatabaseSeeder.php new file mode 100644 index 0000000..91cb6d1 --- /dev/null +++ b/Show-Crypto-Currency-Price-in-Graph/amol/database/seeds/DatabaseSeeder.php @@ -0,0 +1,16 @@ +call(UsersTableSeeder::class); + } +} diff --git a/Show-Crypto-Currency-Price-in-Graph/amol/package.json b/Show-Crypto-Currency-Price-in-Graph/amol/package.json new file mode 100644 index 0000000..d5f92f9 --- /dev/null +++ b/Show-Crypto-Currency-Price-in-Graph/amol/package.json @@ -0,0 +1,22 @@ +{ + "private": true, + "scripts": { + "dev": "npm run development", + "development": "cross-env NODE_ENV=development node_modules/webpack/bin/webpack.js --progress --hide-modules --config=node_modules/laravel-mix/setup/webpack.config.js", + "watch": "npm run development -- --watch", + "watch-poll": "npm run watch -- --watch-poll", + "hot": "cross-env NODE_ENV=development node_modules/webpack-dev-server/bin/webpack-dev-server.js --inline --hot --config=node_modules/laravel-mix/setup/webpack.config.js", + "prod": "npm run production", + "production": "cross-env NODE_ENV=production node_modules/webpack/bin/webpack.js --no-progress --hide-modules --config=node_modules/laravel-mix/setup/webpack.config.js" + }, + "devDependencies": { + "axios": "^0.18", + "bootstrap": "^4.0.0", + "cross-env": "^5.1", + "jquery": "^3.2", + "laravel-mix": "^2.0", + "lodash": "^4.17.5", + "popper.js": "^1.12", + "vue": "^2.5.7" + } +} diff --git a/Show-Crypto-Currency-Price-in-Graph/amol/phpunit.xml b/Show-Crypto-Currency-Price-in-Graph/amol/phpunit.xml new file mode 100644 index 0000000..f564cfb --- /dev/null +++ b/Show-Crypto-Currency-Price-in-Graph/amol/phpunit.xml @@ -0,0 +1,33 @@ + + + + + ./tests/Unit + + + + ./tests/Feature + + + + + ./app + + + + + + + + + + + diff --git a/Show-Crypto-Currency-Price-in-Graph/amol/public/.htaccess b/Show-Crypto-Currency-Price-in-Graph/amol/public/.htaccess new file mode 100644 index 0000000..b75525b --- /dev/null +++ b/Show-Crypto-Currency-Price-in-Graph/amol/public/.htaccess @@ -0,0 +1,21 @@ + + + Options -MultiViews -Indexes + + + RewriteEngine On + + # Handle Authorization Header + RewriteCond %{HTTP:Authorization} . + RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}] + + # Redirect Trailing Slashes If Not A Folder... + RewriteCond %{REQUEST_FILENAME} !-d + RewriteCond %{REQUEST_URI} (.+)/$ + RewriteRule ^ %1 [L,R=301] + + # Handle Front Controller... + RewriteCond %{REQUEST_FILENAME} !-d + RewriteCond %{REQUEST_FILENAME} !-f + RewriteRule ^ index.php [L] + diff --git a/Show-Crypto-Currency-Price-in-Graph/amol/public/assets/css/bootstrap.css b/Show-Crypto-Currency-Price-in-Graph/amol/public/assets/css/bootstrap.css new file mode 100644 index 0000000..baf10e8 --- /dev/null +++ b/Show-Crypto-Currency-Price-in-Graph/amol/public/assets/css/bootstrap.css @@ -0,0 +1 @@ +hr,img{border:0}body,figure{margin:0}.btn-group>.btn-group,.btn-toolbar .btn,.btn-toolbar .btn-group,.btn-toolbar .input-group,.col-xs-1,.col-xs-10,.col-xs-11,.col-xs-12,.col-xs-2,.col-xs-3,.col-xs-4,.col-xs-5,.col-xs-6,.col-xs-7,.col-xs-8,.col-xs-9,.dropdown-menu{float:left}.navbar-fixed-bottom .navbar-collapse,.navbar-fixed-top .navbar-collapse,.pre-scrollable{max-height:340px}html{font-family:sans-serif;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%}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}b,optgroup,strong{font-weight:700}dfn{font-style:italic}h1{margin:.67em 0}mark{background:#ff0;color:#000}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sup{top:-.5em}sub{bottom:-.25em}img{vertical-align:middle}svg:not(:root){overflow:hidden}hr{box-sizing:content-box;height:0}pre,textarea{overflow:auto}code,kbd,pre,samp{font-size:1em}button,input,optgroup,select,textarea{color:inherit;font:inherit;margin:0}.glyphicon,address{font-style:normal}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[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-search-cancel-button,input[type=search]::-webkit-search-decoration{-webkit-appearance:none}table{border-collapse:collapse;border-spacing:0}td,th{padding:0}@media print{blockquote,img,pre,tr{page-break-inside:avoid}*,:after,:before{background:0 0!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^="javascript:"]:after,a[href^="#"]:after{content:""}blockquote,pre{border:1px solid #999}thead{display:table-header-group}img{max-width:100%!important}h2,h3,p{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 td,.table-bordered th{border:1px solid #ddd!important}}.btn,.btn-danger.active,.btn-danger:active,.btn-default.active,.btn-default:active,.btn-info.active,.btn-info:active,.btn-primary.active,.btn-primary:active,.btn-warning.active,.btn-warning:active,.btn.active,.btn:active,.dropdown-menu>.disabled>a:focus,.dropdown-menu>.disabled>a:hover,.form-control,.navbar-toggle,.open>.dropdown-toggle.btn-danger,.open>.dropdown-toggle.btn-default,.open>.dropdown-toggle.btn-info,.open>.dropdown-toggle.btn-primary,.open>.dropdown-toggle.btn-warning{background-image:none}@font-face{font-family:'Glyphicons Halflings';src:url(icons/glyphicons/glyphicons-halflings-regular.eot);src:url(icons/glyphicons/glyphicons-halflings-regulard41d.eot?#iefix) format('embedded-opentype'),url(icons/glyphicons/glyphicons-halflings-regular.woff2) format('woff2'),url(icons/glyphicons/glyphicons-halflings-regular.woff) format('woff'),url(icons/glyphicons/glyphicons-halflings-regular.ttf) format('truetype'),url(icons/glyphicons/glyphicons-halflings-regular.svg#glyphicons_halflingsregular) format('svg')}.glyphicon{position:relative;top:1px;display:inline-block;font-family:'Glyphicons Halflings';font-weight:400;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.glyphicon-asterisk:before{content:"\002a"}.glyphicon-plus:before{content:"\002b"}.glyphicon-eur:before,.glyphicon-euro:before{content:"\20ac"}.glyphicon-minus:before{content:"\2212"}.glyphicon-cloud:before{content:"\2601"}.glyphicon-envelope:before{content:"\2709"}.glyphicon-pencil:before{content:"\270f"}.glyphicon-glass:before{content:"\e001"}.glyphicon-music:before{content:"\e002"}.glyphicon-search:before{content:"\e003"}.glyphicon-heart:before{content:"\e005"}.glyphicon-star:before{content:"\e006"}.glyphicon-star-empty:before{content:"\e007"}.glyphicon-user:before{content:"\e008"}.glyphicon-film:before{content:"\e009"}.glyphicon-th-large:before{content:"\e010"}.glyphicon-th:before{content:"\e011"}.glyphicon-th-list:before{content:"\e012"}.glyphicon-ok:before{content:"\e013"}.glyphicon-remove:before{content:"\e014"}.glyphicon-zoom-in:before{content:"\e015"}.glyphicon-zoom-out:before{content:"\e016"}.glyphicon-off:before{content:"\e017"}.glyphicon-signal:before{content:"\e018"}.glyphicon-cog:before{content:"\e019"}.glyphicon-trash:before{content:"\e020"}.glyphicon-home:before{content:"\e021"}.glyphicon-file:before{content:"\e022"}.glyphicon-time:before{content:"\e023"}.glyphicon-road:before{content:"\e024"}.glyphicon-download-alt:before{content:"\e025"}.glyphicon-download:before{content:"\e026"}.glyphicon-upload:before{content:"\e027"}.glyphicon-inbox:before{content:"\e028"}.glyphicon-play-circle:before{content:"\e029"}.glyphicon-repeat:before{content:"\e030"}.glyphicon-refresh:before{content:"\e031"}.glyphicon-list-alt:before{content:"\e032"}.glyphicon-lock:before{content:"\e033"}.glyphicon-flag:before{content:"\e034"}.glyphicon-headphones:before{content:"\e035"}.glyphicon-volume-off:before{content:"\e036"}.glyphicon-volume-down:before{content:"\e037"}.glyphicon-volume-up:before{content:"\e038"}.glyphicon-qrcode:before{content:"\e039"}.glyphicon-barcode:before{content:"\e040"}.glyphicon-tag:before{content:"\e041"}.glyphicon-tags:before{content:"\e042"}.glyphicon-book:before{content:"\e043"}.glyphicon-bookmark:before{content:"\e044"}.glyphicon-print:before{content:"\e045"}.glyphicon-camera:before{content:"\e046"}.glyphicon-font:before{content:"\e047"}.glyphicon-bold:before{content:"\e048"}.glyphicon-italic:before{content:"\e049"}.glyphicon-text-height:before{content:"\e050"}.glyphicon-text-width:before{content:"\e051"}.glyphicon-align-left:before{content:"\e052"}.glyphicon-align-center:before{content:"\e053"}.glyphicon-align-right:before{content:"\e054"}.glyphicon-align-justify:before{content:"\e055"}.glyphicon-list:before{content:"\e056"}.glyphicon-indent-left:before{content:"\e057"}.glyphicon-indent-right:before{content:"\e058"}.glyphicon-facetime-video:before{content:"\e059"}.glyphicon-picture:before{content:"\e060"}.glyphicon-map-marker:before{content:"\e062"}.glyphicon-adjust:before{content:"\e063"}.glyphicon-tint:before{content:"\e064"}.glyphicon-edit:before{content:"\e065"}.glyphicon-share:before{content:"\e066"}.glyphicon-check:before{content:"\e067"}.glyphicon-move:before{content:"\e068"}.glyphicon-step-backward:before{content:"\e069"}.glyphicon-fast-backward:before{content:"\e070"}.glyphicon-backward:before{content:"\e071"}.glyphicon-play:before{content:"\e072"}.glyphicon-pause:before{content:"\e073"}.glyphicon-stop:before{content:"\e074"}.glyphicon-forward:before{content:"\e075"}.glyphicon-fast-forward:before{content:"\e076"}.glyphicon-step-forward:before{content:"\e077"}.glyphicon-eject:before{content:"\e078"}.glyphicon-chevron-left:before{content:"\e079"}.glyphicon-chevron-right:before{content:"\e080"}.glyphicon-plus-sign:before{content:"\e081"}.glyphicon-minus-sign:before{content:"\e082"}.glyphicon-remove-sign:before{content:"\e083"}.glyphicon-ok-sign:before{content:"\e084"}.glyphicon-question-sign:before{content:"\e085"}.glyphicon-info-sign:before{content:"\e086"}.glyphicon-screenshot:before{content:"\e087"}.glyphicon-remove-circle:before{content:"\e088"}.glyphicon-ok-circle:before{content:"\e089"}.glyphicon-ban-circle:before{content:"\e090"}.glyphicon-arrow-left:before{content:"\e091"}.glyphicon-arrow-right:before{content:"\e092"}.glyphicon-arrow-up:before{content:"\e093"}.glyphicon-arrow-down:before{content:"\e094"}.glyphicon-share-alt:before{content:"\e095"}.glyphicon-resize-full:before{content:"\e096"}.glyphicon-resize-small:before{content:"\e097"}.glyphicon-exclamation-sign:before{content:"\e101"}.glyphicon-gift:before{content:"\e102"}.glyphicon-leaf:before{content:"\e103"}.glyphicon-fire:before{content:"\e104"}.glyphicon-eye-open:before{content:"\e105"}.glyphicon-eye-close:before{content:"\e106"}.glyphicon-warning-sign:before{content:"\e107"}.glyphicon-plane:before{content:"\e108"}.glyphicon-calendar:before{content:"\e109"}.glyphicon-random:before{content:"\e110"}.glyphicon-comment:before{content:"\e111"}.glyphicon-magnet:before{content:"\e112"}.glyphicon-chevron-up:before{content:"\e113"}.glyphicon-chevron-down:before{content:"\e114"}.glyphicon-retweet:before{content:"\e115"}.glyphicon-shopping-cart:before{content:"\e116"}.glyphicon-folder-close:before{content:"\e117"}.glyphicon-folder-open:before{content:"\e118"}.glyphicon-resize-vertical:before{content:"\e119"}.glyphicon-resize-horizontal:before{content:"\e120"}.glyphicon-hdd:before{content:"\e121"}.glyphicon-bullhorn:before{content:"\e122"}.glyphicon-bell:before{content:"\e123"}.glyphicon-certificate:before{content:"\e124"}.glyphicon-thumbs-up:before{content:"\e125"}.glyphicon-thumbs-down:before{content:"\e126"}.glyphicon-hand-right:before{content:"\e127"}.glyphicon-hand-left:before{content:"\e128"}.glyphicon-hand-up:before{content:"\e129"}.glyphicon-hand-down:before{content:"\e130"}.glyphicon-circle-arrow-right:before{content:"\e131"}.glyphicon-circle-arrow-left:before{content:"\e132"}.glyphicon-circle-arrow-up:before{content:"\e133"}.glyphicon-circle-arrow-down:before{content:"\e134"}.glyphicon-globe:before{content:"\e135"}.glyphicon-wrench:before{content:"\e136"}.glyphicon-tasks:before{content:"\e137"}.glyphicon-filter:before{content:"\e138"}.glyphicon-briefcase:before{content:"\e139"}.glyphicon-fullscreen:before{content:"\e140"}.glyphicon-dashboard:before{content:"\e141"}.glyphicon-paperclip:before{content:"\e142"}.glyphicon-heart-empty:before{content:"\e143"}.glyphicon-link:before{content:"\e144"}.glyphicon-phone:before{content:"\e145"}.glyphicon-pushpin:before{content:"\e146"}.glyphicon-usd:before{content:"\e148"}.glyphicon-gbp:before{content:"\e149"}.glyphicon-sort:before{content:"\e150"}.glyphicon-sort-by-alphabet:before{content:"\e151"}.glyphicon-sort-by-alphabet-alt:before{content:"\e152"}.glyphicon-sort-by-order:before{content:"\e153"}.glyphicon-sort-by-order-alt:before{content:"\e154"}.glyphicon-sort-by-attributes:before{content:"\e155"}.glyphicon-sort-by-attributes-alt:before{content:"\e156"}.glyphicon-unchecked:before{content:"\e157"}.glyphicon-expand:before{content:"\e158"}.glyphicon-collapse-down:before{content:"\e159"}.glyphicon-collapse-up:before{content:"\e160"}.glyphicon-log-in:before{content:"\e161"}.glyphicon-flash:before{content:"\e162"}.glyphicon-log-out:before{content:"\e163"}.glyphicon-new-window:before{content:"\e164"}.glyphicon-record:before{content:"\e165"}.glyphicon-save:before{content:"\e166"}.glyphicon-open:before{content:"\e167"}.glyphicon-saved:before{content:"\e168"}.glyphicon-import:before{content:"\e169"}.glyphicon-export:before{content:"\e170"}.glyphicon-send:before{content:"\e171"}.glyphicon-floppy-disk:before{content:"\e172"}.glyphicon-floppy-saved:before{content:"\e173"}.glyphicon-floppy-remove:before{content:"\e174"}.glyphicon-floppy-save:before{content:"\e175"}.glyphicon-floppy-open:before{content:"\e176"}.glyphicon-credit-card:before{content:"\e177"}.glyphicon-transfer:before{content:"\e178"}.glyphicon-cutlery:before{content:"\e179"}.glyphicon-header:before{content:"\e180"}.glyphicon-compressed:before{content:"\e181"}.glyphicon-earphone:before{content:"\e182"}.glyphicon-phone-alt:before{content:"\e183"}.glyphicon-tower:before{content:"\e184"}.glyphicon-stats:before{content:"\e185"}.glyphicon-sd-video:before{content:"\e186"}.glyphicon-hd-video:before{content:"\e187"}.glyphicon-subtitles:before{content:"\e188"}.glyphicon-sound-stereo:before{content:"\e189"}.glyphicon-sound-dolby:before{content:"\e190"}.glyphicon-sound-5-1:before{content:"\e191"}.glyphicon-sound-6-1:before{content:"\e192"}.glyphicon-sound-7-1:before{content:"\e193"}.glyphicon-copyright-mark:before{content:"\e194"}.glyphicon-registration-mark:before{content:"\e195"}.glyphicon-cloud-download:before{content:"\e197"}.glyphicon-cloud-upload:before{content:"\e198"}.glyphicon-tree-conifer:before{content:"\e199"}.glyphicon-tree-deciduous:before{content:"\e200"}.glyphicon-cd:before{content:"\e201"}.glyphicon-save-file:before{content:"\e202"}.glyphicon-open-file:before{content:"\e203"}.glyphicon-level-up:before{content:"\e204"}.glyphicon-copy:before{content:"\e205"}.glyphicon-paste:before{content:"\e206"}.glyphicon-alert:before{content:"\e209"}.glyphicon-equalizer:before{content:"\e210"}.glyphicon-king:before{content:"\e211"}.glyphicon-queen:before{content:"\e212"}.glyphicon-pawn:before{content:"\e213"}.glyphicon-bishop:before{content:"\e214"}.glyphicon-knight:before{content:"\e215"}.glyphicon-baby-formula:before{content:"\e216"}.glyphicon-tent:before{content:"\26fa"}.glyphicon-blackboard:before{content:"\e218"}.glyphicon-bed:before{content:"\e219"}.glyphicon-apple:before{content:"\f8ff"}.glyphicon-erase:before{content:"\e221"}.glyphicon-hourglass:before{content:"\231b"}.glyphicon-lamp:before{content:"\e223"}.glyphicon-duplicate:before{content:"\e224"}.glyphicon-piggy-bank:before{content:"\e225"}.glyphicon-scissors:before{content:"\e226"}.glyphicon-bitcoin:before,.glyphicon-btc:before,.glyphicon-xbt:before{content:"\e227"}.glyphicon-jpy:before,.glyphicon-yen:before{content:"\00a5"}.glyphicon-rub:before,.glyphicon-ruble: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"}*,:after,:before{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}html{font-size:10px;-webkit-tap-highlight-color:transparent}body{font-family:Roboto,Helvetica Neue,Helvetica,Arial,sans-serif;font-size:13px;line-height:1.5384616;color:#333;background-color:#eeeded}button,input,select,textarea{font-family:inherit;font-size:inherit;line-height:inherit}a{color:#1E88E5;text-decoration:none}a:focus,a:hover{color:#166dba;text-decoration:none}a:focus{outline:-webkit-focus-ring-color auto 5px;outline-offset:-2px}.carousel-inner>.item>a>img,.carousel-inner>.item>img,.img-responsive,.thumbnail a>img,.thumbnail>img{display:block;max-width:100%;height:auto}.img-rounded{border-radius:4px}.img-thumbnail{padding:3px;line-height:1.5384616;background-color:#fff;border:1px solid #ddd;border-radius:3px;-webkit-transition:all .2s ease-in-out;-o-transition:all .2s ease-in-out;transition:all .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-top:1px solid #ddd}.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:400;line-height:1.5384616;color:inherit}.h1 .small,.h1 small,.h2 .small,.h2 small,.h3 .small,.h3 small,.h4 .small,.h4 small,.h5 .small,.h5 small,.h6 .small,.h6 small,h1 .small,h1 small,h2 .small,h2 small,h3 .small,h3 small,h4 .small,h4 small,h5 .small,h5 small,h6 .small,h6 small{font-weight:400;line-height:1;color:#999}.h1,.h2,.h3,h1,h2,h3{margin-top:20px;margin-bottom:10px}.h1 .small,.h1 small,.h2 .small,.h2 small,.h3 .small,.h3 small,h1 .small,h1 small,h2 .small,h2 small,h3 .small,h3 small{font-size:65%}.h4,.h5,.h6,h4,h5,h6{margin-top:10px;margin-bottom:10px}.h4 .small,.h4 small,.h5 .small,.h5 small,.h6 .small,.h6 small,h4 .small,h4 small,h5 .small,h5 small,h6 .small,h6 small{font-size:75%}.h1,h1{font-size:25px}.h2,h2{font-size:23px}.h3,h3{font-size:21px}.h4,h4{font-size:19px}.h5,h5{font-size:17px}.h6,h6{font-size:15px}p{margin:0 0 10px}.lead{margin-bottom:20px;font-size:14px;font-weight:300;line-height:1.4}dt,kbd kbd,label{font-weight:700}address,blockquote .small,blockquote footer,blockquote small,dd,dt,pre{line-height:1.5384616}@media (min-width:769px){.lead{font-size:19.5px}}.small,small{font-size:92%}.mark,mark{background-color:#FFF3E0;padding:.2em}.list-inline,.list-unstyled{padding-left:0;list-style:none}.text-left{text-align:left}.text-right{text-align:right}.text-center{text-align:center}.text-justify{text-align:justify}.text-nowrap{white-space:nowrap}.text-lowercase{text-transform:lowercase}.text-uppercase{text-transform:uppercase}.text-capitalize{text-transform:capitalize}.text-muted{color:#999}.text-primary{color:#2196F3}a.text-primary:focus,a.text-primary:hover{color:#0c7cd5}.text-success{color:#43A047}a.text-success:focus,a.text-success:hover{color:#347c37}.text-info{color:#00838F}a.text-info:focus,a.text-info:hover{color:#00545c}.text-warning{color:#EF6C00}a.text-warning:focus,a.text-warning:hover{color:#bc5500}.text-danger{color:#D84315}a.text-danger:focus,a.text-danger:hover{color:#aa3510}.bg-primary{color:#fff;background-color:#2196F3}a.bg-primary:focus,a.bg-primary:hover{background-color:#0c7cd5}.bg-success{background-color:#E8F5E9}a.bg-success:focus,a.bg-success:hover{background-color:#c4e6c7}.bg-info{background-color:#E0F7FA}a.bg-info:focus,a.bg-info:hover{background-color:#b4ecf3}.bg-warning{background-color:#FFF3E0}a.bg-warning:focus,a.bg-warning:hover{background-color:#ffdfad}.bg-danger{background-color:#FBE9E7}a.bg-danger:focus,a.bg-danger:hover{background-color:#f4c1bb}pre code,table{background-color:transparent}.page-header{padding-bottom:9px;margin:40px 0 20px;border-bottom:1px solid #ddd}dl,ol,ul{margin-top:0}blockquote ol:last-child,blockquote p:last-child,blockquote ul:last-child,ol ol,ol ul,ul ol,ul ul{margin-bottom:0}address,dl{margin-bottom:20px}ol,ul{margin-bottom:10px}.list-inline{margin-left:-5px}.list-inline>li{display:inline-block;padding-left:5px;padding-right:5px}dd{margin-left:0}@media (min-width:769px){.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}.container{width:769px}}abbr[data-original-title],abbr[title]{cursor:help;border-bottom:1px dotted #999}.initialism{font-size:90%;text-transform:uppercase}blockquote{padding:10px 20px;margin:0 0 20px;font-size:13px;border-left:5px solid #eee}blockquote .small,blockquote footer,blockquote small{display:block;font-size:80%;color:#999}legend,pre{display:block;color:#333}blockquote .small:before,blockquote footer: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}code,kbd{padding:2px 4px;font-size:90%}caption,th{text-align:left}.blockquote-reverse .small:before,.blockquote-reverse footer:before,.blockquote-reverse small:before,blockquote.pull-right .small:before,blockquote.pull-right footer:before,blockquote.pull-right small:before{content:''}.blockquote-reverse .small:after,.blockquote-reverse footer:after,.blockquote-reverse small:after,blockquote.pull-right .small:after,blockquote.pull-right footer:after,blockquote.pull-right small:after{content:'\00A0 \2014'}code,kbd,pre,samp{font-family:Menlo,Monaco,Consolas,"Courier New",monospace}code{color:#c7254e;background-color:#f9f2f4;border-radius:3px}kbd{color:#fff;background-color:#333;border-radius:2px;box-shadow:inset 0 -1px 0 rgba(0,0,0,.25)}kbd kbd{padding:0;font-size:100%;box-shadow:none}pre{padding:9.5px;margin:0 0 10px;font-size:12px;word-break:break-all;word-wrap:break-word;background-color:#fcfcfc;border:1px solid #ddd;border-radius:3px}.container,.container-fluid{margin-right:auto;margin-left:auto}pre code{padding:0;font-size:inherit;color:inherit;white-space:pre-wrap;border-radius:0}.container,.container-fluid{padding-left:10px;padding-right:10px}.pre-scrollable{overflow-y:scroll}@media (min-width:1025px){.container{width:1025px}}@media (min-width:1200px){.container{width:1200px}}.row{margin-left:-10px;margin-right:-10px}.col-lg-1,.col-lg-10,.col-lg-11,.col-lg-12,.col-lg-2,.col-lg-3,.col-lg-4,.col-lg-5,.col-lg-6,.col-lg-7,.col-lg-8,.col-lg-9,.col-md-1,.col-md-10,.col-md-11,.col-md-12,.col-md-2,.col-md-3,.col-md-4,.col-md-5,.col-md-6,.col-md-7,.col-md-8,.col-md-9,.col-sm-1,.col-sm-10,.col-sm-11,.col-sm-12,.col-sm-2,.col-sm-3,.col-sm-4,.col-sm-5,.col-sm-6,.col-sm-7,.col-sm-8,.col-sm-9,.col-xs-1,.col-xs-10,.col-xs-11,.col-xs-12,.col-xs-2,.col-xs-3,.col-xs-4,.col-xs-5,.col-xs-6,.col-xs-7,.col-xs-8,.col-xs-9{position:relative;min-height:1px;padding-left:10px;padding-right:10px}.col-xs-12{width:100%}.col-xs-11{width:91.66666667%}.col-xs-10{width:83.33333333%}.col-xs-9{width:75%}.col-xs-8{width:66.66666667%}.col-xs-7{width:58.33333333%}.col-xs-6{width:50%}.col-xs-5{width:41.66666667%}.col-xs-4{width:33.33333333%}.col-xs-3{width:25%}.col-xs-2{width:16.66666667%}.col-xs-1{width:8.33333333%}.col-xs-pull-12{right:100%}.col-xs-pull-11{right:91.66666667%}.col-xs-pull-10{right:83.33333333%}.col-xs-pull-9{right:75%}.col-xs-pull-8{right:66.66666667%}.col-xs-pull-7{right:58.33333333%}.col-xs-pull-6{right:50%}.col-xs-pull-5{right:41.66666667%}.col-xs-pull-4{right:33.33333333%}.col-xs-pull-3{right:25%}.col-xs-pull-2{right:16.66666667%}.col-xs-pull-1{right:8.33333333%}.col-xs-pull-0{right:auto}.col-xs-push-12{left:100%}.col-xs-push-11{left:91.66666667%}.col-xs-push-10{left:83.33333333%}.col-xs-push-9{left:75%}.col-xs-push-8{left:66.66666667%}.col-xs-push-7{left:58.33333333%}.col-xs-push-6{left:50%}.col-xs-push-5{left:41.66666667%}.col-xs-push-4{left:33.33333333%}.col-xs-push-3{left:25%}.col-xs-push-2{left:16.66666667%}.col-xs-push-1{left:8.33333333%}.col-xs-push-0{left:auto}.col-xs-offset-12{margin-left:100%}.col-xs-offset-11{margin-left:91.66666667%}.col-xs-offset-10{margin-left:83.33333333%}.col-xs-offset-9{margin-left:75%}.col-xs-offset-8{margin-left:66.66666667%}.col-xs-offset-7{margin-left:58.33333333%}.col-xs-offset-6{margin-left:50%}.col-xs-offset-5{margin-left:41.66666667%}.col-xs-offset-4{margin-left:33.33333333%}.col-xs-offset-3{margin-left:25%}.col-xs-offset-2{margin-left:16.66666667%}.col-xs-offset-1{margin-left:8.33333333%}.col-xs-offset-0{margin-left:0}@media (min-width:769px){.col-sm-1,.col-sm-10,.col-sm-11,.col-sm-12,.col-sm-2,.col-sm-3,.col-sm-4,.col-sm-5,.col-sm-6,.col-sm-7,.col-sm-8,.col-sm-9{float:left}.col-sm-12{width:100%}.col-sm-11{width:91.66666667%}.col-sm-10{width:83.33333333%}.col-sm-9{width:75%}.col-sm-8{width:66.66666667%}.col-sm-7{width:58.33333333%}.col-sm-6{width:50%}.col-sm-5{width:41.66666667%}.col-sm-4{width:33.33333333%}.col-sm-3{width:25%}.col-sm-2{width:16.66666667%}.col-sm-1{width:8.33333333%}.col-sm-pull-12{right:100%}.col-sm-pull-11{right:91.66666667%}.col-sm-pull-10{right:83.33333333%}.col-sm-pull-9{right:75%}.col-sm-pull-8{right:66.66666667%}.col-sm-pull-7{right:58.33333333%}.col-sm-pull-6{right:50%}.col-sm-pull-5{right:41.66666667%}.col-sm-pull-4{right:33.33333333%}.col-sm-pull-3{right:25%}.col-sm-pull-2{right:16.66666667%}.col-sm-pull-1{right:8.33333333%}.col-sm-pull-0{right:auto}.col-sm-push-12{left:100%}.col-sm-push-11{left:91.66666667%}.col-sm-push-10{left:83.33333333%}.col-sm-push-9{left:75%}.col-sm-push-8{left:66.66666667%}.col-sm-push-7{left:58.33333333%}.col-sm-push-6{left:50%}.col-sm-push-5{left:41.66666667%}.col-sm-push-4{left:33.33333333%}.col-sm-push-3{left:25%}.col-sm-push-2{left:16.66666667%}.col-sm-push-1{left:8.33333333%}.col-sm-push-0{left:auto}.col-sm-offset-12{margin-left:100%}.col-sm-offset-11{margin-left:91.66666667%}.col-sm-offset-10{margin-left:83.33333333%}.col-sm-offset-9{margin-left:75%}.col-sm-offset-8{margin-left:66.66666667%}.col-sm-offset-7{margin-left:58.33333333%}.col-sm-offset-6{margin-left:50%}.col-sm-offset-5{margin-left:41.66666667%}.col-sm-offset-4{margin-left:33.33333333%}.col-sm-offset-3{margin-left:25%}.col-sm-offset-2{margin-left:16.66666667%}.col-sm-offset-1{margin-left:8.33333333%}.col-sm-offset-0{margin-left:0}}@media (min-width:1025px){.col-md-1,.col-md-10,.col-md-11,.col-md-12,.col-md-2,.col-md-3,.col-md-4,.col-md-5,.col-md-6,.col-md-7,.col-md-8,.col-md-9{float:left}.col-md-12{width:100%}.col-md-11{width:91.66666667%}.col-md-10{width:83.33333333%}.col-md-9{width:75%}.col-md-8{width:66.66666667%}.col-md-7{width:58.33333333%}.col-md-6{width:50%}.col-md-5{width:41.66666667%}.col-md-4{width:33.33333333%}.col-md-3{width:25%}.col-md-2{width:16.66666667%}.col-md-1{width:8.33333333%}.col-md-pull-12{right:100%}.col-md-pull-11{right:91.66666667%}.col-md-pull-10{right:83.33333333%}.col-md-pull-9{right:75%}.col-md-pull-8{right:66.66666667%}.col-md-pull-7{right:58.33333333%}.col-md-pull-6{right:50%}.col-md-pull-5{right:41.66666667%}.col-md-pull-4{right:33.33333333%}.col-md-pull-3{right:25%}.col-md-pull-2{right:16.66666667%}.col-md-pull-1{right:8.33333333%}.col-md-pull-0{right:auto}.col-md-push-12{left:100%}.col-md-push-11{left:91.66666667%}.col-md-push-10{left:83.33333333%}.col-md-push-9{left:75%}.col-md-push-8{left:66.66666667%}.col-md-push-7{left:58.33333333%}.col-md-push-6{left:50%}.col-md-push-5{left:41.66666667%}.col-md-push-4{left:33.33333333%}.col-md-push-3{left:25%}.col-md-push-2{left:16.66666667%}.col-md-push-1{left:8.33333333%}.col-md-push-0{left:auto}.col-md-offset-12{margin-left:100%}.col-md-offset-11{margin-left:91.66666667%}.col-md-offset-10{margin-left:83.33333333%}.col-md-offset-9{margin-left:75%}.col-md-offset-8{margin-left:66.66666667%}.col-md-offset-7{margin-left:58.33333333%}.col-md-offset-6{margin-left:50%}.col-md-offset-5{margin-left:41.66666667%}.col-md-offset-4{margin-left:33.33333333%}.col-md-offset-3{margin-left:25%}.col-md-offset-2{margin-left:16.66666667%}.col-md-offset-1{margin-left:8.33333333%}.col-md-offset-0{margin-left:0}}@media (min-width:1200px){.col-lg-1,.col-lg-10,.col-lg-11,.col-lg-12,.col-lg-2,.col-lg-3,.col-lg-4,.col-lg-5,.col-lg-6,.col-lg-7,.col-lg-8,.col-lg-9{float:left}.col-lg-12{width:100%}.col-lg-11{width:91.66666667%}.col-lg-10{width:83.33333333%}.col-lg-9{width:75%}.col-lg-8{width:66.66666667%}.col-lg-7{width:58.33333333%}.col-lg-6{width:50%}.col-lg-5{width:41.66666667%}.col-lg-4{width:33.33333333%}.col-lg-3{width:25%}.col-lg-2{width:16.66666667%}.col-lg-1{width:8.33333333%}.col-lg-pull-12{right:100%}.col-lg-pull-11{right:91.66666667%}.col-lg-pull-10{right:83.33333333%}.col-lg-pull-9{right:75%}.col-lg-pull-8{right:66.66666667%}.col-lg-pull-7{right:58.33333333%}.col-lg-pull-6{right:50%}.col-lg-pull-5{right:41.66666667%}.col-lg-pull-4{right:33.33333333%}.col-lg-pull-3{right:25%}.col-lg-pull-2{right:16.66666667%}.col-lg-pull-1{right:8.33333333%}.col-lg-pull-0{right:auto}.col-lg-push-12{left:100%}.col-lg-push-11{left:91.66666667%}.col-lg-push-10{left:83.33333333%}.col-lg-push-9{left:75%}.col-lg-push-8{left:66.66666667%}.col-lg-push-7{left:58.33333333%}.col-lg-push-6{left:50%}.col-lg-push-5{left:41.66666667%}.col-lg-push-4{left:33.33333333%}.col-lg-push-3{left:25%}.col-lg-push-2{left:16.66666667%}.col-lg-push-1{left:8.33333333%}.col-lg-push-0{left:auto}.col-lg-offset-12{margin-left:100%}.col-lg-offset-11{margin-left:91.66666667%}.col-lg-offset-10{margin-left:83.33333333%}.col-lg-offset-9{margin-left:75%}.col-lg-offset-8{margin-left:66.66666667%}.col-lg-offset-7{margin-left:58.33333333%}.col-lg-offset-6{margin-left:50%}.col-lg-offset-5{margin-left:41.66666667%}.col-lg-offset-4{margin-left:33.33333333%}.col-lg-offset-3{margin-left:25%}.col-lg-offset-2{margin-left:16.66666667%}.col-lg-offset-1{margin-left:8.33333333%}.col-lg-offset-0{margin-left:0}}caption{padding-top:12px 20px;padding-bottom:12px 20px;color:#999}.table{width:100%;max-width:100%;margin-bottom:20px}.table>tbody>tr>td,.table>tbody>tr>th,.table>tfoot>tr>td,.table>tfoot>tr>th,.table>thead>tr>td,.table>thead>tr>th{padding:12px 20px;line-height:1.5384616;vertical-align:top;border-top:1px solid #ddd}.table>thead>tr>th{vertical-align:bottom;border-bottom:2px solid #ddd}.table>caption+thead>tr:first-child>td,.table>caption+thead>tr:first-child>th,.table>colgroup+thead>tr:first-child>td,.table>colgroup+thead>tr:first-child>th,.table>thead:first-child>tr:first-child>td,.table>thead:first-child>tr:first-child>th{border-top:0}.table>tbody+tbody{border-top:2px solid #ddd}.table .table{background-color:#eeeded}.table-condensed>tbody>tr>td,.table-condensed>tbody>tr>th,.table-condensed>tfoot>tr>td,.table-condensed>tfoot>tr>th,.table-condensed>thead>tr>td,.table-condensed>thead>tr>th{padding:8px 20px}.table-bordered,.table-bordered>tbody>tr>td,.table-bordered>tbody>tr>th,.table-bordered>tfoot>tr>td,.table-bordered>tfoot>tr>th,.table-bordered>thead>tr>td,.table-bordered>thead>tr>th{border:1px solid #ddd}.table-bordered>thead>tr>td,.table-bordered>thead>tr>th{border-bottom-width:2px}.table-striped>tbody>tr:nth-of-type(odd){background-color:#fcfcfc}.table-hover>tbody>tr:hover,.table>tbody>tr.active>td,.table>tbody>tr.active>th,.table>tbody>tr>td.active,.table>tbody>tr>th.active,.table>tfoot>tr.active>td,.table>tfoot>tr.active>th,.table>tfoot>tr>td.active,.table>tfoot>tr>th.active,.table>thead>tr.active>td,.table>thead>tr.active>th,.table>thead>tr>td.active,.table>thead>tr>th.active{background-color:#f8f8f8}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-hover>tbody>tr.active:hover>td,.table-hover>tbody>tr.active:hover>th,.table-hover>tbody>tr:hover>.active,.table-hover>tbody>tr>td.active:hover,.table-hover>tbody>tr>th.active:hover{background-color:#ebebeb}.table>tbody>tr.success>td,.table>tbody>tr.success>th,.table>tbody>tr>td.success,.table>tbody>tr>th.success,.table>tfoot>tr.success>td,.table>tfoot>tr.success>th,.table>tfoot>tr>td.success,.table>tfoot>tr>th.success,.table>thead>tr.success>td,.table>thead>tr.success>th,.table>thead>tr>td.success,.table>thead>tr>th.success{background-color:#E8F5E9}.table-hover>tbody>tr.success:hover>td,.table-hover>tbody>tr.success:hover>th,.table-hover>tbody>tr:hover>.success,.table-hover>tbody>tr>td.success:hover,.table-hover>tbody>tr>th.success:hover{background-color:#d6edd8}.table>tbody>tr.info>td,.table>tbody>tr.info>th,.table>tbody>tr>td.info,.table>tbody>tr>th.info,.table>tfoot>tr.info>td,.table>tfoot>tr.info>th,.table>tfoot>tr>td.info,.table>tfoot>tr>th.info,.table>thead>tr.info>td,.table>thead>tr.info>th,.table>thead>tr>td.info,.table>thead>tr>th.info{background-color:#E0F7FA}.table-hover>tbody>tr.info:hover>td,.table-hover>tbody>tr.info:hover>th,.table-hover>tbody>tr:hover>.info,.table-hover>tbody>tr>td.info:hover,.table-hover>tbody>tr>th.info:hover{background-color:#caf1f6}.table>tbody>tr.warning>td,.table>tbody>tr.warning>th,.table>tbody>tr>td.warning,.table>tbody>tr>th.warning,.table>tfoot>tr.warning>td,.table>tfoot>tr.warning>th,.table>tfoot>tr>td.warning,.table>tfoot>tr>th.warning,.table>thead>tr.warning>td,.table>thead>tr.warning>th,.table>thead>tr>td.warning,.table>thead>tr>th.warning{background-color:#FFF3E0}.table-hover>tbody>tr.warning:hover>td,.table-hover>tbody>tr.warning:hover>th,.table-hover>tbody>tr:hover>.warning,.table-hover>tbody>tr>td.warning:hover,.table-hover>tbody>tr>th.warning:hover{background-color:#ffe9c6}.table>tbody>tr.danger>td,.table>tbody>tr.danger>th,.table>tbody>tr>td.danger,.table>tbody>tr>th.danger,.table>tfoot>tr.danger>td,.table>tfoot>tr.danger>th,.table>tfoot>tr>td.danger,.table>tfoot>tr>th.danger,.table>thead>tr.danger>td,.table>thead>tr.danger>th,.table>thead>tr>td.danger,.table>thead>tr>th.danger{background-color:#FBE9E7}.table-hover>tbody>tr.danger:hover>td,.table-hover>tbody>tr.danger:hover>th,.table-hover>tbody>tr:hover>.danger,.table-hover>tbody>tr>td.danger:hover,.table-hover>tbody>tr>th.danger:hover{background-color:#f7d5d1}.table-responsive{overflow-x:auto;min-height:.01%}@media screen and (max-width:768px){.table-responsive{width:100%;margin-bottom:15px;overflow-y:hidden;-ms-overflow-style:-ms-autohiding-scrollbar;border:1px solid #ddd}.table-responsive>.table{margin-bottom:0}.table-responsive>.table>tbody>tr>td,.table-responsive>.table>tbody>tr>th,.table-responsive>.table>tfoot>tr>td,.table-responsive>.table>tfoot>tr>th,.table-responsive>.table>thead>tr>td,.table-responsive>.table>thead>tr>th{white-space:nowrap}.table-responsive>.table-bordered{border:0}.table-responsive>.table-bordered>tbody>tr>td:first-child,.table-responsive>.table-bordered>tbody>tr>th:first-child,.table-responsive>.table-bordered>tfoot>tr>td:first-child,.table-responsive>.table-bordered>tfoot>tr>th:first-child,.table-responsive>.table-bordered>thead>tr>td:first-child,.table-responsive>.table-bordered>thead>tr>th:first-child{border-left:0}.table-responsive>.table-bordered>tbody>tr>td:last-child,.table-responsive>.table-bordered>tbody>tr>th:last-child,.table-responsive>.table-bordered>tfoot>tr>td:last-child,.table-responsive>.table-bordered>tfoot>tr>th:last-child,.table-responsive>.table-bordered>thead>tr>td:last-child,.table-responsive>.table-bordered>thead>tr>th:last-child{border-right:0}.table-responsive>.table-bordered>tbody>tr:last-child>td,.table-responsive>.table-bordered>tbody>tr:last-child>th,.table-responsive>.table-bordered>tfoot>tr:last-child>td,.table-responsive>.table-bordered>tfoot>tr:last-child>th{border-bottom:0}}fieldset,legend{padding:0;border:0}fieldset{margin:0;min-width:0}legend{width:100%;margin-bottom:20px;font-size:19.5px;line-height:inherit;border-bottom:1px solid #e5e5e5}label{display:inline-block;max-width:100%;margin-bottom:5px}input[type=search]{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;-webkit-appearance:none}input[type=checkbox],input[type=radio]{margin:4px 0 0;margin-top:1px\9;line-height:normal}.form-control,output{font-size:13px;line-height:1.5384616;color:#333;display:block}input[type=file]{display:block}input[type=range]{display:block;width:100%}select[multiple],select[size]{height:auto}input[type=file]:focus,input[type=checkbox]:focus,input[type=radio]:focus{outline:-webkit-focus-ring-color auto 5px;outline-offset:-2px}output{padding-top:9px}.form-control{width:100%;height:38px;padding:8px 16px;background-color:transparent;border:1px solid #ddd;border-radius:3px;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075);-webkit-transition:border-color ease-in-out .15s,box-shadow ease-in-out .15s;-o-transition:border-color ease-in-out .15s,box-shadow ease-in-out .15s;transition:border-color ease-in-out .15s,box-shadow ease-in-out .15s}.form-control:focus{border-color:#ddd;outline:0;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(221,221,221,.6);box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(221,221,221,.6)}.form-control::-moz-placeholder{color:#999;opacity:1}.form-control:-ms-input-placeholder{color:#999}.form-control::-webkit-input-placeholder{color:#999}.has-success .checkbox,.has-success .checkbox-inline,.has-success .control-label,.has-success .form-control-feedback,.has-success .help-block,.has-success .radio,.has-success .radio-inline,.has-success.checkbox label,.has-success.checkbox-inline label,.has-success.radio label,.has-success.radio-inline label{color:#43A047}.form-control::-ms-expand{border:0;background-color:transparent}.form-control[disabled],.form-control[readonly],fieldset[disabled] .form-control{background-color:transparent;opacity:1}.form-control[disabled],fieldset[disabled] .form-control{cursor:not-allowed}textarea.form-control{height:auto}@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:38px}.input-group-sm input[type=date],.input-group-sm input[type=time],.input-group-sm input[type=datetime-local],.input-group-sm input[type=month],input[type=date].input-sm,input[type=time].input-sm,input[type=datetime-local].input-sm,input[type=month].input-sm{line-height:36px}.input-group-lg input[type=date],.input-group-lg input[type=time],.input-group-lg input[type=datetime-local],.input-group-lg input[type=month],input[type=date].input-lg,input[type=time].input-lg,input[type=datetime-local].input-lg,input[type=month].input-lg{line-height:40px}}.form-group{margin-bottom:20px}.checkbox,.radio{position:relative;display:block;margin-top:10px;margin-bottom:10px}.checkbox label,.radio label{min-height:20px;padding-left:20px;margin-bottom:0;font-weight:400;cursor:pointer}.checkbox input[type=checkbox],.checkbox-inline input[type=checkbox],.radio input[type=radio],.radio-inline input[type=radio]{position:absolute;margin-left:-20px;margin-top:4px\9}.checkbox+.checkbox,.radio+.radio{margin-top:-5px}.checkbox-inline,.radio-inline{position:relative;display:inline-block;padding-left:20px;margin-bottom:0;vertical-align:middle;font-weight:400;cursor:pointer}.checkbox-inline+.checkbox-inline,.radio-inline+.radio-inline{margin-top:0;margin-left:10px}.checkbox-inline.disabled,.checkbox.disabled label,.radio-inline.disabled,.radio.disabled label,fieldset[disabled] .checkbox label,fieldset[disabled] .checkbox-inline,fieldset[disabled] .radio label,fieldset[disabled] .radio-inline,fieldset[disabled] input[type=checkbox],fieldset[disabled] input[type=radio],input[type=checkbox].disabled,input[type=checkbox][disabled],input[type=radio].disabled,input[type=radio][disabled]{cursor:not-allowed}.form-control-static{padding-top:9px;padding-bottom:9px;margin-bottom:0;min-height:33px}.form-control-static.input-lg,.form-control-static.input-sm{padding-left:0;padding-right:0}.form-group-sm .form-control,.input-sm{padding:7px 14px;border-radius:2px;font-size:12px}.input-sm{height:36px;line-height:1.6666667}select.input-sm{height:36px;line-height:36px}select[multiple].input-sm,textarea.input-sm{height:auto}.form-group-sm .form-control{height:36px;line-height:1.6666667}.form-group-lg .form-control,.input-lg{border-radius:3px;padding:9px 18px;font-size:14px}.form-group-sm select.form-control{height:36px;line-height:36px}.form-group-sm select[multiple].form-control,.form-group-sm textarea.form-control{height:auto}.form-group-sm .form-control-static{height:36px;min-height:32px;padding:8px 14px;font-size:12px;line-height:1.6666667}.input-lg{height:40px;line-height:1.4285715}select.input-lg{height:40px;line-height:40px}select[multiple].input-lg,textarea.input-lg{height:auto}.form-group-lg .form-control{height:40px;line-height:1.4285715}.form-group-lg select.form-control{height:40px;line-height:40px}.form-group-lg select[multiple].form-control,.form-group-lg textarea.form-control{height:auto}.form-group-lg .form-control-static{height:40px;min-height:34px;padding:10px 18px;font-size:14px;line-height:1.4285715}.has-feedback{position:relative}.has-feedback .form-control{padding-right:47.5px}.form-control-feedback{position:absolute;top:0;right:0;z-index:2;display:block;width:38px;height:38px;line-height:38px;text-align:center;pointer-events:none}.collapsing,.dropdown,.dropup{position:relative}.form-group-lg .form-control+.form-control-feedback,.input-group-lg+.form-control-feedback,.input-lg+.form-control-feedback{width:40px;height:40px;line-height:40px}.form-group-sm .form-control+.form-control-feedback,.input-group-sm+.form-control-feedback,.input-sm+.form-control-feedback{width:36px;height:36px;line-height:36px}.has-success .form-control{border-color:#43A047;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075)}.has-success .form-control:focus{border-color:#347c37;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #7fca83;box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #7fca83}.has-success .input-group-addon{color:#43A047;border-color:#43A047;background-color:#E8F5E9}.has-warning .checkbox,.has-warning .checkbox-inline,.has-warning .control-label,.has-warning .form-control-feedback,.has-warning .help-block,.has-warning .radio,.has-warning .radio-inline,.has-warning.checkbox label,.has-warning.checkbox-inline label,.has-warning.radio label,.has-warning.radio-inline label{color:#EF6C00}.has-warning .form-control{border-color:#EF6C00;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075)}.has-warning .form-control:focus{border-color:#bc5500;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #ffa256;box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #ffa256}.has-warning .input-group-addon{color:#EF6C00;border-color:#EF6C00;background-color:#FFF3E0}.has-error .checkbox,.has-error .checkbox-inline,.has-error .control-label,.has-error .form-control-feedback,.has-error .help-block,.has-error .radio,.has-error .radio-inline,.has-error.checkbox label,.has-error.checkbox-inline label,.has-error.radio label,.has-error.radio-inline label{color:#D84315}.has-error .form-control{border-color:#D84315;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075)}.has-error .form-control:focus{border-color:#aa3510;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #f08463;box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #f08463}.has-error .input-group-addon{color:#D84315;border-color:#D84315;background-color:#FBE9E7}.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:769px){.form-inline .form-control-static,.form-inline .form-group{display:inline-block}.form-inline .control-label,.form-inline .form-group{margin-bottom:0;vertical-align:middle}.form-inline .form-control{display:inline-block;width:auto;vertical-align:middle}.form-inline .input-group{display:inline-table;vertical-align:middle}.form-inline .input-group .form-control,.form-inline .input-group .input-group-addon,.form-inline .input-group .input-group-btn{width:auto}.form-inline .input-group>.form-control{width:100%}.form-inline .checkbox,.form-inline .radio{display:inline-block;margin-top:0;margin-bottom:0;vertical-align:middle}.form-inline .checkbox label,.form-inline .radio label{padding-left:0}.form-inline .checkbox input[type=checkbox],.form-inline .radio input[type=radio]{position:relative;margin-left:0}.form-inline .has-feedback .form-control-feedback{top:0}.form-horizontal .control-label{text-align:right;margin-bottom:0;padding-top:9px}}.form-horizontal .checkbox,.form-horizontal .checkbox-inline,.form-horizontal .radio,.form-horizontal .radio-inline{margin-top:0;margin-bottom:0;padding-top:9px}.form-horizontal .checkbox,.form-horizontal .radio{min-height:29px}.form-horizontal .form-group{margin-left:-10px;margin-right:-10px}.form-horizontal .has-feedback .form-control-feedback{right:10px}@media (min-width:769px){.form-horizontal .form-group-lg .control-label{padding-top:10px;font-size:14px}.form-horizontal .form-group-sm .control-label{padding-top:8px;font-size:12px}}.btn{display:inline-block;margin-bottom:0;font-weight:400;text-align:center;vertical-align:middle;touch-action:manipulation;cursor:pointer;border:1px solid transparent;white-space:nowrap;padding:8px 16px;font-size:13px;line-height:1.5384616;border-radius:3px;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.btn.active.focus,.btn.active:focus,.btn.focus,.btn:active.focus,.btn:active:focus,.btn:focus{outline:-webkit-focus-ring-color auto 5px;outline-offset:-2px}.btn.focus,.btn:focus,.btn:hover{color:#333;text-decoration:none}.btn.active,.btn:active{outline:0;-webkit-box-shadow:inset 0 3px 5px rgba(0,0,0,.125);box-shadow:inset 0 3px 5px rgba(0,0,0,.125)}.btn.disabled,.btn[disabled],fieldset[disabled] .btn{cursor:not-allowed;opacity:.65;filter:alpha(opacity=65);-webkit-box-shadow:none;box-shadow:none}a.btn.disabled,fieldset[disabled] a.btn{pointer-events:none}.btn-default{color:#333;background-color:#f5f5f5;border-color:transparent}.btn-default.active,.btn-default.focus,.btn-default:active,.btn-default:focus,.btn-default:hover,.open>.dropdown-toggle.btn-default{color:#333;background-color:#dcdcdc;border-color:transparent}.btn-default.active.focus,.btn-default.active:focus,.btn-default.active:hover,.btn-default:active.focus,.btn-default:active:focus,.btn-default:active:hover,.open>.dropdown-toggle.btn-default.focus,.open>.dropdown-toggle.btn-default:focus,.open>.dropdown-toggle.btn-default:hover{color:#333;background-color:#cacaca;border-color:transparent}.btn-default.disabled.focus,.btn-default.disabled:focus,.btn-default.disabled:hover,.btn-default[disabled].focus,.btn-default[disabled]:focus,.btn-default[disabled]:hover,fieldset[disabled] .btn-default.focus,fieldset[disabled] .btn-default:focus,fieldset[disabled] .btn-default:hover{background-color:#f5f5f5;border-color:transparent}.btn-default .badge{color:#f5f5f5;background-color:#333}.btn-primary{color:#fff;background-color:#2196F3;border-color:#2196F3}.btn-primary.focus,.btn-primary:focus{color:#fff;background-color:#0c7cd5;border-color:#08528d}.btn-primary.active,.btn-primary:active,.btn-primary:hover,.open>.dropdown-toggle.btn-primary{color:#fff;background-color:#0c7cd5;border-color:#0b76cc}.btn-primary.active.focus,.btn-primary.active:focus,.btn-primary.active:hover,.btn-primary:active.focus,.btn-primary:active:focus,.btn-primary:active:hover,.open>.dropdown-toggle.btn-primary.focus,.open>.dropdown-toggle.btn-primary:focus,.open>.dropdown-toggle.btn-primary:hover{color:#fff;background-color:#0a68b4;border-color:#08528d}.btn-primary.disabled.focus,.btn-primary.disabled:focus,.btn-primary.disabled:hover,.btn-primary[disabled].focus,.btn-primary[disabled]:focus,.btn-primary[disabled]:hover,fieldset[disabled] .btn-primary.focus,fieldset[disabled] .btn-primary:focus,fieldset[disabled] .btn-primary:hover{background-color:#2196F3;border-color:#2196F3}.btn-primary .badge{color:#2196F3;background-color:#fff}.btn-success{color:#fff;background-color:#4CAF50;border-color:#4CAF50}.btn-success.focus,.btn-success:focus{color:#fff;background-color:#3d8b40;border-color:#255627}.btn-success.active,.btn-success:active,.btn-success:hover,.open>.dropdown-toggle.btn-success{color:#fff;background-color:#3d8b40;border-color:#39843c}.btn-success.active.focus,.btn-success.active:focus,.btn-success.active:hover,.btn-success:active.focus,.btn-success:active:focus,.btn-success:active:hover,.open>.dropdown-toggle.btn-success.focus,.open>.dropdown-toggle.btn-success:focus,.open>.dropdown-toggle.btn-success:hover{color:#fff;background-color:#327334;border-color:#255627}.btn-success.active,.btn-success:active,.open>.dropdown-toggle.btn-success{background-image:none}.btn-success.disabled.focus,.btn-success.disabled:focus,.btn-success.disabled:hover,.btn-success[disabled].focus,.btn-success[disabled]:focus,.btn-success[disabled]:hover,fieldset[disabled] .btn-success.focus,fieldset[disabled] .btn-success:focus,fieldset[disabled] .btn-success:hover{background-color:#4CAF50;border-color:#4CAF50}.btn-success .badge{color:#4CAF50;background-color:#fff}.btn-info{color:#fff;background-color:#00BCD4;border-color:#00BCD4}.btn-info.focus,.btn-info:focus{color:#fff;background-color:#008fa1;border-color:#004b55}.btn-info.active,.btn-info:active,.btn-info:hover,.open>.dropdown-toggle.btn-info{color:#fff;background-color:#008fa1;border-color:#008697}.btn-info.active.focus,.btn-info.active:focus,.btn-info.active:hover,.btn-info:active.focus,.btn-info:active:focus,.btn-info:active:hover,.open>.dropdown-toggle.btn-info.focus,.open>.dropdown-toggle.btn-info:focus,.open>.dropdown-toggle.btn-info:hover{color:#fff;background-color:#006f7d;border-color:#004b55}.btn-info.disabled.focus,.btn-info.disabled:focus,.btn-info.disabled:hover,.btn-info[disabled].focus,.btn-info[disabled]:focus,.btn-info[disabled]:hover,fieldset[disabled] .btn-info.focus,fieldset[disabled] .btn-info:focus,fieldset[disabled] .btn-info:hover{background-color:#00BCD4;border-color:#00BCD4}.btn-info .badge{color:#00BCD4;background-color:#fff}.btn-warning{color:#fff;background-color:#FF5722;border-color:#FF5722}.btn-warning.focus,.btn-warning:focus{color:#fff;background-color:#ee3900;border-color:#a22700}.btn-warning.active,.btn-warning:active,.btn-warning:hover,.open>.dropdown-toggle.btn-warning{color:#fff;background-color:#ee3900;border-color:#e43700}.btn-warning.active.focus,.btn-warning.active:focus,.btn-warning.active:hover,.btn-warning:active.focus,.btn-warning:active:focus,.btn-warning:active:hover,.open>.dropdown-toggle.btn-warning.focus,.open>.dropdown-toggle.btn-warning:focus,.open>.dropdown-toggle.btn-warning:hover{color:#fff;background-color:#ca3100;border-color:#a22700}.btn-warning.disabled.focus,.btn-warning.disabled:focus,.btn-warning.disabled:hover,.btn-warning[disabled].focus,.btn-warning[disabled]:focus,.btn-warning[disabled]:hover,fieldset[disabled] .btn-warning.focus,fieldset[disabled] .btn-warning:focus,fieldset[disabled] .btn-warning:hover{background-color:#FF5722;border-color:#FF5722}.btn-warning .badge{color:#FF5722;background-color:#fff}.btn-danger{color:#fff;background-color:#F44336;border-color:#F44336}.btn-danger.focus,.btn-danger:focus{color:#fff;background-color:#ea1c0d;border-color:#a21309}.btn-danger.active,.btn-danger:active,.btn-danger:hover,.open>.dropdown-toggle.btn-danger{color:#fff;background-color:#ea1c0d;border-color:#e11b0c}.btn-danger.active.focus,.btn-danger.active:focus,.btn-danger.active:hover,.btn-danger:active.focus,.btn-danger:active:focus,.btn-danger:active:hover,.open>.dropdown-toggle.btn-danger.focus,.open>.dropdown-toggle.btn-danger:focus,.open>.dropdown-toggle.btn-danger:hover{color:#fff;background-color:#c8180b;border-color:#a21309}.btn-danger.disabled.focus,.btn-danger.disabled:focus,.btn-danger.disabled:hover,.btn-danger[disabled].focus,.btn-danger[disabled]:focus,.btn-danger[disabled]:hover,fieldset[disabled] .btn-danger.focus,fieldset[disabled] .btn-danger:focus,fieldset[disabled] .btn-danger:hover{background-color:#F44336;border-color:#F44336}.btn-danger .badge{color:#F44336;background-color:#fff}.btn-link{color:#1E88E5;font-weight:400;border-radius:0}.btn-link,.btn-link.active,.btn-link:active,.btn-link[disabled],fieldset[disabled] .btn-link{background-color:transparent;-webkit-box-shadow:none;box-shadow:none}.btn-link,.btn-link:active,.btn-link:focus,.btn-link:hover{border-color:transparent}.btn-link:focus,.btn-link:hover{color:#166dba;text-decoration:none;background-color:transparent}.btn-link[disabled]:focus,.btn-link[disabled]:hover,fieldset[disabled] .btn-link:focus,fieldset[disabled] .btn-link:hover{color:#999;text-decoration:none}.btn-group-lg>.btn,.btn-lg{padding:9px 18px;font-size:14px;line-height:1.4285715;border-radius:4px}.btn-group-sm>.btn,.btn-group-xs>.btn,.btn-sm,.btn-xs{font-size:12px;line-height:1.6666667;border-radius:2px}.btn-group-sm>.btn,.btn-sm{padding:7px 14px}.btn-group-xs>.btn,.btn-xs{padding:6px 12px}.btn-block{display:block;width:100%}.btn-block+.btn-block{margin-top:5px}input[type=button].btn-block,input[type=reset].btn-block,input[type=submit].btn-block{width:100%}.fade{opacity:0;-webkit-transition:opacity .15s linear;-o-transition:opacity .15s linear;transition:opacity .15s linear}.fade.in{opacity:1}.collapse{display:none}.collapse.in{display:block}tr.collapse.in{display:table-row}tbody.collapse.in{display:table-row-group}.collapsing{height:0;overflow:hidden;-webkit-transition-property:height,visibility;transition-property:height,visibility;-webkit-transition-duration:.35s;transition-duration:.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}.dropdown-toggle:focus{outline:0}.dropdown-menu{position:absolute;top:100%;left:0;z-index:1000;display:none;min-width:160px;padding:5px 0;margin:2px 0 0;list-style:none;font-size:13px;text-align:left;background-color:#fff;border:1px solid transparent;border-radius:3px;-webkit-box-shadow:0 6px 12px rgba(0,0,0,.175);box-shadow:0 6px 12px rgba(0,0,0,.175);background-clip:padding-box}.dropdown-menu-right,.dropdown-menu.pull-right{left:auto;right:0}.dropdown-header,.dropdown-menu>li>a{display:block;padding:3px 20px;line-height:1.5384616;white-space:nowrap}.badge,.input-group-addon,.label,.nav-justified>li>a,.pager,.progress-bar{text-align:center}.btn-group>.btn-group:first-child:not(:last-child)>.btn:last-child,.btn-group>.btn-group:first-child:not(:last-child)>.dropdown-toggle,.btn-group>.btn:first-child:not(:last-child):not(.dropdown-toggle){border-bottom-right-radius:0;border-top-right-radius:0}.btn-group>.btn-group:last-child:not(:first-child)>.btn:first-child,.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-vertical>.btn:not(:first-child):not(:last-child),.btn-group>.btn-group:not(:first-child):not(:last-child)>.btn,.btn-group>.btn:not(:first-child):not(:last-child):not(.dropdown-toggle){border-radius:0}.dropdown-menu .divider{height:1px;margin:9px 0;overflow:hidden;background-color:#e5e5e5}.dropdown-menu>li>a{clear:both;font-weight:400;color:#333}.dropdown-menu>li>a:focus,.dropdown-menu>li>a:hover{text-decoration:none;color:#333;background-color:#f5f5f5}.dropdown-menu>.active>a,.dropdown-menu>.active>a:focus,.dropdown-menu>.active>a:hover{color:#fff;text-decoration:none;outline:0;background-color:#26A69A}.dropdown-menu>.disabled>a,.dropdown-menu>.disabled>a:focus,.dropdown-menu>.disabled>a:hover{color:#999}.dropdown-menu>.disabled>a:focus,.dropdown-menu>.disabled>a:hover{text-decoration:none;background-color:transparent;filter:progid:DXImageTransform.Microsoft.gradient(enabled=false);cursor:not-allowed}.open>.dropdown-menu{display:block}.open>a{outline:0}.dropdown-menu-left{left:0;right:auto}.dropdown-header{font-size:12px;color:#333}.dropdown-backdrop{position:fixed;left:0;right:0;bottom:0;top:0;z-index:990}.nav-justified>.dropdown .dropdown-menu,.nav-tabs.nav-justified>.dropdown .dropdown-menu{top:auto;left:auto}.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:769px){.navbar-right .dropdown-menu{left:auto;right:0}.navbar-right .dropdown-menu-left{left:0;right:auto}}.btn-group,.btn-group-vertical{position:relative;display:inline-block;vertical-align:middle}.btn-group-vertical>.btn,.btn-group>.btn{position:relative;float:left}.btn-group-vertical>.btn.active,.btn-group-vertical>.btn:active,.btn-group-vertical>.btn:focus,.btn-group-vertical>.btn:hover,.btn-group>.btn.active,.btn-group>.btn:active,.btn-group>.btn:focus,.btn-group>.btn:hover{z-index:2}.btn-group .btn+.btn,.btn-group .btn+.btn-group,.btn-group .btn-group+.btn,.btn-group .btn-group+.btn-group{margin-left:-1px}.btn-toolbar{margin-left:-5px}.btn-toolbar>.btn,.btn-toolbar>.btn-group,.btn-toolbar>.input-group{margin-left:5px}.btn .caret,.btn-group>.btn:first-child{margin-left: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{padding-left:12px;padding-right:12px}.btn-group.open .dropdown-toggle{-webkit-box-shadow:inset 0 3px 5px rgba(0,0,0,.125);box-shadow:inset 0 3px 5px rgba(0,0,0,.125)}.btn-group.open .dropdown-toggle.btn-link{-webkit-box-shadow:none;box-shadow:none}.btn-lg .caret{border-width:5px 5px 0}.dropup .btn-lg .caret{border-width:0 5px 5px}.btn-group-vertical>.btn,.btn-group-vertical>.btn-group,.btn-group-vertical>.btn-group>.btn{display:block;float:none;width:100%;max-width:100%}.btn-group-vertical>.btn-group>.btn{float:none}.btn-group-vertical>.btn+.btn,.btn-group-vertical>.btn+.btn-group,.btn-group-vertical>.btn-group+.btn,.btn-group-vertical>.btn-group+.btn-group{margin-top:-1px;margin-left:0}.btn-group-vertical>.btn:first-child:not(:last-child){border-radius:3px 3px 0 0}.btn-group-vertical>.btn:last-child:not(:first-child){border-radius:0 0 3px 3px}.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=checkbox],[data-toggle=buttons]>.btn input[type=radio],[data-toggle=buttons]>.btn-group>.btn input[type=checkbox],[data-toggle=buttons]>.btn-group>.btn input[type=radio]{position:absolute;clip:rect(0,0,0,0);pointer-events:none}.input-group{position:relative;display:table;border-collapse:separate}.input-group[class*=col-]{float:none;padding-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-lg>.form-control,.input-group-lg>.input-group-addon,.input-group-lg>.input-group-btn>.btn{height:40px;padding:9px 18px;font-size:14px;line-height:1.4285715;border-radius:3px}select.input-group-lg>.form-control,select.input-group-lg>.input-group-addon,select.input-group-lg>.input-group-btn>.btn{height:40px;line-height:40px}select[multiple].input-group-lg>.form-control,select[multiple].input-group-lg>.input-group-addon,select[multiple].input-group-lg>.input-group-btn>.btn,textarea.input-group-lg>.form-control,textarea.input-group-lg>.input-group-addon,textarea.input-group-lg>.input-group-btn>.btn{height:auto}.input-group-sm>.form-control,.input-group-sm>.input-group-addon,.input-group-sm>.input-group-btn>.btn{height:36px;padding:7px 14px;font-size:12px;line-height:1.6666667;border-radius:2px}select.input-group-sm>.form-control,select.input-group-sm>.input-group-addon,select.input-group-sm>.input-group-btn>.btn{height:36px;line-height:36px}select[multiple].input-group-sm>.form-control,select[multiple].input-group-sm>.input-group-addon,select[multiple].input-group-sm>.input-group-btn>.btn,textarea.input-group-sm>.form-control,textarea.input-group-sm>.input-group-addon,textarea.input-group-sm>.input-group-btn>.btn{height:auto}.input-group .form-control,.input-group-addon,.input-group-btn{display:table-cell}.nav>li,.nav>li>a{display:block;position:relative}.input-group .form-control:not(:first-child):not(:last-child),.input-group-addon:not(:first-child):not(:last-child),.input-group-btn:not(:first-child):not(:last-child){border-radius:0}.input-group-addon,.input-group-btn{width:1%;white-space:nowrap;vertical-align:middle}.input-group-addon{padding:8px 16px;font-size:13px;font-weight:400;line-height:1;color:#333;background-color:transparent;border:1px solid transparent;border-radius:3px}.input-group-addon.input-sm{padding:7px 14px;font-size:12px;border-radius:2px}.input-group-addon.input-lg{padding:9px 18px;font-size:14px;border-radius:3px}.input-group-addon input[type=checkbox],.input-group-addon input[type=radio]{margin-top:0}.input-group .form-control:first-child,.input-group-addon:first-child,.input-group-btn:first-child>.btn,.input-group-btn:first-child>.btn-group>.btn,.input-group-btn:first-child>.dropdown-toggle,.input-group-btn:last-child>.btn-group:not(:last-child)>.btn,.input-group-btn:last-child>.btn:not(:last-child):not(.dropdown-toggle){border-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:first-child>.btn-group:not(:first-child)>.btn,.input-group-btn:first-child>.btn:not(:first-child),.input-group-btn:last-child>.btn,.input-group-btn:last-child>.btn-group>.btn,.input-group-btn:last-child>.dropdown-toggle{border-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:active,.input-group-btn>.btn:focus,.input-group-btn>.btn:hover{z-index:2}.input-group-btn:first-child>.btn,.input-group-btn:first-child>.btn-group{margin-right:-1px}.input-group-btn:last-child>.btn,.input-group-btn:last-child>.btn-group{z-index:2;margin-left:-1px}.nav{margin-bottom:0;padding-left:0;list-style:none}.nav>li>a{padding:12px 16px}.nav>li>a:focus,.nav>li>a:hover{text-decoration:none;background-color:#f5f5f5}.nav>li.disabled>a{color:#999}.nav>li.disabled>a:focus,.nav>li.disabled>a:hover{color:#999;text-decoration:none;background-color:transparent;cursor:not-allowed}.nav .open>a,.nav .open>a:focus,.nav .open>a:hover{background-color:#f5f5f5;border-color:#1E88E5}.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.5384616;border:1px solid transparent;border-radius:3px 3px 0 0}.nav-tabs>li>a:hover{border-color:transparent transparent #ddd}.nav-tabs>li.active>a,.nav-tabs>li.active>a:focus,.nav-tabs>li.active>a:hover{color:#333;background-color:#fff;border:1px solid #ddd;border-bottom-color:transparent;cursor:default}.nav-tabs.nav-justified{width:100%;border-bottom:0}.nav-tabs.nav-justified>li{float:none}.nav-tabs.nav-justified>li>a{text-align:center;margin-bottom:5px;margin-right:0;border-radius:3px}.nav-tabs.nav-justified>.active>a,.nav-tabs.nav-justified>.active>a:focus,.nav-tabs.nav-justified>.active>a:hover{border:1px solid #ddd}@media (min-width:769px){.nav-tabs.nav-justified>li{display:table-cell;width:1%}.nav-tabs.nav-justified>li>a{margin-bottom:0;border-bottom:1px solid #ddd;border-radius:3px 3px 0 0}.nav-tabs.nav-justified>.active>a,.nav-tabs.nav-justified>.active>a:focus,.nav-tabs.nav-justified>.active>a:hover{border-bottom-color:#fff}}.nav-pills>li{float:left}.nav-justified>li,.nav-stacked>li{float:none}.nav-pills>li>a{border-radius:3px}.nav-pills>li+li{margin-left:2px}.nav-pills>li.active>a,.nav-pills>li.active>a:focus,.nav-pills>li.active>a:hover{color:#fff;background-color:#26A69A}.nav-stacked>li+li{margin-top:2px;margin-left:0}.nav-justified{width:100%}.nav-justified>li>a{margin-bottom:5px}.nav-tabs-justified{border-bottom:0}.nav-tabs-justified>li>a{margin-right:0;border-radius:3px}.nav-tabs-justified>.active>a,.nav-tabs-justified>.active>a:focus,.nav-tabs-justified>.active>a:hover{border:1px solid #ddd}@media (min-width:769px){.nav-justified>li{display:table-cell;width:1%}.nav-justified>li>a{margin-bottom:0}.nav-tabs-justified>li>a{border-bottom:1px solid #ddd;border-radius:3px 3px 0 0}.nav-tabs-justified>.active>a,.nav-tabs-justified>.active>a:focus,.nav-tabs-justified>.active>a:hover{border-bottom-color:#fff}}.tab-content>.tab-pane{display:none}.tab-content>.active{display:block}.nav-tabs .dropdown-menu{margin-top:-1px;border-top-right-radius:0;border-top-left-radius:0}.navbar{position:relative;min-height:50px;margin-bottom:20px;border:1px solid transparent}.navbar-collapse{overflow-x:visible;padding-right:20px;padding-left:20px;border-top:1px solid transparent;box-shadow:inset 0 1px 0 rgba(255,255,255,.1);-webkit-overflow-scrolling:touch}.navbar-collapse.in{overflow-y:auto}@media (min-width:769px){.navbar{border-radius:0}.navbar-header{float:left}.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-bottom .navbar-collapse,.navbar-fixed-top .navbar-collapse,.navbar-static-top .navbar-collapse{padding-left:0;padding-right:0}}.embed-responsive,.modal,.modal-open,.progress{overflow:hidden}@media (max-device-width:480px) and (orientation:landscape){.navbar-fixed-bottom .navbar-collapse,.navbar-fixed-top .navbar-collapse{max-height:200px}}.container-fluid>.navbar-collapse,.container-fluid>.navbar-header,.container>.navbar-collapse,.container>.navbar-header{margin-right:-20px;margin-left:-20px}.navbar-static-top{z-index:1000;border-width:0 0 1px}.navbar-fixed-bottom,.navbar-fixed-top{position:fixed;right:0;left:0;z-index:1030}.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 20px;font-size:14px;line-height:20px;height:50px}.navbar-brand:focus,.navbar-brand:hover{text-decoration:none}.navbar-brand>img{display:block}@media (min-width:769px){.container-fluid>.navbar-collapse,.container-fluid>.navbar-header,.container>.navbar-collapse,.container>.navbar-header{margin-right:0;margin-left:0}.navbar-fixed-bottom,.navbar-fixed-top,.navbar-static-top{border-radius:0}.navbar>.container .navbar-brand,.navbar>.container-fluid .navbar-brand{margin-left:-20px}}.navbar-toggle{position:relative;float:right;margin-right:20px;padding:9px 10px;margin-top:8px;margin-bottom:8px;background-color:transparent;border:1px solid transparent;border-radius:3px}.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}.navbar-nav{margin:7.5px -20px}.navbar-nav>li>a{padding-top:10px;padding-bottom:10px;line-height:20px}@media (max-width:768px){.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 .dropdown-header,.navbar-nav .open .dropdown-menu>li>a{padding:5px 15px 5px 25px}.navbar-nav .open .dropdown-menu>li>a{line-height:20px}.navbar-nav .open .dropdown-menu>li>a:focus,.navbar-nav .open .dropdown-menu>li>a:hover{background-image:none}}.progress-bar-striped,.progress-striped .progress-bar,.progress-striped .progress-bar-success{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent)}@media (min-width:769px){.navbar-toggle{display:none}.navbar-nav{float:left;margin:0}.navbar-nav>li{float:left}.navbar-nav>li>a{padding-top:15px;padding-bottom:15px}}.navbar-form{padding:10px 20px;border-top:1px solid transparent;border-bottom:1px solid transparent;-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,.1),0 1px 0 rgba(255,255,255,.1);box-shadow:inset 0 1px 0 rgba(255,255,255,.1),0 1px 0 rgba(255,255,255,.1);margin:6px -20px}@media (min-width:769px){.navbar-form .form-control-static,.navbar-form .form-group{display:inline-block}.navbar-form .control-label,.navbar-form .form-group{margin-bottom:0;vertical-align:middle}.navbar-form .form-control{display:inline-block;width:auto;vertical-align:middle}.navbar-form .input-group{display:inline-table;vertical-align:middle}.navbar-form .input-group .form-control,.navbar-form .input-group .input-group-addon,.navbar-form .input-group .input-group-btn{width:auto}.navbar-form .input-group>.form-control{width:100%}.navbar-form .checkbox,.navbar-form .radio{display:inline-block;margin-top:0;margin-bottom:0;vertical-align:middle}.navbar-form .checkbox label,.navbar-form .radio label{padding-left:0}.navbar-form .checkbox input[type=checkbox],.navbar-form .radio input[type=radio]{position:relative;margin-left:0}.navbar-form .has-feedback .form-control-feedback{top:0}.navbar-form{width:auto;border:0;margin-left:0;margin-right:0;padding-top:0;padding-bottom:0;-webkit-box-shadow:none;box-shadow:none}}.breadcrumb>li,.pagination{display:inline-block}.btn .badge,.btn .label{top:-1px;position:relative}@media (max-width:768px){.navbar-form .form-group{margin-bottom:5px}.navbar-form .form-group:last-child{margin-bottom:0}}.navbar-default,.navbar-default .navbar-collapse,.navbar-default .navbar-form,.navbar-default .navbar-toggle{border-color:#ddd}.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-radius:0}.navbar-btn{margin-top:6px;margin-bottom:6px}.navbar-btn.btn-sm{margin-top:7px;margin-bottom:7px}.navbar-btn.btn-xs{margin-top:14px;margin-bottom:14px}.media,.navbar-text{margin-top:15px}.navbar-text{margin-bottom:15px}@media (min-width:769px){.navbar-text{float:left;margin-left:20px;margin-right:20px}.navbar-left{float:left!important}.navbar-right{float:right!important;margin-right:-20px}.navbar-right~.navbar-right{margin-right:0}}.navbar-default{background-color:#fff}.navbar-default .navbar-brand{color:#777}.navbar-default .navbar-brand:focus,.navbar-default .navbar-brand:hover{color:#5e5e5e;background-color:transparent}.navbar-default .navbar-nav>li>a,.navbar-default .navbar-text{color:#777}.navbar-default .navbar-nav>.active>a,.navbar-default .navbar-nav>.active>a:focus,.navbar-default .navbar-nav>.active>a:hover,.navbar-default .navbar-nav>li>a:focus,.navbar-default .navbar-nav>li>a:hover{color:#333;background-color:transparent}.navbar-default .navbar-nav>.disabled>a,.navbar-default .navbar-nav>.disabled>a:focus,.navbar-default .navbar-nav>.disabled>a:hover{color:#999;background-color:transparent}.navbar-default .navbar-toggle:focus,.navbar-default .navbar-toggle:hover{background-color:#ddd}.navbar-default .navbar-toggle .icon-bar{background-color:#888}.navbar-default .navbar-nav>.open>a,.navbar-default .navbar-nav>.open>a:focus,.navbar-default .navbar-nav>.open>a:hover{background-color:transparent;color:#333}@media (max-width:768px){.navbar-default .navbar-nav .open .dropdown-menu>li>a{color:#777}.navbar-default .navbar-nav .open .dropdown-menu>.active>a,.navbar-default .navbar-nav .open .dropdown-menu>.active>a:focus,.navbar-default .navbar-nav .open .dropdown-menu>.active>a:hover,.navbar-default .navbar-nav .open .dropdown-menu>li>a:focus,.navbar-default .navbar-nav .open .dropdown-menu>li>a:hover{color:#333;background-color:transparent}.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a,.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a:focus,.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a:hover{color:#999;background-color:transparent}}.navbar-default .navbar-link{color:#777}.navbar-default .navbar-link:hover{color:#333}.navbar-default .btn-link{color:#777}.navbar-default .btn-link:focus,.navbar-default .btn-link:hover{color:#333}.navbar-default .btn-link[disabled]:focus,.navbar-default .btn-link[disabled]:hover,fieldset[disabled] .navbar-default .btn-link:focus,fieldset[disabled] .navbar-default .btn-link:hover{color:#999}.navbar-inverse{background-color:#273246;border-color:#273246}.navbar-inverse .navbar-brand{color:rgba(255,255,255,.9)}.navbar-inverse .navbar-brand:focus,.navbar-inverse .navbar-brand:hover{color:#fff;background-color:transparent}.navbar-inverse .navbar-nav>li>a,.navbar-inverse .navbar-text{color:rgba(255,255,255,.9)}.navbar-inverse .navbar-nav>.active>a,.navbar-inverse .navbar-nav>.active>a:focus,.navbar-inverse .navbar-nav>.active>a:hover,.navbar-inverse .navbar-nav>li>a:focus,.navbar-inverse .navbar-nav>li>a:hover{color:#fff;background-color:transparent}.navbar-inverse .navbar-nav>.disabled>a,.navbar-inverse .navbar-nav>.disabled>a:focus,.navbar-inverse .navbar-nav>.disabled>a:hover{color:rgba(255,255,255,.6);background-color:transparent}.navbar-inverse .navbar-toggle{border-color:#333}.navbar-inverse .navbar-toggle:focus,.navbar-inverse .navbar-toggle:hover{background-color:#333}.navbar-inverse .navbar-toggle .icon-bar{background-color:#fff}.navbar-inverse .navbar-collapse,.navbar-inverse .navbar-form{border-color:#1a222f}.navbar-inverse .navbar-nav>.open>a,.navbar-inverse .navbar-nav>.open>a:focus,.navbar-inverse .navbar-nav>.open>a:hover{background-color:transparent;color:#fff}@media (max-width:768px){.navbar-inverse .navbar-nav .open .dropdown-menu>.dropdown-header{border-color:#273246}.navbar-inverse .navbar-nav .open .dropdown-menu .divider{background-color:#273246}.navbar-inverse .navbar-nav .open .dropdown-menu>li>a{color:rgba(255,255,255,.9)}.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a,.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a:focus,.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a:hover,.navbar-inverse .navbar-nav .open .dropdown-menu>li>a:focus,.navbar-inverse .navbar-nav .open .dropdown-menu>li>a:hover{color:#fff;background-color:transparent}.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a,.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a:focus,.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a:hover{color:rgba(255,255,255,.6);background-color:transparent}}.navbar-inverse .navbar-link{color:rgba(255,255,255,.9)}.navbar-inverse .navbar-link:hover{color:#fff}.navbar-inverse .btn-link{color:rgba(255,255,255,.9)}.navbar-inverse .btn-link:focus,.navbar-inverse .btn-link:hover{color:#fff}.navbar-inverse .btn-link[disabled]:focus,.navbar-inverse .btn-link[disabled]:hover,fieldset[disabled] .navbar-inverse .btn-link:focus,fieldset[disabled] .navbar-inverse .btn-link:hover{color:rgba(255,255,255,.6)}.breadcrumb{padding:10px 0;margin-bottom:20px;list-style:none;background-color:transparent;border-radius:3px}.breadcrumb>li+li:before{content:"/\00a0";padding:0 5px;color:#333}.breadcrumb>.active{color:#999}.pagination{padding-left:0;margin:20px 0;border-radius:3px}.pager li,.pagination>li{display:inline}.pagination>li>a,.pagination>li>span{position:relative;float:left;padding:8px 16px;line-height:1.5384616;text-decoration:none;color:#333;background-color:#f5f5f5;border:1px solid #ddd;margin-left:-1px}.pagination>li:first-child>a,.pagination>li:first-child>span{margin-left:0;border-bottom-left-radius:3px;border-top-left-radius:3px}.pagination>li:last-child>a,.pagination>li:last-child>span{border-bottom-right-radius:3px;border-top-right-radius:3px}.pagination>li>a:focus,.pagination>li>a:hover,.pagination>li>span:focus,.pagination>li>span:hover{z-index:2;color:#333;background-color:#f5f5f5;border-color:#ddd}.pagination>.active>a,.pagination>.active>a:focus,.pagination>.active>a:hover,.pagination>.active>span,.pagination>.active>span:focus,.pagination>.active>span:hover{z-index:3;color:#fff;background-color:#2196F3;border-color:#2196F3;cursor:default}.pagination>.disabled>a,.pagination>.disabled>a:focus,.pagination>.disabled>a:hover,.pagination>.disabled>span,.pagination>.disabled>span:focus,.pagination>.disabled>span:hover{color:#bbb;background-color:#fcfcfc;border-color:#ddd;cursor:not-allowed}.pagination-lg>li>a,.pagination-lg>li>span{padding:9px 18px;font-size:14px;line-height:1.4285715}.pagination-lg>li:first-child>a,.pagination-lg>li:first-child>span{border-bottom-left-radius:4px;border-top-left-radius:4px}.pagination-lg>li:last-child>a,.pagination-lg>li:last-child>span{border-bottom-right-radius:4px;border-top-right-radius:4px}.pagination-sm>li>a,.pagination-sm>li>span{padding:7px 14px;font-size:12px;line-height:1.6666667}.pagination-sm>li:first-child>a,.pagination-sm>li:first-child>span{border-bottom-left-radius:2px;border-top-left-radius:2px}.pagination-sm>li:last-child>a,.pagination-sm>li:last-child>span{border-bottom-right-radius:2px;border-top-right-radius:2px}.pager{padding-left:0;margin:20px 0;list-style:none}.pager li>a,.pager li>span{display:inline-block;padding:5px 14px;background-color:#f5f5f5;border:1px solid #ddd;border-radius:3px}.pager li>a:focus,.pager li>a:hover{text-decoration:none;background-color:#2196F3}.pager .next>a,.pager .next>span{float:right}.pager .previous>a,.pager .previous>span{float:left}.pager .disabled>a,.pager .disabled>a:focus,.pager .disabled>a:hover,.pager .disabled>span{color:#bbb;background-color:#f5f5f5;cursor:not-allowed}.label{display:inline;padding:.2em .6em .3em;font-size:75%;font-weight:700;line-height:1;color:#fff;white-space:nowrap;vertical-align:baseline;border-radius:.25em}.badge,.thumbnail{line-height:1.5384616}a.label:focus,a.label:hover{color:#fff;text-decoration:none;cursor:pointer}.label:empty{display:none}.label-default{background-color:#999}.label-default[href]:focus,.label-default[href]:hover{background-color:grey}.label-primary{background-color:#2196F3}.label-primary[href]:focus,.label-primary[href]:hover{background-color:#0c7cd5}.label-success{background-color:#4CAF50}.label-success[href]:focus,.label-success[href]:hover{background-color:#3d8b40}.label-info{background-color:#00BCD4}.label-info[href]:focus,.label-info[href]:hover{background-color:#008fa1}.label-warning{background-color:#FF5722}.label-warning[href]:focus,.label-warning[href]:hover{background-color:#ee3900}.label-danger{background-color:#F44336}.label-danger[href]:focus,.label-danger[href]:hover{background-color:#ea1c0d}.badge{display:inline-block;min-width:10px;padding:3px 7px;font-size:12px;font-weight:500;color:#fff;vertical-align:middle;white-space:nowrap;background-color:#999;border-radius:10px}.badge:empty{display:none}.media-object,.thumbnail{display:block}.btn-group-xs>.btn .badge,.btn-xs .badge{top:0;padding:1px 5px}a.badge:focus,a.badge:hover{color:#fff;text-decoration:none;cursor:pointer}.list-group-item.active>.badge,.nav-pills>.active>a>.badge{color:#333;background-color:#fff}.jumbotron,.jumbotron .h1,.jumbotron h1{color:inherit}.list-group-item>.badge{float:right}.list-group-item>.badge+.badge{margin-right:5px}.nav-pills>li>a>.badge{margin-left:3px}.jumbotron{padding-top:30px;padding-bottom:30px;margin-bottom:30px;background-color:#eee}.jumbotron p{margin-bottom:15px;font-size:20px;font-weight:200}.alert,.thumbnail{margin-bottom:20px}.jumbotron>hr{border-top-color:#d5d5d5}.container .jumbotron,.container-fluid .jumbotron{border-radius:4px;padding-left:10px;padding-right:10px}.jumbotron .container{max-width:100%}@media screen and (min-width:769px){.jumbotron{padding-top:48px;padding-bottom:48px}.container .jumbotron,.container-fluid .jumbotron{padding-left:60px;padding-right:60px}.jumbotron .h1,.jumbotron h1{font-size:59px}}.thumbnail{padding:3px;background-color:#fff;border:1px solid #ddd;border-radius:3px;-webkit-transition:border .2s ease-in-out;-o-transition:border .2s ease-in-out;transition:border .2s ease-in-out}.thumbnail a>img,.thumbnail>img{margin-left:auto;margin-right:auto}a.thumbnail.active,a.thumbnail:focus,a.thumbnail:hover{border-color:#1E88E5}.thumbnail .caption{padding:20px;color:#333}.alert{padding:15px;border:1px solid transparent;border-radius:3px}.alert h4{margin-top:0;color:inherit}.alert .alert-link{font-weight:500}.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}.modal,.modal-backdrop{right:0;bottom:0;left:0}.alert-success{background-color:#E8F5E9;border-color:#4CAF50;color:#43A047}.alert-success hr{border-top-color:#449d48}.alert-success .alert-link{color:#347c37}.alert-info{background-color:#E0F7FA;border-color:#00BCD4;color:#00838F}.alert-info hr{border-top-color:#00a5bb}.alert-info .alert-link{color:#00545c}.alert-warning{background-color:#FFF3E0;border-color:#FF9800;color:#EF6C00}.alert-warning hr{border-top-color:#e68900}.alert-warning .alert-link{color:#bc5500}.alert-danger{background-color:#FBE9E7;border-color:#FF5722;color:#D84315}.alert-danger hr{border-top-color:#ff4408}.alert-danger .alert-link{color:#aa3510}@-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{height:20px;margin-bottom:20px;background-color:#eee;border-radius:3px;-webkit-box-shadow:inset 0 1px 2px rgba(0,0,0,.1);box-shadow:inset 0 1px 2px rgba(0,0,0,.1)}.progress-bar{float:left;width:0;height:100%;font-size:12px;line-height:20px;color:#fff;background-color:#2196F3;-webkit-box-shadow:inset 0 -1px 0 rgba(0,0,0,.15);box-shadow:inset 0 -1px 0 rgba(0,0,0,.15);-webkit-transition:width .6s ease;-o-transition:width .6s ease;transition:width .6s ease}.progress-bar-striped,.progress-striped .progress-bar{background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-size:40px 40px}.progress-bar.active,.progress.active .progress-bar{-webkit-animation:progress-bar-stripes 2s linear infinite;-o-animation:progress-bar-stripes 2s linear infinite;animation:progress-bar-stripes 2s linear infinite}.progress-bar-success{background-color:#4CAF50}.progress-striped .progress-bar-success{background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent)}.progress-striped .progress-bar-info,.progress-striped .progress-bar-warning{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent)}.progress-bar-info{background-color:#00BCD4}.progress-striped .progress-bar-info{background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent)}.progress-bar-warning{background-color:#FF5722}.progress-striped .progress-bar-warning{background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent)}.progress-bar-danger{background-color:#F44336}.progress-striped .progress-bar-danger{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent)}.media:first-child{margin-top:0}.media,.media-body{zoom:1;overflow:hidden}.media-body{width:10000px}.media-object.img-thumbnail{max-width:none}.media-right,.media>.pull-right{padding-left:10px}.media-left,.media>.pull-left{padding-right:10px}.media-body,.media-left,.media-right{display:table-cell;vertical-align:top}.media-middle{vertical-align:middle}.media-bottom{vertical-align:bottom}.media-heading{margin-top:0;margin-bottom:5px}.media-list{padding-left:0;list-style:none}.list-group{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:0;border-top-left-radius:0}.list-group-item:last-child{margin-bottom:0;border-bottom-right-radius:0;border-bottom-left-radius:0}a.list-group-item,a.list-group-item .list-group-item-heading,button.list-group-item,button.list-group-item .list-group-item-heading{color:#333}a.list-group-item:focus,a.list-group-item:hover,button.list-group-item:focus,button.list-group-item:hover{text-decoration:none;color:#333;background-color:#f5f5f5}button.list-group-item{width:100%;text-align:left}.list-group-item.disabled,.list-group-item.disabled:focus,.list-group-item.disabled:hover{background-color:transparent;color:#999;cursor:not-allowed}.list-group-item.disabled .list-group-item-heading,.list-group-item.disabled:focus .list-group-item-heading,.list-group-item.disabled:hover .list-group-item-heading{color:inherit}.list-group-item.disabled .list-group-item-text,.list-group-item.disabled:focus .list-group-item-text,.list-group-item.disabled:hover .list-group-item-text{color:#999}.list-group-item.active,.list-group-item.active:focus,.list-group-item.active:hover{z-index:2;color:#fff;background-color:#26A69A;border-color:#26A69A}.list-group-item.active .list-group-item-heading,.list-group-item.active .list-group-item-heading>.small,.list-group-item.active .list-group-item-heading>small,.list-group-item.active:focus .list-group-item-heading,.list-group-item.active:focus .list-group-item-heading>.small,.list-group-item.active:focus .list-group-item-heading>small,.list-group-item.active:hover .list-group-item-heading,.list-group-item.active:hover .list-group-item-heading>.small,.list-group-item.active:hover .list-group-item-heading>small{color:inherit}.list-group-item.active .list-group-item-text,.list-group-item.active:focus .list-group-item-text,.list-group-item.active:hover .list-group-item-text{color:#acece6}.list-group-item-success{color:#43A047;background-color:#E8F5E9}a.list-group-item-success,button.list-group-item-success{color:#43A047}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:focus,a.list-group-item-success:hover,button.list-group-item-success:focus,button.list-group-item-success:hover{color:#43A047;background-color:#d6edd8}a.list-group-item-success.active,a.list-group-item-success.active:focus,a.list-group-item-success.active:hover,button.list-group-item-success.active,button.list-group-item-success.active:focus,button.list-group-item-success.active:hover{color:#fff;background-color:#43A047;border-color:#43A047}.list-group-item-info{color:#00838F;background-color:#E0F7FA}a.list-group-item-info,button.list-group-item-info{color:#00838F}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:focus,a.list-group-item-info:hover,button.list-group-item-info:focus,button.list-group-item-info:hover{color:#00838F;background-color:#caf1f6}a.list-group-item-info.active,a.list-group-item-info.active:focus,a.list-group-item-info.active:hover,button.list-group-item-info.active,button.list-group-item-info.active:focus,button.list-group-item-info.active:hover{color:#fff;background-color:#00838F;border-color:#00838F}.list-group-item-warning{color:#EF6C00;background-color:#FFF3E0}a.list-group-item-warning,button.list-group-item-warning{color:#EF6C00}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:focus,a.list-group-item-warning:hover,button.list-group-item-warning:focus,button.list-group-item-warning:hover{color:#EF6C00;background-color:#ffe9c6}a.list-group-item-warning.active,a.list-group-item-warning.active:focus,a.list-group-item-warning.active:hover,button.list-group-item-warning.active,button.list-group-item-warning.active:focus,button.list-group-item-warning.active:hover{color:#fff;background-color:#EF6C00;border-color:#EF6C00}.list-group-item-danger{color:#D84315;background-color:#FBE9E7}a.list-group-item-danger,button.list-group-item-danger{color:#D84315}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:focus,a.list-group-item-danger:hover,button.list-group-item-danger:focus,button.list-group-item-danger:hover{color:#D84315;background-color:#f7d5d1}a.list-group-item-danger.active,a.list-group-item-danger.active:focus,a.list-group-item-danger.active:hover,button.list-group-item-danger.active,button.list-group-item-danger.active:focus,button.list-group-item-danger.active:hover{color:#fff;background-color:#D84315;border-color:#D84315}.panel-heading>.dropdown .dropdown-toggle,.panel-title,.panel-title>.small,.panel-title>.small>a,.panel-title>a,.panel-title>small,.panel-title>small>a{color:inherit}.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:3px;-webkit-box-shadow:0 1px 1px rgba(0,0,0,.05);box-shadow:0 1px 1px rgba(0,0,0,.05)}.panel-title,.panel>.list-group,.panel>.panel-collapse>.list-group,.panel>.panel-collapse>.table,.panel>.table,.panel>.table-responsive>.table{margin-bottom:0}.panel-body{padding:20px}.panel-heading{padding:15px 20px;border-bottom:1px solid transparent;border-top-right-radius:2px;border-top-left-radius:2px}.panel-title{margin-top:0;font-size:15px}.panel-footer{padding:8px 20px;background-color:#fcfcfc;border-top:1px solid #ddd;border-bottom-right-radius:2px;border-bottom-left-radius:2px}.panel>.list-group .list-group-item,.panel>.panel-collapse>.list-group .list-group-item{border-width:1px 0;border-radius:0}.panel-group .panel-heading,.panel>.table-bordered>tbody>tr:first-child>td,.panel>.table-bordered>tbody>tr:first-child>th,.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-bordered>thead>tr:first-child>td,.panel>.table-bordered>thead>tr:first-child>th,.panel>.table-responsive>.table-bordered>tbody>tr:first-child>td,.panel>.table-responsive>.table-bordered>tbody>tr:first-child>th,.panel>.table-responsive>.table-bordered>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,.panel>.table-responsive>.table-bordered>thead>tr:first-child>td,.panel>.table-responsive>.table-bordered>thead>tr:first-child>th{border-bottom:0}.panel>.table-responsive:last-child>.table: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,.panel>.table:last-child,.panel>.table:last-child>tbody:last-child>tr:last-child,.panel>.table:last-child>tfoot:last-child>tr:last-child{border-bottom-left-radius:2px;border-bottom-right-radius:2px}.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:2px;border-top-left-radius:2px}.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:2px;border-bottom-left-radius:2px}.panel>.panel-heading+.panel-collapse>.list-group .list-group-item:first-child{border-top-right-radius:0;border-top-left-radius:0}.panel>.table-responsive:first-child>.table:first-child,.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child,.panel>.table:first-child,.panel>.table:first-child>tbody:first-child>tr:first-child,.panel>.table:first-child>thead:first-child>tr:first-child{border-top-right-radius:2px;border-top-left-radius:2px}.list-group+.panel-footer,.panel-heading+.list-group .list-group-item:first-child{border-top-width:0}.panel>.panel-collapse>.table caption,.panel>.table caption,.panel>.table-responsive>.table caption{padding-left:20px;padding-right:20px}.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child td:first-child,.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child th:first-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child td:first-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child th:first-child,.panel>.table:first-child>tbody:first-child>tr:first-child td:first-child,.panel>.table:first-child>tbody:first-child>tr:first-child th:first-child,.panel>.table:first-child>thead:first-child>tr:first-child td:first-child,.panel>.table:first-child>thead:first-child>tr:first-child th:first-child{border-top-left-radius:2px}.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child td:last-child,.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child th:last-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child td:last-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child th:last-child,.panel>.table:first-child>tbody:first-child>tr:first-child td:last-child,.panel>.table:first-child>tbody:first-child>tr:first-child th:last-child,.panel>.table:first-child>thead:first-child>tr:first-child td:last-child,.panel>.table:first-child>thead:first-child>tr:first-child th:last-child{border-top-right-radius:2px}.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child td:first-child,.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child th:first-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child td:first-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child th:first-child,.panel>.table:last-child>tbody:last-child>tr:last-child td:first-child,.panel>.table:last-child>tbody:last-child>tr:last-child th:first-child,.panel>.table:last-child>tfoot:last-child>tr:last-child td:first-child,.panel>.table:last-child>tfoot:last-child>tr:last-child th:first-child{border-bottom-left-radius:2px}.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child td:last-child,.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child th:last-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child td:last-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child th:last-child,.panel>.table:last-child>tbody:last-child>tr:last-child td:last-child,.panel>.table:last-child>tbody:last-child>tr:last-child th:last-child,.panel>.table:last-child>tfoot:last-child>tr:last-child td:last-child,.panel>.table:last-child>tfoot:last-child>tr:last-child th:last-child{border-bottom-right-radius:2px}.panel>.panel-body+.table,.panel>.panel-body+.table-responsive,.panel>.table+.panel-body,.panel>.table-responsive+.panel-body{border-top:1px solid #ddd}.panel>.table>tbody:first-child>tr:first-child td,.panel>.table>tbody:first-child>tr:first-child th{border-top:0}.panel>.table-bordered,.panel>.table-responsive>.table-bordered{border:0}.panel>.table-bordered>tbody>tr>td:first-child,.panel>.table-bordered>tbody>tr>th:first-child,.panel>.table-bordered>tfoot>tr>td:first-child,.panel>.table-bordered>tfoot>tr>th:first-child,.panel>.table-bordered>thead>tr>td:first-child,.panel>.table-bordered>thead>tr>th:first-child,.panel>.table-responsive>.table-bordered>tbody>tr>td:first-child,.panel>.table-responsive>.table-bordered>tbody>tr>th:first-child,.panel>.table-responsive>.table-bordered>tfoot>tr>td:first-child,.panel>.table-responsive>.table-bordered>tfoot>tr>th:first-child,.panel>.table-responsive>.table-bordered>thead>tr>td:first-child,.panel>.table-responsive>.table-bordered>thead>tr>th:first-child{border-left:0}.panel>.table-bordered>tbody>tr>td:last-child,.panel>.table-bordered>tbody>tr>th:last-child,.panel>.table-bordered>tfoot>tr>td:last-child,.panel>.table-bordered>tfoot>tr>th:last-child,.panel>.table-bordered>thead>tr>td:last-child,.panel>.table-bordered>thead>tr>th:last-child,.panel>.table-responsive>.table-bordered>tbody>tr>td:last-child,.panel>.table-responsive>.table-bordered>tbody>tr>th:last-child,.panel>.table-responsive>.table-bordered>tfoot>tr>td:last-child,.panel>.table-responsive>.table-bordered>tfoot>tr>th:last-child,.panel>.table-responsive>.table-bordered>thead>tr>td:last-child,.panel>.table-responsive>.table-bordered>thead>tr>th:last-child{border-right:0}.panel>.table-responsive{border:0;margin-bottom:0}.panel-group{margin-bottom:20px}.panel-group .panel{margin-bottom:0;border-radius:3px}.panel-group .panel+.panel{margin-top:5px}.panel-group .panel-heading+.panel-collapse>.list-group,.panel-group .panel-heading+.panel-collapse>.panel-body{border-top:1px solid #ddd}.panel-group .panel-footer{border-top:0}.panel-group .panel-footer+.panel-collapse .panel-body{border-bottom:1px solid #ddd}.panel-default{border-color:#ddd}.panel-default>.panel-heading{color:#333;background-color:#fcfcfc;border-color:#ddd}.panel-default>.panel-heading+.panel-collapse>.panel-body{border-top-color:#ddd}.panel-default>.panel-heading .badge{color:#fcfcfc;background-color:#333}.panel-default>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#ddd}.panel-primary{border-color:#2196F3}.panel-primary>.panel-heading{color:#fff;background-color:#2196F3;border-color:#2196F3}.panel-primary>.panel-heading+.panel-collapse>.panel-body{border-top-color:#2196F3}.panel-primary>.panel-heading .badge{color:#2196F3;background-color:#fff}.panel-primary>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#2196F3}.panel-success{border-color:#4CAF50}.panel-success>.panel-heading{color:#fff;background-color:#4CAF50;border-color:#4CAF50}.panel-success>.panel-heading+.panel-collapse>.panel-body{border-top-color:#4CAF50}.panel-success>.panel-heading .badge{color:#4CAF50;background-color:#fff}.panel-success>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#4CAF50}.panel-info{border-color:#00BCD4}.panel-info>.panel-heading{color:#fff;background-color:#00BCD4;border-color:#00BCD4}.panel-info>.panel-heading+.panel-collapse>.panel-body{border-top-color:#00BCD4}.panel-info>.panel-heading .badge{color:#00BCD4;background-color:#fff}.panel-info>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#00BCD4}.panel-warning{border-color:#FF5722}.panel-warning>.panel-heading{color:#fff;background-color:#FF5722;border-color:#FF5722}.panel-warning>.panel-heading+.panel-collapse>.panel-body{border-top-color:#FF5722}.panel-warning>.panel-heading .badge{color:#FF5722;background-color:#fff}.panel-warning>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#FF5722}.panel-danger{border-color:#F44336}.panel-danger>.panel-heading{color:#fff;background-color:#F44336;border-color:#F44336}.panel-danger>.panel-heading+.panel-collapse>.panel-body{border-top-color:#F44336}.panel-danger>.panel-heading .badge{color:#F44336;background-color:#fff}.panel-danger>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#F44336}.embed-responsive{position:relative;display:block;height:0;padding:0}.embed-responsive .embed-responsive-item,.embed-responsive embed,.embed-responsive iframe,.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:#fdfdfd;border:1px solid #ddd;border-radius:3px;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.05);box-shadow:inset 0 1px 1px rgba(0,0,0,.05)}.well blockquote{border-color:#ddd;border-color:rgba(0,0,0,.15)}.well-lg{padding:24px;border-radius:4px}.well-sm{padding:9px;border-radius:2px}.close{float:right;font-size:19.5px;font-weight:300;line-height:1;color:#000;text-shadow:none;opacity:.2;filter:alpha(opacity=20)}.popover,.tooltip{font-family:Roboto,Helvetica Neue,Helvetica,Arial,sans-serif;font-style:normal;font-weight:400;letter-spacing:normal;line-break:auto;text-shadow:none;text-transform:none;white-space:normal;word-break:normal;word-spacing:normal;word-wrap:normal;text-decoration:none}.modal-title,.popover,.tooltip{line-height:1.5384616}.close:focus,.close:hover{color:#000;text-decoration:none;cursor:pointer;opacity:.5;filter:alpha(opacity=50)}button.close{padding:0;cursor:pointer;background:0 0;border:0;-webkit-appearance:none}.modal-content,.popover{background-clip:padding-box}.modal{display:none;position:fixed;top:0;z-index:1050;-webkit-overflow-scrolling:touch;outline:0}.modal.fade .modal-dialog{-webkit-transform:translate(0,-25%);-ms-transform:translate(0,-25%);-o-transform:translate(0,-25%);transform:translate(0,-25%);-webkit-transition:-webkit-transform .3s ease-out;-moz-transition:-moz-transform .3s ease-out;-o-transition:-o-transform .3s ease-out;transition:transform .3s ease-out}.modal.in .modal-dialog{-webkit-transform:translate(0,0);-ms-transform:translate(0,0);-o-transform:translate(0,0);transform:translate(0,0)}.modal-open .modal{overflow-x:hidden;overflow-y:auto}.modal-dialog{position:relative;width:auto;margin:10px}.modal-content{position:relative;background-color:#fff;border:1px solid transparent;border-radius:4px;-webkit-box-shadow:0 3px 9px rgba(0,0,0,.5);box-shadow:0 3px 9px rgba(0,0,0,.5);outline:0}.modal-backdrop{position:fixed;top: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:20px;border-bottom:1px solid transparent}.modal-header .close{margin-top:-2px}.modal-title{margin:0}.modal-body{position:relative;padding:20px}.modal-footer{padding:20px;text-align:right;border-top:1px solid transparent}.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:769px){.modal-dialog{width:600px;margin:30px auto}.modal-content{-webkit-box-shadow:0 5px 15px rgba(0,0,0,.5);box-shadow:0 5px 15px rgba(0,0,0,.5)}.modal-sm{width:400px}}.tooltip.top-left .tooltip-arrow,.tooltip.top-right .tooltip-arrow{bottom:0;margin-bottom:-4px;border-width:4px 4px 0;border-top-color:#333}@media (min-width:1025px){.modal-lg{width:900px}}.tooltip{position:absolute;z-index:1070;display:block;text-align:left;text-align:start;font-size:12px;opacity:0;filter:alpha(opacity=0)}.tooltip.in{opacity:1;filter:alpha(opacity=100)}.tooltip.top{margin-top:-3px;padding:4px 0}.tooltip.right{margin-left:3px;padding:0 4px}.tooltip.bottom{margin-top:3px;padding:4px 0}.tooltip.left{margin-left:-3px;padding:0 4px}.tooltip-inner{max-width:200px;padding:3px 8px;color:#fff;text-align:center;background-color:#333;border-radius:3px}.tooltip-arrow{position:absolute;width:0;height:0;border-color:transparent;border-style:solid}.tooltip.top .tooltip-arrow{bottom:0;left:50%;margin-left:-4px;border-width:4px 4px 0;border-top-color:#333}.tooltip.top-left .tooltip-arrow{right:4px}.tooltip.top-right .tooltip-arrow{left:4px}.tooltip.right .tooltip-arrow{top:50%;left:0;margin-top:-4px;border-width:4px 4px 4px 0;border-right-color:#333}.tooltip.left .tooltip-arrow{top:50%;right:0;margin-top:-4px;border-width:4px 0 4px 4px;border-left-color:#333}.tooltip.bottom .tooltip-arrow,.tooltip.bottom-left .tooltip-arrow,.tooltip.bottom-right .tooltip-arrow{border-width:0 4px 4px;border-bottom-color:#333;top:0}.tooltip.bottom .tooltip-arrow{left:50%;margin-left:-4px}.tooltip.bottom-left .tooltip-arrow{right:4px;margin-top:-4px}.tooltip.bottom-right .tooltip-arrow{left:4px;margin-top:-4px}.popover{position:absolute;top:0;left:0;z-index:1060;display:none;max-width:276px;padding:1px;text-align:left;text-align:start;font-size:13px;background-color:#fff;border:1px solid #ccc;border-radius:4px;-webkit-box-shadow:0 5px 10px rgba(0,0,0,.2);box-shadow:0 5px 10px rgba(0,0,0,.2)}.carousel-caption,.carousel-control{color:#fff;text-align:center;text-shadow:0 1px 2px rgba(0,0,0,.6)}.popover.top{margin-top:-5px}.popover.right{margin-left:5px}.popover.bottom{margin-top:5px}.popover.left{margin-left:-5px}.popover-title{margin:0;padding:8px 14px;font-size:13px;background-color:transparent;border-bottom:1px solid transparent;border-radius:3px 3px 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}.carousel,.carousel-inner{position:relative}.popover>.arrow{border-width:6px}.popover>.arrow:after{border-width:5px;content:""}.popover.top>.arrow{left:50%;margin-left:-6px;border-bottom-width:0;border-top-color:#b3b3b3;bottom:-6px}.popover.top>.arrow:after{content:" ";bottom:1px;margin-left:-5px;border-bottom-width:0;border-top-color:#fff}.popover.left>.arrow:after,.popover.right>.arrow:after{content:" ";bottom:-5px}.popover.right>.arrow{top:50%;left:-6px;margin-top:-6px;border-left-width:0;border-right-color:#b3b3b3}.popover.right>.arrow:after{left:1px;border-left-width:0;border-right-color:#fff}.popover.bottom>.arrow{left:50%;margin-left:-6px;border-top-width:0;border-bottom-color:#b3b3b3;top:-6px}.popover.bottom>.arrow:after{content:" ";top:1px;margin-left:-5px;border-top-width:0;border-bottom-color:#fff}.popover.left>.arrow{top:50%;right:-6px;margin-top:-6px;border-right-width:0;border-left-color:#b3b3b3}.popover.left>.arrow:after{right:1px;border-right-width:0;border-left-color:#fff}.carousel-inner{overflow:hidden;width:100%}.carousel-inner>.item{display:none;position:relative;-webkit-transition:.6s ease-in-out left;-o-transition:.6s ease-in-out left;transition:.6s ease-in-out left}.carousel-inner>.item>a>img,.carousel-inner>.item>img{line-height:1}@media all and (transform-3d),(-webkit-transform-3d){.carousel-inner>.item{-webkit-transition:-webkit-transform .6s ease-in-out;-moz-transition:-moz-transform .6s ease-in-out;-o-transition:-o-transform .6s ease-in-out;transition:transform .6s ease-in-out;-webkit-backface-visibility:hidden;-moz-backface-visibility:hidden;backface-visibility:hidden;-webkit-perspective:1000px;-moz-perspective:1000px;perspective:1000px}.carousel-inner>.item.active.right,.carousel-inner>.item.next{-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0);left:0}.carousel-inner>.item.active.left,.carousel-inner>.item.prev{-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0);left:0}.carousel-inner>.item.active,.carousel-inner>.item.next.left,.carousel-inner>.item.prev.right{-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;background-color:rgba(0,0,0,0)}.carousel-control.left{background-image:-webkit-linear-gradient(left,rgba(0,0,0,.5) 0,rgba(0,0,0,.0001) 100%);background-image:-o-linear-gradient(left,rgba(0,0,0,.5) 0,rgba(0,0,0,.0001) 100%);background-image:linear-gradient(to right,rgba(0,0,0,.5) 0,rgba(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,.0001) 0,rgba(0,0,0,.5) 100%);background-image:-o-linear-gradient(left,rgba(0,0,0,.0001) 0,rgba(0,0,0,.5) 100%);background-image:linear-gradient(to right,rgba(0,0,0,.0001) 0,rgba(0,0,0,.5) 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#00000000', endColorstr='#80000000', GradientType=1)}.carousel-control:focus,.carousel-control:hover{outline:0;color:#fff;text-decoration:none;opacity:.9;filter:alpha(opacity=90)}.carousel-control .glyphicon-chevron-left,.carousel-control .glyphicon-chevron-right,.carousel-control .icon-next,.carousel-control .icon-prev{position:absolute;top:50%;margin-top:-10px;z-index:5;display:inline-block}.carousel-control .glyphicon-chevron-left,.carousel-control .icon-prev{left:50%;margin-left:-10px}.carousel-control .glyphicon-chevron-right,.carousel-control .icon-next{right:50%;margin-right:-10px}.carousel-control .icon-next,.carousel-control .icon-prev{width:20px;height:20px;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}.carousel-caption .btn,.text-hide{text-shadow:none}@media screen and (min-width:769px){.carousel-control .glyphicon-chevron-left,.carousel-control .glyphicon-chevron-right,.carousel-control .icon-next,.carousel-control .icon-prev{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}}.btn-group-vertical>.btn-group:after,.btn-group-vertical>.btn-group:before,.btn-toolbar:after,.btn-toolbar:before,.clearfix:after,.clearfix:before,.container-fluid:after,.container-fluid:before,.container:after,.container:before,.dl-horizontal dd:after,.dl-horizontal dd:before,.form-horizontal .form-group:after,.form-horizontal .form-group:before,.modal-footer:after,.modal-footer:before,.modal-header:after,.modal-header:before,.nav:after,.nav:before,.navbar-collapse:after,.navbar-collapse:before,.navbar-header:after,.navbar-header:before,.navbar:after,.navbar:before,.pager:after,.pager:before,.panel-body:after,.panel-body:before,.row:after,.row:before{content:" ";display:table}.btn-group-vertical>.btn-group:after,.btn-toolbar:after,.clearfix:after,.container-fluid:after,.container:after,.dl-horizontal dd:after,.form-horizontal .form-group:after,.modal-footer:after,.modal-header:after,.nav:after,.navbar-collapse:after,.navbar-header:after,.navbar:after,.pager:after,.panel-body:after,.row:after{clear:both}.center-block{display:block;margin-left:auto;margin-right:auto}.pull-right{float:right!important}.pull-left{float:left!important}.hide{display:none!important}.show{display:block!important}.hidden,.visible-lg,.visible-lg-block,.visible-lg-inline,.visible-lg-inline-block,.visible-md,.visible-md-block,.visible-md-inline,.visible-md-inline-block,.visible-sm,.visible-sm-block,.visible-sm-inline,.visible-sm-inline-block,.visible-xs,.visible-xs-block,.visible-xs-inline,.visible-xs-inline-block{display:none!important}.invisible{visibility:hidden}.text-hide{font:0/0 a;color:transparent;background-color:transparent;border:0}.affix{position:fixed}@-ms-viewport{width:device-width}@media (max-width:768px){.visible-xs{display:block!important}table.visible-xs{display:table!important}tr.visible-xs{display:table-row!important}td.visible-xs,th.visible-xs{display:table-cell!important}.visible-xs-block{display:block!important}.visible-xs-inline{display:inline!important}.visible-xs-inline-block{display:inline-block!important}}@media (min-width:769px) and (max-width:1024px){.visible-sm{display:block!important}table.visible-sm{display:table!important}tr.visible-sm{display:table-row!important}td.visible-sm,th.visible-sm{display:table-cell!important}.visible-sm-block{display:block!important}.visible-sm-inline{display:inline!important}.visible-sm-inline-block{display:inline-block!important}}@media (min-width:1025px) and (max-width:1199px){.visible-md{display:block!important}table.visible-md{display:table!important}tr.visible-md{display:table-row!important}td.visible-md,th.visible-md{display:table-cell!important}.visible-md-block{display:block!important}.visible-md-inline{display:inline!important}.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}td.visible-lg,th.visible-lg{display:table-cell!important}.visible-lg-block{display:block!important}.visible-lg-inline{display:inline!important}.visible-lg-inline-block{display:inline-block!important}.hidden-lg{display:none!important}}@media (max-width:768px){.hidden-xs{display:none!important}}@media (min-width:769px) and (max-width:1024px){.hidden-sm{display:none!important}}@media (min-width:1025px) and (max-width:1199px){.hidden-md{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}td.visible-print,th.visible-print{display:table-cell!important}}.visible-print-block{display:none!important}@media print{.visible-print-block{display:block!important}}.visible-print-inline{display:none!important}@media print{.visible-print-inline{display:inline!important}}.visible-print-inline-block{display:none!important}@media print{.visible-print-inline-block{display:inline-block!important}.hidden-print{display:none!important}} \ No newline at end of file diff --git a/Show-Crypto-Currency-Price-in-Graph/amol/public/assets/css/colors.css b/Show-Crypto-Currency-Price-in-Graph/amol/public/assets/css/colors.css new file mode 100644 index 0000000..7301779 --- /dev/null +++ b/Show-Crypto-Currency-Price-in-Graph/amol/public/assets/css/colors.css @@ -0,0 +1 @@ +.bg-primary{background-color:#2196F3;border-color:#2196F3;color:#fff}.bg-primary-300{background-color:#64B5F6;border-color:#64B5F6;color:#fff}.bg-primary-400{background-color:#42A5F5;border-color:#42A5F5;color:#fff}.bg-primary-600{background-color:#1E88E5;border-color:#1E88E5;color:#fff}.bg-primary-700{background-color:#1976D2;border-color:#1976D2;color:#fff}.bg-primary-800{background-color:#1565C0;border-color:#1565C0;color:#fff}.bg-danger{background-color:#F44336;border-color:#F44336;color:#fff}.bg-danger-300{background-color:#E57373;border-color:#E57373;color:#fff}.bg-danger-400{background-color:#EF5350;border-color:#EF5350;color:#fff}.bg-danger-600{background-color:#E53935;border-color:#E53935;color:#fff}.bg-danger-700{background-color:#D32F2F;border-color:#D32F2F;color:#fff}.bg-danger-800{background-color:#C62828;border-color:#C62828;color:#fff}.bg-success{background-color:#4CAF50;border-color:#4CAF50;color:#fff}.bg-success-300{background-color:#81C784;border-color:#81C784;color:#fff}.bg-success-400{background-color:#66BB6A;border-color:#66BB6A;color:#fff}.bg-success-600{background-color:#43A047;border-color:#43A047;color:#fff}.bg-success-700{background-color:#388E3C;border-color:#388E3C;color:#fff}.bg-success-800{background-color:#2E7D32;border-color:#2E7D32;color:#fff}.bg-warning{background-color:#FF5722;border-color:#FF5722;color:#fff}.bg-warning-300{background-color:#FF8A65;border-color:#FF8A65;color:#fff}.bg-warning-400{background-color:#FF7043;border-color:#FF7043;color:#fff}.bg-warning-600{background-color:#F4511E;border-color:#F4511E;color:#fff}.bg-warning-700{background-color:#E64A19;border-color:#E64A19;color:#fff}.bg-warning-800{background-color:#D84315;border-color:#D84315;color:#fff}.bg-info{background-color:#00BCD4;border-color:#00BCD4;color:#fff}.bg-info-300{background-color:#4DD0E1;border-color:#4DD0E1;color:#fff}.bg-info-400{background-color:#26C6DA;border-color:#26C6DA;color:#fff}.bg-info-600{background-color:#00ACC1;border-color:#00ACC1;color:#fff}.bg-info-700{background-color:#0097A7;border-color:#0097A7;color:#fff}.bg-info-800{background-color:#00838F;border-color:#00838F;color:#fff}.bg-pink{background-color:#E91E63;border-color:#E91E63;color:#fff}.bg-pink-300{background-color:#F06292;border-color:#F06292;color:#fff}.bg-pink-400{background-color:#EC407A;border-color:#EC407A;color:#fff}.bg-pink-600{background-color:#D81B60;border-color:#D81B60;color:#fff}.bg-pink-700{background-color:#C2185B;border-color:#C2185B;color:#fff}.bg-pink-800{background-color:#AD1457;border-color:#AD1457;color:#fff}.bg-violet{background-color:#9C27B0;border-color:#9C27B0;color:#fff}.bg-violet-300{background-color:#BA68C8;border-color:#BA68C8;color:#fff}.bg-violet-400{background-color:#AB47BC;border-color:#AB47BC;color:#fff}.bg-violet-600{background-color:#8E24AA;border-color:#8E24AA;color:#fff}.bg-violet-700{background-color:#7B1FA2;border-color:#7B1FA2;color:#fff}.bg-violet-800{background-color:#6A1B9A;border-color:#6A1B9A;color:#fff}.bg-purple{background-color:#673AB7;border-color:#673AB7;color:#fff}.bg-purple-300{background-color:#9575CD;border-color:#9575CD;color:#fff}.bg-purple-400{background-color:#7E57C2;border-color:#7E57C2;color:#fff}.bg-purple-600{background-color:#5E35B1;border-color:#5E35B1;color:#fff}.bg-purple-700{background-color:#512DA8;border-color:#512DA8;color:#fff}.bg-purple-800{background-color:#4527A0;border-color:#4527A0;color:#fff}.bg-indigo{background-color:#3F51B5;border-color:#3F51B5;color:#fff}.bg-indigo-300{background-color:#7986CB;border-color:#7986CB;color:#fff}.bg-indigo-400{background-color:#5C6BC0;border-color:#5C6BC0;color:#fff}.bg-indigo-600{background-color:#3949AB;border-color:#3949AB;color:#fff}.bg-indigo-700{background-color:#303F9F;border-color:#303F9F;color:#fff}.bg-indigo-800{background-color:#283593;border-color:#283593;color:#fff}.bg-blue{background-color:#03A9F4;border-color:#03A9F4;color:#fff}.bg-blue-300{background-color:#4FC3F7;border-color:#4FC3F7;color:#fff}.bg-blue-400{background-color:#29B6F6;border-color:#29B6F6;color:#fff}.bg-blue-600{background-color:#039BE5;border-color:#039BE5;color:#fff}.bg-blue-700{background-color:#0288D1;border-color:#0288D1;color:#fff}.bg-blue-800{background-color:#0277BD;border-color:#0277BD;color:#fff}.bg-teal{background-color:#009688;border-color:#009688;color:#fff}.bg-teal-300{background-color:#4DB6AC;border-color:#4DB6AC;color:#fff}.bg-teal-400{background-color:#26A69A;border-color:#26A69A;color:#fff}.bg-teal-600{background-color:#00897B;border-color:#00897B;color:#fff}.bg-teal-700{background-color:#00796B;border-color:#00796B;color:#fff}.bg-teal-800{background-color:#00695C;border-color:#00695C;color:#fff}.bg-green{background-color:#8BC34A;border-color:#8BC34A;color:#fff}.bg-green-300{background-color:#AED581;border-color:#AED581;color:#fff}.bg-green-400{background-color:#9CCC65;border-color:#9CCC65;color:#fff}.bg-green-600{background-color:#7CB342;border-color:#7CB342;color:#fff}.bg-green-700{background-color:#689F38;border-color:#689F38;color:#fff}.bg-green-800{background-color:#558B2F;border-color:#558B2F;color:#fff}.bg-orange{background-color:#FF9800;border-color:#FF9800;color:#fff}.bg-orange-300{background-color:#FFB74D;border-color:#FFB74D;color:#fff}.bg-orange-400{background-color:#FFA726;border-color:#FFA726;color:#fff}.bg-orange-600{background-color:#FB8C00;border-color:#FB8C00;color:#fff}.bg-orange-700{background-color:#F57C00;border-color:#F57C00;color:#fff}.bg-orange-800{background-color:#EF6C00;border-color:#EF6C00;color:#fff}.bg-brown{background-color:#795548;border-color:#795548;color:#fff}.bg-brown-300{background-color:#A1887F;border-color:#A1887F;color:#fff}.bg-brown-400{background-color:#8D6E63;border-color:#8D6E63;color:#fff}.bg-brown-600{background-color:#6D4C41;border-color:#6D4C41;color:#fff}.bg-brown-700{background-color:#5D4037;border-color:#5D4037;color:#fff}.bg-brown-800{background-color:#4E342E;border-color:#4E342E;color:#fff}.bg-grey{background-color:#777;border-color:#777;color:#fff}.bg-grey-300{background-color:#999;border-color:#999;color:#fff}.bg-grey-400{background-color:#888;border-color:#888;color:#fff}.bg-grey-600{background-color:#666;border-color:#666;color:#fff}.bg-grey-700{background-color:#555;border-color:#555;color:#fff}.bg-grey-800{background-color:#444;border-color:#444;color:#fff}.bg-slate{background-color:#607D8B;border-color:#607D8B;color:#fff}.bg-slate-300{background-color:#90A4AE;border-color:#90A4AE;color:#fff}.bg-slate-400{background-color:#78909C;border-color:#78909C;color:#fff}.bg-slate-600{background-color:#546E7A;border-color:#546E7A;color:#fff}.bg-slate-700{background-color:#455A64;border-color:#455A64;color:#fff}.bg-slate-800{background-color:#37474F;border-color:#37474F;color:#fff}.bg-white{background-color:#fff;color:#333}.alpha-primary{background-color:#E3F2FD;border-color:#1E88E5}.alpha-danger{background-color:#FFEBEE;border-color:#E53935}.alpha-success{background-color:#E8F5E9;border-color:#43A047}.alpha-warning{background-color:#FBE9E7;border-color:#F4511E}.alpha-info{background-color:#E0F7FA;border-color:#00ACC1}.alpha-pink{background-color:#FCE4EC;border-color:#D81B60}.alpha-violet{background-color:#F3E5F5;border-color:#8E24AA}.alpha-purple{background-color:#EDE7F6;border-color:#5E35B1}.alpha-indigo{background-color:#E8EAF6;border-color:#3949AB}.alpha-blue{background-color:#E1F5FE;border-color:#039BE5}.alpha-teal{background-color:#E0F2F1;border-color:#00897B}.alpha-green{background-color:#F1F8E9;border-color:#7CB342}.alpha-orange{background-color:#FFF3E0;border-color:#FB8C00}.alpha-brown{background-color:#EFEBE9;border-color:#6D4C41}.alpha-grey{background-color:#FAFAFA;border-color:#666}.alpha-slate{background-color:#ECEFF1;border-color:#546E7A}.border-primary{border-color:#2196F3}.border-primary-300{border-color:#64B5F6}.border-primary-400{border-color:#42A5F5}.border-primary-600{border-color:#1E88E5}.border-primary-700{border-color:#1976D2}.border-primary-800{border-color:#1565C0}.border-danger{border-color:#F44336}.border-danger-300{border-color:#E57373}.border-danger-400{border-color:#EF5350}.border-danger-600{border-color:#E53935}.border-danger-700{border-color:#D32F2F}.border-danger-800{border-color:#C62828}.border-success{border-color:#4CAF50}.border-success-300{border-color:#81C784}.border-success-400{border-color:#66BB6A}.border-success-600{border-color:#43A047}.border-success-700{border-color:#388E3C}.border-success-800{border-color:#2E7D32}.border-warning{border-color:#FF5722}.border-warning-300{border-color:#FF8A65}.border-warning-400{border-color:#FF7043}.border-warning-600{border-color:#F4511E}.border-warning-700{border-color:#E64A19}.border-warning-800{border-color:#D84315}.border-info{border-color:#00BCD4}.border-info-300{border-color:#4DD0E1}.border-info-400{border-color:#26C6DA}.border-info-600{border-color:#00ACC1}.border-info-700{border-color:#0097A7}.border-info-800{border-color:#00838F}.border-pink{border-color:#E91E63}.border-pink-300{border-color:#F06292}.border-pink-400{border-color:#EC407A}.border-pink-600{border-color:#D81B60}.border-pink-700{border-color:#C2185B}.border-pink-800{border-color:#AD1457}.border-violet{border-color:#9C27B0}.border-violet-300{border-color:#BA68C8}.border-violet-400{border-color:#AB47BC}.border-violet-600{border-color:#8E24AA}.border-violet-700{border-color:#7B1FA2}.border-violet-800{border-color:#6A1B9A}.border-purple{border-color:#673AB7}.border-purple-300{border-color:#9575CD}.border-purple-400{border-color:#7E57C2}.border-purple-600{border-color:#5E35B1}.border-purple-700{border-color:#512DA8}.border-purple-800{border-color:#4527A0}.border-indigo{border-color:#3F51B5}.border-indigo-300{border-color:#7986CB}.border-indigo-400{border-color:#5C6BC0}.border-indigo-600{border-color:#3949AB}.border-indigo-700{border-color:#303F9F}.border-indigo-800{border-color:#283593}.border-blue{border-color:#03A9F4}.border-blue-300{border-color:#4FC3F7}.border-blue-400{border-color:#29B6F6}.border-blue-600{border-color:#039BE5}.border-blue-700{border-color:#0288D1}.border-blue-800{border-color:#0277BD}.border-teal{border-color:#009688}.border-teal-300{border-color:#4DB6AC}.border-teal-400{border-color:#26A69A}.border-teal-600{border-color:#00897B}.border-teal-700{border-color:#00796B}.border-teal-800{border-color:#00695C}.border-green{border-color:#8BC34A}.border-green-300{border-color:#AED581}.border-green-400{border-color:#9CCC65}.border-green-600{border-color:#7CB342}.border-green-700{border-color:#689F38}.border-green-800{border-color:#558B2F}.border-orange{border-color:#FF9800}.border-orange-300{border-color:#FFB74D}.border-orange-400{border-color:#FFA726}.border-orange-600{border-color:#FB8C00}.border-orange-700{border-color:#F57C00}.border-orange-800{border-color:#EF6C00}.border-brown{border-color:#795548}.border-brown-300{border-color:#A1887F}.border-brown-400{border-color:#8D6E63}.border-brown-600{border-color:#6D4C41}.border-brown-700{border-color:#5D4037}.border-brown-800{border-color:#4E342E}.border-grey{border-color:#777}.border-grey-300{border-color:#999}.border-grey-400{border-color:#888}.border-grey-600{border-color:#666}.border-grey-700{border-color:#555}.border-grey-800{border-color:#444}.border-slate{border-color:#607D8B}.border-slate-300{border-color:#90A4AE}.border-slate-400{border-color:#78909C}.border-slate-600{border-color:#546E7A}.border-slate-700{border-color:#455A64}.border-slate-800{border-color:#37474F}.border-white{border-color:#fff}.border-default{border-color:#ddd}.border-top-primary{border-top-color:#2196F3}.border-top-primary-300{border-top-color:#64B5F6}.border-top-primary-400{border-top-color:#42A5F5}.border-top-primary-600{border-top-color:#1E88E5}.border-top-primary-700{border-top-color:#1976D2}.border-top-primary-800{border-top-color:#1565C0}.border-top-danger{border-top-color:#F44336}.border-top-danger-300{border-top-color:#E57373}.border-top-danger-400{border-top-color:#EF5350}.border-top-danger-600{border-top-color:#E53935}.border-top-danger-700{border-top-color:#D32F2F}.border-top-danger-800{border-top-color:#C62828}.border-top-success{border-top-color:#4CAF50}.border-top-success-300{border-top-color:#81C784}.border-top-success-400{border-top-color:#66BB6A}.border-top-success-600{border-top-color:#43A047}.border-top-success-700{border-top-color:#388E3C}.border-top-success-800{border-top-color:#2E7D32}.border-top-warning{border-top-color:#FF5722}.border-top-warning-300{border-top-color:#FF8A65}.border-top-warning-400{border-top-color:#FF7043}.border-top-warning-600{border-top-color:#F4511E}.border-top-warning-700{border-top-color:#E64A19}.border-top-warning-800{border-top-color:#D84315}.border-top-info{border-top-color:#00BCD4}.border-top-info-300{border-top-color:#4DD0E1}.border-top-info-400{border-top-color:#26C6DA}.border-top-info-600{border-top-color:#00ACC1}.border-top-info-700{border-top-color:#0097A7}.border-top-info-800{border-top-color:#00838F}.border-top-pink{border-top-color:#E91E63}.border-top-pink-300{border-top-color:#F06292}.border-top-pink-400{border-top-color:#EC407A}.border-top-pink-600{border-top-color:#D81B60}.border-top-pink-700{border-top-color:#C2185B}.border-top-pink-800{border-top-color:#AD1457}.border-top-violet{border-top-color:#9C27B0}.border-top-violet-300{border-top-color:#BA68C8}.border-top-violet-400{border-top-color:#AB47BC}.border-top-violet-600{border-top-color:#8E24AA}.border-top-violet-700{border-top-color:#7B1FA2}.border-top-violet-800{border-top-color:#6A1B9A}.border-top-purple{border-top-color:#673AB7}.border-top-purple-300{border-top-color:#9575CD}.border-top-purple-400{border-top-color:#7E57C2}.border-top-purple-600{border-top-color:#5E35B1}.border-top-purple-700{border-top-color:#512DA8}.border-top-purple-800{border-top-color:#4527A0}.border-top-indigo{border-top-color:#3F51B5}.border-top-indigo-300{border-top-color:#7986CB}.border-top-indigo-400{border-top-color:#5C6BC0}.border-top-indigo-600{border-top-color:#3949AB}.border-top-indigo-700{border-top-color:#303F9F}.border-top-indigo-800{border-top-color:#283593}.border-top-blue{border-top-color:#03A9F4}.border-top-blue-300{border-top-color:#4FC3F7}.border-top-blue-400{border-top-color:#29B6F6}.border-top-blue-600{border-top-color:#039BE5}.border-top-blue-700{border-top-color:#0288D1}.border-top-blue-800{border-top-color:#0277BD}.border-top-teal{border-top-color:#009688}.border-top-teal-300{border-top-color:#4DB6AC}.border-top-teal-400{border-top-color:#26A69A}.border-top-teal-600{border-top-color:#00897B}.border-top-teal-700{border-top-color:#00796B}.border-top-teal-800{border-top-color:#00695C}.border-top-green{border-top-color:#8BC34A}.border-top-green-300{border-top-color:#AED581}.border-top-green-400{border-top-color:#9CCC65}.border-top-green-600{border-top-color:#7CB342}.border-top-green-700{border-top-color:#689F38}.border-top-green-800{border-top-color:#558B2F}.border-top-orange{border-top-color:#FF9800}.border-top-orange-300{border-top-color:#FFB74D}.border-top-orange-400{border-top-color:#FFA726}.border-top-orange-600{border-top-color:#FB8C00}.border-top-orange-700{border-top-color:#F57C00}.border-top-orange-800{border-top-color:#EF6C00}.border-top-brown{border-top-color:#795548}.border-top-brown-300{border-top-color:#A1887F}.border-top-brown-400{border-top-color:#8D6E63}.border-top-brown-600{border-top-color:#6D4C41}.border-top-brown-700{border-top-color:#5D4037}.border-top-brown-800{border-top-color:#4E342E}.border-top-grey{border-top-color:#777}.border-top-grey-300{border-top-color:#999}.border-top-grey-400{border-top-color:#888}.border-top-grey-600{border-top-color:#666}.border-top-grey-700{border-top-color:#555}.border-top-grey-800{border-top-color:#444}.border-top-slate{border-top-color:#607D8B}.border-top-slate-300{border-top-color:#90A4AE}.border-top-slate-400{border-top-color:#78909C}.border-top-slate-600{border-top-color:#546E7A}.border-top-slate-700{border-top-color:#455A64}.border-top-slate-800{border-top-color:#37474F}.border-top-white{border-top-color:#fff}.border-bottom-primary{border-bottom-color:#2196F3}.border-bottom-primary-300{border-bottom-color:#64B5F6}.border-bottom-primary-400{border-bottom-color:#42A5F5}.border-bottom-primary-600{border-bottom-color:#1E88E5}.border-bottom-primary-700{border-bottom-color:#1976D2}.border-bottom-primary-800{border-bottom-color:#1565C0}.border-bottom-danger{border-bottom-color:#F44336}.border-bottom-danger-300{border-bottom-color:#E57373}.border-bottom-danger-400{border-bottom-color:#EF5350}.border-bottom-danger-600{border-bottom-color:#E53935}.border-bottom-danger-700{border-bottom-color:#D32F2F}.border-bottom-danger-800{border-bottom-color:#C62828}.border-bottom-success{border-bottom-color:#4CAF50}.border-bottom-success-300{border-bottom-color:#81C784}.border-bottom-success-400{border-bottom-color:#66BB6A}.border-bottom-success-600{border-bottom-color:#43A047}.border-bottom-success-700{border-bottom-color:#388E3C}.border-bottom-success-800{border-bottom-color:#2E7D32}.border-bottom-warning{border-bottom-color:#FF5722}.border-bottom-warning-300{border-bottom-color:#FF8A65}.border-bottom-warning-400{border-bottom-color:#FF7043}.border-bottom-warning-600{border-bottom-color:#F4511E}.border-bottom-warning-700{border-bottom-color:#E64A19}.border-bottom-warning-800{border-bottom-color:#D84315}.border-bottom-info{border-bottom-color:#00BCD4}.border-bottom-info-300{border-bottom-color:#4DD0E1}.border-bottom-info-400{border-bottom-color:#26C6DA}.border-bottom-info-600{border-bottom-color:#00ACC1}.border-bottom-info-700{border-bottom-color:#0097A7}.border-bottom-info-800{border-bottom-color:#00838F}.border-bottom-pink{border-bottom-color:#E91E63}.border-bottom-pink-300{border-bottom-color:#F06292}.border-bottom-pink-400{border-bottom-color:#EC407A}.border-bottom-pink-600{border-bottom-color:#D81B60}.border-bottom-pink-700{border-bottom-color:#C2185B}.border-bottom-pink-800{border-bottom-color:#AD1457}.border-bottom-violet{border-bottom-color:#9C27B0}.border-bottom-violet-300{border-bottom-color:#BA68C8}.border-bottom-violet-400{border-bottom-color:#AB47BC}.border-bottom-violet-600{border-bottom-color:#8E24AA}.border-bottom-violet-700{border-bottom-color:#7B1FA2}.border-bottom-violet-800{border-bottom-color:#6A1B9A}.border-bottom-purple{border-bottom-color:#673AB7}.border-bottom-purple-300{border-bottom-color:#9575CD}.border-bottom-purple-400{border-bottom-color:#7E57C2}.border-bottom-purple-600{border-bottom-color:#5E35B1}.border-bottom-purple-700{border-bottom-color:#512DA8}.border-bottom-purple-800{border-bottom-color:#4527A0}.border-bottom-indigo{border-bottom-color:#3F51B5}.border-bottom-indigo-300{border-bottom-color:#7986CB}.border-bottom-indigo-400{border-bottom-color:#5C6BC0}.border-bottom-indigo-600{border-bottom-color:#3949AB}.border-bottom-indigo-700{border-bottom-color:#303F9F}.border-bottom-indigo-800{border-bottom-color:#283593}.border-bottom-blue{border-bottom-color:#03A9F4}.border-bottom-blue-300{border-bottom-color:#4FC3F7}.border-bottom-blue-400{border-bottom-color:#29B6F6}.border-bottom-blue-600{border-bottom-color:#039BE5}.border-bottom-blue-700{border-bottom-color:#0288D1}.border-bottom-blue-800{border-bottom-color:#0277BD}.border-bottom-teal{border-bottom-color:#009688}.border-bottom-teal-300{border-bottom-color:#4DB6AC}.border-bottom-teal-400{border-bottom-color:#26A69A}.border-bottom-teal-600{border-bottom-color:#00897B}.border-bottom-teal-700{border-bottom-color:#00796B}.border-bottom-teal-800{border-bottom-color:#00695C}.border-bottom-green{border-bottom-color:#8BC34A}.border-bottom-green-300{border-bottom-color:#AED581}.border-bottom-green-400{border-bottom-color:#9CCC65}.border-bottom-green-600{border-bottom-color:#7CB342}.border-bottom-green-700{border-bottom-color:#689F38}.border-bottom-green-800{border-bottom-color:#558B2F}.border-bottom-orange{border-bottom-color:#FF9800}.border-bottom-orange-300{border-bottom-color:#FFB74D}.border-bottom-orange-400{border-bottom-color:#FFA726}.border-bottom-orange-600{border-bottom-color:#FB8C00}.border-bottom-orange-700{border-bottom-color:#F57C00}.border-bottom-orange-800{border-bottom-color:#EF6C00}.border-bottom-brown{border-bottom-color:#795548}.border-bottom-brown-300{border-bottom-color:#A1887F}.border-bottom-brown-400{border-bottom-color:#8D6E63}.border-bottom-brown-600{border-bottom-color:#6D4C41}.border-bottom-brown-700{border-bottom-color:#5D4037}.border-bottom-brown-800{border-bottom-color:#4E342E}.border-bottom-grey{border-bottom-color:#777}.border-bottom-grey-300{border-bottom-color:#999}.border-bottom-grey-400{border-bottom-color:#888}.border-bottom-grey-600{border-bottom-color:#666}.border-bottom-grey-700{border-bottom-color:#555}.border-bottom-grey-800{border-bottom-color:#444}.border-bottom-slate{border-bottom-color:#607D8B}.border-bottom-slate-300{border-bottom-color:#90A4AE}.border-bottom-slate-400{border-bottom-color:#78909C}.border-bottom-slate-600{border-bottom-color:#546E7A}.border-bottom-slate-700{border-bottom-color:#455A64}.border-bottom-slate-800{border-bottom-color:#37474F}.border-bottom-white{border-bottom-color:#fff}.border-left-primary{border-left-color:#2196F3}.border-left-primary-300{border-left-color:#64B5F6}.border-left-primary-400{border-left-color:#42A5F5}.border-left-primary-600{border-left-color:#1E88E5}.border-left-primary-700{border-left-color:#1976D2}.border-left-primary-800{border-left-color:#1565C0}.border-left-danger{border-left-color:#F44336}.border-left-danger-300{border-left-color:#E57373}.border-left-danger-400{border-left-color:#EF5350}.border-left-danger-600{border-left-color:#E53935}.border-left-danger-700{border-left-color:#D32F2F}.border-left-danger-800{border-left-color:#C62828}.border-left-success{border-left-color:#4CAF50}.border-left-success-300{border-left-color:#81C784}.border-left-success-400{border-left-color:#66BB6A}.border-left-success-600{border-left-color:#43A047}.border-left-success-700{border-left-color:#388E3C}.border-left-success-800{border-left-color:#2E7D32}.border-left-warning{border-left-color:#FF5722}.border-left-warning-300{border-left-color:#FF8A65}.border-left-warning-400{border-left-color:#FF7043}.border-left-warning-600{border-left-color:#F4511E}.border-left-warning-700{border-left-color:#E64A19}.border-left-warning-800{border-left-color:#D84315}.border-left-info{border-left-color:#00BCD4}.border-left-info-300{border-left-color:#4DD0E1}.border-left-info-400{border-left-color:#26C6DA}.border-left-info-600{border-left-color:#00ACC1}.border-left-info-700{border-left-color:#0097A7}.border-left-info-800{border-left-color:#00838F}.border-left-pink{border-left-color:#E91E63}.border-left-pink-300{border-left-color:#F06292}.border-left-pink-400{border-left-color:#EC407A}.border-left-pink-600{border-left-color:#D81B60}.border-left-pink-700{border-left-color:#C2185B}.border-left-pink-800{border-left-color:#AD1457}.border-left-violet{border-left-color:#9C27B0}.border-left-violet-300{border-left-color:#BA68C8}.border-left-violet-400{border-left-color:#AB47BC}.border-left-violet-600{border-left-color:#8E24AA}.border-left-violet-700{border-left-color:#7B1FA2}.border-left-violet-800{border-left-color:#6A1B9A}.border-left-purple{border-left-color:#673AB7}.border-left-purple-300{border-left-color:#9575CD}.border-left-purple-400{border-left-color:#7E57C2}.border-left-purple-600{border-left-color:#5E35B1}.border-left-purple-700{border-left-color:#512DA8}.border-left-purple-800{border-left-color:#4527A0}.border-left-indigo{border-left-color:#3F51B5}.border-left-indigo-300{border-left-color:#7986CB}.border-left-indigo-400{border-left-color:#5C6BC0}.border-left-indigo-600{border-left-color:#3949AB}.border-left-indigo-700{border-left-color:#303F9F}.border-left-indigo-800{border-left-color:#283593}.border-left-blue{border-left-color:#03A9F4}.border-left-blue-300{border-left-color:#4FC3F7}.border-left-blue-400{border-left-color:#29B6F6}.border-left-blue-600{border-left-color:#039BE5}.border-left-blue-700{border-left-color:#0288D1}.border-left-blue-800{border-left-color:#0277BD}.border-left-teal{border-left-color:#009688}.border-left-teal-300{border-left-color:#4DB6AC}.border-left-teal-400{border-left-color:#26A69A}.border-left-teal-600{border-left-color:#00897B}.border-left-teal-700{border-left-color:#00796B}.border-left-teal-800{border-left-color:#00695C}.border-left-green{border-left-color:#8BC34A}.border-left-green-300{border-left-color:#AED581}.border-left-green-400{border-left-color:#9CCC65}.border-left-green-600{border-left-color:#7CB342}.border-left-green-700{border-left-color:#689F38}.border-left-green-800{border-left-color:#558B2F}.border-left-orange{border-left-color:#FF9800}.border-left-orange-300{border-left-color:#FFB74D}.border-left-orange-400{border-left-color:#FFA726}.border-left-orange-600{border-left-color:#FB8C00}.border-left-orange-700{border-left-color:#F57C00}.border-left-orange-800{border-left-color:#EF6C00}.border-left-brown{border-left-color:#795548}.border-left-brown-300{border-left-color:#A1887F}.border-left-brown-400{border-left-color:#8D6E63}.border-left-brown-600{border-left-color:#6D4C41}.border-left-brown-700{border-left-color:#5D4037}.border-left-brown-800{border-left-color:#4E342E}.border-left-grey{border-left-color:#777}.border-left-grey-300{border-left-color:#999}.border-left-grey-400{border-left-color:#888}.border-left-grey-600{border-left-color:#666}.border-left-grey-700{border-left-color:#555}.border-left-grey-800{border-left-color:#444}.border-left-slate{border-left-color:#607D8B}.border-left-slate-300{border-left-color:#90A4AE}.border-left-slate-400{border-left-color:#78909C}.border-left-slate-600{border-left-color:#546E7A}.border-left-slate-700{border-left-color:#455A64}.border-left-slate-800{border-left-color:#37474F}.border-left-white{border-left-color:#fff}.border-right-primary{border-right-color:#2196F3}.border-right-primary-300{border-right-color:#64B5F6}.border-right-primary-400{border-right-color:#42A5F5}.border-right-primary-600{border-right-color:#1E88E5}.border-right-primary-700{border-right-color:#1976D2}.border-right-primary-800{border-right-color:#1565C0}.border-right-danger{border-right-color:#F44336}.border-right-danger-300{border-right-color:#E57373}.border-right-danger-400{border-right-color:#EF5350}.border-right-danger-600{border-right-color:#E53935}.border-right-danger-700{border-right-color:#D32F2F}.border-right-danger-800{border-right-color:#C62828}.border-right-success{border-right-color:#4CAF50}.border-right-success-300{border-right-color:#81C784}.border-right-success-400{border-right-color:#66BB6A}.border-right-success-600{border-right-color:#43A047}.border-right-success-700{border-right-color:#388E3C}.border-right-success-800{border-right-color:#2E7D32}.border-right-warning{border-right-color:#FF5722}.border-right-warning-300{border-right-color:#FF8A65}.border-right-warning-400{border-right-color:#FF7043}.border-right-warning-600{border-right-color:#F4511E}.border-right-warning-700{border-right-color:#E64A19}.border-right-warning-800{border-right-color:#D84315}.border-right-info{border-right-color:#00BCD4}.border-right-info-300{border-right-color:#4DD0E1}.border-right-info-400{border-right-color:#26C6DA}.border-right-info-600{border-right-color:#00ACC1}.border-right-info-700{border-right-color:#0097A7}.border-right-info-800{border-right-color:#00838F}.border-right-pink{border-right-color:#E91E63}.border-right-pink-300{border-right-color:#F06292}.border-right-pink-400{border-right-color:#EC407A}.border-right-pink-600{border-right-color:#D81B60}.border-right-pink-700{border-right-color:#C2185B}.border-right-pink-800{border-right-color:#AD1457}.border-right-violet{border-right-color:#9C27B0}.border-right-violet-300{border-right-color:#BA68C8}.border-right-violet-400{border-right-color:#AB47BC}.border-right-violet-600{border-right-color:#8E24AA}.border-right-violet-700{border-right-color:#7B1FA2}.border-right-violet-800{border-right-color:#6A1B9A}.border-right-purple{border-right-color:#673AB7}.border-right-purple-300{border-right-color:#9575CD}.border-right-purple-400{border-right-color:#7E57C2}.border-right-purple-600{border-right-color:#5E35B1}.border-right-purple-700{border-right-color:#512DA8}.border-right-purple-800{border-right-color:#4527A0}.border-right-indigo{border-right-color:#3F51B5}.border-right-indigo-300{border-right-color:#7986CB}.border-right-indigo-400{border-right-color:#5C6BC0}.border-right-indigo-600{border-right-color:#3949AB}.border-right-indigo-700{border-right-color:#303F9F}.border-right-indigo-800{border-right-color:#283593}.border-right-blue{border-right-color:#03A9F4}.border-right-blue-300{border-right-color:#4FC3F7}.border-right-blue-400{border-right-color:#29B6F6}.border-right-blue-600{border-right-color:#039BE5}.border-right-blue-700{border-right-color:#0288D1}.border-right-blue-800{border-right-color:#0277BD}.border-right-teal{border-right-color:#009688}.border-right-teal-300{border-right-color:#4DB6AC}.border-right-teal-400{border-right-color:#26A69A}.border-right-teal-600{border-right-color:#00897B}.border-right-teal-700{border-right-color:#00796B}.border-right-teal-800{border-right-color:#00695C}.border-right-green{border-right-color:#8BC34A}.border-right-green-300{border-right-color:#AED581}.border-right-green-400{border-right-color:#9CCC65}.border-right-green-600{border-right-color:#7CB342}.border-right-green-700{border-right-color:#689F38}.border-right-green-800{border-right-color:#558B2F}.border-right-orange{border-right-color:#FF9800}.border-right-orange-300{border-right-color:#FFB74D}.border-right-orange-400{border-right-color:#FFA726}.border-right-orange-600{border-right-color:#FB8C00}.border-right-orange-700{border-right-color:#F57C00}.border-right-orange-800{border-right-color:#EF6C00}.border-right-brown{border-right-color:#795548}.border-right-brown-300{border-right-color:#A1887F}.border-right-brown-400{border-right-color:#8D6E63}.border-right-brown-600{border-right-color:#6D4C41}.border-right-brown-700{border-right-color:#5D4037}.border-right-brown-800{border-right-color:#4E342E}.border-right-grey{border-right-color:#777}.border-right-grey-300{border-right-color:#999}.border-right-grey-400{border-right-color:#888}.border-right-grey-600{border-right-color:#666}.border-right-grey-700{border-right-color:#555}.border-right-grey-800{border-right-color:#444}.border-right-slate{border-right-color:#607D8B}.border-right-slate-300{border-right-color:#90A4AE}.border-right-slate-400{border-right-color:#78909C}.border-right-slate-600{border-right-color:#546E7A}.border-right-slate-700{border-right-color:#455A64}.border-right-slate-800{border-right-color:#37474F}.border-right-white{border-right-color:#fff}.text-primary,.text-primary-300,.text-primary-300:focus,.text-primary-300:hover,.text-primary:focus,.text-primary:hover{color:#2196F3!important}.text-primary-400,.text-primary-400:focus,.text-primary-400:hover{color:#42A5F5!important}.text-primary-600,.text-primary-600:focus,.text-primary-600:hover{color:#1E88E5!important}.text-primary-700,.text-primary-700:focus,.text-primary-700:hover{color:#1976D2!important}.text-primary-800,.text-primary-800:focus,.text-primary-800:hover{color:#1565C0!important}.text-danger,.text-danger:focus,.text-danger:hover{color:#F44336!important}.text-danger-300,.text-danger-300:focus,.text-danger-300:hover{color:#E57373!important}.text-danger-400,.text-danger-400:focus,.text-danger-400:hover{color:#EF5350!important}.text-danger-600,.text-danger-600:focus,.text-danger-600:hover{color:#E53935!important}.text-danger-700,.text-danger-700:focus,.text-danger-700:hover{color:#D32F2F!important}.text-danger-800,.text-danger-800:focus,.text-danger-800:hover{color:#C62828!important}.text-success,.text-success:focus,.text-success:hover{color:#4CAF50!important}.text-success-300,.text-success-300:focus,.text-success-300:hover{color:#81C784!important}.text-success-400,.text-success-400:focus,.text-success-400:hover{color:#66BB6A!important}.text-success-600,.text-success-600:focus,.text-success-600:hover{color:#43A047!important}.text-success-700,.text-success-700:focus,.text-success-700:hover{color:#388E3C!important}.text-success-800,.text-success-800:focus,.text-success-800:hover{color:#2E7D32!important}.text-warning,.text-warning:focus,.text-warning:hover{color:#FF5722!important}.text-warning-300,.text-warning-300:focus,.text-warning-300:hover{color:#FF8A65!important}.text-warning-400,.text-warning-400:focus,.text-warning-400:hover{color:#FF7043!important}.text-warning-600,.text-warning-600:focus,.text-warning-600:hover{color:#F4511E!important}.text-warning-700,.text-warning-700:focus,.text-warning-700:hover{color:#E64A19!important}.text-warning-800,.text-warning-800:focus,.text-warning-800:hover{color:#D84315!important}.text-info,.text-info:focus,.text-info:hover{color:#00BCD4!important}.text-info-300,.text-info-300:focus,.text-info-300:hover{color:#4DD0E1!important}.text-info-400,.text-info-400:focus,.text-info-400:hover{color:#26C6DA!important}.text-info-600,.text-info-600:focus,.text-info-600:hover{color:#00ACC1!important}.text-info-700,.text-info-700:focus,.text-info-700:hover{color:#0097A7!important}.text-info-800,.text-info-800:focus,.text-info-800:hover{color:#00838F!important}.text-pink,.text-pink:focus,.text-pink:hover{color:#E91E63!important}.text-pink-300,.text-pink-300:focus,.text-pink-300:hover{color:#F06292!important}.text-pink-400,.text-pink-400:focus,.text-pink-400:hover{color:#EC407A!important}.text-pink-600,.text-pink-600:focus,.text-pink-600:hover{color:#D81B60!important}.text-pink-700,.text-pink-700:focus,.text-pink-700:hover{color:#C2185B!important}.text-pink-800,.text-pink-800:focus,.text-pink-800:hover{color:#AD1457!important}.text-violet,.text-violet:focus,.text-violet:hover{color:#9C27B0!important}.text-violet-300,.text-violet-300:focus,.text-violet-300:hover{color:#BA68C8!important}.text-violet-400,.text-violet-400:focus,.text-violet-400:hover{color:#AB47BC!important}.text-violet-600,.text-violet-600:focus,.text-violet-600:hover{color:#8E24AA!important}.text-violet-700,.text-violet-700:focus,.text-violet-700:hover{color:#7B1FA2!important}.text-violet-800,.text-violet-800:focus,.text-violet-800:hover{color:#6A1B9A!important}.text-purple,.text-purple:focus,.text-purple:hover{color:#673AB7!important}.text-purple-300,.text-purple-300:focus,.text-purple-300:hover{color:#9575CD!important}.text-purple-400,.text-purple-400:focus,.text-purple-400:hover{color:#7E57C2!important}.text-purple-600,.text-purple-600:focus,.text-purple-600:hover{color:#5E35B1!important}.text-purple-700,.text-purple-700:focus,.text-purple-700:hover{color:#512DA8!important}.text-purple-800,.text-purple-800:focus,.text-purple-800:hover{color:#4527A0!important}.text-indigo,.text-indigo:focus,.text-indigo:hover{color:#3F51B5!important}.text-indigo-300,.text-indigo-300:focus,.text-indigo-300:hover{color:#7986CB!important}.text-indigo-400,.text-indigo-400:focus,.text-indigo-400:hover{color:#5C6BC0!important}.text-indigo-600,.text-indigo-600:focus,.text-indigo-600:hover{color:#3949AB!important}.text-indigo-700,.text-indigo-700:focus,.text-indigo-700:hover{color:#303F9F!important}.text-indigo-800,.text-indigo-800:focus,.text-indigo-800:hover{color:#283593!important}.text-blue,.text-blue:focus,.text-blue:hover{color:#03A9F4!important}.text-blue-300,.text-blue-300:focus,.text-blue-300:hover{color:#4FC3F7!important}.text-blue-400,.text-blue-400:focus,.text-blue-400:hover{color:#29B6F6!important}.text-blue-600,.text-blue-600:focus,.text-blue-600:hover{color:#039BE5!important}.text-blue-700,.text-blue-700:focus,.text-blue-700:hover{color:#0288D1!important}.text-blue-800,.text-blue-800:focus,.text-blue-800:hover{color:#0277BD!important}.text-teal,.text-teal:focus,.text-teal:hover{color:#009688!important}.text-teal-300,.text-teal-300:focus,.text-teal-300:hover{color:#4DB6AC!important}.text-teal-400,.text-teal-400:focus,.text-teal-400:hover{color:#26A69A!important}.text-teal-600,.text-teal-600:focus,.text-teal-600:hover{color:#00897B!important}.text-teal-700,.text-teal-700:focus,.text-teal-700:hover{color:#00796B!important}.text-teal-800,.text-teal-800:focus,.text-teal-800:hover{color:#00695C!important}.text-green,.text-green:focus,.text-green:hover{color:#8BC34A!important}.text-green-300,.text-green-300:focus,.text-green-300:hover{color:#AED581!important}.text-green-400,.text-green-400:focus,.text-green-400:hover{color:#9CCC65!important}.text-green-600,.text-green-600:focus,.text-green-600:hover{color:#7CB342!important}.text-green-700,.text-green-700:focus,.text-green-700:hover{color:#689F38!important}.text-green-800,.text-green-800:focus,.text-green-800:hover{color:#558B2F!important}.text-orange,.text-orange:focus,.text-orange:hover{color:#FF9800!important}.text-orange-300,.text-orange-300:focus,.text-orange-300:hover{color:#FFB74D!important}.text-orange-400,.text-orange-400:focus,.text-orange-400:hover{color:#FFA726!important}.text-orange-600,.text-orange-600:focus,.text-orange-600:hover{color:#FB8C00!important}.text-orange-700,.text-orange-700:focus,.text-orange-700:hover{color:#F57C00!important}.text-orange-800,.text-orange-800:focus,.text-orange-800:hover{color:#EF6C00!important}.text-brown,.text-brown:focus,.text-brown:hover{color:#795548!important}.text-brown-300,.text-brown-300:focus,.text-brown-300:hover{color:#A1887F!important}.text-brown-400,.text-brown-400:focus,.text-brown-400:hover{color:#8D6E63!important}.text-brown-600,.text-brown-600:focus,.text-brown-600:hover{color:#6D4C41!important}.text-brown-700,.text-brown-700:focus,.text-brown-700:hover{color:#5D4037!important}.text-brown-800,.text-brown-800:focus,.text-brown-800:hover{color:#4E342E!important}.text-grey,.text-grey:focus,.text-grey:hover{color:#777!important}.text-grey-300,.text-grey-300:focus,.text-grey-300:hover{color:#999!important}.text-grey-400,.text-grey-400:focus,.text-grey-400:hover{color:#888!important}.text-grey-600,.text-grey-600:focus,.text-grey-600:hover{color:#666!important}.text-grey-700,.text-grey-700:focus,.text-grey-700:hover{color:#555!important}.text-grey-800,.text-grey-800:focus,.text-grey-800:hover{color:#444!important}.text-slate,.text-slate:focus,.text-slate:hover{color:#607D8B!important}.text-slate-300,.text-slate-300:focus,.text-slate-300:hover{color:#90A4AE!important}.text-slate-400,.text-slate-400:focus,.text-slate-400:hover{color:#78909C!important}.text-slate-600,.text-slate-600:focus,.text-slate-600:hover{color:#546E7A!important}.text-slate-700,.text-slate-700:focus,.text-slate-700:hover{color:#455A64!important}.text-slate-800,.text-slate-800:focus,.text-slate-800:hover{color:#37474F!important}.text-white,.text-white:focus,.text-white:hover{color:#fff!important}.text-default,.text-default:focus,.text-default:hover{color:#333!important} \ No newline at end of file diff --git a/Show-Crypto-Currency-Price-in-Graph/amol/public/assets/css/components.css b/Show-Crypto-Currency-Price-in-Graph/amol/public/assets/css/components.css new file mode 100644 index 0000000..529723f --- /dev/null +++ b/Show-Crypto-Currency-Price-in-Graph/amol/public/assets/css/components.css @@ -0,0 +1 @@ +.checker span:after,.navigation li>.has-ul:after,.select2-selection--single .select2-selection__clear:after{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.spinner,.ui-autocomplete-processing:after{-webkit-animation:rotation 1s linear infinite}.pace,.theme_perspective{-webkit-user-select:none}.fc table,.picker__table,.ui-datepicker table{border-collapse:collapse}.cropper-container,.footable>thead>tr>th,.irs,.selectboxit-container *,.ui-slider-pips .ui-slider-pip{-webkit-touch-callout:none}.fc table,.handsontable .htCore,.picker__table,.pika-table,.stepy-header,.wizard>.steps>ul{table-layout:fixed}.cropper-container,.fancybox-nav{-webkit-tap-highlight-color:transparent}.c3-tooltip,.fc table,.picker__table,.pika-table{border-spacing:0}.bullet-marker,.bullet-tick line,.c3 path.domain,.c3-bars path,.c3-event-rect,.c3-legend-item-tile,.c3-xgrid-focus,.c3-ygrid,.d3-axis line,.d3-axis path,.d3-grid .tick line,.d3-grid-dashed .tick{shape-rendering:crispEdges}.no-transitions *{-webkit-transition:none!important;-o-transition:none!important;transition:none!important}.AnyTime-btn,.bootstrap-select .btn-default,.bootstrap-select.btn-group .dropdown-menu>li>a .check-mark,.breadcrumb-elements>li>a,.breadcrumb>li>a,.btn,.checker span:after,.choice span:after,.dataTable .select-checkbox:after,.dataTable .select-checkbox:before,.dataTables_filter input,.dataTables_paginate .paginate_button,.datepicker-dropdown .day,.daterangepicker td,.daterangepicker th,.dropdown-content-footer a,.dropdown-menu>li>a,.dropdown-menu>li>label,.dt-autofill-button .btn,.dt-autofill-list ul li,.dt-button,.fc-button,.icons-list>li>a,.list-group-item,.media-link,.menu-list li>a,.multiselect.btn-default,.nav li>a>.badge,.nav li>a>.label,.nav-pills>li>a,.nav-tabs>li>a,.nav-tabs>li>a:after,.navbar-link,.navbar-nav>li>a,.noUi-handle,.pager>li>a,.pager>li>span,.pagination>li>a,.pagination>li>span,.password-indicator-group.input-group-addon,.password-indicator-label-absolute,.picker__day,.picker__footer,.picker__footer button,.picker__list button,.picker__list-item,.picker__nav--next,.picker__nav--prev,.pika-button,.plupload_button,.plupload_file_action>a,.plupload_filelist li,.select2-results__option,.select2-selection--multiple:not([class*=bg-]) .select2-selection__choice,.select2-selection--single:not([class*=bg-]),.selectboxit-btn,.selectboxit-option-anchor,.sp-cancel,.sp-choose,.sp-input,.sp-palette-toggle,.sp-replacer,.tokenfield .token,.tt-suggestion,.ui-button,.ui-datepicker a,.ui-datepicker-buttonpane>button,.ui-menu-item,.ui-selectmenu-button,.wizard .actions a,a.badge,a.label{-webkit-transition:all ease-in-out .15s;-o-transition:all ease-in-out .15s;transition:all ease-in-out .15s}.close,.select2-selection__choice__remove,.tag [data-role=remove]{-webkit-transition:opacity ease-in-out .15s;-o-transition:opacity ease-in-out .15s;transition:opacity ease-in-out .15s}.checker span{-webkit-transition:border-color ease-in-out .15s;-o-transition:border-color ease-in-out .15s;transition:border-color ease-in-out .15s}.htContextMenu td,.navbar-nav>.active>a:after,.ranges ul li,.sidebar-user-material-menu>a,.table td,.table th,.table tr{-webkit-transition:background-color ease-in-out .15s;-o-transition:background-color ease-in-out .15s;transition:background-color ease-in-out .15s}.sidebar-user-material-menu>a>.caret{-webkit-transition:-webkit-transform ease-in-out .15s;-o-transition:-webkit-transform ease-in-out .15s;transition:-webkit-transform ease-in-out .15s;-webkit-transition-duration:.35s;transition-duration:.35s}.sidebar{background-color:#263238;color:#fff;position:relative;width:100%;display:none;-webkit-box-shadow:0 1px 3px rgba(0,0,0,.12),0 1px 2px rgba(0,0,0,.24);box-shadow:0 1px 3px rgba(0,0,0,.12),0 1px 2px rgba(0,0,0,.24)}.sidebar-user-material-content>a,body>.ui-pnotify{-webkit-box-shadow:0 1px 3px rgba(0,0,0,.12),0 1px 2px rgba(0,0,0,.24)}@media (min-width:769px){.sidebar{display:table-cell;vertical-align:top;width:260px}}.sidebar-main{z-index:99}.sidebar-secondary{z-index:98}.sidebar-opposite{display:none;z-index:97}@media (min-width:769px){.sidebar-opposite-visible .sidebar-opposite{display:table-cell}}.sidebar-default{background-color:#fff;color:#333}.sidebar-user-material-content>h6,.sidebar-user-material-content>span,.sidebar-user-material-menu>a{color:#fff;text-shadow:0 0 1px rgba(0,0,0,.5)}.sidebar-content{position:relative;padding-bottom:8px}.sidebar-all-hidden .sidebar-main,.sidebar-all-hidden .sidebar-secondary,.sidebar-detached-hidden .sidebar-detached>.sidebar,.sidebar-main-hidden .sidebar-main,.sidebar-secondary-hidden .sidebar-secondary{display:none}@media (max-width:768px){.sidebar-mobile-detached .sidebar-detached>.sidebar,.sidebar-mobile-main .sidebar-main,.sidebar-mobile-opposite .sidebar-opposite,.sidebar-mobile-secondary .sidebar-secondary{display:block}}.category-title{position:relative;margin:0;padding:12px 46px 12px 20px;border-bottom:1px solid rgba(255,255,255,.1)}.category-title>span{display:block;margin-top:2px;text-transform:uppercase;font-weight:500;font-size:11px;line-height:1.82}.category-title .icons-list,.category-title>i{position:absolute;right:20px;top:50%;margin-top:-8px}.category-content,.navigation,.navigation li{position:relative}.sidebar-default .category-title{border-bottom-color:#ddd}.category-content{padding:20px}.sidebar-user-material .category-content{background:url(../images/backgrounds/user_bg4.jpg) center center no-repeat;-webkit-background-size:cover;-moz-background-size:cover;-o-background-size:cover;background-size:cover}.sidebar-user-material .navigation-wrapper{background-color:rgba(0,0,0,.1);border-bottom:1px solid rgba(255,255,255,.1)}.sidebar-default .sidebar-user-material .navigation-wrapper{background-color:rgba(0,0,0,.01);border-bottom-color:#ddd}.sidebar-user-material .navigation{padding:8px 0}.sidebar-detached .sidebar-user-material:first-child .category-content{border-top-right-radius:3px;border-top-left-radius:3px}.sidebar-user-material-menu{margin:20px -20px -20px}.sidebar-user-material-menu>a{padding:10px 20px;display:block;background-color:rgba(0,0,0,.1)}.sidebar-user-material-menu>a:focus,.sidebar-user-material-menu>a:hover,.sidebar-user-material-menu>a[aria-expanded=true]{background-color:rgba(0,0,0,.15)}.sidebar-user-material-menu>a>i{float:right;margin-top:2px}.sidebar-user-material-menu>a[aria-expanded=true]>.caret{-webkit-transform:rotate(180deg);-ms-transform:rotate(180deg);-o-transform:rotate(180deg);transform:rotate(180deg)}.sidebar-user-material-content{text-align:center}.sidebar-user-material-content>a{display:inline-block;box-shadow:0 1px 3px rgba(0,0,0,.12),0 1px 2px rgba(0,0,0,.24)}.navigation .hidden-ul,.sidebar-xs .sidebar-user-material-content,.sidebar-xs .sidebar-user-material-menu>a>span{display:none}.sidebar-user-material-content>a>img{height:80px}.sidebar-user-material-content>h6{margin-bottom:0}.sidebar-xs .sidebar-user-material>.category-content{padding:0}.sidebar-xs .sidebar-user-material-menu{margin:0}.sidebar-xs .sidebar-user-material-menu>a{text-align:center;padding:20px;line-height:1}.sidebar-xs .sidebar-user-material-menu>a>i{float:none;margin-top:0}.navigation{margin:0;padding:10px 0;list-style:none}.sidebar-user+.sidebar-category .navigation{padding-top:0}.navigation li+li{margin-top:1px}.navigation li+.navigation-header{margin-top:10px}.navigation li a{color:rgba(255,255,255,.75);display:block;-webkit-transition:background .15s linear,color .15s linear;-o-transition:background .15s linear,color .15s linear;transition:background .15s linear,color .15s linear}.navigation li a:focus,.navigation li a:hover{background-color:rgba(0,0,0,.1);color:#fff}.navigation li a>i{float:left;top:0;margin-top:2px;margin-right:15px;-webkit-transition:opacity .2s ease-in-out;-o-transition:opacity .2s ease-in-out;transition:opacity .2s ease-in-out}.navigation li a>i.pull-right{margin-right:0;margin-left:15px}.navigation li.disabled>a,.navigation li.disabled>a:focus,.navigation li.disabled>a:hover{color:inherit;background-color:transparent;cursor:not-allowed;opacity:.3;filter:alpha(opacity=30)}.navigation li>.has-ul{position:relative;padding-right:36px}.navigation li>.has-ul:after{content:"\e9c7";font-family:icomoon;font-size:16px;display:block;position:absolute;top:50%;margin-top:-8px;right:20px;line-height:1;-webkit-transform:rotate(0);-ms-transform:rotate(0);-o-transform:rotate(0);transform:rotate(0);-webkit-transition:-webkit-transform .2s ease-in-out;-o-transition:-webkit-transform .2s ease-in-out;transition:-webkit-transform .2s ease-in-out}.navigation li.active>.has-ul:after{-webkit-transform:rotate(90deg);-ms-transform:rotate(90deg);-o-transform:rotate(90deg);transform:rotate(90deg)}.navigation li.navigation-divider{margin:10px 0;height:1px;background-color:rgba(255,255,255,.1)}.sidebar-default .navigation li.navigation-divider{background-color:#eee}.navigation>li>a{padding:12px 20px;min-height:44px;font-weight:500}.navigation>li.active>a,.navigation>li.active>a:focus,.navigation>li.active>a:hover{background-color:#304047;color:#fff}.navigation>li.active>a>[class*=text-]{color:#fff}.navigation>li.active>a .badge,.navigation>li.active>a .label{background-color:transparent;border-color:transparent;color:#fff;-webkit-transition:background-color ease-in-out .2s;-o-transition:background-color ease-in-out .2s;transition:background-color ease-in-out .2s}.navigation>li ul{list-style:none;margin:0;padding:0;background-color:rgba(0,0,0,.15);-webkit-box-shadow:0 1px 0 rgba(255,255,255,.05);box-shadow:0 1px 0 rgba(255,255,255,.05)}.navigation>li ul li a{padding:10px 20px 10px 51px;min-height:40px}.navigation>li ul .navigation-header{padding-left:51px}.navigation>li>ul>li>ul>.navigation-header,.navigation>li>ul>li>ul>li>a{padding-left:71px}.navigation>li>ul>li>ul>li>ul .navigation-header,.navigation>li>ul>li>ul>li>ul>li>a{padding-left:91px}.navigation>li>ul li:first-child{padding-top:10px}.navigation>li>ul li:last-child{padding-bottom:10px}.navigation>li>ul li.active>a,.navigation>li>ul li.active>a:focus,.navigation>li>ul li.active>a:hover{background-color:rgba(0,0,0,.2);color:#fff}.navigation .navigation-header{min-height:30px;padding:10px 20px;border-bottom:0;text-transform:uppercase;font-size:11px;line-height:1.82}.navigation .navigation-header>span{display:block;margin-top:2px}.navigation .navigation-header>i{display:none}.navigation.nav>.active>.hidden-ul,.sidebar-detached .navigation.nav>.active>.hidden-ul{display:block}.navigation .navigation-header>i.pull-right{margin-top:2px}.navigation-bordered li+.navigation-header,.navigation-bordered>li+li{margin-top:0}.navigation .navigation-header,.navigation .navigation-header a{color:rgba(255,255,255,.5);font-weight:400}.navigation .navigation-header a:focus,.navigation .navigation-header a:hover{color:#fff}.navigation .navigation-header a i{float:none;margin:0}.sidebar-default .navigation .navigation-header,.sidebar-default .navigation .navigation-header a{color:#999}.sidebar-default .navigation .navigation-header a:focus,.sidebar-default .navigation .navigation-header a:hover{color:#333}.navigation .badge,.navigation .label{float:right}.sidebar-default .navigation li>a{color:#333}.sidebar-default .navigation li>a:focus,.sidebar-default .navigation li>a:hover{background-color:#f8f8f8}.sidebar-default .navigation li.active>a,.sidebar-default .navigation li.active>a:focus,.sidebar-default .navigation li.active>a:hover{background-color:#f5f5f5;color:#333}.sidebar-default .navigation li.disabled>a,.sidebar-default .navigation li.disabled>a:focus,.sidebar-default .navigation li.disabled>a:hover,.sidebar-default .navigation>li ul{background-color:transparent}.sidebar-default .navigation li.active>a>[class*=text-]{color:#333}.sidebar-default .navigation li .label-transparent{color:#333}.sidebar-default .navigation>li.active>a,.sidebar-default .navigation>li.active>a:focus,.sidebar-default .navigation>li.active>a:hover{background-color:#f5f5f5;color:#333}.sidebar-default .navigation>li.active>a .label-transparent{color:#333}.navigation-icons-right>li>a,.navigation-icons-right>li>a.has-ul{padding-right:20px}.navigation-icons-right>li>a>i{float:right;margin-right:0;margin-left:15px}.navigation-icons-right>li.active>.has-ul:after,.navigation-icons-right>li>a.has-ul:after{content:none}.navigation-bordered>li{border-top:1px solid rgba(255,255,255,.05)}.navigation-bordered>li:last-child{border-bottom:1px solid rgba(255,255,255,.05)}.navigation-bordered>li.navigation-header{background-color:rgba(0,0,0,.1)}.navigation-bordered>li ul{-webkit-box-shadow:none;box-shadow:none}.sidebar-default .navigation-bordered>li{border-top:1px solid #eee}.sidebar-default .navigation-bordered>li.navigation-header{background-color:#fafafa}.navigation-lg>li>a,.navigation-lg>li>a>span{padding-top:14px;padding-bottom:14px;min-height:48px}.navigation-lg>li ul li a,.navigation-sm>li>a,.navigation-sm>li>a>span{padding-top:10px;padding-bottom:10px;min-height:40px}.navigation-sm>li ul li a{padding-top:6px;padding-bottom:6px;min-height:32px}.navigation-xs>li>a,.navigation-xs>li>a>span{padding-top:8px;padding-bottom:8px;min-height:36px}.navigation-xs>li ul li a{padding-top:6px;padding-bottom:6px;min-height:32px}@media (min-width:769px){.sidebar-fixed .sidebar-content{position:fixed;width:260px;max-height:100%;overflow:auto;top:50px;bottom:50px;margin-bottom:-50px}.sidebar-xs .sidebar-fixed.sidebar-main .sidebar-content{width:56px}.sidebar-fixed.sidebar-default .sidebar-content,.sidebar-xs .sidebar-fixed-expanded .sidebar-fixed.sidebar-main{width:260px}.sidebar-fixed-expanded .sidebar-fixed.sidebar-main{position:fixed;display:block;height:100%;z-index:1001}.sidebar-fixed-expanded .sidebar-fixed.sidebar-main .sidebar-content{position:fixed}.sidebar-fixed-expanded .content-wrapper{padding-left:56px}.has-detached-left .container-detached{float:right;margin-left:-260px;width:100%}.has-detached-left .content-detached{margin-left:280px}.has-detached-left .sidebar-detached{float:left}.has-detached-right .container-detached{float:left;margin-right:-260px;width:100%}.has-detached-right .content-detached{margin-right:280px}.has-detached-right .sidebar-detached{float:right}.has-detached-right .sidebar-detached.affix{right:20px}.sidebar-detached-hidden .container-detached{float:none;margin:0}.sidebar-detached-hidden .content-detached{margin:0}.sidebar-detached-hidden .sidebar-detached{float:none}}.sidebar-xs-indicator .sidebar-fixed .sidebar-content{top:0!important}@media (max-width:768px){.navigation.nav>li>.hidden-ul,.sidebar-detached .navigation.nav>li>.hidden-ul{display:block}}.sidebar-detached.affix{position:static}@media (min-width:769px){.sidebar-detached{display:block;position:relative;margin-bottom:0}.sidebar-detached>.sidebar{margin-bottom:0;display:block;border-radius:3px}.sidebar-detached.affix{position:fixed;top:20px;bottom:20px;-webkit-transition:bottom ease-in-out .15s;-o-transition:bottom ease-in-out .15s;transition:bottom ease-in-out .15s}.sidebar-detached.affix>.sidebar{max-height:100%;overflow-y:auto}.sidebar-detached.fixed-sidebar-space{bottom:80px}.navbar-bottom .sidebar-detached.fixed-sidebar-space{bottom:90px}.navbar-bottom-lg .sidebar-detached.fixed-sidebar-space{bottom:94px}.navbar-bottom-sm .sidebar-detached.fixed-sidebar-space{bottom:88px}.navbar-bottom-xs .sidebar-detached.fixed-sidebar-space{bottom:86px}.navbar-fixed .sidebar-detached{top:90px}.navbar-fixed-lg .sidebar-detached{top:94px}.navbar-fixed-sm .sidebar-detached{top:88px}.navbar-fixed-xs .sidebar-detached{top:86px}.sidebar-separate{background-color:transparent}.sidebar-separate .sidebar-category{background-color:#263238;border-radius:3px;margin-bottom:20px}.sidebar-separate.sidebar-default{background-color:transparent;-webkit-box-shadow:none;box-shadow:none}.sidebar-separate.sidebar-default .sidebar-category{background-color:#fff;-webkit-box-shadow:0 1px 3px rgba(0,0,0,.12),0 1px 2px rgba(0,0,0,.24);box-shadow:0 1px 3px rgba(0,0,0,.12),0 1px 2px rgba(0,0,0,.24)}.sidebar-xs .sidebar-main{width:56px}.sidebar-xs .sidebar-main .sidebar-category{display:none}.sidebar-xs .sidebar-main .sidebar-category-visible{display:block}.sidebar-xs .sidebar-main .category-title{padding:0}.sidebar-xs .sidebar-main .category-title>i{padding:13px 0;float:none;display:block;top:0}.sidebar-xs .sidebar-main .category-title>span{display:none}.sidebar-xs .sidebar-main .category-title .icons-list{position:static;text-align:center;margin-top:0;padding-top:14px;padding-bottom:14px}.sidebar-xs .sidebar-main .category-title .icons-list>li{display:block;margin-left:0}.sidebar-xs .sidebar-main .category-title .icons-list>li+li{margin-top:10px}.sidebar-xs .sidebar-main .category-title.h6 .icons-list{padding-top:23.54px;padding-bottom:23.54px}.sidebar-xs .sidebar-main .category-title.h5 .icons-list{padding-top:25.08px;padding-bottom:25.08px}.sidebar-xs .sidebar-main .navigation>li>a{display:block;text-align:center;padding-left:0;padding-right:0}.sidebar-xs .sidebar-main .navigation>li>a>span{display:none;position:absolute;top:0;right:-260px;background-color:#304047;padding:12px 20px;width:260px;text-align:left;color:#fff;cursor:pointer;border-bottom-right-radius:3px;border-top-right-radius:3px;-webkit-box-shadow:0 1px 3px rgba(0,0,0,.12),0 1px 2px rgba(0,0,0,.24);box-shadow:0 1px 3px rgba(0,0,0,.12),0 1px 2px rgba(0,0,0,.24)}.sidebar-xs .sidebar-main .navigation>li>a>span .badge,.sidebar-xs .sidebar-main .navigation>li>a>span .label{background-color:transparent;border-color:transparent;color:#fff;padding-left:0;padding-right:0}.sidebar-xs .sidebar-main .navigation>li>a>i{margin:2px 0;display:block;float:none}.sidebar-xs .sidebar-main .navigation>li>a.legitRipple{overflow:visible}.sidebar-xs .sidebar-main .navigation>li.active>.has-ul:after,.sidebar-xs .sidebar-main .navigation>li>.has-ul:after{content:none}.sidebar-xs .sidebar-main .navigation>li .has-ul>span{border-radius:0 3px 0 0;cursor:default}.sidebar-xs .sidebar-main .navigation>li.active>ul,.sidebar-xs .sidebar-main .navigation>li.disabled:hover>a>span,.sidebar-xs .sidebar-main .navigation>li.disabled:hover>ul{display:none!important}.sidebar-xs .sidebar-main .navigation>li:hover>ul{display:block!important}.sidebar-xs .sidebar-main .navigation>li:hover>a>span{display:block}.sidebar-xs .sidebar-main .navigation>li:hover:not(.active)>a{background-color:rgba(0,0,0,.1);color:#fff}.sidebar-xs .sidebar-main .navigation>li>ul{position:absolute;right:-260px;top:44px;width:260px;display:none;background-color:#263238;border-radius:0 0 3px;-webkit-box-shadow:0 1px 3px rgba(0,0,0,.12),0 1px 2px rgba(0,0,0,.24);box-shadow:0 1px 3px rgba(0,0,0,.12),0 1px 2px rgba(0,0,0,.24)}.sidebar-xs .sidebar-main .navigation>li>ul>li>a{padding-left:20px;padding-right:20px}.sidebar-xs .sidebar-main .navigation>li>ul>li>ul>li>a{padding-left:30px}.sidebar-xs .sidebar-main .navigation>li>ul>li>ul>li>ul>li>a{padding-left:60px}.sidebar-xs .sidebar-main .navigation>.navigation-header{padding:0;text-align:center}.sidebar-xs .sidebar-main .navigation>.navigation-header>i{display:block;top:0;padding:13px 0}.sidebar-xs .sidebar-main .navigation>.navigation-header>span{display:none}.sidebar-xs .sidebar-main .sidebar-user .category-content{padding-left:0;padding-right:0}.sidebar-xs .sidebar-main .sidebar-user .media-left,.sidebar-xs .sidebar-main .sidebar-user .media-right{padding:0;text-align:center;display:block}.sidebar-xs .sidebar-main .sidebar-user .media-left>img,.sidebar-xs .sidebar-main .sidebar-user .media-right>img{max-width:100%;height:auto!important}.sidebar-xs .sidebar-main .sidebar-user .media-left>.img-sm,.sidebar-xs .sidebar-main .sidebar-user .media-right>.img-sm{margin-top:1px;margin-bottom:1px}.sidebar-xs .sidebar-main .sidebar-user .media-left>.img-xs,.sidebar-xs .sidebar-main .sidebar-user .media-right>.img-xs{margin-top:3px;margin-bottom:3px}.sidebar-xs .sidebar-main .sidebar-user .media-body,.sidebar-xs .sidebar-main .sidebar-user .media-right{display:none}.sidebar-xs .sidebar-main .navigation-lg>li>ul{top:48px}.sidebar-xs .sidebar-main .navigation-sm>li>ul{top:40px}.sidebar-xs .sidebar-main .navigation-xs>li>ul{top:36px}.sidebar-xs .sidebar-main.sidebar-default .navigation>li>a>span{background-color:#f5f5f5;color:#333}.sidebar-xs .sidebar-main.sidebar-default .navigation>li>a>span .badge,.sidebar-xs .sidebar-main.sidebar-default .navigation>li>a>span .label{color:#333}.sidebar-xs .sidebar-main.sidebar-default .navigation>li>ul{background-color:#fff;border-top:0}.sidebar-xs .sidebar-main.sidebar-default .navigation>li:hover:not(.active)>a{background-color:#f5f5f5;color:#333}}.sidebar .row{margin-left:-5px;margin-right:-5px}.sidebar .row [class*=col-]{padding-left:5px;padding-right:5px}@media (max-width:768px){.sidebar .sp-container{display:block;width:220px;margin-left:auto;margin-right:auto}}.sidebar .sp-flat .sp-picker-container{display:block;width:218px}.sidebar .panel-group .panel{border-radius:0;border-width:0 0 1px}.sidebar .panel-group .panel:first-child{border-top-width:1px}.sidebar .panel-group .panel+.panel{margin-top:0}.sidebar .media-list-bordered>li{border-top:0;border-bottom:1px solid #eee}.sidebar:not(.sidebar-default) .media .media-annotation,.sidebar:not(.sidebar-default) .media .text-muted{color:rgba(255,255,255,.8)}.sidebar:not(.sidebar-default) .media .media-body>a,.sidebar:not(.sidebar-default) .media .media-left>a,.sidebar:not(.sidebar-default) .media .media-right>a{color:#fff}.sidebar:not(.sidebar-default) .media .media-link:focus,.sidebar:not(.sidebar-default) .media .media-link:hover{background-color:rgba(0,0,0,.1)}.sidebar:not(.sidebar-default) .media .media-badge{border-color:#263238}.sidebar:not(.sidebar-default) .media-list-bordered>li{border-color:rgba(255,255,255,.1)}.sidebar .thumbnail{margin-bottom:10px}.sidebar .form-group:last-child,.sidebar .sidebar-category .checkbox:last-child,.sidebar .sidebar-category .radio:last-child,.sidebar .thumbnail:last-child{margin-bottom:0}.sidebar .thumbnail .zoom-image i{font-size:16px;margin-top:-8px;margin-left:-8px}.layout-boxed .page-container,.layout-boxed>.navbar{margin-left:auto;margin-right:auto}.sidebar .sidebar-category .checkbox,.sidebar .sidebar-category .radio{margin-top:0}.sidebar .nav-tabs{border-width:0 0 1px}.page-container{position:relative}.content-wrapper{width:100%}@media (min-width:769px){.sidebar .nav-tabs{border-width:1px}.sidebar .nav-tabs>li>a{border-bottom-color:rgba(255,255,255,.1);background-color:rgba(0,0,0,.2);color:rgba(255,255,255,.6);border-top:0;border-radius:0}.sidebar .nav-tabs>li>a:focus,.sidebar .nav-tabs>li>a:hover{color:#fff;border-bottom-color:rgba(255,255,255,.1)}.sidebar .nav-tabs>.active>a,.sidebar .nav-tabs>.active>a:focus,.sidebar .nav-tabs>.active>a:hover{border-top:0;border-bottom:0;background-color:transparent;border-color:rgba(255,255,255,.1);color:#fff}.sidebar .nav-tabs>.active:first-child>a{border-left-color:transparent!important}.sidebar .nav-tabs>.active:last-child>a{border-right-color:transparent!important}.sidebar .nav-tabs>.open>a{color:#fff}.sidebar .nav-tabs>.open:not(.active)>a{background-color:rgba(0,0,0,.2)}.sidebar-default .nav-tabs>.open>a,.sidebar-default .nav-tabs>li>a:focus,.sidebar-default .nav-tabs>li>a:hover{border-bottom-color:#ddd;color:#333}.sidebar-default .nav-tabs>li>a{background-color:#fafafa;border-bottom-color:#ddd;color:#999}.sidebar-default .nav-tabs>.active>a,.sidebar-default .nav-tabs>.active>a:focus,.sidebar-default .nav-tabs>.active>a:hover{border-color:#ddd;color:#333}.sidebar-default .nav-tabs>.open:not(.active)>a{background-color:#fafafa}.sidebar-default .nav-justified>li:first-child .dropdown-menu:not(.dropdown-menu-right){left:-1px}.sidebar-default .nav-justified>li:last-child .dropdown-menu-right{right:-1px}.page-container{width:100%;display:table;table-layout:fixed}@-moz-document url-prefix(){.page-container{height:1px}}.page-content{display:table-row}.content-wrapper{display:table-cell;vertical-align:top}.layout-boxed .page-container,.layout-boxed>.navbar{width:769px}}.checker,.demo-velocity-box span,.pace-demo{vertical-align:middle}.content{padding:0 20px 60px}.content:after{content:'';display:table;clear:both}.content:first-child{padding-top:20px}body[class*=navbar-bottom] .content{padding-bottom:20px}.layout-boxed{background:url(../images/backgrounds/boxed_bg.png)}.layout-boxed .page-container{background-color:#eeeded;min-width:0}@media (min-width:1025px){.layout-boxed .page-container,.layout-boxed>.navbar{width:1025px}}@media (min-width:1200px){.layout-boxed .page-container,.layout-boxed>.navbar{width:1200px}}@media (-webkit-min-device-pixel-ratio:2),(min-resolution:192dpi){.layout-boxed{background:url(../images/backgrounds/boxed_bg_retina.png)}}.footer{position:absolute;bottom:30px}.footer:not(.navbar-fixed-bottom){z-index:1000}.footer.navbar{left:0;right:0;bottom:0}body[class*=navbar-bottom] .footer:not(.navbar){display:none}.overlay-demo,.spinner,.spinner-reverse{display:inline-block}.footer-boxed{left:0;right:0;padding-left:20px;padding-right:20px}.rotate-45{-webkit-transform:rotate(45deg);-ms-transform:rotate(45deg);-o-transform:rotate(45deg);transform:rotate(45deg)}.rotate-90{-webkit-transform:rotate(90deg);-ms-transform:rotate(90deg);-o-transform:rotate(90deg);transform:rotate(90deg)}.rotate-180{-webkit-transform:rotate(180deg);-ms-transform:rotate(180deg);-o-transform:rotate(180deg);transform:rotate(180deg)}.rotate-45-inverse{-webkit-transform:rotate(-45deg);-ms-transform:rotate(-45deg);-o-transform:rotate(-45deg);transform:rotate(-45deg)}.rotate-90-inverse{-webkit-transform:rotate(-90deg);-ms-transform:rotate(-90deg);-o-transform:rotate(-90deg);transform:rotate(-90deg)}.rotate-180-inverse{-webkit-transform:rotate(-180deg);-ms-transform:rotate(-180deg);-o-transform:rotate(-180deg);transform:rotate(-180deg)}.spinner{-o-animation:rotation 1s linear infinite;animation:rotation 1s linear infinite}.spinner-reverse{-webkit-animation:rotation_reverse 1s linear infinite;-o-animation:rotation_reverse 1s linear infinite;animation:rotation_reverse 1s linear infinite}@-webkit-keyframes rotation{0%{-webkit-transform:rotate(0)}100%{-webkit-transform:rotate(360deg)}}@-moz-keyframes rotation{0%{-moz-transform:rotate(0)}100%{-moz-transform:rotate(360deg)}}@-ms-keyframes rotation{0%{-ms-transform:rotate(0)}100%{-ms-transform:rotate(360deg)}}@-o-keyframes rotation{0%{-o-transform:rotate(0)}100%{-o-transform:rotate(360deg)}}@keyframes rotation{0%{transform:rotate(0)}100%{transform:rotate(360deg)}}@-webkit-keyframes rotation_reverse{0%{-webkit-transform:rotate(0)}100%{-webkit-transform:rotate(-360deg)}}@-moz-keyframes rotation_reverse{0%{-moz-transform:rotate(0)}100%{-moz-transform:rotate(-360deg)}}@-ms-keyframes rotation_reverse{0%{-ms-transform:rotate(0)}100%{-ms-transform:rotate(-360deg)}}@-o-keyframes rotation_reverse{0%{-o-transform:rotate(0)}100%{-o-transform:rotate(-360deg)}}@keyframes rotation_reverse{0%{transform:rotate(0)}100%{transform:rotate(-360deg)}}@-webkit-keyframes bounceIn{0%{opacity:0}100%{opacity:1}}@-webkit-keyframes bounceOut{0%{opacity:1}100%{opacity:0}}.jqueryui-demo-container{font-size:0}.jqueryui-demo-element{width:90px;height:90px;border-radius:100px;background-color:#fafafa;border:2px dashed #ddd;color:#777;font-size:12px;vertical-align:middle;margin:auto;position:relative;z-index:10}.jqueryui-demo-element+.jqueryui-demo-element{margin:20px auto 0}.jqueryui-demo-element>span{position:absolute;top:50%;margin-top:-10px;left:0;right:0}@media (min-width:769px){.jqueryui-demo-element{display:inline-block}.jqueryui-demo-element+.jqueryui-demo-element{margin:0 0 0 20px}}.selectable-demo-list{list-style:none;display:inline-block;margin:0;padding:0;width:200px}.selectable-demo-list>.ui-selectee,.selectable-demo-list>.ui-sortable-handle,.ui-handle-excluded{padding:7px 16px;background-color:#fcfcfc;border:1px solid #ddd;border-radius:2px;cursor:pointer;color:#777;font-size:12px}.selectable-demo-list>.ui-selectee.ui-selecting,.selectable-demo-list>.ui-sortable-handle.ui-selecting{background-color:#29B6F6;border-color:#039BE5;color:#fff}.selectable-demo-list>.ui-selectee.ui-selected,.selectable-demo-list>.ui-sortable-handle.ui-selected{background-color:#03A9F4;border-color:#0288D1;color:#fff}.selectable-demo-list>li+li{margin-top:5px}.selectable-demo-list>.ui-sortable-helper:first-child+li{margin-top:0}.selectable-demo-connected+.selectable-demo-connected{margin-top:20px}@media (min-width:769px){.selectable-demo-connected+.selectable-demo-connected{margin-top:0;margin-left:20px}}.droppable-demo-target{width:110px;height:110px;background-color:#E3F2FD;border-color:#2196F3;color:#1565C0;z-index:9}.droppable-demo-drop{background-color:#E8F5E9;border-color:#4CAF50;color:#2E7D32}.demo-color{height:150px;position:relative;border-top-right-radius:3px;border-top-left-radius:3px}.demo-color>span{position:absolute;bottom:0;left:0;width:100%;text-align:center;padding:6px;background-color:rgba(0,0,0,.2);font-size:12px;color:#fff}.overlay-demo{background-color:#333;border-radius:3px}.overlay-demo-light{background-color:#eeeded}.glyphs>div{padding:8px 16px;cursor:pointer}.glyphs>div>i{margin-right:10px;width:1em;text-align:center}.glyphs>div:hover{background-color:#009688;color:#fff;border-radius:2px}.glyphs>div:hover span{color:#fff}.grid-demo [class*=col-]>div:not(.row){margin-bottom:20px;padding:10px;text-align:center;background-color:#F7F7FC;border:1px solid #ddd;color:#333}.demo-velocity-box{padding:12px 15px;margin-bottom:20px;position:relative;border:1px solid #ccc;text-align:center;background-color:#fcfcfc;border-radius:3px;-webkit-box-shadow:0 0 0 0 #2196F3;box-shadow:0 0 0 0 #2196F3}.blockui-growl,.blockui-message{display:none;background-color:#455A64;color:#fff;border-radius:3px}.demo-velocity-box>span{float:left}.demo-velocity-box .icons-list{float:right;margin-top:2px}.demo-velocity-box .icons-list a{opacity:.8;filter:alpha(opacity=80)}.demo-velocity-box .icons-list a:hover{opacity:1;filter:alpha(opacity=100)}.blockui-growl{text-align:left;padding:15px}.blockui-growl h6{margin-top:2px;margin-bottom:8px}.blockui-message{padding:15px 15px 10px}.blockui-message>i{display:block;margin-bottom:10px}.blockui-animation-container,.multiple-messages-container{display:none}.blockui-animation-container{background-color:#555;padding:10px;line-height:1;border-radius:3px}.val-demo{display:block;margin-top:20px}.val-demo>span{font-weight:500}.pace{-webkit-pointer-events:none;pointer-events:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.bootstrap-switch,.theme_perspective{-ms-user-select:none;-moz-user-select:none}.pace .pace-progress{background:#81C784;position:fixed;z-index:2000;top:0;width:100%;right:100%;height:2px}.pace-inactive{display:none}.pace-demo{display:inline-block;background-color:#37474F;border-radius:3px;margin-top:1px;margin-bottom:1px;padding:20px;position:relative}.pace-demo .pace_progress{display:none}.theme_xbox,.theme_xbox_sm,.theme_xbox_xs{position:relative;width:44px;height:44px}.theme_xbox .pace_activity,.theme_xbox_sm .pace_activity,.theme_xbox_xs .pace_activity{width:44px;height:44px;-webkit-animation:rotation 1.5s ease-in-out infinite;-o-animation:rotation 1.5s ease-in-out infinite;animation:rotation 1.5s ease-in-out infinite}.theme_xbox .pace_activity,.theme_xbox .pace_activity:after,.theme_xbox .pace_activity:before,.theme_xbox_sm .pace_activity,.theme_xbox_sm .pace_activity:after,.theme_xbox_sm .pace_activity:before,.theme_xbox_xs .pace_activity,.theme_xbox_xs .pace_activity:after,.theme_xbox_xs .pace_activity:before{border-radius:50%;border:1px solid transparent;border-top-color:#fff}.theme_xbox .pace_activity:before,.theme_xbox_sm .pace_activity:before,.theme_xbox_xs .pace_activity:before{content:"";position:absolute;top:5px;left:5px;right:5px;bottom:5px;-webkit-animation:rotation 2s ease-in-out infinite;-o-animation:rotation 2s ease-in-out infinite;animation:rotation 2s ease-in-out infinite}.theme_xbox .pace_activity:after,.theme_xbox_sm .pace_activity:after,.theme_xbox_xs .pace_activity:after{content:"";position:absolute;top:12px;left:12px;right:12px;bottom:12px;-webkit-animation:rotation 1s ease-in-out infinite;-o-animation:rotation 1s ease-in-out infinite;animation:rotation 1s ease-in-out infinite}.theme_xbox_with_text span{display:block;margin-top:7px;color:#fff}.theme_xbox_sm .pace_activity,.theme_xbox_sm .pace_activity:after,.theme_xbox_sm .pace_activity:before{border-width:2px}.theme_xbox .pace_activity,.theme_xbox .pace_activity:after,.theme_xbox .pace_activity:before{border-width:3px}.theme_perspective{pointer-events:none;user-select:none;width:30px;height:30px}.theme_perspective .pace_activity{width:20px;height:20px;display:inline-block;margin-top:5px;margin-bottom:5px;background-color:#fff;-webkit-animation:perspective 1.2s infinite ease-in-out;-o-animation:perspective 1.2s infinite ease-in-out;animation:perspective 1.2s infinite ease-in-out}@keyframes perspective{0%{transform:perspective(120px)}50%{transform:perspective(120px) rotateY(180deg)}100%{transform:perspective(120px) rotateY(180deg) rotateX(180deg)}}@-webkit-keyframes perspective{0%{-webkit-transform:perspective(120px)}50%{-webkit-transform:perspective(120px) rotateY(180deg)}100%{-webkit-transform:perspective(120px) rotateY(180deg) rotateX(180deg)}}@-moz-keyframes perspective{0%{-moz-transform:perspective(120px)}50%{-moz-transform:perspective(120px) rotateY(180deg)}100%{-moz-transform:perspective(120px) rotateY(180deg) rotateX(180deg)}}.theme_corners_with_text span,.theme_perspective_with_text span,.theme_radar_with_text span,.theme_squares_with_text span,.theme_tail_with_text span{display:block;position:absolute;left:0;bottom:2px;width:100%;color:#fff}.theme_squares{width:30px;height:30px}.theme_squares .pace_activity:after,.theme_squares .pace_activity:before{position:absolute;content:"";border:2px solid #fff;width:20px;height:20px;margin-left:-10px;margin-top:5px}.theme_corners,.theme_tail,.theme_tail .pace_activity,.theme_tail_circle,.theme_tail_circle .pace_activity{height:30px;width:30px}.theme_squares .pace_activity:before{width:30px;height:30px;margin-left:-15px;margin-top:0;-webkit-animation:rotation_reverse 2s linear infinite;-o-animation:rotation_reverse 2s linear infinite;animation:rotation_reverse 2s linear infinite}.theme_squares .pace_activity:after{-webkit-animation:rotation 2s linear infinite;-o-animation:rotation 2s linear infinite;animation:rotation 2s linear infinite}.theme_tail .pace_activity{border-radius:50%;border:3px solid transparent;border-left-color:#fff;-webkit-animation:rotation 1.1s infinite linear;-o-animation:rotation 1.1s infinite linear;animation:rotation 1.1s infinite linear}.theme_tail_circle .pace_activity{border-radius:50%;border:3px solid rgba(0,0,0,.1);border-left-color:#fff;-webkit-animation:rotation 1.1s infinite linear;-o-animation:rotation 1.1s infinite linear;animation:rotation 1.1s infinite linear}.theme_corners .pace_activity{display:inline-block;width:12px;height:12px;margin-top:9px;margin-bottom:3px;background-color:#fff;border-radius:10px;-webkit-animation:corners 1.5s ease infinite;-o-animation:corners 1.5s ease infinite;animation:corners 1.5s ease infinite}@keyframes corners{0%{transform:rotate(0)}50%{transform:scale(1.5) rotate(180deg);border-radius:0}100%{transform:rotate(360deg)}}@-webkit-keyframes corners{0%{-webkit-transform:rotate(0)}50%{-webkit-transform:scale(2) rotate(180deg);border-radius:0}100%{-webkit-transform:rotate(360deg)}}@-moz-keyframes corners{0%{-moz-transform:rotate(0)}50%{-moz-transform:scale(2) rotate(180deg);border-radius:0}100%{-moz-transform:rotate(360deg)}}.theme_radar{width:30px;height:30px}.theme_radar .pace_activity{display:inline-block;margin-top:3px;margin-bottom:3px;width:24px;height:24px;border-radius:50%;border:2px solid transparent;border-top-color:#fff;border-bottom-color:#fff;-webkit-animation:rotation 1.1s infinite linear;-o-animation:rotation 1.1s infinite linear;animation:rotation 1.1s infinite linear}.theme_bar,.theme_bar_sm,.theme_bar_xs{position:relative;width:200px;height:6px;background-color:rgba(0,0,0,.4);border-radius:100px;-webkit-box-shadow:0 0 5px rgba(255,255,255,.1);box-shadow:0 0 5px rgba(255,255,255,.1)}.theme_bar .pace_progress,.theme_bar_sm .pace_progress,.theme_bar_xs .pace_progress{max-width:198px;display:block;position:absolute;left:1px;top:1px;height:4px;background:#3FCF96;color:#fff;line-height:32px;border-radius:100px}.checker,.checker span{display:inline-block;position:relative}.theme_bar_sm{height:5px}.theme_bar_sm .pace_progress{height:3px}.theme_bar_xs{height:4px}.theme_bar_xs .pace_progress{height:2px}.checker,.checker input,.checker span,.choice,.choice input,.choice span{width:18px;height:18px}.checker{cursor:pointer}.checker span{color:#455A64;border:2px solid #607D8B;text-align:center;border-radius:2px}.checker span:after{content:"\ed6e";font-family:icomoon;font-size:16px;color:inherit;line-height:1;position:absolute;top:-1px;left:-1px;opacity:0;filter:alpha(opacity=0);-webkit-transform:scale(0);-ms-transform:scale(0);-o-transform:scale(0);transform:scale(0);-webkit-transition-duration:.1s;transition-duration:.1s}.checker span.checked{border-color:transparent;-webkit-transition-duration:.1s;transition-duration:.1s}.checker span.checked:after{opacity:1;filter:alpha(opacity=100);-webkit-transform:scale(1);-ms-transform:scale(1);-o-transform:scale(1);transform:scale(1)}.checker input[type=checkbox],.choice input[type=radio]{border:none;background:0 0;display:-moz-inline-box;display:inline-block;margin:0;vertical-align:top;cursor:pointer;position:absolute;top:-2px;left:-2px;z-index:2;opacity:0;filter:alpha(opacity=0)}.bootstrap-switch,.choice,.select2-container,.switchery{vertical-align:middle}.checkbox .checker,.checkbox-inline .checker{position:absolute;top:1px;left:0}.form-horizontal .checkbox .checker,.form-horizontal .checkbox-inline .checker{top:10px}.checkbox-right .checker{left:auto;right:0}.checker.disabled{opacity:.5;filter:alpha(opacity=50)}.checker.disabled,.checker.disabled input[type=checkbox]{cursor:not-allowed}.checkbox-inline:active .checker.disabled span:after,.checkbox>label:active .checker.disabled span:after{opacity:0;filter:alpha(opacity=0)}.checkbox-inline:active .checker.disabled span.checked:after,.checkbox>label:active .checker.disabled span.checked:after{opacity:1;filter:alpha(opacity=100)}.checker[class*=border-] span{color:inherit}.checker[class*=border-] span:not(.checked){border-color:inherit}.dropdown-menu>.active:not(.disabled) .checker span,.dropdown-menu[class*=bg-] .checker span,.navbar-inverse .navbar-form .form-group>.checkbox .checker span,.navbar-inverse .navbar-form .form-group>.checkbox-inline .checker span,.page-header-inverse .form-group>.checkbox .checker span,.page-header-inverse .form-group>.checkbox-inline .checker span,.sidebar:not(.sidebar-default) .checkbox .checker span,.sidebar:not(.sidebar-default) .checkbox-inline .checker span{border-color:#fff;color:#fff}.dropdown-menu>.active:not(.disabled) .checker span.checked,.dropdown-menu[class*=bg-] .checker span.checked,.navbar-inverse .navbar-form .form-group>.checkbox .checker span.checked,.navbar-inverse .navbar-form .form-group>.checkbox-inline .checker span.checked,.page-header-inverse .form-group>.checkbox .checker span.checked,.page-header-inverse .form-group>.checkbox-inline .checker span.checked,.sidebar:not(.sidebar-default) .checkbox .checker span.checked,.sidebar:not(.sidebar-default) .checkbox-inline .checker span.checked{border-color:transparent}.choice{position:relative;display:inline-block;cursor:pointer;border-radius:100%}.choice span{border:2px solid #607D8B;display:-moz-inline-box;display:inline-block;border-radius:100%;text-align:center;position:relative}.choice span:after{content:"";position:absolute;top:3px;left:3px;border:4px solid;border-color:inherit;width:0;height:0;border-radius:100%;opacity:0;filter:alpha(opacity=0);-webkit-transform:scale(0);-ms-transform:scale(0);-o-transform:scale(0);transform:scale(0)}.choice span.checked:after{opacity:1;filter:alpha(opacity=100);-webkit-transform:scale(1);-ms-transform:scale(1);-o-transform:scale(1);transform:scale(1)}.radio .choice,.radio-inline .choice{position:absolute;top:1px;left:0}.form-horizontal .radio .choice,.form-horizontal .radio-inline .choice{top:10px}.radio-right .choice{left:auto;right:0}.choice.active span:after,.radio-inline:active .choice span:after,.radio>label:active .choice span:after{opacity:.75;filter:alpha(opacity=75)}.choice.disabled{opacity:.5;filter:alpha(opacity=50)}.choice.disabled,.choice.disabled input[type=radio]{cursor:not-allowed}.radio-inline:active .choice.disabled span:after,.radio>label:active .choice.disabled span:after{opacity:0;filter:alpha(opacity=0)}.radio-inline:active .choice.disabled span.checked:after,.radio>label:active .choice.disabled span.checked:after{opacity:1;filter:alpha(opacity=100)}.choice[class*=border-] span,.choice[class*=border-] span:after{border-color:inherit}.dropdown-menu>.active .choice span,.dropdown-menu[class*=bg-] .choice span,.navbar-inverse .navbar-form .form-group>.radio .choice span,.navbar-inverse .navbar-form .form-group>.radio-inline .choice span,.page-header-inverse .form-group>.radio .choice span,.page-header-inverse .form-group>.radio-inline .choice span,.sidebar:not(.sidebar-default) .radio .choice span,.sidebar:not(.sidebar-default) .radio-inline .choice span{border-color:#fff}.uploader{position:relative;display:inline-block;max-width:100%}.uploader:after{content:'';display:table;clear:both}.uploader .filename{color:#999;padding:8px 16px;cursor:pointer;display:block;border:1px solid transparent;float:right;max-width:100%;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.uploader .action{cursor:pointer;margin:0;float:left}.uploader .action.btn{margin-top:0}.uploader:focus .action,.uploader:hover .action{-webkit-box-shadow:0 0 0 100px rgba(0,0,0,.05) inset;box-shadow:0 0 0 100px rgba(0,0,0,.05) inset}.uploader:active .action{-webkit-box-shadow:0 0 0 100px rgba(0,0,0,.1) inset;box-shadow:0 0 0 100px rgba(0,0,0,.1) inset}.uploader input[type=file]{width:100%;margin-top:0;position:absolute;top:0;right:0;bottom:0;height:38px;border:0;cursor:pointer;z-index:10;opacity:0;filter:alpha(opacity=0)}.uploader.disabled input[type=file]{cursor:not-allowed}.uploader.disabled .action{opacity:.6;filter:alpha(opacity=60)}.sidebar .form-group>.uploader{display:block}.sidebar .form-group>.uploader .filename{float:none;padding-left:0;padding-right:0}.sidebar .form-group>.uploader .action{display:block}.navbar-inverse .navbar-form .form-group>.uploader .filename,.page-header-inverse .form-group>.uploader .filename{color:rgba(255,255,255,.9)}.uploader-lg .action,.uploader-lg .filename,.uploader-lg input[type=file]{height:40px}.uploader-lg .filename{padding:9px 18px;font-size:14px;line-height:1.4285715}.uploader-sm .action,.uploader-sm .filename,.uploader-sm input[type=file]{height:36px}.uploader-sm .filename{padding:7px 14px;font-size:12px;line-height:1.6666667}.uploader-xs .action,.uploader-xs .filename,.uploader-xs input[type=file]{height:34px}.switchery,.switchery>small{background-color:#fff;height:22px}.uploader-xs .filename{padding:6px 12px;font-size:12px;line-height:1.6666667}.switchery{border:1px solid #ddd;border-radius:100px;cursor:pointer;display:inline-block;width:44px;position:relative;-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box}.sp-container,.sweet-alert .sa-icon{-webkit-box-sizing:content-box;-moz-box-sizing:content-box}.checkbox-switchery .switchery{position:absolute;left:0;margin-top:-2px}.switchery>small{border-radius:100px;width:22px;position:absolute;top:0;-webkit-box-shadow:0 1px 3px rgba(0,0,0,.4);box-shadow:0 1px 3px rgba(0,0,0,.4)}.checkbox.checkbox-switchery{margin-bottom:14px;padding-left:0}.checkbox.checkbox-switchery.disabled .switchery{cursor:not-allowed}.checkbox-inline[class*=switchery-],.checkbox[class*=switchery-]{padding-left:0;padding-right:0}.switchery-lg.checkbox-switchery{margin-bottom:18px}.switchery-lg.checkbox-switchery .switchery{margin-top:-4px}label.switchery-lg{margin-bottom:0}.switchery-lg .switchery{height:26px;width:52px}.switchery-lg .switchery>small{height:26px;width:26px}.switchery-sm.checkbox-switchery{margin-bottom:10px}.switchery-sm.checkbox-switchery .switchery{margin-top:0}label.switchery-sm{margin-bottom:0}.switchery-sm .switchery{height:18px;width:36px}.switchery-sm .switchery>small{height:18px;width:18px}.switchery-xs.checkbox-switchery{margin-bottom:6px}.checkbox-switchery.checkbox-inline,label.switchery-xs{margin-bottom:0}.switchery-xs.checkbox-switchery .switchery{margin-top:2px}.switchery-xs .switchery{height:14px;width:28px}.switchery-xs .switchery>small{height:14px;width:14px}.checkbox-switchery label,label.checkbox-switchery{position:relative;padding-left:56px;margin:0;cursor:pointer}.checkbox-switchery.switchery-lg label,label.checkbox-switchery.switchery-lg{padding-left:64px}.checkbox-switchery.switchery-sm label,label.checkbox-switchery.switchery-sm{padding-left:48px}.checkbox-switchery.switchery-xs label,label.checkbox-switchery.switchery-xs{padding-left:40px}.checkbox-switchery.checkbox-right .switchery{left:auto;right:0}.checkbox-switchery.checkbox-right label,label.checkbox-switchery.checkbox-right{padding-left:0;padding-right:56px}.checkbox-switchery.checkbox-right.switchery-lg label,label.checkbox-switchery.checkbox-right.switchery-lg{padding-left:0;padding-right:64px}.checkbox-switchery.checkbox-right.switchery-sm label,label.checkbox-switchery.checkbox-right.switchery-sm{padding-left:0;padding-right:48px}.checkbox-switchery.checkbox-right.switchery-xs label,label.checkbox-switchery.checkbox-right.switchery-xs{padding-left:0;padding-right:40px}.switchery-double .switchery{position:relative;margin:-7px 8px -5px}.switchery-double.checkbox-switchery label,label.switchery-double.checkbox-switchery{padding:0}.switchery-double.switchery-lg .switchery{margin-top:-8px;margin-bottom:-6px}.switchery-double.switchery-sm .switchery{margin-top:-6px;margin-bottom:-4px}.switchery-double.switchery-xs .switchery{margin-top:-5px;margin-bottom:-3px}.bootstrap-switch{display:inline-block;cursor:pointer;margin-top:-2px;margin-right:8px;border-radius:3px;border:1px solid transparent;position:relative;text-align:left;overflow:hidden;-webkit-user-select:none;user-select:none;-webkit-transition:all ease-in-out 50ms;-o-transition:all ease-in-out 50ms;transition:all ease-in-out 50ms}.bootstrap-switch .bootstrap-switch-container{display:inline-block;top:0;border-radius:3px;-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}.bootstrap-switch.bootstrap-switch-focused{outline:0}.bootstrap-switch .bootstrap-switch-handle-off,.bootstrap-switch .bootstrap-switch-handle-on,.bootstrap-switch .bootstrap-switch-label{cursor:pointer;display:inline-block!important;height:100%;padding:8px 16px}.bootstrap-switch input[type=checkbox],.bootstrap-switch input[type=radio]{position:absolute!important;top:0;left:0;z-index:-1;opacity:0;filter:alpha(opacity=0)}.bootstrap-switch input[type=checkbox].form-control,.bootstrap-switch input[type=radio].form-control{height:auto}.bootstrap-switch.bootstrap-switch-disabled,.bootstrap-switch.bootstrap-switch-indeterminate,.bootstrap-switch.bootstrap-switch-readonly{cursor:default!important}.bootstrap-switch.bootstrap-switch-disabled .bootstrap-switch-handle-off,.bootstrap-switch.bootstrap-switch-disabled .bootstrap-switch-handle-on,.bootstrap-switch.bootstrap-switch-disabled .bootstrap-switch-label,.bootstrap-switch.bootstrap-switch-indeterminate .bootstrap-switch-handle-off,.bootstrap-switch.bootstrap-switch-indeterminate .bootstrap-switch-handle-on,.bootstrap-switch.bootstrap-switch-indeterminate .bootstrap-switch-label,.bootstrap-switch.bootstrap-switch-readonly .bootstrap-switch-handle-off,.bootstrap-switch.bootstrap-switch-readonly .bootstrap-switch-handle-on,.bootstrap-switch.bootstrap-switch-readonly .bootstrap-switch-label{cursor:default!important;opacity:.5;filter:alpha(opacity=50)}.bootstrap-switch.bootstrap-switch-animate .bootstrap-switch-container{-webkit-transition:margin-left .2s;-o-transition:margin-left .2s;transition:margin-left .2s}.bootstrap-switch.bootstrap-switch-inverse .bootstrap-switch-handle-on{border-radius:0 2px 2px 0}.bootstrap-switch.bootstrap-switch-inverse .bootstrap-switch-handle-off{border-radius:2px 0 0 2px}.bootstrap-switch-handle-on,.bootstrap-switch.bootstrap-switch-inverse.bootstrap-switch-on .bootstrap-switch-label,.bootstrap-switch.bootstrap-switch-off .bootstrap-switch-label{border-bottom-left-radius:2px;border-top-left-radius:2px}.bootstrap-switch-handle-off,.bootstrap-switch.bootstrap-switch-inverse.bootstrap-switch-off .bootstrap-switch-label,.bootstrap-switch.bootstrap-switch-on .bootstrap-switch-label{border-bottom-right-radius:2px;border-top-right-radius:2px}.bootstrap-switch-handle-off,.bootstrap-switch-handle-on{text-align:center;z-index:1}.bootstrap-switch-handle-off.bootstrap-switch-default,.bootstrap-switch-handle-on.bootstrap-switch-default{color:#333;background-color:#eee}.bootstrap-switch-handle-off.bootstrap-switch-primary,.bootstrap-switch-handle-on.bootstrap-switch-primary{color:#fff;background-color:#2196F3}.bootstrap-switch-handle-off.bootstrap-switch-danger,.bootstrap-switch-handle-on.bootstrap-switch-danger{color:#fff;background-color:#F44336}.bootstrap-switch-handle-off.bootstrap-switch-success,.bootstrap-switch-handle-on.bootstrap-switch-success{color:#fff;background-color:#4CAF50}.bootstrap-switch-handle-off.bootstrap-switch-warning,.bootstrap-switch-handle-on.bootstrap-switch-warning{color:#fff;background-color:#FF5722}.bootstrap-switch-handle-off.bootstrap-switch-info,.bootstrap-switch-handle-on.bootstrap-switch-info{color:#fff;background-color:#00BCD4}.bootstrap-switch-label{text-align:center;z-index:100;color:#333;background-color:#fff;position:relative;-webkit-box-shadow:0 0 0 1px rgba(0,0,0,.1) inset;box-shadow:0 0 0 1px rgba(0,0,0,.1) inset}.bootstrap-switch-label:hover{background-color:#fcfcfc}.bootstrap-switch-label:active{background-color:#fafafa}.bootstrap-switch-label:after{content:'';position:absolute;top:50%;left:50%;width:3px;height:10px;margin-top:-5px;margin-left:-1px;display:inline-block;border-left:1px solid #ddd;border-right:1px solid #ddd}.bootstrap-switch-large .bootstrap-switch-handle-off,.bootstrap-switch-large .bootstrap-switch-handle-on,.bootstrap-switch-large .bootstrap-switch-label{padding:9px 18px}.bootstrap-switch-mini .bootstrap-switch-handle-off,.bootstrap-switch-mini .bootstrap-switch-handle-on,.bootstrap-switch-mini .bootstrap-switch-label{padding:6px 12px}.bootstrap-switch-small .bootstrap-switch-handle-off,.bootstrap-switch-small .bootstrap-switch-handle-on,.bootstrap-switch-small .bootstrap-switch-label{padding:7px 14px}.checkbox-switch>label,label.checkbox-switch.checkbox-inline{padding:0}.checkbox-switch.checkbox-right .bootstrap-switch{margin-right:0;margin-left:8px}.select2-container{outline:0;position:relative;display:inline-block;text-align:left}.select2-selection--single{cursor:pointer;outline:0;display:block;height:38px;padding:8px 0;line-height:1.5384616;position:relative;border:1px solid transparent;white-space:nowrap;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.select2-selection--single:not([class*=bg-]){border-top-color:transparent;border-left-width:0;border-right-width:0}.select2-selection--single:not([class*=bg-]):not([class*=border-]){border-bottom-color:#ddd}.select2-container--focus .select2-selection--single:not([class*=bg-]):not([class*=border-]),.select2-container--open .select2-selection--single:not([class*=bg-]):not([class*=border-]){border-bottom-color:#009688;-webkit-box-shadow:0 1px 0 #009688;box-shadow:0 1px 0 #009688}.select2-container--disabled .select2-selection--single:not([class*=bg-]){color:#999;border-bottom-style:dashed}.select2-container--disabled .select2-selection--single:not([class*=bg-]):not([class*=border-]){border-bottom-color:#ddd;-webkit-box-shadow:none;box-shadow:none}.select2-selection--single .select2-selection__rendered{display:block;padding-right:16px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.select2-selection--single .select2-selection__rendered>i{margin-right:16px}.select2-selection--single .select2-selection__clear{position:relative;cursor:pointer;float:right;font-size:0;line-height:1;margin-top:2px;margin-left:5px;opacity:.75;filter:alpha(opacity=75)}.select2-selection--single .select2-selection__clear:hover{opacity:1;filter:alpha(opacity=100)}.select2-selection--single .select2-selection__clear:after{content:'\ed6b';font-family:icomoon;display:inline-block;font-size:16px}.select2-selection--single .select2-selection__placeholder{color:#999}.select2-selection--single .select2-selection__arrow:after{content:'\e9c5';font-family:Icomoon;display:inline-block;position:absolute;top:50%;right:0;margin-top:-8px;font-size:16px;line-height:1;color:inherit;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.bs-searchbox:after,.select2-search--dropdown:after,.select2-selection--multiple .select2-selection__choice .select2-selection__choice__remove:after,.selectboxit-default-arrow:after,.validation-error-label:before,.validation-valid-label:before{font-family:icomoon;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.select2-container--disabled .select2-selection--single .select2-selection__clear,.select2-selection--single .select2-selection__arrow b{display:none}.select2-container--open .select2-selection--single .select2-selection__arrow:after{content:'\e9c6'}.select2-container--disabled .select2-selection--single{cursor:not-allowed}.navbar-inverse .navbar-form .select2-selection--single:not([class*=bg-]):not([class*=border-]),.page-header-inverse .select2-selection--single:not([class*=bg-]):not([class*=border-]){border-bottom-color:rgba(255,255,255,.3)}.navbar-inverse .navbar-form .select2-selection--single .select2-selection__placeholder,.page-header-inverse .select2-selection--single .select2-selection__placeholder{color:#fff}.navbar-inverse .navbar-form .select2-container--focus .select2-selection--single:not([class*=bg-]):not([class*=border-]),.navbar-inverse .navbar-form .select2-container--open .select2-selection--single:not([class*=bg-]):not([class*=border-]),.page-header-inverse .select2-container--focus .select2-selection--single:not([class*=bg-]):not([class*=border-]),.page-header-inverse .select2-container--open .select2-selection--single:not([class*=bg-]):not([class*=border-]){border-bottom-color:#fff;-webkit-box-shadow:0 1px 0 #fff;box-shadow:0 1px 0 #fff}.select2-selection--multiple{display:block;border:1px solid transparent;cursor:text;outline:0;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.select2-selection--multiple:not([class*=bg-]):not([class*=border-]){border-color:transparent}.select2-selection--multiple:not([class*=bg-])[class*=border-]{border-top-color:transparent;border-left-color:transparent;border-right-color:transparent}.select2-selection--multiple:not([class*=bg-])[class*=border-] .select2-selection__rendered{padding-bottom:8px}.select2-selection--multiple:not([class*=bg-]) .select2-selection__rendered{padding:0}.select2-selection--multiple:not([class*=bg-]) .select2-selection__choice{background-color:#eee;color:#333;margin-top:3px;margin-bottom:3px;border-radius:100px}.select2-container--disabled .select2-selection--multiple:not([class*=bg-]) .select2-selection__choice:focus,.select2-container--disabled .select2-selection--multiple:not([class*=bg-]) .select2-selection__choice:hover,.select2-selection--multiple:not([class*=bg-]) .select2-selection__choice:focus,.select2-selection--multiple:not([class*=bg-]) .select2-selection__choice:hover{background-color:#eee;color:#333}.select2-selection--multiple:not([class*=bg-]) .select2-selection__choice:focus,.select2-selection--multiple:not([class*=bg-]) .select2-selection__choice:hover{background-color:#03A9F4;color:#fff}.select2-selection--multiple:not([class*=bg-]) .select2-search--inline .select2-search__field{margin-top:3px;margin-bottom:3px}.select2-selection--multiple:not([class*=bg-]) .select2-search--inline:first-child .select2-search__field{margin-left:0}.select2-selection--multiple .select2-selection__rendered{overflow:hidden;list-style:none;margin:0;padding:0 6px 6px;width:100%}.select2-container--disabled .select2-selection--multiple[class*=bg-] .select2-selection__choice{opacity:.9;filter:alpha(opacity=90)}.select2-container--disabled .select2-selection--multiple,.select2-container--disabled .select2-selection--multiple .select2-search__field,.select2-container--disabled .select2-selection--multiple .select2-selection__choice{cursor:not-allowed}.select2-selection--multiple .select2-selection__choice{background-color:#eee;color:#fff;border-radius:3px;cursor:default;float:left;margin-right:6px;margin-top:6px;padding:8px 16px;overflow:hidden;text-overflow:ellipsis;max-width:100%}.select2-selection--multiple .select2-selection__choice>i{margin-right:10px}.select2-selection--multiple .select2-selection__choice .select2-selection__choice__remove{cursor:pointer;float:right;font-size:0;margin-top:4.5px;line-height:1;margin-left:8px;opacity:.75;filter:alpha(opacity=75)}.select2-selection--multiple .select2-selection__choice .select2-selection__choice__remove:after{content:'\ed6a';display:block;font-size:11px;line-height:1}.select2-selection--multiple .select2-selection__choice .select2-selection__choice__remove:hover{opacity:1;filter:alpha(opacity=100)}.select2-container--disabled .select2-selection--multiple .select2-selection__choice,.select2-container--disabled .select2-selection--multiple[class*=bg-],.select2-container--disabled .select2-selection--single[class*=bg-]{opacity:.6;filter:alpha(opacity=60)}.select2-container--disabled .select2-selection--multiple .select2-selection__choice .select2-selection__choice__remove{display:none}.select2-selection--multiple .select2-search--inline{float:left}.select2-selection--multiple .select2-search--inline .select2-search__field{font-size:100%;margin-top:6px;padding:8px 0;background-color:transparent;border:0;outline:0;margin-left:6px;-webkit-appearance:textfield}.select2-selection--multiple .select2-search--inline .select2-search__field::-webkit-search-cancel-button{-webkit-appearance:none}.select2-dropdown{background-color:#fff;color:#333;border-radius:3px;display:block;position:absolute;left:-100000px;width:100%;z-index:9999;-webkit-box-shadow:0 3px 6px rgba(0,0,0,.16),0 3px 6px rgba(0,0,0,.23);box-shadow:0 3px 6px rgba(0,0,0,.16),0 3px 6px rgba(0,0,0,.23)}.select2-container--open .select2-dropdown--below,.select2-container--open.select2-container--above .select2-selection--multiple,.select2-container--open.select2-container--above .select2-selection--single{border-top-left-radius:0;border-top-right-radius:0}.select2-results{display:block}.select2-results__options{list-style:none;margin:0;padding:0}.select2-results>.select2-results__options{padding-bottom:8px;max-height:250px;overflow-y:auto}.select2-results:first-child>.select2-results__options,.select2-search--hide+.select2-results>.select2-results__options{padding-top:8px}.select2-results__option{padding:8px 16px;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.picker,.selectboxit-container *{-webkit-user-select:none;-moz-user-select:none}.select2-results__option+.select2-results__option{margin-top:1px}.select2-results__option i{margin-right:16px}.select2-results__option i.icon-undefined{display:none}.select2-results__option[role=group]{padding:0}.select2-results__option.select2-results__option--highlighted{background-color:#f5f5f5}.select2-results__option[aria-disabled=true]{color:#999;cursor:not-allowed}.select2-dropdown[class*=bg-] .select2-results__option[aria-disabled=true]{color:rgba(255,255,255,.6)}.select2-results__option[aria-selected=true]{background-color:#26A69A;color:#fff}.select2-results__options--nested>.select2-results__option{padding-left:32px;padding-right:32px}.select2-results__group{display:block;padding:8px 16px;font-size:11px;line-height:1.82;text-transform:uppercase;cursor:default;margin-top:8px;margin-bottom:8px}.select2-results__option:first-child>.select2-results__group{margin-top:0}.select2-results__message{color:#999;cursor:default}.select2-dropdown[class*=bg-] .select2-results__message{color:rgba(255,255,255,.75)}.select2-results__option.loading-results{padding-top:0}.select2-results__option.loading-results+.select2-results__option{margin-top:8px}.select2-results__option--load-more{text-align:center;margin-top:8px;cursor:default}.select2-container--open .select2-dropdown{left:0}.select2-container--open .select2-dropdown--above{border-bottom-width:0;border-bottom-left-radius:0;border-bottom-right-radius:0}.select2-container--open .select2-dropdown--above[class*=bg-]{border-bottom:1px solid rgba(255,255,255,.2)}.select2-container--open .select2-dropdown--above:not([class*=bg-]){top:-3px;border-bottom-right-radius:3px;border-bottom-left-radius:3px}.select2-container--open .select2-dropdown--below{border-top-width:0}.select2-container--open .select2-dropdown--below[class*=bg-]{border-top:1px solid rgba(255,255,255,.2)}.select2-container--open .select2-dropdown--below:not([class*=bg-]){top:3px;border-top-right-radius:3px;border-top-left-radius:3px}.select2-container--open.select2-container--below .select2-selection--multiple,.select2-container--open.select2-container--below .select2-selection--single{border-bottom-right-radius:0;border-bottom-left-radius:0}.select2-search--dropdown{display:block;position:relative;padding:16px 16px 16px 48px}.select2-search--dropdown:after{content:'\e98e';position:absolute;top:50%;left:16px;color:inherit;display:block;font-size:14px;margin-top:-7px;line-height:1}.select2-search--dropdown+.select2-results .select2-results__message:first-child{padding-top:0}.select2-search--dropdown .select2-search__field{background-color:transparent;padding:8px 0;border-radius:3px;border:1px solid #ddd;border-color:transparent transparent #ddd;outline:0;width:100%}.select2-search--dropdown .select2-search__field::-webkit-search-cancel-button{-webkit-appearance:none}.select2-search--dropdown.select2-search--hide{display:none}.select-lg.select2-selection--single{height:40px;padding:9px 0;font-size:14px}.select-lg.select2-selection--single .select2-selection__rendered{padding-right:40px}.select-lg.select2-selection--multiple .select2-selection__choice{padding:9px 18px;font-size:14px}.select-lg.select2-selection--multiple .select2-search--inline .select2-search__field{padding:9px 0;font-size:14px}.select-sm.select2-selection--single{height:36px;padding:7px 0;font-size:12px;line-height:1.6666667}.select-sm.select2-selection--single .select2-selection__rendered{padding-right:32px}.select-sm.select2-selection--multiple .select2-selection__choice{padding:7px 14px;font-size:12px;line-height:1.6666667}.select-sm.select2-selection--multiple .select2-search--inline .select2-search__field{padding:7px 0}.select-xs.select2-selection--single{height:34px;padding:6px 0;font-size:12px;line-height:1.6666667}.select-xs.select2-selection--single .select2-selection__rendered{padding-right:28px}.select-xs.select2-selection--multiple .select2-selection__choice{padding:6px 12px;font-size:12px;line-height:1.6666667}.select-xs.select2-selection--multiple .select2-search--inline .select2-search__field{padding:6px 0;font-size:12px;line-height:1.6666667}.select2-selection--multiple[class*=bg-],.select2-selection--single[class*=bg-]{border-radius:3px}.select2-selection--single[class*=bg-] .select2-selection__placeholder{color:#fff}.select2-selection--single[class*=bg-] .select2-selection__rendered{padding-left:16px;padding-right:40px}.select2-container--disabled .select2-selection--single[class*=bg-] .select2-selection__rendered{color:rgba(255,255,255,.75)}.select2-selection--single[class*=bg-] .select2-selection__arrow:after{right:16px}.select2-selection--multiple[class*=bg-] .select2-selection__choice{background-color:rgba(0,0,0,.25)}.select2-selection--multiple[class*=bg-] .select2-search--inline .select2-search__field::-moz-placeholder{color:#fff;opacity:1}.select2-selection--multiple[class*=bg-] .select2-search--inline .select2-search__field:-ms-input-placeholder{color:#fff}.select2-selection--multiple[class*=bg-] .select2-search--inline .select2-search__field::-webkit-input-placeholder{color:#fff}.select2-dropdown[class*=bg-] .select2-search--dropdown .select2-search__field{background-color:transparent;border-bottom-color:rgba(255,255,255,.2);color:#fff}.select2-dropdown[class*=bg-] .select2-results__option[aria-selected=true]{background-color:rgba(0,0,0,.2)}.select2-dropdown[class*=bg-] .select2-results__option--highlighted{background-color:rgba(0,0,0,.1)}.select2-close-mask{border:0;margin:0;padding:0;display:block;position:fixed;left:0;top:0;min-height:100%;min-width:100%;height:auto;width:auto;z-index:99;background-color:#fff;opacity:0;filter:alpha(opacity=0)}.select2-hidden-accessible{border:0!important;clip:rect(0 0 0 0)!important;height:1px!important;margin:-1px!important;overflow:hidden!important;padding:0!important;position:fixed!important;width:1px!important}.select2-result-repository{padding-top:8px;padding-bottom:8px}.select2-result-repository__avatar{float:left;width:60px;margin-right:15px}.select2-result-repository__avatar img{width:100%;height:auto;border-radius:100px}.select2-result-repository__meta{margin-left:70px}.select2-result-repository__title{font-weight:500;word-wrap:break-word;margin-bottom:2px}.select2-result-repository__forks,.select2-result-repository__stargazers,.select2-result-repository__watchers{display:inline-block;font-size:12px}.select2-result-repository__description{font-size:12px}.select2-result-repository__forks,.select2-result-repository__stargazers{margin-right:15px}.multiselect{width:100%;min-width:100%;text-align:left;padding-right:32px;text-overflow:ellipsis;overflow:hidden}.multiselect.btn-default{border-width:1px 0;padding:8px 24px 8px 0;border-radius:0;text-transform:none;font-weight:400}.btn-group.open>.multiselect.btn-default.dropdown-toggle,.multiselect.btn-default,.multiselect.btn-default:active,.multiselect.btn-default:focus,.multiselect.btn-default:hover{border-color:transparent transparent #ddd;background-color:transparent;-webkit-box-shadow:none;box-shadow:none}.btn-group.open>.multiselect.btn-default.dropdown-toggle,.multiselect.btn-default:focus{border-bottom-color:#009688;-webkit-box-shadow:0 1px 0 #009688;box-shadow:0 1px 0 #009688}.multiselect.btn-default.disabled{border-bottom-style:dashed}.multiselect.btn-default .caret{right:0}.multiselect .caret{position:absolute;top:50%;right:16px;margin-top:-8px;width:16px;text-align:right}.multiselect.btn-lg{padding-right:36px}.multiselect.btn-lg.btn-default{padding-right:27px}.multiselect.btn-sm{padding-right:28px}.multiselect.btn-sm.btn-default{padding-right:21px}.multiselect.btn-xs{padding-right:24px}.multiselect.btn-xs.btn-default{padding-right:18px}.navbar-inverse .navbar-form .multiselect.btn-default,.page-header-inverse .form-group .multiselect.btn-default{border-bottom-color:rgba(255,255,255,.3);color:#fff}.navbar-inverse .navbar-form .btn-group.open>.multiselect.btn-default,.navbar-inverse .navbar-form .multiselect.btn-default:focus,.page-header-inverse .form-group .btn-group.open>.multiselect.btn-default,.page-header-inverse .form-group .multiselect.btn-default:focus{color:#fff;border-bottom-color:#fff;-webkit-box-shadow:0 1px 0 #fff;box-shadow:0 1px 0 #fff}.multiselect-container{min-width:180px;max-height:250px;overflow-y:auto}.multiselect-container>li,.multiselect-container>li>a{padding:0}.multiselect-container>li>a>label{display:block!important;margin:0;height:100%;cursor:pointer;padding:9px 16px 9px 44px}.navbar-form .multiselect-container>li>a>label{display:block}.multiselect-container>li>a .checker,.multiselect-container>li>a .choice{top:50%;margin-top:-9px;left:16px}.multiselect-container>li>a.multiselect-all label{font-weight:500}.multiselect-container>li.disabled>a{background-color:transparent}.multiselect-container>li.disabled>a>label{cursor:not-allowed}.multiselect-container>li.multiselect-group.active>label,.multiselect-container>li.multiselect-group>label{margin:16px 0 0;padding:9px 15px;font-size:11px;line-height:1.82;color:#999;text-transform:uppercase;background-color:transparent;cursor:default}.multiselect-container>li.multiselect-group.disabled{color:#999}.multiselect-container>li.multiselect-group:first-child.active>label,.multiselect-container>li.multiselect-group:first-child>label{margin-top:8px}.multiselect-container>li.multiselect-group.multiselect-group-clickable>label{cursor:pointer}.multiselect-container>li.multiselect-group.disabled label,.multiselect-container>li.multiselect-group.disabled:focus label,.multiselect-container>li.multiselect-group.disabled:hover label{background-color:transparent;cursor:not-allowed}.multi-select-full>.btn-group{width:100%}.multi-select-full>.btn-group .multiselect-container{width:inherit}.multi-select-full+.input-group-btn{padding-left:16px}.multi-select-fixed>.btn-group>.btn{width:250px}.multi-select-auto>.btn-group>.btn{width:auto}li.multiselect-filter{position:relative;padding:8px 16px 8px 44px;margin-bottom:8px}li.multiselect-filter i{font-size:14px;position:absolute;left:16px;top:50%;margin-top:-7px}.btn-group-multiselect{width:100%}.btn-group-multiselect .btn{float:none}.btn-group-multiselect .multiselect{min-width:0}.selectboxit-container{position:relative;display:inline-block;vertical-align:middle;width:100%}.selectboxit-container *{outline:0;white-space:nowrap;-ms-user-select:none;user-select:none}.selectboxit-container .selectboxit{width:100%;cursor:pointer;overflow:hidden;text-overflow:ellipsis;position:relative}.selectboxit-container .selectboxit:focus{outline:0}.selectboxit-container .selectboxit-options a,.selectboxit-container span{display:block}.selectboxit-container .selectboxit-options{max-height:250px;width:100%;padding:8px 0;overflow-x:hidden;overflow-y:auto;z-index:999;text-align:left}.selectboxit-options .selectboxit-disabled,.selectboxit-options .selectboxit-disabled:focus,.selectboxit-options .selectboxit-disabled:hover,.selectboxit.selectboxit-disabled,.selectboxit.selectboxit-disabled:focus,.selectboxit.selectboxit-disabled:hover{cursor:not-allowed;-webkit-box-shadow:none;box-shadow:none;opacity:.65;filter:alpha(opacity=65)}.selectboxit.selectboxit-disabled,.selectboxit.selectboxit-disabled:focus{border-bottom-style:dashed;border-bottom-color:#ddd;-webkit-box-shadow:none;box-shadow:none}.selectboxit-rendering{display:inline-block!important;visibility:visible!important;position:absolute!important;top:-9999px!important;left:-9999px!important}.selectboxit-list{background-color:#fff;margin:2px 0 0;width:100%;min-width:200px;list-style:none;position:absolute;cursor:pointer;display:none;border-radius:3px;-webkit-box-shadow:0 3px 6px rgba(0,0,0,.16),0 3px 6px rgba(0,0,0,.23);box-shadow:0 3px 6px rgba(0,0,0,.16),0 3px 6px rgba(0,0,0,.23)}.selectboxit-optgroup-header,.selectboxit-option{margin:0;list-style-type:none}.selectboxit-list .selectboxit-option-anchor{color:#333}.selectboxit-list>.selectboxit-focus>.selectboxit-option-anchor{display:block;background-color:#f5f5f5;color:#333}.selectboxit-list>.selectboxit-selected>.selectboxit-option-anchor{background-color:#26A69A;color:#fff}.selectboxit-list>.selectboxit-disabled>.selectboxit-option-anchor{color:#999;cursor:not-allowed}.selectbox-container[class*=border-]>.selectboxit-list{border-color:inherit}.selectbox-container[class*=bg-]>.selectboxit-list{background-color:inherit;border-color:inherit}.selectbox-container[class*=bg-]>.selectboxit-list .selectboxit-option-anchor{color:#fff}.selectbox-container[class*=bg-]>.selectboxit-list>.selectboxit-focus .selectboxit-option-anchor{background-color:rgba(0,0,0,.1)}.selectboxit-btn{background-color:transparent;border:1px solid transparent;border-bottom-color:#ddd;color:#333;height:38px;padding:8px 24px 8px 0}.selectboxit-btn.selectboxit-open,.selectboxit-btn:focus{border-bottom-color:#009688;-webkit-box-shadow:0 1px 0 #009688;box-shadow:0 1px 0 #009688}.selectboxit-btn .selectboxit-arrow-container{right:0}.input-group .selectboxit-container+.input-group-addon,.input-group .selectboxit-container+.input-group-btn{padding-left:16px}.input-group .selectboxit-container>.selectboxit-btn{border-radius:0}.input-group .selectboxit-container:last-child>.selectboxit-btn{border-bottom-right-radius:3px;border-top-right-radius:3px}.input-group>select:first-child+.selectboxit-container>.selectboxit-btn{border-bottom-left-radius:3px;border-top-left-radius:3px}.selectboxit-text{display:inline-block;overflow:hidden;text-overflow:ellipsis;float:left}.selectboxit-default-arrow{position:relative;font-style:normal}.selectboxit-default-arrow:after{content:'\e9c5';display:block;font-size:16px;line-height:1}.selectboxit-open .selectboxit-default-arrow:after{content:'\e9c6'}.selectboxit-option .selectboxit-option-anchor{padding:8px 16px}.selectboxit-optgroup-header{padding:8px 16px;font-weight:700;color:#333;font-size:11px;line-height:1.82;text-transform:uppercase}.selectboxit-optgroup-header:hover{cursor:default}.bootstrap-select.btn-group .dropdown-menu>li.disabled a,.bootstrap-select.btn-group>.disabled{cursor:not-allowed}.selectboxit-optgroup-option .selectboxit-option-anchor{padding-left:32px;padding-right:32px}.selectboxit-arrow-container{position:absolute;top:50%;font-size:16px;right:16px;margin-top:-8px;line-height:1}.selectboxit-arrow-container .selectboxit-arrow[class*=icon-]{top:0}.selectboxit-arrow-container .caret:after{text-align:right}.selectboxit-option-icon-container{float:left}.selectboxit-option-icon-container>[class*=icon-]{margin-right:16px;width:auto}.selectboxit-option-icon-container .selectboxit-option-icon-url{height:20px;width:20px;background-size:20px 20px;border-radius:100px;background-repeat:no-repeat;background-position:center;display:block}.selectboxit-option-first{border-top-right-radius:2px;border-top-left-radius:2px}.selectboxit-optgroup-header+.selectboxit-option-first{border-top-right-radius:0;border-top-left-radius:0}.selectboxit-option-last{border-bottom-right-radius:2px;border-bottom-left-radius:2px}.selectbox-fixed+.selectboxit-container,.selectbox-fixed+.selectboxit-options{width:250px}.selectbox-auto+.selectboxit-container,.selectbox-auto+.selectboxit-options{width:auto}.bootstrap-select,.bootstrap-select.form-control:not([class*=col-]){width:100%}.selectbox-lg+.selectboxit-container .selectboxit-btn{padding:9px 27px 9px 0;height:40px;font-size:14px}.selectbox-sm+.selectboxit-container .selectboxit-btn{padding:7px 21px 7px 0;height:36px}.selectbox-xs+.selectboxit-container .selectboxit-btn{padding:6px 18px 6px 0;height:34px;font-size:12px;line-height:1.6666667}.bootstrap-select>.btn{width:100%;padding-right:43px}.bootstrap-select .btn-default{padding:8px 24px 8px 0;background-color:transparent;border:1px solid transparent;border-width:1px 0;font-weight:400;text-transform:none;border-bottom-color:#ddd;border-radius:0;-webkit-box-shadow:none;box-shadow:none}.bootstrap-select .btn-default.active,.bootstrap-select .btn-default.focus,.bootstrap-select .btn-default:active,.bootstrap-select .btn-default:focus{background-color:transparent;border-bottom-color:#009688;-webkit-box-shadow:0 1px 0 #009688;box-shadow:0 1px 0 #009688}.bootstrap-select .btn-default.disabled,.bootstrap-select .btn-default[disabled],fieldset[disabled] .bootstrap-select .btn-default{border-bottom-style:dashed;background-color:transparent;border-bottom-color:#ddd;-webkit-box-shadow:none;box-shadow:none}.bootstrap-select.btn-group.open>.btn-default.dropdown-toggle{border-bottom-color:#009688;background-color:transparent;-webkit-box-shadow:0 1px 0 #009688;box-shadow:0 1px 0 #009688}.bootstrap-select.form-control{padding:0;border:0}.bootstrap-select .popover-title{font-size:11px;line-height:1.82;margin-top:8px;margin-bottom:1px;font-weight:400;padding:8px 16px;color:#999}.bootstrap-select[class*=border-] .btn,.bootstrap-select[class*=border-] .dropdown-menu{border-color:inherit}.bootstrap-select:not([class*=col-]):not([class*=form-control]):not(.input-group-btn){width:220px}.bootstrap-select.fit-width{width:auto!important}.bootstrap-select.btn-group.bs-container{position:absolute}.bootstrap-select.btn-group:not(.input-group-btn),.bootstrap-select.btn-group[class*=col-]{float:none;display:inline-block;margin-left:0}.bootstrap-select.btn-group.dropdown-menu-right,.bootstrap-select.btn-group[class*=col-].dropdown-menu-right{float:right}.bootstrap-select.btn-group>.disabled:focus{outline:0}.bootstrap-select.btn-group .btn .filter-option{display:inline-block;overflow:hidden;width:100%;text-align:left;text-overflow:ellipsis}.bootstrap-select.btn-group .btn .filter-option>i,.bootstrap-select.btn-group .dropdown-menu>li>a [class*=icon-]{margin-right:16px;float:left;margin-top:2px;top:0}.bootstrap-select.btn-group .btn .caret{position:absolute;top:50%;width:16px;text-align:right;right:16px;margin-top:-8px}.bootstrap-select.btn-group[class*=col-] .btn{width:100%}.bootstrap-select.btn-group .btn-default .caret{right:0}.bootstrap-select.btn-group .btn-lg:not(.btn-default){padding-right:43px}.bootstrap-select.btn-group .btn-lg:not(.btn-default)>.caret{right:18px}.bootstrap-select.btn-group .btn-sm:not(.btn-default){padding-right:37px}.bootstrap-select.btn-group .btn-sm:not(.btn-default)>.caret{right:14px}.bootstrap-select.btn-group .btn-xs:not(.btn-default){padding-right:34px}.bootstrap-select.btn-group .btn-xs:not(.btn-default)>.caret{right:12px}.bootstrap-select.btn-group .dropdown-menu{min-width:100%}.bootstrap-select.btn-group .dropdown-menu>li>a .check-mark{position:absolute;top:50%;margin-top:-8px;right:16px;margin-right:0;color:transparent}.bootstrap-select.btn-group .dropdown-menu>li>a .text{display:inline-block}.bootstrap-select.btn-group .dropdown-menu>li>a>.badge,.bootstrap-select.btn-group .dropdown-menu>li>a>.label{float:none}.bootstrap-select.btn-group .dropdown-menu>li>a.special-class,.bootstrap-select.btn-group .dropdown-menu>li>a.special-class:hover{font-weight:700;color:#fff;background-color:#F44336;-webkit-transition:none;-o-transition:none;transition:none}.bootstrap-select.btn-group .dropdown-menu>li small{padding-left:10px}.bootstrap-select.btn-group .dropdown-menu>.selected>a{background-color:#26A69A;color:#fff}.bootstrap-select.btn-group .dropdown-menu>.selected>a small{color:#fff}.bootstrap-select.btn-group .dropdown-menu.inner{position:static;border:0;padding:0;margin:0;border-radius:0;-webkit-box-shadow:none;box-shadow:none}.bootstrap-select.btn-group .dropdown-menu .notify{position:absolute;bottom:0;width:100%;text-align:center;padding:8px 16px;background-color:#f8f8f8;border-top:1px solid transparent;pointer-events:none}.bootstrap-select.btn-group .dropdown-header~li>a{padding-left:32px}.bootstrap-select.btn-group .no-results{padding:8px 16px;background:#f8f8f8;margin-bottom:-8px;border-top:1px solid transparent}.bootstrap-select.btn-group.fit-width .btn .caret,.bootstrap-select.btn-group.fit-width .btn .filter-option{position:static}.bootstrap-select.btn-group.show-tick .dropdown-menu>li a .text{margin-right:48px}.bootstrap-select.btn-group.show-tick .dropdown-menu>li.selected a .check-mark{color:#fff}.input-group .bootstrap-select>.btn{border-radius:0}.error .bootstrap-select .btn{border:1px solid #F44336}.control-group.error .bootstrap-select .dropdown-toggle{border-color:#F44336}.bs-actionsbox,.bs-searchbox{padding:8px 16px;margin-bottom:8px}.bs-searchbox{position:relative;padding-left:48px}.bs-searchbox:after{content:'\e98e';position:absolute;top:50%;left:16px;color:inherit;display:block;font-size:14px;margin-top:-11px;line-height:1}.bs-actionsbox{float:left;width:100%;position:relative}.bs-actionsbox .btn-group button{width:50%}.bs-searchbox+.bs-actionsbox{padding:0 16px 8px}.mobile-device{position:absolute;top:0;left:0;display:block!important;width:100%;height:100%!important;opacity:0}select.bs-select-hidden,select.selectpicker{display:none!important}.bootstrap-select>select{position:absolute!important;bottom:0;left:50%;display:block!important;width:.5px!important;height:100%!important;padding:0!important;opacity:0!important;border:none}.visual-password-indicator{display:inline-block;background-color:#999;width:40px;height:4px}.tt-menu,.twitter-typeahead{width:100%}.password-indicator-group.input-group-addon{padding-left:16px;padding-right:16px;border-radius:3px}.label-indicator-absolute{position:relative}.label-indicator-absolute .password-indicator-label-absolute{position:absolute;top:50%;margin-top:-10px;right:0}.form-horizontal .label-indicator-absolute .label{right:28px}.tt-hint,.tt-query,.typeahead{outline:0}.tt-hint{color:#999}.tt-menu{margin-top:1px;min-width:180px;padding:8px 0;background-color:#fff;border:1px solid transparent;border-radius:3px;max-height:300px;overflow-y:auto;-webkit-box-shadow:0 3px 6px rgba(0,0,0,.16),0 3px 6px rgba(0,0,0,.23);box-shadow:0 3px 6px rgba(0,0,0,.16),0 3px 6px rgba(0,0,0,.23)}.typeahead-scrollable .tt-menu{max-height:250px}.typeahead-rtl .tt-menu{text-align:right}.tt-suggestion{padding:8px 15px;cursor:pointer}.tt-suggestion.tt-cursor,.tt-suggestion:focus,.tt-suggestion:hover{background-color:#f5f5f5}.editable,.editable-bg-transition{background-color:transparent}.tt-dataset-group .tt-suggestion{padding-left:32px;padding-right:32px}.tt-heading{font-size:11px;line-height:1.82;padding:8px 15px;text-transform:uppercase;display:block;font-weight:700;margin-top:2px;margin-bottom:2px}.typeahead-template .empty-message{padding:8px 15px;text-align:center}.validation-error-label,.validation-valid-label{margin-top:8px;margin-bottom:8px;display:block;color:#F44336;position:relative;padding-left:26px}.validation-valid-label{color:#4CAF50}.validation-error-label:before,.validation-valid-label:before{position:absolute;top:2px;left:0;display:inline-block;line-height:1;font-size:16px}.validation-error-label:empty,.validation-valid-label:empty{display:none}.validation-error-label:before{content:'\ed63'}.validation-valid-label:before{content:'\ee73'}.form-horizontal .editable{padding-top:9px;display:inline-block}.editable-pre-wrapped{white-space:pre-wrap}.editableform .form-group:last-child{margin-bottom:0}.editableform .form-control{min-width:200px}.editableform .checkbox,.editableform .radio{margin-top:0;margin-bottom:0}.editableform .checkbox>div,.editableform .radio>div{margin-top:9px;margin-bottom:9px;position:relative}.editable-buttons{display:inline-block;vertical-align:top;margin-left:8px}.editable-buttons.editable-buttons-bottom{display:block;margin-top:20px;margin-left:0;text-align:center}.editable-buttons .editable-cancel{margin-left:8px}.editable-input{vertical-align:top;display:inline-block;width:auto;white-space:normal}.editable-clear-x:after,.editableform-loading:after{display:block;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:icomoon;font-size:16px}.editable-input .help-block{margin-bottom:0}.editable-input .input-group{width:250px}.editable-input .elastic{height:100px}.editableform-loading,.editableform-loading:after{margin:auto;width:16px;height:16px}.editable-input .datepicker-inline{padding:16px}.editableform-loading:after{content:'\eb55';line-height:1;-webkit-animation:rotation 1s ease infinite;-o-animation:rotation 1s ease infinite;animation:rotation 1s ease infinite}.editable-error{color:#F44336}.editable-error-block{max-width:300px;margin:8px 0 0;width:auto;white-space:normal}.editable-bg-transition{color:inherit;-webkit-transition:background-color .2s ease-out;-o-transition:background-color .2s ease-out;transition:background-color .2s ease-out}.editable-clear{clear:both;text-decoration:none;text-align:right}.editable-clear-x{position:absolute;right:0;top:11px;line-height:1;cursor:pointer;z-index:100;opacity:.6;filter:alpha(opacity=60)}.editable-clear-x:hover,.tokenfield .token>.close:hover{opacity:1;filter:alpha(opacity=100)}.editable-clear-x:after{content:'\ed6b'}.editable-click,.editable-click:hover,a.editable-click,a.editable-click:hover{border-bottom:1px dashed #1E88E5}.editable-click.editable-disabled,.editable-click.editable-disabled:hover,a.editable-click.editable-disabled,a.editable-click.editable-disabled:hover{color:#999;cursor:default;border-bottom:0}.editable-click .label{margin-top:1px;margin-bottom:1px}.editable-empty,.editable-empty:focus,.editable-empty:hover{font-style:italic;color:#F44336}a.editable-empty,a.editable-empty:focus,a.editable-empty:hover{border-bottom-color:#F44336}.combodate{white-space:nowrap}.combodate .day,.combodate .hour,.combodate .minute,.combodate .year{min-width:80px}.combodate .form-control{display:inline-block}.input-daterange input{text-align:center}.input-daterange input:first-child{border-bottom-left-radius:3px;border-top-left-radius:3px}.input-daterange input:last-child{border-bottom-right-radius:3px;border-top-right-radius:3px}.editable-address{display:block}.editable-address>label>span{width:70px;display:inline-block;margin-bottom:8px}.editable-date{padding:0;margin:0;float:left}.editable-checklist label{white-space:nowrap}.editable-checklist label>input[type=checkbox]{vertical-align:middle;margin:0}.editable-wysihtml5{width:566px;height:250px}.editable-container.editable-popup{max-width:none!important}.editable-container.editable-inline{display:inline-block;vertical-align:middle;width:auto}.editable-container.editable-inline .editableform-loading{background-position:left 5px}.editable-container.editable-inline .add-on .icon-th{margin-top:3px;margin-left:1px}.editable-container.popover{width:auto;min-width:200px}.alpaca-hidden{display:none}.alpaca-field-select .multiselect-container{width:100%}.has-error .multiselect-container>.active .checkbox{color:#fff}.has-error .btn-group.open .multiselect.btn,.has-error .multiselect.btn-default:active{color:#D84315;border-color:#D84315}.alpaca-disabled .checkbox .switchery,.alpaca-disabled .checkbox label,.alpaca-disabled .radio .switchery,.alpaca-disabled .radio label{cursor:not-allowed;color:#999}.alpaca-invalid .form-control{color:#D84315}.alpaca-clear{clear:both}.alpaca-float-right{float:right}.alpaca-field .glyphicon{font-family:icomoon;font-size:16px;vertical-align:middle;top:-1px;display:inline-block;margin-right:8px}.alpaca-field .glyphicon-info-sign:before{content:'\e9ba'}.alpaca-field .glyphicon-exclamation-sign:before,.alpaca-field.has-error .glyphicon-info-sign:before{content:'\ed63'}.alpaca-icon-required{font-family:Roboto,Helvetica Neue,Helvetica,Arial,sans-serif;float:right;margin-right:0;margin-left:5px}.alpaca-field-optiontree .optiontree+.form-control,.alpaca-field-optiontree.optiontree-horizontal .optiontree .optiontree-selector+.optiontree-selector{margin-left:10px}.alpaca-icon-required:before{content:'*'}.alpaca-controlfield-editor{position:relative;width:100%;height:300px;border:1px solid #ccc}.alpaca-controlfield-editor .control-field-editor-el{position:absolute;top:0;bottom:0;left:0;right:0}.ace_editor{border:1px solid #ccc}.alpaca-field-ckeditor.alpaca-invalid>.cke{border-color:#D84315}.alpaca-field-optiontree.optiontree-horizontal .optiontree{display:inline-block}.alpaca-field-optiontree.optiontree-horizontal .optiontree .optiontree-selector{display:inline-block;margin-top:2px;margin-bottom:2px}.alpaca-field-optiontree.optiontree-horizontal .optiontree .optiontree-selector:empty{display:none}.alpaca-field-optiontree.optiontree-horizontal input{display:inline-block;width:auto}.alpaca-array-actionbar,.alpaca-array-actionbar.btn-group,.alpaca-field-select .btn-group{width:100%}.alpaca-field-optiontree.optiontree-horizontal label{display:block}.alpaca-field-radio.disabled .alpaca-control.radio{color:grey}.alpaca-field-radio.disabled .alpaca-control.radio label{cursor:inherit}.alpaca-control.radio{min-height:inherit;height:inherit;margin-left:10px;padding:0}.has-error .multiselect{border-color:#D84315;color:#D84315}.alpaca-container-label{margin-top:20px}.alpaca-display h3,legend.alpaca-container-label{margin-top:0}.alpaca-array-toolbar{margin-bottom:10px}.alpaca-array-actionbar{overflow:hidden}.alpaca-array-actionbar.alpaca-array-actionbar-top{padding-bottom:10px}.alpaca-array-actionbar.alpaca-array-actionbar-bottom{padding-top:10px}.alpaca-field-array,.alpaca-field-object{border:1px solid #eee;border-radius:3px;padding:10px}.alpaca-container,.alpaca-container-item>.alpaca-container>.alpaca-field-object,.alpaca-field-array .alpaca-top,.alpaca-field-array .alpaca-top .alpaca-container,.alpaca-field-object .alpaca-top,.alpaca-field-object .alpaca-top .alpaca-container{border:0}.alpaca-control-buttons-container{margin-top:10px}.alpaca-form-buttons-container{margin-top:20px;text-align:right}.alpaca-container>.form-group{margin-left:0;margin-right:0}.alpaca-field-hidden{display:none}.alpaca-container-item:not(:first-child){margin-top:10px}.alpaca-container .alpaca-container-item:last-child{margin-bottom:0}.alpaca-field.alpaca-field-upload .fileupload-active-zone{margin-top:50px;margin-bottom:50px}.alpaca-field.alpaca-field-upload .template-download TD.error,.alpaca-field.alpaca-field-upload .template-upload TD.error{color:#D84315;word-break:break-all}.alpaca-field.alpaca-field-file .alpaca-control-label{display:block}.alpaca-field.alpaca-field-address .alpaca-field-address-mapcanvas{height:250px}.alpaca-field.alpaca-field-image .alpaca-image-display{margin-top:20px}.alpaca-field-text-max-length-indicator{font-size:12px;margin-top:8px;margin-bottom:8px}.tokenfield{border-width:0}.tokenfield.form-control{height:auto;padding:0}.tokenfield:after{content:'';display:table;clear:both}.bootstrap-tagsinput .tag [data-role=remove]:after,.tokenfield .token>.close:after{content:'\ed6a';font-family:icomoon;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.tokenfield .token{margin-top:3px;margin-bottom:3px;margin-right:6px;cursor:default;float:left;position:relative;border-radius:100px}.tokenfield .token:not([class*=bg-]){background-color:#eee;color:#333}.tokenfield .token:not([class*=bg-]):focus,.tokenfield .token:not([class*=bg-]):hover{background-color:#03A9F4;color:#fff}.tokenfield .token.invalid{background-color:transparent;border:1px solid transparent;border-radius:0;border-bottom:1px dotted #F44336}.tokenfield .token.invalid.active{background-color:#eee;border:1px solid #eee}.tokenfield .token .token-label{display:block;overflow:hidden;text-overflow:ellipsis;padding:8px 35px 8px 16px}.tokenfield .token>.close{font-size:0;cursor:pointer;position:absolute;top:50%;color:inherit;right:16px;line-height:1;margin-top:-5.5px}.tokenfield .token>.close:after{display:block;font-size:11px}.tokenfield+.form-control-feedback{margin-top:3px}.tokenfield .twitter-typeahead{width:auto}.tokenfield .token-input{direction:ltr;background:0 0;width:80px!important;max-width:50%;min-width:60px;padding:8px 0;margin-top:3px;margin-bottom:3px;border:0;outline:0}.tokenfield.readonly .token .token-label{padding-right:16px}.tokenfield.readonly .token .close{display:none}.tokenfield.disabled .token,.tokenfield.disabled .token .close{opacity:.5;filter:alpha(opacity=50)}.tokenfield.disabled .token:focus,.tokenfield.disabled .token:hover{background-color:#eee;color:#333}.tokenfield.disabled,.tokenfield.disabled .token,.tokenfield.disabled .token .close,.tokenfield.disabled .token-input{cursor:not-allowed}.input-group-lg .token>.token-label,.tokenfield.input-lg .token>span{padding:9px 38px 9px 18px}.input-group-lg .token-input,.tokenfield.input-lg .token-input{padding-top:9px;padding-bottom:9px}.input-group-lg .token>.close,.tokenfield.input-lg .token>.close{right:18px}.input-group-lg.readonly .token>.token-label,.tokenfield.input-lg.readonly .token>.token-label{padding-right:18px}.input-group-sm .token>.token-label,.tokenfield.input-sm .token>span{padding:7px 32px 7px 14px}.input-group-sm .token-input,.tokenfield.input-sm .token-input{padding-top:7px;padding-bottom:7px}.input-group-sm .token>.close,.tokenfield.input-sm .token>.close{right:14px}.input-group-sm.readonly .token>.token-label,.tokenfield.input-sm.readonly .token>.token-label{padding-right:14px}.bootstrap-tagsinput{display:inline-block;vertical-align:middle;width:100%}.bootstrap-tagsinput input{direction:ltr;border:0;outline:0;background-color:transparent;padding:7px 0;margin-top:3px;margin-bottom:3px;width:auto!important;min-width:100px;-webkit-box-shadow:none;box-shadow:none}.bootstrap-tagsinput input:focus{border:none;box-shadow:none}.bootstrap-tagsinput .twitter-typeahead{width:auto}.bootstrap-tagsinput .tt-dropdown-menu{margin-top:5px;min-width:200px}.bootstrap-tagsinput .tag{margin-top:3px;margin-bottom:3px;margin-right:6px;border:0;border-radius:100px;padding:7px 33px 7px 14px;float:left;font-size:12px;line-height:1.6666667;font-weight:400;text-transform:none;position:relative}.bootstrap-tagsinput .tag:not([class*=bg-]){background-color:#03A9F4;color:#fff}.bootstrap-tagsinput .tag [data-role=remove]{cursor:pointer;position:absolute;top:50%;right:14px;line-height:1;margin-top:-5.5px;opacity:.7;filter:alpha(opacity=70)}.stepy-header li:after,.wizard>.steps>ul>li:after{right:0}.bootstrap-tagsinput .tag [data-role=remove]:hover{opacity:1;filter:alpha(opacity=100)}.bootstrap-tagsinput .tag [data-role=remove]:after{display:block;font-size:11px;color:#fff}.bootstrap-touchspin .input-group-btn-vertical{white-space:nowrap;width:1%;vertical-align:middle;display:table-cell}.bootstrap-touchspin .input-group-btn-vertical>.btn{height:38px;line-height:1.5384616}.bootstrap-touchspin .input-group-btn-vertical i{position:absolute;top:50%;left:50%;margin-left:-8px;margin-top:-8px;font-weight:400}.bootstrap-touchspin .input-group-btn-vertical .bootstrap-touchspin-up{border-bottom-right-radius:0;border-top-right-radius:0}.bootstrap-touchspin .input-group-btn-vertical .bootstrap-touchspin-down{margin-left:1px;border-bottom-left-radius:0;border-top-left-radius:0}.bootstrap-touchspin.input-group-lg .input-group-btn-vertical>.btn{height:40px;line-height:1.4285715;padding-left:18px;padding-right:18px}.bootstrap-touchspin.input-group-sm .input-group-btn-vertical>.btn{height:36px;line-height:1.6666667;padding-left:14px;padding-right:14px}.bootstrap-touchspin-postfix,.input-group-lg .bootstrap-touchspin-postfix,.input-group-sm .bootstrap-touchspin-postfix{padding-right:0}.bootstrap-touchspin-postfix+.input-group-btn,.bootstrap-touchspin-postfix+.input-group-btn-vertical{padding-left:16px}.input-group-lg .bootstrap-touchspin-postfix+.input-group-btn,.input-group-lg .bootstrap-touchspin-postfix+.input-group-btn-vertical{padding-left:18px}.input-group-sm .bootstrap-touchspin-postfix+.input-group-btn,.input-group-sm .bootstrap-touchspin-postfix+.input-group-btn-vertical{padding-left:14px}.bootstrap-duallistbox-container .box1{margin-bottom:20px}.bootstrap-duallistbox-container.moveonselect .move,.bootstrap-duallistbox-container.moveonselect .remove{display:none}.bootstrap-duallistbox-container.moveonselect .moveall,.bootstrap-duallistbox-container.moveonselect .removeall{width:100%;border-radius:3px!important}.bootstrap-duallistbox-container.moveonselect .btn-group .btn+.btn{border-left-width:1px}.bootstrap-duallistbox-container .buttons{width:100%}.bootstrap-duallistbox-container .clear1,.bootstrap-duallistbox-container .clear2{display:none;margin-top:20px}.bootstrap-duallistbox-container .clear1,.bootstrap-duallistbox-container .clear1:focus,.bootstrap-duallistbox-container .clear1:hover,.bootstrap-duallistbox-container .clear2,.bootstrap-duallistbox-container .clear2:focus,.bootstrap-duallistbox-container .clear2:hover{background-color:transparent;border:0;color:#1E88E5;padding:0;-webkit-box-shadow:none;box-shadow:none}.bootstrap-duallistbox-container .box1.filtered .clear1,.bootstrap-duallistbox-container .box2.filtered .clear2{display:inline-block}.bootstrap-duallistbox-container .move,.bootstrap-duallistbox-container .moveall,.bootstrap-duallistbox-container .remove,.bootstrap-duallistbox-container .removeall{width:50%}.bootstrap-duallistbox-container .btn-group .btn{margin:0}.bootstrap-duallistbox-container .btn-group .btn+.btn{border-left-width:0}.bootstrap-duallistbox-container .btn-group .btn>i{float:none;text-align:center}.bootstrap-duallistbox-container .btn-group .btn>i+i{margin-left:-14px}.bootstrap-duallistbox-container .filter{margin-bottom:20px;position:relative}.bootstrap-duallistbox-container .filter.placeholder{color:#999}.bootstrap-duallistbox-container .info-container .info{display:inline-block;margin-top:20px}.bootstrap-duallistbox-container .info-container .info .label{margin-right:8px}.sidebar .bootstrap-duallistbox-container{text-align:center}.sidebar .bootstrap-duallistbox-container .box1,.sidebar .bootstrap-duallistbox-container .box2{float:none;width:100%}.sidebar .bootstrap-duallistbox-container .box1:after{content:'\e9c9';font-size:16px;font-family:icomoon;display:block;text-align:center;line-height:1;margin:10px 0;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;opacity:.5;filter:alpha(opacity=50)}@media (min-width:1025px){.bootstrap-duallistbox-container .box1,.sidebar .bootstrap-duallistbox-container .box1{margin-bottom:0}}.bootstrap-maxlength{margin-top:8px;font-size:12px;font-weight:500}.wizard{width:100%}.wizard>.content>.title,.wizard>.steps .current-info{position:absolute;left:-99999px}.wizard>.content{position:relative;width:auto;padding:0}.wizard>.content>.body{padding:0 20px}.wizard>.content>iframe{border:0;width:100%;height:100%}.wizard>.steps{position:relative;display:block;width:100%}.wizard>.steps>ul{display:table;width:100%;margin:0;padding:0;list-style:none}.wizard>.steps>ul>li{display:table-cell;width:auto;vertical-align:top;text-align:center;position:relative}.wizard>.steps>ul>li a{position:relative;padding-top:48px;margin-top:20px;margin-bottom:20px;display:block}.wizard>.steps>ul>li:after,.wizard>.steps>ul>li:before{content:'';display:block;position:absolute;top:43px;width:50%;height:2px;background-color:#00BCD4;z-index:9}.wizard>.steps>ul>li:before{left:0}.wizard>.steps>ul>li:first-child:before,.wizard>.steps>ul>li:last-child:after{content:none}.wizard>.steps>ul>li.current:after,.wizard>.steps>ul>li.current~li:after,.wizard>.steps>ul>li.current~li:before{background-color:#eee}.wizard>.steps>ul>li.current>a{color:#333;cursor:default}.wizard>.steps>ul>li.current .number{font-size:0;border-color:#00BCD4;background-color:#fff;color:#00BCD4}.wizard>.steps>ul>li.current .number:after{content:'\e913';font-family:icomoon;display:inline-block;font-size:16px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;line-height:34px;-webkit-transition:all .15s ease-in-out;-o-transition:all .15s ease-in-out;transition:all .15s ease-in-out}.stepy-header li div:after,.wizard>.steps>ul>li.done .number:after{font-family:icomoon;-webkit-font-smoothing:antialiased;line-height:34px;-webkit-transition:all .15s ease-in-out;-moz-osx-font-smoothing:grayscale}.wizard>.steps>ul>li.disabled a,.wizard>.steps>ul>li.disabled a:focus,.wizard>.steps>ul>li.disabled a:hover{color:#999;cursor:default}.wizard>.steps>ul>li.done a,.wizard>.steps>ul>li.done a:focus,.wizard>.steps>ul>li.done a:hover{color:#999}.wizard>.steps>ul>li.done .number{font-size:0;background-color:#00BCD4;border-color:#00BCD4;color:#fff}.wizard>.steps>ul>li.done .number:after{content:'\ed6f';display:inline-block;font-size:16px;-o-transition:all .15s ease-in-out;transition:all .15s ease-in-out}.wizard>.steps>ul>li.error .number{border-color:#F44336;color:#F44336}@media (max-width:768px){.wizard>.steps>ul{margin-bottom:20px}.wizard>.steps>ul>li{display:block;float:left;width:50%}.wizard>.steps>ul>li>a{margin-bottom:0}.wizard>.steps>ul>li:first-child:before,.wizard>.steps>ul>li:last-child:after{content:''}.wizard>.steps>ul>li:last-child:after{background-color:#00BCD4}}@media (max-width:480px){.wizard>.steps>ul>li{width:100%}.wizard>.steps>ul>li.current:after{background-color:#00BCD4}}.wizard>.steps .number{background-color:#fff;color:#ccc;display:inline-block;position:absolute;top:0;left:50%;margin-left:-19px;width:38px;height:38px;border:2px solid #eee;font-size:14px;border-radius:50%;z-index:10;line-height:34px;text-align:center}.panel-flat>.wizard>.steps>ul{border-top:1px solid #ddd}.wizard>.actions{position:relative;display:block;text-align:right;padding:0 20px 20px}.wizard>.actions>ul{float:right;list-style:none;padding:0;margin:0}.daterangepicker .calendar,.daterangepicker .ranges,.daterangepicker.opensleft .calendars,.wizard>.actions>ul>li{float:left}.wizard>.actions>ul:after{content:'';display:table;clear:both}.wizard>.actions>ul>li+li{margin-left:10px}.wizard>.actions>ul>li>a{background:#2196F3;color:#fff;display:block;padding:8px 16px;border-radius:3px;text-transform:uppercase;font-weight:500;border:1px solid transparent}.wizard>.actions>ul>li>a:focus,.wizard>.actions>ul>li>a:hover{-webkit-box-shadow:0 0 0 100px rgba(0,0,0,.05) inset;box-shadow:0 0 0 100px rgba(0,0,0,.05) inset}.wizard>.actions>ul>li>a:active{-webkit-box-shadow:0 0 0 100px rgba(0,0,0,.1) inset;box-shadow:0 0 0 100px rgba(0,0,0,.1) inset}.wizard>.actions>ul>li>a[href="#previous"]{background-color:#f5f5f5;color:#333;border:1px solid transparent}.wizard>.actions>ul>li>a[href="#previous"]:focus,.wizard>.actions>ul>li>a[href="#previous"]:hover{-webkit-box-shadow:0 0 0 100px rgba(0,0,0,.02) inset;box-shadow:0 0 0 100px rgba(0,0,0,.02) inset}.wizard>.actions>ul>li>a[href="#previous"]:active{-webkit-box-shadow:0 0 0 100px rgba(0,0,0,.04) inset;box-shadow:0 0 0 100px rgba(0,0,0,.04) inset}.wizard>.actions>ul>li.disabled>a,.wizard>.actions>ul>li.disabled>a:focus,.wizard>.actions>ul>li.disabled>a:hover{color:#999}.wizard>.actions>ul>li.disabled>a[href="#previous"],.wizard>.actions>ul>li.disabled>a[href="#previous"]:focus,.wizard>.actions>ul>li.disabled>a[href="#previous"]:hover{-webkit-box-shadow:none;box-shadow:none}.panel-flat>.ui-formwizard{border-top:1px solid #ddd}.form-wizard-title{margin:0 0 20px;padding-bottom:20px;border-bottom:1px solid #ddd}.form-wizard-count{float:left;display:block;width:38px;height:38px;border-radius:50%;border:2px solid #4CAF50;color:#4CAF50;text-align:center;line-height:34px;margin-right:10px}.ui-formwizard .step{padding:20px 20px 0}.form-wizard-actions{text-align:right;padding:0 20px 20px}.panel-body .form-wizard-actions{padding:0}.form-wizard-actions .btn+.btn{margin-left:5px}.stepy-step{padding:0 20px 20px}.stepy-header{list-style:none;padding:0;margin:0;display:table;width:100%}.panel-flat>.stepy-header{border-top:1px solid #ddd}.stepy-header li{cursor:pointer;display:table-cell;vertical-align:top;width:auto;padding:20px 0;text-align:center;position:relative}.stepy-header li span{display:block;margin-top:10px;color:#999}.stepy-header li:after,.stepy-header li:before{content:'';display:block;position:absolute;top:43px;width:50%;height:2px;background-color:#00BCD4;z-index:9}.stepy-header li:before{left:0}.stepy-header li:first-child:before,.stepy-header li:last-child:after{content:none}.stepy-header li div{background-color:#00BCD4;font-size:0;position:relative;color:#fff;margin-left:auto;margin-right:auto;width:38px;height:38px;border:2px solid #00BCD4;z-index:10;line-height:34px;text-align:center;border-radius:50%}.stepy-header li div:after{content:'\ed6c';display:inline-block;font-size:16px;-o-transition:all .15s ease-in-out;transition:all .15s ease-in-out}.stepy-header li.stepy-active:after,.stepy-header li.stepy-active~li:after,.stepy-header li.stepy-active~li:before{background-color:#f5f5f5}.stepy-header li.stepy-active~li div{border-color:#eee;background-color:#fff;color:#ccc;font-size:14px}.stepy-header li.stepy-active~li div:after{content:none}.stepy-header li.stepy-active div{cursor:auto;border-color:#00BCD4;background-color:#fff;color:#00BCD4}.stepy-header li.stepy-active div:after{content:'\e913'}.stepy-header li.stepy-active span{color:#333}@media (max-width:769px){.stepy-header{margin-bottom:20px}.stepy-header li{display:block;float:left;width:50%;padding-bottom:0}.stepy-header li:first-child:before,.stepy-header li:last-child:after{content:''}.stepy-header li.stepy-active:last-child:after{background-color:#00BCD4}}@media (max-width:480px){.stepy-header li{width:100%}.stepy-header li.stepy-active:after{background-color:#00BCD4}}.stepy-navigator{text-align:right}.stepy-navigator .btn+.btn{margin-left:5px}@font-face{font-family:summernote;font-style:normal;font-weight:400;src:url(icons/summernote/summernotef534.eot?ad8d7e2d177d2473aecd9b35d16211fb);src:url(icons/summernote/summernoted41d.eot?#iefix) format("embedded-opentype"),url(icons/summernote/summernotef534.woff?ad8d7e2d177d2473aecd9b35d16211fb) format("woff"),url(icons/summernote/summernotef534.ttf?ad8d7e2d177d2473aecd9b35d16211fb) format("truetype")}[class*=" note-icon-"]:before,[class^=note-icon-]:before{display:inline-block;font:normal normal normal 14px summernote;font-size:inherit;text-decoration:inherit;text-rendering:auto;text-transform:none;vertical-align:middle;speak:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.note-icon-align-center:before{content:"\f101"}.note-icon-align-indent:before{content:"\f102"}.note-icon-align-justify:before{content:"\f103"}.note-icon-align-left:before{content:"\f104"}.note-icon-align-outdent:before{content:"\f105"}.note-icon-align-right:before{content:"\f106"}.note-icon-align:before{content:"\f107"}.note-icon-arrows-alt:before{content:"\f108"}.note-icon-bold:before{content:"\f109"}.note-icon-caret:before{content:"\f10a"}.note-icon-chain-broken:before{content:"\f10b"}.note-icon-circle:before{content:"\f10c"}.note-icon-close:before{content:"\f10d"}.note-icon-code:before{content:"\f10e"}.note-icon-eraser:before{content:"\f10f"}.note-icon-font:before{content:"\f110"}.note-icon-frame:before{content:"\f111"}.note-icon-italic:before{content:"\f112"}.note-icon-link:before{content:"\f113"}.note-icon-magic:before{content:"\f114"}.note-icon-menu-check:before{content:"\f115"}.note-icon-minus:before{content:"\f116"}.note-icon-orderedlist:before{content:"\f117"}.note-icon-pencil:before{content:"\f118"}.note-icon-picture:before{content:"\f119"}.note-icon-question:before{content:"\f11a"}.note-icon-redo:before{content:"\f11b"}.note-icon-special-character:before{content:"\f11c"}.note-icon-square:before{content:"\f11d"}.note-icon-strikethrough:before{content:"\f11e"}.note-icon-subscript:before{content:"\f11f"}.note-icon-summernote:before{content:"\f120"}.note-icon-superscript:before{content:"\f121"}.note-icon-table:before{content:"\f122"}.note-icon-text-height:before{content:"\f123"}.note-icon-trash:before{content:"\f124"}.note-icon-underline:before{content:"\f125"}.note-icon-undo:before{content:"\f126"}.note-icon-unorderedlist:before{content:"\f127"}.note-icon-video:before{content:"\f128"}.note-editor{border:1px solid #ddd;border-radius:3px;-webkit-box-shadow:none;box-shadow:none}.note-editor .note-dropzone,.note-editor .note-dropzone.hover{color:#2196F3;border:2px dashed #2196F3}.note-editor .note-dropzone{position:absolute;z-index:1;display:none;background-color:#fff;pointer-events:none;opacity:.95;filter:alpha(opacity=95)}.note-editor .note-dropzone .note-dropzone-message{display:table-cell;font-size:25px;font-weight:500;text-align:center;vertical-align:middle}.note-editor.dragover .note-dropzone{display:table}.note-editor .note-toolbar{background-color:transparent;border-bottom:0;padding:0 20px 20px;margin:0}.note-editor.fullscreen{position:fixed;top:0;left:0;z-index:1050;width:100%}.note-editor.fullscreen .note-editable{background-color:#fff}.note-editor.codeview .note-editable,.note-editor.fullscreen .note-resizebar{display:none}.note-editor.codeview .note-codable{display:block}.note-editor .note-statusbar{background-color:#fcfcfc}.note-editor .note-statusbar .note-resizebar{width:100%;height:8px;cursor:s-resize;border-top:1px solid #ddd}.note-editor .note-statusbar .note-resizebar .note-icon-bar{width:20px;margin:1px auto;border-top:1px solid #aaa}.note-editor .note-editable{padding:0 20px 20px;overflow:auto;outline:0;min-height:150px}.note-editor .note-editable[contenteditable=false]{background-color:#eee}.note-editor .note-codable{display:none;width:100%;padding:20px;margin-bottom:0;font-family:Menlo,Monaco,monospace,sans-serif;color:#fff;background-color:#333;border:0;border-radius:0;resize:none;-webkit-box-shadow:none;box-shadow:none}.note-editor .modal-title{font-size:17px}.note-air-editor{outline:0}.note-popover{max-width:none}.note-popover .popover-content{padding:0 15px 15px;margin:0}.note-popover .popover-content a{display:inline-block;max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;vertical-align:middle}.note-dialog>div,.note-popover .popover-content .dropdown-menu li a i,.note-toolbar .dropdown-menu li a i{display:none}.note-popover .popover-content>.btn-group:last-child{margin-right:0}.note-popover .arrow{left:20px}.note-popover .popover-content>.note-btn-group,.note-toolbar>.note-btn-group{margin-top:20px;margin-right:20px;margin-left:0}.note-popover .popover-content>.note-btn-group .note-icon-caret:before,.note-toolbar>.note-btn-group .note-icon-caret:before{width:9px;margin-left:2px;margin-right:2px}.note-popover .popover-content>.note-btn-group i+.note-icon-caret,.note-toolbar>.note-btn-group i+.note-icon-caret{margin-left:2px;margin-right:-5px}.note-popover .popover-content .note-style blockquote,.note-popover .popover-content .note-style h1,.note-popover .popover-content .note-style h2,.note-popover .popover-content .note-style h3,.note-popover .popover-content .note-style h4,.note-popover .popover-content .note-style h5,.note-popover .popover-content .note-style h6,.note-toolbar .note-style blockquote,.note-toolbar .note-style h1,.note-toolbar .note-style h2,.note-toolbar .note-style h3,.note-toolbar .note-style h4,.note-toolbar .note-style h5,.note-toolbar .note-style h6{margin:0}.note-popover .popover-content .note-table,.note-toolbar .note-table{min-width:0}.note-popover .popover-content .note-table.dropdown-menu,.note-toolbar .note-table.dropdown-menu{padding:10px}.note-popover .popover-content .note-table .note-dimension-picker,.note-toolbar .note-table .note-dimension-picker{font-size:18px;margin-bottom:10px}.note-popover .popover-content .note-table .note-dimension-picker .note-dimension-picker-mousecatcher,.note-toolbar .note-table .note-dimension-picker .note-dimension-picker-mousecatcher{position:absolute!important;z-index:3;width:10em;height:10em;cursor:pointer}.note-popover .popover-content .note-table .note-dimension-picker .note-dimension-picker-unhighlighted,.note-toolbar .note-table .note-dimension-picker .note-dimension-picker-unhighlighted{position:relative!important;z-index:1;width:5em;height:5em;background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABIAAAASAgMAAAAroGbEAAAACVBMVEUAAIj4+Pjp6ekKlAqjAAAAAXRSTlMAQObYZgAAAAFiS0dEAIgFHUgAAAAJcEhZcwAACxMAAAsTAQCanBgAAAAHdElNRQfYAR0BKhmnaJzPAAAAG0lEQVQI12NgAAOtVatWMTCohoaGUY+EmIkEAEruEzK2J7tvAAAAAElFTkSuQmCC)}.note-popover .popover-content .note-table .note-dimension-picker .note-dimension-picker-highlighted,.note-toolbar .note-table .note-dimension-picker .note-dimension-picker-highlighted{position:absolute!important;z-index:2;width:1em;height:1em;background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABIAAAASAgMAAAAroGbEAAAACVBMVEUAAIjd6vvD2f9LKLW+AAAAAXRSTlMAQObYZgAAAAFiS0dEAIgFHUgAAAAJcEhZcwAACxMAAAsTAQCanBgAAAAHdElNRQfYAR0BKwNDEVT0AAAAG0lEQVQI12NgAAOtVatWMTCohoaGUY+EmIkEAEruEzK2J7tvAAAAAElFTkSuQmCC)}.note-popover .popover-content .note-table .note-dimension-display,.note-toolbar .note-table .note-dimension-display{text-align:center}.note-popover .popover-content .note-color .dropdown-menu,.note-toolbar .note-color .dropdown-menu{min-width:330px;white-space:nowrap}.note-popover .popover-content .note-color .dropdown-menu .btn-group,.note-toolbar .note-color .dropdown-menu .btn-group{margin:8px 16px}.note-popover .popover-content .note-color .dropdown-menu .btn-group .note-palette-title,.note-toolbar .note-color .dropdown-menu .btn-group .note-palette-title{margin-bottom:10px;font-weight:500}.note-popover .popover-content .note-color .dropdown-menu .btn-group .note-color-reset,.note-toolbar .note-color .dropdown-menu .btn-group .note-color-reset{padding:7px 14px;cursor:pointer;background-color:#F5F5F5;text-align:center;margin-bottom:10px}.note-popover .popover-content .note-para .dropdown-menu,.note-toolbar .note-para .dropdown-menu{min-width:290px;padding:10px;text-align:center}.note-popover .popover-content .note-para .dropdown-menu>div:first-child,.note-toolbar .note-para .dropdown-menu>div:first-child{margin-right:10px}.note-popover .popover-content .dropdown-menu,.note-toolbar .dropdown-menu{min-width:90px}.note-popover .popover-content .dropdown-menu.right,.note-toolbar .dropdown-menu.right{right:0;left:auto}.note-popover .popover-content .dropdown-menu.right:before,.note-toolbar .dropdown-menu.right:before{right:9px;left:auto!important}.note-popover .popover-content .dropdown-menu.right:after,.note-toolbar .dropdown-menu.right:after{right:10px;left:auto!important}.note-popover .popover-content .dropdown-menu li a.checked,.note-toolbar .dropdown-menu li a.checked{background-color:#f5f5f5}.note-popover .popover-content .note-color-palette,.note-toolbar .note-color-palette{line-height:1}.note-popover .popover-content .note-color-palette div .note-color-btn,.note-toolbar .note-color-palette div .note-color-btn{width:17px;height:17px;padding:0;margin:0;border:1px solid #fff}.note-popover .popover-content .note-color-palette div .note-color-btn:hover,.note-toolbar .note-color-palette div .note-color-btn:hover{border:1px solid #333}.note-popover .popover-content>.btn-group{margin-top:15px;margin-right:15px}.note-dialog .note-image-dialog .mote-dropzone{min-height:100px;margin-bottom:10px;font-size:25px;color:#eee;text-align:center;border:4px dashed #eee}.note-dialog .note-help-dialog{color:#ccc;background-color:#333!important;border:0;opacity:.9;filter:alpha(opacity=90)}.note-dialog .note-help-dialog a{color:#fff}.note-dialog .note-help-dialog .title{padding-bottom:8px;font-size:15px;font-weight:500;color:#fff;border-bottom:1px solid #fff}.note-dialog .note-help-dialog .modal-content{background-color:transparent;border:1px solid #fff;border-radius:3px;-webkit-box-shadow:none;box-shadow:none}.note-dialog .note-help-dialog .modal-close{color:#999;cursor:pointer}.note-dialog .note-help-dialog .note-shortcut-layout{width:100%}.note-dialog .note-help-dialog .note-shortcut-layout td{vertical-align:top}.note-dialog .note-help-dialog .note-shortcut{margin-top:8px}.note-dialog .note-help-dialog .note-shortcut th{color:#eee;text-align:left}.note-dialog .note-help-dialog .note-shortcut td:first-child{min-width:110px;padding-right:10px;font-family:"Courier New";color:#eee;text-align:right}.AnyTime-x-btn:after,.daterange-custom-display:after,.picker__nav--next:before,.picker__nav--prev:before,.sp-clear-display:after,.sp-dd:after{font-family:icomoon;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.note-group-select-from-files label{display:block}.note-handle{position:relative}.note-handle .note-control-selection{position:absolute;display:none;border:1px solid #333;z-index:10}.note-handle .note-control-selection>div{position:absolute}.note-handle .note-control-selection .note-control-selection-bg{width:100%;height:100%;background-color:#333;opacity:.3;filter:alpha(opacity=30)}.note-handle .note-control-selection .note-control-handle,.note-handle .note-control-selection .note-control-holder,.note-handle .note-control-selection .note-control-sizing{width:7px;height:7px;border:1px solid #333}.note-handle .note-control-selection .note-control-sizing{background-color:#fff}.note-handle .note-control-selection .note-control-nw{top:-5px;left:-5px;border-right:0;border-bottom:0}.note-handle .note-control-selection .note-control-ne{top:-5px;right:-5px;border-bottom:0;border-left:0}.note-handle .note-control-selection .note-control-sw{bottom:-5px;left:-5px;border-top:0;border-right:0}.note-handle .note-control-selection .note-control-se{right:-5px;bottom:-5px;cursor:se-resize}.daterangepicker table tbody td,.daterangepicker table tbody th,.daterangepicker th.next,.daterangepicker th.prev{cursor:pointer}.note-handle .note-control-selection .note-control-selection-info{right:0;bottom:0;padding:5px;margin:5px;color:#fff;background-color:#333;border-radius:3px;opacity:.7;filter:alpha(opacity=70)}.wysihtml5{max-height:450px;resize:vertical;background-color:#fff;overflow:auto;outline:0;border:1px solid #ddd;padding:20px}.wysihtml5-editor{border-width:0;padding:0}.wysihtml5-sandbox{width:100%!important;border-top-width:0!important;padding-top:0!important}.bootstrap-wysihtml5-insert-image-modal .modal-dialog,.bootstrap-wysihtml5-insert-link-modal .modal-dialog{width:566px}.wysihtml5-toolbar{margin:0;padding:0 20px 20px;display:block;background-color:#fff;border:1px solid #ddd;border-bottom:0;border-top-right-radius:3px;border-top-left-radius:3px}.wysihtml5-toolbar>li{display:inline-block;list-style:none;margin:20px 20px 0 0}.wysihtml5-toolbar .dropdown-menu{max-height:200px;overflow-y:auto}.wysihtml5-toolbar .dropdown-menu .color-select>li>a:focus,.wysihtml5-toolbar .dropdown-menu .color-select>li>a:hover{background-color:#f5f5f5;color:#333}.wysihtml5-commands-disabled .wysihtml5-toolbar .dropdown-menu{display:none!important}.wysihtml5-toolbar .dropdown-toggle>[class*=icon-]{margin-right:8px}.wysihtml5-toolbar .dropdown-toggle .caret{margin-left:8px}.wysihtml5-toolbar a[data-wysihtml5-command=bold]{font-weight:700}.wysihtml5-toolbar a[data-wysihtml5-command=italic]{font-style:italic}.wysihtml5-toolbar a[data-wysihtml5-command=underline]{text-decoration:underline}.wysihtml5-toolbar a.btn.wysihtml5-command-active{-webkit-box-shadow:inset 0 1px 2px rgba(0,0,0,.1);box-shadow:inset 0 1px 2px rgba(0,0,0,.1)}.wysihtml5-toolbar a.wysihtml5-colors-title{padding-left:48px}.wysihtml5-toolbar .wysihtml5-colors{display:block;width:16px;height:16px;position:absolute;pointer-events:none;left:16px;top:11px;border-radius:100px}.wysihtml5-toolbar div[data-wysihtml5-command-value=black]{background:#000!important}.wysihtml5-toolbar div[data-wysihtml5-command-value=silver]{background:silver!important}.wysihtml5-toolbar div[data-wysihtml5-command-value=gray]{background:gray!important}.wysihtml5-toolbar div[data-wysihtml5-command-value=maroon]{background:maroon!important}.wysihtml5-toolbar div[data-wysihtml5-command-value=red]{background:red!important}.wysihtml5-toolbar div[data-wysihtml5-command-value=purple]{background:purple!important}.wysihtml5-toolbar div[data-wysihtml5-command-value=green]{background:green!important}.wysihtml5-toolbar div[data-wysihtml5-command-value=olive]{background:olive!important}.wysihtml5-toolbar div[data-wysihtml5-command-value=navy]{background:navy!important}.wysihtml5-toolbar div[data-wysihtml5-command-value=blue]{background:#00f!important}.wysihtml5-toolbar div[data-wysihtml5-command-value=orange]{background:orange!important}.wysiwyg-color-black{color:#000}.wysiwyg-color-silver{color:silver}.wysiwyg-color-gray{color:gray}.wysiwyg-color-white{color:#fff}.wysiwyg-color-maroon{color:maroon}.wysiwyg-color-red{color:red}.wysiwyg-color-purple{color:purple}.wysiwyg-color-fuchsia{color:#f0f}.wysiwyg-color-green{color:green}.wysiwyg-color-lime{color:#0f0}.wysiwyg-color-olive{color:olive}.wysiwyg-color-yellow{color:#ff0}.wysiwyg-color-navy{color:navy}.wysiwyg-color-blue{color:#00f}.wysiwyg-color-teal{color:teal}.wysiwyg-color-aqua{color:#0ff}.wysiwyg-color-orange{color:orange}.ace_editor{height:400px;position:relative}.daterangepicker{position:absolute;left:0;margin-top:5px;width:auto;padding:0}.daterangepicker.dropdown-menu{max-width:none;background-color:transparent;border:0;z-index:1000;-webkit-box-shadow:none;box-shadow:none}.daterangepicker .calendar,.ranges{border-radius:3px;-webkit-box-shadow:0 3px 6px rgba(0,0,0,.16),0 3px 6px rgba(0,0,0,.23)}.daterangepicker.dropup{margin-top:-8px}.daterangepicker.opensright .calendars{float:right}.daterangepicker.single .calendar{float:none;margin-left:0;margin-right:0}.daterangepicker.single .ranges{display:none}.daterangepicker.show-calendar .calendar{display:block}.daterangepicker .calendar{display:none;background-color:#fff;margin:8px;padding:16px;box-shadow:0 3px 6px rgba(0,0,0,.16),0 3px 6px rgba(0,0,0,.23)}.daterangepicker td.available:focus,.daterangepicker td.available:hover,.daterangepicker td.in-range{background-color:#f5f5f5}.daterangepicker table{width:100%;margin:0}.daterangepicker td,.daterangepicker th{white-space:nowrap;text-align:center}.daterangepicker td.week,.daterangepicker th.week{font-size:80%;color:#ccc}.daterangepicker th{color:#999;font-weight:400;font-size:12px}.daterangepicker th>i{top:0}.daterangepicker th.available:focus,.daterangepicker th.available:hover{color:#333}.daterangepicker td.disabled,.daterangepicker td.off{color:#ccc}.daterangepicker td.disabled{cursor:not-allowed}.daterangepicker td.active,.daterangepicker td.active:focus,.daterangepicker td.active:hover{background-color:#26A69A;color:#fff;border-radius:3px}.daterangepicker .table-condensed tr>td,.daterangepicker .table-condensed tr>th{padding:10px;line-height:1}.daterangepicker .table-condensed thead tr:last-child th{padding-top:16px}.daterangepicker .table-condensed .month{font-size:17px;line-height:1;color:#333;padding-top:15px;padding-bottom:15px;font-weight:400}.daterangepicker select{display:inline-block}.daterangepicker select.monthselect{margin-right:2%;width:56%}.daterangepicker select.yearselect{width:40%}.daterangepicker select.ampmselect,.daterangepicker select.hourselect,.daterangepicker select.minuteselect,.daterangepicker select.secondselect{width:60px;padding-left:0;padding-right:0;margin-bottom:0}.daterangepicker .daterangepicker_input{position:relative}.daterangepicker .daterangepicker_input i{position:absolute;right:0;top:auto;bottom:11px;color:#999}.daterangepicker .daterangepicker_input input{padding-right:24px}.daterangepicker .calendar-time{text-align:center;margin:16px 0}.daterangepicker .calendar-time select.disabled{color:#ccc;cursor:not-allowed}.daterange-custom,.ranges ul li{cursor:pointer}.ranges{background-color:#fff;position:relative;width:200px;margin-top:8px;box-shadow:0 3px 6px rgba(0,0,0,.16),0 3px 6px rgba(0,0,0,.23)}.picker,.picker__holder{width:100%;position:absolute}.AnyTime-win,.picker__holder{-webkit-box-shadow:0 3px 6px rgba(0,0,0,.16),0 3px 6px rgba(0,0,0,.23)}.opensright .ranges{margin-left:0}.opensleft .ranges{margin-right:0}.ranges ul{list-style:none;margin:0;padding:8px 0}.ranges ul+.daterangepicker-inputs{border-top:1px solid #e5e5e5}.ranges ul li{color:#333;padding:8px 16px;margin-top:1px}.ranges ul li:first-child{margin-top:0}.ranges .daterangepicker-inputs .daterangepicker_input+.daterangepicker_input,.ranges .range_inputs .btn+.btn{margin-top:16px}.ranges ul li:focus,.ranges ul li:hover{background-color:#f5f5f5}.ranges ul li.active{color:#fff;background-color:#26A69A}.ranges .daterangepicker-inputs{padding:16px}.ranges .daterangepicker-inputs .daterangepicker_input>span{display:block;font-size:12px;color:#999}.ranges .range_inputs{padding:0 16px 16px}.ranges .range_inputs .btn{display:block;width:100%}@media (min-width:769px){.ranges{margin:8px}}.daterange-custom:after{content:'';display:table;clear:both}.daterange-custom .badge,.daterange-custom .label{margin:4px 0 0 8px;vertical-align:top}.daterange-custom .label-icon{margin-top:0;margin-right:5px}.daterange-custom-display{display:inline-block;position:relative;padding-left:21px;line-height:1}.daterange-custom-display:after{content:'\e9c9';display:inline-block;position:absolute;top:50%;left:0;margin-top:-8px;-webkit-transition:all ease-in-out .2s;-o-transition:all ease-in-out .2s;transition:all ease-in-out .2s}.daterange-custom.is-opened .daterange-custom-display:after{-webkit-transform:rotate(180deg);-ms-transform:rotate(180deg);-o-transform:rotate(180deg);transform:rotate(180deg)}.daterange-custom-display>i{display:inline-block;font-size:28px;font-weight:400;font-style:normal;letter-spacing:-.015em}.daterange-custom-display b{display:inline-block;margin-left:4px;font-weight:400}.daterange-custom-display b>i{font-size:11px;display:block;line-height:12px;text-transform:uppercase;font-style:normal;font-weight:400}.daterange-custom-display em{line-height:30px;vertical-align:top;margin:0 4px}@media (max-width:769px){.opensleft,.opensright{left:0!important;right:0}.daterangepicker.opensleft .calendar,.daterangepicker.opensleft .calendars,.daterangepicker.opensleft .ranges,.daterangepicker.opensright .calendar,.daterangepicker.opensright .calendars,.daterangepicker.opensright .ranges,.opensleft .calendars,.opensright .calendars{float:none}.daterangepicker{width:100%;padding-left:20px;padding-right:20px}.daterangepicker .calendar{margin-left:0;margin-right:0}.daterangepicker .ranges{width:100%}}.picker{text-align:left;top:100%;margin-top:-1px;z-index:990;-ms-user-select:none;user-select:none}.AnyTime-pkr,.picker--time .picker__button--clear,.picker__footer,.picker__header,.picker__table,.picker__weekday{text-align:center}.picker__input{cursor:default}.picker__holder{overflow-y:auto;display:none;background-color:#fff;border-top-width:0;border-bottom-width:0;max-width:290px;max-height:0;outline:0;-webkit-overflow-scrolling:touch;border-bottom-right-radius:3px;border-bottom-left-radius:3px;box-shadow:0 3px 6px rgba(0,0,0,.16),0 3px 6px rgba(0,0,0,.23)}.picker--opened .picker__holder{max-height:480px;border-top-width:1px;border-bottom-width:1px;display:block}.picker__box{padding:16px}.picker__header{position:relative;font-size:17px;line-height:1;padding-top:15px;padding-bottom:15px}.picker__month,.picker__year{display:inline-block;margin-left:5px;margin-right:5px}.picker__year{color:#999;font-size:13px}.picker__select--month,.picker__select--year{border-color:#ddd;height:34px;font-size:13px;line-height:1.6666667;margin-left:5px;margin-right:5px;outline:0;width:35%}.picker__nav--next,.picker__nav--prev{position:absolute;padding:8px;top:50%;margin-top:-16px;border-radius:2px;line-height:1}.picker__nav--next:before,.picker__nav--prev:before{display:block;font-size:16px;width:16px;text-align:center}.picker__button--clear:before,.picker__button--close:before,.picker__button--today:before{display:inline-block;margin-right:5px;position:relative}.picker__nav--next:hover,.picker__nav--prev:hover{cursor:pointer;background-color:#f5f5f5}.picker__nav--prev{left:0}.picker__nav--prev:before{content:'\e9c8'}.picker__nav--next{right:0}.picker__nav--next:before{content:'\e9cb'}.picker__nav--disabled,.picker__nav--disabled:before,.picker__nav--disabled:before:hover,.picker__nav--disabled:hover{cursor:default;background:0 0;border-right-color:#f5f5f5;border-left-color:#f5f5f5}.picker__table{font-size:inherit;width:100%;margin-bottom:16px}.picker__table td{margin:0;padding:0}.picker__weekday{width:14.285714286%;font-size:12px;padding-bottom:10px;padding-top:16px;color:#999;font-weight:400}.picker__day{padding:8px}.picker__day--today{position:relative;background-color:#f5f5f5}.picker__day--today:before{content:"";position:absolute;top:2px;right:2px;width:0;height:0;border-top:6px solid #26A69A;border-left:6px solid transparent}.picker__day--outfocus{color:#ccc}.picker__day--infocus:hover,.picker__day--outfocus:hover{cursor:pointer;color:#333;background-color:#f5f5f5}.picker__day--highlighted:before{border-top-color:#fff}.picker__day--highlighted,.picker__day--selected{border-radius:3px}.picker--focused .picker__day--highlighted,.picker__day--highlighted,.picker__day--highlighted:hover{cursor:pointer;color:#fff;background-color:#26A69A}.picker--focused .picker__day--selected,.picker__day--selected,.picker__day--selected:hover{background-color:#26A69A;color:#fff}.picker__day--disabled,.picker__day--disabled:hover{background:#fafafa;color:#999;cursor:default}.picker__day--disabled:before{border-top-color:#999}.picker__day--highlighted .picker__day--disabled,.picker__day--highlighted .picker__day--disabled:hover{background-color:#bbb}.picker__footer button{border:0;background:#fff;padding:7px 14px;border-radius:3px;font-weight:500;cursor:pointer;display:inline-block}.picker__footer button:focus,.picker__footer button:hover{outline:0;background-color:#f5f5f5}.picker__footer button:before{height:0}.picker__button--today:before{content:'';top:-1px;width:0;border-top:6px solid #2196F3;border-left:6px solid transparent}.picker__button--close:before{content:'\D7';top:1px;line-height:1;font-size:16px}.picker__button--clear:before{content:'';top:-3px;width:8px;border-top:2px solid #F44336}.picker--time{min-width:256px;max-width:320px}.picker--time .picker__box{padding:0}.picker__list{list-style:none;padding:8px 0;margin:0;max-height:250px;overflow-y:auto}.picker__list-item{position:relative;padding:8px 16px}.picker__list-item:focus,.picker__list-item:hover{cursor:pointer;background-color:#f5f5f5;z-index:10}.picker--time .picker__button--clear{display:block;width:100%;margin:0 0 -8px;padding:7px 14px;background-color:transparent;outline:0;border:0}.picker__list-item--highlighted{z-index:10}.picker--focused .picker__list-item--highlighted,.picker__list-item--highlighted,.picker__list-item--highlighted:hover{cursor:pointer;color:#fff;background-color:#26A69A}.picker--focused .picker__list-item--selected,.picker__list-item--selected,.picker__list-item--selected:hover{background-color:#26A69A;color:#fff;z-index:10}.picker--focused .picker__list-item--disabled,.picker__list-item--disabled,.picker__list-item--disabled:hover{background-color:#fafafa;color:#999;cursor:not-allowed;z-index:auto}.AnyTime-pkr *{margin:0;padding:0;list-style:none}.AnyTime-pkr .AnyTime-date{float:left}.AnyTime-pkr .AnyTime-date+.AnyTime-time{margin-left:50px;float:left}.AnyTime-win{padding:16px;background-color:#fff;display:inline-block;border-radius:3px;z-index:10;box-shadow:0 3px 6px rgba(0,0,0,.16),0 3px 6px rgba(0,0,0,.23)}.AnyTime-btn,.AnyTime-x-btn{border-radius:2px;cursor:pointer}.AnyTime-cloak{position:absolute;opacity:.7;filter:alpha(opacity=70)}.AnyTime-hdr{font-size:15px;margin:15px 10px;line-height:1}.AnyTime-x-btn{display:none;font-size:0;float:right;opacity:.6;filter:alpha(opacity=60)}.AnyTime-x-btn:hover{opacity:1;filter:alpha(opacity=100)}.AnyTime-x-btn:after{content:'\ed6b';font-size:16px;line-height:1}.AnyTime-lbl{font-size:13px;margin-bottom:10px;font-weight:500;margin-top:25px}.AnyTime-lbl:first-child{margin-top:8px}.AnyTime-yrs .ui-state-highlight,.AnyTime-yrs .ui-state-highlight:hover{background-color:#F44336;color:#fff}.AnyTime-mons .ui-state-highlight,.AnyTime-mons .ui-state-highlight:hover{background-color:#26A69A;color:#fff}.AnyTime-time .ui-state-highlight,.AnyTime-time .ui-state-highlight:hover{background-color:#607D8B;color:#fff}.AnyTime-body-yr-selector .ui-state-highlight,.AnyTime-body-yr-selector .ui-state-highlight:hover,.AnyTime-dom-table .ui-state-highlight,.AnyTime-dom-table .ui-state-highlight:hover{background-color:#2196F3;color:#fff}.AnyTime-btn:hover,.AnyTime-dom-btn:hover{background-color:#f5f5f5}.AnyTime-yrs-ahead-btn,.AnyTime-yrs-past-btn{display:inline-block}.AnyTime-yr-cur-btn,.AnyTime-yr-next-btn,.AnyTime-yr-prior-btn{display:inline-block;min-width:50px}.AnyTime-mons:after{content:"";display:table;clear:both}.AnyTime-dom-table{width:100%}.AnyTime-pkr th.AnyTime-dow{color:#999;font-size:12px;padding:8px;font-weight:400}.AnyTime-mon-btn{float:left}.AnyTime-mon7-btn{clear:left}.AnyTime-dom-btn-empty{display:none}.AnyTime-hrs,.AnyTime-hrs-am,.AnyTime-hrs-pm,.AnyTime-mins,.AnyTime-mins-ones,.AnyTime-mins-tens,.AnyTime-offs,.AnyTime-secs,.AnyTime-secs-ones,.AnyTime-secs-tens,.AnyTime-time{display:inline-block}.AnyTime-btn{padding:8px 16px}.AnyTime-hr-btn,.AnyTime-min-one-btn,.AnyTime-min-ten-btn,.AnyTime-sec-one-btn,.AnyTime-sec-ten-btn{min-width:40px}.AnyTime-hrs-pm,.AnyTime-mins-ones,.AnyTime-secs-ones{margin-left:2px}.AnyTime-mins-tens,.AnyTime-secs-tens{margin-left:20px}.AnyTime-off-cur-btn{display:inline-block;overflow:hidden}.AnyTime-off-select-btn{display:inline-block;vertical-align:top}.AnyTime-off-selector{margin:10px;position:absolute}.AnyTime-body-off-selector{margin:0;overflow-x:hidden;overflow-y:auto;white-space:nowrap}.AnyTime-off-off-btn{text-align:left}.AnyTime-yr-selector{position:absolute;width:90%}.AnyTime-body-yr-selector{margin:0}.AnyTime-yr-cent,.AnyTime-yr-dec,.AnyTime-yr-era,.AnyTime-yr-mil,.AnyTime-yr-yr{display:inline-block;vertical-align:top;width:20%}.AnyTime-era-btn{margin-left:10px}@media (max-width:769px){.AnyTime-pkr .AnyTime-date{float:none}.AnyTime-mon-btn{float:none;display:inline-block}.AnyTime-date+.AnyTime-time{margin-left:0;margin-top:25px;float:none}}.sp-alpha-inner,.sp-clear-enabled .sp-clear,.sp-color,.sp-hue,.sp-preview-inner,.sp-sat,.sp-thumb-inner,.sp-top-inner,.sp-val{position:absolute;top:0;left:0;right:0;bottom:0}.sp-container.sp-buttons-disabled .sp-button-container,.sp-container.sp-input-disabled .sp-input-container,.sp-container.sp-palette-buttons-disabled .sp-palette-button-container,.sp-initial-disabled .sp-initial,.sp-palette-disabled .sp-palette-container,.sp-palette-only .sp-picker-container{display:none}.sp-hidden{display:none!important}.sp-cf:after,.sp-cf:before{content:"";display:table}.sp-cf:after{clear:both}.sp-alpha,.sp-preview,.sp-thumb-el{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAwAAAAMCAIAAADZF8uwAAAAGUlEQVQYV2M4gwH+YwCGIasIUwhT25BVBADtzYNYrHvv4gAAAABJRU5ErkJggg==)}.sp-alpha-inner,.sp-preview-inner,.sp-thumb-inner{display:block}.sp-container{position:absolute;top:0;left:0;display:inline-block;z-index:1000;background-color:#fff;border-radius:3px;overflow:hidden;box-sizing:content-box;-webkit-box-shadow:0 3px 6px rgba(0,0,0,.16),0 3px 6px rgba(0,0,0,.23);box-shadow:0 3px 6px rgba(0,0,0,.16),0 3px 6px rgba(0,0,0,.23)}.sp-container.sp-flat{position:relative;overflow-x:auto;max-width:100%;white-space:nowrap;border:1px solid #ddd;-webkit-box-shadow:none;box-shadow:none}.sp-palette-container,.sp-picker-container{display:block;white-space:nowrap;vertical-align:top;position:relative;padding:15px 15px 305px;margin-bottom:-290px}.datepicker table .cw,.sp-replacer,.ui-button,.ui-buttonset{vertical-align:middle}@media (min-width:769px){.sp-palette-container,.sp-picker-container{display:inline-block}}.sp-alpha-enabled .sp-alpha,.sp-top{display:block}.sp-picker-container{width:230px}.sp-alpha,.sp-alpha-handle,.sp-clear,.sp-container,.sp-container button,.sp-container.sp-dragging .sp-input,.sp-dragger,.sp-preview,.sp-replacer,.sp-slider{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.sp-top{position:relative;width:100%}.sp-alpha,.sp-alpha-handle,.sp-dragger,.sp-slider{position:absolute}.sp-color{right:20%}.sp-hue{left:85%;height:100%}.sp-clear-enabled .sp-hue{top:40px;height:75%}.sp-fill{padding-top:80%}.sp-alpha-enabled .sp-top{margin-bottom:36px}.sp-alpha,.sp-clear{display:none}.sp-alpha-handle{top:-4px;bottom:-4px;width:5px;left:50%;cursor:pointer;border:1px solid #999;background-color:#fff;border-radius:4px}.sp-initial-disabled .sp-input-container,.sp-input{width:100%}.sp-alpha{bottom:-22px;right:0;left:0;height:6px}.sp-clear-display{cursor:pointer}.sp-clear-display:after{content:'\ee6e';display:block;font-size:16px;line-height:30px}.sp-initial .sp-clear-display:after,.sp-preview .sp-clear-display:after{content:none}.sp-clear-enabled .sp-clear{display:block;left:85%;height:30px;text-align:center;color:#999;-webkit-box-shadow:0 0 0 1px #ddd inset;box-shadow:0 0 0 1px #ddd inset}.sp-input-container{margin-top:7.5px}.sp-input{border:1px solid transparent;border-bottom-color:#ddd;padding:8px 0;background-color:transparent;outline:0;color:#333}.sp-input:focus{border-bottom-color:#009688;-webkit-box-shadow:0 1px 0 #009688;box-shadow:0 1px 0 #009688}.sp-initial{margin-top:15px}.sp-initial span{width:50%;height:25px;display:block;float:left}.sp-initial span .sp-thumb-inner{height:25px;width:100%;display:block}.sp-dragger{height:5px;width:5px;border:1px solid #fff;background-color:#333;cursor:pointer;top:0;left:0}.sp-replacer,.sp-slider{cursor:pointer;background-color:#fff}.sp-slider{top:0;height:4px;left:-2px;right:-2px;border:1px solid #999;border-radius:3px}.sp-dd,.sp-preview,.sp-thumb-el{position:relative}.sp-replacer{overflow:hidden;padding:5px;display:inline-block;border:1px solid #ddd;border-radius:3px}.sp-replacer.sp-active,.sp-replacer:hover{border-color:#c4c4c4;color:#333}.sp-replacer[class*=bg-],.sp-replacer[class*=bg-]:focus,.sp-replacer[class*=bg-]:hover{border-color:transparent}.sp-replacer[class*=bg-] .sp-dd,.sp-replacer[class*=bg-].sp-active .sp-dd{color:#fff}.sp-replacer.sp-disabled{cursor:default;opacity:.8;filter:alpha(opacity=80)}.sp-replacer.sp-disabled:not([class*=bg-]):focus,.sp-replacer.sp-disabled:not([class*=bg-]):hover{border-color:#ddd}.sp-replacer.sp-disabled .sp-dd,.sp-replacer.sp-disabled[class*=bg-] .sp-dd{color:#999}.sp-preview{width:26px;height:24px;margin-right:5px;float:left;z-index:0}.sp-preview,.sp-preview .sp-preview-inner{border-radius:3px}.sp-preview .sp-clear-display,.sp-preview .sp-preview-inner{-webkit-box-shadow:0 0 0 1px rgba(0,0,0,.05);box-shadow:0 0 0 1px rgba(0,0,0,.05)}.sp-replacer[class*=bg-] .sp-preview .sp-preview-inner{-webkit-box-shadow:0 0 0 1px rgba(0,0,0,.5);box-shadow:0 0 0 1px rgba(0,0,0,.5)}.sp-dd{float:left;font-size:0;margin:4px 2px;color:#333}.sp-dd:after{content:'\e9c5';display:block;font-size:16px;line-height:1}.sp-sat{background-image:-webkit-gradient(linear,0 0,100% 0,from(#FFF),to(rgba(204,154,129,0)));background-image:-webkit-linear-gradient(left,#FFF,rgba(204,154,129,0));background-image:-moz-linear-gradient(left,#fff,rgba(204,154,129,0));background-image:-o-linear-gradient(left,#fff,rgba(204,154,129,0));background-image:-ms-linear-gradient(left,#fff,rgba(204,154,129,0));background-image:linear-gradient(to right,#fff,rgba(204,154,129,0));-ms-filter:"progid:DXImageTransform.Microsoft.gradient(GradientType = 1, startColorstr=#FFFFFFFF, endColorstr=#00CC9A81)";filter:progid:DXImageTransform.Microsoft.gradient(GradientType=1, startColorstr='#FFFFFFFF', endColorstr='#00CC9A81');-webkit-box-shadow:0 0 0 1px #ccc inset;box-shadow:0 0 0 1px #ccc inset}.sp-val{background-image:-webkit-gradient(linear,0 100%,0 0,from(#000),to(rgba(204,154,129,0)));background-image:-webkit-linear-gradient(bottom,#000,rgba(204,154,129,0));background-image:-moz-linear-gradient(bottom,#000,rgba(204,154,129,0));background-image:-o-linear-gradient(bottom,#000,rgba(204,154,129,0));background-image:-ms-linear-gradient(bottom,#000,rgba(204,154,129,0));background-image:linear-gradient(to top,#000,rgba(204,154,129,0));-ms-filter:"progid:DXImageTransform.Microsoft.gradient(startColorstr=#00CC9A81, endColorstr=#FF000000)";filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#00CC9A81', endColorstr='#FF000000')}.sp-hue{background:-moz-linear-gradient(top,red 0,#ff0 17%,#0f0 33%,#0ff 50%,#00f 67%,#f0f 83%,red 100%);background:-ms-linear-gradient(top,red 0,#ff0 17%,#0f0 33%,#0ff 50%,#00f 67%,#f0f 83%,red 100%);background:-o-linear-gradient(top,red 0,#ff0 17%,#0f0 33%,#0ff 50%,#00f 67%,#f0f 83%,red 100%);background:-webkit-gradient(linear,left top,left bottom,from(red),color-stop(.17,#ff0),color-stop(.33,#0f0),color-stop(.5,#0ff),color-stop(.67,#00f),color-stop(.83,#f0f),to(red));background:-webkit-linear-gradient(top,red 0,#ff0 17%,#0f0 33%,#0ff 50%,#00f 67%,#f0f 83%,red 100%);background:linear-gradient(to bottom,red 0,#ff0 17%,#0f0 33%,#0ff 50%,#00f 67%,#f0f 83%,red 100%)}.sp-1{height:17%;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff0000', endColorstr='#ffff00')}.sp-2{height:16%;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffff00', endColorstr='#00ff00')}.sp-3{height:17%;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#00ff00', endColorstr='#00ffff')}.sp-4{height:17%;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#00ffff', endColorstr='#0000ff')}.sp-5{height:16%;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#0000ff', endColorstr='#ff00ff')}.sp-6{height:17%;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff00ff', endColorstr='#ff0000')}.sp-palette{max-width:220px}.sp-palette-container{padding-right:0}.sp-palette-only .sp-palette-container{border:0;padding-right:15px}.sp-palette .sp-thumb-el{display:inline-block;position:relative;cursor:pointer;width:16px;height:16px}.sp-thumb-el .sp-thumb-inner{-webkit-box-shadow:0 0 0 1px rgba(0,0,0,.1) inset;box-shadow:0 0 0 1px rgba(0,0,0,.1) inset}.sp-thumb-el .sp-thumb-inner:hover{-webkit-box-shadow:0 0 0 1px rgba(0,0,0,.25) inset;box-shadow:0 0 0 1px rgba(0,0,0,.25) inset}.sp-palette .sp-thumb-el+.sp-thumb-el{margin-left:5px}.sp-palette .sp-thumb-el.sp-thumb-active{-webkit-box-shadow:0 0 0 2px rgba(0,0,0,.1) inset;box-shadow:0 0 0 2px rgba(0,0,0,.1) inset}.sp-palette .sp-thumb-el.sp-thumb-active .sp-thumb-inner{-webkit-box-shadow:0 0 0 1px rgba(0,0,0,.25) inset;box-shadow:0 0 0 1px rgba(0,0,0,.25) inset}.sp-palette .sp-thumb-active.sp-thumb-dark .sp-thumb-inner:after,.sp-palette .sp-thumb-active.sp-thumb-light .sp-thumb-inner:after{content:'\e600';display:block;font-family:icomoon;font-size:16px;line-height:1;color:#fff;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.sp-palette .sp-thumb-active.sp-thumb-light .sp-thumb-inner:after{color:#333}.sp-palette-row{font-size:0}.sp-palette-row+.sp-palette-row{margin-top:5px}.sp-palette-row:empty{margin-top:0}.sp-cancel,.sp-choose,.sp-palette-toggle{border:0;border-radius:2px;padding:7px 14px;float:left;width:48%;text-transform:uppercase;font-weight:500;text-align:center;font-size:12px;outline:0}.sp-button-container,.sp-palette-button-container{margin-top:15px;text-align:center}.sp-container[class*=bg-] .sp-button-container a,.sp-container[class*=bg-] .sp-button-container button,.sp-container[class*=bg-] .sp-palette-button-container a,.sp-container[class*=bg-] .sp-palette-button-container button{background-color:rgba(0,0,0,.25);color:#fff;border-color:transparent}.sp-cancel:focus,.sp-cancel:hover,.sp-choose:focus,.sp-choose:hover,.sp-palette-toggle:focus,.sp-palette-toggle:hover{-webkit-box-shadow:0 0 0 100px rgba(0,0,0,.05) inset;box-shadow:0 0 0 100px rgba(0,0,0,.05) inset}.sp-cancel:active,.sp-choose:active,.sp-palette-toggle:active{-webkit-box-shadow:0 0 0 100px rgba(0,0,0,.1) inset;box-shadow:0 0 0 100px rgba(0,0,0,.1) inset}.sp-cancel,.sp-palette-toggle{color:#333;background-color:#f5f5f5;margin-right:4%}.sp-cancel:focus,.sp-cancel:hover,.sp-palette-toggle:focus,.sp-palette-toggle:hover{color:#333}.sp-palette-toggle{margin-right:0;width:auto;float:none}.sp-choose{color:#fff;background-color:#607D8B}.datepicker>div{display:none}.datepicker.datepicker-dropdown{top:0;left:0;margin:0;padding:16px}.datepicker table{margin:0}.datepicker table tr td.day:hover{background-color:#f5f5f5;cursor:pointer}.datepicker table tr td.new,.datepicker table tr td.old{color:#999}.datepicker table tr td.disabled,.datepicker table tr td.disabled:hover{background-color:transparent;color:#999;cursor:default}.datepicker table tr td.range.today,.datepicker table tr td.range.today.active,.datepicker table tr td.range.today.active:hover,.datepicker table tr td.range.today.disabled,.datepicker table tr td.range.today.disabled:hover,.datepicker table tr td.range.today:hover,.datepicker table tr td.today,.datepicker table tr td.today.disabled,.datepicker table tr td.today.disabled:hover,.datepicker table tr td.today:hover{background-color:#f5f5f5}.datepicker table tr td.range,.datepicker table tr td.range.disabled,.datepicker table tr td.range.disabled:hover,.datepicker table tr td.range:hover{background-color:#f5f5f5;border-radius:0}.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,.datepicker table tr td.active,.datepicker table tr td.active.disabled,.datepicker table tr td.active.disabled:hover,.datepicker table tr td.active:hover{background-color:#26A69A;color:#fff}.datepicker table tr td span{display:block;width:31%;padding:8px 16px;float:left;margin:1%;cursor:pointer;border-radius:3px}.datepicker table tr td span:hover{background-color:#f5f5f5}.datepicker table tr td span.disabled,.datepicker table tr td span.disabled:hover{background-color:transparent;color:#999;cursor:default}.datepicker table tr td span.new,.datepicker table tr td span.old{color:#999}.datepicker table th.datepicker-switch{font-size:17px;font-weight:400}.datepicker table tfoot tr th,.datepicker table thead tr:first-child th{cursor:pointer;padding-top:15px;padding-bottom:15px;line-height:1}.datepicker table .cw{width:16px;padding:0 2px 0 5px}.datepicker table thead tr:first-child th.cw{cursor:default;background-color:transparent}.datepicker .table-condensed td,.datepicker .table-condensed th{text-align:center;padding:10px;border-radius:3px;border:0;line-height:1}.datepicker .table-condensed th.dow{padding-top:16px;color:#999}.table-striped .datepicker table tr td,.table-striped .datepicker table tr th{background-color:transparent}.datepaginator .pagination>li .dp-no-select:hover,.datepaginator .pagination>li .dp-off{background-color:#fafafa}.datepaginator{height:72px;text-align:center}.datepaginator-sm{height:68px}.datepaginator-lg{height:76px}.datepaginator .pagination{white-space:nowrap}.datepaginator .pagination>li{display:inline-block}.datepaginator .pagination>li>a{min-width:auto;text-align:center;border-radius:3px;margin-left:0;border:0}.datepaginator .pagination>li .dp-nav-square-edges{border-radius:0}.datepaginator .pagination>li .dp-no-select{color:#ccc;background-color:#fafafa}.datepaginator .pagination>li #dp-calendar{position:absolute;right:6px;top:6px}.datepaginator .pagination>li>.dp-nav{height:72px;padding:29px 0;width:38px;line-height:1;border-radius:3px}.datepaginator .pagination>li>a.dp-nav-sm{height:68px;padding:27px 0}.datepaginator .pagination>li>a.dp-nav-lg{height:76px;padding:31px 0}.datepaginator .pagination>li>a.dp-item{height:72px;padding:15px 0;width:35px}.datepaginator .pagination>li>a.dp-item-sm{height:68px;padding:13px 0}.datepaginator .pagination>li>a.dp-item-lg{height:76px;padding:17px 0}.datepaginator .pagination>li>.dp-today,.datepaginator .pagination>li>.dp-today:focus,.datepaginator .pagination>li>.dp-today:hover{background-color:#2196F3;color:#fff}.datepaginator .pagination>li>.dp-selected,.datepaginator .pagination>li>.dp-selected:focus,.datepaginator .pagination>li>.dp-selected:hover{background-color:#26A69A;color:#fff;width:140px}.ui-pnotify{top:20px;right:20px;position:absolute;height:auto;z-index:2;border-radius:3px}body>.ui-pnotify{position:fixed;z-index:100040;box-shadow:0 1px 3px rgba(0,0,0,.12),0 1px 2px rgba(0,0,0,.24)}.ui-pnotify.alert-rounded>.ui-pnotify-container{border-radius:100px}.ui-pnotify[class*=bg-]>.ui-pnotify-container{background-color:inherit;border-color:transparent;color:#fff}.ui-pnotify[class*=alpha-]>.ui-pnotify-container,.ui-pnotify[class*=text-]>.ui-pnotify-container{background-color:inherit;border-color:inherit;color:inherit}.ui-pnotify.stack-bottom-left,.ui-pnotify.stack-top-left{left:20px;right:auto}.ui-pnotify.stack-bottom-left,.ui-pnotify.stack-bottom-right{bottom:20px;top:auto}.ui-pnotify.stack-modal{left:50%;right:auto;margin-left:-150px}.ui-pnotify.stack-custom-right{top:auto;left:auto;bottom:200px;right:200px}.ui-pnotify.stack-custom-left{top:200px;left:200px;right:auto;bottom:auto}.ui-pnotify.stack-custom-top{right:0;left:0;top:0}.ui-pnotify.stack-custom-bottom{right:0;left:0;bottom:0;top:auto}.ui-pnotify.ui-pnotify-in{display:block!important}.ui-pnotify.ui-pnotify-move{-webkit-transition:left .5s ease,top .5s ease,right .5s ease,bottom .5s ease;-o-transition:left .5s ease,top .5s ease,right .5s ease,bottom .5s ease;transition:left .5s ease,top .5s ease,right .5s ease,bottom .5s ease}.ui-pnotify.ui-pnotify-fade-slow{-webkit-transition:opacity linear .6s;-o-transition:opacity linear .6s;transition:opacity linear .6s;opacity:0;filter:alpha(opacity=0)}.ui-pnotify.ui-pnotify-fade-slow.ui-pnotify.ui-pnotify-move{-webkit-transition:opacity .6s linear,left .5s ease,top .5s ease,right .5s ease,bottom .5s ease;-o-transition:opacity .6s linear,left .5s ease,top .5s ease,right .5s ease,bottom .5s ease;transition:opacity .6s linear,left .5s ease,top .5s ease,right .5s ease,bottom .5s ease}.ui-pnotify.ui-pnotify-fade-normal{-webkit-transition:opacity linear .4s;-o-transition:opacity linear .4s;transition:opacity linear .4s;opacity:0;filter:alpha(opacity=0)}.ui-pnotify.ui-pnotify-fade-normal.ui-pnotify.ui-pnotify-move{-webkit-transition:opacity .4s linear,left .5s ease,top .5s ease,right .5s ease,bottom .5s ease;-o-transition:opacity .4s linear,left .5s ease,top .5s ease,right .5s ease,bottom .5s ease;transition:opacity .4s linear,left .5s ease,top .5s ease,right .5s ease,bottom .5s ease}.ui-pnotify.ui-pnotify-fade-fast{-webkit-transition:opacity linear .2s;-o-transition:opacity linear .2s;transition:opacity linear .2s;opacity:0;filter:alpha(opacity=0)}.ui-pnotify.ui-pnotify-fade-fast.ui-pnotify.ui-pnotify-move{-webkit-transition:opacity .2s linear,left .5s ease,top .5s ease,right .5s ease,bottom .5s ease;-o-transition:opacity .2s linear,left .5s ease,top .5s ease,right .5s ease,bottom .5s ease;transition:opacity .2s linear,left .5s ease,top .5s ease,right .5s ease,bottom .5s ease}.ui-pnotify.ui-pnotify-fade-in{opacity:1;filter:alpha(opacity=100)}.ui-pnotify-container{padding:15px 20px;height:100%;position:relative;left:0;margin:0;border-radius:3px}.ui-pnotify-container:after{content:" ";visibility:hidden;display:block;height:0;clear:both}.ui-pnotify-container.ui-pnotify-sharp{border-radius:0}.ui-pnotify-title{display:block;margin-top:0;margin-bottom:8px;font-size:15px}.ui-pnotify-text{display:block}.ui-pnotify-icon{display:block;float:left;line-height:1}.ui-pnotify-icon>[class^=icon-]{margin-top:4px;margin-right:15px}.ui-pnotify-closer,.ui-pnotify-sticker{float:right;margin-left:8px;margin-top:4px;line-height:1;outline:0}.ui-pnotify-modal-overlay{background-color:rgba(0,0,0,.5);top:0;left:0;position:absolute;height:100%;width:100%;z-index:1}body>.ui-pnotify-modal-overlay{position:fixed;z-index:100039}.brighttheme{border:0 solid}.ui-pnotify[class*=bg-]>.brighttheme{background-color:inherit;border-color:inherit;color:inherit}.brighttheme-notice{background-color:#FFF3E0;border-color:#FF9800}.brighttheme-info{background-color:#E3F2FD;border-color:#1E88E5}.brighttheme-success{background-color:#E8F5E9;border-color:#4CAF50}.brighttheme-error{background-color:#FBE9E7;border-color:#FF5722}.brighttheme-icon-closer,.brighttheme-icon-sticker{position:relative;display:inline-block;width:10px;height:10px;outline:0}.brighttheme-icon-closer:after,.brighttheme-icon-sticker:after{font-family:Icomoon;font-size:10px;display:block;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.brighttheme-icon-closer:after{content:"\ed6a"}.brighttheme-icon-sticker:after{content:"\ee70"}.brighttheme-icon-sticker.brighttheme-icon-stuck:after{content:"\ee75"}.ui-pnotify[class*=alert-styled-]{border-width:0;padding:0}.ui-pnotify.alert-styled-left .brighttheme{border-left-width:44px}.ui-pnotify.alert-styled-left:after{left:0}.ui-pnotify.alert-styled-right .brighttheme{border-right-width:44px}.ui-pnotify.alert-styled-right:after{right:0}.brighttheme .ui-pnotify-action-bar{padding-top:15px}.brighttheme .ui-pnotify-action-bar input,.brighttheme .ui-pnotify-action-bar textarea{display:block;width:100%;border-color:transparent transparent #ddd;background-color:transparent;margin-bottom:15px!important;color:#333;padding:8px 0}.ui-pnotify[class*=bg-] .brighttheme .ui-pnotify-action-bar input,.ui-pnotify[class*=bg-] .brighttheme .ui-pnotify-action-bar textarea,.ui-pnotify[class*=bg-] .form-control{border-bottom-color:#fff;color:#fff}.ui-pnotify[class*=bg-] .brighttheme .ui-pnotify-action-bar input::-moz-placeholder,.ui-pnotify[class*=bg-] .brighttheme .ui-pnotify-action-bar textarea::-moz-placeholder{color:#fff;opacity:1}.ui-pnotify[class*=bg-] .brighttheme .ui-pnotify-action-bar input:-ms-input-placeholder,.ui-pnotify[class*=bg-] .brighttheme .ui-pnotify-action-bar textarea:-ms-input-placeholder{color:#fff}.ui-pnotify[class*=bg-] .brighttheme .ui-pnotify-action-bar input::-webkit-input-placeholder,.ui-pnotify[class*=bg-] .brighttheme .ui-pnotify-action-bar textarea::-webkit-input-placeholder{color:#fff}.ui-pnotify[class*=bg-] .form-control::-moz-placeholder{color:#fff;opacity:1}.ui-pnotify[class*=bg-] .form-control:-ms-input-placeholder{color:#fff}.ui-pnotify[class*=bg-] .form-control::-webkit-input-placeholder{color:#fff}.ui-pnotify-history-container{position:absolute;top:0;right:20px;width:70px;border-top:none;padding:0;z-index:10000;border-top-right-radius:0;border-top-left-radius:0}.ui-pnotify-history-container.ui-pnotify-history-fixed{position:fixed}.ui-pnotify-history-container .ui-pnotify-history-header{padding:2px;text-align:center}.ui-pnotify-history-container button{cursor:pointer;display:block;width:100%}.ui-pnotify-history-container .ui-pnotify-history-pulldown{display:block;margin:0 auto}@media (max-width:480px){.ui-pnotify-mobile-able.ui-pnotify{position:fixed;top:0;right:0;left:0;width:auto!important;-webkit-font-smoothing:antialiased;-moz-font-smoothing:antialiased;-ms-font-smoothing:antialiased;font-smoothing:antialiased}.ui-pnotify-mobile-able.ui-pnotify .ui-pnotify-shadow{border-bottom-width:5px;-webkit-box-shadow:none;box-shadow:none}.ui-pnotify-mobile-able.ui-pnotify.stack-bottom-left,.ui-pnotify-mobile-able.ui-pnotify.stack-top-left{left:0;right:0}.ui-pnotify-mobile-able.ui-pnotify.stack-bottom-left,.ui-pnotify-mobile-able.ui-pnotify.stack-bottom-right{left:0;right:0;bottom:0;top:auto}.ui-pnotify-mobile-able.ui-pnotify.stack-bottom-left .ui-pnotify-shadow,.ui-pnotify-mobile-able.ui-pnotify.stack-bottom-right .ui-pnotify-shadow{border-top-width:5px;border-bottom-width:1px}.ui-pnotify-mobile-able.ui-pnotify.ui-pnotify-nonblock-fade{opacity:.2;filter:alpha(opacity=20)}.ui-pnotify-mobile-able.ui-pnotify.ui-pnotify-nonblock-hide{display:none!important}.ui-pnotify-mobile-able .ui-pnotify-container{border-radius:0}}.jGrowl{z-index:2001;position:absolute}.sweet-alert,.sweet-overlay,body>.jGrowl{position:fixed}.jGrowl.top-left{left:20px;top:20px}.jGrowl.top-center{left:50%;top:20px;margin-left:-150px}.jGrowl.top-right{right:20px;top:20px}.jGrowl.center{top:40%;width:300px;left:50%;margin-left:-150px;margin-top:-35px}.jGrowl.center .jGrowl-closer,.jGrowl.center .jGrowl-notification{margin-left:auto;margin-right:auto}.jGrowl.bottom-left{left:20px;bottom:20px}.jGrowl.bottom-center{left:50%;bottom:20px;margin-left:-150px}.jGrowl.bottom-right{right:20px;bottom:20px}@media print{.jGrowl{display:none}}.jGrowl-notification{margin-bottom:10px;width:300px;text-align:left;display:none;border-width:0;-webkit-box-shadow:0 1px 3px rgba(0,0,0,.12),0 1px 2px rgba(0,0,0,.24);box-shadow:0 1px 3px rgba(0,0,0,.12),0 1px 2px rgba(0,0,0,.24)}.jGrowl-notification .jGrowl-header{font-size:15px;margin-bottom:5px}.jGrowl-notification .jGrowl-header:empty{margin:0}.jGrowl-notification .jGrowl-close{font-weight:300;background:0 0;border:0;font-size:17px;cursor:pointer;line-height:1;padding:0;float:right;color:inherit;outline:0;margin-left:10px;opacity:.75;filter:alpha(opacity=75)}.jGrowl-notification .jGrowl-close:hover{opacity:1;filter:alpha(opacity=100)}.irs-disabled,.sweet-alert button[disabled]{opacity:.6;filter:alpha(opacity=60)}.jGrowl-closer{padding:5px 0;cursor:pointer;margin-top:5px;text-align:center;background-color:#fff;width:300px;border-radius:3px;border:1px solid #ddd;color:#999}.alert-rounded+.jGrowl-closer{border-radius:4px}body.stop-scrolling{height:100%;overflow:hidden}.sweet-overlay{background-color:rgba(0,0,0,.4);left:0;right:0;top:0;bottom:0;display:none;z-index:1050}.sweet-alert{background-color:#fff;width:470px;padding:20px;border-radius:3px;text-align:center;left:50%;top:50%;margin-left:-235px;margin-top:-200px;overflow:hidden;display:none;z-index:1060;-webkit-box-shadow:0 14px 28px rgba(0,0,0,.25),0 10px 10px rgba(0,0,0,.22);box-shadow:0 14px 28px rgba(0,0,0,.25),0 10px 10px rgba(0,0,0,.22)}.sweet-alert h2{margin-top:10px;font-size:19px;text-align:center;display:block;position:relative}.sweet-alert p{text-align:center;position:relative}.sweet-alert fieldset{border:none;position:relative}.sweet-alert button{background-color:#2196F3;color:#fff;border:0;border-radius:3px;padding:8px 15px;margin:10px 5px 0;box-shadow:none!important}.sweet-alert button:hover{background-color:#1E88E5}.sweet-alert button:focus{outline:0}.sweet-alert button:active{background-color:#42A5F5}.sweet-alert button.cancel{background-color:transparent;color:#333}.sweet-alert button[disabled]{cursor:default}.sweet-alert button.confirm[disabled]{color:transparent}.sweet-alert button.confirm[disabled]~.la-ball-fall{visibility:visible;-webkit-transition-delay:0s;transition-delay:0s;opacity:1;filter:alpha(opacity=100)}.sweet-alert button::-moz-focus-inner{border:0}.sweet-alert[data-has-cancel-button=false] button{-webkit-box-shadow:none!important;box-shadow:none!important}.sweet-alert[data-has-cancel-button=false][data-has-confirm-button=false]{padding-bottom:40px}.sweet-alert .sa-error-container{background-color:#f5f5f5;overflow:hidden;padding:0 10px;max-height:0;border-radius:3px;-webkit-transition:padding .15s,max-height .15s;-o-transition:padding .15s,max-height .15s;transition:padding .15s,max-height .15s}.sweet-alert .sa-error-container p{display:inline-block;margin-bottom:0}.sweet-alert .sa-error-container.show{padding:10px 0;max-height:100px;-webkit-transition:padding .2s,max-height .2s;-o-transition:padding .2s,max-height .2s;transition:padding .2s,max-height .2s}.sweet-alert .sa-error-container .icon{display:inline-block;width:16px;height:16px;line-height:16px;border-radius:50%;background-color:#FF7043;color:#fff;text-align:center;margin-right:8px}.sweet-alert .sa-input-error{position:absolute;top:20px;right:16px;width:16px;height:16px;-webkit-transform:scale(.5);-ms-transform:scale(.5);-o-transform:scale(.5);transform:scale(.5);-webkit-transform-origin:50% 50%;-moz-transform-origin:50% 50%;-ms-transform-origin:50% 50%;transform-origin:50% 50%;-webkit-transition:all .1s;-o-transition:all .1s;transition:all .1s;opacity:0;filter:alpha(opacity=0)}.sweet-alert .sa-input-error:after,.sweet-alert .sa-input-error:before{content:"";width:16px;height:2px;background-color:#EF5350;border-radius:3px;position:absolute;top:50%;margin-top:-1px;left:50%;margin-left:-8px}.sweet-alert .sa-input-error:before{-webkit-transform:rotate(-45deg);-ms-transform:rotate(-45deg);-o-transform:rotate(-45deg);transform:rotate(-45deg)}.sweet-alert .sa-input-error:after{-webkit-transform:rotate(45deg);-ms-transform:rotate(45deg);-o-transform:rotate(45deg);transform:rotate(45deg)}.sweet-alert .sa-input-error.show{-webkit-transform:scale(1);-ms-transform:scale(1);-o-transform:scale(1);transform:scale(1);opacity:1;filter:alpha(opacity=100)}.sweet-alert input{width:100%;border-radius:3px;border:1px solid #ddd;margin-top:10px;margin-bottom:10px;font-size:13px;padding:8px 16px;display:none;-webkit-box-shadow:0 1px 1px rgba(0,0,0,.05) inset;box-shadow:0 1px 1px rgba(0,0,0,.05) inset;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;-webkit-transition:all .3s;-o-transition:all .3s;transition:all .3s}.sweet-alert input::-moz-placeholder{color:#bdbdbd;opacity:1}.sweet-alert input:-ms-input-placeholder{color:#bdbdbd}.sweet-alert input::-webkit-input-placeholder{color:#bdbdbd}.sweet-alert input:focus{outline:0}.sweet-alert input:focus:-ms-input-placeholder,.sweet-alert input:focus::-moz-placeholder,.sweet-alert input:focus::-webkit-input-placeholder{-webkit-transition:opacity ease .3s 30ms;-o-transition:opacity ease .3s 30ms;transition:opacity ease .3s 30ms;opacity:.5;filter:alpha(opacity=50)}.sweet-alert.show-input input{display:block}.sweet-alert .sa-confirm-button-container{display:inline-block;position:relative}.sweet-alert .la-ball-fall{position:absolute;left:50%;top:50%;margin-left:-27px;margin-top:0;visibility:hidden;opacity:0;filter:alpha(opacity=0)}.sweet-alert .sa-icon{width:80px;height:80px;border:4px solid #ddd;border-radius:50%;margin:10px auto 20px;padding:0;position:relative;box-sizing:content-box}.sweet-alert .sa-icon.sa-error{border-color:#F44336}.sweet-alert .sa-icon.sa-error .sa-x-mark{position:relative;display:block}.sweet-alert .sa-icon.sa-error .sa-line{position:absolute;height:5px;width:47px;background-color:#F44336;display:block;top:37px;border-radius:2px}.sweet-alert .sa-icon.sa-error .sa-line.sa-left{left:17px;-webkit-transform:rotate(45deg);-o-transform:rotate(45deg);transform:rotate(45deg)}.sweet-alert .sa-icon.sa-error .sa-line.sa-right{right:16px;-webkit-transform:rotate(-45deg);-o-transform:rotate(-45deg);transform:rotate(-45deg)}.sweet-alert .sa-icon.sa-success:after,.sweet-alert .sa-icon.sa-success:before{-webkit-transform:rotate(-45deg);-ms-transform:rotate(-45deg);-o-transform:rotate(-45deg)}.sweet-alert .sa-icon.sa-warning{border-color:#FF5722}.sweet-alert .sa-icon.sa-warning .sa-body{position:absolute;width:5px;height:47px;left:50%;top:10px;border-radius:2px;margin-left:-2px;background-color:#FF5722}.sweet-alert .sa-icon.sa-warning .sa-dot{position:absolute;width:7px;height:7px;border-radius:50%;margin-left:-3px;left:50%;bottom:10px;background-color:#FF5722}.sweet-alert .sa-icon.sa-info:after,.sweet-alert .sa-icon.sa-info:before{content:"";background-color:#2196F3;position:absolute}.sweet-alert .sa-icon.sa-info{border-color:#2196F3}.sweet-alert .sa-icon.sa-info:before{width:5px;height:29px;left:50%;bottom:17px;border-radius:2px;margin-left:-2px}.sweet-alert .sa-icon.sa-info:after{width:7px;height:7px;border-radius:50%;margin-left:-3px;top:19px}.sweet-alert .sa-icon.sa-success:after,.sweet-alert .sa-icon.sa-success:before{content:'';position:absolute;width:60px;height:120px;background-color:#fff}.sweet-alert .sa-icon.sa-success:before{border-radius:120px 0 0 120px;top:-7px;left:-33px;transform:rotate(-45deg);-webkit-transform-origin:60px 60px;-moz-transform-origin:60px 60px;-ms-transform-origin:60px 60px;transform-origin:60px 60px}.sweet-alert .sa-icon.sa-success:after{border-radius:0 120px 120px 0;top:-11px;left:30px;transform:rotate(-45deg);-webkit-transform-origin:0 60px;-moz-transform-origin:0 60px;-ms-transform-origin:0 60px;transform-origin:0 60px}.sweet-alert .sa-icon.sa-success .sa-placeholder{width:80px;height:80px;border:4px solid rgba(76,175,80,.2);border-radius:50%;position:absolute;left:-4px;top:-4px;z-index:2;-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box}.sweet-alert .sa-icon.sa-success .sa-fix{width:5px;height:90px;background-color:#fff;position:absolute;left:28px;top:8px;z-index:1;-webkit-transform:rotate(-45deg);-ms-transform:rotate(-45deg);-o-transform:rotate(-45deg);transform:rotate(-45deg)}.sweet-alert .sa-icon.sa-success .sa-line{height:5px;background-color:#4CAF50;display:block;border-radius:2px;position:absolute;z-index:2}.sweet-alert .sa-icon.sa-success .sa-line.sa-tip{width:25px;left:14px;top:46px;-webkit-transform:rotate(45deg);-o-transform:rotate(45deg);transform:rotate(45deg)}.sweet-alert .sa-icon.sa-success .sa-line.sa-long{width:47px;right:8px;top:38px;-webkit-transform:rotate(-45deg);-o-transform:rotate(-45deg);transform:rotate(-45deg)}.sweet-alert .sa-icon.sa-custom{background-size:contain;border-radius:0;border:0;background-position:center center;background-repeat:no-repeat}@media (max-width:480px){.sweet-alert{width:auto;margin-left:0;margin-right:0;left:20px;right:20px}}@-webkit-keyframes showSweetAlert{0%{-webkit-transform:scale(.7);-ms-transform:scale(.7);-o-transform:scale(.7);transform:scale(.7)}45%{-webkit-transform:scale(1.05);-ms-transform:scale(1.05);-o-transform:scale(1.05);transform:scale(1.05)}80%{-webkit-transform:scale(.95);-ms-transform:scale(.95);-o-transform:scale(.95);transform:scale(.95)}100%{-webkit-transform:scale(1);-ms-transform:scale(1);-o-transform:scale(1);transform:scale(1)}}@keyframes showSweetAlert{0%{-webkit-transform:scale(.7);-ms-transform:scale(.7);-o-transform:scale(.7);transform:scale(.7)}45%{-webkit-transform:scale(1.05);-ms-transform:scale(1.05);-o-transform:scale(1.05);transform:scale(1.05)}80%{-webkit-transform:scale(.95);-ms-transform:scale(.95);-o-transform:scale(.95);transform:scale(.95)}100%{-webkit-transform:scale(1);-ms-transform:scale(1);-o-transform:scale(1);transform:scale(1)}}.showSweetAlert[data-animation=pop]{-webkit-animation:showSweetAlert .3s;-o-animation:showSweetAlert .3s;animation:showSweetAlert .3s}.showSweetAlert[data-animation=none]{-webkit-animation:none;-o-animation:none;animation:none}@-webkit-keyframes hideSweetAlert{0%{-webkit-transform:scale(1);-ms-transform:scale(1);-o-transform:scale(1);transform:scale(1)}100%{-webkit-transform:scale(.5);-ms-transform:scale(.5);-o-transform:scale(.5);transform:scale(.5)}}@keyframes hideSweetAlert{0%{-webkit-transform:scale(1);-ms-transform:scale(1);-o-transform:scale(1);transform:scale(1)}100%{-webkit-transform:scale(.5);-ms-transform:scale(.5);-o-transform:scale(.5);transform:scale(.5)}}.hideSweetAlert[data-animation=pop]{-webkit-animation:hideSweetAlert .2s;-o-animation:hideSweetAlert .2s;animation:hideSweetAlert .2s}.hideSweetAlert[data-animation=none]{-webkit-animation:none;-o-animation:none;animation:none}@-webkit-keyframes slideFromTop{0%{top:0}100%{top:50%}}@keyframes slideFromTop{0%{top:0}100%{top:50%}}.showSweetAlert[data-animation=slide-from-top]{-webkit-animation:slideFromTop .3s;-o-animation:slideFromTop .3s;animation:slideFromTop .3s}@-webkit-keyframes slideToTop{0%{top:50%}100%{top:0}}@keyframes slideToTop{0%{top:50%}100%{top:0}}.hideSweetAlert[data-animation=slide-from-top]{-webkit-animation:slideToTop .4s;-o-animation:slideToTop .4s;animation:slideToTop .4s}@-webkit-keyframes slideFromBottom{0%{top:70%}100%{top:50%}}@keyframes slideFromBottom{0%{top:70%}100%{top:50%}}.showSweetAlert[data-animation=slide-from-bottom]{-webkit-animation:slideFromBottom .3s;-o-animation:slideFromBottom .3s;animation:slideFromBottom .3s}@-webkit-keyframes slideToBottom{0%{top:50%}100%{top:70%}}@keyframes slideToBottom{0%{top:50%}100%{top:70%}}.hideSweetAlert[data-animation=slide-from-bottom]{-webkit-animation:slideToBottom .3s;-o-animation:slideToBottom .3s;animation:slideToBottom .3s}@-webkit-keyframes animateSuccessTip{0%,54%{width:0;left:1px;top:19px}70%{width:50px;left:-8px;top:37px}84%{width:17px;left:21px;top:48px}100%{width:25px;left:14px;top:45px}}@keyframes animateSuccessTip{0%,54%{width:0;left:1px;top:19px}70%{width:50px;left:-8px;top:37px}84%{width:17px;left:21px;top:48px}100%{width:25px;left:14px;top:45px}}.animateSuccessTip{-webkit-animation:animateSuccessTip .75s;-o-animation:animateSuccessTip .75s;animation:animateSuccessTip .75s}@-webkit-keyframes animateSuccessLong{0%,65%{width:0;right:46px;top:54px}84%{width:55px;right:0;top:35px}100%{width:47px;right:8px;top:38px}}@keyframes animateSuccessLong{0%,65%{width:0;right:46px;top:54px}84%{width:55px;right:0;top:35px}100%{width:47px;right:8px;top:38px}}.animateSuccessLong{-webkit-animation:animateSuccessLong .75s;-o-animation:animateSuccessLong .75s;animation:animateSuccessLong .75s}@-webkit-keyframes rotatePlaceholder{0%,5%{-webkit-transform:rotate(-45deg);-ms-transform:rotate(-45deg);-o-transform:rotate(-45deg);transform:rotate(-45deg)}100%,12%{-webkit-transform:rotate(-405deg);-ms-transform:rotate(-405deg);-o-transform:rotate(-405deg);transform:rotate(-405deg)}}@keyframes rotatePlaceholder{0%,5%{-webkit-transform:rotate(-45deg);-ms-transform:rotate(-45deg);-o-transform:rotate(-45deg);transform:rotate(-45deg)}100%,12%{-webkit-transform:rotate(-405deg);-ms-transform:rotate(-405deg);-o-transform:rotate(-405deg);transform:rotate(-405deg)}}.sa-icon.sa-success.animate::after{-webkit-animation:rotatePlaceholder 4.25s ease-in;-o-animation:rotatePlaceholder 4.25s ease-in;animation:rotatePlaceholder 4.25s ease-in}@-webkit-keyframes animateErrorIcon{0%{-webkit-transform:rotateX(100deg);-ms-transform:rotateX(100deg);-o-transform:rotateX(100deg);transform:rotateX(100deg);opacity:0;filter:alpha(opacity=0)}100%{-webkit-transform:rotateX(0);-ms-transform:rotateX(0);-o-transform:rotateX(0);transform:rotateX(0);opacity:1;filter:alpha(opacity=100)}}@keyframes animateErrorIcon{0%{-webkit-transform:rotateX(100deg);-ms-transform:rotateX(100deg);-o-transform:rotateX(100deg);transform:rotateX(100deg);opacity:0;filter:alpha(opacity=0)}100%{-webkit-transform:rotateX(0);-ms-transform:rotateX(0);-o-transform:rotateX(0);transform:rotateX(0);opacity:1;filter:alpha(opacity=100)}}.animateErrorIcon{-webkit-animation:animateErrorIcon .5s;-o-animation:animateErrorIcon .5s;animation:animateErrorIcon .5s}@-webkit-keyframes animateXMark{0%,50%{margin-top:26px;-webkit-transform:scale(.4);-ms-transform:scale(.4);-o-transform:scale(.4);transform:scale(.4);opacity:0;filter:alpha(opacity=0)}80%{margin-top:-6px;-webkit-transform:scale(1.15);-ms-transform:scale(1.15);-o-transform:scale(1.15);transform:scale(1.15)}100%{margin-top:0;-webkit-transform:scale(1);-ms-transform:scale(1);-o-transform:scale(1);transform:scale(1);opacity:1;filter:alpha(opacity=100)}}@keyframes animateXMark{0%,50%{margin-top:26px;-webkit-transform:scale(.4);-ms-transform:scale(.4);-o-transform:scale(.4);transform:scale(.4);opacity:0;filter:alpha(opacity=0)}80%{margin-top:-6px;-webkit-transform:scale(1.15);-ms-transform:scale(1.15);-o-transform:scale(1.15);transform:scale(1.15)}100%{margin-top:0;-webkit-transform:scale(1);-ms-transform:scale(1);-o-transform:scale(1);transform:scale(1);opacity:1;filter:alpha(opacity=100)}}.animateXMark{-webkit-animation:animateXMark .5s;-o-animation:animateXMark .5s;animation:animateXMark .5s}@-webkit-keyframes pulseWarning{0%{border-color:#F8D486}100%{border-color:#F8BB86}}@keyframes pulseWarning{0%{border-color:#F8D486}100%{border-color:#F8BB86}}.pulseWarning{-webkit-animation:pulseWarning .75s infinite alternate;-o-animation:pulseWarning .75s infinite alternate;animation:pulseWarning .75s infinite alternate}@-webkit-keyframes pulseWarningIns{0%{background-color:#F8D486}100%{background-color:#F8BB86}}@keyframes pulseWarningIns{0%{background-color:#F8D486}100%{background-color:#F8BB86}}.pulseWarningIns{-webkit-animation:pulseWarningIns .75s infinite alternate;-o-animation:pulseWarningIns .75s infinite alternate;animation:pulseWarningIns .75s infinite alternate}@-webkit-keyframes rotate-loading{0%{-webkit-transform:rotate(0);-ms-transform:rotate(0);-o-transform:rotate(0);transform:rotate(0)}100%{-webkit-transform:rotate(360deg);-ms-transform:rotate(360deg);-o-transform:rotate(360deg);transform:rotate(360deg)}}@keyframes rotate-loading{0%{-webkit-transform:rotate(0);-ms-transform:rotate(0);-o-transform:rotate(0);transform:rotate(0)}100%{-webkit-transform:rotate(360deg);-ms-transform:rotate(360deg);-o-transform:rotate(360deg);transform:rotate(360deg)}}.sweet-alert .sa-icon.sa-error .sa-line.sa-left{-ms-transform:rotate(45deg)}.sweet-alert .sa-icon.sa-error .sa-line.sa-right{-ms-transform:rotate(-45deg)}.sweet-alert .sa-icon.sa-success{border-color:transparent}.sweet-alert .sa-icon.sa-success .sa-line.sa-tip{-ms-transform:rotate(45deg)}.sweet-alert .sa-icon.sa-success .sa-line.sa-long{-ms-transform:rotate(-45deg)}.la-ball-fall{display:block;font-size:0;color:#fff;width:54px;height:12px}.la-ball-fall.la-dark{color:#333}.la-ball-fall>div{display:inline-block;float:none;background-color:#fff;border:0 solid #fff;width:6px;height:6px;margin:2px;border-radius:100%;-webkit-animation:ball-fall 1s ease-in-out infinite;-o-animation:ball-fall 1s ease-in-out infinite;animation:ball-fall 1s ease-in-out infinite;opacity:0;filter:alpha(opacity=0)}.la-ball-fall>div:nth-child(1){-webkit-animation-delay:-.2s;animation-delay:-.2s}.la-ball-fall>div:nth-child(2){-webkit-animation-delay:-.1s;animation-delay:-.1s}.la-ball-fall>div:nth-child(3){-webkit-animation-delay:0s;animation-delay:0s}.la-ball-fall.la-sm{width:26px;height:8px}.la-ball-fall.la-sm>div{width:4px;height:4px;margin:2px}.la-ball-fall.la-2x{width:108px;height:36px}.la-ball-fall.la-2x>div{width:20px;height:20px;margin:8px}.la-ball-fall.la-3x{width:162px;height:54px}.la-ball-fall.la-3x>div{width:30px;height:30px;margin:12px}@-webkit-keyframes ball-fall{0%{-webkit-transform:translate(0,-145%);-ms-transform:translate(0,-145%);-o-transform:translate(0,-145%);transform:translate(0,-145%);opacity:0;filter:alpha(opacity=0)}10%,90%{opacity:.5;filter:alpha(opacity=50)}20%,80%{-webkit-transform:translate(0,0);-ms-transform:translate(0,0);-o-transform:translate(0,0);transform:translate(0,0);opacity:1;filter:alpha(opacity=100)}100%{-webkit-transform:translate(0,145%);-ms-transform:translate(0,145%);-o-transform:translate(0,145%);transform:translate(0,145%);opacity:0;filter:alpha(opacity=0)}}@-moz-keyframes ball-fall{0%{-webkit-transform:translate(0,-145%);-ms-transform:translate(0,-145%);-o-transform:translate(0,-145%);transform:translate(0,-145%);opacity:0;filter:alpha(opacity=0)}10%,90%{opacity:.5;filter:alpha(opacity=50)}20%,80%{-webkit-transform:translate(0,0);-ms-transform:translate(0,0);-o-transform:translate(0,0);transform:translate(0,0);opacity:1;filter:alpha(opacity=100)}100%{-webkit-transform:translate(0,145%);-ms-transform:translate(0,145%);-o-transform:translate(0,145%);transform:translate(0,145%);opacity:0;filter:alpha(opacity=0)}}@-o-keyframes ball-fall{0%{-webkit-transform:translate(0,-145%);-ms-transform:translate(0,-145%);-o-transform:translate(0,-145%);transform:translate(0,-145%);opacity:0;filter:alpha(opacity=0)}10%,90%{opacity:.5;filter:alpha(opacity=50)}20%,80%{-webkit-transform:translate(0,0);-ms-transform:translate(0,0);-o-transform:translate(0,0);transform:translate(0,0);opacity:1;filter:alpha(opacity=100)}100%{-webkit-transform:translate(0,145%);-ms-transform:translate(0,145%);-o-transform:translate(0,145%);transform:translate(0,145%);opacity:0;filter:alpha(opacity=0)}}@keyframes ball-fall{0%{-webkit-transform:translate(0,-145%);-ms-transform:translate(0,-145%);-o-transform:translate(0,-145%);transform:translate(0,-145%);opacity:0;filter:alpha(opacity=0)}10%,90%{opacity:.5;filter:alpha(opacity=50)}20%,80%{-webkit-transform:translate(0,0);-ms-transform:translate(0,0);-o-transform:translate(0,0);transform:translate(0,0);opacity:1;filter:alpha(opacity=100)}100%{-webkit-transform:translate(0,145%);-ms-transform:translate(0,145%);-o-transform:translate(0,145%);transform:translate(0,145%);opacity:0;filter:alpha(opacity=0)}}.bootbox .modal-title{font-size:15px}.ui-slider-pips.ui-slider-horizontal{margin-bottom:32px;margin-left:10px;margin-right:10px}.ui-slider-pips .ui-slider-label,.ui-slider-pips .ui-slider-pip-hide{display:none}.ui-slider-pips .ui-slider-pip-label .ui-slider-label{display:block}.ui-slider-pips .ui-slider-pip{height:10px;line-height:10px;font-size:85%;width:20px;margin-left:-11px;position:absolute;overflow:visible;text-align:center;top:20px;left:20px;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.irs,.noUi-target,.noUi-target *{-webkit-user-select:none;-moz-user-select:none}.ui-slider-pips .ui-slider-pip:hover .ui-slider-label{font-weight:500}.ui-slider-pips .ui-slider-line{background-color:#999;width:1px;height:3px;position:absolute;left:50%}.ui-slider-pips .ui-slider-label{position:absolute;top:8px;left:50%;width:20px;margin-left:-10px}.ui-slider-pips.ui-slider-vertical{margin:10px 40px 10px 10px}.ui-slider-pips.ui-slider-vertical .ui-slider-pip{text-align:left;top:auto;left:18px;margin-left:0;margin-bottom:-4px}.ui-slider-pips.ui-slider-vertical .ui-slider-line{width:3px;height:1px;position:absolute;top:50%;left:0}.ui-slider-pips.ui-slider-vertical .ui-slider-label{top:50%;margin-left:0;margin-top:-5px;width:20px;left:5px}.ui-slider-float .ui-slider-handle:focus,.ui-slider-float .ui-slider-handle:focus .ui-slider-tip,.ui-slider-float .ui-slider-handle:focus .ui-slider-tip-label{outline:0}.ui-slider-float .ui-slider-tip,.ui-slider-float .ui-slider-tip-label{position:absolute;visibility:hidden;top:-45px;display:block;width:34px;margin-left:-16px;left:50%;height:30px;line-height:32px;background:#333;border-radius:3px;text-align:center;font-size:12px;color:#fff;opacity:0;filter:alpha(opacity=0);-webkit-transition:all ease-in-out .2s .2s;-o-transition:all ease-in-out .2s .2s;transition:all ease-in-out .2s .2s}.ui-slider-float .ui-slider-handle:focus .ui-slider-tip,.ui-slider-float .ui-slider-handle:hover .ui-slider-tip{top:-40px;visibility:visible;opacity:1;filter:alpha(opacity=100);-webkit-transition-delay:.2s;transition-delay:.2s}.ui-slider-float .ui-slider-pip .ui-slider-tip-label{top:42px}.ui-slider-float .ui-slider-pip:hover .ui-slider-tip-label{top:32px;font-weight:400}.ui-slider-float .ui-slider-pip .ui-slider-tip-label:after,.ui-slider-float .ui-slider-tip:after{content:'';width:0;height:0;border:5px solid transparent;border-top-color:#333;position:absolute;bottom:-10px;left:50%;margin-left:-5px}.ui-slider-float.ui-slider-vertical .ui-slider-tip,.ui-slider-float.ui-slider-vertical .ui-slider-tip-label{top:50%;margin-top:-16px;width:34px;margin-left:0;left:-50px;-webkit-transition:all ease-in-out .2s .2s;-o-transition:all ease-in-out .2s .2s;transition:all ease-in-out .2s .2s}.ui-slider-float.ui-slider-vertical .ui-slider-handle:focus .ui-slider-tip,.ui-slider-float.ui-slider-vertical .ui-slider-handle:hover .ui-slider-tip,.ui-slider-float.ui-slider-vertical .ui-slider-pip:focus .ui-slider-tip-label,.ui-slider-float.ui-slider-vertical .ui-slider-pip:hover .ui-slider-tip-label{top:50%;margin-top:-16px;left:-45px}.ui-slider-float.ui-slider-vertical .ui-slider-pip .ui-slider-tip-label{left:47px}.ui-slider-float.ui-slider-vertical .ui-slider-pip:hover .ui-slider-tip-label{left:37px}.ui-slider-float.ui-slider-vertical .ui-slider-pip .ui-slider-tip-label:after,.ui-slider-float.ui-slider-vertical .ui-slider-tip:after{border-left-color:#333;bottom:9px;left:auto;margin-right:-9px;border-top-color:transparent;right:0;margin-left:0}.noUi-target{border-radius:100px;position:relative;direction:ltr}.noUi-target,.noUi-target *{-ms-user-select:none;user-select:none}.irs,.legitRipple{-ms-user-select:none}.noUi-base{width:100%;height:100%;position:relative}.noUi-origin{position:absolute;right:0;top:0;left:0;bottom:0;border-radius:100px}.noUi-state-drag *{cursor:inherit!important}.noUi-background{background-color:#eee}.noUi-connect,.noUi-handle{background-color:#5C6BC0}[disabled] .noUI-background{opacity:.75;filter:alpha(opacity=75)}[disabled] .noUi-handle{cursor:not-allowed}[disabled] .noUi-handle:active,[disabled] .noUi-handle:focus{-webkit-transform:scale(1.25);-ms-transform:scale(1.25);-o-transform:scale(1.25);transform:scale(1.25);-webkit-box-shadow:none;box-shadow:none}.noUi-horizontal{height:4px}.noUi-horizontal .noUi-handle{top:-4px;left:-6px}.noUi-horizontal.noUi-extended{padding:0 15px}.noUi-horizontal.noUi-extended .noUi-origin{right:-15px}.noUi-horizontal.has-pips{margin-bottom:35px}.noUi-vertical{display:inline-block;width:4px;height:150px}.noUi-vertical+.noUi-vertical{margin-left:20px}.noUi-vertical .noUi-handle{top:-6px;left:-4px}.noUi-vertical.noUi-extended{padding:15px 0}.noUi-vertical.noUi-extended .noUi-origin{bottom:-15px}.noUi-vertical.has-pips{margin-right:35px}.noUi-dragable{cursor:w-resize}.noUi-vertical .noUi-dragable{cursor:n-resize}.irs-slider,.noUi-handle{cursor:pointer;-ms-transform:scale(1)}.noUi-handle{width:12px;height:12px;position:relative;z-index:1;border-radius:50%;-webkit-transform:scale(1);-o-transform:scale(1);transform:scale(1)}.noUi-marker,.noUi-pips,.noUi-tooltip,.noUi-tooltip:after,.noUi-value{position:absolute}.noUi-stacking .noUi-handle{z-index:10}.noUi-handle:hover{-webkit-transform:scale(1.25);-ms-transform:scale(1.25);-o-transform:scale(1.25);transform:scale(1.25)}.noUi-handle:active,.noUi-handle:focus{-webkit-transform:scale(1.5);-ms-transform:scale(1.5);-o-transform:scale(1.5);transform:scale(1.5);-webkit-box-shadow:0 0 0 10px rgba(92,107,192,.1);box-shadow:0 0 0 10px rgba(92,107,192,.1)}.noui-slider-white .noUi-handle{background-color:#fff!important;-webkit-box-shadow:0 1px 3px rgba(0,0,0,.12),0 1px 2px rgba(0,0,0,.24);box-shadow:0 1px 3px rgba(0,0,0,.12),0 1px 2px rgba(0,0,0,.24)}.noui-slider-white .noUi-handle:active,.noui-slider-white .noUi-handle:focus{-webkit-box-shadow:0 0 0 10px rgba(0,0,0,.05),0 1px 3px rgba(0,0,0,.12),0 1px 2px rgba(0,0,0,.24)!important;box-shadow:0 0 0 10px rgba(0,0,0,.05),0 1px 3px rgba(0,0,0,.12),0 1px 2px rgba(0,0,0,.24)!important}.noui-slider-lg .noUi-handle{width:15px;height:15px;top:-5px}.noui-slider-lg.noui-slider-circle .noUi-handle:after{width:5px;height:5px;margin-top:-2.5px;margin-left:-2.5px}.noui-slider-lg.noUi-horizontal{height:5px}.noui-slider-lg.noUi-horizontal .noUi-handle{left:-7.5px}.noui-slider-lg.noUi-vertical{width:5px}.noui-slider-lg.noUi-vertical .noUi-handle{top:-7.5px;left:-5px}.noui-slider-sm.noUi-horizontal{height:3px}.noui-slider-sm.noUi-horizontal .noUi-handle{top:-4.5px;left:-6px}.noui-slider-sm.noUi-vertical{width:3px}.noui-slider-sm.noUi-vertical .noUi-handle{top:-6px;left:-4.5px}.noui-slider-xs.noUi-horizontal{height:2px}.noui-slider-xs.noUi-horizontal .noUi-handle{top:-5px;left:-6px}.noui-slider-xs.noUi-vertical{width:2px}.noui-slider-xs.noUi-vertical .noUi-handle{top:-6px;left:-5px}.noui-slider-circle .noUi-handle{background-color:#999;border-color:#999;-webkit-box-shadow:none;box-shadow:none}.noui-slider-circle .noUi-handle:after{content:'';display:inline-block;width:4px;height:4px;background-color:#fff;position:absolute;top:50%;left:50%;margin-top:-2px;margin-left:-2px;border-radius:100px}.noui-slider-primary .noUi-connect,.noui-slider-primary .noUi-handle,.noui-slider-primary.noUi-connect{background-color:#2196F3}.noui-slider-primary .noUi-handle:active,.noui-slider-primary .noUi-handle:focus{-webkit-box-shadow:0 0 0 10px rgba(33,150,243,.1);box-shadow:0 0 0 10px rgba(33,150,243,.1)}.noui-slider-danger .noUi-connect,.noui-slider-danger .noUi-handle,.noui-slider-danger.noUi-connect{background-color:#F44336}.noui-slider-danger .noUi-handle:active,.noui-slider-danger .noUi-handle:focus{-webkit-box-shadow:0 0 0 10px rgba(244,67,54,.1);box-shadow:0 0 0 10px rgba(244,67,54,.1)}.noui-slider-success .noUi-connect,.noui-slider-success .noUi-handle,.noui-slider-success.noUi-connect{background-color:#4CAF50}.noui-slider-success .noUi-handle:active,.noui-slider-success .noUi-handle:focus{-webkit-box-shadow:0 0 0 10px rgba(76,175,80,.1);box-shadow:0 0 0 10px rgba(76,175,80,.1)}.noui-slider-warning .noUi-connect,.noui-slider-warning .noUi-handle,.noui-slider-warning.noUi-connect{background-color:#FF5722}.noui-slider-warning .noUi-handle:active,.noui-slider-warning .noUi-handle:focus{-webkit-box-shadow:0 0 0 10px rgba(255,87,34,.1);box-shadow:0 0 0 10px rgba(255,87,34,.1)}.noui-slider-info .noUi-connect,.noui-slider-info .noUi-handle,.noui-slider-info.noUi-connect{background-color:#00BCD4}.noui-slider-info .noUi-handle:active,.noui-slider-info .noUi-handle:focus{-webkit-box-shadow:0 0 0 10px rgba(0,188,212,.1);box-shadow:0 0 0 10px rgba(0,188,212,.1)}.noUi-tooltip{display:none;border-radius:3px;background:#333;color:#fff;top:-43px;padding:8px 16px;left:50%;margin-left:-27px;text-align:center;font-size:12px;width:54px}.noUi-tooltip:after{content:'';width:0;height:0;border:5px solid transparent;border-top-color:#333;bottom:-10px;left:50%;margin-left:-5px}.noUi-handle:active .noUi-tooltip{display:block;-webkit-transform:scale(.75);-ms-transform:scale(.75);-o-transform:scale(.75);transform:scale(.75)}.noUi-pips{color:#999}.noUi-value{width:40px;text-align:center;font-size:11px}.noUi-value-sub{color:#ccc;font-size:11px}.noUi-marker{background-color:#ccc}.noUi-pips-horizontal{padding-top:10px;height:35px;top:100%;left:0;width:100%}.noUi-value-horizontal{margin-left:-20px;padding-top:15px}.noUi-value-horizontal.noUi-value-sub{padding-top:10px}.noUi-marker-horizontal.noUi-marker{width:1px;height:3px}.noUi-marker-horizontal.noUi-marker-sub{height:6px}.noUi-marker-horizontal.noUi-marker-large{height:10px}.noUi-pips-vertical{padding-left:10px;height:100%;top:0;left:100%}.noUi-value-vertical{width:15px;margin-left:15px;margin-top:-6px}.noUi-marker-vertical.noUi-marker{width:3px;height:1px}.noUi-marker-vertical.noUi-marker-sub{width:6px}.noUi-marker-vertical.noUi-marker-large{width:10px}.irs{position:relative;display:block;height:43px;user-select:none}.legitRipple,.line-numbers .line-numbers-rows{-webkit-user-select:none;-moz-user-select:none}.irs-hidden-input{position:absolute!important;display:block!important;top:0!important;left:0!important;width:0!important;height:0!important;font-size:0!important;line-height:0!important;padding:0!important;margin:0!important;outline:0!important;z-index:-9999!important;background:0 0!important;border-style:solid!important;border-color:transparent!important}.irs-bar,.irs-line{height:4px;display:block;border-radius:100px}.irs-line{position:relative;overflow:hidden;outline:0;top:37px;background-color:#eee}.irs-line-left,.irs-line-mid,.irs-line-right{position:absolute;display:block;top:0}.irs-line-left{left:0;width:11%}.irs-line-mid{left:9%;width:82%}.irs-line-right{right:0;width:11%}.irs-bar{position:absolute;top:37px;left:0;width:0;background-color:#5C6BC0}.irs-bar-edge{position:absolute;display:block;top:25px;left:0;height:12px;width:9px}.irs-shadow{position:absolute;display:none;top:37px;left:0;width:0;height:4px;background-color:#333;border-radius:100px;opacity:.25;filter:alpha(opacity=25)}.irs-slider{position:absolute;display:block;width:12px;height:12px;background-color:#5C6BC0;top:33px;border-radius:100px;z-index:1;-webkit-transform:scale(1);-o-transform:scale(1);transform:scale(1);-webkit-transition:-webkit-transform ease-in-out .15s;-o-transition:-webkit-transform ease-in-out .15s;transition:-webkit-transform ease-in-out .15s}.irs-from,.irs-max,.irs-min,.irs-single,.irs-to{padding:6px;border-radius:2px;font-size:11px;top:0;line-height:1}.irs-slider:hover{-webkit-transform:scale(1.25);-ms-transform:scale(1.25);-o-transform:scale(1.25);transform:scale(1.25)}.irs-slider:active,.irs-slider:focus{-webkit-transform:scale(1.5);-ms-transform:scale(1.5);-o-transform:scale(1.5);transform:scale(1.5);-webkit-box-shadow:0 0 0 10px rgba(92,107,192,.1);box-shadow:0 0 0 10px rgba(92,107,192,.1)}.irs-slider.type_last{z-index:2}.irs-from,.irs-max,.irs-min,.irs-single,.irs-to{position:absolute;display:block;cursor:default}.irs-max,.irs-min{color:#999;background-color:#eee}.irs-min{left:0}.irs-max{right:0}.irs-from,.irs-single,.irs-to{left:0;white-space:nowrap;color:#fff;background-color:#333}.irs-from:after,.irs-single:after,.irs-to:after{content:"";position:absolute;display:block;bottom:-8px;left:50%;width:0;height:0;margin-left:-4px;overflow:hidden;border:4px solid transparent;border-top-color:#333}.irs-grid,.irs-grid-pol,.irs-grid-text{left:0;position:absolute}.irs-grid{display:none;bottom:0;width:100%;height:24px}.irs-with-grid{height:75px}.irs-with-grid .irs-grid{display:block}.irs-grid-pol{top:0;width:1px;height:8px;background-color:#999}.irs-grid-pol.small{height:4px}.irs-grid-text{bottom:0;white-space:nowrap;text-align:center;font-size:11px;color:#999;line-height:1;padding:0 3px}.irs-disable-mask{position:absolute;display:block;top:0;left:-1%;width:102%;height:100%;cursor:default;background:0 0;z-index:2}.ui-draggable-handle,.ui-sortable-handle{-ms-touch-action:none;touch-action:none}.ui-sortable .ui-state-disabled{color:#999;cursor:not-allowed;opacity:.75;filter:alpha(opacity=75)}.sortable-placeholder{position:relative}.sortable-placeholder:before{content:'';display:inline-block;background-color:rgba(255,255,255,.8);width:100%;height:100%;position:absolute;left:0;top:0;border:1px dashed rgba(0,0,0,.2)}.sidebar .sortable-placeholder:before{border-left:0;border-right:0;background-color:rgba(0,0,0,.05)}.sidebar-category.ui-sortable-helper{background-color:rgba(0,0,0,.4)}.sidebar-default .sidebar-category.ui-sortable-helper{background-color:#fcfcfc}.panel+.sortable-placeholder{margin-bottom:20px}.sortable-placeholder+.panel{margin-top:20px}.panel-group>.sortable-placeholder:before{border-radius:3px}.panel-group .panel+.sortable-placeholder{margin-top:5px;margin-bottom:5px}.panel-group .sortable-placeholder+.panel{margin-top:5px}.table .ui-sortable-helper{width:100%;background-color:#fff;display:table}.table .sortable-placeholder{margin:0}.table .sortable-placeholder:before{content:none}.table.ui-sortable,.ui-resizable{position:relative}.ui-resizable,.ui-resizable .ui-dialog-content{-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box}.ui-resizable-handle{position:absolute;font-size:.1px;display:block;-ms-touch-action:none;touch-action:none}.ui-resizable-handle.ui-icon{display:inline-block;border-style:solid;border-width:0 0 6px 6px;border-color:transparent transparent #333}.ui-resizable-autohide .ui-resizable-handle,.ui-resizable-disabled .ui-resizable-handle{display:none}.ui-resizable-helper{border:1px dashed #ccc}.ui-resizable-n{cursor:n-resize;height:7px;width:100%;top:-5px;left:0}.ui-resizable-s{cursor:s-resize;height:7px;width:100%;bottom:-5px;left:0}.ui-resizable-e{cursor:e-resize;width:7px;right:-5px;top:0;height:100%}.ui-resizable-w{cursor:w-resize;width:7px;left:-5px;top:0;height:100%}.ui-resizable-se{cursor:se-resize;right:1px;bottom:1px}.ui-resizable-sw{cursor:sw-resize;width:9px;height:9px;left:-5px;bottom:-5px}.ui-resizable-nw{cursor:nw-resize;width:9px;height:9px;left:-5px;top:-5px}.ui-datepicker .ui-datepicker-prev,.ui-dialog,.ui-slider-horizontal .ui-slider-range-min{left:0}.ui-resizable-ne{cursor:ne-resize;width:9px;height:9px;right:-5px;top:-5px}.ui-accordion .ui-accordion-header .ui-accordion-header-icon:before,.ui-autocomplete-processing:after{font-family:Icomoon;width:16px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.ui-selectable{-ms-touch-action:none;touch-action:none}.ui-selectable-helper{position:absolute;z-index:100;border:1px dashed #333}.ui-accordion .ui-accordion-header{display:block;cursor:pointer;margin:5px 0 0;outline:0;position:relative;background-color:#fff;padding:15px 20px;border:1px solid #ddd;border-radius:3px}.ui-accordion .ui-accordion-header:first-child{margin-top:0}.ui-accordion .ui-accordion-header.ui-accordion-header-active{border-bottom-right-radius:0;border-bottom-left-radius:0}.ui-accordion .ui-accordion-header .ui-accordion-header-icon{position:absolute;top:50%;right:20px;margin-top:-8px}.ui-accordion .ui-accordion-header .ui-accordion-header-icon:before{content:'\e9b8';display:block;font-size:16px;line-height:1}.ui-accordion .ui-accordion-header-active .ui-accordion-header-icon:before{content:'\e9b7'}.ui-accordion .ui-accordion-icons{padding-right:46px}.ui-accordion .ui-accordion-content{padding:20px;background-color:#fff;border:1px solid #ddd;border-top:0;overflow:auto;border-bottom-right-radius:3px;border-bottom-left-radius:3px}.accordion-sortable-group+.accordion-sortable-group{margin-top:5px}.ui-autocomplete{position:absolute;display:none;padding:8px 0;z-index:1000;max-height:250px;overflow-y:auto;overflow-x:hidden}.ui-autocomplete .ui-autocomplete-category{padding:8px 16px;font-size:11px;line-height:1.82;text-transform:uppercase;font-weight:700;margin-top:2px;margin-bottom:2px}.fc th,.fc-button,.ui-button{font-weight:500}.ui-autocomplete .ui-autocomplete-category~.ui-menu-item{padding-left:32px}.ui-autocomplete-processing:after{content:'\eb51';display:inline-block;position:absolute;top:50%;right:0;text-align:right;margin-top:-8px;font-size:16px;line-height:1;color:inherit;-o-animation:rotation 1s linear infinite;animation:rotation 1s linear infinite}.ui-button{display:inline-block;position:relative;touch-action:manipulation;margin-bottom:0;padding:9px 17px;border-radius:3px;cursor:pointer;text-align:center;background-color:#f5f5f5;border:0;text-transform:uppercase;color:#333}.ui-button.ui-state-focus,.ui-button.ui-state-hover{color:#333;-webkit-box-shadow:0 0 0 100px rgba(0,0,0,.05) inset;box-shadow:0 0 0 100px rgba(0,0,0,.05) inset}.ui-button.ui-state-active{-webkit-box-shadow:0 0 0 100px rgba(0,0,0,.1) inset;box-shadow:0 0 0 100px rgba(0,0,0,.1) inset}.ui-button.ui-state-disabled{cursor:not-allowed;opacity:.65;filter:alpha(opacity=65);-webkit-box-shadow:none;box-shadow:none}.ui-button[class*=bg-].ui-state-focus,.ui-button[class*=bg-].ui-state-hover{color:#fff}.ui-button.ui-button-link{background-color:transparent;border-color:transparent}.ui-button.ui-button-link.ui-state-focus,.ui-button.ui-button-link.ui-state-hover{color:#166dba}.ui-button.ui-button-link.ui-state-active,.ui-button.ui-button-link.ui-state-focus,.ui-button.ui-button-link.ui-state-hover{-webkit-box-shadow:none;box-shadow:none}.ui-button::-moz-focus-inner{border:0;padding:0}.ui-button-icon-primary .ui-button-icons-only,.ui-button-text-icon-primary .ui-button-icon-primary,.ui-button-text-icons .ui-button-icon-primary{margin-right:10px}.ui-button-icons-only .ui-button-icon-secondary,.ui-button-text-icon-secondary .ui-button-icon-secondary,.ui-button-text-icons .ui-button-icon-secondary{margin-left:10px}.ui-button-icon-only{padding-left:11px;padding-right:11px}.ui-button-icon-only .ui-button-text,.ui-button-icons-only .ui-button-text{display:none}.ui-buttonset,.ui-buttonset-split{position:relative;display:inline-block}.ui-buttonset .ui-button{border-radius:0;margin-left:1px;float:left}.ui-buttonset .ui-button:first-child,.ui-buttonset .ui-helper-hidden-accessible:first-child+.ui-button{margin-left:0}.ui-buttonset .ui-button:first-child,.ui-buttonset .ui-helper-hidden-accessible:first-child+.ui-button:not(:last-child){border-bottom-left-radius:3px;border-top-left-radius:3px}.ui-buttonset .ui-button:last-child{border-bottom-right-radius:3px;border-top-right-radius:3px}.ui-buttonset-split>ul{position:absolute;text-align:left;min-width:180px}.ui-datepicker{min-width:270px;background-color:#fff;padding:16px;display:none;border-radius:3px;z-index:190;-webkit-box-shadow:0 3px 6px rgba(0,0,0,.16),0 3px 6px rgba(0,0,0,.23);box-shadow:0 3px 6px rgba(0,0,0,.16),0 3px 6px rgba(0,0,0,.23)}.ui-datepicker .ui-datepicker-next-hover,.ui-datepicker .ui-datepicker-prev-hover,.ui-datepicker table td .ui-state-hover{background-color:#f5f5f5}.sidebar .ui-datepicker{min-width:0}.ui-datepicker .ui-datepicker-header{position:relative}.ui-datepicker .ui-datepicker-title{margin:0 40px;padding-top:15px;padding-bottom:15px;font-size:17px;text-align:center;line-height:1}.ui-datepicker .ui-datepicker-title .ui-datepicker-year{font-size:13px;color:#999;margin-left:5px}.ui-datepicker .ui-datepicker-title select{outline:0;height:32px;border-color:#ddd}.ui-datepicker .ui-datepicker-title select.ui-datepicker-month,.ui-datepicker .ui-datepicker-title select.ui-datepicker-year{width:48%;font-size:13px;color:#333}.ui-datepicker .ui-datepicker-next,.ui-datepicker .ui-datepicker-prev{position:absolute;top:50%;margin-top:-16px;color:#333;padding:8px;border-radius:2px}.ui-datepicker .ui-datepicker-next:after,.ui-datepicker .ui-datepicker-prev:after{font-family:icomoon;display:block;font-size:16px;width:16px;text-align:center;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.ui-datepicker .ui-datepicker-next span,.ui-datepicker .ui-datepicker-prev span{display:none}.ui-datepicker .ui-datepicker-prev:after{content:'\e9c8'}.ui-datepicker .ui-datepicker-next{right:0}.ui-datepicker .ui-datepicker-next:after{content:'\e9cb'}.ui-datepicker table{width:100%;margin:0}.ui-datepicker table th{text-align:center;font-weight:400;border:0;padding-top:10px;padding-bottom:10px;font-size:12px;color:#999}.ui-datepicker table td{border:0;padding:1px;position:relative}.ui-datepicker table td a,.ui-datepicker table td span{display:block;padding:6px;text-align:center;text-decoration:none;border-radius:3px;color:#333;min-width:34px}.ui-datepicker table td.ui-state-disabled span{color:#ccc}.ui-datepicker table td.ui-datepicker-week-col{padding:6px;color:#999}.ui-datepicker table td.ui-datepicker-current-day .ui-state-active{background-color:#26A69A;color:#fff}.ui-datepicker table td.ui-datepicker-today .ui-state-highlight{background-color:#2196F3;color:#fff}.ui-datepicker table td.ui-datepicker-today .ui-state-highlight:after{content:"";position:absolute;top:3px;right:3px;width:0;height:0;border-top:6px solid #fff;border-left:6px solid transparent}.ui-datepicker table td a.ui-priority-secondary{opacity:.6;filter:alpha(opacity=60)}.ui-datepicker .ui-datepicker-buttonpane button{float:right;background-color:#f5f5f5;font-weight:400;margin-top:16px;border:0;cursor:pointer;padding:8px 16px;width:auto;overflow:visible;outline:0;border-radius:3px}.ui-datepicker .ui-datepicker-buttonpane button.ui-datepicker-current,.ui-datepicker-multi .ui-datepicker-group{float:left}.ui-datepicker .ui-datepicker-buttonpane button.ui-state-hover{-webkit-box-shadow:0 0 0 100px rgba(0,0,0,.05) inset;box-shadow:0 0 0 100px rgba(0,0,0,.05) inset}.ui-datepicker .ui-datepicker-buttonpane button:active{-webkit-box-shadow:0 0 0 100px rgba(0,0,0,.1) inset;box-shadow:0 0 0 100px rgba(0,0,0,.1) inset}.ui-datepicker.ui-datepicker-multi{width:auto!important}.datepicker-inline{width:264px;max-width:100%;overflow-x:auto}.full-width.datepicker-inline,.popover .datepicker-inline,.sidebar .datepicker-inline{width:100%}.ui-datepicker-trigger{position:absolute;top:4px;right:0;z-index:4;padding:6px 0;cursor:pointer}.ui-datepicker-row-break{clear:both;width:100%;font-size:0}.ui-datepicker-multi .ui-datepicker-group+.ui-datepicker-group{padding-left:15px}.ui-datepicker-multi .ui-datepicker-group-last .ui-datepicker-header{border-left-width:0}.ui-datepicker-multi .ui-datepicker-buttonpane{clear:left}.ui-datepicker-multi-2 .ui-datepicker-group{width:46%}.ui-datepicker-multi-3 .ui-datepicker-group{width:33.3%}.ui-datepicker-multi-4 .ui-datepicker-group{width:25%}.ui-dialog{position:fixed;top:0;background-color:#fff;border-radius:3px;border:1px solid transparent;outline:0;overflow:hidden;-webkit-box-shadow:0 14px 28px rgba(0,0,0,.25),0 10px 10px rgba(0,0,0,.22);box-shadow:0 14px 28px rgba(0,0,0,.25),0 10px 10px rgba(0,0,0,.22)}@media (max-width:768px){.ui-dialog{width:90%!important}}.ui-dialog-titlebar{position:relative;padding:20px 20px 0}.ui-draggable .ui-dialog-titlebar{cursor:move}.ui-dialog-title{float:left;font-size:17px;white-space:nowrap;width:90%;overflow:hidden;text-overflow:ellipsis}.ui-dialog-titlebar-close{position:absolute;background-color:transparent;border:0;right:20px;top:50%;padding:0;margin-top:2px}.ui-dialog-titlebar-close:after{content:'\ed6b';font-family:Icomoon;display:block;width:16px;font-size:16px;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.ui-dialog-titlebar-close.ui-state-focus,.ui-dialog-titlebar-close.ui-state-hover{-webkit-box-shadow:none;box-shadow:none}.ui-dialog-content{position:relative;border:0;padding:20px;background:0 0;overflow:auto}.ui-dialog-content .form-group:last-child,.ui-dialog-content p:last-child{margin-bottom:0}.ui-dialog-buttonpane{padding:0 20px 20px}.ui-dialog-buttonpane .ui-dialog-buttonset{float:right}.ui-dialog-buttonpane button+button{margin-left:5px;cursor:pointer}.ui-menu{list-style:none;padding:8px 0;margin:0;display:block;outline:0;min-width:180px;white-space:nowrap;background-color:#fff;border-radius:3px;z-index:1000;-webkit-box-shadow:0 3px 6px rgba(0,0,0,.16),0 3px 6px rgba(0,0,0,.23);box-shadow:0 3px 6px rgba(0,0,0,.16),0 3px 6px rgba(0,0,0,.23)}.ui-menu .ui-menu{position:absolute;top:-8px!important}.ui-menu .ui-menu-item{position:relative;margin:0;cursor:pointer;padding:8px 16px;min-height:0;outline:0}.ui-menu .ui-menu-item>a{display:block;color:#333}.ui-menu .ui-menu-item>i{margin-right:8px}.ui-menu .ui-menu-item>.ui-menu-icon{position:absolute;top:50%;margin-top:-8px;right:15px}.ui-menu .ui-menu-item>.ui-menu-icon:after{content:'\e9c7';font-family:icomoon;font-size:16px;font-weight:400;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;opacity:.8;filter:alpha(opacity=80)}.ui-selectmenu-button:after,.ui-spinner-button:after{font-family:Icomoon;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.ui-menu .ui-menu-item.ui-state-disabled,.ui-menu .ui-menu-item.ui-state-disabled a{color:#999;cursor:not-allowed}.ui-menu .ui-menu-header{padding:8px 16px;font-size:11px;line-height:1.82;text-transform:uppercase;color:#999;margin-top:8px}.ui-menu .ui-menu-header.highlight{margin-top:0;background-color:#f8f8f8;color:#999}.ui-menu .ui-menu-header.highlight:first-child{margin-top:0}.ui-menu .highlight+.ui-menu-item,.ui-menu .ui-menu-item+.highlight{margin-top:8px}.ui-menu .ui-menu-header>i[class*=icon-],.ui-menu .ui-menu-item>a>i[class*=icon-]{margin-top:2px;float:left;margin-right:16px;top:0}.ui-menu .ui-menu-header>i[class*=icon-].pull-right,.ui-menu .ui-menu-item>a>i[class*=icon-].pull-right{margin-right:0;margin-left:16px}.ui-menu .ui-menu-divider{margin:8px 0;height:0;font-size:0;line-height:0;border-top:1px solid #e5e5e5}.ui-menu .ui-state-active,.ui-menu .ui-state-focus{color:#333;background-color:#f5f5f5}.ui-menu.ui-state-disabled,.ui-menu.ui-state-disabled .ui-menu-item,.ui-menu.ui-state-disabled a{color:#999;cursor:not-allowed}.ui-progressbar{height:18px;overflow:hidden;position:relative;background-color:#eee;border-radius:3px}.ui-progressbar-value{float:left;width:0;background-color:#2196F3;color:#fff;overflow:hidden;-webkit-transition:width .6s ease;-o-transition:width .6s ease;transition:width .6s ease}.ui-progressbar-overlay,.ui-progressbar-value{height:100%;background-size:40px 40px}.ui-progressbar-overlay,.ui-progressbar-striped .ui-progressbar-overlay,.ui-progressbar-striped .ui-progressbar-value{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent)}.ui-progressbar-active .ui-progressbar-value,.ui-progressbar-overlay{-webkit-animation:progress-bar-stripes 2s linear infinite;-o-animation:progress-bar-stripes 2s linear infinite;animation:progress-bar-stripes 2s linear infinite}.ui-progressbar-indeterminate .ui-progressbar-value{background-image:none}.ui-selectmenu-menu{padding:0;margin:0;position:absolute;top:0;left:0;display:none}.ui-selectmenu-menu .ui-menu{max-height:250px;overflow-y:auto;overflow-x:hidden}.ui-selectmenu-menu .ui-menu .ui-selectmenu-optgroup{font-size:11px;font-weight:700;line-height:1.82;padding:8px 16px;margin:8px 0;text-transform:uppercase;height:auto;border:0}.ui-selectmenu-menu .ui-menu .ui-selectmenu-optgroup~.ui-menu-item{padding-left:32px}.ui-selectmenu-open{display:block}.ui-selectmenu-button{display:inline-block;position:relative;text-decoration:none;cursor:pointer;height:38px;padding:8px 26px 8px 0;background-color:transparent;border:1px solid transparent;border-bottom-color:#ddd;outline:0}.ui-selectmenu-button.ui-state-focus,.ui-selectmenu-button[aria-expanded=true]{border-bottom-color:#009688;-webkit-box-shadow:0 1px 0 #009688;box-shadow:0 1px 0 #009688}.ui-selectmenu-button:after{content:'\e9c5';display:inline-block;position:absolute;top:50%;right:0;text-align:right;margin-top:-8px;font-size:16px;line-height:1;color:inherit}.ui-selectmenu-button .ui-selectmenu-text{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ui-selectmenu-disabled{cursor:not-allowed;color:#999;border-bottom-style:dashed}.ui-selectmenu-lg .ui-selectmenu-button{height:40px}.ui-selectmenu-lg .ui-selectmenu-button .ui-selectmenu-text{padding:9px 28px 9px 0}.ui-selectmenu-sm .ui-selectmenu-button{height:36px}.ui-selectmenu-sm .ui-selectmenu-button .ui-selectmenu-text{padding:7px 24px 7px 0;font-size:12px;line-height:1.6666667}.ui-selectmenu-xs .ui-selectmenu-button{height:34px}.ui-selectmenu-xs .ui-selectmenu-button .ui-selectmenu-text{padding:6px 22px 6px 0;font-size:12px;line-height:1.6666667}.ui-selectmenu-images .ui-menu-item>span{display:inline-block;margin-right:10px;border-radius:100px;width:20px;height:20px;background-size:20px 20px;float:left}.ui-selectmenu-images .demo-img-amazon{background:url(../images/brands/amazon.png) no-repeat}.ui-selectmenu-images .demo-img-youtube{background:url(../images/brands/youtube.png) no-repeat}.ui-selectmenu-images .demo-img-twitter{background:url(../images/brands/twitter.png) no-repeat}.ui-selectmenu-images .demo-img-bing{background:url(../images/brands/bing.png) no-repeat}.ui-selectmenu-images .demo-img-spotify{background:url(../images/brands/spotify.png) no-repeat}.ui-slider{position:relative;text-align:left;background-color:#eee;border-radius:100px}.ui-slider .ui-slider-handle{position:absolute;z-index:2;width:12px;height:12px;cursor:pointer;border-radius:50%;background-color:#5C6BC0;outline:0;-webkit-transform:scale(1);-ms-transform:scale(1);-o-transform:scale(1);transform:scale(1);-webkit-transition:-webkit-transform ease-in-out .15s,box-shadow ease-in-out .15s;-o-transition:-webkit-transform ease-in-out .15s,box-shadow ease-in-out .15s;transition:-webkit-transform ease-in-out .15s,box-shadow ease-in-out .15s}.ui-slider .ui-slider-handle.ui-state-hover{-webkit-transform:scale(1.25);-ms-transform:scale(1.25);-o-transform:scale(1.25);transform:scale(1.25)}.ui-slider .ui-slider-handle.ui-state-active,.ui-slider .ui-slider-handle.ui-state-focus{-webkit-transform:scale(1.5);-ms-transform:scale(1.5);-o-transform:scale(1.5);transform:scale(1.5);-webkit-box-shadow:0 0 0 10px rgba(92,107,192,.1);box-shadow:0 0 0 10px rgba(92,107,192,.1)}.ui-slider .ui-slider-range{position:absolute;z-index:1;display:block;border:0;background-color:#5C6BC0;border-radius:100px}.ui-slider.ui-slider-disabled{opacity:.6;filter:alpha(opacity=60)}.ui-slider-horizontal{height:4px}.ui-slider-horizontal .ui-slider-handle{top:-4px;margin-left:-6px}.ui-slider-horizontal .ui-slider-range{top:0;height:100%}.ui-slider-horizontal .ui-slider-range-max{right:0}.ui-slider-vertical{width:4px;height:150px;display:inline-block;margin:0 10px}.ui-slider-vertical .ui-slider-handle{left:-4px;margin-bottom:-6px}.ui-slider-vertical .ui-slider-range{left:0;width:100%}.ui-slider-vertical .ui-slider-range-min{bottom:0}.ui-slider-vertical .ui-slider-range-max{top:0}.ui-slider-circle .ui-slider-handle:after{content:'';display:inline-block;width:4px;height:4px;background-color:#fff;position:absolute;top:50%;left:50%;margin-top:-2px;margin-left:-2px;border-radius:100px}.ui-spinner,.ui-tabs{position:relative}.ui-handle-white .ui-slider-handle{background-color:#fff!important;-webkit-box-shadow:0 1px 3px rgba(0,0,0,.12),0 1px 2px rgba(0,0,0,.24);box-shadow:0 1px 3px rgba(0,0,0,.12),0 1px 2px rgba(0,0,0,.24)}.ui-handle-white .ui-slider-handle.ui-state-active,.ui-handle-white .ui-slider-handle.ui-state-focus{-webkit-box-shadow:0 0 0 10px rgba(0,0,0,.05),0 1px 3px rgba(0,0,0,.12),0 1px 2px rgba(0,0,0,.24)!important;box-shadow:0 0 0 10px rgba(0,0,0,.05),0 1px 3px rgba(0,0,0,.12),0 1px 2px rgba(0,0,0,.24)!important}.ui-slider-lg .ui-slider-handle{width:15px;height:15px}.ui-slider-lg .ui-slider-handle:after{width:5px;height:5px;margin-top:-2.5px;margin-left:-2.5px}.ui-slider-lg.ui-slider-horizontal{height:5px}.ui-slider-lg.ui-slider-horizontal .ui-slider-handle{top:-5px;margin-left:-7.5px}.ui-slider-lg.ui-slider-vertical{width:5px}.ui-slider-lg.ui-slider-vertical .ui-slider-handle{left:-5px;margin-bottom:-7.5px}.ui-slider-sm.ui-slider-horizontal{height:3px}.ui-slider-sm.ui-slider-horizontal .ui-slider-handle{top:-4.5px;margin-left:-6px}.ui-slider-sm.ui-slider-vertical{width:3px}.ui-slider-sm.ui-slider-vertical .ui-slider-handle{left:-4.5px;margin-bottom:-6px}.ui-slider-xs.ui-slider-horizontal{height:2px}.ui-slider-xs.ui-slider-horizontal .ui-slider-handle{top:-5px;margin-left:-6px}.ui-slider-xs.ui-slider-vertical{width:2px}.ui-slider-xs.ui-slider-vertical .ui-slider-handle{left:-5px;margin-bottom:-6px}.ui-slider-primary .ui-slider-handle,.ui-slider-primary .ui-slider-range{background-color:#2196F3}.ui-slider-primary .ui-slider-handle.ui-state-active,.ui-slider-primary .ui-slider-handle.ui-state-focus{-webkit-box-shadow:0 0 0 10px rgba(33,150,243,.1);box-shadow:0 0 0 10px rgba(33,150,243,.1)}.ui-slider-danger .ui-slider-handle,.ui-slider-danger .ui-slider-range{background-color:#F44336}.ui-slider-danger .ui-slider-handle.ui-state-active,.ui-slider-danger .ui-slider-handle.ui-state-focus{-webkit-box-shadow:0 0 0 10px rgba(244,67,54,.1);box-shadow:0 0 0 10px rgba(244,67,54,.1)}.ui-slider-success .ui-slider-handle,.ui-slider-success .ui-slider-range{background-color:#4CAF50}.ui-slider-success .ui-slider-handle.ui-state-active,.ui-slider-success .ui-slider-handle.ui-state-focus{-webkit-box-shadow:0 0 0 10px rgba(76,175,80,.1);box-shadow:0 0 0 10px rgba(76,175,80,.1)}.ui-slider-warning .ui-slider-handle,.ui-slider-warning .ui-slider-range{background-color:#FF5722}.ui-slider-warning .ui-slider-handle.ui-state-active,.ui-slider-warning .ui-slider-handle.ui-state-focus{-webkit-box-shadow:0 0 0 10px rgba(255,87,34,.1);box-shadow:0 0 0 10px rgba(255,87,34,.1)}.ui-slider-info .ui-slider-handle,.ui-slider-info .ui-slider-range{background-color:#00BCD4}.ui-slider-info .ui-slider-handle.ui-state-active,.ui-slider-info .ui-slider-handle.ui-state-focus{-webkit-box-shadow:0 0 0 10px rgba(0,188,212,.1);box-shadow:0 0 0 10px rgba(0,188,212,.1)}.ui-spinner{display:table}.ui-spinner-input{display:table-cell;width:calc(100% - 16px)}.ui-spinner-button{font-size:0;cursor:pointer;display:table-cell;width:1%;border-radius:0;padding-left:11px;padding-right:11px}.ui-spinner-button:after{display:inline-block;width:16px;font-size:16px;line-height:1}.ui-spinner-button+.ui-spinner-button{border-left:1px solid #fff}.ui-spinner-button .ui-button-text{display:none}.ui-spinner-button.ui-state-focus,.ui-spinner-button.ui-state-hover{color:#333}.ui-spinner-button.ui-state-disabled{background-color:transparent;color:#999;cursor:not-allowed;-webkit-box-shadow:none;box-shadow:none}.ui-spinner-up{border-bottom-left-radius:3px;border-top-left-radius:3px}.ui-spinner-up:after{content:'\e9f7'}.ui-spinner-down{margin-left:1px;border-bottom-right-radius:3px;border-top-right-radius:3px}.ui-spinner-down:after{content:'\e9e2'}.ui-tabs .ui-tabs-nav{margin-bottom:20px;border-bottom:1px solid #ddd}.ui-tabs .ui-tabs-nav li{list-style:none;position:relative;padding:0;white-space:nowrap;margin-bottom:-1px}.ui-tabs .ui-tabs-nav .ui-tabs-anchor{display:block;color:#888;padding:12px 16px;border:1px solid transparent;text-transform:uppercase;border-top-width:2px}.ui-tabs .ui-tabs-nav .ui-state-focus .ui-tabs-anchor:not(.ui-state-disabled),.ui-tabs .ui-tabs-nav .ui-state-hover .ui-tabs-anchor:not(.ui-state-disabled){color:#333}.ui-tabs .ui-tabs-nav .ui-tabs-active .ui-tabs-anchor{color:#333;background-color:#fff;cursor:default;border-color:#2196F3 #ddd transparent}.ui-tabs .ui-tabs-nav .ui-state-disabled{color:#999;cursor:not-allowed;opacity:.75;filter:alpha(opacity=75)}.ui-tabs .ui-tabs-nav .ui-sortable-helper:not(.ui-tabs-active) .ui-tabs-anchor{background-color:#fff;border-bottom-color:#ddd}@media (max-width:768px){.ui-tabs .ui-tabs-nav{position:relative;background-color:#fff;padding:8px 0;border:1px solid #ddd;border-radius:3px}.ui-tabs .ui-tabs-nav li{margin-bottom:0}.ui-tabs .ui-tabs-nav li+li{margin-top:1px}.ui-tabs .ui-tabs-nav .ui-tabs-anchor{border-width:0 0 0 2px;border-left-color:transparent}.ui-tabs .ui-tabs-nav .ui-state-focus .ui-tabs-anchor,.ui-tabs .ui-tabs-nav .ui-state-hover .ui-tabs-anchor{background-color:#fafafa}.ui-tabs .ui-tabs-nav .ui-state-active .ui-tabs-anchor{border-left-color:#2196F3;background-color:#f5f5f5}.ui-tabs .ui-tabs-nav:before{content:'Contents';color:inherit;font-size:12px;line-height:1.6666667;font-weight:500;margin-top:7px;margin-left:15px;margin-bottom:15px;text-transform:uppercase;opacity:.5;filter:alpha(opacity=50)}}.fab-menu-btn,.fab-menu-inner>li .btn{border-width:0}.ui-tabs .ui-tabs-panel{display:block}.ui-tooltip{position:absolute;z-index:1070;max-width:200px;padding:3px 8px;color:#fff;text-align:center;background-color:#333;border-radius:3px}.ui-widget-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background-color:#000;opacity:.5;filter:alpha(opacity=50)}.breadcrumb-line[class*=bg-] .breadcrumb-elements>li .legitRipple-ripple,.legitRipple-ripple{background-color:rgba(255,255,255,.1)}.ui-helper-hidden-accessible{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}.ui-helper-reset{margin:0;padding:0;border:0;outline:0;list-style:none}.ui-helper-clearfix:after,.ui-helper-clearfix:before{content:"";display:table;border-collapse:collapse}.ui-helper-clearfix:after{clear:both}.ui-helper-zfix{width:100%;height:100%;top:0;left:0;position:absolute;opacity:0;filter:alpha(opacity=0)}.ui-front{z-index:1040}.legitRipple{position:relative;overflow:hidden;z-index:0;user-select:none}.legitRipple-ripple{position:absolute;width:0;z-index:-1;pointer-events:none;border-radius:50%;will-change:transform,width,opacity;opacity:1;filter:alpha(opacity=100);-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0);-webkit-transform:translate(-50%,-50%);-ms-transform:translate(-50%,-50%);-o-transform:translate(-50%,-50%);transform:translate(-50%,-50%);-webkit-transition:width .2s linear,opacity .5s ease-out;-o-transition:width .2s linear,opacity .5s ease-out;transition:width .2s linear,opacity .5s ease-out}.legitRipple-ripple:before{content:"";padding-top:100%;display:block}.fab-menu,.fab-menu-inner{padding:0;list-style:none}.breadcrumb-elements>li .legitRipple-ripple,.btn-default .legitRipple-ripple,.btn-flat .legitRipple-ripple,.btn-link .legitRipple-ripple,.checkbox .legitRipple-ripple,.fc-button .legitRipple-ripple,.icons-list>li>a .legitRipple-ripple,.nav-pills>li>a .legitRipple-ripple,.nav-tabs:not([class*=bg-])>li>a .legitRipple-ripple,.navbar-default .navbar-nav>li>a .legitRipple-ripple,.pagination>li:not(.active)>a .legitRipple-ripple,.pagination>li:not(.active)>span .legitRipple-ripple,.sidebar-default .navigation>li ul li>a .legitRipple-ripple,.sidebar-default .navigation>li>a .legitRipple-ripple,.ui-button:not([class*=bg-]) .legitRipple-ripple,.ui-tabs-anchor .legitRipple-ripple,.wizard>.actions>ul>li:first-child>a .legitRipple-ripple{background-color:rgba(0,0,0,.05)}img~.legitRipple-ripple{z-index:auto}.sidebar-user-material-content .legitRipple{border-radius:50%}.legitRipple-template{display:none}.legitRipple-custom{overflow:hidden}.legitRipple-custom>*{position:absolute;top:50%;left:50%;min-width:100%;min-height:100%;-webkit-transform:translate(-50%,-50%);-ms-transform:translate(-50%,-50%);-o-transform:translate(-50%,-50%);transform:translate(-50%,-50%)}.fab-menu{position:relative;display:inline-block;white-space:nowrap;margin:0;z-index:999}.fab-menu-absolute{position:absolute}.fab-menu-absolute.affix{position:fixed}.fab-menu-fixed{position:fixed;z-index:1030}.fab-menu-top-left,.fab-menu-top-right{margin-top:-26px}.fab-menu-top-left.affix,.fab-menu-top-right.affix{top:20px;margin-top:0}.content-wrapper>.fab-menu-top-left,.content-wrapper>.fab-menu-top-right{top:-26px}.content-wrapper>.fab-menu-top-left.affix,.content-wrapper>.fab-menu-top-right.affix{top:20px}.navbar-affixed-top .fab-menu-top-left.affix,.navbar-affixed-top .fab-menu-top-right.affix,.navbar-top .fab-menu-top-left.affix,.navbar-top .fab-menu-top-right.affix{top:70px}.navbar-affixed-top-lg .fab-menu-top-left.affix,.navbar-affixed-top-lg .fab-menu-top-right.affix,.navbar-top-lg .fab-menu-top-left.affix,.navbar-top-lg .fab-menu-top-right.affix{top:74px}.navbar-affixed-top-sm .fab-menu-top-left.affix,.navbar-affixed-top-sm .fab-menu-top-right.affix,.navbar-top-sm .fab-menu-top-left.affix,.navbar-top-sm .fab-menu-top-right.affix{top:68px}.navbar-affixed-top-xs .fab-menu-top-left.affix,.navbar-affixed-top-xs .fab-menu-top-right.affix,.navbar-top-xs .fab-menu-top-left.affix,.navbar-top-xs .fab-menu-top-right.affix{top:66px}.fab-menu-bottom-left,.fab-menu-bottom-right{bottom:20px;-webkit-transition:bottom ease-in-out .15s;-o-transition:bottom ease-in-out .15s;transition:bottom ease-in-out .15s}.fab-icon-close,.fab-icon-open,.fab-menu .fab-menu-inner>li{-webkit-transition:all ease-in-out .3s;-o-transition:all ease-in-out .3s}.fab-menu-bottom-left.reached-bottom,.fab-menu-bottom-right.reached-bottom{bottom:80px}.navbar-bottom .fab-menu-bottom-left.reached-bottom,.navbar-bottom .fab-menu-bottom-right.reached-bottom{bottom:90px}.navbar-bottom-lg .fab-menu-bottom-left.reached-bottom,.navbar-bottom-lg .fab-menu-bottom-right.reached-bottom{bottom:94px}.navbar-bottom-sm .fab-menu-bottom-left.reached-bottom,.navbar-bottom-sm .fab-menu-bottom-right.reached-bottom{bottom:88px}.navbar-bottom-xs .fab-menu-bottom-left.reached-bottom,.navbar-bottom-xs .fab-menu-bottom-right.reached-bottom{bottom:86px}.fab-menu-bottom-right,.fab-menu-top-right{right:20px}.fab-menu-inner{margin:0}.fab-menu-inner>li{display:block;position:absolute;top:2px;left:0;right:0;text-align:center;padding-top:20px;margin-top:-20px}.fab-menu-inner>li .btn-float{padding:0;width:48px;height:48px;-webkit-box-shadow:0 1px 3px rgba(0,0,0,.12),0 1px 2px rgba(0,0,0,.24);box-shadow:0 1px 3px rgba(0,0,0,.12),0 1px 2px rgba(0,0,0,.24)}.fab-menu-inner>li .btn-float:focus,.fab-menu-inner>li .btn-float:hover{-webkit-box-shadow:0 3px 6px rgba(0,0,0,.16),0 3px 6px rgba(0,0,0,.23);box-shadow:0 3px 6px rgba(0,0,0,.16),0 3px 6px rgba(0,0,0,.23)}.fab-menu-inner>li .btn-float>i{margin:16px}.fab-menu-inner>li .btn-float.btn-flat>i{margin:14px}.fab-menu-inner>li .badge,.fab-menu-inner>li .label,.fab-menu-inner>li .status-mark{position:absolute}@media (min-width:769px){.ui-tabs .ui-tabs-nav li{float:left}.fab-menu-inner>li .badge,.fab-menu-inner>li .label,.fab-menu-inner>li .status-mark{-webkit-box-shadow:0 0 0 2px #eeeded;box-shadow:0 0 0 2px #eeeded}}.fab-menu-inner>li .badge,.fab-menu-inner>li .label{top:16px;right:-4px}.fab-menu-inner>li .status-mark{top:22px;right:2px}.fab-menu-bottom-left .fab-menu-inner>li,.fab-menu-bottom-right .fab-menu-inner>li{padding-top:0;margin-top:0;padding-bottom:20px;margin-bottom:-20px}.fab-menu-bottom-left .fab-menu-inner>li .badge,.fab-menu-bottom-left .fab-menu-inner>li .label,.fab-menu-bottom-right .fab-menu-inner>li .badge,.fab-menu-bottom-right .fab-menu-inner>li .label{top:-4px}.fab-menu-bottom-left .fab-menu-inner>li .status-mark,.fab-menu-bottom-right .fab-menu-inner>li .status-mark{top:2px}.fab-menu-inner .dropdown-menu{margin-top:0;margin-right:10px;top:19px;left:auto;right:100%}.fab-menu-inner .dropdown-menu-right{margin-right:0;margin-left:10px;right:auto;left:100%}.fab-menu-btn{z-index:1001;-webkit-box-shadow:0 1px 3px rgba(0,0,0,.12),0 1px 2px rgba(0,0,0,.24);box-shadow:0 1px 3px rgba(0,0,0,.12),0 1px 2px rgba(0,0,0,.24)}.fab-menu-btn.btn-float{padding:26px}.fab-menu-btn.btn-float>i{position:absolute;top:50%;left:50%;margin-top:-8px;margin-left:-8px}.fab-menu-btn:focus,.fab-menu-btn:hover,.fab-menu[data-fab-state=open] .fab-menu-btn,.fab-menu[data-fab-toggle=hover]:hover .fab-menu-btn{-webkit-box-shadow:0 3px 6px rgba(0,0,0,.16),0 3px 6px rgba(0,0,0,.23);box-shadow:0 3px 6px rgba(0,0,0,.16),0 3px 6px rgba(0,0,0,.23)}.fab-icon-close,.fab-icon-open{-webkit-transform:rotate(360deg);-ms-transform:rotate(360deg);-o-transform:rotate(360deg);transform:rotate(360deg);transition:all ease-in-out .3s}.fab-menu[data-fab-state=open] .fab-icon-close,.fab-menu[data-fab-state=open] .fab-icon-open,.fab-menu[data-fab-toggle=hover]:hover .fab-icon-close,.fab-menu[data-fab-toggle=hover]:hover .fab-icon-open{-webkit-transform:rotate(0);-ms-transform:rotate(0);-o-transform:rotate(0);transform:rotate(0)}.fab-icon-close,.fab-menu[data-fab-state=open] .fab-icon-open,.fab-menu[data-fab-toggle=hover]:hover .fab-icon-open{opacity:0;filter:alpha(opacity=0)}.fab-menu[data-fab-state=open] .fab-icon-close,.fab-menu[data-fab-toggle=hover]:hover .fab-icon-close{opacity:1;filter:alpha(opacity=100)}.fab-menu .fab-menu-inner>li{visibility:hidden;opacity:0;filter:alpha(opacity=0);transition:all ease-in-out .3s}.fab-menu .fab-menu-inner>li:nth-child(1){-webkit-transition-delay:50ms;transition-delay:50ms}.fab-menu .fab-menu-inner>li:nth-child(2){-webkit-transition-delay:.1s;transition-delay:.1s}.fab-menu .fab-menu-inner>li:nth-child(3){-webkit-transition-delay:.15s;transition-delay:.15s}.fab-menu .fab-menu-inner>li:nth-child(4){-webkit-transition-delay:.2s;transition-delay:.2s}.fab-menu .fab-menu-inner>li:nth-child(5){-webkit-transition-delay:.25s;transition-delay:.25s}.fab-menu[data-fab-state=open] .fab-menu-inner>li,.fab-menu[data-fab-toggle=hover]:hover .fab-menu-inner>li{visibility:visible;opacity:1;filter:alpha(opacity=100)}.fab-menu-top-left[data-fab-state=open] .fab-menu-inner>li:nth-child(1),.fab-menu-top-left[data-fab-toggle=hover]:hover .fab-menu-inner>li:nth-child(1),.fab-menu-top-right[data-fab-state=open] .fab-menu-inner>li:nth-child(1),.fab-menu-top-right[data-fab-toggle=hover]:hover .fab-menu-inner>li:nth-child(1),.fab-menu-top[data-fab-state=open] .fab-menu-inner>li:nth-child(1),.fab-menu-top[data-fab-toggle=hover]:hover .fab-menu-inner>li:nth-child(1){top:72px;-webkit-transition-delay:50ms;transition-delay:50ms}.fab-menu-top-left[data-fab-state=open] .fab-menu-inner>li:nth-child(2),.fab-menu-top-left[data-fab-toggle=hover]:hover .fab-menu-inner>li:nth-child(2),.fab-menu-top-right[data-fab-state=open] .fab-menu-inner>li:nth-child(2),.fab-menu-top-right[data-fab-toggle=hover]:hover .fab-menu-inner>li:nth-child(2),.fab-menu-top[data-fab-state=open] .fab-menu-inner>li:nth-child(2),.fab-menu-top[data-fab-toggle=hover]:hover .fab-menu-inner>li:nth-child(2){top:140px;-webkit-transition-delay:.1s;transition-delay:.1s}.fab-menu-top-left[data-fab-state=open] .fab-menu-inner>li:nth-child(3),.fab-menu-top-left[data-fab-toggle=hover]:hover .fab-menu-inner>li:nth-child(3),.fab-menu-top-right[data-fab-state=open] .fab-menu-inner>li:nth-child(3),.fab-menu-top-right[data-fab-toggle=hover]:hover .fab-menu-inner>li:nth-child(3),.fab-menu-top[data-fab-state=open] .fab-menu-inner>li:nth-child(3),.fab-menu-top[data-fab-toggle=hover]:hover .fab-menu-inner>li:nth-child(3){top:208px;-webkit-transition-delay:.15s;transition-delay:.15s}.fab-menu-top-left[data-fab-state=open] .fab-menu-inner>li:nth-child(4),.fab-menu-top-left[data-fab-toggle=hover]:hover .fab-menu-inner>li:nth-child(4),.fab-menu-top-right[data-fab-state=open] .fab-menu-inner>li:nth-child(4),.fab-menu-top-right[data-fab-toggle=hover]:hover .fab-menu-inner>li:nth-child(4),.fab-menu-top[data-fab-state=open] .fab-menu-inner>li:nth-child(4),.fab-menu-top[data-fab-toggle=hover]:hover .fab-menu-inner>li:nth-child(4){top:276px;-webkit-transition-delay:.2s;transition-delay:.2s}.fab-menu-top-left[data-fab-state=open] .fab-menu-inner>li:nth-child(5),.fab-menu-top-left[data-fab-toggle=hover]:hover .fab-menu-inner>li:nth-child(5),.fab-menu-top-right[data-fab-state=open] .fab-menu-inner>li:nth-child(5),.fab-menu-top-right[data-fab-toggle=hover]:hover .fab-menu-inner>li:nth-child(5),.fab-menu-top[data-fab-state=open] .fab-menu-inner>li:nth-child(5),.fab-menu-top[data-fab-toggle=hover]:hover .fab-menu-inner>li:nth-child(5){top:344px;-webkit-transition-delay:.25s;transition-delay:.25s}.fab-menu-bottom-left[data-fab-state=open] .fab-menu-inner>li:nth-child(1),.fab-menu-bottom-left[data-fab-toggle=hover]:hover .fab-menu-inner>li:nth-child(1),.fab-menu-bottom-right[data-fab-state=open] .fab-menu-inner>li:nth-child(1),.fab-menu-bottom-right[data-fab-toggle=hover]:hover .fab-menu-inner>li:nth-child(1),.fab-menu-bottom[data-fab-state=open] .fab-menu-inner>li:nth-child(1),.fab-menu-bottom[data-fab-toggle=hover]:hover .fab-menu-inner>li:nth-child(1){top:-64px;-webkit-transition-delay:50ms;transition-delay:50ms}.fab-menu-bottom-left[data-fab-state=open] .fab-menu-inner>li:nth-child(2),.fab-menu-bottom-left[data-fab-toggle=hover]:hover .fab-menu-inner>li:nth-child(2),.fab-menu-bottom-right[data-fab-state=open] .fab-menu-inner>li:nth-child(2),.fab-menu-bottom-right[data-fab-toggle=hover]:hover .fab-menu-inner>li:nth-child(2),.fab-menu-bottom[data-fab-state=open] .fab-menu-inner>li:nth-child(2),.fab-menu-bottom[data-fab-toggle=hover]:hover .fab-menu-inner>li:nth-child(2){top:-132px;-webkit-transition-delay:.1s;transition-delay:.1s}.fab-menu-bottom-left[data-fab-state=open] .fab-menu-inner>li:nth-child(3),.fab-menu-bottom-left[data-fab-toggle=hover]:hover .fab-menu-inner>li:nth-child(3),.fab-menu-bottom-right[data-fab-state=open] .fab-menu-inner>li:nth-child(3),.fab-menu-bottom-right[data-fab-toggle=hover]:hover .fab-menu-inner>li:nth-child(3),.fab-menu-bottom[data-fab-state=open] .fab-menu-inner>li:nth-child(3),.fab-menu-bottom[data-fab-toggle=hover]:hover .fab-menu-inner>li:nth-child(3){top:-200px;-webkit-transition-delay:.15s;transition-delay:.15s}.fab-menu-bottom-left[data-fab-state=open] .fab-menu-inner>li:nth-child(4),.fab-menu-bottom-left[data-fab-toggle=hover]:hover .fab-menu-inner>li:nth-child(4),.fab-menu-bottom-right[data-fab-state=open] .fab-menu-inner>li:nth-child(4),.fab-menu-bottom-right[data-fab-toggle=hover]:hover .fab-menu-inner>li:nth-child(4),.fab-menu-bottom[data-fab-state=open] .fab-menu-inner>li:nth-child(4),.fab-menu-bottom[data-fab-toggle=hover]:hover .fab-menu-inner>li:nth-child(4){top:-268px;-webkit-transition-delay:.2s;transition-delay:.2s}.fab-menu-bottom-left[data-fab-state=open] .fab-menu-inner>li:nth-child(5),.fab-menu-bottom-left[data-fab-toggle=hover]:hover .fab-menu-inner>li:nth-child(5),.fab-menu-bottom-right[data-fab-state=open] .fab-menu-inner>li:nth-child(5),.fab-menu-bottom-right[data-fab-toggle=hover]:hover .fab-menu-inner>li:nth-child(5),.fab-menu-bottom[data-fab-state=open] .fab-menu-inner>li:nth-child(5),.fab-menu-bottom[data-fab-toggle=hover]:hover .fab-menu-inner>li:nth-child(5){top:-336px;-webkit-transition-delay:.25s;transition-delay:.25s}.fab-menu-inner div[data-fab-label]:after{content:attr(data-fab-label);position:absolute;top:50%;margin-top:-8px;right:70px;color:#fff;background-color:#333;padding:8px 16px;visibility:hidden;border-radius:3px;-webkit-box-shadow:0 1px 3px rgba(0,0,0,.12),0 1px 2px rgba(0,0,0,.24);box-shadow:0 1px 3px rgba(0,0,0,.12),0 1px 2px rgba(0,0,0,.24);opacity:0;filter:alpha(opacity=0);-webkit-transition:all ease-in-out .3s;-o-transition:all ease-in-out .3s;transition:all ease-in-out .3s}.fab-menu-inner div[data-fab-label].fab-label-visible:after,.fab-menu[data-fab-state=open] .fab-menu-inner div[data-fab-label]:hover:after,.fab-menu[data-fab-toggle=hover] .fab-menu-inner div[data-fab-label]:hover:after{visibility:visible;opacity:1;filter:alpha(opacity=100)}.fab-menu-bottom-left .fab-menu-inner div[data-fab-label]:after,.fab-menu-bottom-right .fab-menu-inner div[data-fab-label]:after{margin-top:-28px}.fab-menu-bottom-left .fab-menu-inner div[data-fab-label]:after,.fab-menu-inner div[data-fab-label].fab-label-right:after,.fab-menu-top-left .fab-menu-inner div[data-fab-label]:after{right:auto;left:70px}.fab-menu-inner div[data-fab-label].fab-label-light:after{background-color:#fff;color:#333}code[class*=language-],pre[class*=language-]{text-shadow:0 1px #fff;word-break:normal;line-height:1.5;direction:ltr}@media print{code[class*=language-],pre[class*=language-]{text-shadow:none}}.token.cdata,.token.comment,.token.doctype,.token.prolog,.token.punctuation{color:#999}.token.boolean,.token.constant,.token.number,.token.property,.token.symbol,.token.tag{color:#905}.token.attr-name,.token.builtin,.token.selector,.token.string{color:#690}.language-css .token.string,.style .token.string,.token.entity,.token.operator,.token.url,.token.variable{color:#a67f59;background:rgba(255,255,255,.5)}.token.atrule,.token.attr-value,.token.keyword{color:#07a}.token.function{color:#DD4A68}.token.important,.token.regex{color:#e90}.token.important{font-weight:700}.token.entity{cursor:help}.namespace{opacity:.7;filter:alpha(opacity=70)}.line-highlight{position:absolute;left:0;right:0;margin-top:20px;background:rgba(133,238,149,.12);pointer-events:none;white-space:pre;line-height:inherit}.line-highlight:after,.line-highlight:before{content:attr(data-start);position:absolute;top:0;left:10px;padding:2px;text-align:center;font-size:10px;color:#999}pre.line-numbers,pre.line-numbers>code{position:relative}.line-highlight[data-end]:after{content:attr(data-end);top:auto;bottom:0}pre.line-numbers{padding-left:50px;counter-reset:linenumber}.line-numbers .line-numbers-rows{position:absolute;pointer-events:none;top:0;font-size:100%;left:-50px;width:36px;letter-spacing:-1px;border-right:1px solid #999;-ms-user-select:none;user-select:none}.cropper-container,.gu-unselectable{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none}.line-numbers .line-numbers-rows>span{pointer-events:none;display:block;counter-increment:linenumber}.line-numbers .line-numbers-rows>span:before{content:counter(linenumber);color:#999;display:block;padding-right:10px;text-align:right}pre[class*=language-]{overflow:auto;position:relative;border-left-width:3px;border-left-color:#2196F3;background-color:#fdfdfd;background-image:-webkit-linear-gradient(transparent 50%,rgba(25,118,210,.025) 50%);background-image:-moz-linear-gradient(transparent 50%,rgba(25,118,210,.025) 50%);background-image:-ms-linear-gradient(transparent 50%,rgba(25,118,210,.025) 50%);background-image:-o-linear-gradient(transparent 50%,rgba(25,118,210,.025) 50%);background-image:linear-gradient(transparent 50%,rgba(25,118,210,.025) 50%);background-size:3em 3em;background-origin:content-box;border-bottom-left-radius:0;border-top-left-radius:0}pre[class*=language-]>code[data-language]{display:block}pre[class*=language-]>code[data-language]:before{content:attr(data-language);background-color:#f8f8f8;display:inline-block;position:absolute;top:0;right:0;font-size:11px;border-radius:0 0 0 2px;padding:4px 8px;text-shadow:none;color:#333;border-left:1px solid #ddd;border-bottom:1px solid #ddd}pre[class*=language-].line-numbers>code[data-language]:before{top:-15px;right:-15px}pre[data-line]{position:relative;padding-left:36px}.fancytree-container{list-style:none;white-space:nowrap;padding:0;margin:0;overflow:auto;position:relative}.btn-ladda[data-style=expand-down],.btn-ladda[data-style=expand-left],.btn-ladda[data-style=expand-right],.btn-ladda[data-style=expand-up],.btn-ladda[data-style=fade],.btn-ladda[data-style=radius],.btn-ladda[data-style=slide-down],.btn-ladda[data-style=slide-right],.btn-ladda[data-style=slide-up],.btn-ladda[data-style=zoom-in],.btn-ladda[data-style=zoom-out]{overflow:hidden}.fancytree-container:focus{outline:0}.fancytree-container ul{list-style:none;padding:0 0 0 20px;margin:0}.fancytree-container ul li{margin-top:1px}.ui-fancytree-disabled .fancytree-container{opacity:.6;filter:alpha(opacity=60)}.ui-fancytree-disabled .fancytree-container,.ui-fancytree-disabled .fancytree-expander,.ui-fancytree-disabled .fancytree-title{cursor:not-allowed}.ui-fancytree-disabled .fancytree-treefocus .fancytree-selected .fancytree-title{background-color:#f5f5f5;color:#333}.ui-helper-hidden{display:none}.fancytree-checkbox:after,.fancytree-drag-helper-img:after,.fancytree-drop-after:after,.fancytree-drop-before:after,.fancytree-expander:after,.fancytree-icon:after,.fancytree-loading .fancytree-expander:after,.fancytree-statusnode-wait .fancytree-icon:after{font-family:icomoon;display:inline-block;font-size:16px;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.fancytree-checkbox,.fancytree-custom-icon,.fancytree-icon{margin-top:5px;float:left}.fancytree-checkbox{margin:4px 10px 0 2px}.fancytree-custom-icon{display:inline-block}img.fancytree-icon{width:16px;height:16px;margin-left:3px;margin-top:3px;vertical-align:top;border-style:none}.fancytree-expander{cursor:pointer;float:left;margin-top:5px;width:16px;line-height:1}.fancytree-exp-c .fancytree-expander:after,.fancytree-exp-cd .fancytree-expander:after,.fancytree-exp-cdl .fancytree-expander:after,.fancytree-exp-cl .fancytree-expander:after{content:'\e9c7'}.fancytree-exp-e .fancytree-expander:after,.fancytree-exp-ed .fancytree-expander:after,.fancytree-exp-edl .fancytree-expander:after,.fancytree-exp-el .fancytree-expander:after{content:'\e9c5'}.fancytree-statusnode-error .fancytree-icon:after{content:'\ed63'}.fancytree-loading .fancytree-expander,.fancytree-statusnode-wait .fancytree-icon{margin-left:auto;margin-right:auto;width:16px;height:16px;display:inline-block;text-align:center}.fancytree-loading .fancytree-expander:after,.fancytree-statusnode-wait .fancytree-icon:after{content:'\ed6c';-webkit-transition:all .15s ease-in-out;-o-transition:all .15s ease-in-out;transition:all .15s ease-in-out}.fancytree-icon{display:inline-block;width:16px;height:16px}.fancytree-ico-c .fancytree-icon:after,.fancytree-ico-e .fancytree-icon:after{content:'\ea1a'}.fancytree-has-children.fancytree-ico-c .fancytree-icon:after{content:'\ea0f'}.fancytree-has-children.fancytree-ico-e .fancytree-icon:after{content:'\ea11'}.fancytree-ico-cf .fancytree-icon:after,.fancytree-ico-ef .fancytree-icon:after{content:'\ea3d'}.fancytree-has-children.fancytree-ico-cf .fancytree-icon:after{content:'\ea41'}.fancytree-has-children.fancytree-ico-ef .fancytree-icon:after{content:'\ea43'}.fancytree-checkbox{width:18px;height:18px;border:2px solid #777;display:block;text-align:center;position:relative;cursor:pointer;border-radius:2px}.fancytree-selected .fancytree-checkbox{border-color:transparent}.fancytree-checkbox:after,.fancytree-partsel.fancytree-selected .fancytree-checkbox:after{content:"\ed6e";margin-top:-1px;margin-left:-1px;display:none}.fancytree-partsel>.fancytree-checkbox:after{content:"";width:8px;height:8px;display:none;background-color:#777;margin:3px}.fancytree-partsel.fancytree-selected .fancytree-checkbox:after{background-color:transparent;width:auto;height:auto}.fancytree-partsel .fancytree-checkbox:after,.fancytree-partsel.fancytree-selected .fancytree-checkbox:after,.fancytree-selected .fancytree-checkbox:after{display:block}.fancytree-radio .fancytree-checkbox{border-radius:100%}.fancytree-radio .fancytree-checkbox:after{content:'';width:8px;height:8px;background-color:#777;margin:3px;border-radius:100px}.fancytree-radio .fancytree-selected .fancytree-checkbox{border-color:#777}.fancytree-drag-helper{border:1px solid #ddd;background-color:#fff;padding:4px 5px;opacity:.8;filter:alpha(opacity=80)}.fancytree-drag-helper-img:after{position:absolute;top:50%;margin-top:-9px;right:-26px}.fancytree-drop-accept .fancytree-drag-helper-img:after{content:'\ee73';color:#4CAF50}.fancytree-drop-reject .fancytree-drag-helper-img:after{content:'\ed63';color:#F44336}#fancytree-drop-marker.fancytree-drop-after,#fancytree-drop-marker.fancytree-drop-before{width:200px;border-top:1px solid #333;position:absolute!important}.fancytree-drag-source{background-color:#ddd}.fancytree-drag-source .fancytree.title{color:#333}.fancytree-drop-target.fancytree-drop-accept a{background-color:#2196F3!important;color:#fff!important;text-decoration:none}.fancytree-node{display:inherit;width:100%;position:relative}.fancytree-title{border:0;padding:4px 6px;border-radius:2px;margin-left:4px;display:inline-block;cursor:pointer}.fancytree-title>input{border:0;outline:0;padding:0;background-color:transparent}.fancytree-selected .fancytree-title{background-color:#ddd;color:#333}.fancytree-treefocus .fancytree-selected .fancytree-title{background-color:#2196F3;color:#fff}.fancytree-active .fancytree-title{background-color:#ddd}.sidebar:not(.sidebar-default) .fancytree-active .fancytree-title,.sidebar:not(.sidebar-default) .fancytree-selected .fancytree-title{background-color:rgba(255,255,255,.2);color:#fff}.sidebar:not(.sidebar-default) .fancytree-treefocus .fancytree-selected .fancytree-title{background-color:#2196F3;color:#fff}.fancytree-ext-table .fancytree-node{display:inline-block;width:auto}.fancytree-ext-table .fancytree-title{display:inline}.fancytree-ext-table.fancytree-container{white-space:normal}.fancybox-error,.fc .fc-axis,.fc-button,.fc-day-grid-event>.fc-content,.fc-time-grid-event.fc-short .fc-content,.file-footer-caption{white-space:nowrap}.fancytree-ext-table .fancytree-custom-icon,.fancytree-ext-table .fancytree-expander,.fancytree-ext-table .fancytree-icon{margin-top:1px}.fancytree-ext-table .fancytree-checkbox{margin:0 auto;float:none}.fancytree-ext-table .checker{display:block;margin:0 auto}.fancytree-ext-table tbody tr td:first-child{text-align:center}.fancytree-ext-table tbody tr.fancytree-active,.fancytree-ext-table tbody tr.fancytree-focused{background-color:#f5f5f5}.fancytree-ext-table tbody tr.fancytree-selected{background-color:#2196F3;color:#fff}.fancytree-ext-table tbody tr.fancytree-selected .fancytree-checkbox{color:#fff}.fancytree-ext-table tbody tr.fancytree-selected .checker span{color:#fff;border-color:#fff}.fancytree-ext-table tbody tr.fancytree-selected .checker span.checked{border-color:transparent}.fancytree-ext-childcounter .fancytree-childcounter{position:absolute;right:0;top:4px;color:#999}.btn-ladda,.btn-ladda .ladda-label,.btn-ladda .ladda-spinner{-webkit-transition:all cubic-bezier(.175,.885,.32,1.275) .3s;-o-transition:all cubic-bezier(.175,.885,.32,1.275) .3s;transition:all cubic-bezier(.175,.885,.32,1.275) .3s}.btn-ladda .ladda-spinner{position:absolute;z-index:2;display:inline-block;top:50%;pointer-events:none;opacity:0;filter:alpha(opacity=0)}.btn-ladda .ladda-label{z-index:3}.btn-ladda .ladda-progress{position:absolute;width:0;height:100%;left:0;top:0;background-color:rgba(0,0,0,.2);visibility:hidden;-webkit-transition:all linear .3s;-o-transition:all linear .3s;transition:all linear .3s;opacity:0;filter:alpha(opacity=0)}.btn-ladda[data-loading] .ladda-progress{visibility:visible;opacity:1;filter:alpha(opacity=100)}.btn-ladda[data-style=zoom-in],.btn-ladda[data-style=zoom-in] .ladda-label,.btn-ladda[data-style=zoom-in] .ladda-spinner,.btn-ladda[data-style=zoom-out],.btn-ladda[data-style=zoom-out] .ladda-label,.btn-ladda[data-style=zoom-out] .ladda-spinner{-webkit-transition:.3s ease all;-o-transition:.3s ease all;transition:.3s ease all}.btn-ladda[data-style=zoom-in] .ladda-label,.btn-ladda[data-style=zoom-out] .ladda-label{position:relative;display:inline-block}.btn-ladda[data-style=zoom-in] .ladda-spinner,.btn-ladda[data-style=zoom-out] .ladda-spinner{left:50%}.btn-ladda[data-style=zoom-in][data-loading] .ladda-label,.btn-ladda[data-style=zoom-out][data-loading] .ladda-label{opacity:0;filter:alpha(opacity=0)}.btn-ladda[data-style=expand-down][data-loading] .ladda-spinner,.btn-ladda[data-style=expand-left][data-loading] .ladda-spinner,.btn-ladda[data-style=expand-right][data-loading] .ladda-spinner,.btn-ladda[data-style=expand-up][data-loading] .ladda-spinner{opacity:1;filter:alpha(opacity=100)}.btn-ladda[data-style=zoom-in][data-loading] .ladda-spinner,.btn-ladda[data-style=zoom-out][data-loading] .ladda-spinner{-webkit-transform:none;-moz-transform:none;-ms-transform:none;-o-transform:none;transform:none;opacity:1;filter:alpha(opacity=100)}.btn-ladda[data-style=zoom-in] .ladda-spinner{-webkit-transform:scale(.2);-ms-transform:scale(.2);-o-transform:scale(.2);transform:scale(.2)}.btn-ladda[data-style=zoom-in][data-loading] .ladda-label{-webkit-transform:scale(2.2);-ms-transform:scale(2.2);-o-transform:scale(2.2);transform:scale(2.2)}.btn-ladda[data-style=zoom-out] .ladda-spinner{-webkit-transform:scale(2.5);-ms-transform:scale(2.5);-o-transform:scale(2.5);transform:scale(2.5)}.btn-ladda[data-style=zoom-out][data-loading] .ladda-label{-webkit-transform:scale(.5);-ms-transform:scale(.5);-o-transform:scale(.5);transform:scale(.5)}.btn-ladda[data-style=expand-left] .ladda-spinner{left:20px}.btn-ladda[data-style=expand-left][data-loading]{padding-left:35px}.btn-ladda[data-style=expand-right] .ladda-spinner{right:20px}.btn-ladda[data-style=expand-right][data-loading]{padding-right:35px}.btn-ladda[data-style=expand-up] .ladda-spinner{top:-16px;left:50%}.btn-ladda[data-style=expand-up][data-loading]{padding-top:40px}.btn-ladda[data-style=expand-up][data-loading] .ladda-spinner{top:12px;margin-top:8px}.btn-ladda[data-style=expand-down] .ladda-spinner{top:44px;left:50%}.btn-ladda[data-style=expand-down][data-loading]{padding-bottom:40px}.btn-ladda[data-style=slide-left]{overflow:hidden}.btn-ladda[data-style=slide-left] .ladda-label{left:0;position:relative}.btn-ladda[data-style=slide-left] .ladda-spinner{right:0}.btn-ladda[data-style=slide-left][data-loading] .ladda-label{left:-100%;opacity:0;filter:alpha(opacity=0)}.btn-ladda[data-style=slide-left][data-loading] .ladda-spinner{right:50%;opacity:1;filter:alpha(opacity=100)}.btn-ladda[data-style=slide-right] .ladda-label{right:0;position:relative}.btn-ladda[data-style=slide-right] .ladda-spinner{left:0}.btn-ladda[data-style=slide-right][data-loading] .ladda-label{right:-100%;opacity:0;filter:alpha(opacity=0)}.btn-ladda[data-style=slide-right][data-loading] .ladda-spinner{left:50%;opacity:1;filter:alpha(opacity=100)}.btn-ladda[data-style=slide-up] .ladda-label{top:0;position:relative}.btn-ladda[data-style=slide-up] .ladda-spinner{top:100%;left:50%}.btn-ladda[data-style=slide-up][data-loading] .ladda-label{top:-16px;opacity:0;filter:alpha(opacity=0)}.btn-ladda[data-style=slide-up][data-loading] .ladda-spinner{top:16px;opacity:1;filter:alpha(opacity=100)}.btn-ladda[data-style=slide-down] .ladda-label{top:0;position:relative}.btn-ladda[data-style=slide-down] .ladda-spinner{top:-100%;left:50%}.btn-ladda[data-style=slide-down][data-loading] .ladda-label{top:16px;opacity:0;filter:alpha(opacity=0)}.btn-ladda[data-style=slide-down][data-loading] .ladda-spinner{top:16px;opacity:1;filter:alpha(opacity=100)}.btn-ladda[data-style=fade] .ladda-spinner{left:50%}.btn-ladda[data-style=fade][data-loading] .ladda-label{opacity:0;filter:alpha(opacity=0)}.btn-ladda[data-style=fade][data-loading] .ladda-spinner{opacity:1;filter:alpha(opacity=100)}.btn-ladda[data-style=radius]{border-radius:2px;-webkit-transition:all ease-in-out .5s;-o-transition:all ease-in-out .5s;transition:all ease-in-out .5s}.btn-ladda[data-style=radius] .ladda-spinner{left:50%}.btn-ladda[data-style=radius][data-loading]{border-radius:4px}.btn-ladda[data-style=radius][data-loading] .ladda-label{opacity:0;filter:alpha(opacity=0)}.btn-ladda[data-style=radius][data-loading] .ladda-spinner{opacity:1;filter:alpha(opacity=100)}.fc-bgevent,.fc-highlight{opacity:.3;filter:alpha(opacity=30)}.headroom{-webkit-transition:top .2s ease-in-out,bottom .2s ease-in-out,box-shadow .2s ease-in-out;-o-transition:top .2s ease-in-out,bottom .2s ease-in-out,box-shadow .2s ease-in-out;transition:top .2s ease-in-out,bottom .2s ease-in-out,box-shadow .2s ease-in-out}.navbar.headroom-top-pinned{top:0}.navbar.headroom-top-unpinned{top:-52px;-webkit-box-shadow:none;box-shadow:none}.navbar-lg.navbar.headroom-top-unpinned{top:-56px}.navbar-sm.navbar.headroom-top-unpinned{top:-50px}.navbar-xs.navbar.headroom-top-unpinned{top:-48px}.navbar.headroom-bottom-pinned{bottom:-52px;-webkit-box-shadow:none;box-shadow:none}.navbar-lg.navbar.headroom-bottom-pinned{bottom:-56px}.navbar-sm.navbar.headroom-bottom-pinned{bottom:-50px}.navbar-xs.navbar.headroom-bottom-pinned{bottom:-48px}.navbar.headroom-bottom-unpinned{bottom:0}.fc{direction:ltr;text-align:left}.fc th,.fc-basic-view .fc-week-number,.fc-time-grid-event .fc-resizer,.fc-toolbar,a.fc-more{text-align:center}.fc-view>table{min-width:769px}.fc-events-container{background-color:#fcfcfc;border:1px solid #ddd;padding:10px;border-radius:3px}.fc-events-container .fc-event{margin:0;padding:4px 14px}.fc-events-container .fc-event+.fc-event{margin-top:10px}.fc-unthemed .fc-popover,.fc-unthemed .fc-row,.fc-unthemed hr,.fc-unthemed tbody,.fc-unthemed td,.fc-unthemed th,.fc-unthemed thead{border-color:#ddd}.fc-unthemed thead,.fc-unthemed thead td,.fc-unthemed thead th{border-bottom-color:#bbb}.fc-unthemed hr{background-color:#f5f5f5}.fc-unthemed .fc-popover{background-color:#fff;border-radius:3px}.fc-unthemed .fc-popover .fc-header{background-color:#f5f5f5}.fc-unthemed .fc-today{background-color:#E8F5E9}.fc-highlight{background-color:#e5e5e5}.fc-bgevent{background-color:#81C784}.fc-nonbusiness{background-color:#ccc}.fc-icon{display:block}.fc-icon:after{display:inline-block;font-family:icomoon;line-height:1;font-size:16px;vertical-align:middle;position:relative;top:-1px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.fc-icon-left-single-arrow:after{content:"\e9c0"}.fc-icon-right-single-arrow:after{content:"\e9c3"}.fc-icon-left-double-arrow:after{content:"\000AB"}.fc-icon-right-double-arrow:after{content:"\000BB"}.fc-icon-x:after{content:"\ed6b";font-size:12px;display:block}.fc-button{margin:0;border:0;padding:9px 17px;cursor:pointer;outline:0;text-transform:uppercase}.fc-button::-moz-focus-inner{margin:0;padding:0}.fc-state-default{background-color:#f5f5f5}.fc-state-default.fc-corner-left{border-bottom-left-radius:3px;border-top-left-radius:3px}.fc-state-default.fc-corner-right{border-bottom-right-radius:3px;border-top-right-radius:3px}.fc-state-hover{-webkit-box-shadow:0 0 0 100px rgba(0,0,0,.05) inset;box-shadow:0 0 0 100px rgba(0,0,0,.05) inset}.fc-state-active,.fc-state-down{-webkit-box-shadow:0 0 0 100px rgba(0,0,0,.1) inset;box-shadow:0 0 0 100px rgba(0,0,0,.1) inset}.fc-state-disabled{color:#999;cursor:not-allowed;opacity:.65;filter:alpha(opacity=65);-webkit-box-shadow:none;box-shadow:none}.fc-event.fc-draggable,.fc-event[href],.fc-popover .fc-header .fc-close{cursor:pointer}.fc-button-group{display:inline-block}.fc .fc-button-group>*{float:left;margin:0 0 0 1px}.fc .fc-button-group>:first-child{margin-left:0}.fc-popover{position:absolute;border:1px solid #ddd;-webkit-box-shadow:0 1px 5px rgba(0,0,0,.05);box-shadow:0 1px 5px rgba(0,0,0,.05)}.fc-popover .fc-header{padding:10px}.fc-ltr .fc-popover .fc-header .fc-title{float:left}.fc-ltr .fc-popover .fc-header .fc-close{float:right}.fc-unthemed .fc-popover .fc-header .fc-close{margin-top:2px;opacity:.6;filter:alpha(opacity=60)}.fc-unthemed .fc-popover .fc-header .fc-close:hover{opacity:1;filter:alpha(opacity=100)}.fc hr{height:0;margin:0;padding:0 0 2px;border-style:solid;border-width:1px 0}.fc-bg table,.fc-row .fc-bgevent-skeleton table,.fc-row .fc-highlight-skeleton table{height:100%}.fc-clear{clear:both}.fc-bg,.fc-bgevent-skeleton,.fc-helper-skeleton,.fc-highlight-skeleton{position:absolute;top:0;left:0;right:0}.fc-event,.fc-row,.fc-scroller>*{position:relative}.fc-bg{bottom:0}.fc table{width:100%}.fc td,.fc th{border-style:solid;border-width:1px;padding:0;vertical-align:top}.fc th{padding:12px 20px}.fc td.fc-today{border-style:double}.fc-row{border-style:solid;border-width:0}.fc-row table{border-left:0 hidden transparent;border-right:0 hidden transparent;border-bottom:0 hidden transparent}.fc-row:first-child table{border-top:0 hidden transparent}.fc-row .fc-bg{z-index:1}.fc-row .fc-bgevent-skeleton,.fc-row .fc-highlight-skeleton{bottom:0}.fc-row .fc-bgevent-skeleton td,.fc-row .fc-highlight-skeleton td{border:0}.fc-row .fc-bgevent-skeleton{z-index:2}.fc-row .fc-highlight-skeleton{z-index:3}.fc-row .fc-content-skeleton td,.fc-row .fc-helper-skeleton td{background:0 0;border-color:transparent;border-bottom:0}.fc-row .fc-content-skeleton tbody td,.fc-row .fc-helper-skeleton tbody td{border-top:0}.fc-row .fc-content-skeleton{position:relative;z-index:4}.fc-row .fc-helper-skeleton{z-index:5}.fc-scroller{overflow-y:scroll;overflow-x:hidden}.fc-scroller>*{width:100%;overflow:hidden}.fc-event{display:block;border:1px solid #039BE5;background-color:#039BE5;font-weight:400;border-radius:2px}.fc-day-grid-event .fc-time,.fc-time-grid-event .fc-time,.plupload_button{font-weight:500}.fc-event,.fc-event:hover{color:#fff;text-decoration:none}.fc-not-allowed,.fc-not-allowed .fc-event{cursor:not-allowed}.fc-day-grid-event{margin:0 5px 5px;padding:4px 8px}.fc-day-grid-event>.fc-content{overflow:hidden;text-overflow:ellipsis}.fc-day-grid-event .fc-resizer{position:absolute;top:0;bottom:0;width:7px}.fc-ltr .fc-day-grid-event .fc-resizer{right:-3px;cursor:e-resize}@media (min-width:1200px){.fc-day-grid-event>.fc-content{background-color:inherit}.fc-day-grid-event .fc-time{float:right;padding-left:5px;display:inline-block;z-index:2;position:relative;background-color:inherit}.fc-day-grid-event .fc-title{z-index:1;position:relative}}a.fc-more{margin:1px 5px;background-color:#fafafa;display:block;padding:5px;border-radius:3px;color:#999;font-size:12px}a.fc-more:hover{background-color:#f5f5f5;color:#333}.fc-limited{display:none}.fc-day-grid .fc-row{z-index:1}.fc-more-popover{z-index:2;width:220px}.fc-more-popover .fc-event-container{padding:10px 5px}.fc-toolbar{margin-bottom:20px}.fc-toolbar h2{margin:5px 0;font-size:17px}.fc-toolbar .fc-left{float:left;width:33%}.fc-toolbar .fc-right{float:right;width:33%}.fc-toolbar .fc-right .fc-button-group{float:right}.fc-toolbar .fc-left>.fc-button,.fc-toolbar .fc-right>.fc-button{margin-left:10px}.fc-toolbar .fc-center{display:inline-block;vertical-align:middle}.fc-toolbar>*>*{float:left}.fc-toolbar>*>:first-child{margin-left:0}.fc-toolbar button{position:relative}.fc-toolbar button:focus{z-index:5}.fc-toolbar .fc-state-hover,.fc-toolbar .ui-state-hover{z-index:2}.fc-toolbar .fc-state-down{z-index:3}.fc-toolbar .fc-state-active,.fc-toolbar .ui-state-active{z-index:4}.fc-view-container{border-left:1px solid #ddd;border-right:1px solid #ddd;overflow:auto;max-width:100%}.fc-row.fc-rigid,.fc-time-grid-event{overflow:hidden}.fc-view-container .fc-view>table td,.fc-view-container .fc-view>table th{border-right-width:0}.fc-view-container .fc-view>table tr:first-child td:first-child,.fc-view-container .fc-view>table tr:first-child th:first-child{border-left-width:0}.fc-view-container *,.fc-view-container :after,.fc-view-container :before{-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box}.fc-view,.fc-view>table{position:relative;z-index:1}.fc-basicDay-view .fc-content-skeleton,.fc-basicWeek-view .fc-content-skeleton{padding-top:5px;padding-bottom:10px}.fc-basic-view tbody .fc-row{min-height:100px;min-width:100px}.fc-row.fc-rigid .fc-content-skeleton{position:absolute;top:0;left:0;right:0}.fc-basic-view .fc-day-number,.fc-basic-view .fc-week-number{padding:10px}.fc-axis,.fc-basic-view .fc-day-number{text-align:right}.fc-basic-view .fc-week-number span{display:inline-block;min-width:1.25em}.fc-basic-view .fc-day-number.fc-other-month{opacity:.3;filter:alpha(opacity=30)}.fc-agenda-view .fc-day-grid{position:relative;z-index:2}.fc-agenda-view .fc-day-grid .fc-row{min-height:3em}.fc-agenda-view .fc-day-grid .fc-row .fc-content-skeleton{padding-top:5px;padding-bottom:0}.fc .fc-axis{vertical-align:middle;padding:10px}.fc-time-grid,.fc-time-grid-container{position:relative;z-index:1}.fc-time-grid{min-height:100%}.fc-time-grid table{border:0 hidden transparent}.fc-time-grid>.fc-bg{z-index:1}.fc-time-grid .fc-slats,.fc-time-grid>hr{position:relative;z-index:2}.fc-time-grid .fc-bgevent-skeleton,.fc-time-grid .fc-content-skeleton{position:absolute;top:0;left:0;right:0}.fc-time-grid .fc-bgevent-skeleton{z-index:3}.fc-time-grid .fc-highlight-skeleton{z-index:4}.fc-time-grid .fc-content-skeleton{z-index:5}.fc-time-grid .fc-helper-skeleton{z-index:6}.fc-slats td{border-bottom:0}.fc-slats .fc-minor td{border-top-style:dotted}.fc-time-grid .fc-highlight-container{position:relative}.fc-time-grid .fc-highlight{position:absolute;left:0;right:0}.fc-time-grid .fc-bgevent-container,.fc-time-grid .fc-event-container{position:relative}.fc-time-grid .fc-bgevent,.fc-time-grid .fc-event{position:absolute;z-index:1;margin:5px;padding:10px;min-height:45px;-webkit-box-shadow:0 0 0 1px #fff;box-shadow:0 0 0 1px #fff}.fc-time-grid .fc-bgevent{left:0;right:0}.fc-time-grid-event.fc-not-start{border-top-width:0;padding-top:1px;border-top-right-radius:0;border-top-left-radius:0}.fc-time-grid-event.fc-not-end{border-bottom-width:0;padding-bottom:1px;border-bottom-right-radius:0;border-bottom-left-radius:0}.fc-time-grid-event>.fc-content{position:relative;z-index:2}.fc-time-grid-event.fc-short .fc-time,.fc-time-grid-event.fc-short .fc-title{display:inline-block;vertical-align:top}.fc-time-grid-event.fc-short .fc-time:before{content:attr(data-start)}.fc-time-grid-event.fc-short .fc-time:after{content:"\000A0-\000A0"}.fc-time-grid-event.fc-short .fc-time span{display:none}.fc-time-grid-event.fc-short .fc-title{font-size:.85em;padding:0}.fc-time-grid-event .fc-resizer{position:absolute;z-index:3;left:0;right:0;bottom:0;height:8px;overflow:hidden;line-height:10px;font-size:12px;font-family:monospace;cursor:s-resize;background-color:rgba(0,0,0,.05);padding:1px}.fc-time-grid-event .fc-resizer:hover{background-color:rgba(0,0,0,.1)}.fc-time-grid-event .fc-resizer:after{content:"="}@media (max-width:768px){.fc-toolbar .fc-left,.fc-toolbar .fc-left .fc-button-group,.fc-toolbar .fc-left>.fc-button,.fc-toolbar .fc-right,.fc-toolbar .fc-right .fc-button-group,.fc-toolbar .fc-right>.fc-button{float:none;width:auto;vertical-align:top}.fc-toolbar .fc-left,.fc-toolbar .fc-right{display:block;margin-bottom:10px}}.gu-mirror{position:fixed!important;margin:0!important;z-index:9999!important;opacity:.8;filter:alpha(opacity=80)}.gu-unselectable.dropdown-menu li:nth-last-child(2){margin-bottom:0}.nav-pills-toolbar>li.gu-mirror:not(.active)>a{border:0}.gu-hide{display:none!important}.gu-unselectable{user-select:none}.gu-transit{opacity:.5;filter:alpha(opacity=50)}.dragula-handle{color:#999;cursor:pointer}.dragula-handle:focus,.dragula-handle:hover{color:#333}.plupload_wrapper{width:100%;border:2px dashed #ddd;border-radius:3px}.panel>div>.plupload_wrapper{border:0}.panel.panel-flat>div>.plupload_wrapper{border-top:1px solid #ddd}.plupload_delete a:after,.plupload_done a:after,.plupload_failed a:after,.plupload_file_action:after,.plupload_filelist li.plupload_droptext:before,.plupload_filelist:empty:before,.plupload_header:after{font-family:icomoon;display:inline-block;font-size:16px;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.file-preview-other:after,.file-thumb-loading:after,.file-uploading:after{font-family:icomoon;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.plupload_header{display:none;position:relative;background-color:#0097A7;margin:-1px -1px 0;border-top-right-radius:3px;border-top-left-radius:3px}.plupload_header:after{content:'\ec78';color:#fff;font-size:32px;position:absolute;top:50%;left:20px;margin-top:-16px}.plupload_header_content{padding:15px 20px 15px 72px;color:#fff}.plupload_header_title{font-size:15px;font-weight:500}.plupload_header_text{font-size:11px;line-height:1.82}.plupload_clear,.plupload_clearer{clear:both}.plupload_clearer,.plupload_progress_bar{display:block;font-size:0;line-height:0}.plupload_button{display:inline-block;color:#fff;background-color:#2196F3;padding:9px 17px;border-radius:3px;margin-right:5px;text-transform:uppercase}.plupload_file_action *,.plupload_progress,.plupload_upload_status{display:none}.plupload_button:focus,.plupload_button:hover{color:#fff;-webkit-box-shadow:0 0 0 100px rgba(0,0,0,.05) inset;box-shadow:0 0 0 100px rgba(0,0,0,.05) inset}.plupload_button:active{-webkit-box-shadow:0 0 0 100px rgba(0,0,0,.1) inset;box-shadow:0 0 0 100px rgba(0,0,0,.1) inset}a.plupload_disabled,a.plupload_disabled:focus,a.plupload_disabled:hover{color:#999;border-color:#ddd;background:#fcfcfc;cursor:default;-webkit-box-shadow:none;box-shadow:none}.plupload_start{background-color:#26A69A}.plupload_filelist{margin:0;padding:0;list-style:none}.plupload_scroll .plupload_filelist{height:250px;background:#fff;overflow-y:auto}@media (max-width:768px){.plupload_scroll .plupload_filelist{height:200px}}.plupload_filelist li{padding:12px 20px;background-color:#fff}.plupload_filelist li:hover{background-color:#f5f5f5}.plupload_filelist li.plupload_droptext:hover{background-color:transparent}.plupload_filelist li.plupload_droptext,.plupload_filelist:empty{position:relative;height:250px;text-align:center;background-color:transparent;text-indent:-99999px}.plupload_filelist li.plupload_droptext:before,.plupload_filelist:empty:before{content:'\ea0e';font-size:80px;padding-top:65px;position:absolute;top:0;width:80px;height:80px;left:50%;margin-left:-40px;z-index:2;color:#ddd;text-indent:0;font-weight:400}.plupload_filelist li.plupload_droptext:after,.plupload_filelist:empty:after{content:'Drag files to upload';font-size:19px;position:absolute;top:50%;padding-top:145px;left:50%;margin:-100px 0 0 -150px;width:300px;height:200px;color:#bbb;text-indent:0}@media (max-width:768px){.plupload_filelist li.plupload_droptext,.plupload_filelist:empty{height:200px}.plupload_filelist li.plupload_droptext:after,.plupload_filelist li.plupload_droptext:before,.plupload_filelist:empty:after,.plupload_filelist:empty:before{width:100%;height:200px;left:0;margin:0;top:0}.plupload_filelist li.plupload_droptext:before,.plupload_filelist:empty:before{font-size:64px;padding-top:40px}.plupload_filelist li.plupload_droptext:after,.plupload_filelist:empty:after{font-size:17px;border-width:3px 0;padding-top:120px}.plupload_filelist_footer .plupload_file_action,.plupload_filelist_footer .plupload_file_size,.plupload_filelist_footer .plupload_file_status,.plupload_filelist_footer .plupload_progress{display:none}}.plupload_filelist_footer,.plupload_filelist_header{padding:15px 20px}.plupload_filelist:empty:after{content:'Add files to upload'}.plupload_filelist_header .plupload_file_action,.plupload_filelist_header .plupload_file_name,.plupload_filelist_header .plupload_file_size,.plupload_filelist_header .plupload_file_status{font-weight:500}.plupload_filelist_footer .plupload_file_size,.plupload_filelist_footer .plupload_file_status,.plupload_filelist_footer .plupload_upload_status{padding:8px 0;font-weight:500}.plupload_file_action{position:relative;float:right;margin-left:30px;margin-top:2px;color:#999;width:16px;height:16px}.plupload_file_action:after{content:'\ec67';position:absolute;left:0;top:0}.plupload_filelist_footer .plupload_file_action{margin-top:9px}.plupload_filelist .plupload_file_action:after{content:none}.plupload_delete .plupload_file_action>a{color:#333;line-height:1;opacity:.5;filter:alpha(opacity=50)}.plupload_delete .plupload_file_action>a:hover{opacity:1;filter:alpha(opacity=100)}.plupload_uploading{background-color:#E8F5E9}.plupload_delete a:after{content:'\ed6b'}.plupload_failed a{color:#F44336;cursor:default}.plupload_failed a:after{content:'\e9cf'}.plupload_done{color:#999}.plupload_done a{color:#4DB6AC;cursor:default}.plupload_done a:after{content:'\e9db'}.plupload_progress_container{margin-top:14px;background-color:#eee}.plupload_progress_bar{width:0;height:4px;background:#4DB6AC;border-radius:4px}.file-preview-frame,.file-preview-image,.file-preview-other{height:160px;vertical-align:middle}.file-input.has-error .form-control{border-color:#ddd;outline:0;-webkit-box-shadow:none;box-shadow:none}@media (min-width:769px){.plupload_file_name{float:left;overflow:hidden}.plupload_filelist .plupload_file_name{width:205px;white-space:nowrap;text-overflow:ellipsis}.plupload_file_size,.plupload_file_status,.plupload_progress{float:right;width:80px}.plupload_file_action,.plupload_file_size,.plupload_file_status{text-align:right}.file-input .btn>.glyphicon,.file-input .btn>[class*=icon-]{margin-right:5px}}.file-object{margin:0 0 -8px;padding:0}.btn-file{position:relative;overflow:hidden}.btn-file input[type=file]{position:absolute;top:0;right:0;min-width:100%;min-height:100%;text-align:right;opacity:0;background:none;cursor:inherit;display:block}.file-caption-name{display:inline-block;overflow:hidden;word-break:break-all}.file-caption-name .glyphicon,.file-caption-name [class*=icon-]{margin-right:8px}.file-input-new .file-caption-name{color:#999}.file-input-new .file-caption-name>.glyphicon,.file-input-new .file-caption-name>[class*=icon-]{display:none}.file-error-message{position:relative;background-color:#f2dede;color:#a94442;text-align:center;border-radius:3px;padding:10px;margin:0 5px 5px}.file-drop-zone .file-error-message{margin-top:5px}.file-error-message .close{margin-top:1px;color:#a94442}.file-error-message pre,.file-error-message ul{margin:8px 0;text-align:left}.file-caption-disabled{cursor:not-allowed;border-bottom-style:dashed}.file-caption-disabled:focus{border-bottom-color:#ddd;-webkit-box-shadow:none;box-shadow:none}.file-caption-disabled .file-caption-name{color:#ccc}.file-preview-detail-modal{text-align:left}.file-preview{border-radius:2px;border:1px solid #ddd;width:100%;margin-bottom:20px;position:relative;text-align:center}.file-preview>.close{font-weight:400;font-size:17px;position:absolute;top:0;right:0;background-color:#fff;padding:8px;line-height:.6;border-radius:3px;color:#555;opacity:1;filter:alpha(opacity=100)}.file-preview-frame{margin:8px 0 8px 8px;display:table;float:left}.changeType,.file-footer-buttons{float:right}.file-drop-zone .file-preview-frame{border:1px solid #ddd;border-radius:3px}.file-preview-image{border-radius:3px}@media (max-width:768px){.file-preview-image{max-width:100%}}.file-preview-text{text-align:left;width:160px;margin-bottom:2px;color:#428bca;background-color:#fff;overflow-x:hidden}.file-preview-other{display:table-cell;text-align:center;width:160px}.file-preview-other:after{content:"\ea0c";display:block;font-size:64px}.file-preview-other .glyphicon{display:none}.file-preview-status{position:absolute;bottom:0;left:0;width:100%;background-color:rgba(250,250,250,.8);border-top:1px solid #ddd;padding:8px 16px;font-size:12px;line-height:1.6666667;color:#333!important}.file-preview-status:empty{padding:0;background-color:transparent;border:0}.file-thumb-loading{min-height:109px}.file-thumb-loading:before,.file-uploading:before{content:"";display:inline-block;background-color:#263238;width:32px;height:32px;position:absolute;top:50%;left:50%;margin:-34.5px 0 0 -16px;border-radius:3px;-webkit-box-shadow:0 1px 5px rgba(255,255,255,.5);box-shadow:0 1px 5px rgba(255,255,255,.5)}.file-thumb-loading:after,.file-uploading:after{content:"\eb55";display:inline-block;position:absolute;color:#fff;top:50%;left:50%;margin:-26.5px 0 0 -8px;font-size:16px;line-height:1;-webkit-animation:rotation 1s linear infinite;-o-animation:rotation 1s linear infinite;animation:rotation 1s linear infinite}#fancybox-loading div:after,.dropzone .dz-default.dz-message:before,.fancybox-close:after,.fancybox-nav span:after,.footable.breakpoint>tbody>tr .footable-toggle:before{font-family:icomoon}.file-input-ajax-new .file-caption-name>.glyphicon,.file-input-ajax-new .file-caption-name>[class*=icon-],.file-input-ajax-new .fileinput-remove,.file-input-ajax-new .fileinput-remove-button,.file-input-ajax-new .fileinput-upload-button,.file-input-new .close,.file-input-new .file-preview,.file-input-new .fileinput-remove-button,.file-input-new .fileinput-upload-button,.file-input-new .glyphicon-file{display:none}.file-upload-indicator{padding-top:7px;padding-bottom:7px;cursor:default;text-align:left;padding-left:9px}.file-input-new .input-group .input-group-btn>.btn-file{border-bottom-left-radius:3px;border-top-left-radius:3px}.file-actions{margin-top:5px;border-top:1px solid #eee}.file-actions .btn>.glyphicon,.file-actions .btn>[class*=icon-]{margin-right:0}.file-footer-caption{display:block;overflow:hidden;text-overflow:ellipsis;width:160px;text-align:center;font-size:11px;padding:12px 7px 7px;margin-left:auto;margin-right:auto}.file-preview-error{opacity:.65;filter:alpha(opacity=65);-webkit-box-shadow:none;box-shadow:none}.file-drop-zone{border:1px dashed #ddd;border-radius:3px;height:100%;vertical-align:middle;margin:5px;padding:5px}.file-drop-zone-title{color:#999;font-size:21px;font-weight:300;padding:85px 10px}.file-highlighted{border-color:#ccc;background-color:#fafafa}.file-thumb-progress{position:absolute;top:-5px;left:0;right:0}.file-thumb-progress .progress,.file-thumb-progress .progress-bar{height:5px;border-radius:0;font-size:0}.file-thumbnail-footer{position:relative}.btn-file ::-ms-browse{width:100%;height:100%}.file-zoom-fullscreen.modal{position:fixed;top:0;right:0;bottom:0;left:0}.file-zoom-fullscreen .modal-dialog{position:fixed;margin:0;width:100%;height:100%;padding:0}.file-zoom-fullscreen .modal-content{border-radius:0;-webkit-box-shadow:none;box-shadow:none}.file-zoom-fullscreen .modal-body{overflow-y:auto}.file-zoom-dialog .btn-navigate{position:absolute;top:50%;margin-top:-27px;padding:0;border:0;background:0 0;outline:0;color:#fff;opacity:.7;filter:alpha(opacity=70)}.file-zoom-dialog .btn-navigate>i{display:block;font-size:32px}.file-zoom-dialog .btn-navigate:not([disabled]):focus,.file-zoom-dialog .btn-navigate:not([disabled]):hover{outline:0;-webkit-box-shadow:none;box-shadow:none;opacity:.5;filter:alpha(opacity=50)}.file-zoom-dialog .btn-navigate[disabled]{opacity:.3;filter:alpha(opacity=30)}.file-zoom-dialog .btn-prev{left:-42px}.file-zoom-dialog .btn-next{right:-42px}.file-zoom-dialog .floating-buttons{position:absolute;top:20px;right:20px;background-color:#fff;border-radius:0 0 0 3px}.file-zoom-dialog .floating-buttons:not(:empty){padding:0 0 20px 20px}.file-zoom-dialog .floating-buttons,.file-zoom-dialog .floating-buttons .btn{z-index:3000}.kv-zoom-actions{position:absolute;top:50%;right:20px;margin-top:-5px}.file-zoom-content{height:480px;text-align:center}.file-drag-handle{margin-right:2px;float:left;cursor:move;cursor:-webkit-grabbing}.file-drag-handle:hover{opacity:.7;filter:alpha(opacity=70)}.dropzone .dz-default.dz-message,.dropzone .dz-message{opacity:1;filter:alpha(opacity=100)}.dropzone{position:relative;border:3px dashed #eee;min-height:250px;border-radius:2px;background-color:#fcfcfc;padding:5px}.dropzone.dz-clickable,.dropzone.dz-clickable .dz-message,.dropzone.dz-clickable .dz-message span{cursor:pointer}.dropzone.dz-clickable *{cursor:default}.dropzone.dz-drag-hover{border-color:rgba(0,0,0,.15);background:rgba(0,0,0,.04)}.sidebar .dropzone{min-height:190px;text-align:center;border-width:2px}.sidebar .dropzone .dz-default.dz-message:before{font-size:64px;width:64px;height:64px;margin-left:-32px;top:50px}.sidebar .dropzone .dz-default.dz-message span{font-size:15px}.sidebar .dropzone .dz-default.dz-message>span{margin-top:130px}.dropzone .dz-default.dz-message{position:absolute;height:230px;width:100%;margin-top:-115px;top:50%;left:0;padding:20px;text-align:center;border-radius:4px;-webkit-transition:opacity .3s ease-in-out;-o-transition:opacity .3s ease-in-out;transition:opacity .3s ease-in-out}.dropzone .dz-default.dz-message:before{content:'\ea0e';font-size:64px;position:absolute;top:48px;width:64px;height:64px;display:inline-block;left:50%;margin-left:-32px;line-height:1;z-index:2;color:#ddd;text-indent:0;font-weight:400;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.dropzone .dz-default.dz-message span{font-size:15px;color:#bbb;text-align:center;margin-top:140px;display:block;font-weight:500;text-shadow:0 1px 1px #fff}.dropzone .dz-default.dz-message span>span{margin-top:2px;display:block;color:#ccc;font-size:15px}@media (min-width:769px){.dropzone{min-height:320px}.dropzone .dz-default.dz-message:before{font-size:80px;top:48px;width:80px;height:80px;margin-left:-32px}.dropzone .dz-default.dz-message span{font-size:19px;margin-top:130px}}.dropzone.dz-drag-hover .dz-message{opacity:.15;filter:alpha(opacity=15)}.dropzone.dz-started .dz-message{display:block;opacity:0;filter:alpha(opacity=0)}.dropzone .dz-preview,.dropzone-previews .dz-preview{background-color:#fff;position:relative;display:inline-block;margin:10px;vertical-align:top;border:1px solid #ddd;padding:8px;border-radius:2px}.dropzone .dz-preview.dz-file-preview [data-dz-thumbnail],.dropzone .dz-preview:hover .dz-details img,.dropzone-previews .dz-preview.dz-file-preview [data-dz-thumbnail],.dropzone-previews .dz-preview:hover .dz-details img{display:none}.dropzone .dz-preview .dz-details,.dropzone-previews .dz-preview .dz-details{width:140px;position:relative;background-color:#fafafa;padding:8px;margin-bottom:25px}.dropzone .dz-preview .dz-details .dz-filename,.dropzone-previews .dz-preview .dz-details .dz-filename{overflow:hidden;height:100%}.dropzone .dz-preview .dz-details img,.dropzone-previews .dz-preview .dz-details img{position:absolute;top:0;left:0;width:140px;height:140px}.dropzone .dz-preview .dz-details .dz-size,.dropzone-previews .dz-preview .dz-details .dz-size{position:absolute;bottom:-26px;left:0}.dropzone .dz-preview .dz-error-mark,.dropzone .dz-preview .dz-success-mark,.dropzone-previews .dz-preview .dz-error-mark,.dropzone-previews .dz-preview .dz-success-mark{display:none;position:absolute;z-index:9;right:8px}.dropzone .dz-preview .dz-error-mark:after,.dropzone .dz-preview .dz-success-mark:after,.dropzone-previews .dz-preview .dz-error-mark:after,.dropzone-previews .dz-preview .dz-success-mark:after{font-family:icomoon;display:block;position:absolute;right:0;bottom:3px;font-size:12px;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.dropzone .dz-preview .dz-error-mark span,.dropzone .dz-preview .dz-error-mark svg,.dropzone .dz-preview .dz-success-mark span,.dropzone .dz-preview .dz-success-mark svg,.dropzone-previews .dz-preview .dz-error-mark span,.dropzone-previews .dz-preview .dz-error-mark svg,.dropzone-previews .dz-preview .dz-success-mark span,.dropzone-previews .dz-preview .dz-success-mark svg{display:none}.dropzone .dz-preview .dz-error-mark,.dropzone-previews .dz-preview .dz-error-mark{color:#F44336}.dropzone .dz-preview .dz-error-mark:after,.dropzone-previews .dz-preview .dz-error-mark:after{content:'\ed6a'}.dropzone .dz-preview .dz-success-mark,.dropzone-previews .dz-preview .dz-success-mark{color:#4CAF50}.dropzone .dz-preview .dz-success-mark:after,.dropzone-previews .dz-preview .dz-success-mark:after{content:'\ed6e'}.dropzone .dz-preview.dz-error .dz-error-mark,.dropzone .dz-preview.dz-success .dz-success-mark,.dropzone-previews .dz-preview.dz-error .dz-error-mark,.dropzone-previews .dz-preview.dz-success .dz-success-mark{display:block;opacity:1;filter:alpha(opacity=100)}.dropzone .dz-preview .dz-progress,.dropzone-previews .dz-preview .dz-progress{position:absolute;top:118px;left:8px;right:8px;height:4px;background-color:#eee;display:none;border-radius:2px}.dropzone .dz-preview .dz-progress .dz-upload,.dropzone-previews .dz-preview .dz-progress .dz-upload{display:block;position:absolute;top:0;bottom:0;left:0;width:0;height:100%;background-color:#00BCD4;-webkit-transition:width .3s ease-in-out;-o-transition:width .3s ease-in-out;transition:width .3s ease-in-out}.dropzone .dz-preview.dz-processing .dz-progress,.dropzone-previews .dz-preview.dz-processing .dz-progress{display:block}.dropzone .dz-preview.dz-success .dz-progress,.dropzone-previews .dz-preview.dz-success .dz-progress{display:block;opacity:0;filter:alpha(opacity=0);-webkit-transition:opacity .4s ease-in-out;-o-transition:opacity .4s ease-in-out;transition:opacity .4s ease-in-out}.dropzone .dz-preview .dz-error-message,.dropzone-previews .dz-preview .dz-error-message{display:block;position:absolute;top:0;left:0;background:rgba(245,245,245,.8);margin:8px;padding:8px;color:#F44336;max-width:100%;z-index:5;opacity:0;filter:alpha(opacity=0);-webkit-transition:opacity .3s ease-in-out;-o-transition:opacity .3s ease-in-out;transition:opacity .3s ease-in-out}.dropzone .dz-preview.dz-error:hover .dz-error-message,.dropzone-previews .dz-preview.dz-error:hover .dz-error-message{display:block;opacity:1;filter:alpha(opacity=100)}.dropzone .dz-preview.dz-error .dz-progress .dz-upload,.dropzone-previews .dz-preview.dz-error .dz-progress .dz-upload{background:#F44336}.cropper-bg,.image-cropper-container{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQAQMAAAAlPW0iAAAAA3NCSVQICAjb4U/gAAAABlBMVEXMzMz////TjRV2AAAACXBIWXMAAArrAAAK6wGCiw1aAAAAHHRFWHRTb2Z0d2FyZQBBZG9iZSBGaXJld29ya3MgQ1M26LyyjAAAABFJREFUCJlj+M/AgBVhF/0PAH6/D/HkDxOGAAAAAElFTkSuQmCC)}.dropzone .dz-preview.dz-image-preview:hover .dz-details img,.dropzone-previews .dz-preview.dz-image-preview:hover .dz-details img{display:block;opacity:.1;filter:alpha(opacity=10)}.dropzone .dz-preview a.dz-remove,.dropzone-previews .dz-preview a.dz-remove{background-color:#fafafa;border-radius:2px;border:1px solid #eee;display:block;padding:5px;text-align:center;color:#999;margin-top:35px;cursor:pointer}.dropzone .dz-preview a.dz-remove:hover,.dropzone-previews .dz-preview a.dz-remove:hover{color:#333;background-color:#f5f5f5}.image-cropper-container{height:350px;width:100%;overflow:hidden}.eg-preview{text-align:center;font-size:0}.eg-preview .preview{margin:10px auto 0;display:block;overflow:hidden;vertical-align:middle;border-radius:2px}.eg-preview .preview-lg{width:150px;height:150px}.eg-preview .preview-md{width:120px;height:120px}.eg-preview .preview-sm{width:90px;height:90px}.eg-preview .preview-xs{width:60px;height:60px}.eg-preview .preview-xxs{width:40px;height:40px}@media (min-width:769px){.eg-preview .preview{display:inline-block;margin-left:0;margin-right:0}.eg-preview .preview+.preview{margin-left:15px}.eg-preview{white-space:nowrap;max-width:100%;overflow:auto}}.cropper-wrap-box,.fancybox-inner{overflow:hidden}.cropper-container{font-size:0;line-height:0;position:relative;direction:ltr!important;-ms-touch-action:none;touch-action:none;user-select:none}.chart,.handsontable{direction:ltr}.cropper-container img{display:block;width:100%;min-width:0!important;max-width:none!important;height:100%;min-height:0!important;max-height:none!important;image-orientation:0deg!important}.cropper-canvas,.cropper-crop-box,.cropper-drag-box,.cropper-modal,.cropper-wrap-box{position:absolute;top:0;right:0;bottom:0;left:0}.cropper-drag-box{background-color:#fff;opacity:0;filter:alpha(opacity=0)}.cropper-dashed,.cropper-modal{opacity:.5;filter:alpha(opacity=50)}.cropper-modal{background-color:#000}.cropper-view-box{display:block;overflow:hidden;width:100%;height:100%}.cropper-dashed{position:absolute;display:block;border:0 dashed #eee}.cropper-dashed.dashed-h{top:33.33333%;left:0;width:100%;height:33.33333%;border-top-width:1px;border-bottom-width:1px}.cropper-dashed.dashed-v{top:0;left:33.33333%;width:33.33333%;height:100%;border-right-width:1px;border-left-width:1px}.cropper-center{position:absolute;top:50%;left:50%;display:block;width:0;height:0;opacity:.75;filter:alpha(opacity=75)}.cropper-center:after,.cropper-center:before{content:' ';position:absolute;display:block;background-color:#eee}.cropper-center:before{top:0;left:-3px;width:7px;height:1px}.cropper-center:after{top:-3px;left:0;width:1px;height:7px}.cropper-face,.cropper-line,.cropper-point{position:absolute;display:block;width:100%;height:100%;opacity:.1;filter:alpha(opacity=10)}.cropper-face{top:0;left:0;background-color:#fff}.cropper-line,.cropper-point{background-color:#2196F3}.cropper-line.line-e{top:0;right:-3px;width:5px;cursor:e-resize}.cropper-line.line-n{top:-3px;left:0;height:5px;cursor:n-resize}.cropper-line.line-w{top:0;left:-3px;width:5px;cursor:w-resize}.cropper-line.line-s{bottom:-3px;left:0;height:5px;cursor:s-resize}.cropper-point{width:5px;height:5px;opacity:.75;filter:alpha(opacity=75)}.cropper-point.point-e{top:50%;right:-3px;margin-top:-3px;cursor:e-resize}.cropper-point.point-n{top:-3px;left:50%;margin-left:-3px;cursor:n-resize}.cropper-point.point-w{top:50%;left:-3px;margin-top:-3px;cursor:w-resize}.cropper-point.point-s{bottom:-3px;left:50%;margin-left:-3px;cursor:s-resize}.cropper-point.point-ne{top:-3px;right:-3px;cursor:ne-resize}.cropper-point.point-nw{top:-3px;left:-3px;cursor:nw-resize}.cropper-point.point-sw{bottom:-3px;left:-3px;cursor:sw-resize}.cropper-point.point-se{right:-3px;bottom:-3px;width:20px;height:20px;cursor:se-resize;opacity:1;filter:alpha(opacity=100)}.cropper-point.point-se:before{content:' ';position:absolute;right:-50%;bottom:-50%;display:block;width:200%;height:200%;background-color:#2196F3;opacity:0;filter:alpha(opacity=0)}@media (min-width:769px){.cropper-point.point-se{width:15px;height:15px}}@media (min-width:1025px){.cropper-point.point-se{width:10px;height:10px}}@media (min-width:1200px){.cropper-point.point-se{width:5px;height:5px;opacity:.75;filter:alpha(opacity=75)}}.cropper-invisible{opacity:0;filter:alpha(opacity=0)}.cropper-hide{position:absolute;display:block;width:0;height:0}.cropper-hidden{display:none!important}.cropper-disabled .cropper-drag-box,.cropper-disabled .cropper-face,.cropper-disabled .cropper-line,.cropper-disabled .cropper-point{cursor:not-allowed}.cropper-move{cursor:move}.cropper-crop{cursor:crosshair}.fancybox-image,.fancybox-inner,.fancybox-nav,.fancybox-nav span,.fancybox-outer,.fancybox-skin,.fancybox-tmp,.fancybox-wrap,.fancybox-wrap iframe,.fancybox-wrap object{padding:0;margin:0;border:0;outline:0;vertical-align:top}.fancybox-wrap{position:absolute;top:0;left:0;z-index:8020}.fancybox-inner,.fancybox-outer,.fancybox-skin{position:relative}.fancybox-skin{background-color:#fff;color:#333;border-radius:3px}.fancybox-opened{z-index:8030}.fancybox-opened .fancybox-skin{-webkit-box-shadow:0 1px 10px rgba(0,0,0,.2);box-shadow:0 1px 10px rgba(0,0,0,.2)}#fancybox-loading,.fancybox-close{position:fixed;color:#fff;cursor:pointer}.fancybox-type-iframe .fancybox-inner{-webkit-overflow-scrolling:touch}.fancybox-iframe,.fancybox-image{display:block;width:100%;height:100%}.fancybox-image{max-width:100%;max-height:100%}#fancybox-loading{top:50%;left:50%;z-index:8060;opacity:.8;filter:alpha(opacity=80)}#fancybox-loading div:after{content:'\eb55';font-size:16px;margin-top:-8px;margin-left:-8px;display:block;line-height:1;width:16px;height:16px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;-webkit-animation:rotation 1s ease infinite;-o-animation:rotation 1s ease infinite;animation:rotation 1s ease infinite}.fancybox-close{right:0;top:0;padding:15px;z-index:8061;line-height:1;border-radius:3px}.fancybox-close:focus,.fancybox-close:hover{background-color:rgba(0,0,0,.25);color:#fff}.fancybox-close:after{content:'\ed6a';font-size:16px;display:block;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.fancybox-error{color:#F44336;font-weight:500;margin:0;padding:20px}.fancybox-title{visibility:hidden;font-weight:500;position:relative;text-shadow:none;z-index:8050}.fancybox-opened .fancybox-title{visibility:visible}.fancybox-title-float-wrap{position:absolute;bottom:0;right:50%;margin-bottom:-45px;z-index:8050;text-align:center}.fancybox-title-float-wrap .child{display:inline-block;margin-right:-100%;padding:8px 16px;background:rgba(0,0,0,.5);color:#fff;white-space:nowrap}.fancybox-title-outside-wrap{position:relative;margin-top:10px;color:#fff}.fancybox-title-inside-wrap{padding-top:10px}.fancybox-title-over-wrap{position:absolute;bottom:0;left:0;color:#fff;padding:10px;background-color:transparent}.fancybox-nav{position:absolute;top:0;width:40%;height:100%;cursor:pointer;background-color:transparent;z-index:8040}.fancybox-nav span{position:absolute;top:50%;width:32px;height:32px;margin-top:-16px;cursor:pointer;padding:8px;color:#fff;background-color:rgba(0,0,0,.5);display:block;text-align:center;z-index:8040;visibility:hidden;border-radius:3px;opacity:0;filter:alpha(opacity=0)}.fancybox-nav span:after{display:inline-block;font-size:16px;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.fancybox-nav:hover span{visibility:visible;opacity:1;filter:alpha(opacity=100)}.handsontable.htAutoSize,.handsontable.listbox .wtBorder,.htContextMenu .wtBorder{visibility:hidden}.fancybox-prev{left:0}.fancybox-prev span{left:10px}.fancybox-prev span:after{content:'\e9c8'}.fancybox-next{right:0}.fancybox-next span{right:10px}.fancybox-next span:after{content:'\e9cb'}.fancybox-lock{overflow:visible!important;width:auto}.fancybox-lock .fancybox-overlay{overflow:auto;overflow-y:scroll}.fancybox-lock body{overflow:hidden!important}.fancybox-lock-test{overflow-y:hidden!important}.fancybox-overlay{position:absolute;top:0;left:0;overflow:hidden;display:none;z-index:8010;background-color:rgba(0,0,0,.8)}.fancybox-overlay-fixed{position:fixed;bottom:0;right:0}.footable{width:100%}.footable>thead>tr>th{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.footable.breakpoint>tbody>tr.footable-detail-show>td{border-bottom:0}.footable.breakpoint>tbody>tr.footable-row-detail:hover{background-color:transparent}.footable.breakpoint>tbody>tr:hover:not(.footable-row-detail){cursor:pointer}.footable.breakpoint>tbody>tr>.footable-cell-detail{background-color:#eee;border-top:0}.footable.breakpoint>tbody>tr .footable-toggle:before{content:"\e9e4";display:inline-block;font-size:16px;vertical-align:middle;position:relative;top:-1px;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;padding-right:10px}.changeTypeMenu li.active:after,.htContextMenu table tbody tr td div span.selected:after,.pika-next:after,.pika-prev:after{font-family:Icomoon;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.footable.breakpoint>tbody>tr.footable-detail-show .footable-toggle:before{content:"\e9e7"}.footable-row-detail-inner{display:table;table-layout:fixed;width:100%}.footable-row-detail-row{display:table-row}.footable-row-detail-group{display:block;font-weight:700;margin-top:20px;margin-bottom:8px}.footable-row-detail-group:first-child{margin-top:8px}.footable-row-detail-name{display:table-cell;padding-right:40px;font-weight:500}.footable-row-detail-value{display:table-cell;padding:8px 0}@media (max-width:480px){.footable-row-detail-inner{position:relative}.footable-row-detail .btn-group,.footable-row-detail .dropdown,.footable-row-detail .dropup{position:static}.footable-row-detail .dropdown-menu{left:0;right:0}}.hot-container{position:relative;-webkit-box-shadow:0 0 0 1px #ddd;box-shadow:0 0 0 1px #ddd}.hot-container .ht_master .wtHolder{min-width:100%}.hot-container.has-scroll{height:300px;overflow:hidden}@media (max-width:1024px){.hot-container{overflow-x:hidden;overflow-y:auto}.hot-container .ht_master .wtHolder{max-width:100%;min-width:auto}.hot-container:not(.has-scroll) .wtHolder{height:100%!important}}.handsontable .table-striped>tbody>tr:nth-of-type(odd)>td:not([class*=bg-]){background-color:inherit}.handsontable .table-hover>tbody>tr:hover>th{background-color:#f5f5f5}.changeType{border:0;background-color:transparent;border-radius:2px;padding:0;margin-right:2px;line-height:16px;margin-top:2px}.changeType:hover{color:#777}.changeTypeMenu{position:absolute;border:1px solid #ccc;margin-top:20px;background-color:#fff;padding:8px 0;display:none;width:160px;z-index:1000}.changeTypeMenu li{list-style:none;padding:8px 40px 8px 16px;cursor:pointer;position:relative}.changeTypeMenu li:hover{background-color:#f5f5f5}.changeTypeMenu li.active:after{content:'\e600';position:absolute;right:16px;top:50%;margin-top:-8px;display:inline-block;font-size:16px;line-height:1}.handsontable,.handsontable .relative{position:relative}.handsontable .hide{display:none}.handsontable.htAutoSize{left:-99000px;position:absolute;top:-99000px}.handsontable .htDimmed{color:#999}.handsontable .wtHider{width:0}.handsontable .wtSpreader{position:relative;width:0;height:auto}.handsontable div,.handsontable input,.handsontable table,.handsontable tbody,.handsontable td,.handsontable textarea,.handsontable th,.handsontable thead{-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box}.handsontable input,.handsontable textarea{min-height:initial}.handsontable .htCore{border-collapse:separate;border-spacing:0;margin:0;border-width:0;width:0;outline-width:0;max-width:none;max-height:none}.handsontable col,.handsontable col.rowHeader{width:50px}.handsontable td,.handsontable th{border-right:1px solid #ddd;border-bottom:1px solid #ddd;height:30px;empty-cells:show;position:relative;padding:0 4px;overflow:hidden;outline-width:0;white-space:pre-line}.handsontable td.htNoWrap,.handsontable th{white-space:nowrap}.handsontable td.disabled,.handsontable th.disabled{background-color:#fafafa;color:#999}.handsontable th{text-align:center;font-weight:400}.handsontable th:not([class*=bg-]){background-color:#f5f5f5}.handsontable th.active{background-color:#eee}.handsontable td.area,.handsontable td:not([class*=bg-]){background-color:#fff}.handsontable thead th{padding:0}.handsontable thead th .relative{padding:2px 4px;overflow:hidden;text-overflow:ellipsis}.handsontable td.htInvalid{background-color:#FFEBEE!important}.handsontable td.active{background-color:#f8f8f8}.handsontable td.area{background:-moz-linear-gradient(top,rgba(181,209,255,.34) 0,rgba(181,209,255,.34) 100%);background:-webkit-gradient(linear,left top,left bottom,color-stop(0,rgba(181,209,255,.34)),color-stop(100%,rgba(181,209,255,.34)));background:-webkit-linear-gradient(top,rgba(181,209,255,.34) 0,rgba(181,209,255,.34) 100%);background:-o-linear-gradient(top,rgba(181,209,255,.34) 0,rgba(181,209,255,.34) 100%);background:-ms-linear-gradient(top,rgba(181,209,255,.34) 0,rgba(181,209,255,.34) 100%);background:linear-gradient(to bottom,rgba(181,209,255,.34) 0,rgba(181,209,255,.34) 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#57b5d1ff', endColorstr='#57b5d1ff', GradientType=0)}.handsontable th.htNoFrame,.handsontable th:first-child.htNoFrame,.handsontable tr:first-child th.htNoFrame{border-left-width:0;background-color:#fff;border-color:#fff}.handsontable .htNoFrame+td,.handsontable .htNoFrame+th,.handsontable td:first-of-type,.handsontable th:first-child,.handsontable.htRowHeaders thead tr th:nth-child(2){border-left:1px solid #ddd}.handsontable tr:first-child td,.handsontable tr:first-child th{border-top:1px solid #ddd}.ht_master:not(.innerBorderLeft)~.handsontable tbody tr th,.ht_master:not(.innerBorderLeft)~.handsontable:not(.ht_clone_top) thead tr th:first-child{border-right-width:0}.ht_master:not(.innerBorderTop) thead tr.lastChild th,.ht_master:not(.innerBorderTop) thead tr:last-child th,.ht_master:not(.innerBorderTop)~.handsontable thead tr.lastChild th,.ht_master:not(.innerBorderTop)~.handsontable thead tr:last-child th{border-bottom-width:0}.ht_clone_left tbody tr:first-child td,.ht_clone_left tbody tr:first-child th,.ht_clone_left thead tr:first-child th,.ht_clone_top tr:first-child td,.ht_clone_top tr:first-child th,.ht_clone_top_left_corner tbody tr:first-child td,.ht_clone_top_left_corner tbody tr:first-child th,.ht_clone_top_left_corner thead tr:first-child th,.ht_master tbody tr:first-child td{border-top-color:transparent}.handsontable td:first-child,.handsontable th:first-child{border-left-color:transparent}.ht_clone_top td:last-child,.ht_clone_top th:last-child,.ht_master td:last-child{border-right-color:transparent}.ht_clone_left tbody tr:last-child td,.ht_clone_left tbody tr:last-child th,.ht_master tbody tr:last-child td,.ht_master tbody tr:last-child th{border-bottom-color:transparent}.htColumnHeaders .handsontable tr:first-child td,.htRowHeaders.htColumnHeaders .ht_clone_left tbody tr:first-child th,.htRowHeaders.htColumnHeaders .ht_clone_top_left_corner tbody tr:first-child th{border-top-color:#ddd}.manualColumnMover,.manualRowMover{position:fixed;top:0;background-color:transparent;z-index:999;cursor:move}.manualColumnMover{left:0;width:5px;height:32px}.manualRowMover{left:-4px;height:5px;width:50px}.manualColumnMoverGuide,.manualRowMoverGuide{position:fixed;left:0;top:0;background-color:#ddd;display:none;opacity:.25;filter:alpha(opacity=25)}.manualColumnMoverGuide.active,.manualColumnResizer.active,.manualRowMoverGuide.active,.manualRowResizer.active{display:block}.manualColumnMoverGuide.active,.manualColumnMoverGuide:hover,.manualRowMoverGuide.active,.manualRowMoverGuide:hover{background-color:#2196F3}.manualColumnMoverGuide{max-height:404px}.manualColumnResizerGuide,.manualRowResizerGuide{position:fixed;background-color:#999;display:none}.manualColumnResizer.active,.manualColumnResizer:hover,.manualRowResizer.active,.manualRowResizer:hover{background-color:#999}.manualColumnResizer{position:fixed;top:0;cursor:col-resize;z-index:110;width:5px;height:31px}.manualRowResizer{position:fixed;left:0;cursor:row-resize;z-index:110;height:5px;width:50px}.manualColumnResizerGuide{right:0;top:0;width:0;border-right:1px dashed #777;margin-left:5px}.manualRowResizerGuide{left:0;bottom:0;height:0;border-bottom:1px dashed #777;margin-top:5px}.handsontable .columnSorting{position:relative}.handsontable .columnSorting:hover{cursor:pointer}.handsontable .columnSorting.ascending:after,.handsontable .columnSorting.descending:after,.handsontable .columnSorting:after,.handsontable .columnSorting:before{font-family:Icomoon;font-size:12px;color:#999;position:absolute;display:inline-block;top:50%;margin-top:-6px;right:-20px;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.handsontable .columnSorting:before{content:'\e9c1';margin-top:-2px}.handsontable .columnSorting:after{content:'\e9c2';margin-top:-10px}.handsontable .columnSorting.ascending:before{content:none}.handsontable .columnSorting.ascending:after{content:'\e9c2'}.handsontable .columnSorting.descending:before{content:none}.handsontable .columnSorting.descending:after{content:'\e9c1'}.handsontable th.afterHiddenColumn,.handsontable th.beforeHiddenColumn{position:relative}.handsontable th.afterHiddenColumn:after,.handsontable th.afterHiddenColumn:before,.handsontable th.beforeHiddenColumn:after,.handsontable th.beforeHiddenColumn:before{content:'\25C0';color:#bbb;position:absolute;right:1px;top:2px;font-size:5pt}.handsontable th.afterHiddenColumn:before{left:1px;top:2px;right:auto;content:'\25B6'}.handsontable thead th.hiddenHeader{display:none}.handsontable td.afterHiddenColumn.firstVisible{border-left:1px solid #ddd}.wtBorder{position:absolute;font-size:0;z-index:10}.wtBorder.hidden{display:none!important}.wtBorder.corner{font-size:0;cursor:crosshair}.htBorder.htFillBorder{background-color:#F44336;width:1px;height:1px}.handsontableInput{border:none;outline-width:0;margin:0;padding:1px 5px 0;font-family:inherit;line-height:30px;font-size:inherit;resize:none;display:inline-block;background-color:#fff;-webkit-box-shadow:0 0 0 2px #2196F3 inset;box-shadow:0 0 0 2px #2196F3 inset}.handsontableInputHolder{position:absolute;top:0;left:0;z-index:1000}.htSelectEditor{-webkit-appearance:menulist-button!important;position:absolute;width:auto;outline:0;border-color:#ddd;background-color:transparent}.handsontable .htSubmenu{position:relative}.handsontable .htSubmenu>div:after{content:'\e9c7';font-family:icomoon;position:absolute;top:50%;margin-top:-8px;right:16px;font-size:16px;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;opacity:.8;filter:alpha(opacity=80)}.handsontable .htLeft{text-align:left}.handsontable .htCenter{text-align:center}.handsontable .htRight{text-align:right}.handsontable .htJustify{text-align:justify}.handsontable .htTop{vertical-align:top}.handsontable .htMiddle{vertical-align:middle}.handsontable .htBottom{vertical-align:bottom}.htAutocomplete{padding-right:20px}.htPlaceholder{color:#999}.htAutocompleteArrow{color:#999;cursor:default;font-size:0;line-height:1;position:absolute;top:50%;right:4px;margin-top:-2px;display:inline-block;margin-right:4px;border-top:4px dashed;border-right:4px solid transparent;border-left:4px solid transparent}.handsontable td:hover .htAutocompleteArrow,.handsontable th:hover .htAutocompleteArrow{color:#333}.autocompleteEditor,.autocompleteEditor .htCore,.autocompleteEditor .wtHolder{min-width:180px}.htCheckboxRendererInput.noValue{opacity:.5;filter:alpha(opacity=50)}.htCheckboxRendererLabel{cursor:pointer;display:inline-block;width:100%;margin-bottom:0}.htCheckboxRendererLabel>.htCheckboxRendererInput{margin-right:10px}.htCommentCell{position:relative}.htCommentCell:after{content:'';position:absolute;top:0;right:0;border-left:6px solid transparent;border-top:6px solid red}.htCommentTextArea{background-color:#fff;border:1px solid #ccc;padding:9px;margin-top:-1px;border-radius:0 0 3px 3px;-webkit-box-shadow:0 2px 4px rgba(0,0,0,.1);box-shadow:0 2px 4px rgba(0,0,0,.1)}.handsontable.listbox,.htContextMenu .htCore{-webkit-box-shadow:0 3px 6px rgba(0,0,0,.16),0 3px 6px rgba(0,0,0,.23)}.handsontable .handsontable.ht_clone_top .wtHider{padding:0 0 5px}.handsontable.listbox{margin:0;background-color:#fff;box-shadow:0 3px 6px rgba(0,0,0,.16),0 3px 6px rgba(0,0,0,.23)}.handsontable.listbox .ht_master table{border-collapse:separate;border:0}.handsontable.listbox td,.handsontable.listbox th,.handsontable.listbox tr:first-child td,.handsontable.listbox tr:first-child th,.handsontable.listbox tr:last-child th{border-color:transparent}.handsontable.listbox td,.handsontable.listbox th{white-space:nowrap;text-overflow:ellipsis}.handsontable.listbox td.htDimmed{cursor:pointer;color:inherit;font-style:inherit}.handsontable.listbox tr td.current,.handsontable.listbox tr:hover td{background-color:#f5f5f5}.ht_clone_top{z-index:11}.ht_clone_left{z-index:12}.ht_clone_bottom_left_corner,.ht_clone_debug,.ht_clone_top_left_corner{z-index:13}.ht_clone_bottom,.ht_clone_left,.ht_clone_top,.ht_master{overflow:hidden}.ht_master .wtHolder{overflow:auto}.ht_clone_left .wtHolder{overflow-x:hidden;overflow-y:auto}.ht_clone_bottom .wtHolder,.ht_clone_top .wtHolder{overflow-x:hidden;overflow-y:hidden}.handsontable td.htSearchResult{background-color:#FFF3E0}.htBordered{border-width:1px}.htBordered.htTopBorderSolid{border-top-style:solid;border-top-color:#000}.htBordered.htRightBorderSolid{border-right-style:solid;border-right-color:#000}.htBordered.htBottomBorderSolid{border-bottom-style:solid;border-bottom-color:#000}.htBordered.htLeftBorderSolid{border-left-style:solid;border-left-color:#000}.handsontable thead tr:nth-last-child(2) th.htGroupIndicatorContainer{padding-bottom:5px}.htCollapseButton{width:10px;height:10px;line-height:10px;text-align:center;border-radius:3px;border:1px solid #f5f5f5;cursor:pointer;margin-bottom:3px;position:relative;-webkit-box-shadow:1px 1px 3px rgba(0,0,0,.4);box-shadow:1px 1px 3px rgba(0,0,0,.4)}.htCollapseButton:after{content:"";height:300%;width:1px;display:block;background-color:#ccc;margin-left:4px;position:absolute;bottom:10px}thead .htCollapseButton{position:absolute;top:5px;right:5px;background-color:#fff}thead .htCollapseButton:after{height:1px;width:700%;right:10px;top:4px}.handsontable th .htExpandButton{position:absolute;top:0;display:none;-webkit-box-shadow:1px 1px 3px rgba(0,0,0,.4);box-shadow:1px 1px 3px rgba(0,0,0,.4)}.handsontable th .htExpandButton.clickable{display:block}.handsontable thead th .htExpandButton{top:5px}.collapsibleIndicator{position:absolute;top:50%;transform:translate(0,-50%);right:5px;border:1px solid #999;line-height:10px;color:#333;border-radius:100px;font-size:10px;width:10px;height:10px;cursor:pointer;background-color:#eee;-webkit-box-shadow:0 0 0 6px #eee;box-shadow:0 0 0 6px #eee}.handsontable col.hidden{width:0!important}.handsontable table tr th.lightRightBorder{border-right:1px solid #E6E6E6}.handsontable tr.hidden,.handsontable tr.hidden td,.handsontable tr.hidden th,.wtDebugHidden{display:none}.wtDebugVisible{display:block;-webkit-animation-duration:.5s;animation-duration:.5s;-webkit-animation-name:wtFadeInFromNone;animation-name:wtFadeInFromNone}@keyframes wtFadeInFromNone{0%{display:none;opacity:0}1%{display:block;opacity:0}100%{display:block;opacity:1}}@-webkit-keyframes wtFadeInFromNone{0%{display:none;opacity:0}1%{display:block;opacity:0}100%{display:block;opacity:1}}.handsontable.mobile,.handsontable.mobile .wtHolder{-webkit-touch-callout:none;-webkit-tap-highlight-color:transparent;-webkit-overflow-scrolling:touch;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.htContextMenu .ht_master .wtHolder,.pika-label{overflow:hidden}.htMobileEditorContainer{display:none;position:absolute;top:0;width:70%;height:54pt;background:#f5f5f5;border-radius:20px;border:1px solid #eee;z-index:999;-webkit-text-size-adjust:none;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.htMobileEditorContainer.active{display:block}.htMobileEditorContainer .inputs{position:absolute;right:210px;bottom:10px;top:10px;left:14px;height:38px}.htMobileEditorContainer .inputs textarea{font-size:13px;border:1px solid #a1a1a1;-webkit-appearance:none;position:absolute;left:14px;right:14px;top:0;bottom:0;padding:8px;-webkit-box-shadow:none;box-shadow:none}.htMobileEditorContainer .cellPointer,.htMobileEditorContainer .cellPointer:before{height:0;width:0;border-left:13px solid transparent;border-right:13px solid transparent;position:absolute}.htMobileEditorContainer .cellPointer{top:-13px;left:30px;border-bottom:13px solid #ebebeb}.htMobileEditorContainer .cellPointer.hidden{display:none}.htMobileEditorContainer .cellPointer:before{content:'';display:block;top:2px;left:-13px;border-bottom:13px solid #f5f5f5}.htMobileEditorContainer .moveHandle{position:absolute;top:10px;left:5px;width:30px;bottom:0;cursor:move;z-index:9999}.htMobileEditorContainer .moveHandle:after{content:"..\a..\a..\a..";white-space:pre;line-height:10px;font-size:20px;display:inline-block;margin-top:-8px;color:#ebebeb}.DTS tbody td,.DTS tbody th,.dataTables_scroll .dataTables_scrollBody td,.dataTables_scroll .dataTables_scrollBody th,.dataTables_scroll .dataTables_scrollHead td,.dataTables_scroll .dataTables_scrollHead th,.htContextMenu table tbody tr td{white-space:nowrap}.htMobileEditorContainer .positionControls{width:205px;position:absolute;right:5px;top:0;bottom:0}.htMobileEditorContainer .positionControls>div{width:50px;height:100%;float:left}.htMobileEditorContainer .positionControls>div:after{content:" ";display:block;width:15px;height:15px;text-align:center;line-height:50px}.htMobileEditorContainer .downButton:after,.htMobileEditorContainer .leftButton:after,.htMobileEditorContainer .rightButton:after,.htMobileEditorContainer .upButton:after{margin:21px 0 0 21px;-webkit-transform-origin:5px;-moz-transform-origin:5px;-ms-transform-origin:5px;transform-origin:5px}.htMobileEditorContainer .leftButton:after{border-top:2px solid #288ffe;border-left:2px solid #288ffe;-webkit-transform:rotate(-45deg);-ms-transform:rotate(-45deg);-o-transform:rotate(-45deg);transform:rotate(-45deg)}.htMobileEditorContainer .leftButton:active:after{border-color:#cfcfcf}.htMobileEditorContainer .rightButton:after{border-top:2px solid #288ffe;border-left:2px solid #288ffe;-webkit-transform:rotate(135deg);-ms-transform:rotate(135deg);-o-transform:rotate(135deg);transform:rotate(135deg)}.htMobileEditorContainer .rightButton:active:after{border-color:#cfcfcf}.htMobileEditorContainer .upButton:after{border-top:2px solid #288ffe;border-left:2px solid #288ffe;-webkit-transform:rotate(45deg);-ms-transform:rotate(45deg);-o-transform:rotate(45deg);transform:rotate(45deg)}.htMobileEditorContainer .upButton:active:after{border-color:#cfcfcf}.htMobileEditorContainer .downButton:after{border-top:2px solid #288ffe;border-left:2px solid #288ffe;-webkit-transform:rotate(225deg);-ms-transform:rotate(225deg);-o-transform:rotate(225deg);transform:rotate(225deg)}.htMobileEditorContainer .downButton:active:after{border-color:#cfcfcf}.topLeftSelectionHandle-HitArea:not(.ht_master .topLeftSelectionHandle-HitArea),.topLeftSelectionHandle:not(.ht_master .topLeftSelectionHandle){z-index:9999}.bottomRightSelectionHandle,.bottomRightSelectionHandle-HitArea,.topLeftSelectionHandle,.topLeftSelectionHandle-HitArea{left:-10000px;top:-10000px}.handsontable.hide-tween{-webkit-animation:opacity-hide .3s;-o-animation:opacity-hide .3s;animation:opacity-hide .3s;-webkit-animation-fill-mode:forwards;animation-fill-mode:forwards}.handsontable.show-tween{-webkit-animation:opacity-show .3s;-o-animation:opacity-show .3s;animation:opacity-show .3s;-webkit-animation-fill-mode:forwards;animation-fill-mode:forwards}@-webkit-keyframes opacity-hide{from{opacity:1}to{opacity:0}}@keyframes opacity-hide{from{opacity:1}to{opacity:0}}@-webkit-keyframes opacity-show{from{opacity:0}to{opacity:1}}@keyframes opacity-show{from{opacity:0}to{opacity:1}}.htContextMenu{display:none;position:absolute;z-index:1051}.htContextMenu .ht_clone_corner,.htContextMenu .ht_clone_debug,.htContextMenu .ht_clone_left,.htContextMenu .ht_clone_top{display:none}.htContextMenu .htCore{background-color:#fff;padding:8px 0;box-shadow:0 3px 6px rgba(0,0,0,.16),0 3px 6px rgba(0,0,0,.23)}.htContextMenu table tbody tr td{position:relative;border-width:0;padding:0 16px;cursor:pointer;overflow:hidden;text-overflow:ellipsis}.htContextMenu table tbody tr td:first-child{border:0}.htContextMenu table tbody tr td.htDimmed{color:#333}.htContextMenu table tbody tr td.current,.htContextMenu table tbody tr td.zeroclipboard-is-hover{background:#f5f5f5}.htContextMenu table tbody tr td.htSeparator{height:0;padding:0;background-color:transparent;cursor:default}.htContextMenu table tbody tr td.htSeparator>div{height:1px;background-color:#e5e5e5;margin:8px 0}.htContextMenu table tbody tr td.htDisabled{color:#999}.htContextMenu table tbody tr td.htDisabled,.htContextMenu table tbody tr td.htDisabled:hover{cursor:default}.htContextMenu table tbody tr td div span.selected{position:absolute;right:16px;top:50%;margin-top:-8px;font-size:0;color:#777}.htContextMenu table tbody tr td div span.selected:after{content:'\e600';display:inline-block;font-size:16px;line-height:1}.htContextMenu table tbody tr.htHidden{display:none}.htContextMenuSub_Alignment{margin-top:-8px;margin-left:-1px}.global-zeroclipboard-container,.global-zeroclipboard-flash-bridge{cursor:pointer}.pika-single{z-index:1000;display:block;position:relative;background-color:#fff;-webkit-box-shadow:0 3px 6px rgba(0,0,0,.16),0 3px 6px rgba(0,0,0,.23);box-shadow:0 3px 6px rgba(0,0,0,.16),0 3px 6px rgba(0,0,0,.23)}.pika-single:after,.pika-single:before{content:" ";display:table}.pika-single:after{clear:both}.pika-single.is-hidden{display:none}.pika-single.is-bound{position:absolute}.pika-lendar{float:left;max-width:250px;margin:16px}.pika-title{position:relative;text-align:center;margin-bottom:10px}.pika-title select{cursor:pointer;position:absolute;z-index:999;margin:0;left:0;height:38px;padding:8px 16px;opacity:0;filter:alpha(opacity=0)}.pika-label,.pika-table td,.pika-table th{position:relative}.pika-label{display:inline-block;z-index:1000;margin:0;padding-top:15px;padding-bottom:15px;font-size:17px;line-height:1}.pika-label+.pika-label{margin-left:10px;top:-1px;font-size:13px;color:#999}.pika-next,.pika-prev{display:block;position:relative;border:0;padding:5px;margin:10px 0;font-size:0;background-color:transparent}.pika-next:after,.pika-prev:after{display:block;font-size:16px;width:16px;text-align:center;line-height:1}.pika-next:hover,.pika-prev:hover{background-color:#f5f5f5}.pika-next.is-disabled,.pika-prev.is-disabled{cursor:default;opacity:.2}.pika-prev{float:left}.pika-prev:after{content:'\e9c8'}.pika-next{float:right}.pika-next:after{content:'\e9cb'}.pika-table{width:100%;border-collapse:collapse;border:0}.pika-table th{color:#999;font-size:12px;font-weight:400;text-align:center;padding-bottom:10px}.pika-table abbr{border-bottom:0;cursor:default}.pika-button{display:block;border:0;margin:0;width:100%;padding:8px;text-align:center;border-radius:3px;background-color:transparent}.is-today .pika-button,.pika-button:hover{background-color:#f5f5f5}.is-selected .pika-button{color:#fff;background-color:#26A69A}.is-selected .pika-button:before,.is-today .pika-button:before,.is-today.is-selected .pika-button:before{content:"";position:absolute;top:2px;right:2px;width:0;height:0;border-top:6px solid #fff;border-left:6px solid transparent}.is-today .pika-button:before{border-top-color:#EF5350}.dataTable tbody+tfoot+thead>tr:first-child>td,.dataTable tbody+tfoot+thead>tr:first-child>th,.dataTable tbody+thead>tr:first-child>td,.dataTable tbody+thead>tr:first-child>th,.dataTable tbody>tr:first-child>td,.dataTable tbody>tr:first-child>th,.dataTables_wrapper .table-bordered{border-top:0}.is-endrange .pika-button,.is-startrange .pika-button{color:#fff;background:#26A69A}.is-inrange .pika-button{background:#f5f5f5}.is-disabled .pika-button{pointer-events:none;cursor:not-allowed;opacity:.5;filter:alpha(opacity=50)}.pika-select{display:inline-block}.pika-week{font-size:11px;color:#999}.dataTable{margin:0;max-width:none;border-collapse:separate}.c3-tooltip,.dataTable.table-bordered{border-collapse:collapse}.dataTable thead td,.dataTable thead th{outline:0;position:relative}.dataTable thead .sorting,.dataTable thead .sorting_asc,.dataTable thead .sorting_desc{cursor:pointer}.dataTable thead .sorting,.dataTable thead .sorting_asc,.dataTable thead .sorting_asc_disabled,.dataTable thead .sorting_desc,.dataTable thead .sorting_desc_disabled{padding-right:40px}.dataTable thead .sorting:after,.dataTable thead .sorting:before,.dataTable thead .sorting_asc:after,.dataTable thead .sorting_asc_disabled:after,.dataTable thead .sorting_desc:after,.dataTable thead .sorting_desc_disabled:after{content:'';font-family:icomoon;position:absolute;top:50%;right:20px;font-size:12px;margin-top:-6px;display:inline-block;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.dataTable thead .sorting:before{content:'\e9c1';margin-top:-2px;color:#999}.dataTable thead .sorting:after,.dataTable thead .sorting_asc:after{content:'\e9c2'}.dataTable thead .sorting:after{margin-top:-10px;color:#999}.dataTable thead .sorting_desc:after{content:'\e9c1'}.dataTable thead .sorting_asc_disabled:after{content:'\e9c2';color:#ccc}.dataTable thead .sorting_desc_disabled:after{content:'\e9c1';color:#ccc}.dataTable .dataTables_empty{text-align:center}.dataTables_wrapper{position:relative;clear:both}.dataTables_wrapper:after{visibility:hidden;display:block;content:"";clear:both;height:0}.dataTables_wrapper+.panel-body{border-top:1px solid #ddd}.dataTables_processing{position:absolute;top:50%;left:50%;width:100%;height:40px;margin-left:-50%;margin-top:-25px;padding-top:20px;text-align:center;background-color:#fff;background:-webkit-gradient(linear,left top,right top,color-stop(0,rgba(255,255,255,0)),color-stop(25%,rgba(255,255,255,.9)),color-stop(75%,rgba(255,255,255,.9)),color-stop(100%,rgba(255,255,255,0)));background:-webkit-linear-gradient(left,rgba(255,255,255,0) 0,rgba(255,255,255,.9) 25%,rgba(255,255,255,.9) 75%,rgba(255,255,255,0) 100%);background:-moz-linear-gradient(left,rgba(255,255,255,0) 0,rgba(255,255,255,.9) 25%,rgba(255,255,255,.9) 75%,rgba(255,255,255,0) 100%);background:-ms-linear-gradient(left,rgba(255,255,255,0) 0,rgba(255,255,255,.9) 25%,rgba(255,255,255,.9) 75%,rgba(255,255,255,0) 100%);background:-o-linear-gradient(left,rgba(255,255,255,0) 0,rgba(255,255,255,.9) 25%,rgba(255,255,255,.9) 75%,rgba(255,255,255,0) 100%);background:linear-gradient(to right,rgba(255,255,255,0) 0,rgba(255,255,255,.9) 25%,rgba(255,255,255,.9) 75%,rgba(255,255,255,0) 100%)}.datatable-footer,.datatable-header{padding:20px 20px 0}.datatable-footer:after,.datatable-header:after{content:"";display:table;clear:both}.datatable-footer>div:first-child,.datatable-header>div:first-child{margin-left:0}.panel-body .datatable-footer,.panel-body .datatable-header{padding-left:0;padding-right:0}.datatable-header{border-bottom:1px solid #ddd}.datatable-footer{border-top:1px solid #bbb}.dataTables_length{float:right;display:inline-block;margin:0 0 20px 20px}.dataTables_length>label{margin-bottom:0}.dataTables_length>label>span:first-child{float:left;margin:9px 20px 9px 0}.length-left .dataTables_length{float:left}.dataTables_length .select2-container{width:auto}.dataTables_length .select2-selection{min-width:60px}.dataTables_filter{position:relative;display:block;float:left;margin:0 0 20px 20px}.dataTables_filter>label{margin-bottom:0;position:relative}.dataTables_filter>label:after{content:"\e98e";font-family:icomoon;font-size:12px;display:inline-block;position:absolute;top:50%;right:0;margin-top:-6px;color:#999;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.DTFC_LeftBodyWrapper .DTFC_Cloned thead th:after,.DTFC_LeftBodyWrapper .DTFC_Cloned thead th:before,.DTFC_RightBodyWrapper .DTFC_Cloned thead th:after,.DTFC_RightBodyWrapper .DTFC_Cloned thead th:before,.dataTables_scroll .dataTables_scrollBody table thead th[class*=sorting]:after,.dataTables_scroll .dataTables_scrollBody table thead th[class*=sorting]:before{content:none}.dataTables_filter>label>span{float:left;margin:9px 20px 9px 0}.dataTables_filter input{outline:0;width:200px;height:38px;padding:8px 24px 8px 0;font-size:13px;line-height:1.5384616;color:#333;background-color:transparent;border:1px solid transparent;border-width:1px 0;border-bottom-color:#ddd}.dataTables_filter input:focus{border-bottom-color:#009688;-webkit-box-shadow:0 1px 0 #009688;box-shadow:0 1px 0 #009688}.dataTables_scroll .dataTables_scrollBody table,.dataTables_scroll .dataTables_scrollHead table,.panel>.dataTables_wrapper .table-bordered>tbody>tr:last-child>td,.panel>.dataTables_wrapper .table-bordered>tbody>tr:last-child>th{border-bottom:0}.filter-right .dataTables_filter{float:right}.dataTables_info{float:left;padding:9px 0;margin-bottom:20px}.info-right .dataTables_info{float:right}.dataTables_paginate{float:right;text-align:right;margin:0 0 20px 20px}.dataTables_paginate .paginate_button{display:inline-block;padding:9px;min-width:38px;margin-left:2px;text-align:center;text-decoration:none;cursor:pointer;color:#333;border-radius:3px}.dataTables_paginate .paginate_button:first-child{margin-left:0}.dataTables_paginate .paginate_button:focus,.dataTables_paginate .paginate_button:hover{background-color:#f5f5f5}.dataTables_paginate .paginate_button.current,.dataTables_paginate .paginate_button.current:focus,.dataTables_paginate .paginate_button.current:hover{color:#fff;background-color:#455A64}.dataTables_paginate .paginate_button.disabled,.dataTables_paginate .paginate_button.disabled:focus,.dataTables_paginate .paginate_button.disabled:hover{cursor:default;background-color:transparent;color:#bbb}.dataTables_paginate.paging_simple .paginate_button{padding-left:16px;padding-right:16px}.paginate-left .dataTables_paginate{float:left}.paging_simple .paginate_button:focus,.paging_simple .paginate_button:hover{color:#fff;background-color:#455A64}.dataTables_scroll{clear:both}.dataTables_scroll .dataTables_scrollBody{-webkit-overflow-scrolling:touch}.dataTables_scroll .dataTables_scrollBody table tbody tr:first-child>td{border-top:0}.dataTables_scroll .dataTables_scrollBody td>.dataTables_sizing,.dataTables_scroll .dataTables_scrollBody th>.dataTables_sizing{height:0;overflow:hidden;margin:0;padding:0}.panel-body+*>.dataTables_wrapper,.panel-body+.dataTables_wrapper{border-top:1px solid #ddd}.panel-body .dataTables_wrapper .datatable-footer{border-top:0}.panel-body .dataTables_wrapper .datatable-footer .dataTables_filter,.panel-body .dataTables_wrapper .datatable-footer .dataTables_info,.panel-body .dataTables_wrapper .datatable-footer .dataTables_length,.panel-body .dataTables_wrapper .datatable-footer .dataTables_paginate{margin-bottom:0}.panel-flat>.panel-heading+.dataTables_wrapper>.datatable-header{padding-top:0}.panel>.dataTables_wrapper .table-bordered{border:0}.panel>.dataTables_wrapper .table-bordered>tbody>tr>td:first-child,.panel>.dataTables_wrapper .table-bordered>tbody>tr>th:first-child,.panel>.dataTables_wrapper .table-bordered>tfoot>tr>td:first-child,.panel>.dataTables_wrapper .table-bordered>tfoot>tr>th:first-child,.panel>.dataTables_wrapper .table-bordered>thead>tr>td:first-child,.panel>.dataTables_wrapper .table-bordered>thead>tr>th:first-child{border-left:0}.panel>.dataTables_wrapper .table-bordered>tbody>tr>td:last-child,.panel>.dataTables_wrapper .table-bordered>tbody>tr>th:last-child,.panel>.dataTables_wrapper .table-bordered>tfoot>tr>td:last-child,.panel>.dataTables_wrapper .table-bordered>tfoot>tr>th:last-child,.panel>.dataTables_wrapper .table-bordered>thead>tr>td:last-child,.panel>.dataTables_wrapper .table-bordered>thead>tr>th:last-child{border-right:0}.datatable-scroll,.datatable-scroll-lg,.datatable-scroll-sm{min-height:.01%}.datatable-scroll-wrap{width:100%;min-height:.01%;overflow-x:auto}@media (max-width:1024px){.datatable-scroll{width:100%;overflow-x:scroll}.datatable-scroll td,.datatable-scroll th{white-space:nowrap}}@media (max-width:1199px){.datatable-scroll-lg{width:100%;overflow-x:scroll}.datatable-scroll-lg td,.datatable-scroll-lg th{white-space:nowrap}}@media (max-width:768px){.datatable-scroll-sm{width:100%;overflow-x:scroll}.datatable-scroll-sm td,.datatable-scroll-sm th{white-space:nowrap}.ColVis,.DTTT_container,.dataTables_filter,.dataTables_info,.dataTables_length,.dataTables_paginate{float:none!important;text-align:center;margin-left:0}.dataTables_info,.dataTables_paginate{margin-top:0}.datatable-header{text-align:center}.DTFC_LeftWrapper,.DTFC_RightWrapper{display:none}}.DTCR_clonedTable{background-color:rgba(255,255,255,.8);z-index:202;cursor:move}.DTCR_clonedTable td,.DTCR_clonedTable th{border:1px solid #ddd!important}.DTCR_pointer{width:1px;background-color:#2196F3;z-index:201}.DTFC_Blocker,.DTFC_Cloned,.dt-rowReorder-float{background-color:#fff}.dt-rowReorder-float{position:absolute!important;table-layout:static;outline:#777 dashed 1px;outline-offset:-1px;z-index:1030;cursor:move;opacity:.9;filter:alpha(opacity=90)}.dt-rowReorder-moving{outline:#777 solid 1px;outline-offset:-1px}.dt-rowReorder-noOverflow{overflow-x:hidden}.dataTable td.reorder{text-align:center;cursor:move}.DTFC_Cloned{border-bottom:0}.DTFC_LeftWrapper .DTFC_Cloned.table>tbody>tr>td,.DTFC_LeftWrapper .DTFC_Cloned.table>tbody>tr>th{border-right:1px solid #ddd}.DTFC_RightWrapper .DTFC_Cloned.table>tbody>tr>td,.DTFC_RightWrapper .DTFC_Cloned.table>tbody>tr>th{border-left:1px solid #ddd}.DTFC_LeftBodyWrapper .DTFC_Cloned tbody>tr:first-child>td,.DTFC_LeftBodyWrapper .DTFC_Cloned tbody>tr:first-child>th,.DTFC_RightBodyWrapper .DTFC_Cloned tbody>tr:first-child>td,.DTFC_RightBodyWrapper .DTFC_Cloned tbody>tr:first-child>th{border-top:0}.fixedHeader-floating,.fixedHeader-locked{background-color:#fff;margin-top:0;margin-bottom:0}.fixedHeader-floating{position:fixed}.fixedHeader-floating+.fixedHeader-floating,.fixedHeader-locked+.fixedHeader-floating{border-top:0!important}.fixedHeader-locked{position:absolute}@media (max-width:768px){.fixedHeader-floating,.fixedHeader-locked{display:none}}@media print{table.fixedHeader-floating{display:none}}.dt-autofill-handle{position:absolute;height:8px;width:8px;z-index:102;border:1px solid #2196F3;background:#2196F3}.dt-autofill-select{position:absolute;z-index:1001;background-color:#2196F3;background-image:repeating-linear-gradient(45deg,transparent,transparent 5px,rgba(255,255,255,.75) 5px,rgba(255,255,255,.75) 10px)}.dt-autofill-select.bottom,.dt-autofill-select.top{height:1px}.dt-autofill-select.left,.dt-autofill-select.right{width:1px}.dt-autofill-list{position:fixed;top:50%;left:50%;width:500px;margin-left:-250px;background-color:#fff;border-radius:3px;border:1px solid transparent;z-index:1050;padding:8px 0}.dt-autofill-list ul{display:table;margin:0;padding:0;list-style:none;width:100%}.dt-autofill-list ul li{display:table-row}.dt-autofill-list ul li:hover{background-color:#f5f5f5}.dt-autofill-list .dt-autofill-question{display:table-cell;padding:8px 15px}.dt-autofill-list .dt-autofill-question input[type=number]{padding:6px;width:30px;margin:-2px 0}.dt-autofill-list .dt-autofill-button{display:table-cell;padding:8px 16px;text-align:right}.dt-autofill-list .dt-autofill-button .btn{padding:3px;background-color:#2196F3;color:#fff;font-size:0}.dataTable tbody .select-checkbox:after,.dt-autofill-list .dt-autofill-button .btn:after{font-size:16px;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.dt-autofill-list .dt-autofill-button .btn:after{content:'\e9c3';font-family:Icomoon;display:block;width:16px}.dt-autofill-list .dt-autofill-button .btn:hover{opacity:.85;filter:alpha(opacity=85)}.dt-autofill-background{position:fixed;top:0;left:0;width:100%;height:100%;background-color:#000;z-index:1040;opacity:.5;filter:alpha(opacity=50)}.dataTable tbody>tr.selected,.dataTable tbody>tr>.selected{background-color:#E8F5E9}.dataTables_wrapper .select-info,.dataTables_wrapper .select-item{margin-left:10px}@media (max-width:768px){.dataTables_wrapper .select-info,.dataTables_wrapper .select-item{margin-left:0;display:block}}.dataTable tbody .select-checkbox{position:relative}.dataTable tbody .select-checkbox:after,.dataTable tbody .select-checkbox:before{display:block;color:#455A64;position:absolute;top:50%;left:50%;cursor:pointer}.dataTable tbody .select-checkbox:before{content:'';width:18px;height:18px;margin-top:-9px;margin-left:-9px;border:2px solid #607D8B;border-radius:2px}.dataTable tbody .select-checkbox:after{content:"\ed6e";font-family:icomoon;margin-top:-8px;margin-left:-8px;opacity:0;filter:alpha(opacity=0);-webkit-transform:scale(0);-ms-transform:scale(0);-o-transform:scale(0);transform:scale(0);-webkit-transition-duration:.1s;transition-duration:.1s}.dataTable tbody .selected .select-checkbox:before{border-color:transparent;-webkit-transition-duration:.1s;transition-duration:.1s}.dataTable tbody .selected .select-checkbox:after{opacity:1;filter:alpha(opacity=100);-webkit-transform:scale(1);-ms-transform:scale(1);-o-transform:scale(1);transform:scale(1)}.dt-buttons-full .dt-buttons{text-align:center;float:none;display:block;margin:0;padding:20px 20px 10px;border-bottom:1px solid #ddd}.dt-buttons,.dt-buttons>.dt-button{display:inline-block}.dt-buttons-full .dt-buttons>.btn{margin-bottom:10px;float:none}.dt-buttons{float:right;margin:0 0 20px 20px}.dt-buttons-left .dt-buttons{float:left}.dt-buttons>.btn{border-radius:0}.dt-buttons>.btn:first-child{border-bottom-left-radius:3px;border-top-left-radius:3px}.dt-buttons>.btn:last-child{border-bottom-right-radius:3px;border-top-right-radius:3px}.dt-buttons>.btn+.btn{margin-left:1px}@media screen and (max-width:767px){.dt-buttons{float:none;text-align:center;display:block}.dt-buttons .btn{float:none}}.dt-button-info{position:fixed;top:50%;left:50%;width:400px;margin-top:-100px;margin-left:-200px;padding:20px;background-color:#fff;border-radius:3px;text-align:center;z-index:1050;-webkit-box-shadow:0 14px 28px rgba(0,0,0,.25),0 10px 10px rgba(0,0,0,.22);box-shadow:0 14px 28px rgba(0,0,0,.25),0 10px 10px rgba(0,0,0,.22)}.dt-button-info h2{margin-top:0;line-height:1.5384616;font-size:17px}.dt-button-background{position:fixed;top:0;left:0;height:100%;width:100%;background-color:#333;z-index:999;opacity:.25;filter:alpha(opacity=25)}.dt-button-collection{position:absolute;top:0;left:0;background-color:#fff;display:block;z-index:1000;padding:8px 0;overflow:hidden;min-width:180px;border-radius:3px;-webkit-column-gap:2px;-moz-column-gap:2px;-ms-column-gap:2px;-o-column-gap:2px;column-gap:2px;-webkit-box-shadow:0 3px 6px rgba(0,0,0,.16),0 3px 6px rgba(0,0,0,.23);box-shadow:0 3px 6px rgba(0,0,0,.16),0 3px 6px rgba(0,0,0,.23)}.dt-button-collection>.dt-button{padding:8px 15px;color:#333;display:block;outline:0}.dt-button-collection>.dt-button+.dt-button{margin-top:1px}.dt-button-collection>.dt-button:focus,.dt-button-collection>.dt-button:hover{color:#333;background-color:#f5f5f5}.dt-button-collection>.dt-button.active{color:#fff;background-color:#26A69A}.dt-button-collection.fixed{position:fixed;top:50%;left:50%;margin-left:-75px;padding-left:6px;padding-right:6px}.dt-button-collection.fixed.two-column{margin-left:-150px}.dt-button-collection.fixed.three-column{margin-left:-225px}.dt-button-collection.fixed.four-column{margin-left:-300px}.dt-button-collection>*{-webkit-column-break-inside:avoid;break-inside:avoid}.dt-button-collection.two-column{width:300px;-webkit-column-count:2;-moz-column-count:2;-ms-column-count:2;-o-column-count:2;column-count:2}.dt-button-collection.three-column{width:450px;-webkit-column-count:3;-moz-column-count:3;-ms-column-count:3;-o-column-count:3;column-count:3}.dt-button-collection.four-column{width:600px;-webkit-column-count:4;-moz-column-count:4;-ms-column-count:4;-o-column-count:4;column-count:4}.dataTable td.focus,.dataTable th.focus{outline:#2196F3 solid 2px;outline-offset:-1px}.dataTable td.focus-success,.dataTable th.focus-success{background-color:#E8F5E9;outline-color:#4CAF50}.dataTable td.focus-info,.dataTable th.focus-info{background-color:#E3F2FD;outline-color:#2196F3}.dataTable td.focus-warning,.dataTable th.focus-warning{background-color:#FBE9E7;outline-color:#FF5722}.dataTable td.focus-danger,.dataTable th.focus-danger{background-color:#FFEBEE;outline-color:#F44336}.DTS .DTS_Loading{position:absolute;top:50%;left:50%;width:200px;height:20px;margin-top:-20px;margin-left:-100px;z-index:1;border:1px solid #999;padding:20px 0;text-align:center;background-color:rgba(255,255,255,.5)}.DTS .dataTables_scrollFoot,.DTS .dataTables_scrollHead{background-color:#fff}.DTS .dataTables_scrollBody{z-index:2}.dtr-inline.collapsed tbody tr td:before,.dtr-inline.collapsed tbody tr th:before{margin-right:10px}.dtr-inline.collapsed tbody tr td:first-child,.dtr-inline.collapsed tbody tr th:first-child{position:relative;cursor:pointer;white-space:nowrap}.dtr-inline.collapsed tbody tr td:first-child.dataTables_empty:before,.dtr-inline.collapsed tbody tr th:first-child.dataTables_empty:before{display:none}.dtr-column tbody td.control,.dtr-column tbody th.control{position:relative;cursor:pointer}.dtr-column tbody tr td.control:before,.dtr-column tbody tr th.control:before,.dtr-inline.collapsed tbody tr td:first-child:before,.dtr-inline.collapsed tbody tr th:first-child:before{content:'\e9e4';font-family:icomoon;display:inline-block;font-size:16px;width:16px;line-height:1;position:relative;top:-1px;vertical-align:middle;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.timer>li.dots,.valign-top{vertical-align:top}.dataTable.dtr-column tbody tr.parent td.control:before,.dataTable.dtr-column tbody tr.parent th.control:before,.dataTable.dtr-inline.collapsed tbody tr.parent td:first-child:before,.dataTable.dtr-inline.collapsed tbody tr.parent th:first-child:before{content:'\e9e7'}.dtr-inline.collapsed tbody tr.child td:before{display:none}.dataTable tr.child:hover{background-color:transparent}.dataTable tr.child .dtr-title{display:table-cell;font-weight:500;padding-right:40px}.dataTable tr.child .dtr-data{display:table-cell;padding:8px 0}.dataTable tr td.child{white-space:normal;position:relative}.dataTable tr td.child>ul{display:table;table-layout:fixed;width:100%;list-style:none;margin:0;padding:0}.dataTable tr td.child>ul>li{display:table-row}@media (max-width:480px){.dataTable tr td.child>ul>li .btn-group,.dataTable tr td.child>ul>li .dropdown,.dataTable tr td.child>ul>li .dropup{position:static}.dataTable tr td.child>ul>li .dropdown-menu{left:0;right:0;border-radius:0;border-width:1px 0}}.map-wrapper{width:100%;height:400px}.sidebar .map-wrapper{height:200px;border:1px solid #ddd}.map-container,.vector-map-container{height:500px}.gm-style{font-size:13px}.gm-style .gm-style-iw{font-size:13px;font-weight:400}.chart-pie,.has-fixed-height{height:400px}.jvectormap-label{position:absolute;display:none;border-radius:2px;background-color:#333;color:#fff;padding:8px 16px}.jvectormap-zoomin,.jvectormap-zoomout{position:absolute;left:10px;border-radius:2px;padding:8px;color:#fff;cursor:pointer;font-size:16px;font-weight:300;line-height:10px;background-color:#37474F;text-align:center}.chart,.chart-container{position:relative;width:100%}.bullet-title,.c3-text,.c3-tooltip th{font-weight:500}.jvectormap-zoomin:hover,.jvectormap-zoomout:hover{background-color:#455A64}.jvectormap-zoomin{top:10px}.jvectormap-zoomout{top:40px}.chart-container.has-scroll{overflow-x:scroll;overflow-y:visible;max-width:100%}.chart{display:block}.chart.has-minimum-width{min-width:600px}.chart-pie{width:100%;min-width:500px}.c3 svg{font-size:12px}.c3 line,.c3 path{fill:none;stroke:#999}.c3 text{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.c3-chart-arc path{stroke:#fff}.c3-chart-arc text{fill:#fff;font-size:13px}.c3-grid line{stroke:#aaa}.c3-grid text{fill:#aaa}.c3-xgrid,.c3-ygrid{stroke-dasharray:3 3}.c3-text.c3-empty{fill:grey;font-size:2em}.c3-line{stroke-width:2px}.c3-area{stroke-width:0;opacity:.4;filter:alpha(opacity=40)}.c3-circle._expanded_{stroke-width:1.5px;stroke:#fff}.c3-selected-circle{fill:#fff;stroke-width:2px}.c3-bar{stroke-width:0}.c3-bar._expanded_{fill-opacity:.75}.c3-chart-arcs-title{font-size:1.3em}.c3-chart-arcs .c3-chart-arcs-background{fill:#e0e0e0;stroke:none}.c3-chart-arcs .c3-chart-arcs-gauge-unit{fill:#333;font-size:15px}.c3-chart-arcs .c3-chart-arcs-gauge-max,.c3-chart-arcs .c3-chart-arcs-gauge-min{fill:#999}.c3-chart-arc .c3-gauge-value{fill:#333;font-size:28px}.bullet-tick text,.c3-legend-item,.c3-tooltip td,.d3-tip{font-size:12px}.c3-target.c3-focused{opacity:1;filter:alpha(opacity=100)}.c3-target.c3-focused path.c3-line,.c3-target.c3-focused path.c3-step{stroke-width:2px}.c3-target.c3-defocused{opacity:.3!important;filter:alpha(opacity=30)!important}.c3-region{fill:#546E7A;fill-opacity:.1}.c3-brush .extent{fill-opacity:.1}.c3-legend-background{fill:#fff;stroke:#d3d3d3;stroke-width:1;opacity:.75;filter:alpha(opacity=75)}.c3-tooltip{background-color:#fff;empty-cells:show;opacity:.95;filter:alpha(opacity=95)}.c3-tooltip th{background-color:#333;padding:4px 10px;text-align:center;color:#fff;border:1px solid #333}.c3-tooltip td{padding:6px 10px;background-color:#fff;border:1px solid #ddd}.d3-tip,.venntooltip{background-color:#333;color:#fff;border-radius:3px;position:absolute}.c3-tooltip td>span{display:inline-block;width:10px;height:10px;margin-right:6px}.c3-tooltip td.value{text-align:right}.d3-axis path{fill:none;stroke:#999}.d3-axis line{stroke:#eee}.d3-axis-solid line,.d3-axis-solid path,.d3-axis-strong line,.d3-axis-strong path{stroke:#ccc}.d3-axis .tick,.d3-axis .tick text{font-size:12px;fill:#333}.d3-axis-solid .tick,.d3-axis-solid .tick text{fill:#999}.d3-axis-strong .tick,.d3-axis-strong .tick text{fill:#333}.d3-axis-transparent path{stroke:none}.d3-axis-transparent line{stroke:#e5e5e5}.d3-axis-transparent .tick,.d3-axis-transparent .tick text{fill:#999}.d3-tip{padding:9px 18px;margin-bottom:-3px;z-index:1070}.venntooltip{text-align:center;min-width:60px;white-space:nowrap;padding:8px 16px;display:none}.d3-line{fill:none}.d3-line-thin{stroke-width:1px}.d3-line-medium{stroke-width:1.5px}.d3-line-strong{stroke-width:2px}.d3-line-circle{fill:none;cursor:pointer}.d3-line-circle-thin{stroke-width:1px}.d3-line-circle-medium{stroke-width:1.5px}.d3-line-circle-strong{stroke-width:2px}.d3-grid .tick line{stroke-width:1px;stroke:#e5e5e5}.d3-grid .tick text{fill:#333;stroke:none}.d3-grid-dashed .tick{stroke-dasharray:4,2;stroke-width:1px;stroke:#e5e5e5}.d3-grid-dashed path{stroke-width:0}.d3-crosshair-overlay{fill:none;pointer-events:all}.bullet-tick line{stroke:#999;stroke-width:1px}.bullet-tick text{fill:#999}.bullet-marker{stroke-width:2px}.bullet-title{font-size:13px}.bullet-subtitle{fill:#999}.bullet-1 .bullet-range-1{fill:rgba(96,125,139,.8)}.bullet-1 .bullet-range-2{fill:rgba(96,125,139,.4)}.bullet-1 .bullet-range-3{fill:#607D8B}.bullet-1 .bullet-measure-1{fill:rgba(84,110,122,.9)}.bullet-1 .bullet-measure-2{fill:#fff}.bullet-1 .bullet-marker{stroke:#37474F}.bullet-2 .bullet-range-1{fill:rgba(255,112,67,.6)}.bullet-2 .bullet-range-2{fill:rgba(255,112,67,.3)}.bullet-2 .bullet-range-3{fill:#FF7043}.bullet-2 .bullet-measure-1{fill:rgba(244,81,30,.9)}.bullet-2 .bullet-measure-2{fill:#fff}.bullet-2 .bullet-marker{stroke:#D84315}.bullet-3 .bullet-range-1{fill:rgba(102,187,106,.7)}.bullet-3 .bullet-range-2{fill:rgba(102,187,106,.35)}.bullet-3 .bullet-range-3{fill:#66BB6A}.bullet-3 .bullet-measure-1{fill:rgba(67,160,71,.9)}.bullet-3 .bullet-measure-2{fill:#fff}.bullet-3 .bullet-marker{stroke:#2E7D32}.counter-icon{font-size:32px;position:absolute;left:50%;margin-left:-16px}.jqsfield,.jqstooltip{font-size:12px!important;font-family:Roboto,sans-serif!important}.jqstooltip{padding:8px!important;line-height:1.6666667!important;border:0!important;border-radius:3px!important;-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box}.timer,.timer-weekdays{padding:0;text-align:center;list-style:none}.timer-weekdays{margin:0}.timer-weekdays>li{display:inline-block;margin:2px 0}.timer-weekdays>li>a{display:block;margin:0 1px}.timer-weekdays .label-default{background-color:#ccc;border-color:#ccc}.timer-weekdays .label-default:focus,.timer-weekdays .label-default:hover{border-color:#999}.timer{margin:0}.timer>li{font-size:46px;text-align:center;display:inline-block;color:#555;font-weight:300}.timer>li.dots{font-size:25px;padding:16.67px 0}.timer>li>span{display:block;font-size:13px}.task-details{float:right;margin:0}@media (max-width:1024px){.task-details{float:none;margin-top:15px;list-style:none;padding:0}.task-details>li{float:left;position:relative;padding-right:20px;margin-top:0}.task-details>li:before{content:'•';position:absolute;right:8px;color:#999}.task-details>li:last-child:before{content:none}}@media (max-width:768px){.chart-container{overflow-x:scroll;overflow-y:visible;max-width:100%}.task-details>li{float:none}.task-details>li:before{content:none}.task-details>li+li{margin-top:10px}}@media (min-width:769px){.invoice-details,.invoice-payment-details>li span{float:right;text-align:right}}.invoice-grid ol,.invoice-grid ul{margin-bottom:0}@media (max-width:768px){.invoice-grid .text-right{text-align:inherit}.invoice-grid [class*=col-]+[class*=col-]{margin-top:20px}}.contact-details{padding:15px 15px 15px 30px;background-color:#fcfcfc;border-top:1px solid #eee;border-bottom:1px solid #eee}.media-list-bordered .contact-details{border-bottom:0}.panel-body>.media-list .contact-details{padding-left:15px;background-color:transparent;margin-top:15px}.panel-body>.media-list-bordered .contact-details{padding-bottom:0}.contact-details>ul,.contact-details>ul>li:first-child{margin:0}.profile-cover{position:relative}.profile-cover+.navbar{margin-bottom:40px}.profile-cover .media{position:absolute;bottom:20px;left:20px;right:20px}.profile-cover .media .btn-default{border-color:#f5f5f5;-webkit-box-shadow:0 0 3px rgba(0,0,0,.5);box-shadow:0 0 3px rgba(0,0,0,.5)}.profile-cover .media-body,.profile-cover small{color:#fff;text-shadow:0 0 3px rgba(0,0,0,.8)}.profile-cover-img{background-position:50% 50%;background-repeat:no-repeat;background-size:cover;height:350px;border-top-right-radius:3px;border-top-left-radius:3px}@media (max-width:768px){.profile-cover .media{text-align:center;margin-top:0;bottom:auto;top:40px}.profile-cover .media-left,.profile-cover .media-right{padding:0;display:block;overflow-x:auto}.profile-cover .media-body{display:block;margin-bottom:20px;width:100%}.profile-cover .media-body>h1{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.profile-cover-img{height:320px}}.media .profile-thumb img{width:100px;height:100px;border:3px solid #fff;-webkit-box-shadow:0 0 3px rgba(0,0,0,.5);box-shadow:0 0 3px rgba(0,0,0,.5)}.login-cover{background:url(../images/login_cover.jpg) no-repeat;background-size:cover}.login-container .page-container{padding-top:40px;position:static}.login-container .page-container .login-form{width:320px}.login-container .page-container .login-form,.login-container .page-container .login-form .thumb,.login-container .page-container .registration-form{margin:0 auto 20px}@media (max-width:480px){.login-container .page-container .login-form,.login-container .page-container .registration-form{width:100%}}.login-container .page-container .nav-tabs.nav-justified{margin-bottom:0}.login-container .page-container .nav-tabs.nav-justified>li>a{border-top:0!important;padding-left:15px;padding-right:15px;background-color:#f5f5f5}.login-container .page-container .nav-tabs.nav-justified>li:first-child>a{border-left:0;border-radius:3px 0 0}.login-container .page-container .nav-tabs.nav-justified>li:last-child>a{border-right:0;border-radius:0 3px 0 0}.login-container .page-container .nav-tabs.nav-justified>li.active>a{background-color:transparent}@media (max-width:768px){.login-container .page-container .nav-tabs.nav-justified{padding:0;border-width:0 0 1px;border-radius:0}.login-container .page-container .nav-tabs.nav-justified:before{content:none}.login-container .page-container .nav-tabs.nav-justified>li>a{border-width:0!important}.login-options,.login-options .text-right{text-align:center}}.login-container .footer{left:0;right:0}.timeline-container:after,.timeline:after,.timeline:before{content:"";left:50%;background-color:#ccc}.timeline{position:relative;height:100%}.timeline:after,.timeline:before{position:absolute;top:0;margin-left:-2px;height:4px;width:4px;border-radius:50%;z-index:1}.timeline:after{top:auto;bottom:0}.timeline-container{position:relative;padding-top:10px;margin-top:-10px;padding-bottom:1px}.timeline-date,.timeline-time{text-align:center;padding-top:20px;padding-bottom:20px;margin-bottom:20px}.timeline-container:after{position:absolute;top:0;margin-left:-1px;height:100%;width:2px;z-index:-1}.timeline-date,.timeline-row{position:relative}.timeline-date:after,.timeline-date:before,.timeline-time:after,.timeline-time:before{content:"";left:50%;margin-left:-2px;height:4px;width:4px;border-radius:50%}.timeline-content{margin-bottom:20px}.timeline-date{background-color:#eeeded;z-index:1}.timeline-date:after,.timeline-date:before{position:absolute;top:0;background-color:#ccc;z-index:1}.timeline-date:after{top:auto;bottom:0}.panel .timeline-date{background-color:#fff}.timeline-time{background-color:#eeeded;position:relative}.timeline-time:after,.timeline-time:before{position:absolute;top:0;background-color:#ccc}.panel .timeline-time,.timeline-icon{background-color:#fff}.timeline-time:after{top:auto;bottom:0}.timeline-time span{display:block;color:#999;font-size:12px}.timeline-time span:before{content:'•';display:inline-block;margin-right:5px;position:relative;top:1px}.timeline-icon{width:48px;height:48px;border-radius:50%;margin:0 auto 20px;border:4px solid #eeeded}.panel .timeline-icon{border-color:#fff}.timeline-icon div{border-radius:50%;height:100%;-webkit-box-shadow:0 0 0 2px #ccc inset;box-shadow:0 0 0 2px #ccc inset}.timeline-icon div[class*=bg-]{-webkit-box-shadow:none;box-shadow:none}.timeline-icon div>i{display:block;line-height:40px;top:0}.timeline-icon img{width:40px;height:40px;border-radius:50%}@media (min-width:1025px){.timeline-time:after,.timeline-time:before{content:none}.timeline-center .timeline-row{margin-right:50%;padding-right:44px}.timeline-center .post-even{margin-right:0;padding-right:0;margin-left:50%;padding-left:44px}.timeline-center .post-full{margin:0;padding:0}.timeline-center .post-full .timeline-content{position:relative}.timeline-center .post-full .timeline-content:after,.timeline-center .post-full .timeline-content:before{content:'';border-style:solid;border-color:#eeeded;display:block;position:absolute;left:0;right:0}.timeline-center .post-full .timeline-content:before{border-width:4px 0 0;top:-5px}.timeline-center .post-full .timeline-content:after{border-width:0 0 4px;bottom:-5px}.timeline-left .timeline-container:after,.timeline-left .timeline-date:after,.timeline-left .timeline-date:before,.timeline-left:after,.timeline-left:before{left:24px}.timeline-left .timeline-date,.timeline-left .timeline-row{padding-left:68px}.timeline-right .timeline-container:after,.timeline-right .timeline-date:after,.timeline-right .timeline-date:before,.timeline-right:after,.timeline-right:before{left:auto;right:24px;margin-left:0;margin-right:-2px}.timeline-right .timeline-container:after{margin-right:-1px}.timeline-right .timeline-date,.timeline-right .timeline-row{padding-right:68px}.timeline-left .timeline-date,.timeline-right .timeline-date{padding-top:10px;padding-bottom:10px}.timeline-icon{position:absolute;top:10px}.timeline-icon:after{content:"";position:absolute;top:50%;margin-top:-1px;height:2px;width:16px;background-color:#ccc;z-index:1}.timeline-center .post-full .timeline-icon:after,.timeline-time:before{content:none}.timeline-left .timeline-icon{left:0}.timeline-left .timeline-icon:after{left:100%;margin-left:4px}.timeline-right .timeline-icon{right:0}.timeline-right .timeline-icon:after{right:100%;margin-right:4px}.timeline-center .timeline-row:not(.post-full) .timeline-icon{left:100%;margin-left:-24px}.timeline-center .timeline-row.post-even .timeline-icon{left:auto;right:100%;margin-left:0;margin-right:-24px}.timeline-center .timeline-icon:after{right:100%;margin-right:4px}.timeline-center .post-even .timeline-icon:after{left:100%;margin-left:4px}.timeline-center .post-full .timeline-icon{position:static}.timeline-time{padding:0;text-align:inherit;background-color:transparent}.timeline-left .timeline-time,.timeline-right .timeline-time{padding-top:10px;margin-bottom:20px;padding-left:10px}.timeline-right .timeline-time{text-align:right;padding-left:0;padding-right:10px}.timeline-center .post-full .timeline-time,.timeline-center .timeline-time{position:absolute;left:100%;top:15px;width:100%;padding-left:44px}.timeline-center .post-even .timeline-time,.timeline-center .post-full .timeline-time{left:auto;right:100%;padding-left:0;padding-right:44px;text-align:right}.timeline-center .post-full .timeline-time{right:50%;top:5px}}.chat-list,.chat-stacked{max-height:520px;overflow:auto}.chat-list .media-left{padding-right:20px}.chat-list .media-right{padding-left:20px}.chat-list .media-content{position:relative;padding:10px 12px;width:auto;border-radius:3px;display:inline-block}.chat-list .media-content:not([class*=bg-]){background-color:#f5f5f5;border-color:#f5f5f5}.chat-list .media-content>i{top:0;margin:2px}.chat-list .reversed .media-content{text-align:left;color:#fff}.chat-list .reversed .media-content:not([class*=bg-]){background-color:#42A5F5;border-color:#42A5F5}.chat-list .reversed .media-content>a{color:#fff}.chat-list .reversed .media-body{text-align:right}.chat-list .date-step.media{text-align:center;margin-left:0;margin-right:0;color:#999}.chat-list .chat-thumbs img{margin-top:5px;margin-bottom:5px;max-height:100px;height:auto;max-width:100%;display:inline-block;border-radius:3px}.chat-list .media-content:before,.chat-list .reversed .media-content:before{content:'';left:-5px;top:15px;position:absolute;margin-left:0}.chat-list .media-content:before{border-top:5px solid transparent;border-right:5px solid;border-right-color:inherit;border-bottom:5px solid transparent}.chat-list .reversed .media-content:before{left:auto;right:-5px;border-right:0;border-top:5px solid transparent;border-left:5px solid;border-left-color:inherit;border-bottom:5px solid transparent}@media (min-width:769px){.chat-list .media{margin-right:20%}.chat-list .media.reversed{margin-right:0;margin-left:20%}}.chat-list-inverse .media-content:not([class*=bg-]){color:#fff;background-color:#42A5F5;border-color:#42A5F5}.chat-list-inverse .media-content:before{border-top:5px solid transparent;border-right:5px solid #42A5F5;border-bottom:5px solid transparent}.chat-list-inverse .media-content>a{color:#fff}.chat-list-inverse .reversed .media-content:not([class*=bg-]){background-color:#f5f5f5;color:inherit}.chat-list-inverse .reversed .media-content:before{border-top:5px solid transparent;border-left:5px solid #f5f5f5;border-bottom:5px solid transparent}.search-results-list .list-inline{margin-bottom:5px}.related-searches{margin-top:20px;margin-bottom:20px;padding:20px;border-top:1px solid #eee;border-bottom:1px solid #eee}.website-search-results{padding:20px 20px 0;border-bottom:1px solid #eee}.media-preview{width:auto;height:auto;max-width:none;max-height:90px}.error-title{color:#fff;font-size:200px;line-height:1;margin-top:20px;margin-bottom:40px;font-weight:300;text-stroke:1px transparent;display:block;text-shadow:0 1px 0 #ccc,0 2px 0 #c9c9c9,0 3px 0 #bbb,0 4px 0 #b9b9b9,0 5px 0 #aaa,0 6px 1px rgba(0,0,0,.1),0 0 5px rgba(0,0,0,.1),0 1px 3px rgba(0,0,0,.3),0 3px 5px rgba(0,0,0,.2),0 5px 10px rgba(0,0,0,.25),0 10px 10px rgba(0,0,0,.2),0 20px 20px rgba(0,0,0,.15)}.heading-elements .list-inline,.heading-elements.visible-elements .nav-pills,.heading-elements.visible-elements .nav-tabs,.heading-elements:not(.visible-elements).panel-nav>.nav{margin-bottom:0}@media (max-width:768px){.search-option-buttons{text-align:center}.search-option-buttons>.text-right{text-align:inherit}.error-title{font-size:130px}}.offline-title{font-size:160px}.heading-elements-toggle{cursor:pointer;display:block;line-height:1;position:absolute;top:50%;right:0;margin-top:-8px}.breadcrumb-elements-toggle{float:right;cursor:pointer;line-height:1;margin-top:12px}.breadcrumb-line-component .breadcrumb-elements-toggle{margin-right:20px}.breadcrumb-elements-toggle,.breadcrumb-elements-toggle:focus,.breadcrumb-elements-toggle:hover,.heading-elements-toggle,.heading-elements-toggle:focus,.heading-elements-toggle:hover{color:inherit}.breadcrumb-elements-toggle>i,.heading-elements-toggle>i{top:0}@media (min-width:769px){.breadcrumb-elements-toggle,.heading-elements-toggle{display:none}}.heading-elements{background-color:inherit;position:absolute;top:50%;right:20px;height:38px;margin-top:-19px}@media (max-width:768px){.offline-title{font-size:90px}.heading-elements:not(.not-collapsible){position:static;margin-top:0;height:auto}}.panel-body>.heading-elements{top:0;margin-top:16px;z-index:10}.panel-footer>.heading-elements{position:static;margin-top:0;padding-right:20px}.panel-footer>.heading-elements:after{content:'';display:table;clear:both}.panel-footer-bordered>.heading-elements:not(.visible-elements){margin-left:-20px;padding-right:0}@media (max-width:768px){.panel-body>.heading-elements-toggle{top:20px;margin-top:0}.panel-body>.heading-elements.visible-elements{top:56px;background-color:#fff}.panel-footer>.heading-elements:not(.not-collapsible)>.pull-right{float:none!important}.panel-footer .heading-elements-toggle{position:static;padding-top:10px;padding-bottom:10px;margin-top:0;display:block;text-align:center}}.heading-thumbnails{list-style:none;margin:0;padding:0;font-size:0}.heading-elements .heading-btn+.heading-btn,.heading-elements .heading-btn-group>.btn+.btn:not(.btn-link),.heading-thumbnails>li+li,.page-header .heading-elements .icons-list>li+li,.thumbnail-heading .heading-elements .icons-list>li+li{margin-left:10px}.heading-thumbnails>li{position:relative;display:inline-block;font-size:13px}.heading-thumbnails>li img{height:auto;max-height:38px;max-width:100%;border-radius:100px}.heading-thumbnails>li .badge,.heading-thumbnails>li .label{position:absolute;top:-8px;right:-8px;border:2px solid #fcfcfc}.panel-default>.panel-heading .heading-thumbnails>li .badge,.panel-default>.panel-heading .heading-thumbnails>li .label,.panel-footer-transparent .heading-thumbnails>li .badge,.panel-footer-transparent .heading-thumbnails>li .label{border-color:#fff}.heading-thumbnails>li .status-mark{position:absolute;top:0;right:0;box-shadow:0 0 0 2px #fcfcfc}.heading-thumbnails>li .status-mark[class*=border-]{background-color:#fcfcfc}.panel-default>.panel-heading .heading-thumbnails>li .status-mark,.panel-default>.panel-heading .heading-thumbnails>li .status-mark[class*=border-],.panel-footer-transparent .heading-thumbnails>li .status-mark,.panel-footer-transparent .heading-thumbnails>li .status-mark[class*=border-]{background-color:#fff}.page-header-inverse .heading-elements .btn-link{color:#fff}.heading-elements .breadcrumb{padding-top:0;padding-bottom:0}.heading-elements.panel-nav .nav>li>a{text-align:left}.heading-elements .daterange-custom{margin-top:5px}.heading-elements .heading-btn-group{font-size:0}.heading-elements.visible-elements{text-align:center}.heading-elements.visible-elements .breadcrumb,.heading-elements.visible-elements .daterange-custom,.heading-elements.visible-elements .heading-btn,.heading-elements.visible-elements .heading-btn-group>.btn,.heading-elements.visible-elements .heading-form .form-group,.heading-elements.visible-elements .heading-text,.heading-elements.visible-elements .heading-thumbnails,.heading-elements.visible-elements .icons-list,.heading-elements.visible-elements .nav-pills,.heading-elements.visible-elements .nav-tabs,.heading-elements.visible-elements .noui-slider,.heading-elements.visible-elements .pager,.heading-elements.visible-elements .pagination,.heading-elements.visible-elements .progress,.heading-elements.visible-elements .ui-slider,.heading-elements.visible-elements>.btn-group{margin-top:20px}.heading-elements.visible-elements .heading-text:not(.label):not(.badge){display:block}.heading-elements.visible-elements .multiselect+.btn-group,.heading-elements.visible-elements .select2-container,.heading-elements.visible-elements .selectboxit-container,.heading-elements.visible-elements .selectboxit-options,.heading-elements.visible-elements div.bootstrap-select{width:100%!important}.heading-elements.visible-elements .btn-group,.heading-elements.visible-elements .dropdown,.heading-elements.visible-elements .dropup,.heading-elements.visible-elements .input-group,.heading-elements.visible-elements .input-group-btn{position:static}.heading-elements.visible-elements .dropdown-menu:not(.multiselect-container){left:-1px;right:-1px;margin-top:0;border-top-right-radius:0;border-top-left-radius:0}.heading-elements.visible-elements .multiselect-container{left:0;right:0}.heading-elements:not(.visible-elements) .breadcrumb,.heading-elements:not(.visible-elements) .daterange-custom,.heading-elements:not(.visible-elements) .heading-btn,.heading-elements:not(.visible-elements) .heading-form,.heading-elements:not(.visible-elements) .heading-text,.heading-elements:not(.visible-elements) .heading-thumbnails,.heading-elements:not(.visible-elements) .icons-list,.heading-elements:not(.visible-elements) .nav-pills,.heading-elements:not(.visible-elements) .nav-tabs,.heading-elements:not(.visible-elements) .noui-slider,.heading-elements:not(.visible-elements) .pager,.heading-elements:not(.visible-elements) .pagination,.heading-elements:not(.visible-elements) .progress,.heading-elements:not(.visible-elements) .ui-slider,.heading-elements:not(.visible-elements)>.btn-group{float:left;margin-left:20px}.heading-elements:not(.visible-elements) .heading-text+.heading-text{margin-left:20px}.heading-elements:not(.visible-elements) .heading-form .form-control,.heading-elements:not(.visible-elements) .input-group,.heading-elements:not(.visible-elements) .noui-slider,.heading-elements:not(.visible-elements) .progress,.heading-elements:not(.visible-elements) .selectbox-fixed+.selectboxit-container,.heading-elements:not(.visible-elements) .selectbox-fixed+.selectboxit-options,.heading-elements:not(.visible-elements) .selectboxit-container .selectboxit-options,.heading-elements:not(.visible-elements) .ui-slider{width:220px}.heading-elements:not(.visible-elements) .btn-group-sm>.btn,.heading-elements:not(.visible-elements) .btn-sm,.heading-elements:not(.visible-elements) .input-group-sm,.heading-elements:not(.visible-elements) .input-sm,.heading-elements:not(.visible-elements) .pager-sm,.heading-elements:not(.visible-elements) .pagination-sm,.heading-elements:not(.visible-elements) .select-sm,.heading-elements:not(.visible-elements) .selectbox-sm+.selectboxit-container,.heading-elements:not(.visible-elements) .uploader-sm{margin-top:1px}.heading-elements:not(.visible-elements) .btn-group-xs>.btn,.heading-elements:not(.visible-elements) .btn-xs,.heading-elements:not(.visible-elements) .input-group-xs,.heading-elements:not(.visible-elements) .input-xs,.heading-elements:not(.visible-elements) .pager-xs,.heading-elements:not(.visible-elements) .pagination-xs,.heading-elements:not(.visible-elements) .select-xs,.heading-elements:not(.visible-elements) .selectbox-xs+.selectboxit-container,.heading-elements:not(.visible-elements) .uploader-xs{margin-top:2px}.heading-elements:not(.visible-elements) .btn-float{margin-top:-7px}.heading-elements:not(.visible-elements) .btn-float.has-text{margin-top:-19.5px}.heading-elements:not(.visible-elements) .btn-float.btn-link{margin-top:-14px}.heading-elements:not(.visible-elements) .noui-slider,.heading-elements:not(.visible-elements) .ui-slider{margin-top:17px}.heading-elements:not(.visible-elements) .noui-slider-lg,.heading-elements:not(.visible-elements) .ui-slider-lg{margin-top:16.5px}.heading-elements:not(.visible-elements) .noui-slider-sm,.heading-elements:not(.visible-elements) .ui-slider-sm{margin-top:17.5px}.heading-elements:not(.visible-elements) .noui-slider-xs,.heading-elements:not(.visible-elements) .ui-slider-xs{margin-top:18px}.heading-elements:not(.visible-elements) .progress{margin-top:10px}.heading-elements:not(.visible-elements) .progress-lg{margin-top:8px}.heading-elements:not(.visible-elements) .progress-sm{margin-top:12px}.heading-elements:not(.visible-elements) .progress-xs{margin-top:14px}.heading-elements:not(.visible-elements) .progress-xxs{margin-top:16px}.heading-elements:not(.visible-elements) .progress-micro{margin-top:18px}.heading-elements:not(.visible-elements) .icons-list{margin-top:11px}.heading-elements:not(.visible-elements) .heading-text{display:inline-block;margin-top:9px}@media (min-width:769px){.heading-elements:not(.visible-elements).panel-nav>.nav{margin-top:-1px}.heading-elements:not(.visible-elements).panel-nav>.nav-tabs{border-bottom-width:0}.heading-elements:not(.visible-elements).panel-nav>.nav-tabs.nav-tabs-bottom>li.active>a:after{background-color:transparent}.heading-elements:not(.visible-elements).panel-nav>.nav-sm{margin-top:2px}.heading-elements:not(.visible-elements).panel-nav>.nav-xs{margin-top:5px}}@media (max-width:768px){.heading-elements:not(.visible-elements).panel-nav{position:static;height:auto}.heading-elements:not(.visible-elements).panel-nav>.nav{float:none}.panel-heading .heading-elements:not(.visible-elements).panel-nav{margin-top:15px}.panel-flat .panel-heading .heading-elements:not(.visible-elements).panel-nav{margin-top:20px}.panel-heading .heading-elements:not(.visible-elements).panel-nav>.nav{margin-left:0}.panel-footer .heading-elements:not(.visible-elements).panel-nav.not-collapsible>.nav{margin-top:12px;margin-bottom:12px}}.heading-form .checkbox-switchery,.heading-form .checkbox-switchery[class*=switchery-],.heading-form .form-group{margin-bottom:0}.heading-elements:not(.visible-elements) .heading-form .checkbox-inline,.heading-elements:not(.visible-elements) .heading-form .radio-inline{margin-top:9px}.heading-elements:not(.visible-elements) .heading-form .checkbox-switch{margin-top:2px}.heading-elements:not(.visible-elements) .heading-form .checkbox-switch-sm{margin-top:3px}.heading-elements:not(.visible-elements) .heading-form .checkbox-switch-xs{margin-top:4px}.heading-elements:not(.visible-elements) .heading-form .input-group{max-width:220px}.heading-elements:not(.visible-elements) .heading-form .input-group .form-control{width:100%;margin-top:0}.heading-elements:not(.visible-elements) .heading-form .input-group.input-group-sm .btn,.heading-elements:not(.visible-elements) .heading-form .input-group.input-group-xs .btn{margin-top:0}@media (min-width:769px){.heading-form .form-group{float:left}.heading-form .form-group+.form-group{margin-left:15px}.pull-right-sm{float:right}}@media (max-width:768px){.breadcrumb-elements:not(.not-collapsible),.heading-elements:not(.not-collapsible){display:none}.breadcrumb-elements.visible-elements,.heading-elements.visible-elements{display:block}.panel .has-visible-elements{padding-bottom:0}.panel-flat .panel-heading.has-visible-elements{padding-bottom:20px}.panel .visible-elements{border-top:1px solid #ddd;padding:0 20px 20px}.panel-heading .visible-elements{margin:15px -20px 0;background-color:#fcfcfc}.panel-flat .panel-heading .visible-elements{margin-top:20px;border-bottom:1px solid #ddd}.panel-footer .visible-elements{margin-top:8px;border-bottom-right-radius:3px;border-bottom-left-radius:3px}.panel-footer-condensed .visible-elements{margin-top:2px}.panel-footer-transparent .visible-elements{margin-top:11px;background-color:#fff}.panel-danger .visible-elements,.panel-heading[class*=bg-] .visible-elements,.panel-info .visible-elements,.panel-primary .visible-elements,.panel-success .visible-elements,.panel-warning .visible-elements,.panel[class*=bg-] .visible-elements{border-color:rgba(255,255,255,.2);left:0;right:0;background-color:rgba(0,0,0,.1)}.visible-elements.breadcrumb-elements.not-collapsible{display:none}.page-header-content>.visible-elements{background-color:#eeeded;left:0;right:0;border-top:1px solid #e2e0e0;z-index:1002;padding-bottom:20px;margin-left:-20px;margin-right:-20px;padding-left:20px;padding-right:20px}.page-header-default .page-header-content>.visible-elements{background-color:#fcfcfc;border-color:#ddd}.page-header-inverse .page-header-content>.visible-elements{background-color:rgba(0,0,0,.1);border-color:rgba(255,255,255,.1)}}.no-edge-top{top:0}.no-edge-bottom{bottom:0}.no-edge-left{left:0}.no-edge-right{right:0}@media (min-width:1200px){.pull-right-lg{float:right}}@media (min-width:1025px){.pull-right-md{float:right}}@media (min-width:480px){.pull-right-xs{float:right}}.valign-middle{vertical-align:middle}.valign-bottom{vertical-align:bottom}.valign-baseline{vertical-align:baseline}.valign-text-top{vertical-align:top}.valign-text-bottom{vertical-align:text-bottom}.position-relative{position:relative}.position-static{position:static}.display-block,label.display-block{display:block}.display-inline-block{display:inline-block}.cursor-pointer{cursor:pointer}.cursor-move{cursor:move}.cursor-default{cursor:default}.overflow-hidden{overflow:hidden}.overflow-visible{overflow:visible}.overflow-auto{overflow:auto}.content-group-xs{margin-bottom:10px!important}.content-group-sm{margin-bottom:15px!important}.content-group{margin-bottom:20px!important}.content-group-lg{margin-bottom:30px!important}.no-margin{margin:0!important}.no-margin-top{margin-top:0!important}.no-margin-bottom{margin-bottom:0!important}.no-margin-left{margin-left:0!important}.no-margin-right{margin-right:0!important}.m-5{margin:5px!important}.m-10{margin:10px!important}.m-15{margin:15px!important}.m-20{margin:20px!important}.mt-5{margin-top:5px!important}.mt-10{margin-top:10px!important}.mt-15{margin-top:15px!important}.mt-20{margin-top:20px!important}.mb-5{margin-bottom:5px!important}.mb-10{margin-bottom:10px!important}.mb-15{margin-bottom:15px!important}.mb-20{margin-bottom:20px!important}.ml-5{margin-left:5px!important}.ml-10{margin-left:10px!important}.ml-15{margin-left:15px!important}.ml-20{margin-left:20px!important}.mr-5{margin-right:5px!important}.mr-10{margin-right:10px!important}.mr-15{margin-right:15px!important}.mr-20{margin-right:20px!important}.no-padding{padding:0!important}.no-padding-top{padding-top:0!important}.no-padding-bottom{padding-bottom:0!important}.no-padding-left{padding-left:0!important}.no-padding-right{padding-right:0!important}.p-5{padding:5px!important}.p-10{padding:10px!important}.p-15{padding:15px!important}.p-20{padding:20px!important}.pt-5{padding-top:5px!important}.pt-10{padding-top:10px!important}.pt-15{padding-top:15px!important}.pt-20{padding-top:20px!important}.pb-5{padding-bottom:5px!important}.pb-10{padding-bottom:10px!important}.pb-15{padding-bottom:15px!important}.pb-20{padding-bottom:20px!important}.pl-5{padding-left:5px!important}.pl-10{padding-left:10px!important}.pl-15{padding-left:15px!important}.pl-20{padding-left:20px!important}.pr-5{padding-right:5px!important}.pr-10{padding-right:10px!important}.pr-15{padding-right:15px!important}.pr-20{padding-right:20px!important}.no-border{border:0!important}.no-border-top{border-top:0!important}.no-border-bottom{border-bottom:0!important}.no-border-left{border-left:0!important}.no-border-right{border-right:0!important}.no-border-radius{border-radius:0}.no-border-radius-top{border-top-right-radius:0;border-top-left-radius:0}.no-border-radius-bottom{border-bottom-right-radius:0;border-bottom-left-radius:0}.no-border-radius-left{border-bottom-left-radius:0;border-top-left-radius:0}.no-border-radius-right{border-bottom-right-radius:0;border-top-right-radius:0}.border-top{border-top:1px solid}.border-bottom{border-bottom:1px solid}.border-left{border-left:1px solid}.border-right{border-right:1px solid}.border-lg{border-width:2px}.border-top-lg{border-top:2px solid}.border-bottom-lg{border-bottom:2px solid}.border-left-lg{border-left:2px solid}.border-right-lg{border-right:2px solid}.border-xlg{border-width:3px}.border-top-xlg{border-top:3px solid}.border-bottom-xlg{border-bottom:3px solid}.border-left-xlg{border-left:3px solid}.border-right-xlg{border-right:3px solid}.no-shadow{-webkit-box-shadow:none;box-shadow:none}.shadow-depth1{-webkit-box-shadow:0 1px 3px rgba(0,0,0,.12),0 1px 2px rgba(0,0,0,.24);box-shadow:0 1px 3px rgba(0,0,0,.12),0 1px 2px rgba(0,0,0,.24)}.shadow-depth2{-webkit-box-shadow:0 3px 6px rgba(0,0,0,.16),0 3px 6px rgba(0,0,0,.23);box-shadow:0 3px 6px rgba(0,0,0,.16),0 3px 6px rgba(0,0,0,.23)}.shadow-depth3{-webkit-box-shadow:0 10px 20px rgba(0,0,0,.19),0 6px 6px rgba(0,0,0,.23);box-shadow:0 10px 20px rgba(0,0,0,.19),0 6px 6px rgba(0,0,0,.23)}.shadow-depth4{-webkit-box-shadow:0 14px 28px rgba(0,0,0,.25),0 10px 10px rgba(0,0,0,.22);box-shadow:0 14px 28px rgba(0,0,0,.25),0 10px 10px rgba(0,0,0,.22)}.shadow-depth5{-webkit-box-shadow:0 19px 38px rgba(0,0,0,.3),0 15px 12px rgba(0,0,0,.22);box-shadow:0 19px 38px rgba(0,0,0,.3),0 15px 12px rgba(0,0,0,.22)}.full-width{width:100%}@media (min-width:769px){.width-200{min-width:200px}.width-250{min-width:250px}.width-300{min-width:300px}.width-350{min-width:350px}.width-400{min-width:400px}.width-450{min-width:450px}.width-500{min-width:500px}.width-550{min-width:550px}.width-600{min-width:600px}.width-650{min-width:650px}}.img-lg{width:44px!important;height:44px!important}.img-sm{width:36px!important;height:36px!important}.img-xs{width:32px!important;height:32px!important}.progress-list{margin:0;padding:0;list-style:none}.progress-list>li+li{margin-top:20px}.progress-list>li>label{display:block}.progress-list>li span{float:right;display:block} \ No newline at end of file diff --git a/Show-Crypto-Currency-Price-in-Graph/amol/public/assets/css/core.css b/Show-Crypto-Currency-Price-in-Graph/amol/public/assets/css/core.css new file mode 100644 index 0000000..bd9f199 --- /dev/null +++ b/Show-Crypto-Currency-Price-in-Graph/amol/public/assets/css/core.css @@ -0,0 +1 @@ +body,figure{position:relative}.bg-danger,.bg-info,.bg-success,.bg-warning,.mark,figcaption,mark{color:#fff}.icons-list,.list-icons li{list-style:none}.caret:after,.dropdown-menu>.dropdown-submenu>a:after{font-family:icomoon;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.btn,.dropdown-header,.nav-pills>li>a,.nav-tabs>li>a,legend{text-transform:uppercase}.btn.active.focus,.btn.active:focus,.btn.focus,.btn:active.focus,.btn:active:focus,.btn:focus,.close:focus,.close:hover,.dropdown-menu>li>a,.form-control:focus,.nav>li>a:focus,a,a:focus,button,input,input[type=radio]:focus,input[type=checkbox]:focus,input[type=file]:focus,textarea{outline:0}@font-face{font-family:'Glyphicons Halflings';src:url(icons/glyphicons/glyphicons-halflings-regular.eot);src:url(icons/glyphicons/glyphicons-halflings-regulard41d.eot?#iefix) format('embedded-opentype'),url(icons/glyphicons/glyphicons-halflings-regular.woff2) format('woff2'),url(icons/glyphicons/glyphicons-halflings-regular.woff) format('woff'),url(icons/glyphicons/glyphicons-halflings-regular.ttf) format('truetype'),url(icons/glyphicons/glyphicons-halflings-regular.svg#glyphicons_halflingsregular) format('svg')}.glyphicon{font-size:16px;vertical-align:middle;top:-1px}.h1 small,.h2 small,.h3 small,.h4 small,.h5 small,.h6 small,h1 small,h2 small,h3 small,h4 small,h5 small,h6 small{font-size:13px}html{height:100%}body{min-height:100%}a{cursor:pointer}figcaption{position:absolute;bottom:0;opacity:0;visibility:hidden;width:100%;padding:10px 15px;z-index:2;background-color:rgba(0,0,0,.7);-webkit-transition:all ease-in-out .2s;-o-transition:all ease-in-out .2s;transition:all ease-in-out .2s}figure:hover figcaption{opacity:1;visibility:visible}.img-rounded{border-radius:3px}.hr-condensed{margin-top:10px;margin-bottom:10px}.h1,.h2,.h3,.h4,.h5,.h6,h1,h2,h3,h4,h5,h6{letter-spacing:-.015em}.h1>.badge,.h1>.label,.h2>.badge,.h2>.label,.h3>.badge,.h3>.label,.h4>.badge,.h4>.label,.h5>.badge,.h5>.label,.h6>.badge,.h6>.label,h1>.badge,h1>.label,h2>.badge,h2>.label,h3>.badge,h3>.label,h4>.badge,h4>.label,h5>.badge,h5>.label,h6>.badge,h6>.label{vertical-align:middle;margin-top:-2px}.h1 small.display-block,.h1>.badge.pull-right,.h1>.label.pull-right,.h2 small.display-block,.h2>.badge.pull-right,.h2>.label.pull-right,.h3 small.display-block,.h3>.badge.pull-right,.h3>.label.pull-right,.h4 small.display-block,.h4>.badge.pull-right,.h4>.label.pull-right,.h5 small.display-block,.h5>.badge.pull-right,.h5>.label.pull-right,.h6 small.display-block,.h6>.badge.pull-right,.h6>.label.pull-right,h1 small.display-block,h1>.badge.pull-right,h1>.label.pull-right,h2 small.display-block,h2>.badge.pull-right,h2>.label.pull-right,h3 small.display-block,h3>.badge.pull-right,h3>.label.pull-right,h4 small.display-block,h4>.badge.pull-right,h4>.label.pull-right,h5 small.display-block,h5>.badge.pull-right,h5>.label.pull-right,h6 small.display-block,h6>.badge.pull-right,h6>.label.pull-right{margin-top:3px}.h1>[class*=icon-],.h2>[class*=icon-],.h3>[class*=icon-],h1>[class*=icon-],h2>[class*=icon-],h3>[class*=icon-]{top:-2px}.heading-divided{margin-bottom:15px;padding-bottom:10px;border-bottom:1px solid #ddd}.mark,mark{background-color:#333;padding:2px 6px;border-radius:2px}.icon-object,.status-mark{border-radius:50%;display:inline-block}svg{display:block}.svg-inline svg{display:inline-block}.svg-center svg{margin:auto}.letter-icon{width:16px;display:block}.content-divider{text-align:center;position:relative;z-index:1}.content-divider>span{background-color:#eeeded;display:inline-block;padding-left:16px;padding-right:16px}.modal .content-divider>span,.panel .content-divider>span,.tab-content-bordered .content-divider>span{background-color:#fff}.content-divider>span:before{content:"";position:absolute;top:50%;left:0;height:1px;background-color:#ddd;width:100%;z-index:-1}.icon-object{text-align:center;margin:10px;border-width:3px;border-style:solid;padding:20px}.icon-object>i{font-size:32px;top:0}.img-preview{max-height:70px}.video-container{position:relative;padding-bottom:56.25%;height:0;overflow:hidden}.video-container embed,.video-container iframe,.video-container object{position:absolute;top:0;left:0;width:100%;height:100%}.status-mark{width:8px;height:8px;border:2px solid}.form-group-lg>.form-control-feedback,.form-group-sm>.form-control-feedback,.input-lg+.form-control-feedback,.input-sm+.form-control-feedback{width:16px}.dropdown-menu>.active .status-mark{background-color:#fff;border-color:#fff}.position-left{margin-right:8px}.position-right{margin-left:8px}a.bg-primary:focus,a.bg-primary:hover{background-color:#2196F3}.bg-success,a.bg-success:focus,a.bg-success:hover{background-color:#4CAF50}.bg-info,a.bg-info:focus,a.bg-info:hover{background-color:#00BCD4}.bg-warning,a.bg-warning:focus,a.bg-warning:hover{background-color:#FF5722}.bg-danger,a.bg-danger:focus,a.bg-danger:hover{background-color:#F44336}.page-header{margin:0;padding:0;border-bottom-width:0}@media (min-width:769px){.page-header .heading-elements.collapse{display:block;visibility:visible}}.page-header-inverse{background-color:#273246;color:#fff;margin-bottom:30px;-webkit-box-shadow:0 1px 3px rgba(0,0,0,.12),0 1px 2px rgba(0,0,0,.24);box-shadow:0 1px 3px rgba(0,0,0,.12),0 1px 2px rgba(0,0,0,.24)}.page-header-inverse .page-title small{color:rgba(255,255,255,.5)}.page-header-inverse .page-header-content .breadcrumb>li+li:before,.page-header-inverse .page-header-content .breadcrumb>li>a,.page-header-inverse>.breadcrumb>li+li:before,.page-header-inverse>.breadcrumb>li>a{color:rgba(255,255,255,.9)}.page-header-inverse .page-header-content .breadcrumb>li>a:focus,.page-header-inverse .page-header-content .breadcrumb>li>a:hover,.page-header-inverse>.breadcrumb>li>a:focus,.page-header-inverse>.breadcrumb>li>a:hover{color:#fff;opacity:1;filter:alpha(opacity=100)}.page-header-inverse .page-header-content .breadcrumb>.active,.page-header-inverse>.breadcrumb>.active{color:rgba(255,255,255,.5)}.page-header-inverse .form-control-feedback,.page-header-inverse .input-group-addon{color:rgba(255,255,255,.75)}.page-header-inverse .heading-text>a{color:#fff}.page-header-inverse .form-control{border-bottom-color:rgba(255,255,255,.3);color:#fff}.page-header-inverse .form-control::-moz-placeholder{color:rgba(255,255,255,.75);opacity:1}.page-header-inverse .form-control:-ms-input-placeholder{color:rgba(255,255,255,.75)}.page-header-inverse .form-control::-webkit-input-placeholder{color:rgba(255,255,255,.75)}.page-header-inverse .form-control:focus{border-bottom-color:#fff;-webkit-box-shadow:0 1px 0 #fff;box-shadow:0 1px 0 #fff}.page-header-inverse.has-cover{background:url(../images/login_cover.jpg);background-size:cover}.page-header-default{background-color:#fff;margin-bottom:30px;-webkit-box-shadow:0 1px 3px rgba(0,0,0,.12),0 1px 2px rgba(0,0,0,.24);box-shadow:0 1px 3px rgba(0,0,0,.12),0 1px 2px rgba(0,0,0,.24)}.page-header-default.has-cover{background:url(../images/backgrounds/seamless.png)}.page-title{padding:32px 36px 32px 0;display:block;position:relative}.page-title small{margin-left:10px;display:inline-block}.page-title small:before{content:'/';margin-right:15px}.page-title small.display-block{margin-left:0;display:block}.page-title small.display-block:before{content:none}.page-title i~small.display-block{margin-left:31px}.page-header-lg .page-title{padding-top:37px;padding-bottom:37px}.page-header-sm .page-title{padding-top:27px;padding-bottom:27px}.page-header-xs .page-title{padding-top:22px;padding-bottom:22px}.page-title h1,.page-title h2,.page-title h3,.page-title h4,.page-title h5,.page-title h6{margin:0}@media (min-width:769px){.page-title{padding-right:0}}.page-header-content{position:relative;background-color:inherit;padding:0 20px}.page-header-content[class*=border-bottom-]+.breadcrumb-line{border-top:0}.text-black{font-weight:900}.text-bold{font-weight:700}.text-semibold{font-weight:500}.text-regular{font-weight:400}.text-light{font-weight:300}.text-thin{font-weight:100}dt,th{font-weight:500}.text-italic{font-style:italic}.text-highlight{padding:4px 6px}.text-size-large{font-size:14px}.text-size-base{font-size:13px}.text-size-small{font-size:12px}.text-size-mini{font-size:11px}ol,ul{padding-left:25px}.list>li,.list>li .list>li{margin-top:8px}.list>li:first-child{margin-top:0}.list-condensed>li,.list-condensed>li .list>li{margin-top:4px}.list-extended>li,.list-extended>li .list>li{margin-top:12px}ul.list-square{list-style-type:square}ul.list-circle{list-style-type:circle}.list-inline{margin-left:0;font-size:0}.list-inline>li{padding-left:0;padding-right:20px;font-size:13px}.list-inline>li:last-child{padding-right:0}.list-inline-condensed>li{padding-right:10px}.list-inline-separate>li{padding-right:20px;position:relative}.list-inline-separate>li:before{content:'\2022';position:absolute;right:8px;color:#ccc;top:1px}.list-inline-separate>li:last-child:before{content:none}.list-icons{padding-left:0}.list-icons li i{margin-right:8px}.icons-list{margin:0;padding:0;line-height:1;font-size:0}.table-xlg>tbody>tr>td,.table-xlg>tbody>tr>th,.table-xlg>tfoot>tr>td,.table-xlg>tfoot>tr>th,.table-xlg>thead>tr>td,.table-xlg>thead>tr>th,pre{padding:20px}.icons-list>li{position:relative;display:inline-block;margin-left:5px;font-size:13px}.icons-list>li:first-child{margin-left:0}.icons-list>li>a{color:inherit;display:block;opacity:1;filter:alpha(opacity=100)}.icons-list>li>a:focus,.icons-list>li>a:hover{opacity:.75;filter:alpha(opacity=75)}.icons-list>li>a>i{top:0}.icons-list>li>a>.caret{margin-top:0;margin-bottom:0}.icons-list-extended>li{margin-left:10px}dl{margin-bottom:0}dt{margin-bottom:5px}dd+dt{margin-top:20px}@media (min-width:769px){.dl-horizontal dt+dd{margin-top:20px}.dl-horizontal dt:first-child+dd{margin-top:0}}blockquote{margin:0}blockquote img{height:42px;float:left;margin-right:20px}blockquote img.pull-right{margin-right:0;margin-left:20px}blockquote .small,blockquote footer,blockquote small{font-size:13px;margin-top:8px;display:block}.blockquote-reverse,blockquote.pull-right{padding-right:20px}code{border-radius:2px;word-wrap:break-word}kbd{font-size:11px;vertical-align:text-top;-webkit-box-shadow:none;box-shadow:none}pre{margin:0;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-hyphens:none;-moz-hyphens:none;-ms-hyphens:none;hyphens:none}.table{margin-bottom:0}.table>tbody>tr>td,.table>tbody>tr>th,.table>tfoot>tr>td,.table>tfoot>tr>th,.table>thead>tr>td,.table>thead>tr>th{vertical-align:middle}.table>thead>tr+tr>td,.table>thead>tr+tr>th{border-top-width:0}.panel[class*=bg-] .table>tbody>tr>td,.panel[class*=bg-] .table>tbody>tr>th,.panel[class*=bg-] .table>tfoot>tr>td,.panel[class*=bg-] .table>tfoot>tr>th,.panel[class*=bg-] .table>thead>tr>td,.panel[class*=bg-] .table>thead>tr>th,.table[class*=bg-]>tbody>tr>td,.table[class*=bg-]>tbody>tr>th,.table[class*=bg-]>tfoot>tr>td,.table[class*=bg-]>tfoot>tr>th,.table[class*=bg-]>thead>tr>td,.table[class*=bg-]>thead>tr>th{border-color:rgba(255,255,255,.2)}.table tr>td[class*=bg-],.table tr>th[class*=bg-],.table tr[class*=bg-]>td,.table tr[class*=bg-]>th{border-color:#fff}.table>thead>tr[class*=border-bottom-]>td,.table>thead>tr[class*=border-bottom-]>th{border-bottom-color:inherit}.table>tbody>tr[class*=border-top-]>td,.table>tbody>tr[class*=border-top-]>th,.table>tfoot>tr[class*=border-top-]>td,.table>tfoot>tr[class*=border-top-]>th{border-top-color:inherit}.table>thead>tr>th{border-bottom:1px solid #bbb}.table>tfoot>tr>th{border-top:1px solid #bbb}.table .table{background-color:#fff}.table-responsive+.table-responsive>.table:not(.table-bordered):not(.table-framed),.table:not(.table-bordered):not(.table-framed)+.table:not(.table-bordered):not(.table-framed){border-top:1px solid #ddd}.modal-body+.table,.modal-body+.table-responsive>.table{border-bottom:1px solid #ddd}.table-bordered>thead>tr.border-solid:first-child>td,.table-bordered>thead>tr.border-solid:first-child>th,.table>thead>tr.border-solid>td,.table>thead>tr.border-solid>th{border-bottom-width:2px}.modal-body+.table-responsive{border-width:0}.panel[class*=bg-]>.panel-body+.table,.panel[class*=bg-]>.panel-body+.table-responsive{border-color:#fff}.table>tbody>tr.border-solid>td,.table>tbody>tr.border-solid>th,.table>tfoot>tr.border-solid>td,.table>tfoot>tr.border-solid>th{border-top-width:2px}.table-bordered>thead>tr.border-double:first-child>td,.table-bordered>thead>tr.border-double:first-child>th,.table>thead>tr.border-double>td,.table>thead>tr.border-double>th{border-bottom-width:3px;border-bottom-style:double}.table>tbody>tr.border-double>td,.table>tbody>tr.border-double>th,.table>tfoot>tr.border-double>td,.table>tfoot>tr.border-double>th{border-top-width:3px;border-top-style:double}.table>tbody>tr.border-dashed>td,.table>tbody>tr.border-dashed>th{border-top-style:dashed}.panel>.table-framed,.panel>.table-responsive>.table-framed,.table-framed{border:1px solid #ddd}.table-framed>thead>tr>td:first-child,.table-framed>thead>tr>th:first-child{border-left-color:#ddd}.table-framed>thead>tr>td:last-child,.table-framed>thead>tr>th:last-child{border-right-color:#ddd}@media screen and (max-width:768px){.table-responsive>.table-framed{border:0}}.table-borderless>tbody>tr>td,.table-borderless>tbody>tr>th{border:0}.table-columned>tbody>tr>td,.table-columned>tbody>tr>th,.table-columned>tfoot>tr>td,.table-columned>tfoot>tr>th{border:0;border-left:1px solid #ddd}.table-columned>tbody>tr>td:first-child,.table-columned>tbody>tr>th:first-child,.table-columned>tfoot>tr>td:first-child,.table-columned>tfoot>tr>th:first-child{border-left:0}.table-lg>tbody>tr>td,.table-lg>tbody>tr>th,.table-lg>tfoot>tr>td,.table-lg>tfoot>tr>th,.table-lg>thead>tr>td,.table-lg>thead>tr>th{padding:15px 20px}.table-sm>tbody>tr>td,.table-sm>tbody>tr>th,.table-sm>tfoot>tr>td,.table-sm>tfoot>tr>th,.table-sm>thead>tr>td,.table-sm>thead>tr>th{padding:10px 20px}.table-xs>tbody>tr>td,.table-xs>tbody>tr>th,.table-xs>tfoot>tr>td,.table-xs>tfoot>tr>th,.table-xs>thead>tr>td,.table-xs>thead>tr>th{padding:8px 20px}.table-xxs>tbody>tr>td,.table-xxs>tbody>tr>th,.table-xxs>tfoot>tr>td,.table-xxs>tfoot>tr>th,.table-xxs>thead>tr>td,.table-xxs>thead>tr>th{padding:6px 15px}.panel>.table-bordered>thead>tr>td,.panel>.table-bordered>thead>tr>th,.panel>.table-responsive>.table-bordered>thead>tr>td,.panel>.table-responsive>.table-bordered>thead>tr>th{border-left-color:transparent;border-right-color:transparent}.table-bordered tr:first-child>td,.table-bordered tr:first-child>th{border-top-color:#bbb}.table-bordered tr>td[class*=bg-],.table-bordered tr>th[class*=bg-],.table-bordered tr[class*=bg-]>td,.table-bordered tr[class*=bg-]>th{border-color:#fff}.panel[class*=bg-] .table-striped>tbody>tr:nth-child(odd),.table-striped[class*=bg-]>tbody>tr:nth-child(odd){background-color:rgba(0,0,0,.05)}.table-hover>tbody>tr:hover>td,.table-hover>tbody>tr:hover>th{background-color:inherit}.panel[class*=bg-] .table-hover>tbody>tr:hover,.table-hover[class*=bg-]>tbody>tr:hover{background-color:rgba(0,0,0,.1)}.panel[class*=bg-] .panel-body>.table .active>td,.panel[class*=bg-] .panel-body>.table .active>th,.panel[class*=bg-] .panel-body>.table td.active,.panel[class*=bg-] .panel-body>.table th.active,.panel[class*=bg-] .panel-body>.table-responsive>.table .active>td,.panel[class*=bg-] .panel-body>.table-responsive>.table .active>th,.panel[class*=bg-] .panel-body>.table-responsive>.table td.active,.panel[class*=bg-] .panel-body>.table-responsive>.table th.active,.table[class*=bg-] .active>td,.table[class*=bg-] .active>th,.table[class*=bg-] td.active,.table[class*=bg-] th.active{background-color:rgba(0,0,0,.15)}legend{font-size:12px;padding-top:10px;padding-bottom:10px}fieldset:first-child legend:first-child{padding-top:0}legend .control-arrow{float:right;color:#999}legend .control-arrow:hover{color:#333}label{margin-bottom:8px;font-weight:400}select[multiple],select[size]{height:200px}select[multiple] option,select[size] option{padding:8px 16px;border-radius:3px}select[multiple] option+option,select[size] option+option{margin-top:1px}input[type=file],input[type=file]:focus{border-color:transparent;-webkit-box-shadow:none;box-shadow:none}.form-control{padding-left:0;padding-right:0;border-width:1px 0;border-color:transparent transparent #ddd;border-radius:0;-webkit-box-shadow:none;box-shadow:none}.form-control:focus{border-color:transparent transparent #009688;-webkit-box-shadow:0 1px 0 #009688;box-shadow:0 1px 0 #009688}.form-control[disabled],fieldset[disabled] .form-control{border-bottom-style:dashed;color:#999}.form-control[readonly]{border-bottom-style:dashed;border-bottom-color:#ddd;color:#333;-webkit-box-shadow:none;box-shadow:none}.form-control-unstyled{padding:0;border:0;background-color:transparent}.form-group-sm .form-control,.input-sm,.input-xlg,.input-xs{border-radius:0}input[type=text],input[type=password],input[type=search],input[type=email],input[type=number],input[type=datetime],input[type=datetime-local],input[type=date],input[type=month],input[type=time],input[type=week],input[type=url],input[type=tel],textarea{-webkit-appearance:none}.form-group{margin-bottom:20px;position:relative}.form-group .form-group:last-child{margin-bottom:0}@media (max-width:1024px){.form-group div[class*=col-md-]:not(.control-label)+div[class*=col-md-]{margin-top:20px}}@media (max-width:1199px){.form-group div[class*=col-lg-]:not(.control-label)+div[class*=col-lg-]{margin-top:20px}}@media (max-width:768px){.form-group div[class*=col-sm-]:not(.control-label)+div[class*=col-sm-]{margin-top:20px}}.form-group-material>.control-label{position:relative;top:8px;margin-bottom:0;opacity:0;filter:alpha(opacity=0)}.form-group-material>.control-label~.form-control-feedback{top:20px}.form-group-material>.control-label.has-margin{margin-bottom:8px}.form-group-material>.control-label.has-margin~.form-control-feedback{top:28px}.form-group-material>.control-label.is-visible{top:0;opacity:1;filter:alpha(opacity=100)}.form-group-material>.control-label.animate{-webkit-transition:all linear .1s;-o-transition:all linear .1s;transition:all linear .1s}.checkbox,.radio{margin-top:9px;margin-bottom:9px}.checkbox label,.radio label{padding-left:28px}.checkbox input[type=checkbox],.checkbox-inline input[type=checkbox],.radio input[type=radio],.radio-inline input[type=radio]{margin-left:0;left:0}.checkbox+.checkbox,.radio+.radio{margin-top:0}.checkbox-inline,.radio-inline{position:relative;padding-left:28px}.checkbox-right label,.checkbox-right.checkbox-inline,.checkbox-right.radio-inline,.radio-right label,.radio-right.radio-inline{padding-left:0;padding-right:28px}.checkbox-right input[type=radio],.checkbox-right input[type=checkbox],.radio-right input[type=radio]{left:auto;right:0}.checkbox-inline+.checkbox-inline,.radio-inline+.radio-inline{margin-left:15px}.checkbox-inline.disabled,.checkbox.disabled,.radio-inline.disabled,.radio.disabled,fieldset[disabled] .checkbox,fieldset[disabled] .checkbox-inline,fieldset[disabled] .radio,fieldset[disabled] .radio-inline{color:#999}.input-xlg{height:42px;padding:10px 0;font-size:15px;line-height:1.333334}select.input-xlg{height:42px;line-height:42px}select[multiple].input-xlg,textarea.input-xlg{height:auto}.form-group-xlg .form-control,.form-group-xlg .form-control-static{height:42px;padding:10px 0;font-size:15px;line-height:1.333334}.form-group-xlg .form-control-static{min-height:35px}.form-group-lg .form-control-static,.form-group-sm .form-control,.form-group-sm .form-control-static,.input-sm{padding-left:0;padding-right:0}.form-group-lg .form-control,.input-lg{padding-left:0;padding-right:0;border-radius:0}.input-xs{height:34px;padding:6px 0;font-size:12px;line-height:1.6666667}select.input-xs{height:34px;line-height:34px}select[multiple].input-xs,textarea.input-xs{height:auto}.form-group-xs .form-control,.form-group-xs .form-control-static{height:34px;padding:6px 0;font-size:12px;line-height:1.6666667}.form-group-xs .form-control-static{min-height:32px}.has-feedback .form-control,.has-feedback.input-group .form-control{padding-right:32px}.has-feedback .form-control.input-xlg,.has-feedback.input-group-xlg .form-control{padding-right:36px}.has-feedback .form-control.input-lg,.has-feedback.input-group-lg .form-control{padding-right:34px}.has-feedback .form-control.input-sm,.has-feedback.input-group-sm .form-control{padding-right:30px}.has-feedback .form-control.input-xs,.has-feedback.input-group-xs .form-control{padding-right:28px}.form-control-feedback{width:16px;color:#333;z-index:3}.help-block,.help-inline{color:#999;font-size:12px}.input-group>.form-control-feedback{height:38px;line-height:38px}.has-feedback-left .form-control,.has-feedback-left.input-group .form-control{padding-right:0!important;padding-left:32px}.has-feedback-left .form-control.input-xlg,.has-feedback-left.input-group-xlg .form-control{padding-left:36px}.has-feedback-left .form-control.input-lg,.has-feedback-left.input-group-lg .form-control{padding-left:34px}.has-feedback-left .form-control.input-sm,.has-feedback-left.input-group-sm .form-control{padding-left:30px}.has-feedback-left .form-control.input-xs,.has-feedback-left.input-group-xs .form-control{padding-left:28px}.has-feedback-left .form-control-feedback{right:auto;left:0}.form-group-xlg>.form-control-feedback,.input-group-xlg>.form-control-feedback,.input-xlg+.form-control-feedback{height:42px;line-height:42px}.input-group-lg>.form-control-feedback{height:40px;line-height:40px}.input-group-sm>.form-control-feedback{height:36px;line-height:36px}.form-group-xs>.form-control-feedback,.input-group-xs>.form-control-feedback,.input-xs+.form-control-feedback{height:34px;line-height:34px}.has-success .form-control{border-color:transparent transparent #43A047;-webkit-box-shadow:none;box-shadow:none}.has-success .form-control:focus{border-color:transparent transparent #43A047;-webkit-box-shadow:0 1px 0 #43A047;box-shadow:0 1px 0 #43A047}.has-warning .form-control{border-color:transparent transparent #EF6C00;-webkit-box-shadow:none;box-shadow:none}.has-warning .form-control:focus{border-color:transparent transparent #EF6C00;-webkit-box-shadow:0 1px 0 #EF6C00;box-shadow:0 1px 0 #EF6C00}.has-error .form-control{border-color:transparent transparent #D84315;-webkit-box-shadow:none;box-shadow:none}.has-error .form-control:focus{border-color:transparent transparent #D84315;-webkit-box-shadow:0 1px 0 #D84315;box-shadow:0 1px 0 #D84315}.help-block{margin-top:8px;margin-bottom:8px}.help-inline{display:inline-block;margin-top:9px;margin-bottom:9px}.form-horizontal .form-group>div[class*=col-]+.help-inline{margin-left:10px;margin-right:10px}@media (min-width:769px){.form-inline .form-group+.form-group{margin-left:15px}.form-inline .form-group>label{margin-right:8px;position:relative;top:1px}.form-horizontal .control-label{padding-bottom:8px;padding-top:0}.form-horizontal .control-label:not(.text-right){text-align:left}}.form-horizontal .form-group .form-group{margin-left:0;margin-right:0}@media (min-width:480px){.form-horizontal .control-label[class*=col-xs-]{padding-top:9px}}@media (min-width:1025px){.help-inline{display:inline-block;margin-top:9px;margin-bottom:9px;vertical-align:top}.help-inline:not(.label){color:#999}.form-group-lg .help-inline{margin-top:10px}.form-group-sm .help-inline{margin-top:8px}.form-group-xs .help-inline{margin-top:7px}.form-horizontal .control-label[class*=col-md-]{padding-top:9px}}@media (min-width:1200px){.form-horizontal .control-label[class*=col-lg-]{padding-top:9px}}.form-horizontal .has-feedback>.form-control-feedback{right:0}.form-horizontal .has-feedback-left .form-control-feedback{right:auto;left:10px}.form-horizontal .has-feedback-left>.form-control-feedback{left:0}@media (min-width:769px){.form-horizontal .control-label[class*=col-sm-]{padding-top:9px}.form-horizontal .form-group-xlg .control-label{font-size:15px;padding-top:11px}.form-horizontal .form-group-lg .control-label{padding-top:10px}.form-horizontal .form-group-sm .control-label{padding-top:8px}.form-horizontal .form-group-xs .control-label{font-size:12px;padding-top:7px}.dropdown-menu>.dropdown-submenu:hover>.dropdown-menu{display:block}}.btn{position:relative;font-weight:500;border-width:0;padding:9px 17px}.btn::-moz-focus-inner{border:0}.btn.focus,.btn:focus,.btn:hover{-webkit-box-shadow:0 0 0 100px rgba(0,0,0,.05) inset;box-shadow:0 0 0 100px rgba(0,0,0,.05) inset}.btn.active,.btn:active{-webkit-box-shadow:0 0 0 100px rgba(0,0,0,.1) inset;box-shadow:0 0 0 100px rgba(0,0,0,.1) inset}.btn-raised:not(.btn-flat):not(.btn-link),.navbar{-webkit-box-shadow:0 1px 3px rgba(0,0,0,.12),0 1px 2px rgba(0,0,0,.24)}.btn[class*=bg-].focus,.btn[class*=bg-]:focus,.btn[class*=bg-]:hover{color:#fff}.btn.text-size-small{line-height:1.6666667}.btn.text-size-mini{line-height:1.82}.btn-raised:not(.btn-flat):not(.btn-link){box-shadow:0 1px 3px rgba(0,0,0,.12),0 1px 2px rgba(0,0,0,.24)}.btn-raised:not(.btn-flat):not(.btn-link).btn-default{background-color:#fcfcfc}.btn-raised:not(.btn-flat):not(.btn-link).btn-default.active,.btn-raised:not(.btn-flat):not(.btn-link).btn-default.focus,.btn-raised:not(.btn-flat):not(.btn-link).btn-default:active,.btn-raised:not(.btn-flat):not(.btn-link).btn-default:focus,.btn-raised:not(.btn-flat):not(.btn-link).btn-default:hover,.open>.dropdown-toggle.btn-raised:not(.btn-flat):not(.btn-link).btn-default{background-color:#f8f8f8}.btn-group.open .dropdown-toggle.btn-raised:not(.btn-flat):not(.btn-link).btn-default,.input-group-btn.open .dropdown-toggle.btn-raised:not(.btn-flat):not(.btn-link).btn-default{-webkit-box-shadow:0 3px 6px rgba(0,0,0,.16),0 3px 6px rgba(0,0,0,.23);box-shadow:0 3px 6px rgba(0,0,0,.16),0 3px 6px rgba(0,0,0,.23)}.btn-raised:not(.btn-flat):not(.btn-link).btn-default.disabled.focus,.btn-raised:not(.btn-flat):not(.btn-link).btn-default.disabled:focus,.btn-raised:not(.btn-flat):not(.btn-link).btn-default.disabled:hover,.btn-raised:not(.btn-flat):not(.btn-link).btn-default[disabled].focus,.btn-raised:not(.btn-flat):not(.btn-link).btn-default[disabled]:focus,.btn-raised:not(.btn-flat):not(.btn-link).btn-default[disabled]:hover,fieldset[disabled] .btn-raised:not(.btn-flat):not(.btn-link).btn-default.focus,fieldset[disabled] .btn-raised:not(.btn-flat):not(.btn-link).btn-default:focus,fieldset[disabled] .btn-raised:not(.btn-flat):not(.btn-link).btn-default:hover{background-color:#fcfcfc}.btn-group.open .dropdown-toggle.btn-raised:not(.btn-flat):not(.btn-link),.btn-raised:not(.btn-flat):not(.btn-link).active,.btn-raised:not(.btn-flat):not(.btn-link).focus,.btn-raised:not(.btn-flat):not(.btn-link):active,.btn-raised:not(.btn-flat):not(.btn-link):focus,.btn-raised:not(.btn-flat):not(.btn-link):hover,.input-group-btn.open .dropdown-toggle.btn-raised:not(.btn-flat):not(.btn-link){-webkit-box-shadow:0 3px 6px rgba(0,0,0,.16),0 3px 6px rgba(0,0,0,.23);box-shadow:0 3px 6px rgba(0,0,0,.16),0 3px 6px rgba(0,0,0,.23)}.btn-raised:not(.btn-flat):not(.btn-link).disabled,.btn-raised:not(.btn-flat):not(.btn-link)[disabled],fieldset[disabled] .btn-raised:not(.btn-flat):not(.btn-link){-webkit-box-shadow:none;box-shadow:none}.btn-labeled{padding-left:54px}.btn-labeled.btn-default>b{background-color:#2196F3;color:#fff}.btn-labeled>b{position:absolute;top:0;left:0;background-color:rgba(0,0,0,.15);display:block;line-height:1;padding:11px;border-bottom-left-radius:3px;border-top-left-radius:3px}.btn-labeled>b>i{top:0}.btn-labeled.btn-labeled-right{padding-left:16px;padding-right:54px}.btn-labeled.btn-labeled-right>b{left:auto;right:0;border-radius:0 3px 3px 0}.btn-float,.btn-float img,.btn-link{border-radius:3px}.btn-labeled.btn-xlg{padding-left:62px}.btn-labeled.btn-xlg>b{padding:13px}.btn-labeled.btn-xlg.btn-labeled-right{padding-left:20px;padding-right:62px}.btn-labeled.btn-lg{padding-left:58px}.btn-labeled.btn-lg>b{padding:12px}.btn-labeled.btn-lg.btn-labeled-right{padding-left:18px;padding-right:58px}.btn-labeled.btn-sm{padding-left:50px}.btn-labeled.btn-sm>b{padding:10px}.btn-labeled.btn-sm.btn-labeled-right{padding-left:14px;padding-right:50px}.btn-labeled.btn-xs{padding-left:46px}.btn-labeled.btn-xs>b{padding:9px}.btn-labeled.btn-xs.btn-labeled-right{padding-left:46px}.btn-flat{border-width:2px;background-color:transparent;-webkit-box-shadow:none;box-shadow:none}.btn-flat:focus,.btn-flat:hover{opacity:.8;filter:alpha(opacity=80);-webkit-box-shadow:none;box-shadow:none}.btn-flat:active{opacity:.95;filter:alpha(opacity=95)}.btn-group.open .dropdown-toggle.btn-flat{-webkit-box-shadow:none;box-shadow:none}.btn-icon{padding-left:11px;padding-right:11px}.btn-icon.icon-2x{padding-left:9px;padding-right:9px}.btn-icon.icon-2x>i{font-size:32px;top:0}.btn-icon.icon-2x.btn-xlg{padding-left:11px;padding-right:11px}.btn-icon.icon-2x.btn-lg{padding-left:10px;padding-right:10px}.btn-icon.icon-2x.btn-sm{padding-left:8px;padding-right:8px}.btn-icon.icon-2x.btn-xs{padding-left:7px;padding-right:7px}.btn-icon.btn-xlg,.input-group-xlg>.input-group-btn>.btn-icon{padding-left:13px;padding-right:13px}.btn-icon.btn-lg,.input-group-lg>.input-group-btn>.btn-icon{padding-left:12px;padding-right:12px}.btn-icon.btn-sm,.input-group-sm>.input-group-btn>.btn-icon{padding-left:10px;padding-right:10px}.btn-icon.btn-xs,.input-group-xs>.input-group-btn>.btn.btn-icon{padding-left:9px;padding-right:9px}.btn-float{padding:18px;white-space:normal}.dropdown-content .form-inline,.media-header{white-space:nowrap}.btn-float.btn-link{padding:13px}.btn-float i{display:block;margin:0;top:0}.btn-float>span{display:block;padding-top:10px;margin-bottom:-6px}.btn-float.btn-float-lg i{font-size:32px}.btn-link{color:#333}.btn-link,.btn-link:active,.btn-link:focus,.btn-link:hover{-webkit-box-shadow:none;box-shadow:none}.btn-rounded,.btn-rounded img,.btn-rounded.btn-labeled>b{border-radius:100px}.btn-block+.btn-block{margin-top:10px}.btn-default.active,.btn-default.active.focus,.btn-default.active:focus,.btn-default.active:hover,.btn-default.focus,.btn-default:active,.btn-default:active.focus,.btn-default:active:focus,.btn-default:active:hover,.btn-default:focus,.btn-default:hover,.open>.dropdown-toggle.btn-default,.open>.dropdown-toggle.btn-default.focus,.open>.dropdown-toggle.btn-default:focus,.open>.dropdown-toggle.btn-default:hover{background-color:#f5f5f5}.btn-default.disabled{-webkit-box-shadow:none;box-shadow:none}.btn-primary.active,.btn-primary.active.focus,.btn-primary.active:focus,.btn-primary.active:hover,.btn-primary.focus,.btn-primary:active,.btn-primary:active.focus,.btn-primary:active:focus,.btn-primary:active:hover,.btn-primary:focus,.btn-primary:hover,.open>.dropdown-toggle.btn-primary,.open>.dropdown-toggle.btn-primary.focus,.open>.dropdown-toggle.btn-primary:focus,.open>.dropdown-toggle.btn-primary:hover{background-color:#2196F3}.btn-primary.disabled{-webkit-box-shadow:none;box-shadow:none}.btn-success.active,.btn-success.active.focus,.btn-success.active:focus,.btn-success.active:hover,.btn-success.focus,.btn-success:active,.btn-success:active.focus,.btn-success:active:focus,.btn-success:active:hover,.btn-success:focus,.btn-success:hover,.open>.dropdown-toggle.btn-success,.open>.dropdown-toggle.btn-success.focus,.open>.dropdown-toggle.btn-success:focus,.open>.dropdown-toggle.btn-success:hover{background-color:#4CAF50}.btn-success.disabled{-webkit-box-shadow:none;box-shadow:none}.btn-info.active,.btn-info.active.focus,.btn-info.active:focus,.btn-info.active:hover,.btn-info.focus,.btn-info:active,.btn-info:active.focus,.btn-info:active:focus,.btn-info:active:hover,.btn-info:focus,.btn-info:hover,.open>.dropdown-toggle.btn-info,.open>.dropdown-toggle.btn-info.focus,.open>.dropdown-toggle.btn-info:focus,.open>.dropdown-toggle.btn-info:hover{background-color:#00BCD4}.btn-info.disabled{-webkit-box-shadow:none;box-shadow:none}.btn-warning.active,.btn-warning.active.focus,.btn-warning.active:focus,.btn-warning.active:hover,.btn-warning.focus,.btn-warning:active,.btn-warning:active.focus,.btn-warning:active:focus,.btn-warning:active:hover,.btn-warning:focus,.btn-warning:hover,.open>.dropdown-toggle.btn-warning,.open>.dropdown-toggle.btn-warning.focus,.open>.dropdown-toggle.btn-warning:focus,.open>.dropdown-toggle.btn-warning:hover{background-color:#FF5722}.btn-warning.disabled{-webkit-box-shadow:none;box-shadow:none}.btn-danger.active,.btn-danger.active.focus,.btn-danger.active:focus,.btn-danger.active:hover,.btn-danger.focus,.btn-danger:active,.btn-danger:active.focus,.btn-danger:active:focus,.btn-danger:active:hover,.btn-danger:focus,.btn-danger:hover,.open>.dropdown-toggle.btn-danger,.open>.dropdown-toggle.btn-danger.focus,.open>.dropdown-toggle.btn-danger:focus,.open>.dropdown-toggle.btn-danger:hover{background-color:#F44336}.btn-danger.disabled{-webkit-box-shadow:none;box-shadow:none}.btn-group-xlg>.btn,.btn-xlg{padding:11px 21px;font-size:15px;line-height:1.333334;border-radius:3px}.btn-xlg.btn-rounded{border-radius:100px}.btn-group-lg>.btn,.btn-lg{padding:10px 19px;border-radius:3px}.btn-lg.btn-rounded{border-radius:100px}.btn-group-sm>.btn,.btn-sm{padding:8px 15px}.btn-group-xs>.btn,.btn-xs{padding:7px 13px}.btn-group-sm>.btn:not(.btn-rounded),.btn-group-xs>.btn:not(.btn-rounded),.btn-sm:not(.btn-rounded),.btn-xs:not(.btn-rounded){border-radius:3px}.caret{font-style:normal;font-weight:400;border:0;margin:-1px 0 0;width:auto;height:auto;text-align:center}.caret:after{content:'\e9c5';display:block;font-size:16px;width:16px;line-height:1}.dropdown-menu{min-width:180px;padding:8px 0;color:#333;-webkit-box-shadow:0 3px 6px rgba(0,0,0,.16),0 3px 6px rgba(0,0,0,.23);box-shadow:0 3px 6px rgba(0,0,0,.16),0 3px 6px rgba(0,0,0,.23)}.dropdown-menu:not([class*=border-]){border-width:0}.dropdown-menu .divider{margin:8px 0}.dropdown-menu>li{position:relative;margin-bottom:1px}.dropdown-menu>.checkbox-switchery.switchery-sm,.dropdown-menu>.checkbox-switchery.switchery-xs,.dropdown-menu>li:last-child{margin-bottom:0}.dropdown-menu>li>a{padding:8px 16px;overflow:hidden;text-overflow:ellipsis}.dropdown-menu>.dropdown-header>i,.dropdown-menu>.dropdown-header>img,.dropdown-menu>li>a>i,.dropdown-menu>li>a>img{margin-right:16px;float:left;margin-top:2px;top:0}.dropdown-menu>.dropdown-header>i.pull-right,.dropdown-menu>.dropdown-header>img.pull-right,.dropdown-menu>li>a>i.pull-right,.dropdown-menu>li>a>img.pull-right{margin-right:0;margin-left:16px}.dropdown-menu>.dropdown-header>.badge,.dropdown-menu>.dropdown-header>.label,.dropdown-menu>li>a>.badge,.dropdown-menu>li>a>.label{float:left;margin-right:16px}.btn-toolbar .btn-group,.btn-toolbar .input-group,.nav-tabs>li{float:none}.input-group-btn:first-child>.btn,.input-group-btn:first-child>.btn-group,.nav-tabs>li>a{margin-right:0}.dropdown-menu>.dropdown-header>.badge.pull-right,.dropdown-menu>.dropdown-header>.label.pull-right,.dropdown-menu>li>a>.badge.pull-right,.dropdown-menu>li>a>.label.pull-right{margin-right:0;margin-left:16px}.dropdown-menu>.dropdown-header>img,.dropdown-menu>li>a>img{max-height:16px}.dropdown-menu>li>label:focus,.dropdown-menu>li>label:hover{text-decoration:none;color:#333;background-color:#f5f5f5}.dropdown-menu>.active>label,.dropdown-menu>.active>label:focus,.dropdown-menu>.active>label:hover{color:#fff;outline:0;background-color:#26A69A}.dropdown-menu>.disabled>label,.dropdown-menu>.disabled>label:focus,.dropdown-menu>.disabled>label:hover{background-color:transparent;color:#999}.dropdown-menu>li>label{padding:8px 16px 8px 44px;display:block;cursor:pointer}.dropdown-menu>li>label .checker,.dropdown-menu>li>label .choice,.dropdown-menu>li>label>input[type=checkbox],.dropdown-menu>li>label>input[type=radio]{left:16px;top:auto;margin-top:1px}.dropdown-menu>li.checkbox,.dropdown-menu>li.radio{margin-top:0}.dropdown-menu>li.checkbox-right>label,.dropdown-menu>li.radio-right>label{padding-left:16px;padding-right:44px}.dropdown-menu>li.checkbox-right>label .checker,.dropdown-menu>li.checkbox-right>label .choice,.dropdown-menu>li.checkbox-right>label>input[type=checkbox],.dropdown-menu>li.checkbox-right>label>input[type=radio],.dropdown-menu>li.radio-right>label .choice,.dropdown-menu>li.radio-right>label>input[type=radio]{left:auto;right:16px}.dropdown-menu>.checkbox-switchery>label>.switchery{left:16px}.dropdown-menu>.checkbox-switchery.checkbox-right[class*=switchery-]>label{padding-left:16px}.dropdown-menu>.checkbox-switchery.checkbox-right[class*=switchery-]>label>.switchery{left:auto;right:16px}.dropdown-menu>.checkbox-switchery.switchery-sm>label{padding-left:70px}.dropdown-menu>.checkbox-switchery.switchery-xs>label{padding-left:62px}.dropdown-menu>.checkbox-switchery.checkbox-right.switchery-sm>label{padding-right:70px}.dropdown-menu>.checkbox-switchery.checkbox-right.switchery-xs>label{padding-right:62px}.dropdown-menu>.disabled .badge,.dropdown-menu>.disabled .label,.dropdown-menu>.disabled img{opacity:.8;filter:alpha(opacity=80)}.dropdown-menu[class*=bg-]>li>a,.dropdown-menu[class*=bg-]>li>label{color:#fff}.dropdown-menu[class*=bg-]>li>a:focus,.dropdown-menu[class*=bg-]>li>a:hover,.dropdown-menu[class*=bg-]>li>label:focus,.dropdown-menu[class*=bg-]>li>label:hover{background-color:rgba(0,0,0,.1)}.dropdown-menu[class*=bg-]>li>a>.badge,.dropdown-menu[class*=bg-]>li>a>.label,.dropdown-menu[class*=bg-]>li>label>.badge,.dropdown-menu[class*=bg-]>li>label>.label{color:#333;background-color:#fff;border-color:#fff}.dropdown-menu[class*=bg-]>.active>a,.dropdown-menu[class*=bg-]>.active>a:focus,.dropdown-menu[class*=bg-]>.active>a:hover,.dropdown-menu[class*=bg-]>.active>label,.dropdown-menu[class*=bg-]>.active>label:focus,.dropdown-menu[class*=bg-]>.active>label:hover{background-color:rgba(0,0,0,.2)}.dropdown-menu[class*=bg-]>.disabled>a,.dropdown-menu[class*=bg-]>.disabled>a:focus,.dropdown-menu[class*=bg-]>.disabled>a:hover,.dropdown-menu[class*=bg-]>.disabled>label,.dropdown-menu[class*=bg-]>.disabled>label:focus,.dropdown-menu[class*=bg-]>.disabled>label:hover{background-color:transparent;color:rgba(255,255,255,.6)}.dropdown-menu[class*=bg-]>.dropdown-header{color:rgba(255,255,255,.6)}.dropdown-menu[class*=bg-]>.dropdown-header.highlight{background-color:rgba(0,0,0,.1)}.dropdown-menu[class*=bg-] .divider{background-color:rgba(255,255,255,.4)}.dropdown-menu-lg>li>a{padding-top:9px;padding-bottom:9px;font-size:14px;line-height:1.4285715}.dropdown-menu-sm>li>a{padding-top:7px;padding-bottom:7px;font-size:12px;line-height:1.6666667}.dropdown-menu-xs>li>a{padding-top:6px;padding-bottom:6px;font-size:12px;line-height:1.6666667}.dropdown-menu>.dropdown-submenu>a{padding-right:40px;position:relative}.dropdown-menu>.dropdown-submenu>a:after{content:'\e9c7';position:absolute;top:50%;margin-top:-8px;right:16px;font-size:16px;font-weight:400;line-height:1;opacity:.8;filter:alpha(opacity=80)}.dropdown-menu>.dropdown-submenu:focus>a,.dropdown-menu>.dropdown-submenu:hover>a{background-color:#f5f5f5}.dropdown-menu>.dropdown-submenu:focus>a:after,.dropdown-menu>.dropdown-submenu:hover>a:after{opacity:1;filter:alpha(opacity=100)}.dropdown-menu>.dropdown-submenu.active>a{background-color:#26A69A;color:#fff}.dropdown-menu>.dropdown-submenu.disabled>.dropdown-menu{display:none}.dropdown-menu>.dropdown-submenu.disabled>a{background-color:transparent}.dropdown-menu>.dropdown-submenu>.dropdown-menu{top:0;left:100%;margin-top:-8px}.dropup .dropdown-menu>.dropdown-submenu>.dropdown-menu,.dropup.dropdown-menu>.dropdown-submenu>.dropdown-menu,.navbar-fixed-bottom .dropdown .dropdown-menu>.dropdown-submenu>.dropdown-menu{top:auto;margin-top:0;margin-bottom:-8px;bottom:0}.dropdown-menu>.dropdown-submenu.dropdown-submenu-left>.dropdown-menu{left:auto;right:100%}@media (max-width:768px){.dropdown-menu>.dropdown-submenu{position:static}.dropdown-menu>.dropdown-submenu>a:after{content:'\e9c5'}.dropdown-menu>.dropdown-submenu .dropdown-menu,.dropdown-menu>.dropdown-submenu.dropdown-submenu-left .dropdown-menu{position:relative;left:0;right:0;float:none;border-width:0;border-color:rgba(0,0,0,.1);box-shadow:none;min-width:100%;margin:0}.dropdown-menu>.dropdown-submenu .dropdown-menu>li>a,.dropdown-menu>.dropdown-submenu.dropdown-submenu-left .dropdown-menu>li>a{padding-left:32px}.dropdown-menu>.dropdown-submenu .dropdown-menu>li>ul>li>a,.dropdown-menu>.dropdown-submenu.dropdown-submenu-left .dropdown-menu>li>ul>li>a{padding-left:48px}}.dropdown-menu[class*=bg-]>.dropdown-submenu:focus>a,.dropdown-menu[class*=bg-]>.dropdown-submenu:hover>a{background-color:rgba(0,0,0,.1)}.dropdown-menu[class*=bg-]>.dropdown-submenu.disabled:focus>a,.dropdown-menu[class*=bg-]>.dropdown-submenu.disabled:hover>a{background-color:transparent}.dropdown-header{padding:8px 16px;font-size:11px;line-height:1.82;color:#999;margin-top:8px}.dropdown-header.highlight{margin-top:0;background-color:#f8f8f8;color:#999}.dropdown-header.highlight+li,li+.dropdown-header.highlight{margin-top:8px}.dropdown-header.highlight:first-child{margin-top:0}.dropup .caret,.navbar-fixed-bottom .dropdown .caret{border:0}.dropup .caret:after,.navbar-fixed-bottom .dropdown .caret:after{content:'\e9c6'}.btn-group .btn+.btn,.btn-group .btn+.btn-group,.btn-group .btn-group+.btn,.btn-group .btn-group+.btn-group,.input-group-btn .btn+.btn,.input-group-btn .btn+.btn-group,.input-group-btn .btn-group+.btn,.input-group-btn .btn-group+.btn-group{margin-left:1px}.btn-toolbar{font-size: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>.btn+.dropdown-toggle{padding-left:8px;padding-right:8px}.btn-group-xlg>.btn+.dropdown-toggle,.btn-group>.btn-xlg+.dropdown-toggle{padding-left:10px;padding-right:10px}.btn-group-lg>.btn+.dropdown-toggle,.btn-group>.btn-lg+.dropdown-toggle{padding-left:9px;padding-right:9px}.btn-group-sm>.btn+.dropdown-toggle,.btn-group>.btn-sm+.dropdown-toggle{padding-left:7px;padding-right:7px}.btn-group-xs>.btn+.dropdown-toggle,.btn-group>.btn-xs+.dropdown-toggle{padding-left:6px;padding-right:6px}.btn-group.open .dropdown-toggle:not(.btn-flat):not(.btn-link),.input-group-btn.open .dropdown-toggle:not(.btn-flat):not(.btn-link){-webkit-box-shadow:0 0 0 100px rgba(0,0,0,.1) inset;box-shadow:0 0 0 100px rgba(0,0,0,.1) inset}.input-group .form-control-feedback{z-index:3}.input-group-xlg>.form-control,.input-group-xlg>.input-group-addon,.input-group-xlg>.input-group-btn>.btn{height:42px;padding:10px 0;font-size:15px;line-height:1.333334;border-radius:0}select.input-group-xlg>.form-control,select.input-group-xlg>.input-group-addon,select.input-group-xlg>.input-group-btn>.btn{height:42px;line-height:42px}select[multiple].input-group-xlg>.form-control,select[multiple].input-group-xlg>.input-group-addon,select[multiple].input-group-xlg>.input-group-btn>.btn,textarea.input-group-xlg>.form-control,textarea.input-group-xlg>.input-group-addon,textarea.input-group-xlg>.input-group-btn>.btn{height:auto}.input-group-xlg>.input-group-addon{padding-right:20px}.input-group-xlg>.input-group-btn>.btn{padding-left:20px;padding-right:20px}.input-group-lg>.form-control,.input-group-lg>.input-group-addon,.input-group-lg>.input-group-btn>.btn{padding-left:0;padding-right:0;border-radius:0}.input-group-lg>.input-group-addon{padding-right:18px}.input-group-lg>.input-group-btn>.btn{padding:10px 19px}.input-group-sm>.form-control,.input-group-sm>.input-group-addon,.input-group-sm>.input-group-btn>.btn{padding-left:0;padding-right:0;border-radius:0}.input-group-sm>.input-group-addon{padding-right:14px}.input-group-sm>.input-group-btn>.btn{padding:8px 15px}.input-group-xs>.form-control,.input-group-xs>.input-group-addon,.input-group-xs>.input-group-btn>.btn{height:34px;padding:6px 0;font-size:12px;line-height:1.6666667;border-radius:0}select.input-group-xs>.form-control,select.input-group-xs>.input-group-addon,select.input-group-xs>.input-group-btn>.btn{height:34px;line-height:34px}select[multiple].input-group-xs>.form-control,select[multiple].input-group-xs>.input-group-addon,select[multiple].input-group-xs>.input-group-btn>.btn,textarea.input-group-xs>.form-control,textarea.input-group-xs>.input-group-addon,textarea.input-group-xs>.input-group-btn>.btn{height:auto}.input-group-xs>.input-group-addon{padding-right:12px}.input-group-xs>.input-group-btn>.btn{padding:7px 13px}.input-group-transparent .form-control,.input-group-transparent .input-group-addon{padding:0;background-color:transparent;border-color:transparent}.input-group-transparent .form-control{cursor:pointer;width:auto}.input-group-transparent .form-control:focus,.input-group-transparent .form-control:hover{border-color:transparent;-webkit-box-shadow:none;box-shadow:none}.input-group-addon{padding-left:0}.input-group-addon:last-child{padding-right:0}.input-group-addon>i{display:block;top:0}.input-group-addon .checker,.input-group-addon .choice{display:block;margin-top:1px}.input-group input+.input-group-addon,.input-group-btn+.input-group-addon,.input-group>.fas-feedback+.input-group-addon{padding-left:16px}.has-error .input-group-addon,.has-success .input-group-addon,.has-warning .input-group-addon{border-color:transparent;background-color:transparent}.input-group-xlg>.form-control+.input-group-addon{padding-left:20px}.input-group-lg>.form-control+.input-group-addon{padding-left:18px}.input-group-sm>.form-control+.input-group-addon{padding-left:14px}.input-group-xs>.form-control+.input-group-addon{padding-left:12px}.input-group-btn{padding-right:16px}.input-group-btn:last-child{padding-right:0}.input-group>.form-control+.input-group-btn,.input-group>.has-feedback+.input-group-btn{padding-left:16px}.input-group-btn+.input-group-addon{padding-left:0}.input-group-xlg .input-group-btn:not(:last-child){padding-right:20px}.input-group-xlg>.form-control+.input-group-btn{padding-left:20px}.input-group-lg .input-group-btn:not(:last-child){padding-right:18px}.input-group-lg>.form-control+.input-group-btn{padding-left:18px}.input-group-sm .input-group-btn:not(:last-child){padding-right:14px}.input-group-sm>.form-control+.input-group-btn{padding-left:14px}.input-group-xs .input-group-btn:not(:last-child){padding-right:12px}.input-group-xs>.form-control+.input-group-btn{padding-left:12px}.input-group-btn>.btn,.input-group-btn>.btn-group>.btn{border-radius:0}.input-group-btn>.btn-rounded{border-radius:100px!important}.input-group-btn:first-child>.btn-group>.btn,.input-group-btn:first-child>.btn:first-child,.input-group-btn>.btn-group:first-child>.btn,.input-group-btn>.btn:first-child{border-bottom-left-radius:3px;border-top-left-radius:3px}.input-group-btn:last-child>.btn-group>.btn,.input-group-btn>.btn-group:last-child>.btn,.input-group-btn>.btn:last-child,.input-group-btn>.btn:last-of-type{border-bottom-right-radius:3px;border-top-right-radius:3px}.nav>li.disabled>a>.badge,.nav>li.disabled>a>.label,.nav>li.disabled>a>.status-mark,.nav>li.disabled>a>img{opacity:.75;filter:alpha(opacity=75)}.nav .open>a,.nav .open>a:focus,.nav .open>a:hover{background-color:transparent;border-color:transparent;color:#333}.nav.nav-lg>li>a{padding:13.5px 18px}.nav.nav-sm>li>a{padding:10.5px 14px}.nav.nav-xs>li>a{padding:9px 12px}.nav .tab-img{max-height:20px;display:inline-block;vertical-align:top}.nav-tabs{margin-bottom:20px}.nav-tabs>li>a{color:#999;border-radius:0}.nav-tabs>li>a:focus,.nav-tabs>li>a:hover{background-color:transparent;border-color:transparent;color:#333}.nav-tabs>li>a.legitRipple{margin-bottom:-1px}.nav-tabs>li>a>[class*=icon-].pull-right{float:right;margin-top:2px}.nav-tabs.nav-justified>li>a{border-radius:0;margin-bottom:0}.nav-tabs.nav-justified>li>a:focus,.nav-tabs.nav-justified>li>a:hover{border-bottom-color:#ddd}@media (min-width:769px){.nav-tabs.nav-justified.nav-tabs-top{border-bottom:1px solid #ddd}.nav-tabs.nav-justified.nav-tabs-top>li>a,.nav-tabs.nav-justified.nav-tabs-top>li>a:focus,.nav-tabs.nav-justified.nav-tabs-top>li>a:hover{border:0}.nav-tabs.nav-justified.nav-tabs-bottom{border-bottom:1px solid #ddd}.nav-tabs.nav-justified.nav-tabs-highlight>li>a,.nav-tabs.nav-justified.nav-tabs-highlight>li>a:focus,.nav-tabs.nav-justified.nav-tabs-highlight>li>a:hover,.nav-tabs.nav-tabs-highlight>li>a,.nav-tabs.nav-tabs-highlight>li>a:focus,.nav-tabs.nav-tabs-highlight>li>a:hover{border-top-width:2px}.nav-tabs.nav-tabs-highlight>li.active>a,.nav-tabs.nav-tabs-highlight>li.active>a:focus,.nav-tabs.nav-tabs-highlight>li.active>a:hover{border-top-color:#EC407A}}@media (max-width:768px){.nav-tabs.nav-justified>li.active>a,.nav-tabs.nav-justified>li.active>a:focus,.nav-tabs.nav-justified>li.active>a:hover{border-width:0 0 0 2px;border-left-color:#EC407A}}@media (min-width:769px){.nav-tabs.nav-tabs-top>li{margin-bottom:0}.nav-tabs.nav-tabs-top>li>a,.nav-tabs.nav-tabs-top>li>a:focus,.nav-tabs.nav-tabs-top>li>a:hover{border:0}.nav-tabs.nav-tabs-top>li>a:after{content:'';position:absolute;top:0;left:0;right:0;height:2px}.nav-tabs.nav-tabs-top>li.open>a:after,.nav-tabs.nav-tabs-top>li>a:focus:after,.nav-tabs.nav-tabs-top>li>a:hover:after{background-color:#ddd}.nav-tabs.nav-tabs-top>li.active>a:after{background-color:#F06292}.nav-tabs.nav-tabs-top>li.active>a,.nav-tabs.nav-tabs-top>li.active>a:focus,.nav-tabs.nav-tabs-top>li.active>a:hover{background-color:transparent}.nav-tabs.nav-tabs-top.top-divided{border-bottom-color:transparent}.nav-tabs.nav-tabs-bottom>li{margin-bottom:0}.nav-tabs.nav-tabs-bottom>li>a{border-width:0;margin-bottom:-1px}.nav-tabs.nav-tabs-bottom>li>a:after{content:'';position:absolute;bottom:0;left:0;right:0;height:2px}.nav-tabs.nav-tabs-bottom>li.active>a:after{background-color:#F06292}.nav-tabs.nav-tabs-bottom>li.active>a,.nav-tabs.nav-tabs-bottom>li.active>a:focus,.nav-tabs.nav-tabs-bottom>li.active>a:hover{background-color:transparent;border-width:0}.nav-tabs.nav-tabs-bottom.bottom-divided{border-bottom-color:transparent}.nav-tabs[class*=bg-]{-webkit-box-shadow:0 1px 3px rgba(0,0,0,.12),0 1px 2px rgba(0,0,0,.24);box-shadow:0 1px 3px rgba(0,0,0,.12),0 1px 2px rgba(0,0,0,.24)}.tab-content-bordered .nav-tabs[class*=bg-]{border-bottom-right-radius:0;border-bottom-left-radius:0}}.nav-tabs[class*=bg-]{border-bottom:0}.nav-tabs[class*=bg-]>li{margin-bottom:0}.nav-tabs[class*=bg-]>li>a{color:#fff;border-width:0}.nav-tabs[class*=bg-]>li>a:focus,.nav-tabs[class*=bg-]>li>a:hover{background-color:rgba(0,0,0,.05)}.nav-tabs[class*=bg-]>li.open:not(.active)>a{color:#fff;background-color:rgba(0,0,0,.05)}.nav-tabs[class*=bg-]>.active>a,.nav-tabs[class*=bg-]>.active>a:focus,.nav-tabs[class*=bg-]>.active>a:hover{background-color:rgba(0,0,0,.1);border-width:0;color:#fff}.nav-tabs[class*=bg-]>.disabled>a,.nav-tabs[class*=bg-]>.disabled>a:focus,.nav-tabs[class*=bg-]>.disabled>a:hover{color:rgba(255,255,255,.5)}.nav-tabs.nav-tabs-icon>li>a>i{margin-right:8px}@media (min-width:769px){.nav-tabs.nav-tabs-solid{background-color:#d5d3d3;border:0;-webkit-box-shadow:0 1px 3px rgba(0,0,0,.12),0 1px 2px rgba(0,0,0,.24);box-shadow:0 1px 3px rgba(0,0,0,.12),0 1px 2px rgba(0,0,0,.24)}.panel .nav-tabs.nav-tabs-solid{background-color:#f8f8f8}.nav-tabs.nav-tabs-solid>li{margin-bottom:0}.nav-tabs.nav-tabs-solid>li>a{border-width:0}.nav-tabs.nav-tabs-solid>li>a:after{content:'';position:absolute;bottom:0;left:0;right:0;height:2px}.nav-tabs.nav-tabs-solid>li>a:focus,.nav-tabs.nav-tabs-solid>li>a:hover{background-color:transparent}.nav-tabs.nav-tabs-solid>.active>a,.nav-tabs.nav-tabs-solid>.active>a:focus,.nav-tabs.nav-tabs-solid>.active>a:hover{background-color:transparent;border-width:0}.nav-tabs.nav-tabs-solid>.active>a:after,.nav-tabs.nav-tabs-solid>.active>a:focus:after,.nav-tabs.nav-tabs-solid>.active>a:hover:after{background-color:#F06292}.nav-tabs.nav-tabs-solid>.open:not(.active)>a{background-color:transparent}.nav-tabs.nav-tabs-solid.nav-tabs-component>li:first-child>a:after{border-radius:0 0 0 3px}.nav-tabs.nav-tabs-solid.nav-tabs-component.nav-justified>li:last-child>a:after{border-radius:0 0 3px}.nav-tabs.nav-tabs-icon>li>a{padding-bottom:8px}.nav-tabs.nav-tabs-icon>li>a>i{display:block;margin:0 0 8px}.nav-tabs.nav-tabs-icon.nav-lg>li>a{padding-bottom:9px}.nav-tabs.nav-tabs-icon.nav-lg>li>a>i{margin-bottom:9px}.nav-tabs.nav-tabs-icon.nav-sm>li>a{padding-bottom:6px}.nav-tabs.nav-tabs-icon.nav-sm>li>a>i{margin-bottom:7px}.nav-tabs.nav-tabs-icon.nav-xs>li>a{padding-bottom:4px}.nav-tabs.nav-tabs-icon.nav-xs>li>a>i{margin-bottom:6px}.nav-tabs{font-size:0}.nav-tabs>li{display:inline-block;font-size:13px}}@media (max-width:768px){.nav-tabs{border-bottom:0;position:relative;background-color:#fff;padding:8px 0;border-radius:3px;-webkit-box-shadow:0 1px 3px rgba(0,0,0,.12),0 1px 2px rgba(0,0,0,.24);box-shadow:0 1px 3px rgba(0,0,0,.12),0 1px 2px rgba(0,0,0,.24)}.nav-tabs>li{margin-bottom:0}.nav-tabs>li>a{border-width:0 0 0 2px;border-left-color:transparent}.nav-tabs>li>a:focus,.nav-tabs>li>a:hover{background-color:#fafafa}.nav-tabs>li>a .position-right[class*=icon-]{float:right;margin-top:2px}.nav-tabs>li>a .position-right.badge,.nav-tabs>li>a .position-right.label{float:right}.nav-tabs>li.active>a,.nav-tabs>li.active>a:focus,.nav-tabs>li.active>a:hover{border-width:0 0 0 2px;border-left-color:#EC407A;background-color:#f5f5f5}.nav-tabs>li.open:not(.active)>a,.nav-tabs>li.open:not(.active)>a:focus,.nav-tabs>li.open:not(.active)>a:hover{background-color:#fafafa}.nav-tabs>li.pull-right{float:none!important}.nav-tabs:before{content:'Contents';color:inherit;margin-top:7px;margin-left:16px;margin-bottom:15px;opacity:.5;filter:alpha(opacity=50)}.nav-tabs[class*=bg-]>li>a{border-left-width:0!important}.nav-tabs[class*=bg-]>li.open:not(.active)>a,.nav-tabs[class*=bg-]>li>a:focus,.nav-tabs[class*=bg-]>li>a:hover{background-color:rgba(0,0,0,.05)}.nav-tabs-right .nav-tabs{margin-bottom:0;margin-top:20px}}@media (min-width:769px){.nav-tabs-vertical>.nav-tabs-solid>li:last-child>a:after,.nav-tabs-vertical>.nav-tabs[class*=bg-]>li:last-child>a{border-bottom-right-radius:3px;border-bottom-left-radius:3px}.nav-tabs-vertical{display:table;width:100%}.nav-tabs-vertical>.nav-tabs{display:table-cell;border-bottom:0;width:300px}.nav-tabs-vertical>.nav-tabs>li{display:block;margin-bottom:0}.nav-tabs-vertical>.nav-tabs[class*=bg-]>li:first-child>a{border-top-right-radius:3px;border-top-left-radius:3px}.nav-tabs-vertical>.tab-content{display:table-cell}.nav-tabs-vertical>.tab-content>.has-padding{padding:12px 0 0}.nav-tabs-left>.tab-content,.nav-tabs-right>.nav-tabs-bottom,.nav-tabs-right>.nav-tabs-top{padding-left:20px}.nav-tabs-vertical.tab-content-bordered>.tab-content{border-top-width:1px}.nav-tabs-left>.nav-tabs{border-right:1px solid #ddd}.nav-tabs-left>.nav-tabs>li{margin-right:-1px}.nav-tabs-left>.nav-tabs>li.active>a,.nav-tabs-left>.nav-tabs>li.active>a:focus,.nav-tabs-left>.nav-tabs>li.active>a:hover{border-bottom-color:#ddd;border-right-color:transparent}.nav-tabs-left>.nav-tabs.nav-tabs-component>li>a{border-radius:3px 0 0 3px}.nav-tabs-left>.nav-tabs-highlight>li>a,.nav-tabs-left>.nav-tabs-highlight>li>a:focus,.nav-tabs-left>.nav-tabs-highlight>li>a:hover{border-top-width:1px;border-left-width:2px}.nav-tabs-left>.nav-tabs-highlight>li.active>a,.nav-tabs-left>.nav-tabs-highlight>li.active>a:focus,.nav-tabs-left>.nav-tabs-highlight>li.active>a:hover{border-top-color:#ddd;border-left-color:#EC407A}.nav-tabs-left>.nav-tabs-bottom,.nav-tabs-left>.nav-tabs-top{padding-right:20px}.nav-tabs-left>.bottom-divided,.nav-tabs-left>.top-divided{padding-right:0;border-right-width:0}.nav-tabs-left>.nav-tabs-solid,.nav-tabs-left>.nav-tabs[class*=bg-]{border-right:0;border-radius:3px}.nav-tabs-left>.nav-tabs-solid>li,.nav-tabs-left>.nav-tabs[class*=bg-]>li{margin-right:0}.nav-tabs-left.tab-content-bordered>.tab-content{border-left-width:0}.nav-tabs-right>.nav-tabs{border-left:1px solid #ddd}.nav-tabs-right>.nav-tabs>li{margin-left:-1px}.nav-tabs-right>.nav-tabs>li.active>a,.nav-tabs-right>.nav-tabs>li.active>a:focus,.nav-tabs-right>.nav-tabs>li.active>a:hover{border-bottom-color:#ddd;border-left-color:transparent}.nav-tabs-right>.nav-tabs.nav-tabs-component>li>a{border-radius:0 3px 3px 0}.nav-tabs-right>.nav-tabs-highlight>li>a,.nav-tabs-right>.nav-tabs-highlight>li>a:focus,.nav-tabs-right>.nav-tabs-highlight>li>a:hover{border-top-width:1px;border-right-width:2px}.nav-tabs-right>.nav-tabs-highlight>li.active>a,.nav-tabs-right>.nav-tabs-highlight>li.active>a:focus,.nav-tabs-right>.nav-tabs-highlight>li.active>a:hover{border-top-color:#ddd;border-right-color:#EC407A}.nav-tabs-right>.bottom-divided,.nav-tabs-right>.top-divided{padding-left:0;border-left-width:0}.nav-tabs-right>.nav-tabs-solid,.nav-tabs-right>.nav-tabs[class*=bg-]{border-left:0;border-radius:3px}.nav-tabs-right>.nav-tabs-solid>li,.nav-tabs-right>.nav-tabs[class*=bg-]>li{margin-left:0}.nav-tabs-right>.tab-content{padding-right:20px}.nav-tabs-right.tab-content-bordered>.tab-content{border-right-width:0}}.panel-tab-content>.has-padding,.tab-content-bordered .tab-content>.has-padding{padding:20px}.nav-pills{margin-bottom:20px}.nav-justified>li>a,.navbar{margin-bottom:0}.nav-pills>li{float:none}.nav-pills>li>a{color:#333}.nav-pills>li+li{margin-left:0}.nav-pills>li+li>a{margin-top:2px}.nav-pills .open>a,.nav-pills .open>a:focus,.nav-pills .open>a:hover{background-color:#f5f5f5}.nav-pills.nav-pills-bordered>.open>a,.nav-pills.nav-pills-bordered>li>a,.nav-pills.nav-pills-toolbar>.open>a,.nav-pills.nav-pills-toolbar>li>a{border:1px solid #ddd}.nav-pills.nav-pills-bordered>.active>a,.nav-pills.nav-pills-bordered>.active>a:focus,.nav-pills.nav-pills-bordered>.active>a:hover,.nav-pills.nav-pills-toolbar>.active>a,.nav-pills.nav-pills-toolbar>.active>a:focus,.nav-pills.nav-pills-toolbar>.active>a:hover{border-color:#26A69A}@media (min-width:769px){.nav-pills.nav-pills-toolbar>li>a{border:1px solid #ddd;border-radius:0}.nav-pills.nav-pills-toolbar>li:first-child>a{border-radius:3px 0 0 3px}.nav-pills.nav-pills-toolbar>li:last-child>a{border-radius:0 3px 3px 0}.nav-pills.nav-pills-toolbar>li+li>a{margin-top:0;margin-left:0;border-left:0}.nav-pills{font-size:0}.nav-pills>li{display:inline-block;font-size:13px}.nav-pills>li+li>a{margin-top:0;margin-left:6px}.nav-pills.nav-justified>li{display:table-cell}}.dd-wrapper .link-back,.dropdown-content-heading,.navbar-nav-material>li>a{font-size:12px;text-transform:uppercase}.nav-stacked>li{display:block}.nav-stacked>li>a .pull-right[class*=icon-]{float:right;margin-top:2px}.nav-stacked>li>a .pull-right.badge,.nav-stacked>li>a .pull-right.label{float:right}.nav-stacked>li+li>a{margin-left:0}.nav-tabs-justified>li>a{border-radius:0;margin-bottom:0}.nav-tabs-justified>li>a:focus,.nav-tabs-justified>li>a:hover{border-bottom-color:#ddd}@media (min-width:769px){.nav-tabs-justified.nav-tabs-top{border-bottom:1px solid #ddd}.nav-tabs-justified.nav-tabs-top>li>a,.nav-tabs-justified.nav-tabs-top>li>a:focus,.nav-tabs-justified.nav-tabs-top>li>a:hover{border:0}.nav-tabs-justified.nav-tabs-bottom{border-bottom:1px solid #ddd}.nav-tabs-justified.nav-tabs-highlight>li>a,.nav-tabs-justified.nav-tabs-highlight>li>a:focus,.nav-tabs-justified.nav-tabs-highlight>li>a:hover{border-top-width:2px}.nav-tabs.nav-tabs-component>li>a{border-radius:3px 3px 0 0}.nav-tabs.nav-tabs-component.nav-tabs-solid,.nav-tabs.nav-tabs-component[class*=bg-]{border-radius:3px}.nav-tabs.nav-tabs-component.nav-tabs-solid>li>a,.nav-tabs.nav-tabs-component[class*=bg-]>li>a{border-radius:0}.nav-tabs.nav-tabs-component.nav-tabs-solid>li:first-child>a,.nav-tabs.nav-tabs-component[class*=bg-]>li:first-child>a{border-radius:3px 0 0 3px}.nav-tabs-component.nav-justified.nav-tabs-solid>li:last-child>a,.nav-tabs-component.nav-justified[class*=bg-]>li:last-child>a{border-radius:0 3px 3px 0}}@media (max-width:768px){.nav-pills>li>a .position-right[class*=icon-]{float:right;margin-top:2px}.nav-pills>li>a .position-right.badge,.nav-pills>li>a .position-right.label{float:right}.nav-tabs-justified>li.active>a,.nav-tabs-justified>li.active>a:focus,.nav-tabs-justified>li.active>a:hover{border-width:0 0 0 2px;border-left-color:#EC407A}}.tab-content-bordered .tab-content{border-radius:3px;border:1px solid transparent}.tab-content-bordered .tab-content:not([class*=bg-]){border-color:#ddd;background-color:#fff}@media (min-width:769px){.tab-content>.has-padding{padding:20px}.tab-content-bordered .tab-content{border-top-width:0;border-radius:0 0 3px 3px}.tab-content-bordered .nav-tabs{margin-bottom:0}.tab-content-bordered .nav-tabs.nav-tabs-solid{border-radius:3px 3px 0 0;-webkit-box-shadow:0 0 0 1px #ddd inset;box-shadow:0 0 0 1px #ddd inset}.tab-content-bordered .nav-tabs.nav-tabs-solid>li:first-child>a{border-radius:3px 0 0}.tab-content-bordered .nav-tabs.nav-tabs-solid.nav-justified>li:last-child>a{border-radius:0 3px 0 0}.tab-content-bordered>.nav-tabs[class*=bg-]{border-top-right-radius:3px;border-top-left-radius:3px}.tab-content-bordered>.nav-tabs[class*=bg-]+.tab-content[class*=bg-]{border-top-width:1px;border-top-color:rgba(255,255,255,.5)}.nav-tabs-top .dropdown-menu,.nav-tabs[class*=bg-] .dropdown-menu{margin-top:0}.nav-justified.bottom-divided .dropdown-menu{margin-top:1px}}.navbar{border-width:0;padding-left:0;padding-right:0;box-shadow:0 1px 3px rgba(0,0,0,.12),0 1px 2px rgba(0,0,0,.24)}.navbar-component{border-radius:3px;margin-bottom:20px;-webkit-box-shadow:0 1px 3px rgba(0,0,0,.12),0 1px 2px rgba(0,0,0,.24);box-shadow:0 1px 3px rgba(0,0,0,.12),0 1px 2px rgba(0,0,0,.24)}@media (min-width:769px){.navbar,.navbar-component>.navbar,.navbar.navbar-component{padding-left:20px;padding-right:20px}}.navbar-component>.navbar{-webkit-box-shadow:none;box-shadow:none}.page-header .navbar-component{margin-left:20px;margin-right:20px}.panel .navbar-component.navbar-default{border-width:1px;-webkit-box-shadow:none;box-shadow:none}.navbar+.navbar-collapse,.navbar-form{border-top:0}.panel .navbar-component.navbar-inverse{-webkit-box-shadow:none;box-shadow:none}.navbar-component>.navbar-collapse:first-child>.navbar:first-child,.navbar-component>.navbar:first-child{border-top-right-radius:3px;border-top-left-radius:3px}.navbar-component>.navbar-collapse:last-child>.navbar:last-child,.navbar-component>.navbar:last-child{border-bottom-right-radius:3px;border-bottom-left-radius:3px}.affix.navbar,.affix.navbar-collapse{z-index:1030;top:0;width:100%}.navbar-header{min-width:260px}.navbar-collapse>.navbar-header{margin-left:0}.navbar-header .navbar-nav{float:right;margin-right:5px}.navbar-header .navbar-nav>li{float:left}.navbar-header .navbar-nav>li>a{padding-left:15px;padding-right:15px}@media (max-width:768px){.nav-pills .dropdown-menu,.nav-pills.nav-justified>.dropdown .dropdown-menu,.nav-tabs .dropdown-menu,.nav-tabs.nav-justified>.dropdown .dropdown-menu{left:-1px;right:-1px;margin-top:2px}.nav-pills.nav-justified>li>a,.nav-pills.text-center>li>a,.nav-pills.text-right>li>a,.nav-tabs.nav-justified>li>a,.nav-tabs.text-center>li>a,.nav-tabs.text-right>li>a{text-align:left}.affix.navbar,.affix.navbar-collapse{position:static}.navbar-header .navbar-nav>li+li{margin-top:0}.navbar-collapse>.navbar-header{margin-left:0}}.navbar-collapse{text-align:center;padding-left:0;padding-right:0}.navbar-collapse.collapsing{-webkit-transition-duration:.00001ms;transition-duration:.00001ms}.header-highlight .navbar-header:not([class*=bg-]){background-color:#263238}.header-highlight .navbar-header>.navbar-nav>li>a{color:rgba(255,255,255,.9)}.header-highlight .navbar-header>.navbar-nav>li>a:focus,.header-highlight .navbar-header>.navbar-nav>li>a:hover{color:#fff;background-color:transparent}@media (min-width:769px){.navbar-header{margin-left:-20px}.navbar-collapse{text-align:left;margin-left:-20px}.sidebar-xs .header-highlight .navbar-header{min-width:0;width:56px;padding-left:0}.sidebar-xs .header-highlight .navbar-header .navbar-brand{padding-left:0;padding-right:0;background:url(../images/logo_icon_light.png) center center no-repeat;background-size:auto 16px;float:none;display:block}.sidebar-all-hidden .header-highlight .navbar-header,.sidebar-main-hidden .header-highlight .navbar-header,.sidebar-xs .header-highlight .navbar-header .navbar-brand>img{display:none}.sidebar-fixed-expanded .header-highlight .navbar-collapse{margin-left:36px}.sidebar-fixed-expanded .header-highlight .navbar-header{position:fixed;z-index:99}.navbar-top-lg{padding-top:54px}.navbar-top-lg .sidebar-fixed.affix{top:74px}.navbar-top{padding-top:50px}.navbar-top .sidebar-fixed.affix{top:70px}.navbar-top-sm{padding-top:48px}.navbar-top-sm .sidebar-fixed.affix{top:68px}.navbar-top-xs{padding-top:46px}.navbar-top-xs .sidebar-fixed.affix{top:66px}.navbar-top-lg-lg{padding-top:108px}.navbar-top-lg-md,.navbar-top-md-lg{padding-top:104px}.navbar-top-lg-sm,.navbar-top-md-md,.navbar-top-sm-lg{padding-top:100px}.navbar-top-lg-xs,.navbar-top-md-sm,.navbar-top-sm-md,.navbar-top-xs-lg{padding-top:98px}.navbar-top-md-xs,.navbar-top-sm-sm,.navbar-top-xs-md{padding-top:96px}.navbar-top-sm-xs,.navbar-top-xs-sm{padding-top:94px}.navbar-top-xs-xs{padding-top:92px}}.navbar-fixed-bottom,.navbar-fixed-bottom>.navbar{-webkit-box-shadow:0 -1px 2px rgba(0,0,0,.24);box-shadow:0 -1px 2px rgba(0,0,0,.24)}@media (max-width:768px){.navbar-fixed-top{position:static}}.navbar-bottom-lg{padding-bottom:54px}.navbar-bottom{padding-bottom:50px}.navbar-bottom-sm{padding-bottom:48px}.navbar-bottom-xs{padding-bottom:46px}.navbar-bottom-lg-lg{padding-bottom:108px}.navbar-bottom-lg-md,.navbar-bottom-md-lg{padding-bottom:104px}.navbar-bottom-lg-sm,.navbar-bottom-md-md,.navbar-bottom-sm-lg{padding-bottom:100px}.navbar-bottom-lg-xs,.navbar-bottom-md-sm,.navbar-bottom-sm-md,.navbar-bottom-xs-lg{padding-bottom:98px}.navbar-bottom-md-xs,.navbar-bottom-sm-sm,.navbar-bottom-xs-md{padding-bottom:96px}.navbar-bottom-sm-xs,.navbar-bottom-xs-sm{padding-bottom:94px}.navbar-bottom-xs-xs{padding-bottom:92px}.navbar-brand>img{margin-top:2px;height:16px}.navbar-nav{margin:0;text-align:left}.navbar-nav>li>a{padding-top:15px;padding-bottom:15px}.navbar-nav>li>a:after{content:'';position:absolute;top:0;bottom:0;left:0;background-color:transparent;width:2px}@media (min-width:769px){.navbar-nav>li>a:after{top:auto;right:0;width:auto;height:2px}}.navbar-nav>li>a>.badge,.navbar-nav>li>a>.label{position:absolute;top:0;right:0}.navbar-nav>li>a>.status-mark{position:absolute;top:8px;right:8px}.navbar-nav>li>a>.status-mark-left{right:auto;left:8px}.navbar-nav>li>a>.badge-left,.navbar-nav>li>a>.label-left{right:auto;left:0}.navbar-nav>li>a>.badge-inline,.navbar-nav>li>a>.label-inline,.navbar-nav>li>a>.status-mark-inline{position:static}.navbar-nav .language-switch>a>img{position:relative;top:-1px}.navbar-nav .language-switch .dropdown-menu>li>a>img{margin-top:4.5px}.navbar-nav>.dropdown-user>a,.navbar-nav>.dropdown-user>a>span{padding-top:7.5px;padding-bottom:7.5px}.navbar-nav>.dropdown-user>a>span{display:inline-block}.navbar-nav>.dropdown-user>a>img+span{padding-left:8px}.navbar-nav>.dropdown-user img{max-height:34px;margin-top:-3.5px;border-radius:50%}.navbar-lg .navbar-nav>.dropdown-user img{max-height:38px;margin-top:-4.5px}.navbar-sm .navbar-nav>.dropdown-user img{max-height:32px;margin-top:-3px}.navbar-xs .navbar-nav>.dropdown-user img{max-height:30px;margin-top:-2.5px}@media (max-width:768px){.navbar-collapse .navbar-nav{padding-top:8px;padding-bottom:8px}.navbar-nav .open .dropdown-menu .dropdown-header,.navbar-nav .open .dropdown-menu>li>a{padding:9px 20px}.navbar-nav .open .dropdown-menu>.dropdown-submenu>ul>li>a{padding-left:40px}.navbar-nav .open .dropdown-menu>.dropdown-submenu>ul>li>ul>li>a{padding-left:60px}.navbar-nav>li+li{margin-top:1px}.navbar-nav>li>a{padding-left:20px;padding-right:20px}.navbar-nav>li>a .caret{float:right;margin-top:2px;margin-left:5px}.navbar-nav>li>a .badge,.navbar-nav>li>a .label{position:static;float:right}.navbar-nav>li>a .status-mark{position:static;float:right;margin-top:6px}.navbar-nav>.dropdown-user .caret{margin-top:8px}.navbar-nav:last-child{border-bottom:0}.navbar-form .form-group{margin-bottom:10px}}@media (min-width:769px){.navbar-nav{margin-left:20px}}.navbar-form{padding:15px 20px;margin-left:0;margin-right:0;-webkit-box-shadow:none;box-shadow:none}.navbar-form:last-child{border-bottom:0}.navbar-form .btn-sm,.navbar-form .input-group-sm,.navbar-form .input-sm,.navbar-form .select-sm,.navbar-form .uploader-sm{margin-top:1px;margin-bottom:1px}.navbar-form .input-sm+.form-control-feedback{top:1px}.navbar-form .btn-xs,.navbar-form .input-group-xs,.navbar-form .input-xs,.navbar-form .select-xs,.navbar-form .uploader-xs{margin-top:2px;margin-bottom:2px}.navbar-form .input-xs+.form-control-feedback{top:2px}.navbar-lg .navbar-form{margin-top:8px;margin-bottom:8px}.navbar-sm .navbar-form{margin-top:5px;margin-bottom:5px}.navbar-xs .navbar-form{margin-top:4px;margin-bottom:4px}.navbar-form .checkbox-switchery[class*=switchery-]{margin-bottom:0}.navbar-form .checkbox-inline.switchery-double{padding-left:0}@media (min-width:769px){.navbar-form{padding:0}.navbar-form .form-control{min-width:200px}.navbar-form .form-group{margin-left:20px}.navbar-form .checkbox-inline,.navbar-form .radio-inline{margin-top:9px;margin-bottom:9px}}@media (max-width:768px){.navbar-form{margin:0}}.navbar-nav>li>.dropdown-menu{border-top-width:0}.navbar-nav>li>.dropdown-menu .media-list{max-height:340px;overflow-y:auto}.navbar-fixed-bottom .navbar-nav>li>.dropdown-menu{border-top-width:1px;border-bottom-width:0;border-top-right-radius:3px;border-top-left-radius:3px}.navbar-btn{margin-left:20px}.navbar-btn+.navbar-btn{margin-left:0}.navbar-btn,.navbar-sm .navbar-btn.btn-sm,.navbar-xs .navbar-btn.btn-xs{margin-top:6px;margin-bottom:6px}.navbar-lg .navbar-btn{margin-top:8px;margin-bottom:8px}.navbar-sm .navbar-btn,.navbar-xs .navbar-btn.btn-sm{margin-top:5px;margin-bottom:5px}.navbar-xs .navbar-btn{margin-top:4px;margin-bottom:4px}.navbar-btn.btn-sm,.navbar-sm .navbar-btn.btn-xs{margin-top:7px;margin-bottom:7px}.navbar-btn.btn-xs,.navbar-lg .navbar-btn.btn-sm{margin-top:8px;margin-bottom:8px}.navbar-lg .navbar-btn.btn-xs{margin-top:10px;margin-bottom:10px}@media (max-width:768px){.navbar-btn,.navbar-btn.btn-sm,.navbar-btn.btn-xs{margin:15px 20px}.navbar-btn+.navbar-btn{margin-left:0}}.navbar-text{margin:0;padding:15px 20px}.navbar-text:last-child{border-bottom:0}.navbar-lg .navbar-text{padding-top:17px;padding-bottom:17px}.navbar-sm .navbar-text{padding-top:14px;padding-bottom:14px}.navbar-xs .navbar-text{padding-top:13px;padding-bottom:13px}.navbar-lg .navbar-brand,.navbar-lg .navbar-nav>li>a{padding-top:17px;padding-bottom:17px}.navbar-default .navbar-nav>.active>a:after{background-color:#7986CB}.navbar-default .navbar-nav>li>.dropdown-menu{border-top-width:1px;border-top-color:#ddd}@media (max-width:768px){.navbar-default .navbar-nav .open .dropdown-menu{color:#333;background-color:transparent;border-bottom:1px solid #ddd}.navbar-default .navbar-nav .open>.dropdown-menu{border-top:1px solid #ddd}.navbar-default .navbar-nav .open:last-child .dropdown-menu{border-bottom:0}}.navbar-default .navbar-link{color:#1E88E5}.navbar-default .navbar-link:hover{color:#166dba}@media (max-width:768px){.navbar-default .navbar-collapse .navbar-nav{border-bottom:1px solid #ddd}.navbar-default .dropdown-menu[class*=bg-] .badge,.navbar-default .dropdown-menu[class*=bg-] .label{color:#fff;background-color:#2196F3;border-color:transparent}.navbar-default .dropdown-menu[class*=bg-]>.divider{background-color:#e5e5e5}.navbar-default .dropdown-menu[class*=bg-] .dropdown-submenu:focus>a,.navbar-default .dropdown-menu[class*=bg-] .dropdown-submenu:hover>a{background-color:#f5f5f5}.navbar-default .dropdown-menu .table-responsive{border-width:0}.navbar-default .dropdown-menu .dropdown-content-heading+.table-responsive{border-top-width:1px}.navbar-default .navbar-text:not([data-toggle=collapse]){border-bottom:1px solid #ddd}.navbar-default>.navbar-nav>li>a:focus,.navbar-default>.navbar-nav>li>a:hover,.navbar-default>.navbar-nav>li>a:not(.collapsed){background-color:#fcfcfc}}.navbar-inverse{color:rgba(255,255,255,.9)}.navbar-inverse .navbar-form .form-control,.navbar-inverse .navbar-form .form-control-feedback,.navbar-inverse .navbar-form .input-group-addon{color:#fff}.navbar-inverse .navbar-form .form-control{border-bottom-color:rgba(255,255,255,.3)}.navbar-inverse .navbar-form .form-control::-moz-placeholder{color:#fff;opacity:1}.navbar-inverse .navbar-form .form-control:-ms-input-placeholder{color:#fff}.navbar-inverse .navbar-form .form-control::-webkit-input-placeholder{color:#fff}.navbar-inverse .navbar-form .form-control:focus{border-bottom-color:#fff;-webkit-box-shadow:0 1px 0 #fff;box-shadow:0 1px 0 #fff}.navbar-inverse .navbar-nav>li>a{color:rgba(255,255,255,.9)}.navbar-inverse .navbar-nav>.active>a:after{background-color:#fff}@media (max-width:768px){.navbar-inverse .navbar-nav .open .dropdown-menu{color:rgba(255,255,255,.9);background-color:rgba(0,0,0,.1);border-bottom:1px solid rgba(255,255,255,.1)}.navbar-inverse .navbar-nav .open .dropdown-menu .media-annotation,.navbar-inverse .navbar-nav .open .dropdown-menu .text-muted{color:rgba(255,255,255,.8)}.navbar-inverse .navbar-nav .open .dropdown-menu .media-list-linked>li{border-top-color:rgba(255,255,255,.1)}.navbar-inverse .navbar-nav .open .dropdown-menu .media-list-linked .media-link{color:rgba(255,255,255,.9)}.navbar-inverse .navbar-nav .open .dropdown-menu .media-list-linked .media-link:focus,.navbar-inverse .navbar-nav .open .dropdown-menu .media-list-linked .media-link:hover{background-color:rgba(0,0,0,.1);color:rgba(255,255,255,.9)}.navbar-inverse .navbar-nav .open .dropdown-menu .checker span{border-color:#fff;color:#fff}.navbar-inverse .navbar-nav .open .dropdown-menu .checker span.checked{border-color:transparent}.navbar-inverse .navbar-nav .open .dropdown-menu .choice span{border-color:#fff}.navbar-inverse .navbar-nav .open .dropdown-menu .form-control,.navbar-inverse .navbar-nav .open .dropdown-menu .form-control-feedback,.navbar-inverse .navbar-nav .open .dropdown-menu .input-group-addon,.navbar-inverse .navbar-nav .open .dropdown-menu .select2-selection__placeholder{color:#fff}.navbar-inverse .navbar-nav .open .dropdown-menu .form-control{border-bottom-color:rgba(255,255,255,.3)}.navbar-inverse .navbar-nav .open .dropdown-menu .form-control::-moz-placeholder{color:#fff;opacity:1}.navbar-inverse .navbar-nav .open .dropdown-menu .form-control:-ms-input-placeholder{color:#fff}.navbar-inverse .navbar-nav .open .dropdown-menu .form-control::-webkit-input-placeholder{color:#fff}.navbar-inverse .navbar-nav .open .dropdown-menu .form-control:focus{border-bottom-color:#fff;-webkit-box-shadow:0 1px 0 #fff;box-shadow:0 1px 0 #fff}.navbar-inverse .navbar-nav .open .dropdown-menu .select2-selection--single:not([class*=bg-]):not([class*=border-]){border-bottom-color:rgba(255,255,255,.3)}.navbar-inverse .navbar-nav .open .dropdown-menu .select2-container--focus .select2-selection--single:not([class*=bg-]):not([class*=border-]),.navbar-inverse .navbar-nav .open .dropdown-menu .select2-container--open .select2-selection--single:not([class*=bg-]):not([class*=border-]){border-bottom-color:#fff;-webkit-box-shadow:0 1px 0 #fff;box-shadow:0 1px 0 #fff}.navbar-inverse .navbar-nav .open .dropdown-menu a:not(.label-flat):not(.badge-flat):not(.disabled>a){color:rgba(255,255,255,.9)}.navbar-inverse .navbar-nav .open .dropdown-menu .divider{background-color:rgba(255,255,255,.1)}.navbar-inverse .navbar-nav .open .dropdown-menu>.dropdown-header{color:rgba(255,255,255,.6)}.navbar-inverse .navbar-nav .open .dropdown-menu>.dropdown-submenu:focus>a,.navbar-inverse .navbar-nav .open .dropdown-menu>.dropdown-submenu:hover>a{color:#fff;background-color:transparent}.navbar-inverse .navbar-nav .open>.dropdown-menu{border-top:1px solid rgba(255,255,255,.1)}.navbar-inverse .navbar-nav .open:last-child .dropdown-menu{border-bottom:0}.navbar-inverse .navbar-nav .badge,.navbar-inverse .navbar-nav .badge:focus,.navbar-inverse .navbar-nav .badge:hover,.navbar-inverse .navbar-nav .label,.navbar-inverse .navbar-nav .label:focus,.navbar-inverse .navbar-nav .label:hover{background-color:#fff;border-color:#fff;color:#333}.navbar-inverse .navbar-nav .nav-tabs{background-color:transparent;border:0}.navbar-inverse .navbar-nav .nav-tabs>li>a{background-color:transparent}.navbar-inverse .navbar-collapse{background-color:rgba(0,0,0,.05)}.navbar-inverse .navbar-collapse,.navbar-inverse .navbar-collapse .navbar-nav,.navbar-inverse .navbar-text{border-bottom:1px solid rgba(255,255,255,.1)}.navbar-inverse>.navbar-nav>li>a:not(.collapsed){background-color:rgba(0,0,0,.1)}.navbar-inverse .dropdown-menu .media-body a,.navbar-inverse .dropdown-menu .table a{color:#fff}.navbar-inverse .dropdown-menu .table-responsive{border-width:0 0 1px;border-color:rgba(255,255,255,.1)}.navbar-inverse .dropdown-menu .dropdown-content-heading+.table-responsive{border-top-width:1px}.navbar-inverse .dropdown-menu .table td,.navbar-inverse .dropdown-menu .table th{border-color:rgba(255,255,255,.1)}.navbar-inverse .badge-flat,.navbar-inverse .label-flat{border-color:#fff;color:#fff}.navbar-inverse .btn-flat,.navbar-inverse .btn-flat:focus,.navbar-inverse .btn-flat:hover{border-color:#fff;color:#fff!important}}.navbar-nav-material>li>a{position:relative;font-weight:500}.navbar-lg{min-height:54px}.navbar-lg .navbar-brand{height:54px}.navbar-lg .navbar-nav>.dropdown-user>a,.navbar-lg .navbar-nav>.dropdown-user>a>span{padding-top:8.5px;padding-bottom:8.5px}.navbar-sm .navbar-brand,.navbar-sm .navbar-nav>li>a{padding-top:14px;padding-bottom:14px}.navbar-sm{min-height:48px}.navbar-sm .navbar-brand{height:48px}.navbar-sm .navbar-nav>.dropdown-user>a,.navbar-sm .navbar-nav>.dropdown-user>a>span{padding-top:7px;padding-bottom:7px}.navbar-xs .navbar-brand,.navbar-xs .navbar-nav>li>a{padding-top:13px;padding-bottom:13px}.navbar-xs{min-height:46px}.navbar-xs .navbar-brand{height:46px}.navbar-xs .navbar-nav>.dropdown-user>a,.navbar-xs .navbar-nav>.dropdown-user>a>span{padding-top:6.5px;padding-bottom:6.5px}.nav .mega-menu{position:static}.mega-menu .dropdown-menu{left:auto}@media (min-width:769px){.navbar-text{padding-right:0}.navbar-text+.navbar-nav{margin-left:15px}.navbar-header+.navbar-text:first-child{padding-left:0}.navbar-right{margin-right:0}.mega-menu.mega-menu-wide>.dropdown-menu{left:20px;right:20px}.layout-boxed .mega-menu.mega-menu-wide>.dropdown-menu,.navbar-component .mega-menu.mega-menu-wide>.dropdown-menu{left:0;right:0}.dropdown-content-heading+.table-responsive{border-top:1px solid transparent}}.dropdown-content-heading{padding:20px;font-weight:500}.dropdown-content-heading+.dropdown-menu-body{padding-top:0}.dropdown-content-heading+.dropdown-header{padding-top:0!important}ul.dropdown-menu .dropdown-content-heading{padding-left:15px;padding-right:15px}ul.dropdown-menu .dropdown-content-heading:first-child{padding-top:12px;padding-bottom:12px}.dropdown-content-heading .icons-list{float:right}.dropdown-content-footer{color:#333;border-top:1px solid transparent;border-bottom-right-radius:3px;border-bottom-left-radius:3px}.dropdown-content-footer a{display:block;padding:10px 20px;text-align:center;color:#333}.dropdown-content-footer a:focus,.dropdown-content-footer a:hover{background-color:#f5f5f5}.dropdown-content-footer a>i.display-block{top:0}@media (max-width:768px){.navbar-inverse .dropdown-content-footer{background-color:rgba(0,0,0,.1);color:#fff;border-color:transparent;border-radius:0}.navbar-inverse .dropdown-content-footer a{color:#fff}.navbar-inverse .dropdown-content-footer a:focus,.navbar-inverse .dropdown-content-footer a:hover{background-color:rgba(0,0,0,.1)}}.dropdown-content-body{padding:20px}.menu-list,.menu-list ul{padding:0;list-style:none}.dropdown-content-heading+.dropdown-content-body{padding-top:0}.dropdown-content:not(ul){padding-top:0;padding-bottom:0}.menu-list{margin:0 0 20px;overflow:hidden}@media (min-width:1200px){[class*=col-lg-] .menu-list{margin-bottom:9px}}@media (min-width:1025px){[class*=col-md-] .menu-list{margin-bottom:9px}}@media (min-width:769px){[class*=col-sm-] .menu-list{margin-bottom:9px}.menu-list{overflow-y:auto;max-height:340px}}@media (min-width:480px){[class*=col-xs-] .menu-list{margin-bottom:9px}}.menu-list ul{margin:0;position:absolute;display:none;left:110%;width:100%}.menu-list li{position:relative;margin-top:1px}.menu-list li:first-child{margin-top:0}.menu-list li>a{display:block;color:#333;padding:8px 16px;border-radius:3px}.menu-list li>a:focus,.menu-list li>a:hover{background-color:#f5f5f5}.menu-list li>a>i{margin-right:10px}.dd-wrapper .dd-header h6>i,.menu-heading>i{margin-right:8px}.menu-list li>a>.badge,.menu-list li>a>.label{float:right;margin-left:8px}.menu-list li.active>a,.menu-list li.active>a:focus,.menu-list li.active>a:hover{color:#fff;background-color:#26A69A}.menu-list li.disabled>a,.menu-list li.disabled>a:focus,.menu-list li.disabled>a:hover{background-color:transparent;color:#999;cursor:not-allowed}.menu-list li.disabled>a>.badge,.menu-list li.disabled>a>.label,.menu-list li.disabled>a>img{opacity:.8;filter:alpha(opacity=80)}.badge[href]:focus,.badge[href]:hover,.breadcrumb>li>a:focus,.breadcrumb>li>a:hover,.label[href]:focus,.label[href]:hover{opacity:.85;filter:alpha(opacity=85)}.dd-wrapper .dd-menu{overflow:hidden;position:relative}.dd-wrapper .dd-header h6 .badge,.dd-wrapper .dd-header h6 .label{margin-left:8px}.dd-wrapper .dd-header h6:first-child{display:none}.dd-wrapper .dd-parent .active-ul+ul{position:relative;display:block;left:0}.dd-wrapper .link-back{display:block;padding:9px 0;border-radius:3px;margin-bottom:10px;line-height:1.6666667}.dd-wrapper .dd-icon:after,.dd-wrapper .link-back:before{font-size:16px;line-height:1;font-family:icomoon;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.dd-wrapper .link-back:before{content:'\ede7';position:relative;top:-1px;vertical-align:middle;margin-right:8px}.btn .badge,.btn .label,.label-icon>i{top:0}.dd-wrapper .link-back .dd-icon,.dd-wrapper .link-back i{display:none}@media (max-width:768px){.menu-list li>a{color:#fff}.menu-list li.active>a,.menu-list li.active>a:focus,.menu-list li.active>a:hover,.menu-list li>a:focus,.menu-list li>a:hover{background-color:rgba(0,0,0,.1)}.menu-list li.disabled>a,.menu-list li.disabled>a:focus,.menu-list li.disabled>a:hover{background-color:transparent;color:rgba(255,255,255,.6);cursor:not-allowed}.navbar-default .menu-list li>a{color:#333}.navbar-default .menu-list li>a:focus,.navbar-default .menu-list li>a:hover{background-color:#f5f5f5}.navbar-default .menu-list li.active>a,.navbar-default .menu-list li.active>a:focus,.navbar-default .menu-list li.active>a:hover{color:#fff;background-color:#26A69A}.navbar-default .menu-list li.disabled>a,.navbar-default .menu-list li.disabled>a:focus,.navbar-default .menu-list li.disabled>a:hover{background-color:transparent;color:#999}.navbar .dd-wrapper .link-back{padding:20px 0;text-align:center;margin-top:-10px;margin-bottom:20px;border-bottom:1px solid #eee}.navbar-inverse .dd-wrapper .link-back{color:#fff;border-bottom-color:rgba(255,255,255,.1)}}.dd-wrapper .dd-icon{float:right;margin-top:2px}.dd-wrapper .dd-icon:after{content:'\e9c7'}.dd-wrapper .dd-header .dd-icon:after{content:'\e9c5'}.menu-heading{display:block;font-size:12px;text-transform:uppercase;font-weight:500;margin-bottom:10px;padding-top:4px}.menu-heading>i{float:left}.menu-heading.underlined{padding-bottom:10px;border-bottom:1px solid #eee}.dropdown-menu .nav-tabs,.dropdown-menu .nav-tabs>li>a{border-radius:0}.dropdown-menu .nav-tabs>li.active:first-child>a,.dropdown-menu .nav-tabs>li:first-child>a{border-left:0}.dropdown-menu .nav-tabs>li.active:last-child>a,.dropdown-menu .nav-tabs>li:last-child>a{border-right:0}.navbar-progress{float:left;margin-left:20px}.navbar-progress .progress{width:200px}@media (max-width:768px){.menu-heading{color:#fff}div:first-child>.menu-heading{margin-top:0}.navbar-default .menu-heading{color:#333}.menu-heading.underlined{border-bottom-color:rgba(255,255,255,.1)}.navbar-default .menu-heading.underlined{border-bottom-color:#eee}.dropdown-menu .nav-tabs{margin-top:0}.dropdown-menu .nav-tabs:before{content:none}.dropdown-menu .nav-tabs>li+li{margin-top:1px}.dropdown-menu .nav-tabs>li>a{border:0;padding-left:20px;padding-right:20px}.dropdown-menu .nav-tabs>li>a:focus,.dropdown-menu .nav-tabs>li>a:hover{background-color:rgba(0,0,0,.1)}.dropdown-menu .nav-tabs>li.active>a,.dropdown-menu .nav-tabs>li.active>a:focus,.dropdown-menu .nav-tabs>li.active>a:hover{border:0;background-color:rgba(0,0,0,.1)}.navbar .dropdown-menu .nav-tabs{border-top:1px solid rgba(255,255,255,.1);border-bottom:1px solid rgba(255,255,255,.1)}.navbar .dropdown-menu .nav-tabs>li{margin-bottom:0}.navbar .dropdown-menu .nav-tabs.active>a{border-color:transparent}.navbar-inverse .dropdown-menu .nav-tabs>li>a{color:#fff}.navbar-inverse .dropdown-menu .nav-tabs>li.disabled>a,.navbar-inverse .dropdown-menu .nav-tabs>li.disabled>a:focus,.navbar-inverse .dropdown-menu .nav-tabs>li.disabled>a:hover{color:rgba(255,255,255,.6);background-color:transparent}.navbar-default .dropdown-menu .nav-tabs{border-top-color:#ddd;border-bottom-color:#ddd;border-left:0;border-right:0}.navbar-default .dropdown-menu .nav-tabs>li.active>a,.navbar-default .dropdown-menu .nav-tabs>li.active>a:focus,.navbar-default .dropdown-menu .nav-tabs>li.active>a:hover,.navbar-default .dropdown-menu .nav-tabs>li>a:focus,.navbar-default .dropdown-menu .nav-tabs>li>a:hover{color:#777;background-color:transparent}.navbar-default .dropdown-menu .nav-tabs>li.disabled>a,.navbar-default .dropdown-menu .nav-tabs>li.disabled>a:focus,.navbar-default .dropdown-menu .nav-tabs>li.disabled>a:hover{color:#999;background-color:transparent}.navbar-progress{margin:15px 20px;float:none}.navbar-progress .progress{margin-top:0;margin-bottom:0;width:100%}}.navbar-xs .navbar-progress .progress{margin-top:14px;margin-bottom:14px}.navbar-progress .progress,.navbar-xs .navbar-progress .progress-sm{margin-top:16px;margin-bottom:16px}.navbar-progress .progress-sm,.navbar-xs .navbar-progress .progress-xs{margin-top:18px;margin-bottom:18px}.navbar-progress .progress-xs,.navbar-xs .navbar-progress .progress-xxs{margin-top:20px;margin-bottom:20px}.navbar-progress .progress-xxs{margin-top:22px;margin-bottom:22px}.navbar-sm .navbar-progress .progress{margin-top:15px;margin-bottom:15px}.navbar-lg .navbar-progress .progress,.navbar-sm .navbar-progress .progress-sm{margin-top:18px;margin-bottom:18px}.navbar-lg .navbar-progress .progress-sm,.navbar-sm .navbar-progress .progress-xs{margin-top:20px;margin-bottom:20px}.navbar-lg .navbar-progress .progress-xs,.navbar-sm .navbar-progress .progress-xxs{margin-top:22px;margin-bottom:22px}.navbar-lg .navbar-progress .progress-xxs{margin-top:24px;margin-bottom:24px}@media (max-width:768px){.navbar .btn-group .dropdown-menu,.navbar .dropdown .dropdown-menu,.navbar .input-group .dropdown-menu{width:100%;border-width:0 0 1px;border-radius:0}.navbar .btn-group .dropdown-menu>li>a,.navbar .dropdown .dropdown-menu>li>a,.navbar .input-group .dropdown-menu>li>a{padding-left:20px;padding-right:20px}.navbar .btn-group,.navbar .form-group:not(.has-feedback),.navbar .input-group,.navbar .input-group-btn{position:static}.navbar .select2-container{width:100%!important}.navbar-fixed-bottom .btn-group .dropdown-menu,.navbar-fixed-bottom .dropdown .dropdown-menu,.navbar-fixed-bottom .input-group .dropdown-menu{border-width:1px 0 0}.navbar-component .btn-group .dropdown-menu,.navbar-component .dropdown .dropdown-menu,.navbar-component .input-group .dropdown-menu{border-width:0 1px 1px;border-bottom-right-radius:3px;border-bottom-left-radius:3px}.table-responsive{margin-bottom:0}}.breadcrumb{border-radius:0;margin-bottom:0}.breadcrumb>li{position:relative}.breadcrumb>li>a{color:#333}.breadcrumb>li i{display:inline-block;font-size:12px}.breadcrumb>li>.dropdown-menu{margin-top:0;margin-left:5px}.breadcrumb>li.location-text+li>.dropdown-menu,.breadcrumb>li:first-child>.dropdown-menu{margin-left:0}.breadcrumb>li>.dropdown-menu-right{margin-left:0;margin-right:-10px}.breadcrumb>li:hover>.dropdown-menu{display:block}.breadcrumb>li.location-text{margin-right:8px}.breadcrumb>li.location-text+li:before{content:none}@media (max-width:768px){.breadcrumb .dropdown-submenu>.dropdown-menu,.breadcrumb>li,.breadcrumb>li .dropdown-menu>li{position:static}.heading-elements .breadcrumb{padding-top:0;padding-bottom:0}.breadcrumb>li .dropdown-menu{width:100%;margin:0;border-radius:0;border-width:1px 0}}.page-title .breadcrumb{float:none;display:block;margin:0;padding-top:3px;padding-bottom:0}.breadcrumb-elements:after,.breadcrumb-line:after{display:table}.page-title .breadcrumb:first-child{padding-top:0;padding-bottom:3px}.page-title .breadcrumb.position-right{margin-left:29px}.page-header-content>.breadcrumb{padding-top:0;padding-bottom:20px}.page-header-content>.breadcrumb:first-child{padding-bottom:0;padding-top:20px}.breadcrumb-dash>li+li:before{content:'\2013\00a0'}.breadcrumb-arrow>li+li:before{content:'\2192\00a0'}.breadcrumb-arrows>li+li:before{content:'\00bb\00a0'}.breadcrumb-caret>li+li:before{content:'\203A\00a0'}.breadcrumb-elements:after,.breadcrumb-line:after,.thumbnail .caption .media-heading:after{content:'';clear:both}.breadcrumb-line{position:relative;padding-left:20px;padding-right:20px;-webkit-box-shadow:0 1px 3px rgba(0,0,0,.12),0 1px 2px rgba(0,0,0,.24);box-shadow:0 1px 3px rgba(0,0,0,.12),0 1px 2px rgba(0,0,0,.24)}.page-header .breadcrumb-line:first-child{z-index:994}.breadcrumb-line:not([class*=bg-]){background-color:#fff}.page-header-content+.breadcrumb-line{margin-bottom:20px}.page-header-default .breadcrumb-line:not([class*=bg-]){background-color:#fcfcfc}.breadcrumb-line .breadcrumb{margin-right:46px}@media (min-width:769px){.breadcrumb-line .breadcrumb{float:left;margin-right:0}}@media (max-width:768px){.breadcrumb-line{z-index:998;background-color:inherit}}.page-header-default .page-header-content+.breadcrumb-line,.page-header-inverse .page-header-content+.breadcrumb-line{border-top:1px solid #ddd;margin-bottom:0;-webkit-box-shadow:none;box-shadow:none}.page-header-default .page-header-content+.breadcrumb-line-component,.page-header-inverse .page-header-content+.breadcrumb-line-component{border-width:0;-webkit-box-shadow:0 1px 3px rgba(0,0,0,.12),0 1px 2px rgba(0,0,0,.24);box-shadow:0 1px 3px rgba(0,0,0,.12),0 1px 2px rgba(0,0,0,.24)}.breadcrumb-line-component{border-radius:3px;padding-left:0;padding-right:0}.breadcrumb-line-component:not([class*=bg-]){background-color:#fff}.breadcrumb-line-component .breadcrumb{margin-left:20px}.page-header .breadcrumb-line-component{margin-left:20px;margin-right:20px}.breadcrumb-line[class*=bg-] a,.breadcrumb-line[class*=bg-] i{color:inherit}.breadcrumb-line[class*=bg-] .breadcrumb>.active,.breadcrumb-line[class*=bg-] .breadcrumb>li+li:before{color:rgba(255,255,255,.75)}.breadcrumb-line[class*=bg-] .breadcrumb-elements{border-top-color:rgba(255,255,255,.1)}.breadcrumb-line[class*=bg-] .breadcrumb-elements>li>a{color:rgba(255,255,255,.9)}.breadcrumb-line[class*=bg-] .breadcrumb-elements>li.open>a,.breadcrumb-line[class*=bg-] .breadcrumb-elements>li>a:focus,.breadcrumb-line[class*=bg-] .breadcrumb-elements>li>a:hover{color:#fff}.breadcrumb-elements{text-align:center;margin:0;padding:0;list-style:none;border-top:1px solid #ddd;font-size:0}.breadcrumb-elements>li{display:inline-block;position:static;font-size:13px}.breadcrumb-elements>li>a{display:block;padding:10px 15px;color:#333}.breadcrumb-elements>li.open>a,.breadcrumb-elements>li>a:focus,.breadcrumb-elements>li>a:hover{background-color:#f9f9f9}.breadcrumb-line[class*=bg-] .breadcrumb-elements>li.open>a,.breadcrumb-line[class*=bg-] .breadcrumb-elements>li>a:focus,.breadcrumb-line[class*=bg-] .breadcrumb-elements>li>a:hover{background-color:rgba(255,255,255,.1)}.breadcrumb-elements .dropdown-menu{margin-top:0;left:auto;right:0;border-top-right-radius:0;border-top-left-radius:0}.breadcrumb-elements .dropup>.dropdown-menu{margin-bottom:0;border-bottom-right-radius:0;border-bottom-left-radius:0}.breadcrumb-elements [data-toggle=collapse]{display:block;position:absolute;top:0;right:20px}@media (min-width:769px){.breadcrumb-elements{float:right;text-align:inherit;border-top:0}.breadcrumb-elements.collapse{display:block;visibility:visible}.breadcrumb-elements>li{float:left}.breadcrumb-elements>li,.breadcrumb-elements>li .btn-group{position:relative}.breadcrumb-line-component .breadcrumb-elements>li:last-child>a{border-bottom-right-radius:3px;border-top-right-radius:3px}.breadcrumb-elements [data-toggle=collapse]{display:none}}@media (max-width:768px){.breadcrumb-elements .dropdown-menu{left:0}.breadcrumb-elements .dropdown-menu>li>a{padding-left:15px;padding-right:15px}.breadcrumb-line:not(.breadcrumb-line-component) .breadcrumb-elements{background-color:inherit;margin-left:-20px;margin-right:-20px;padding-left:20px;padding-right:20px}}.pagination{margin-top:0;margin-bottom:-6px}.pagination,.pagination.has-shadow{-webkit-box-shadow:0 1px 3px rgba(0,0,0,.12),0 1px 2px rgba(0,0,0,.24);box-shadow:0 1px 3px rgba(0,0,0,.12),0 1px 2px rgba(0,0,0,.24)}.pagination>li>a,.pagination>li>span{min-width:38px;padding:9px;text-align:center;border-width:0}.pagination>li:not(.disabled)>a:focus,.pagination>li:not(.disabled)>a:hover,.pagination>li:not(.disabled)>span:focus,.pagination>li:not(.disabled)>span:hover{-webkit-box-shadow:0 0 0 100px rgba(0,0,0,.05) inset;box-shadow:0 0 0 100px rgba(0,0,0,.05) inset}.pagination>li:not(.disabled)>a:active,.pagination>li:not(.disabled)>span:active{-webkit-box-shadow:0 0 0 100px rgba(0,0,0,.1) inset;box-shadow:0 0 0 100px rgba(0,0,0,.1) inset}.panel .pagination{-webkit-box-shadow:none;box-shadow:none}.pagination.pagination-rounded>li:first-child>a,.pagination.pagination-rounded>li:first-child>span{border-bottom-left-radius:100px;border-top-left-radius:100px}.pagination.pagination-rounded>li:last-child>a,.pagination.pagination-rounded>li:last-child>span{border-bottom-right-radius:100px;border-top-right-radius:100px}.pagination-flat{-webkit-box-shadow:none;box-shadow:none}.pagination-flat>li>a,.pagination-flat>li>span{margin-left:1px;border-radius:3px;min-width:38px;background-color:transparent}.pagination-flat>.active>a,.pagination-flat>.active>a:focus,.pagination-flat>.active>a:hover,.pagination-flat>.active>span,.pagination-flat>.active>span:focus,.pagination-flat>.active>span:hover,.pagination-flat>li>a,.pagination-flat>li>a:focus,.pagination-flat>li>a:hover,.pagination-flat>li>span,.pagination-flat>li>span:focus,.pagination-flat>li>span:hover{border-color:transparent}.pagination-flat>.disabled>a,.pagination-flat>.disabled>a:focus,.pagination-flat>.disabled>a:hover,.pagination-flat>.disabled>span,.pagination-flat>.disabled>span:focus,.pagination-flat>.disabled>span:hover{border-color:transparent;background-color:transparent}.pagination-flat.pagination-rounded>li>a,.pagination-flat.pagination-rounded>li>span{border-radius:100px;padding-left:11px;padding-right:11px}.pagination-lg>li:first-child>a,.pagination-lg>li:first-child>span,.pagination-xs>li:first-child>a,.pagination-xs>li:first-child>span{border-bottom-left-radius:3px;border-top-left-radius:3px}.pagination-lg>li:last-child>a,.pagination-lg>li:last-child>span,.pagination-xs>li:last-child>a,.pagination-xs>li:last-child>span{border-bottom-right-radius:3px;border-top-right-radius:3px}.pagination-flat.pagination-lg>li>a,.pagination-flat.pagination-lg>li>span{min-width:40px}.pagination-flat.pagination-lg.pagination-rounded>li>a,.pagination-flat.pagination-lg.pagination-rounded>li>span{padding-left:10px;padding-right:10px}.pagination-flat.pagination-sm>li>a,.pagination-flat.pagination-sm>li>span{min-width:36px}.pagination-flat.pagination-sm.pagination-rounded>li>a,.pagination-flat.pagination-sm.pagination-rounded>li>span{padding-left:12px;padding-right:12px}.pagination-flat.pagination-xs>li>a,.pagination-flat.pagination-xs>li>span{min-width:34px}.pagination-flat.pagination-xs.pagination-rounded>li>a,.pagination-flat.pagination-xs.pagination-rounded>li>span{padding-left:13px;padding-right:13px}.pagination-separated>li>a,.pagination-separated>li>span{margin-left:2px}.pagination-lg>li>a,.pagination-lg>li>span{padding:10px;min-width:40px}.pagination-sm>li>a,.pagination-sm>li>span{padding:8px;min-width:36px}.pagination-xs>li>a,.pagination-xs>li>span{font-size:12px;line-height:1.6666667;padding:7px;min-width:34px}.pager{margin-top:0;margin-bottom:0;font-size:0}.pager li>a,.pager li>span{padding:9px 17px;color:#333;border-width:0;overflow:hidden;font-size:13px}.pager li>a:focus,.pager li>a:hover{border-color:#2196F3;color:#fff}.pager li+li{margin-left:10px}.pager .disabled>a,.pager .disabled>a:focus,.pager .disabled>a:hover,.pager .disabled>span{border-color:#ddd}.pager.text-left{text-align:left}.pager.text-right{text-align:right}.pager-lg li>a,.pager-lg li>span{padding:10px 19px;font-size:14px;line-height:1.4285715}.pager-sm li>a,.pager-sm li>span{padding:8px 15px;font-size:12px;line-height:1.6666667}.pager-xs li>a,.pager-xs li>span{padding:7px 13px;font-size:12px;line-height:1.6666667}.badge,.label{font-size:10px;letter-spacing:.1px}.pager-rounded li>a,.pager-rounded li>span{border-radius:100px}.pager-linked li>a,.pager-linked li>span{border-color:transparent;background-color:transparent;color:#1E88E5}.pager-linked li>a:hover,.pager-linked li>span:hover{background-color:#2196F3;color:#fff}.pager-linked .disabled>a,.pager-linked .disabled>a:focus,.pager-linked .disabled>a:hover,.pager-linked .disabled>span{background-color:transparent;border-color:transparent}.label{display:inline-block;font-weight:500;padding:2px 5px 1px;line-height:1.5384616;border:1px solid transparent;text-transform:uppercase;border-radius:2px}.label-block,.thumbnail>a{display:block}.label-flat,.label-striped,.label-striped.label-icon{border-radius:0}.list-group-item.active>.label,.nav-pills>.active>a>.label,.nav-tabs[class*=bg-]>li>a>.label{color:#333;background-color:#fff;border-color:#fff}@media (min-width:769px){.list-group-item>.label{float:right}.list-group-item>.label+.label{margin-right:8px}}.badge>.caret,.label>.caret{margin-top:-2px}.open .badge.dropdown-toggle,.open .label.dropdown-toggle{-webkit-box-shadow:none;box-shadow:none}.label-default{border-color:#999}.label-default[href]:focus,.label-default[href]:hover{background-color:#999}.label-primary{border-color:#2196F3}.label-primary[href]:focus,.label-primary[href]:hover{background-color:#2196F3}.label-success{border-color:#4CAF50}.label-success[href]:focus,.label-success[href]:hover{background-color:#4CAF50}.label-info{border-color:#00BCD4}.label-info[href]:focus,.label-info[href]:hover{background-color:#00BCD4}.label-warning{border-color:#FF5722}.label-warning[href]:focus,.label-warning[href]:hover{background-color:#FF5722}.label-danger{border-color:#F44336}.label-danger[href]:focus,.label-danger[href]:hover{background-color:#F44336}.label-striped{background-color:#f5f5f5;color:#333;border-left-width:2px;padding:6px 12px}.label-striped.label-striped-right{border-left-width:1px;border-right-width:2px}.label-striped[href]:focus,.label-striped[href]:hover{color:#333;background-color:#eee;-webkit-box-shadow:none;box-shadow:none}.badge,.label-flat{background-color:transparent}.label-flat{border-width:2px;padding:1px 4px 0}.label-flat[href]:focus,.label-flat[href]:hover{background-color:transparent;-webkit-box-shadow:none;box-shadow:none}.label-icon{padding:4px;border-radius:2px;line-height:1}.label-icon.label-flat{padding:6px}.label-icon-xlg{padding:10px}.label-icon-xlg.label-flat{padding:8px}.label-icon-lg{padding:9px}.label-icon-lg.label-flat,.label-icon-sm{padding:7px}.label-icon-sm.label-flat{padding:5px}.label-icon-xs{padding:6px}.label-icon-xs.label-flat{padding:4px}.label-rounded{border-radius:100px}.label-rounded:not(.label-icon){padding-left:8px;padding-right:8px}.badge,.btn-xs .badge{padding:2px 6px 1px}.label-roundless{border-radius:0}.form-control+.label-block{margin-top:8px}.label-block.text-left{text-align:left;margin-right:0}.label-block.text-right{text-align:right;margin-left:0}.badge{vertical-align:baseline;border:1px solid transparent;border-radius:100px}.list-group-item.active>.badge,.nav-pills>.active>a>.badge,.nav-tabs[class*=bg-]>li>a>.badge{color:#333;background-color:#fff;border-color:#fff}.caption-overflow,.zoom-image{color:#fff;left:0;height:100%}.nav-pills>li>a>.badge{margin-left:0}.nav-pills>li>a>.badge.position-right{margin-left:8px}.badge-default{background-color:#999;border-color:#999}.badge-primary{background-color:#2196F3;border-color:#2196F3}.badge-success{background-color:#4CAF50;border-color:#4CAF50}.badge-info{background-color:#00BCD4;border-color:#00BCD4}.badge-warning{background-color:#FF5722;border-color:#FF5722}.badge-danger{background-color:#F44336;border-color:#F44336}.badge-flat{background-color:transparent;border-width:2px;padding:1px 5px 0}.alert-component,.thumbnail{border-width:0}.badge-flat[href]:focus,.badge-flat[href]:hover{background-color:transparent;-webkit-box-shadow:none;box-shadow:none}.thumbnail{-webkit-box-shadow:0 1px 3px rgba(0,0,0,.12),0 1px 2px rgba(0,0,0,.24);box-shadow:0 1px 3px rgba(0,0,0,.12),0 1px 2px rgba(0,0,0,.24)}.panel .thumbnail{-webkit-box-shadow:0 1px 1px rgba(0,0,0,.05);box-shadow:0 1px 1px rgba(0,0,0,.05)}.thumbnail a>img,.thumbnail>img{width:100%}a.thumbnail.active,a.thumbnail:focus,a.thumbnail:hover{border-color:#ddd}.thumbnail .caption{padding:20px 17px 17px}.thumbnail .caption .icons-list.pull-right,.thumbnail .caption i.pull-right{margin-top:4px}.thumbnail .caption .media-heading{margin-top:0}.thumbnail .caption .media-heading:after{display:table}.modal-dialog .thumbnail{border-width:0;-webkit-box-shadow:none;box-shadow:none}.thumbnail>.panel-heading{margin:-3px -3px 0}.thumbnail .panel-footer{margin:0 -3px -3px}.thumbnail.no-padding .thumb,.thumbnail.no-padding img{border-top-right-radius:3px;border-top-left-radius:3px;-webkit-box-shadow:none;box-shadow:none}.thumbnail.no-padding .caption{padding:20px}.thumbnail.no-padding .panel-footer,.thumbnail.no-padding .panel-heading{margin:0}.thumb{position:relative;display:block}.thumb img:not(.media-preview){display:inline-block;width:100%;max-width:100%;height:auto}.thumb:not(.thumb-rounded) img{border-radius:3px}.thumb:hover .caption-zoom{border-radius:0;-webkit-box-shadow:0 0 0 10px rgba(0,0,0,.7);box-shadow:0 0 0 10px rgba(0,0,0,.7)}.thumb:hover .caption-offset{left:8px;top:8px}.thumb .caption-collapse{top:80%;z-index:10;height:auto}.thumb:hover .thumb .caption-collapse{top:100%}.thumb-rounded{width:60%;margin:20px auto 0}.caption-overflow,.caption-overflow span,.thumb-slide .caption,.thumb-slide .caption span,.zoom-image{position:absolute;width:100%}.thumb-rounded,.thumb-rounded .caption-overflow,.thumb-rounded img{border-radius:50%}.caption-overflow,.img-rounded+.zoom-image{border-radius:3px}.caption-overflow{top:0;visibility:hidden;opacity:0;filter:alpha(opacity=0);-webkit-transition:all .15s ease-in-out;-o-transition:all .15s ease-in-out;transition:all .15s ease-in-out}.caption-overflow span{top:50%;margin-top:-18px;text-align:center}.thumb:hover>.caption-overflow{background-color:rgba(0,0,0,.7);visibility:visible;opacity:1;filter:alpha(opacity=100)}.zoom-image{display:inline-block;text-align:center;top:0;opacity:0;filter:alpha(opacity=0);-webkit-transition:all .15s ease-in-out;-o-transition:all .15s ease-in-out;transition:all .15s ease-in-out}.thumb:hover .zoom-image{background-color:rgba(0,0,0,.6);opacity:1;filter:alpha(opacity=100)}.img-circle+.zoom-image{border-radius:50%}.zoom-image i{font-size:32px;position:absolute;top:50%;left:50%;margin-top:-16px;margin-left:-16px}.thumb-slide{overflow:hidden}.thumb-slide .caption{bottom:-100%;left:0;color:#fff;height:100%;background-color:rgba(0,0,0,.7);z-index:10;-webkit-transition:all .1s linear;-o-transition:all .1s linear;transition:all .1s linear}.thumb-slide .caption span{top:50%;left:0;margin-top:-19px;text-align:center}.thumb-slide:hover .caption{bottom:0}.alert{position:relative;padding-left:20px;padding-right:20px;-webkit-box-shadow:0 1px 3px rgba(0,0,0,.12),0 1px 2px rgba(0,0,0,.24);box-shadow:0 1px 3px rgba(0,0,0,.12),0 1px 2px rgba(0,0,0,.24)}.alert .alert-heading{margin-top:0;margin-bottom:5px}.alert .alert-link,.alert .close,.alert .close:focus,.alert .close:hover{color:inherit}.alert-primary{background-color:#E3F2FD;border-color:#1E88E5}.alert-primary hr{border-top-color:#187bd1}.alert-primary,.alert-primary .alert-link,.alert-primary .close{color:#104d92}.alert-success,.alert-success .close{color:#205823}.alert-info,.alert-info .close{color:#00545c}.alert-warning,.alert-warning .close{color:#aa3510}.alert-danger,.alert-danger .close{color:#9c1f1f}.alert.alert-rounded{border-radius:100px;padding-left:25px;padding-right:25px}.alert-component[class*=alert-styled-]{background-color:#fff}.alert[class*=bg-] .alert-link,.alert[class*=bg-] a{color:#fff}.alert[class*=alert-styled-]:after{content:'\e9a2';font-family:icomoon;color:#fff;width:44px;left:-44px;text-align:center;position:absolute;top:50%;margin-top:-8px;font-size:16px;font-weight:400;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.alert[class*=alert-styled-].alert-danger:after,.alert[class*=alert-styled-][class*=bg-danger]:after{content:'\ed64'}.alert[class*=alert-styled-].alert-success:after,.alert[class*=alert-styled-][class*=bg-success]:after{content:'\ed6e'}.alert[class*=alert-styled-].alert-warning:after,.alert[class*=alert-styled-][class*=bg-warning]:after{content:'\e9bd'}.alert[class*=alert-styled-].alert-info:after,.alert[class*=alert-styled-][class*=bg-info]:after{content:'\e9b9'}.alert.alert-styled-right:after{left:auto;right:-44px}.alert.alert-styled-custom:after{content:"\e81b"}.alert.alert-styled-left{border-left-width:44px}.alert.alert-styled-left[class*=bg-]{border-left-color:rgba(0,0,0,.15)!important}.alert.alert-styled-right{border-right-width:44px}.alert.alert-styled-right[class*=bg-]{border-right-color:rgba(0,0,0,.15)!important}.alert:not(.ui-pnotify)[class*=alert-arrow-]:before,.ui-pnotify.alert[class*=alert-arrow-]>.brighttheme:before{content:"";display:inline-block;position:absolute;top:50%;left:0;border-left:5px solid;border-top:5px solid transparent;border-bottom:5px solid transparent;border-left-color:inherit;margin-top:-5px}.alert:not(.ui-pnotify).alert-arrow-right:before,.ui-pnotify.alert.alert-arrow-right>.brighttheme:before{left:auto;right:0;border-left:0;border-right:5px solid;border-right-color:inherit}.progress{position:relative;margin-bottom:0;height:18px;-webkit-box-shadow:none;box-shadow:none}.progress-bar{line-height:18px;overflow:hidden;-webkit-box-shadow:none;box-shadow:none}.progress-rounded,.progress-rounded>.progress-bar{border-radius:100px}.progress .progressbar-back-text{position:absolute;left:0;width:100%;height:100%;text-align:center;font-size:12px}.progress .progressbar-front-text{display:block;width:100%;text-align:center;position:relative;font-size:12px}.progress.right .progress-bar{right:0;float:right}.progress.right .progressbar-front-text{position:absolute;right:0}.progress.vertical{width:50px;height:100%;display:inline-block}.progress.vertical+.progress.vertical{margin-left:10px}.progress.vertical .progress-bar{width:100%;height:0;-webkit-transition:height .6s ease;-o-transition:height .6s ease;transition:height .6s ease}.progress.vertical.bottom{position:relative}.progress.vertical.bottom .progress-bar,.progress.vertical.bottom .progressbar-front-text{position:absolute;bottom:0}.media,.media-body,.media-left,.media-right{position:relative}.progress-lg{height:22px}.progress-lg .progress-bar{line-height:22px}.progress-sm{height:14px}.progress-xs{height:10px}.progress-xxs{height:6px}.progress-micro{height:2px}.progress-micro .progress-bar,.progress-sm .progress-bar,.progress-xs .progress-bar,.progress-xxs .progress-bar{font-size:0}.media{margin-top:20px}.media,.media-body{overflow:visible}.media-heading{margin-bottom:2px;display:block}.media-list{margin-bottom:0}.media-right,.media>.pull-right{padding-left:20px}.media-left,.media>.pull-left{padding-right:20px}@media (max-width:768px){.stack-media-on-mobile{text-align:center}.stack-media-on-mobile .media-annotation{display:block}.stack-media-on-mobile .media-annotation.dotted:not(.pull-right):before{content:none;margin:0}.stack-media-on-mobile .media-heading .media-annotation{margin-left:0;margin-right:0;padding-bottom:5px}.stack-media-on-mobile .media-body,.stack-media-on-mobile .media-left,.stack-media-on-mobile .media-right{display:block;width:auto;padding-left:0;padding-right:0}.stack-media-on-mobile .media-body img,.stack-media-on-mobile .media-left img,.stack-media-on-mobile .media-right img{width:100%;height:auto;max-height:none}.stack-media-on-mobile .media-body,.stack-media-on-mobile .media-right{margin-top:15px}.stack-media-on-mobile .media-heading{margin-bottom:5px}}.media-left img:not(.media-preview),.media-right img:not(.media-preview),.thumbnail .media img:not(.media-preview){width:40px;height:40px;max-width:none}.media-badge{position:absolute;left:-10px;top:-2px}.panel-body,.panel-footer,.panel-heading,.panel-title{position:relative}.media-badge,.media-badge[class*=bg-]{border:2px solid}@media (max-width:768px){.navbar-inverse .media-badge{border:0;top:0}}.media-annotation{color:#999;font-size:12px;line-height:1.6666667;font-weight:400}.media-heading .media-annotation{margin-left:8px}.media-annotation i{font-size:13px}.media-annotation.dotted:not(.pull-right):before{content:'\2022';margin-right:11px}.media-header{margin-top:20px;font-weight:500}.media-header:first-child{margin-top:0}.media-list-bordered>li{border-top:1px solid #eee;padding-top:15px;margin-top:15px}.media-list-bordered>li:first-child{padding-top:0;border-top-width:0}.media-list-bordered.media-list-linked .media-header{margin-bottom:15px}.media-list-linked .media{margin-top:0;padding:0}.media-list-linked .media-link{display:block;padding:15px 20px;color:#333}.media-list-linked .media-link:focus,.media-list-linked .media-link:hover{background-color:#fafafa;color:#333}.media-list-linked .media-header{padding-left:20px;padding-right:20px;margin-top:10px;margin-bottom:10px}.media-list-linked .media-header:first-child,.media-list-linked.media-list-bordered>.media-header{margin-top:0}.media-list-linked.media-list-bordered>li:first-child{border-top-width:1px}.media-list-linked.media-list-bordered>.media-header:first-child{border-top-width:0}.list-group{list-style:none;margin-bottom:0;border:1px solid #ddd;padding:8px 0;border-radius:3px}.list-group-item{background-color:transparent;padding:10px 20px;border:0}.list-group-item.disabled .badge,.list-group-item.disabled .label,.list-group-item.disabled:focus .badge,.list-group-item.disabled:focus .label,.list-group-item.disabled:hover .badge,.list-group-item.disabled:hover .label{opacity:.75;filter:alpha(opacity=75)}.list-group-divider{height:1px;display:block;background-color:#e5e5e5;margin-top:8px;margin-bottom:8px}.list-group-header{padding:8px 20px;font-size:11px;line-height:1.82;color:#999;text-transform:uppercase}.list-group-header:first-child{margin-top:8px}.list-group-divider+.list-group-header,.list-group-item+.list-group-header{margin-top:16px}.list-group-header>i,.list-group-item>i{margin-right:8px}.list-group-header>i.pull-right,.list-group-item>i.pull-right{margin-right:0;margin-left:8px;margin-top:2px}.list-group-item-heading{margin-top:8px;margin-bottom:8px}.list-group-item-text{line-height:1.5384616;margin-bottom:8px}.list-group-item-success{background-color:#E8F5E9}a.list-group-item-success,button.list-group-item-success{color:#43A047}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:focus,a.list-group-item-success:hover,button.list-group-item-success:focus,button.list-group-item-success:hover{color:#43A047;background-color:#d6edd8}a.list-group-item-success.active,a.list-group-item-success.active:focus,a.list-group-item-success.active:hover,button.list-group-item-success.active,button.list-group-item-success.active:focus,button.list-group-item-success.active:hover{color:#fff;background-color:#43A047;border-color:#43A047}.list-group-item-success,a.list-group-item-success,a.list-group-item-success:focus,a.list-group-item-success:hover{color:#205823}.list-group-item-info{background-color:#E3F2FD}a.list-group-item-info,button.list-group-item-info{color:#1565C0}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:focus,a.list-group-item-info:hover,button.list-group-item-info:focus,button.list-group-item-info:hover{color:#1565C0;background-color:#cbe7fb}a.list-group-item-info.active,a.list-group-item-info.active:focus,a.list-group-item-info.active:hover,button.list-group-item-info.active,button.list-group-item-info.active:focus,button.list-group-item-info.active:hover{color:#fff;background-color:#1565C0;border-color:#1565C0}.list-group-item-info,a.list-group-item-info,a.list-group-item-info:focus,a.list-group-item-info:hover{color:#104d92}.list-group-item-warning{background-color:#FFF3E0}a.list-group-item-warning,button.list-group-item-warning{color:#EF6C00}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:focus,a.list-group-item-warning:hover,button.list-group-item-warning:focus,button.list-group-item-warning:hover{color:#EF6C00;background-color:#ffe9c6}a.list-group-item-warning.active,a.list-group-item-warning.active:focus,a.list-group-item-warning.active:hover,button.list-group-item-warning.active,button.list-group-item-warning.active:focus,button.list-group-item-warning.active:hover{color:#fff;background-color:#EF6C00;border-color:#EF6C00}.list-group-item-warning,a.list-group-item-warning,a.list-group-item-warning:focus,a.list-group-item-warning:hover{color:#aa3510}.list-group-item-danger{background-color:#FBE9E7}a.list-group-item-danger,button.list-group-item-danger{color:#D84315}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:focus,a.list-group-item-danger:hover,button.list-group-item-danger:focus,button.list-group-item-danger:hover{color:#D84315;background-color:#f7d5d1}a.list-group-item-danger.active,a.list-group-item-danger.active:focus,a.list-group-item-danger.active:hover,button.list-group-item-danger.active,button.list-group-item-danger.active:focus,button.list-group-item-danger.active:hover{color:#fff;background-color:#D84315;border-color:#D84315}.list-group-item-danger,a.list-group-item-danger,a.list-group-item-danger:focus,a.list-group-item-danger:hover{color:#9c1f1f}.panel{margin-bottom:20px;border-width:0;color:#333;-webkit-box-shadow:0 1px 3px rgba(0,0,0,.12),0 1px 2px rgba(0,0,0,.24);box-shadow:0 1px 3px rgba(0,0,0,.12),0 1px 2px rgba(0,0,0,.24)}.panel[class*=bg-]>.panel-heading{border-color:rgba(255,255,255,.2)}@media (max-width:768px){.panel[class*=bg-]>.panel-heading{background-color:inherit}}.panel[class*=bg-].panel-flat>.panel-heading{border-bottom-color:transparent}.panel[class*=bg-]>.panel-body{background-color:inherit}.panel[class*=bg-] .panel-title{color:#fff}.panel[class*=bg-] .table tbody td,.panel[class*=bg-] .table tbody th,.panel[class*=bg-] .table thead td,.panel[class*=bg-] .table thead th{border-color:rgba(255,255,255,.1)}.panel[class*=bg-] .help-block,.panel[class*=bg-] .help-inline,.panel[class*=bg-] .text-muted{color:rgba(255,255,255,.8)}.panel-bordered{border-width:1px}.panel[class*=border-top-]{border-top-right-radius:0;border-top-left-radius:0}.panel[class*=border-top-]:not(.border-top-lg):not(.border-top-xlg){border-top-width:1px}.panel[class*=border-bottom-]{border-bottom-right-radius:0;border-bottom-left-radius:0}.panel[class*=border-bottom-]:not(.border-bottom-lg):not(.border-bottom-xlg){border-bottom-width:1px}.panel[class*=border-left-]{border-bottom-left-radius:0;border-top-left-radius:0}.panel[class*=border-left-]:not(.border-left-lg):not(.border-left-xlg){border-left-width:1px}.panel[class*=border-right-]{border-bottom-right-radius:0;border-top-right-radius:0}.panel-danger .panel-heading,.panel-heading,.panel-heading[class*=bg-],.panel-info .panel-heading,.panel-primary .panel-heading,.panel-success .panel-heading,.panel-warning .panel-heading{border-top-right-radius:3px;border-top-left-radius:3px}.panel[class*=border-right-]:not(.border-right-lg):not(.border-right-xlg){border-right-width:1px}.panel-flat>.panel-heading+.panel-body{padding-top:0}.panel-heading{padding-top:20px;padding-bottom:20px}.panel-bordered>.panel-heading{margin:0}.panel-flat>.panel-heading{background-color:#fff}.panel-flat>.panel-heading>.panel-title{margin-top:2px;margin-bottom:2px}.panel-flat>.panel-heading+.tab-content>.has-padding{padding-top:0}.panel-flat[class*=bg-]>.panel-heading{background-color:inherit}.panel-white>.panel-heading{background-color:#fff;border-bottom-color:#ddd}.panel-title{font-size:13px}a.panel-title{display:block}.panel-title img{max-height:20px;display:inline-block;vertical-align:top}.panel-title>.small:not(.display-block),.panel-title>small:not(.display-block){margin-left:5px}.h1.panel-title,h1.panel-title{font-size:25px}.h2.panel-title,h2.panel-title{font-size:23px}.h3.panel-title,h3.panel-title{font-size:21px}.h4.panel-title,h4.panel-title{font-size:19px}.h5.panel-title,h5.panel-title{font-size:17px}.h6.panel-title,h6.panel-title{font-size:15px}.icons-list a[data-action]:after,.panel-group-control .panel-title>a:before{font-family:icomoon;font-size:16px;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.icons-list a[data-action]{vertical-align:middle}.icons-list a[data-action]:after{min-width:16px;text-align:center;display:inline-block;vertical-align:middle}.icons-list a[data-action=collapse]:after{content:'\e9c1'}.icons-list a[data-action=reload]:after{content:'\e9fb'}.icons-list a[data-action=close]:after{content:'\e9b6'}.icons-list a[data-action=move]:after{content:'\e986'}.icons-list a[data-action=modal]:after{content:'\e9eb'}.panel-footer{padding-left:0;padding-right:0;border-bottom-right-radius:3px;border-bottom-left-radius:3px}.panel-footer:after{content:'';display:table;clear:both}.panel-footer .bootstrap-select .btn-default,.panel-footer .form-control,.panel-footer .multiselect.btn-default,.panel-footer .select2-selection--single:not([class*=bg-]):not([class*=border-]),.panel-footer .selectboxit-btn{border-bottom-color:transparent!important;-webkit-box-shadow:none!important;box-shadow:none!important}.panel-footer-transparent{background-color:transparent;border-top:0;padding-top:0;padding-bottom:11px}.panel-footer-condensed{padding-top:2px;padding-bottom:2px}.panel-footer-bordered{background-color:#fff;padding-right:0;margin-left:20px;margin-right:20px}.panel>.panel-body+.table,.panel>.panel-body+.table-responsive{border-top-width:0}.panel-group-control .panel-title>a{padding-left:26px;display:inline-block}.popover .arrow,.tooltip .tooltip-arrow{display:none}.panel-group-control .panel-title>a:before{content:'\e9b7';position:absolute;top:50%;margin-top:-8px;left:0;font-weight:400}.panel-group-control .panel-title>a.collapsed:before{content:'\e9b8'}.panel-group-control.panel-group-control-right .panel-title>a{padding-left:0;padding-right:26px}.panel-group-control.panel-group-control-right .panel-title>a:before{left:auto;right:0}.panel-default,.panel-primary{border-color:transparent}.panel-primary.panel-bordered{border-color:#2196F3}.panel-success{border-color:transparent}.panel-success.panel-bordered{border-color:#4CAF50}.panel-info{border-color:transparent}.panel-info.panel-bordered{border-color:#00BCD4}.panel-warning{border-color:transparent}.panel-warning.panel-bordered{border-color:#FF5722}.panel-danger{border-color:transparent}.panel-danger.panel-bordered{border-color:#F44336}.well{margin-bottom:0;padding:20px;-webkit-box-shadow:none;box-shadow:none}.well-white{background-color:#fff}.well[class*=border-top-]{border-top-right-radius:0;border-top-left-radius:0}.well[class*=border-bottom-]{border-bottom-right-radius:0;border-bottom-left-radius:0}.well[class*=border-left-]{border-bottom-left-radius:0;border-top-left-radius:0}.well[class*=border-right-]{border-bottom-right-radius:0;border-top-right-radius:0}.modal-content,.well-lg,.well-sm{border-radius:3px}.well-lg{padding:25px}.well-sm{padding:15px}.close{text-shadow:none;opacity:.6;filter:alpha(opacity=60)}.close:focus,.close:hover{opacity:1;filter:alpha(opacity=100)}.modal-content{-webkit-box-shadow:0 14px 28px rgba(0,0,0,.25),0 10px 10px rgba(0,0,0,.22);box-shadow:0 14px 28px rgba(0,0,0,.25),0 10px 10px rgba(0,0,0,.22)}.modal-header{position:relative;padding-bottom:0}.modal-header[class*=bg-]{padding:15px 20px;border-top-right-radius:2px;border-top-left-radius:2px}.popover,.tooltip [class*=bg-]{border-radius:3px}.modal-header[class*=bg-] .close{margin-top:-9.75px}.modal-content[class*=bg-] .modal-header .close,.modal-header[class*=bg-] .close{color:#fff}.modal-header .close{position:absolute;right:20px;top:50%;margin-top:0}.modal-body .close{margin-top:0!important}.modal-footer{padding-top:0}.modal-footer.text-center{text-align:center}.modal-footer.text-left{text-align:left}@media (min-width:769px){.modal-xs{width:300px}.modal-full{width:94%;margin-left:3%;margin-right:3%}}.tooltip{font-size:13px;line-height:1.5384616}.tooltip [class*=bg-]>.tooltip-inner{background-color:inherit}.tooltip-inner{padding:8px 16px}.popover{padding:0;border-width:0;-webkit-box-shadow:0 3px 6px rgba(0,0,0,.16),0 3px 6px rgba(0,0,0,.23);box-shadow:0 3px 6px rgba(0,0,0,.16),0 3px 6px rgba(0,0,0,.23)}.popover-title{font-size:12px;line-height:1.6666667;border:0;padding:15px 15px 0;text-transform:uppercase;font-weight:500;border-top-right-radius:3px;border-top-left-radius:3px}.popover-title[class*=bg-]{padding:10px 15px;margin:-1px -1px 0}.popover-content{padding:15px} \ No newline at end of file diff --git a/Show-Crypto-Currency-Price-in-Graph/amol/public/assets/css/extras/animate.min.css b/Show-Crypto-Currency-Price-in-Graph/amol/public/assets/css/extras/animate.min.css new file mode 100644 index 0000000..0b6a47d --- /dev/null +++ b/Show-Crypto-Currency-Price-in-Graph/amol/public/assets/css/extras/animate.min.css @@ -0,0 +1,6 @@ +@charset "UTF-8";/*! +Animate.css - http://daneden.me/animate +Licensed under the MIT license - http://opensource.org/licenses/MIT + +Copyright (c) 2015 Daniel Eden +*/.animated{-webkit-animation-duration:1s;animation-duration:1s;-webkit-animation-fill-mode:both;animation-fill-mode:both}.animated.infinite{-webkit-animation-iteration-count:infinite;animation-iteration-count:infinite}.animated.hinge{-webkit-animation-duration:2s;animation-duration:2s}.animated.bounceIn,.animated.bounceOut,.animated.flipOutX,.animated.flipOutY{-webkit-animation-duration:.75s;animation-duration:.75s}@-webkit-keyframes bounce{100%,20%,53%,80%,from{-webkit-animation-timing-function:cubic-bezier(0.215,.61,.355,1);animation-timing-function:cubic-bezier(0.215,.61,.355,1);-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}40%,43%{-webkit-animation-timing-function:cubic-bezier(0.755,.050,.855,.060);animation-timing-function:cubic-bezier(0.755,.050,.855,.060);-webkit-transform:translate3d(0,-30px,0);transform:translate3d(0,-30px,0)}70%{-webkit-animation-timing-function:cubic-bezier(0.755,.050,.855,.060);animation-timing-function:cubic-bezier(0.755,.050,.855,.060);-webkit-transform:translate3d(0,-15px,0);transform:translate3d(0,-15px,0)}90%{-webkit-transform:translate3d(0,-4px,0);transform:translate3d(0,-4px,0)}}@keyframes bounce{100%,20%,53%,80%,from{-webkit-animation-timing-function:cubic-bezier(0.215,.61,.355,1);animation-timing-function:cubic-bezier(0.215,.61,.355,1);-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}40%,43%{-webkit-animation-timing-function:cubic-bezier(0.755,.050,.855,.060);animation-timing-function:cubic-bezier(0.755,.050,.855,.060);-webkit-transform:translate3d(0,-30px,0);transform:translate3d(0,-30px,0)}70%{-webkit-animation-timing-function:cubic-bezier(0.755,.050,.855,.060);animation-timing-function:cubic-bezier(0.755,.050,.855,.060);-webkit-transform:translate3d(0,-15px,0);transform:translate3d(0,-15px,0)}90%{-webkit-transform:translate3d(0,-4px,0);transform:translate3d(0,-4px,0)}}.bounce{-webkit-animation-name:bounce;animation-name:bounce;-webkit-transform-origin:center bottom;transform-origin:center bottom}@-webkit-keyframes flash{100%,50%,from{opacity:1}25%,75%{opacity:0}}@keyframes flash{100%,50%,from{opacity:1}25%,75%{opacity:0}}.flash{-webkit-animation-name:flash;animation-name:flash}@-webkit-keyframes pulse{from{-webkit-transform:scale3d(1,1,1);transform:scale3d(1,1,1)}50%{-webkit-transform:scale3d(1.05,1.05,1.05);transform:scale3d(1.05,1.05,1.05)}100%{-webkit-transform:scale3d(1,1,1);transform:scale3d(1,1,1)}}@keyframes pulse{from{-webkit-transform:scale3d(1,1,1);transform:scale3d(1,1,1)}50%{-webkit-transform:scale3d(1.05,1.05,1.05);transform:scale3d(1.05,1.05,1.05)}100%{-webkit-transform:scale3d(1,1,1);transform:scale3d(1,1,1)}}.pulse{-webkit-animation-name:pulse;animation-name:pulse}@-webkit-keyframes rubberBand{from{-webkit-transform:scale3d(1,1,1);transform:scale3d(1,1,1)}30%{-webkit-transform:scale3d(1.25,.75,1);transform:scale3d(1.25,.75,1)}40%{-webkit-transform:scale3d(0.75,1.25,1);transform:scale3d(0.75,1.25,1)}50%{-webkit-transform:scale3d(1.15,.85,1);transform:scale3d(1.15,.85,1)}65%{-webkit-transform:scale3d(.95,1.05,1);transform:scale3d(.95,1.05,1)}75%{-webkit-transform:scale3d(1.05,.95,1);transform:scale3d(1.05,.95,1)}100%{-webkit-transform:scale3d(1,1,1);transform:scale3d(1,1,1)}}@keyframes rubberBand{from{-webkit-transform:scale3d(1,1,1);transform:scale3d(1,1,1)}30%{-webkit-transform:scale3d(1.25,.75,1);transform:scale3d(1.25,.75,1)}40%{-webkit-transform:scale3d(0.75,1.25,1);transform:scale3d(0.75,1.25,1)}50%{-webkit-transform:scale3d(1.15,.85,1);transform:scale3d(1.15,.85,1)}65%{-webkit-transform:scale3d(.95,1.05,1);transform:scale3d(.95,1.05,1)}75%{-webkit-transform:scale3d(1.05,.95,1);transform:scale3d(1.05,.95,1)}100%{-webkit-transform:scale3d(1,1,1);transform:scale3d(1,1,1)}}.rubberBand{-webkit-animation-name:rubberBand;animation-name:rubberBand}@-webkit-keyframes shake{100%,from{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}10%,30%,50%,70%,90%{-webkit-transform:translate3d(-10px,0,0);transform:translate3d(-10px,0,0)}20%,40%,60%,80%{-webkit-transform:translate3d(10px,0,0);transform:translate3d(10px,0,0)}}@keyframes shake{100%,from{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}10%,30%,50%,70%,90%{-webkit-transform:translate3d(-10px,0,0);transform:translate3d(-10px,0,0)}20%,40%,60%,80%{-webkit-transform:translate3d(10px,0,0);transform:translate3d(10px,0,0)}}.shake{-webkit-animation-name:shake;animation-name:shake}@-webkit-keyframes swing{20%{-webkit-transform:rotate3d(0,0,1,15deg);transform:rotate3d(0,0,1,15deg)}40%{-webkit-transform:rotate3d(0,0,1,-10deg);transform:rotate3d(0,0,1,-10deg)}60%{-webkit-transform:rotate3d(0,0,1,5deg);transform:rotate3d(0,0,1,5deg)}80%{-webkit-transform:rotate3d(0,0,1,-5deg);transform:rotate3d(0,0,1,-5deg)}100%{-webkit-transform:rotate3d(0,0,1,0deg);transform:rotate3d(0,0,1,0deg)}}@keyframes swing{20%{-webkit-transform:rotate3d(0,0,1,15deg);transform:rotate3d(0,0,1,15deg)}40%{-webkit-transform:rotate3d(0,0,1,-10deg);transform:rotate3d(0,0,1,-10deg)}60%{-webkit-transform:rotate3d(0,0,1,5deg);transform:rotate3d(0,0,1,5deg)}80%{-webkit-transform:rotate3d(0,0,1,-5deg);transform:rotate3d(0,0,1,-5deg)}100%{-webkit-transform:rotate3d(0,0,1,0deg);transform:rotate3d(0,0,1,0deg)}}.swing{-webkit-transform-origin:top center;transform-origin:top center;-webkit-animation-name:swing;animation-name:swing}@-webkit-keyframes tada{from{-webkit-transform:scale3d(1,1,1);transform:scale3d(1,1,1)}10%,20%{-webkit-transform:scale3d(.9,.9,.9) rotate3d(0,0,1,-3deg);transform:scale3d(.9,.9,.9) rotate3d(0,0,1,-3deg)}30%,50%,70%,90%{-webkit-transform:scale3d(1.1,1.1,1.1) rotate3d(0,0,1,3deg);transform:scale3d(1.1,1.1,1.1) rotate3d(0,0,1,3deg)}40%,60%,80%{-webkit-transform:scale3d(1.1,1.1,1.1) rotate3d(0,0,1,-3deg);transform:scale3d(1.1,1.1,1.1) rotate3d(0,0,1,-3deg)}100%{-webkit-transform:scale3d(1,1,1);transform:scale3d(1,1,1)}}@keyframes tada{from{-webkit-transform:scale3d(1,1,1);transform:scale3d(1,1,1)}10%,20%{-webkit-transform:scale3d(.9,.9,.9) rotate3d(0,0,1,-3deg);transform:scale3d(.9,.9,.9) rotate3d(0,0,1,-3deg)}30%,50%,70%,90%{-webkit-transform:scale3d(1.1,1.1,1.1) rotate3d(0,0,1,3deg);transform:scale3d(1.1,1.1,1.1) rotate3d(0,0,1,3deg)}40%,60%,80%{-webkit-transform:scale3d(1.1,1.1,1.1) rotate3d(0,0,1,-3deg);transform:scale3d(1.1,1.1,1.1) rotate3d(0,0,1,-3deg)}100%{-webkit-transform:scale3d(1,1,1);transform:scale3d(1,1,1)}}.tada{-webkit-animation-name:tada;animation-name:tada}@-webkit-keyframes wobble{from{-webkit-transform:none;transform:none}15%{-webkit-transform:translate3d(-25%,0,0) rotate3d(0,0,1,-5deg);transform:translate3d(-25%,0,0) rotate3d(0,0,1,-5deg)}30%{-webkit-transform:translate3d(20%,0,0) rotate3d(0,0,1,3deg);transform:translate3d(20%,0,0) rotate3d(0,0,1,3deg)}45%{-webkit-transform:translate3d(-15%,0,0) rotate3d(0,0,1,-3deg);transform:translate3d(-15%,0,0) rotate3d(0,0,1,-3deg)}60%{-webkit-transform:translate3d(10%,0,0) rotate3d(0,0,1,2deg);transform:translate3d(10%,0,0) rotate3d(0,0,1,2deg)}75%{-webkit-transform:translate3d(-5%,0,0) rotate3d(0,0,1,-1deg);transform:translate3d(-5%,0,0) rotate3d(0,0,1,-1deg)}100%{-webkit-transform:none;transform:none}}@keyframes wobble{from{-webkit-transform:none;transform:none}15%{-webkit-transform:translate3d(-25%,0,0) rotate3d(0,0,1,-5deg);transform:translate3d(-25%,0,0) rotate3d(0,0,1,-5deg)}30%{-webkit-transform:translate3d(20%,0,0) rotate3d(0,0,1,3deg);transform:translate3d(20%,0,0) rotate3d(0,0,1,3deg)}45%{-webkit-transform:translate3d(-15%,0,0) rotate3d(0,0,1,-3deg);transform:translate3d(-15%,0,0) rotate3d(0,0,1,-3deg)}60%{-webkit-transform:translate3d(10%,0,0) rotate3d(0,0,1,2deg);transform:translate3d(10%,0,0) rotate3d(0,0,1,2deg)}75%{-webkit-transform:translate3d(-5%,0,0) rotate3d(0,0,1,-1deg);transform:translate3d(-5%,0,0) rotate3d(0,0,1,-1deg)}100%{-webkit-transform:none;transform:none}}.wobble{-webkit-animation-name:wobble;animation-name:wobble}@-webkit-keyframes jello{100%,11.1%,from{-webkit-transform:none;transform:none}22.2%{-webkit-transform:skewX(-12.5deg) skewY(-12.5deg);transform:skewX(-12.5deg) skewY(-12.5deg)}33.3%{-webkit-transform:skewX(6.25deg) skewY(6.25deg);transform:skewX(6.25deg) skewY(6.25deg)}44.4%{-webkit-transform:skewX(-3.125deg) skewY(-3.125deg);transform:skewX(-3.125deg) skewY(-3.125deg)}55.5%{-webkit-transform:skewX(1.5625deg) skewY(1.5625deg);transform:skewX(1.5625deg) skewY(1.5625deg)}66.6%{-webkit-transform:skewX(-.78125deg) skewY(-.78125deg);transform:skewX(-.78125deg) skewY(-.78125deg)}77.7%{-webkit-transform:skewX(0.390625deg) skewY(0.390625deg);transform:skewX(0.390625deg) skewY(0.390625deg)}88.8%{-webkit-transform:skewX(-.1953125deg) skewY(-.1953125deg);transform:skewX(-.1953125deg) skewY(-.1953125deg)}}@keyframes jello{100%,11.1%,from{-webkit-transform:none;transform:none}22.2%{-webkit-transform:skewX(-12.5deg) skewY(-12.5deg);transform:skewX(-12.5deg) skewY(-12.5deg)}33.3%{-webkit-transform:skewX(6.25deg) skewY(6.25deg);transform:skewX(6.25deg) skewY(6.25deg)}44.4%{-webkit-transform:skewX(-3.125deg) skewY(-3.125deg);transform:skewX(-3.125deg) skewY(-3.125deg)}55.5%{-webkit-transform:skewX(1.5625deg) skewY(1.5625deg);transform:skewX(1.5625deg) skewY(1.5625deg)}66.6%{-webkit-transform:skewX(-.78125deg) skewY(-.78125deg);transform:skewX(-.78125deg) skewY(-.78125deg)}77.7%{-webkit-transform:skewX(0.390625deg) skewY(0.390625deg);transform:skewX(0.390625deg) skewY(0.390625deg)}88.8%{-webkit-transform:skewX(-.1953125deg) skewY(-.1953125deg);transform:skewX(-.1953125deg) skewY(-.1953125deg)}}.jello{-webkit-animation-name:jello;animation-name:jello;-webkit-transform-origin:center;transform-origin:center}@-webkit-keyframes bounceIn{100%,20%,40%,60%,80%,from{-webkit-animation-timing-function:cubic-bezier(0.215,.61,.355,1);animation-timing-function:cubic-bezier(0.215,.61,.355,1)}0%{opacity:0;-webkit-transform:scale3d(.3,.3,.3);transform:scale3d(.3,.3,.3)}20%{-webkit-transform:scale3d(1.1,1.1,1.1);transform:scale3d(1.1,1.1,1.1)}40%{-webkit-transform:scale3d(.9,.9,.9);transform:scale3d(.9,.9,.9)}60%{opacity:1;-webkit-transform:scale3d(1.03,1.03,1.03);transform:scale3d(1.03,1.03,1.03)}80%{-webkit-transform:scale3d(.97,.97,.97);transform:scale3d(.97,.97,.97)}100%{opacity:1;-webkit-transform:scale3d(1,1,1);transform:scale3d(1,1,1)}}@keyframes bounceIn{100%,20%,40%,60%,80%,from{-webkit-animation-timing-function:cubic-bezier(0.215,.61,.355,1);animation-timing-function:cubic-bezier(0.215,.61,.355,1)}0%{opacity:0;-webkit-transform:scale3d(.3,.3,.3);transform:scale3d(.3,.3,.3)}20%{-webkit-transform:scale3d(1.1,1.1,1.1);transform:scale3d(1.1,1.1,1.1)}40%{-webkit-transform:scale3d(.9,.9,.9);transform:scale3d(.9,.9,.9)}60%{opacity:1;-webkit-transform:scale3d(1.03,1.03,1.03);transform:scale3d(1.03,1.03,1.03)}80%{-webkit-transform:scale3d(.97,.97,.97);transform:scale3d(.97,.97,.97)}100%{opacity:1;-webkit-transform:scale3d(1,1,1);transform:scale3d(1,1,1)}}.bounceIn{-webkit-animation-name:bounceIn;animation-name:bounceIn}@-webkit-keyframes bounceInDown{100%,60%,75%,90%,from{-webkit-animation-timing-function:cubic-bezier(0.215,.61,.355,1);animation-timing-function:cubic-bezier(0.215,.61,.355,1)}0%{opacity:0;-webkit-transform:translate3d(0,-3000px,0);transform:translate3d(0,-3000px,0)}60%{opacity:1;-webkit-transform:translate3d(0,25px,0);transform:translate3d(0,25px,0)}75%{-webkit-transform:translate3d(0,-10px,0);transform:translate3d(0,-10px,0)}90%{-webkit-transform:translate3d(0,5px,0);transform:translate3d(0,5px,0)}100%{-webkit-transform:none;transform:none}}@keyframes bounceInDown{100%,60%,75%,90%,from{-webkit-animation-timing-function:cubic-bezier(0.215,.61,.355,1);animation-timing-function:cubic-bezier(0.215,.61,.355,1)}0%{opacity:0;-webkit-transform:translate3d(0,-3000px,0);transform:translate3d(0,-3000px,0)}60%{opacity:1;-webkit-transform:translate3d(0,25px,0);transform:translate3d(0,25px,0)}75%{-webkit-transform:translate3d(0,-10px,0);transform:translate3d(0,-10px,0)}90%{-webkit-transform:translate3d(0,5px,0);transform:translate3d(0,5px,0)}100%{-webkit-transform:none;transform:none}}.bounceInDown{-webkit-animation-name:bounceInDown;animation-name:bounceInDown}@-webkit-keyframes bounceInLeft{100%,60%,75%,90%,from{-webkit-animation-timing-function:cubic-bezier(0.215,.61,.355,1);animation-timing-function:cubic-bezier(0.215,.61,.355,1)}0%{opacity:0;-webkit-transform:translate3d(-3000px,0,0);transform:translate3d(-3000px,0,0)}60%{opacity:1;-webkit-transform:translate3d(25px,0,0);transform:translate3d(25px,0,0)}75%{-webkit-transform:translate3d(-10px,0,0);transform:translate3d(-10px,0,0)}90%{-webkit-transform:translate3d(5px,0,0);transform:translate3d(5px,0,0)}100%{-webkit-transform:none;transform:none}}@keyframes bounceInLeft{100%,60%,75%,90%,from{-webkit-animation-timing-function:cubic-bezier(0.215,.61,.355,1);animation-timing-function:cubic-bezier(0.215,.61,.355,1)}0%{opacity:0;-webkit-transform:translate3d(-3000px,0,0);transform:translate3d(-3000px,0,0)}60%{opacity:1;-webkit-transform:translate3d(25px,0,0);transform:translate3d(25px,0,0)}75%{-webkit-transform:translate3d(-10px,0,0);transform:translate3d(-10px,0,0)}90%{-webkit-transform:translate3d(5px,0,0);transform:translate3d(5px,0,0)}100%{-webkit-transform:none;transform:none}}.bounceInLeft{-webkit-animation-name:bounceInLeft;animation-name:bounceInLeft}@-webkit-keyframes bounceInRight{100%,60%,75%,90%,from{-webkit-animation-timing-function:cubic-bezier(0.215,.61,.355,1);animation-timing-function:cubic-bezier(0.215,.61,.355,1)}from{opacity:0;-webkit-transform:translate3d(3000px,0,0);transform:translate3d(3000px,0,0)}60%{opacity:1;-webkit-transform:translate3d(-25px,0,0);transform:translate3d(-25px,0,0)}75%{-webkit-transform:translate3d(10px,0,0);transform:translate3d(10px,0,0)}90%{-webkit-transform:translate3d(-5px,0,0);transform:translate3d(-5px,0,0)}100%{-webkit-transform:none;transform:none}}@keyframes bounceInRight{100%,60%,75%,90%,from{-webkit-animation-timing-function:cubic-bezier(0.215,.61,.355,1);animation-timing-function:cubic-bezier(0.215,.61,.355,1)}from{opacity:0;-webkit-transform:translate3d(3000px,0,0);transform:translate3d(3000px,0,0)}60%{opacity:1;-webkit-transform:translate3d(-25px,0,0);transform:translate3d(-25px,0,0)}75%{-webkit-transform:translate3d(10px,0,0);transform:translate3d(10px,0,0)}90%{-webkit-transform:translate3d(-5px,0,0);transform:translate3d(-5px,0,0)}100%{-webkit-transform:none;transform:none}}.bounceInRight{-webkit-animation-name:bounceInRight;animation-name:bounceInRight}@-webkit-keyframes bounceInUp{100%,60%,75%,90%,from{-webkit-animation-timing-function:cubic-bezier(0.215,.61,.355,1);animation-timing-function:cubic-bezier(0.215,.61,.355,1)}from{opacity:0;-webkit-transform:translate3d(0,3000px,0);transform:translate3d(0,3000px,0)}60%{opacity:1;-webkit-transform:translate3d(0,-20px,0);transform:translate3d(0,-20px,0)}75%{-webkit-transform:translate3d(0,10px,0);transform:translate3d(0,10px,0)}90%{-webkit-transform:translate3d(0,-5px,0);transform:translate3d(0,-5px,0)}100%{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}}@keyframes bounceInUp{100%,60%,75%,90%,from{-webkit-animation-timing-function:cubic-bezier(0.215,.61,.355,1);animation-timing-function:cubic-bezier(0.215,.61,.355,1)}from{opacity:0;-webkit-transform:translate3d(0,3000px,0);transform:translate3d(0,3000px,0)}60%{opacity:1;-webkit-transform:translate3d(0,-20px,0);transform:translate3d(0,-20px,0)}75%{-webkit-transform:translate3d(0,10px,0);transform:translate3d(0,10px,0)}90%{-webkit-transform:translate3d(0,-5px,0);transform:translate3d(0,-5px,0)}100%{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}}.bounceInUp{-webkit-animation-name:bounceInUp;animation-name:bounceInUp}@-webkit-keyframes bounceOut{20%{-webkit-transform:scale3d(.9,.9,.9);transform:scale3d(.9,.9,.9)}50%,55%{opacity:1;-webkit-transform:scale3d(1.1,1.1,1.1);transform:scale3d(1.1,1.1,1.1)}100%{opacity:0;-webkit-transform:scale3d(.3,.3,.3);transform:scale3d(.3,.3,.3)}}@keyframes bounceOut{20%{-webkit-transform:scale3d(.9,.9,.9);transform:scale3d(.9,.9,.9)}50%,55%{opacity:1;-webkit-transform:scale3d(1.1,1.1,1.1);transform:scale3d(1.1,1.1,1.1)}100%{opacity:0;-webkit-transform:scale3d(.3,.3,.3);transform:scale3d(.3,.3,.3)}}.bounceOut{-webkit-animation-name:bounceOut;animation-name:bounceOut}@-webkit-keyframes bounceOutDown{20%{-webkit-transform:translate3d(0,10px,0);transform:translate3d(0,10px,0)}40%,45%{opacity:1;-webkit-transform:translate3d(0,-20px,0);transform:translate3d(0,-20px,0)}100%{opacity:0;-webkit-transform:translate3d(0,2000px,0);transform:translate3d(0,2000px,0)}}@keyframes bounceOutDown{20%{-webkit-transform:translate3d(0,10px,0);transform:translate3d(0,10px,0)}40%,45%{opacity:1;-webkit-transform:translate3d(0,-20px,0);transform:translate3d(0,-20px,0)}100%{opacity:0;-webkit-transform:translate3d(0,2000px,0);transform:translate3d(0,2000px,0)}}.bounceOutDown{-webkit-animation-name:bounceOutDown;animation-name:bounceOutDown}@-webkit-keyframes bounceOutLeft{20%{opacity:1;-webkit-transform:translate3d(20px,0,0);transform:translate3d(20px,0,0)}100%{opacity:0;-webkit-transform:translate3d(-2000px,0,0);transform:translate3d(-2000px,0,0)}}@keyframes bounceOutLeft{20%{opacity:1;-webkit-transform:translate3d(20px,0,0);transform:translate3d(20px,0,0)}100%{opacity:0;-webkit-transform:translate3d(-2000px,0,0);transform:translate3d(-2000px,0,0)}}.bounceOutLeft{-webkit-animation-name:bounceOutLeft;animation-name:bounceOutLeft}@-webkit-keyframes bounceOutRight{20%{opacity:1;-webkit-transform:translate3d(-20px,0,0);transform:translate3d(-20px,0,0)}100%{opacity:0;-webkit-transform:translate3d(2000px,0,0);transform:translate3d(2000px,0,0)}}@keyframes bounceOutRight{20%{opacity:1;-webkit-transform:translate3d(-20px,0,0);transform:translate3d(-20px,0,0)}100%{opacity:0;-webkit-transform:translate3d(2000px,0,0);transform:translate3d(2000px,0,0)}}.bounceOutRight{-webkit-animation-name:bounceOutRight;animation-name:bounceOutRight}@-webkit-keyframes bounceOutUp{20%{-webkit-transform:translate3d(0,-10px,0);transform:translate3d(0,-10px,0)}40%,45%{opacity:1;-webkit-transform:translate3d(0,20px,0);transform:translate3d(0,20px,0)}100%{opacity:0;-webkit-transform:translate3d(0,-2000px,0);transform:translate3d(0,-2000px,0)}}@keyframes bounceOutUp{20%{-webkit-transform:translate3d(0,-10px,0);transform:translate3d(0,-10px,0)}40%,45%{opacity:1;-webkit-transform:translate3d(0,20px,0);transform:translate3d(0,20px,0)}100%{opacity:0;-webkit-transform:translate3d(0,-2000px,0);transform:translate3d(0,-2000px,0)}}.bounceOutUp{-webkit-animation-name:bounceOutUp;animation-name:bounceOutUp}@-webkit-keyframes fadeIn{from{opacity:0}100%{opacity:1}}@keyframes fadeIn{from{opacity:0}100%{opacity:1}}.fadeIn{-webkit-animation-name:fadeIn;animation-name:fadeIn}@-webkit-keyframes fadeInDown{from{opacity:0;-webkit-transform:translate3d(0,-100%,0);transform:translate3d(0,-100%,0)}100%{opacity:1;-webkit-transform:none;transform:none}}@keyframes fadeInDown{from{opacity:0;-webkit-transform:translate3d(0,-100%,0);transform:translate3d(0,-100%,0)}100%{opacity:1;-webkit-transform:none;transform:none}}.fadeInDown{-webkit-animation-name:fadeInDown;animation-name:fadeInDown}@-webkit-keyframes fadeInDownBig{from{opacity:0;-webkit-transform:translate3d(0,-2000px,0);transform:translate3d(0,-2000px,0)}100%{opacity:1;-webkit-transform:none;transform:none}}@keyframes fadeInDownBig{from{opacity:0;-webkit-transform:translate3d(0,-2000px,0);transform:translate3d(0,-2000px,0)}100%{opacity:1;-webkit-transform:none;transform:none}}.fadeInDownBig{-webkit-animation-name:fadeInDownBig;animation-name:fadeInDownBig}@-webkit-keyframes fadeInLeft{from{opacity:0;-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0)}100%{opacity:1;-webkit-transform:none;transform:none}}@keyframes fadeInLeft{from{opacity:0;-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0)}100%{opacity:1;-webkit-transform:none;transform:none}}.fadeInLeft{-webkit-animation-name:fadeInLeft;animation-name:fadeInLeft}@-webkit-keyframes fadeInLeftBig{from{opacity:0;-webkit-transform:translate3d(-2000px,0,0);transform:translate3d(-2000px,0,0)}100%{opacity:1;-webkit-transform:none;transform:none}}@keyframes fadeInLeftBig{from{opacity:0;-webkit-transform:translate3d(-2000px,0,0);transform:translate3d(-2000px,0,0)}100%{opacity:1;-webkit-transform:none;transform:none}}.fadeInLeftBig{-webkit-animation-name:fadeInLeftBig;animation-name:fadeInLeftBig}@-webkit-keyframes fadeInRight{from{opacity:0;-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0)}100%{opacity:1;-webkit-transform:none;transform:none}}@keyframes fadeInRight{from{opacity:0;-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0)}100%{opacity:1;-webkit-transform:none;transform:none}}.fadeInRight{-webkit-animation-name:fadeInRight;animation-name:fadeInRight}@-webkit-keyframes fadeInRightBig{from{opacity:0;-webkit-transform:translate3d(2000px,0,0);transform:translate3d(2000px,0,0)}100%{opacity:1;-webkit-transform:none;transform:none}}@keyframes fadeInRightBig{from{opacity:0;-webkit-transform:translate3d(2000px,0,0);transform:translate3d(2000px,0,0)}100%{opacity:1;-webkit-transform:none;transform:none}}.fadeInRightBig{-webkit-animation-name:fadeInRightBig;animation-name:fadeInRightBig}@-webkit-keyframes fadeInUp{from{opacity:0;-webkit-transform:translate3d(0,100%,0);transform:translate3d(0,100%,0)}100%{opacity:1;-webkit-transform:none;transform:none}}@keyframes fadeInUp{from{opacity:0;-webkit-transform:translate3d(0,100%,0);transform:translate3d(0,100%,0)}100%{opacity:1;-webkit-transform:none;transform:none}}.fadeInUp{-webkit-animation-name:fadeInUp;animation-name:fadeInUp}@-webkit-keyframes fadeInUpBig{from{opacity:0;-webkit-transform:translate3d(0,2000px,0);transform:translate3d(0,2000px,0)}100%{opacity:1;-webkit-transform:none;transform:none}}@keyframes fadeInUpBig{from{opacity:0;-webkit-transform:translate3d(0,2000px,0);transform:translate3d(0,2000px,0)}100%{opacity:1;-webkit-transform:none;transform:none}}.fadeInUpBig{-webkit-animation-name:fadeInUpBig;animation-name:fadeInUpBig}@-webkit-keyframes fadeOut{from{opacity:1}100%{opacity:0}}@keyframes fadeOut{from{opacity:1}100%{opacity:0}}.fadeOut{-webkit-animation-name:fadeOut;animation-name:fadeOut}@-webkit-keyframes fadeOutDown{from{opacity:1}100%{opacity:0;-webkit-transform:translate3d(0,100%,0);transform:translate3d(0,100%,0)}}@keyframes fadeOutDown{from{opacity:1}100%{opacity:0;-webkit-transform:translate3d(0,100%,0);transform:translate3d(0,100%,0)}}.fadeOutDown{-webkit-animation-name:fadeOutDown;animation-name:fadeOutDown}@-webkit-keyframes fadeOutDownBig{from{opacity:1}100%{opacity:0;-webkit-transform:translate3d(0,2000px,0);transform:translate3d(0,2000px,0)}}@keyframes fadeOutDownBig{from{opacity:1}100%{opacity:0;-webkit-transform:translate3d(0,2000px,0);transform:translate3d(0,2000px,0)}}.fadeOutDownBig{-webkit-animation-name:fadeOutDownBig;animation-name:fadeOutDownBig}@-webkit-keyframes fadeOutLeft{from{opacity:1}100%{opacity:0;-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0)}}@keyframes fadeOutLeft{from{opacity:1}100%{opacity:0;-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0)}}.fadeOutLeft{-webkit-animation-name:fadeOutLeft;animation-name:fadeOutLeft}@-webkit-keyframes fadeOutLeftBig{from{opacity:1}100%{opacity:0;-webkit-transform:translate3d(-2000px,0,0);transform:translate3d(-2000px,0,0)}}@keyframes fadeOutLeftBig{from{opacity:1}100%{opacity:0;-webkit-transform:translate3d(-2000px,0,0);transform:translate3d(-2000px,0,0)}}.fadeOutLeftBig{-webkit-animation-name:fadeOutLeftBig;animation-name:fadeOutLeftBig}@-webkit-keyframes fadeOutRight{from{opacity:1}100%{opacity:0;-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0)}}@keyframes fadeOutRight{from{opacity:1}100%{opacity:0;-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0)}}.fadeOutRight{-webkit-animation-name:fadeOutRight;animation-name:fadeOutRight}@-webkit-keyframes fadeOutRightBig{from{opacity:1}100%{opacity:0;-webkit-transform:translate3d(2000px,0,0);transform:translate3d(2000px,0,0)}}@keyframes fadeOutRightBig{from{opacity:1}100%{opacity:0;-webkit-transform:translate3d(2000px,0,0);transform:translate3d(2000px,0,0)}}.fadeOutRightBig{-webkit-animation-name:fadeOutRightBig;animation-name:fadeOutRightBig}@-webkit-keyframes fadeOutUp{from{opacity:1}100%{opacity:0;-webkit-transform:translate3d(0,-100%,0);transform:translate3d(0,-100%,0)}}@keyframes fadeOutUp{from{opacity:1}100%{opacity:0;-webkit-transform:translate3d(0,-100%,0);transform:translate3d(0,-100%,0)}}.fadeOutUp{-webkit-animation-name:fadeOutUp;animation-name:fadeOutUp}@-webkit-keyframes fadeOutUpBig{from{opacity:1}100%{opacity:0;-webkit-transform:translate3d(0,-2000px,0);transform:translate3d(0,-2000px,0)}}@keyframes fadeOutUpBig{from{opacity:1}100%{opacity:0;-webkit-transform:translate3d(0,-2000px,0);transform:translate3d(0,-2000px,0)}}.fadeOutUpBig{-webkit-animation-name:fadeOutUpBig;animation-name:fadeOutUpBig}@-webkit-keyframes flip{from{-webkit-transform:perspective(400px) rotate3d(0,1,0,-360deg);transform:perspective(400px) rotate3d(0,1,0,-360deg);-webkit-animation-timing-function:ease-out;animation-timing-function:ease-out}40%{-webkit-transform:perspective(400px) translate3d(0,0,150px) rotate3d(0,1,0,-190deg);transform:perspective(400px) translate3d(0,0,150px) rotate3d(0,1,0,-190deg);-webkit-animation-timing-function:ease-out;animation-timing-function:ease-out}50%{-webkit-transform:perspective(400px) translate3d(0,0,150px) rotate3d(0,1,0,-170deg);transform:perspective(400px) translate3d(0,0,150px) rotate3d(0,1,0,-170deg);-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in}80%{-webkit-transform:perspective(400px) scale3d(.95,.95,.95);transform:perspective(400px) scale3d(.95,.95,.95);-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in}100%{-webkit-transform:perspective(400px);transform:perspective(400px);-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in}}@keyframes flip{from{-webkit-transform:perspective(400px) rotate3d(0,1,0,-360deg);transform:perspective(400px) rotate3d(0,1,0,-360deg);-webkit-animation-timing-function:ease-out;animation-timing-function:ease-out}40%{-webkit-transform:perspective(400px) translate3d(0,0,150px) rotate3d(0,1,0,-190deg);transform:perspective(400px) translate3d(0,0,150px) rotate3d(0,1,0,-190deg);-webkit-animation-timing-function:ease-out;animation-timing-function:ease-out}50%{-webkit-transform:perspective(400px) translate3d(0,0,150px) rotate3d(0,1,0,-170deg);transform:perspective(400px) translate3d(0,0,150px) rotate3d(0,1,0,-170deg);-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in}80%{-webkit-transform:perspective(400px) scale3d(.95,.95,.95);transform:perspective(400px) scale3d(.95,.95,.95);-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in}100%{-webkit-transform:perspective(400px);transform:perspective(400px);-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in}}.animated.flip{-webkit-backface-visibility:visible;backface-visibility:visible;-webkit-animation-name:flip;animation-name:flip}@-webkit-keyframes flipInX{from{-webkit-transform:perspective(400px) rotate3d(1,0,0,90deg);transform:perspective(400px) rotate3d(1,0,0,90deg);-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in;opacity:0}40%{-webkit-transform:perspective(400px) rotate3d(1,0,0,-20deg);transform:perspective(400px) rotate3d(1,0,0,-20deg);-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in}60%{-webkit-transform:perspective(400px) rotate3d(1,0,0,10deg);transform:perspective(400px) rotate3d(1,0,0,10deg);opacity:1}80%{-webkit-transform:perspective(400px) rotate3d(1,0,0,-5deg);transform:perspective(400px) rotate3d(1,0,0,-5deg)}100%{-webkit-transform:perspective(400px);transform:perspective(400px)}}@keyframes flipInX{from{-webkit-transform:perspective(400px) rotate3d(1,0,0,90deg);transform:perspective(400px) rotate3d(1,0,0,90deg);-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in;opacity:0}40%{-webkit-transform:perspective(400px) rotate3d(1,0,0,-20deg);transform:perspective(400px) rotate3d(1,0,0,-20deg);-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in}60%{-webkit-transform:perspective(400px) rotate3d(1,0,0,10deg);transform:perspective(400px) rotate3d(1,0,0,10deg);opacity:1}80%{-webkit-transform:perspective(400px) rotate3d(1,0,0,-5deg);transform:perspective(400px) rotate3d(1,0,0,-5deg)}100%{-webkit-transform:perspective(400px);transform:perspective(400px)}}.flipInX{-webkit-backface-visibility:visible!important;backface-visibility:visible!important;-webkit-animation-name:flipInX;animation-name:flipInX}@-webkit-keyframes flipInY{from{-webkit-transform:perspective(400px) rotate3d(0,1,0,90deg);transform:perspective(400px) rotate3d(0,1,0,90deg);-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in;opacity:0}40%{-webkit-transform:perspective(400px) rotate3d(0,1,0,-20deg);transform:perspective(400px) rotate3d(0,1,0,-20deg);-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in}60%{-webkit-transform:perspective(400px) rotate3d(0,1,0,10deg);transform:perspective(400px) rotate3d(0,1,0,10deg);opacity:1}80%{-webkit-transform:perspective(400px) rotate3d(0,1,0,-5deg);transform:perspective(400px) rotate3d(0,1,0,-5deg)}100%{-webkit-transform:perspective(400px);transform:perspective(400px)}}@keyframes flipInY{from{-webkit-transform:perspective(400px) rotate3d(0,1,0,90deg);transform:perspective(400px) rotate3d(0,1,0,90deg);-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in;opacity:0}40%{-webkit-transform:perspective(400px) rotate3d(0,1,0,-20deg);transform:perspective(400px) rotate3d(0,1,0,-20deg);-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in}60%{-webkit-transform:perspective(400px) rotate3d(0,1,0,10deg);transform:perspective(400px) rotate3d(0,1,0,10deg);opacity:1}80%{-webkit-transform:perspective(400px) rotate3d(0,1,0,-5deg);transform:perspective(400px) rotate3d(0,1,0,-5deg)}100%{-webkit-transform:perspective(400px);transform:perspective(400px)}}.flipInY{-webkit-backface-visibility:visible!important;backface-visibility:visible!important;-webkit-animation-name:flipInY;animation-name:flipInY}@-webkit-keyframes flipOutX{from{-webkit-transform:perspective(400px);transform:perspective(400px)}30%{-webkit-transform:perspective(400px) rotate3d(1,0,0,-20deg);transform:perspective(400px) rotate3d(1,0,0,-20deg);opacity:1}100%{-webkit-transform:perspective(400px) rotate3d(1,0,0,90deg);transform:perspective(400px) rotate3d(1,0,0,90deg);opacity:0}}@keyframes flipOutX{from{-webkit-transform:perspective(400px);transform:perspective(400px)}30%{-webkit-transform:perspective(400px) rotate3d(1,0,0,-20deg);transform:perspective(400px) rotate3d(1,0,0,-20deg);opacity:1}100%{-webkit-transform:perspective(400px) rotate3d(1,0,0,90deg);transform:perspective(400px) rotate3d(1,0,0,90deg);opacity:0}}.flipOutX{-webkit-animation-name:flipOutX;animation-name:flipOutX;-webkit-backface-visibility:visible!important;backface-visibility:visible!important}@-webkit-keyframes flipOutY{from{-webkit-transform:perspective(400px);transform:perspective(400px)}30%{-webkit-transform:perspective(400px) rotate3d(0,1,0,-15deg);transform:perspective(400px) rotate3d(0,1,0,-15deg);opacity:1}100%{-webkit-transform:perspective(400px) rotate3d(0,1,0,90deg);transform:perspective(400px) rotate3d(0,1,0,90deg);opacity:0}}@keyframes flipOutY{from{-webkit-transform:perspective(400px);transform:perspective(400px)}30%{-webkit-transform:perspective(400px) rotate3d(0,1,0,-15deg);transform:perspective(400px) rotate3d(0,1,0,-15deg);opacity:1}100%{-webkit-transform:perspective(400px) rotate3d(0,1,0,90deg);transform:perspective(400px) rotate3d(0,1,0,90deg);opacity:0}}.flipOutY{-webkit-backface-visibility:visible!important;backface-visibility:visible!important;-webkit-animation-name:flipOutY;animation-name:flipOutY}@-webkit-keyframes lightSpeedIn{from{-webkit-transform:translate3d(100%,0,0) skewX(-30deg);transform:translate3d(100%,0,0) skewX(-30deg);opacity:0}60%{-webkit-transform:skewX(20deg);transform:skewX(20deg);opacity:1}80%{-webkit-transform:skewX(-5deg);transform:skewX(-5deg);opacity:1}100%{-webkit-transform:none;transform:none;opacity:1}}@keyframes lightSpeedIn{from{-webkit-transform:translate3d(100%,0,0) skewX(-30deg);transform:translate3d(100%,0,0) skewX(-30deg);opacity:0}60%{-webkit-transform:skewX(20deg);transform:skewX(20deg);opacity:1}80%{-webkit-transform:skewX(-5deg);transform:skewX(-5deg);opacity:1}100%{-webkit-transform:none;transform:none;opacity:1}}.lightSpeedIn{-webkit-animation-name:lightSpeedIn;animation-name:lightSpeedIn;-webkit-animation-timing-function:ease-out;animation-timing-function:ease-out}@-webkit-keyframes lightSpeedOut{from{opacity:1}100%{-webkit-transform:translate3d(100%,0,0) skewX(30deg);transform:translate3d(100%,0,0) skewX(30deg);opacity:0}}@keyframes lightSpeedOut{from{opacity:1}100%{-webkit-transform:translate3d(100%,0,0) skewX(30deg);transform:translate3d(100%,0,0) skewX(30deg);opacity:0}}.lightSpeedOut{-webkit-animation-name:lightSpeedOut;animation-name:lightSpeedOut;-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in}@-webkit-keyframes rotateIn{from{-webkit-transform-origin:center;transform-origin:center;-webkit-transform:rotate3d(0,0,1,-200deg);transform:rotate3d(0,0,1,-200deg);opacity:0}100%{-webkit-transform-origin:center;transform-origin:center;-webkit-transform:none;transform:none;opacity:1}}@keyframes rotateIn{from{-webkit-transform-origin:center;transform-origin:center;-webkit-transform:rotate3d(0,0,1,-200deg);transform:rotate3d(0,0,1,-200deg);opacity:0}100%{-webkit-transform-origin:center;transform-origin:center;-webkit-transform:none;transform:none;opacity:1}}.rotateIn{-webkit-animation-name:rotateIn;animation-name:rotateIn}@-webkit-keyframes rotateInDownLeft{from{-webkit-transform-origin:left bottom;transform-origin:left bottom;-webkit-transform:rotate3d(0,0,1,-45deg);transform:rotate3d(0,0,1,-45deg);opacity:0}100%{-webkit-transform-origin:left bottom;transform-origin:left bottom;-webkit-transform:none;transform:none;opacity:1}}@keyframes rotateInDownLeft{from{-webkit-transform-origin:left bottom;transform-origin:left bottom;-webkit-transform:rotate3d(0,0,1,-45deg);transform:rotate3d(0,0,1,-45deg);opacity:0}100%{-webkit-transform-origin:left bottom;transform-origin:left bottom;-webkit-transform:none;transform:none;opacity:1}}.rotateInDownLeft{-webkit-animation-name:rotateInDownLeft;animation-name:rotateInDownLeft}@-webkit-keyframes rotateInDownRight{from{-webkit-transform-origin:right bottom;transform-origin:right bottom;-webkit-transform:rotate3d(0,0,1,45deg);transform:rotate3d(0,0,1,45deg);opacity:0}100%{-webkit-transform-origin:right bottom;transform-origin:right bottom;-webkit-transform:none;transform:none;opacity:1}}@keyframes rotateInDownRight{from{-webkit-transform-origin:right bottom;transform-origin:right bottom;-webkit-transform:rotate3d(0,0,1,45deg);transform:rotate3d(0,0,1,45deg);opacity:0}100%{-webkit-transform-origin:right bottom;transform-origin:right bottom;-webkit-transform:none;transform:none;opacity:1}}.rotateInDownRight{-webkit-animation-name:rotateInDownRight;animation-name:rotateInDownRight}@-webkit-keyframes rotateInUpLeft{from{-webkit-transform-origin:left bottom;transform-origin:left bottom;-webkit-transform:rotate3d(0,0,1,45deg);transform:rotate3d(0,0,1,45deg);opacity:0}100%{-webkit-transform-origin:left bottom;transform-origin:left bottom;-webkit-transform:none;transform:none;opacity:1}}@keyframes rotateInUpLeft{from{-webkit-transform-origin:left bottom;transform-origin:left bottom;-webkit-transform:rotate3d(0,0,1,45deg);transform:rotate3d(0,0,1,45deg);opacity:0}100%{-webkit-transform-origin:left bottom;transform-origin:left bottom;-webkit-transform:none;transform:none;opacity:1}}.rotateInUpLeft{-webkit-animation-name:rotateInUpLeft;animation-name:rotateInUpLeft}@-webkit-keyframes rotateInUpRight{from{-webkit-transform-origin:right bottom;transform-origin:right bottom;-webkit-transform:rotate3d(0,0,1,-90deg);transform:rotate3d(0,0,1,-90deg);opacity:0}100%{-webkit-transform-origin:right bottom;transform-origin:right bottom;-webkit-transform:none;transform:none;opacity:1}}@keyframes rotateInUpRight{from{-webkit-transform-origin:right bottom;transform-origin:right bottom;-webkit-transform:rotate3d(0,0,1,-90deg);transform:rotate3d(0,0,1,-90deg);opacity:0}100%{-webkit-transform-origin:right bottom;transform-origin:right bottom;-webkit-transform:none;transform:none;opacity:1}}.rotateInUpRight{-webkit-animation-name:rotateInUpRight;animation-name:rotateInUpRight}@-webkit-keyframes rotateOut{from{-webkit-transform-origin:center;transform-origin:center;opacity:1}100%{-webkit-transform-origin:center;transform-origin:center;-webkit-transform:rotate3d(0,0,1,200deg);transform:rotate3d(0,0,1,200deg);opacity:0}}@keyframes rotateOut{from{-webkit-transform-origin:center;transform-origin:center;opacity:1}100%{-webkit-transform-origin:center;transform-origin:center;-webkit-transform:rotate3d(0,0,1,200deg);transform:rotate3d(0,0,1,200deg);opacity:0}}.rotateOut{-webkit-animation-name:rotateOut;animation-name:rotateOut}@-webkit-keyframes rotateOutDownLeft{from{-webkit-transform-origin:left bottom;transform-origin:left bottom;opacity:1}100%{-webkit-transform-origin:left bottom;transform-origin:left bottom;-webkit-transform:rotate3d(0,0,1,45deg);transform:rotate3d(0,0,1,45deg);opacity:0}}@keyframes rotateOutDownLeft{from{-webkit-transform-origin:left bottom;transform-origin:left bottom;opacity:1}100%{-webkit-transform-origin:left bottom;transform-origin:left bottom;-webkit-transform:rotate3d(0,0,1,45deg);transform:rotate3d(0,0,1,45deg);opacity:0}}.rotateOutDownLeft{-webkit-animation-name:rotateOutDownLeft;animation-name:rotateOutDownLeft}@-webkit-keyframes rotateOutDownRight{from{-webkit-transform-origin:right bottom;transform-origin:right bottom;opacity:1}100%{-webkit-transform-origin:right bottom;transform-origin:right bottom;-webkit-transform:rotate3d(0,0,1,-45deg);transform:rotate3d(0,0,1,-45deg);opacity:0}}@keyframes rotateOutDownRight{from{-webkit-transform-origin:right bottom;transform-origin:right bottom;opacity:1}100%{-webkit-transform-origin:right bottom;transform-origin:right bottom;-webkit-transform:rotate3d(0,0,1,-45deg);transform:rotate3d(0,0,1,-45deg);opacity:0}}.rotateOutDownRight{-webkit-animation-name:rotateOutDownRight;animation-name:rotateOutDownRight}@-webkit-keyframes rotateOutUpLeft{from{-webkit-transform-origin:left bottom;transform-origin:left bottom;opacity:1}100%{-webkit-transform-origin:left bottom;transform-origin:left bottom;-webkit-transform:rotate3d(0,0,1,-45deg);transform:rotate3d(0,0,1,-45deg);opacity:0}}@keyframes rotateOutUpLeft{from{-webkit-transform-origin:left bottom;transform-origin:left bottom;opacity:1}100%{-webkit-transform-origin:left bottom;transform-origin:left bottom;-webkit-transform:rotate3d(0,0,1,-45deg);transform:rotate3d(0,0,1,-45deg);opacity:0}}.rotateOutUpLeft{-webkit-animation-name:rotateOutUpLeft;animation-name:rotateOutUpLeft}@-webkit-keyframes rotateOutUpRight{from{-webkit-transform-origin:right bottom;transform-origin:right bottom;opacity:1}100%{-webkit-transform-origin:right bottom;transform-origin:right bottom;-webkit-transform:rotate3d(0,0,1,90deg);transform:rotate3d(0,0,1,90deg);opacity:0}}@keyframes rotateOutUpRight{from{-webkit-transform-origin:right bottom;transform-origin:right bottom;opacity:1}100%{-webkit-transform-origin:right bottom;transform-origin:right bottom;-webkit-transform:rotate3d(0,0,1,90deg);transform:rotate3d(0,0,1,90deg);opacity:0}}.rotateOutUpRight{-webkit-animation-name:rotateOutUpRight;animation-name:rotateOutUpRight}@-webkit-keyframes hinge{0%{-webkit-transform-origin:top left;transform-origin:top left;-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out}20%,60%{-webkit-transform:rotate3d(0,0,1,80deg);transform:rotate3d(0,0,1,80deg);-webkit-transform-origin:top left;transform-origin:top left;-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out}40%,80%{-webkit-transform:rotate3d(0,0,1,60deg);transform:rotate3d(0,0,1,60deg);-webkit-transform-origin:top left;transform-origin:top left;-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out;opacity:1}100%{-webkit-transform:translate3d(0,700px,0);transform:translate3d(0,700px,0);opacity:0}}@keyframes hinge{0%{-webkit-transform-origin:top left;transform-origin:top left;-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out}20%,60%{-webkit-transform:rotate3d(0,0,1,80deg);transform:rotate3d(0,0,1,80deg);-webkit-transform-origin:top left;transform-origin:top left;-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out}40%,80%{-webkit-transform:rotate3d(0,0,1,60deg);transform:rotate3d(0,0,1,60deg);-webkit-transform-origin:top left;transform-origin:top left;-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out;opacity:1}100%{-webkit-transform:translate3d(0,700px,0);transform:translate3d(0,700px,0);opacity:0}}.hinge{-webkit-animation-name:hinge;animation-name:hinge}@-webkit-keyframes rollIn{from{opacity:0;-webkit-transform:translate3d(-100%,0,0) rotate3d(0,0,1,-120deg);transform:translate3d(-100%,0,0) rotate3d(0,0,1,-120deg)}100%{opacity:1;-webkit-transform:none;transform:none}}@keyframes rollIn{from{opacity:0;-webkit-transform:translate3d(-100%,0,0) rotate3d(0,0,1,-120deg);transform:translate3d(-100%,0,0) rotate3d(0,0,1,-120deg)}100%{opacity:1;-webkit-transform:none;transform:none}}.rollIn{-webkit-animation-name:rollIn;animation-name:rollIn}@-webkit-keyframes rollOut{from{opacity:1}100%{opacity:0;-webkit-transform:translate3d(100%,0,0) rotate3d(0,0,1,120deg);transform:translate3d(100%,0,0) rotate3d(0,0,1,120deg)}}@keyframes rollOut{from{opacity:1}100%{opacity:0;-webkit-transform:translate3d(100%,0,0) rotate3d(0,0,1,120deg);transform:translate3d(100%,0,0) rotate3d(0,0,1,120deg)}}.rollOut{-webkit-animation-name:rollOut;animation-name:rollOut}@-webkit-keyframes zoomIn{from{opacity:0;-webkit-transform:scale3d(.3,.3,.3);transform:scale3d(.3,.3,.3)}50%{opacity:1}}@keyframes zoomIn{from{opacity:0;-webkit-transform:scale3d(.3,.3,.3);transform:scale3d(.3,.3,.3)}50%{opacity:1}}.zoomIn{-webkit-animation-name:zoomIn;animation-name:zoomIn}@-webkit-keyframes zoomInDown{from{opacity:0;-webkit-transform:scale3d(.1,.1,.1) translate3d(0,-1000px,0);transform:scale3d(.1,.1,.1) translate3d(0,-1000px,0);-webkit-animation-timing-function:cubic-bezier(0.55,.055,.675,.19);animation-timing-function:cubic-bezier(0.55,.055,.675,.19)}60%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(0,60px,0);transform:scale3d(.475,.475,.475) translate3d(0,60px,0);-webkit-animation-timing-function:cubic-bezier(0.175,.885,.32,1);animation-timing-function:cubic-bezier(0.175,.885,.32,1)}}@keyframes zoomInDown{from{opacity:0;-webkit-transform:scale3d(.1,.1,.1) translate3d(0,-1000px,0);transform:scale3d(.1,.1,.1) translate3d(0,-1000px,0);-webkit-animation-timing-function:cubic-bezier(0.55,.055,.675,.19);animation-timing-function:cubic-bezier(0.55,.055,.675,.19)}60%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(0,60px,0);transform:scale3d(.475,.475,.475) translate3d(0,60px,0);-webkit-animation-timing-function:cubic-bezier(0.175,.885,.32,1);animation-timing-function:cubic-bezier(0.175,.885,.32,1)}}.zoomInDown{-webkit-animation-name:zoomInDown;animation-name:zoomInDown}@-webkit-keyframes zoomInLeft{from{opacity:0;-webkit-transform:scale3d(.1,.1,.1) translate3d(-1000px,0,0);transform:scale3d(.1,.1,.1) translate3d(-1000px,0,0);-webkit-animation-timing-function:cubic-bezier(0.55,.055,.675,.19);animation-timing-function:cubic-bezier(0.55,.055,.675,.19)}60%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(10px,0,0);transform:scale3d(.475,.475,.475) translate3d(10px,0,0);-webkit-animation-timing-function:cubic-bezier(0.175,.885,.32,1);animation-timing-function:cubic-bezier(0.175,.885,.32,1)}}@keyframes zoomInLeft{from{opacity:0;-webkit-transform:scale3d(.1,.1,.1) translate3d(-1000px,0,0);transform:scale3d(.1,.1,.1) translate3d(-1000px,0,0);-webkit-animation-timing-function:cubic-bezier(0.55,.055,.675,.19);animation-timing-function:cubic-bezier(0.55,.055,.675,.19)}60%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(10px,0,0);transform:scale3d(.475,.475,.475) translate3d(10px,0,0);-webkit-animation-timing-function:cubic-bezier(0.175,.885,.32,1);animation-timing-function:cubic-bezier(0.175,.885,.32,1)}}.zoomInLeft{-webkit-animation-name:zoomInLeft;animation-name:zoomInLeft}@-webkit-keyframes zoomInRight{from{opacity:0;-webkit-transform:scale3d(.1,.1,.1) translate3d(1000px,0,0);transform:scale3d(.1,.1,.1) translate3d(1000px,0,0);-webkit-animation-timing-function:cubic-bezier(0.55,.055,.675,.19);animation-timing-function:cubic-bezier(0.55,.055,.675,.19)}60%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(-10px,0,0);transform:scale3d(.475,.475,.475) translate3d(-10px,0,0);-webkit-animation-timing-function:cubic-bezier(0.175,.885,.32,1);animation-timing-function:cubic-bezier(0.175,.885,.32,1)}}@keyframes zoomInRight{from{opacity:0;-webkit-transform:scale3d(.1,.1,.1) translate3d(1000px,0,0);transform:scale3d(.1,.1,.1) translate3d(1000px,0,0);-webkit-animation-timing-function:cubic-bezier(0.55,.055,.675,.19);animation-timing-function:cubic-bezier(0.55,.055,.675,.19)}60%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(-10px,0,0);transform:scale3d(.475,.475,.475) translate3d(-10px,0,0);-webkit-animation-timing-function:cubic-bezier(0.175,.885,.32,1);animation-timing-function:cubic-bezier(0.175,.885,.32,1)}}.zoomInRight{-webkit-animation-name:zoomInRight;animation-name:zoomInRight}@-webkit-keyframes zoomInUp{from{opacity:0;-webkit-transform:scale3d(.1,.1,.1) translate3d(0,1000px,0);transform:scale3d(.1,.1,.1) translate3d(0,1000px,0);-webkit-animation-timing-function:cubic-bezier(0.55,.055,.675,.19);animation-timing-function:cubic-bezier(0.55,.055,.675,.19)}60%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(0,-60px,0);transform:scale3d(.475,.475,.475) translate3d(0,-60px,0);-webkit-animation-timing-function:cubic-bezier(0.175,.885,.32,1);animation-timing-function:cubic-bezier(0.175,.885,.32,1)}}@keyframes zoomInUp{from{opacity:0;-webkit-transform:scale3d(.1,.1,.1) translate3d(0,1000px,0);transform:scale3d(.1,.1,.1) translate3d(0,1000px,0);-webkit-animation-timing-function:cubic-bezier(0.55,.055,.675,.19);animation-timing-function:cubic-bezier(0.55,.055,.675,.19)}60%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(0,-60px,0);transform:scale3d(.475,.475,.475) translate3d(0,-60px,0);-webkit-animation-timing-function:cubic-bezier(0.175,.885,.32,1);animation-timing-function:cubic-bezier(0.175,.885,.32,1)}}.zoomInUp{-webkit-animation-name:zoomInUp;animation-name:zoomInUp}@-webkit-keyframes zoomOut{from{opacity:1}50%{opacity:0;-webkit-transform:scale3d(.3,.3,.3);transform:scale3d(.3,.3,.3)}100%{opacity:0}}@keyframes zoomOut{from{opacity:1}50%{opacity:0;-webkit-transform:scale3d(.3,.3,.3);transform:scale3d(.3,.3,.3)}100%{opacity:0}}.zoomOut{-webkit-animation-name:zoomOut;animation-name:zoomOut}@-webkit-keyframes zoomOutDown{40%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(0,-60px,0);transform:scale3d(.475,.475,.475) translate3d(0,-60px,0);-webkit-animation-timing-function:cubic-bezier(0.55,.055,.675,.19);animation-timing-function:cubic-bezier(0.55,.055,.675,.19)}100%{opacity:0;-webkit-transform:scale3d(.1,.1,.1) translate3d(0,2000px,0);transform:scale3d(.1,.1,.1) translate3d(0,2000px,0);-webkit-transform-origin:center bottom;transform-origin:center bottom;-webkit-animation-timing-function:cubic-bezier(0.175,.885,.32,1);animation-timing-function:cubic-bezier(0.175,.885,.32,1)}}@keyframes zoomOutDown{40%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(0,-60px,0);transform:scale3d(.475,.475,.475) translate3d(0,-60px,0);-webkit-animation-timing-function:cubic-bezier(0.55,.055,.675,.19);animation-timing-function:cubic-bezier(0.55,.055,.675,.19)}100%{opacity:0;-webkit-transform:scale3d(.1,.1,.1) translate3d(0,2000px,0);transform:scale3d(.1,.1,.1) translate3d(0,2000px,0);-webkit-transform-origin:center bottom;transform-origin:center bottom;-webkit-animation-timing-function:cubic-bezier(0.175,.885,.32,1);animation-timing-function:cubic-bezier(0.175,.885,.32,1)}}.zoomOutDown{-webkit-animation-name:zoomOutDown;animation-name:zoomOutDown}@-webkit-keyframes zoomOutLeft{40%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(42px,0,0);transform:scale3d(.475,.475,.475) translate3d(42px,0,0)}100%{opacity:0;-webkit-transform:scale(.1) translate3d(-2000px,0,0);transform:scale(.1) translate3d(-2000px,0,0);-webkit-transform-origin:left center;transform-origin:left center}}@keyframes zoomOutLeft{40%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(42px,0,0);transform:scale3d(.475,.475,.475) translate3d(42px,0,0)}100%{opacity:0;-webkit-transform:scale(.1) translate3d(-2000px,0,0);transform:scale(.1) translate3d(-2000px,0,0);-webkit-transform-origin:left center;transform-origin:left center}}.zoomOutLeft{-webkit-animation-name:zoomOutLeft;animation-name:zoomOutLeft}@-webkit-keyframes zoomOutRight{40%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(-42px,0,0);transform:scale3d(.475,.475,.475) translate3d(-42px,0,0)}100%{opacity:0;-webkit-transform:scale(.1) translate3d(2000px,0,0);transform:scale(.1) translate3d(2000px,0,0);-webkit-transform-origin:right center;transform-origin:right center}}@keyframes zoomOutRight{40%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(-42px,0,0);transform:scale3d(.475,.475,.475) translate3d(-42px,0,0)}100%{opacity:0;-webkit-transform:scale(.1) translate3d(2000px,0,0);transform:scale(.1) translate3d(2000px,0,0);-webkit-transform-origin:right center;transform-origin:right center}}.zoomOutRight{-webkit-animation-name:zoomOutRight;animation-name:zoomOutRight}@-webkit-keyframes zoomOutUp{40%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(0,60px,0);transform:scale3d(.475,.475,.475) translate3d(0,60px,0);-webkit-animation-timing-function:cubic-bezier(0.55,.055,.675,.19);animation-timing-function:cubic-bezier(0.55,.055,.675,.19)}100%{opacity:0;-webkit-transform:scale3d(.1,.1,.1) translate3d(0,-2000px,0);transform:scale3d(.1,.1,.1) translate3d(0,-2000px,0);-webkit-transform-origin:center bottom;transform-origin:center bottom;-webkit-animation-timing-function:cubic-bezier(0.175,.885,.32,1);animation-timing-function:cubic-bezier(0.175,.885,.32,1)}}@keyframes zoomOutUp{40%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(0,60px,0);transform:scale3d(.475,.475,.475) translate3d(0,60px,0);-webkit-animation-timing-function:cubic-bezier(0.55,.055,.675,.19);animation-timing-function:cubic-bezier(0.55,.055,.675,.19)}100%{opacity:0;-webkit-transform:scale3d(.1,.1,.1) translate3d(0,-2000px,0);transform:scale3d(.1,.1,.1) translate3d(0,-2000px,0);-webkit-transform-origin:center bottom;transform-origin:center bottom;-webkit-animation-timing-function:cubic-bezier(0.175,.885,.32,1);animation-timing-function:cubic-bezier(0.175,.885,.32,1)}}.zoomOutUp{-webkit-animation-name:zoomOutUp;animation-name:zoomOutUp}@-webkit-keyframes slideInDown{from{-webkit-transform:translate3d(0,-100%,0);transform:translate3d(0,-100%,0);visibility:visible}100%{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}}@keyframes slideInDown{from{-webkit-transform:translate3d(0,-100%,0);transform:translate3d(0,-100%,0);visibility:visible}100%{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}}.slideInDown{-webkit-animation-name:slideInDown;animation-name:slideInDown}@-webkit-keyframes slideInLeft{from{-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0);visibility:visible}100%{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}}@keyframes slideInLeft{from{-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0);visibility:visible}100%{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}}.slideInLeft{-webkit-animation-name:slideInLeft;animation-name:slideInLeft}@-webkit-keyframes slideInRight{from{-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0);visibility:visible}100%{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}}@keyframes slideInRight{from{-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0);visibility:visible}100%{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}}.slideInRight{-webkit-animation-name:slideInRight;animation-name:slideInRight}@-webkit-keyframes slideInUp{from{-webkit-transform:translate3d(0,100%,0);transform:translate3d(0,100%,0);visibility:visible}100%{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}}@keyframes slideInUp{from{-webkit-transform:translate3d(0,100%,0);transform:translate3d(0,100%,0);visibility:visible}100%{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}}.slideInUp{-webkit-animation-name:slideInUp;animation-name:slideInUp}@-webkit-keyframes slideOutDown{from{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}100%{visibility:hidden;-webkit-transform:translate3d(0,100%,0);transform:translate3d(0,100%,0)}}@keyframes slideOutDown{from{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}100%{visibility:hidden;-webkit-transform:translate3d(0,100%,0);transform:translate3d(0,100%,0)}}.slideOutDown{-webkit-animation-name:slideOutDown;animation-name:slideOutDown}@-webkit-keyframes slideOutLeft{from{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}100%{visibility:hidden;-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0)}}@keyframes slideOutLeft{from{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}100%{visibility:hidden;-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0)}}.slideOutLeft{-webkit-animation-name:slideOutLeft;animation-name:slideOutLeft}@-webkit-keyframes slideOutRight{from{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}100%{visibility:hidden;-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0)}}@keyframes slideOutRight{from{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}100%{visibility:hidden;-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0)}}.slideOutRight{-webkit-animation-name:slideOutRight;animation-name:slideOutRight}@-webkit-keyframes slideOutUp{from{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}100%{visibility:hidden;-webkit-transform:translate3d(0,-100%,0);transform:translate3d(0,-100%,0)}}@keyframes slideOutUp{from{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}100%{visibility:hidden;-webkit-transform:translate3d(0,-100%,0);transform:translate3d(0,-100%,0)}}.slideOutUp{-webkit-animation-name:slideOutUp;animation-name:slideOutUp} \ No newline at end of file diff --git a/Show-Crypto-Currency-Price-in-Graph/amol/public/assets/css/icons/fontawesome/fonts/fontawesome-webfont5b62.eot b/Show-Crypto-Currency-Price-in-Graph/amol/public/assets/css/icons/fontawesome/fonts/fontawesome-webfont5b62.eot new file mode 100644 index 0000000..c7b00d2 Binary files /dev/null and b/Show-Crypto-Currency-Price-in-Graph/amol/public/assets/css/icons/fontawesome/fonts/fontawesome-webfont5b62.eot differ diff --git a/Show-Crypto-Currency-Price-in-Graph/amol/public/assets/css/icons/fontawesome/fonts/fontawesome-webfont5b62.svg b/Show-Crypto-Currency-Price-in-Graph/amol/public/assets/css/icons/fontawesome/fonts/fontawesome-webfont5b62.svg new file mode 100644 index 0000000..8b66187 --- /dev/null +++ b/Show-Crypto-Currency-Price-in-Graph/amol/public/assets/css/icons/fontawesome/fonts/fontawesome-webfont5b62.svg @@ -0,0 +1,685 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/Show-Crypto-Currency-Price-in-Graph/amol/public/assets/css/icons/fontawesome/fonts/fontawesome-webfont5b62.ttf b/Show-Crypto-Currency-Price-in-Graph/amol/public/assets/css/icons/fontawesome/fonts/fontawesome-webfont5b62.ttf new file mode 100644 index 0000000..f221e50 Binary files /dev/null and b/Show-Crypto-Currency-Price-in-Graph/amol/public/assets/css/icons/fontawesome/fonts/fontawesome-webfont5b62.ttf differ diff --git a/Show-Crypto-Currency-Price-in-Graph/amol/public/assets/css/icons/fontawesome/fonts/fontawesome-webfont5b62.woff b/Show-Crypto-Currency-Price-in-Graph/amol/public/assets/css/icons/fontawesome/fonts/fontawesome-webfont5b62.woff new file mode 100644 index 0000000..6e7483c Binary files /dev/null and b/Show-Crypto-Currency-Price-in-Graph/amol/public/assets/css/icons/fontawesome/fonts/fontawesome-webfont5b62.woff differ diff --git a/Show-Crypto-Currency-Price-in-Graph/amol/public/assets/css/icons/fontawesome/fonts/fontawesome-webfont5b62.woff2 b/Show-Crypto-Currency-Price-in-Graph/amol/public/assets/css/icons/fontawesome/fonts/fontawesome-webfont5b62.woff2 new file mode 100644 index 0000000..7eb74fd Binary files /dev/null and b/Show-Crypto-Currency-Price-in-Graph/amol/public/assets/css/icons/fontawesome/fonts/fontawesome-webfont5b62.woff2 differ diff --git a/Show-Crypto-Currency-Price-in-Graph/amol/public/assets/css/icons/fontawesome/fonts/fontawesome-webfontd41d.eot b/Show-Crypto-Currency-Price-in-Graph/amol/public/assets/css/icons/fontawesome/fonts/fontawesome-webfontd41d.eot new file mode 100644 index 0000000..c7b00d2 Binary files /dev/null and b/Show-Crypto-Currency-Price-in-Graph/amol/public/assets/css/icons/fontawesome/fonts/fontawesome-webfontd41d.eot differ diff --git a/Show-Crypto-Currency-Price-in-Graph/amol/public/assets/css/icons/fontawesome/styles.min.css b/Show-Crypto-Currency-Price-in-Graph/amol/public/assets/css/icons/fontawesome/styles.min.css new file mode 100644 index 0000000..4841dbf --- /dev/null +++ b/Show-Crypto-Currency-Price-in-Graph/amol/public/assets/css/icons/fontawesome/styles.min.css @@ -0,0 +1,4 @@ +/*! + * Font Awesome 4.6.3 by @davegandy - http://fontawesome.io - @fontawesome + * License - http://fontawesome.io/license (Font: SIL OFL 1.1, CSS: MIT License) + */@font-face{font-family:'FontAwesome';src:url('fonts/fontawesome-webfont5b62.eot?v=4.6.3');src:url('fonts/fontawesome-webfontd41d.eot?#iefix&v=4.6.3') format('embedded-opentype'),url('fonts/fontawesome-webfont5b62.woff2?v=4.6.3') format('woff2'),url('fonts/fontawesome-webfont5b62.woff?v=4.6.3') format('woff'),url('fonts/fontawesome-webfont5b62.ttf?v=4.6.3') format('truetype'),url('fonts/fontawesome-webfont5b62.svg?v=4.6.3#fontawesomeregular') format('svg');font-weight:normal;font-style:normal}.fa{display:inline-block;font:normal normal normal 14px/1 FontAwesome;font-size:inherit;text-rendering:auto;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.fa-lg{font-size:1.33333333em;line-height:.75em;vertical-align:-15%}.fa-2x{font-size:2em}.fa-3x{font-size:3em}.fa-4x{font-size:4em}.fa-5x{font-size:5em}.fa-fw{width:1.28571429em;text-align:center}.fa-ul{padding-left:0;margin-left:2.14285714em;list-style-type:none}.fa-ul>li{position:relative}.fa-li{position:absolute;left:-2.14285714em;width:2.14285714em;top:.14285714em;text-align:center}.fa-li.fa-lg{left:-1.85714286em}.fa-border{padding:.2em .25em .15em;border:solid .08em #eee;border-radius:.1em}.fa-pull-left{float:left}.fa-pull-right{float:right}.fa.fa-pull-left{margin-right:.3em}.fa.fa-pull-right{margin-left:.3em}.pull-right{float:right}.pull-left{float:left}.fa.pull-left{margin-right:.3em}.fa.pull-right{margin-left:.3em}.fa-spin{-webkit-animation:fa-spin 2s infinite linear;animation:fa-spin 2s infinite linear}.fa-pulse{-webkit-animation:fa-spin 1s infinite steps(8);animation:fa-spin 1s infinite steps(8)}@-webkit-keyframes fa-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}100%{-webkit-transform:rotate(359deg);transform:rotate(359deg)}}@keyframes fa-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}100%{-webkit-transform:rotate(359deg);transform:rotate(359deg)}}.fa-rotate-90{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=1)";-webkit-transform:rotate(90deg);-ms-transform:rotate(90deg);transform:rotate(90deg)}.fa-rotate-180{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=2)";-webkit-transform:rotate(180deg);-ms-transform:rotate(180deg);transform:rotate(180deg)}.fa-rotate-270{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=3)";-webkit-transform:rotate(270deg);-ms-transform:rotate(270deg);transform:rotate(270deg)}.fa-flip-horizontal{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=0, mirror=1)";-webkit-transform:scale(-1, 1);-ms-transform:scale(-1, 1);transform:scale(-1, 1)}.fa-flip-vertical{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1)";-webkit-transform:scale(1, -1);-ms-transform:scale(1, -1);transform:scale(1, -1)}:root .fa-rotate-90,:root .fa-rotate-180,:root .fa-rotate-270,:root .fa-flip-horizontal,:root .fa-flip-vertical{filter:none}.fa-stack{position:relative;display:inline-block;width:2em;height:2em;line-height:2em;vertical-align:middle}.fa-stack-1x,.fa-stack-2x{position:absolute;left:0;width:100%;text-align:center}.fa-stack-1x{line-height:inherit}.fa-stack-2x{font-size:2em}.fa-inverse{color:#fff}.fa-glass:before{content:"\f000"}.fa-music:before{content:"\f001"}.fa-search:before{content:"\f002"}.fa-envelope-o:before{content:"\f003"}.fa-heart:before{content:"\f004"}.fa-star:before{content:"\f005"}.fa-star-o:before{content:"\f006"}.fa-user:before{content:"\f007"}.fa-film:before{content:"\f008"}.fa-th-large:before{content:"\f009"}.fa-th:before{content:"\f00a"}.fa-th-list:before{content:"\f00b"}.fa-check:before{content:"\f00c"}.fa-remove:before,.fa-close:before,.fa-times:before{content:"\f00d"}.fa-search-plus:before{content:"\f00e"}.fa-search-minus:before{content:"\f010"}.fa-power-off:before{content:"\f011"}.fa-signal:before{content:"\f012"}.fa-gear:before,.fa-cog:before{content:"\f013"}.fa-trash-o:before{content:"\f014"}.fa-home:before{content:"\f015"}.fa-file-o:before{content:"\f016"}.fa-clock-o:before{content:"\f017"}.fa-road:before{content:"\f018"}.fa-download:before{content:"\f019"}.fa-arrow-circle-o-down:before{content:"\f01a"}.fa-arrow-circle-o-up:before{content:"\f01b"}.fa-inbox:before{content:"\f01c"}.fa-play-circle-o:before{content:"\f01d"}.fa-rotate-right:before,.fa-repeat:before{content:"\f01e"}.fa-refresh:before{content:"\f021"}.fa-list-alt:before{content:"\f022"}.fa-lock:before{content:"\f023"}.fa-flag:before{content:"\f024"}.fa-headphones:before{content:"\f025"}.fa-volume-off:before{content:"\f026"}.fa-volume-down:before{content:"\f027"}.fa-volume-up:before{content:"\f028"}.fa-qrcode:before{content:"\f029"}.fa-barcode:before{content:"\f02a"}.fa-tag:before{content:"\f02b"}.fa-tags:before{content:"\f02c"}.fa-book:before{content:"\f02d"}.fa-bookmark:before{content:"\f02e"}.fa-print:before{content:"\f02f"}.fa-camera:before{content:"\f030"}.fa-font:before{content:"\f031"}.fa-bold:before{content:"\f032"}.fa-italic:before{content:"\f033"}.fa-text-height:before{content:"\f034"}.fa-text-width:before{content:"\f035"}.fa-align-left:before{content:"\f036"}.fa-align-center:before{content:"\f037"}.fa-align-right:before{content:"\f038"}.fa-align-justify:before{content:"\f039"}.fa-list:before{content:"\f03a"}.fa-dedent:before,.fa-outdent:before{content:"\f03b"}.fa-indent:before{content:"\f03c"}.fa-video-camera:before{content:"\f03d"}.fa-photo:before,.fa-image:before,.fa-picture-o:before{content:"\f03e"}.fa-pencil:before{content:"\f040"}.fa-map-marker:before{content:"\f041"}.fa-adjust:before{content:"\f042"}.fa-tint:before{content:"\f043"}.fa-edit:before,.fa-pencil-square-o:before{content:"\f044"}.fa-share-square-o:before{content:"\f045"}.fa-check-square-o:before{content:"\f046"}.fa-arrows:before{content:"\f047"}.fa-step-backward:before{content:"\f048"}.fa-fast-backward:before{content:"\f049"}.fa-backward:before{content:"\f04a"}.fa-play:before{content:"\f04b"}.fa-pause:before{content:"\f04c"}.fa-stop:before{content:"\f04d"}.fa-forward:before{content:"\f04e"}.fa-fast-forward:before{content:"\f050"}.fa-step-forward:before{content:"\f051"}.fa-eject:before{content:"\f052"}.fa-chevron-left:before{content:"\f053"}.fa-chevron-right:before{content:"\f054"}.fa-plus-circle:before{content:"\f055"}.fa-minus-circle:before{content:"\f056"}.fa-times-circle:before{content:"\f057"}.fa-check-circle:before{content:"\f058"}.fa-question-circle:before{content:"\f059"}.fa-info-circle:before{content:"\f05a"}.fa-crosshairs:before{content:"\f05b"}.fa-times-circle-o:before{content:"\f05c"}.fa-check-circle-o:before{content:"\f05d"}.fa-ban:before{content:"\f05e"}.fa-arrow-left:before{content:"\f060"}.fa-arrow-right:before{content:"\f061"}.fa-arrow-up:before{content:"\f062"}.fa-arrow-down:before{content:"\f063"}.fa-mail-forward:before,.fa-share:before{content:"\f064"}.fa-expand:before{content:"\f065"}.fa-compress:before{content:"\f066"}.fa-plus:before{content:"\f067"}.fa-minus:before{content:"\f068"}.fa-asterisk:before{content:"\f069"}.fa-exclamation-circle:before{content:"\f06a"}.fa-gift:before{content:"\f06b"}.fa-leaf:before{content:"\f06c"}.fa-fire:before{content:"\f06d"}.fa-eye:before{content:"\f06e"}.fa-eye-slash:before{content:"\f070"}.fa-warning:before,.fa-exclamation-triangle:before{content:"\f071"}.fa-plane:before{content:"\f072"}.fa-calendar:before{content:"\f073"}.fa-random:before{content:"\f074"}.fa-comment:before{content:"\f075"}.fa-magnet:before{content:"\f076"}.fa-chevron-up:before{content:"\f077"}.fa-chevron-down:before{content:"\f078"}.fa-retweet:before{content:"\f079"}.fa-shopping-cart:before{content:"\f07a"}.fa-folder:before{content:"\f07b"}.fa-folder-open:before{content:"\f07c"}.fa-arrows-v:before{content:"\f07d"}.fa-arrows-h:before{content:"\f07e"}.fa-bar-chart-o:before,.fa-bar-chart:before{content:"\f080"}.fa-twitter-square:before{content:"\f081"}.fa-facebook-square:before{content:"\f082"}.fa-camera-retro:before{content:"\f083"}.fa-key:before{content:"\f084"}.fa-gears:before,.fa-cogs:before{content:"\f085"}.fa-comments:before{content:"\f086"}.fa-thumbs-o-up:before{content:"\f087"}.fa-thumbs-o-down:before{content:"\f088"}.fa-star-half:before{content:"\f089"}.fa-heart-o:before{content:"\f08a"}.fa-sign-out:before{content:"\f08b"}.fa-linkedin-square:before{content:"\f08c"}.fa-thumb-tack:before{content:"\f08d"}.fa-external-link:before{content:"\f08e"}.fa-sign-in:before{content:"\f090"}.fa-trophy:before{content:"\f091"}.fa-github-square:before{content:"\f092"}.fa-upload:before{content:"\f093"}.fa-lemon-o:before{content:"\f094"}.fa-phone:before{content:"\f095"}.fa-square-o:before{content:"\f096"}.fa-bookmark-o:before{content:"\f097"}.fa-phone-square:before{content:"\f098"}.fa-twitter:before{content:"\f099"}.fa-facebook-f:before,.fa-facebook:before{content:"\f09a"}.fa-github:before{content:"\f09b"}.fa-unlock:before{content:"\f09c"}.fa-credit-card:before{content:"\f09d"}.fa-feed:before,.fa-rss:before{content:"\f09e"}.fa-hdd-o:before{content:"\f0a0"}.fa-bullhorn:before{content:"\f0a1"}.fa-bell:before{content:"\f0f3"}.fa-certificate:before{content:"\f0a3"}.fa-hand-o-right:before{content:"\f0a4"}.fa-hand-o-left:before{content:"\f0a5"}.fa-hand-o-up:before{content:"\f0a6"}.fa-hand-o-down:before{content:"\f0a7"}.fa-arrow-circle-left:before{content:"\f0a8"}.fa-arrow-circle-right:before{content:"\f0a9"}.fa-arrow-circle-up:before{content:"\f0aa"}.fa-arrow-circle-down:before{content:"\f0ab"}.fa-globe:before{content:"\f0ac"}.fa-wrench:before{content:"\f0ad"}.fa-tasks:before{content:"\f0ae"}.fa-filter:before{content:"\f0b0"}.fa-briefcase:before{content:"\f0b1"}.fa-arrows-alt:before{content:"\f0b2"}.fa-group:before,.fa-users:before{content:"\f0c0"}.fa-chain:before,.fa-link:before{content:"\f0c1"}.fa-cloud:before{content:"\f0c2"}.fa-flask:before{content:"\f0c3"}.fa-cut:before,.fa-scissors:before{content:"\f0c4"}.fa-copy:before,.fa-files-o:before{content:"\f0c5"}.fa-paperclip:before{content:"\f0c6"}.fa-save:before,.fa-floppy-o:before{content:"\f0c7"}.fa-square:before{content:"\f0c8"}.fa-navicon:before,.fa-reorder:before,.fa-bars:before{content:"\f0c9"}.fa-list-ul:before{content:"\f0ca"}.fa-list-ol:before{content:"\f0cb"}.fa-strikethrough:before{content:"\f0cc"}.fa-underline:before{content:"\f0cd"}.fa-table:before{content:"\f0ce"}.fa-magic:before{content:"\f0d0"}.fa-truck:before{content:"\f0d1"}.fa-pinterest:before{content:"\f0d2"}.fa-pinterest-square:before{content:"\f0d3"}.fa-google-plus-square:before{content:"\f0d4"}.fa-google-plus:before{content:"\f0d5"}.fa-money:before{content:"\f0d6"}.fa-caret-down:before{content:"\f0d7"}.fa-caret-up:before{content:"\f0d8"}.fa-caret-left:before{content:"\f0d9"}.fa-caret-right:before{content:"\f0da"}.fa-columns:before{content:"\f0db"}.fa-unsorted:before,.fa-sort:before{content:"\f0dc"}.fa-sort-down:before,.fa-sort-desc:before{content:"\f0dd"}.fa-sort-up:before,.fa-sort-asc:before{content:"\f0de"}.fa-envelope:before{content:"\f0e0"}.fa-linkedin:before{content:"\f0e1"}.fa-rotate-left:before,.fa-undo:before{content:"\f0e2"}.fa-legal:before,.fa-gavel:before{content:"\f0e3"}.fa-dashboard:before,.fa-tachometer:before{content:"\f0e4"}.fa-comment-o:before{content:"\f0e5"}.fa-comments-o:before{content:"\f0e6"}.fa-flash:before,.fa-bolt:before{content:"\f0e7"}.fa-sitemap:before{content:"\f0e8"}.fa-umbrella:before{content:"\f0e9"}.fa-paste:before,.fa-clipboard:before{content:"\f0ea"}.fa-lightbulb-o:before{content:"\f0eb"}.fa-exchange:before{content:"\f0ec"}.fa-cloud-download:before{content:"\f0ed"}.fa-cloud-upload:before{content:"\f0ee"}.fa-user-md:before{content:"\f0f0"}.fa-stethoscope:before{content:"\f0f1"}.fa-suitcase:before{content:"\f0f2"}.fa-bell-o:before{content:"\f0a2"}.fa-coffee:before{content:"\f0f4"}.fa-cutlery:before{content:"\f0f5"}.fa-file-text-o:before{content:"\f0f6"}.fa-building-o:before{content:"\f0f7"}.fa-hospital-o:before{content:"\f0f8"}.fa-ambulance:before{content:"\f0f9"}.fa-medkit:before{content:"\f0fa"}.fa-fighter-jet:before{content:"\f0fb"}.fa-beer:before{content:"\f0fc"}.fa-h-square:before{content:"\f0fd"}.fa-plus-square:before{content:"\f0fe"}.fa-angle-double-left:before{content:"\f100"}.fa-angle-double-right:before{content:"\f101"}.fa-angle-double-up:before{content:"\f102"}.fa-angle-double-down:before{content:"\f103"}.fa-angle-left:before{content:"\f104"}.fa-angle-right:before{content:"\f105"}.fa-angle-up:before{content:"\f106"}.fa-angle-down:before{content:"\f107"}.fa-desktop:before{content:"\f108"}.fa-laptop:before{content:"\f109"}.fa-tablet:before{content:"\f10a"}.fa-mobile-phone:before,.fa-mobile:before{content:"\f10b"}.fa-circle-o:before{content:"\f10c"}.fa-quote-left:before{content:"\f10d"}.fa-quote-right:before{content:"\f10e"}.fa-spinner:before{content:"\f110"}.fa-circle:before{content:"\f111"}.fa-mail-reply:before,.fa-reply:before{content:"\f112"}.fa-github-alt:before{content:"\f113"}.fa-folder-o:before{content:"\f114"}.fa-folder-open-o:before{content:"\f115"}.fa-smile-o:before{content:"\f118"}.fa-frown-o:before{content:"\f119"}.fa-meh-o:before{content:"\f11a"}.fa-gamepad:before{content:"\f11b"}.fa-keyboard-o:before{content:"\f11c"}.fa-flag-o:before{content:"\f11d"}.fa-flag-checkered:before{content:"\f11e"}.fa-terminal:before{content:"\f120"}.fa-code:before{content:"\f121"}.fa-mail-reply-all:before,.fa-reply-all:before{content:"\f122"}.fa-star-half-empty:before,.fa-star-half-full:before,.fa-star-half-o:before{content:"\f123"}.fa-location-arrow:before{content:"\f124"}.fa-crop:before{content:"\f125"}.fa-code-fork:before{content:"\f126"}.fa-unlink:before,.fa-chain-broken:before{content:"\f127"}.fa-question:before{content:"\f128"}.fa-info:before{content:"\f129"}.fa-exclamation:before{content:"\f12a"}.fa-superscript:before{content:"\f12b"}.fa-subscript:before{content:"\f12c"}.fa-eraser:before{content:"\f12d"}.fa-puzzle-piece:before{content:"\f12e"}.fa-microphone:before{content:"\f130"}.fa-microphone-slash:before{content:"\f131"}.fa-shield:before{content:"\f132"}.fa-calendar-o:before{content:"\f133"}.fa-fire-extinguisher:before{content:"\f134"}.fa-rocket:before{content:"\f135"}.fa-maxcdn:before{content:"\f136"}.fa-chevron-circle-left:before{content:"\f137"}.fa-chevron-circle-right:before{content:"\f138"}.fa-chevron-circle-up:before{content:"\f139"}.fa-chevron-circle-down:before{content:"\f13a"}.fa-html5:before{content:"\f13b"}.fa-css3:before{content:"\f13c"}.fa-anchor:before{content:"\f13d"}.fa-unlock-alt:before{content:"\f13e"}.fa-bullseye:before{content:"\f140"}.fa-ellipsis-h:before{content:"\f141"}.fa-ellipsis-v:before{content:"\f142"}.fa-rss-square:before{content:"\f143"}.fa-play-circle:before{content:"\f144"}.fa-ticket:before{content:"\f145"}.fa-minus-square:before{content:"\f146"}.fa-minus-square-o:before{content:"\f147"}.fa-level-up:before{content:"\f148"}.fa-level-down:before{content:"\f149"}.fa-check-square:before{content:"\f14a"}.fa-pencil-square:before{content:"\f14b"}.fa-external-link-square:before{content:"\f14c"}.fa-share-square:before{content:"\f14d"}.fa-compass:before{content:"\f14e"}.fa-toggle-down:before,.fa-caret-square-o-down:before{content:"\f150"}.fa-toggle-up:before,.fa-caret-square-o-up:before{content:"\f151"}.fa-toggle-right:before,.fa-caret-square-o-right:before{content:"\f152"}.fa-euro:before,.fa-eur:before{content:"\f153"}.fa-gbp:before{content:"\f154"}.fa-dollar:before,.fa-usd:before{content:"\f155"}.fa-rupee:before,.fa-inr:before{content:"\f156"}.fa-cny:before,.fa-rmb:before,.fa-yen:before,.fa-jpy:before{content:"\f157"}.fa-ruble:before,.fa-rouble:before,.fa-rub:before{content:"\f158"}.fa-won:before,.fa-krw:before{content:"\f159"}.fa-bitcoin:before,.fa-btc:before{content:"\f15a"}.fa-file:before{content:"\f15b"}.fa-file-text:before{content:"\f15c"}.fa-sort-alpha-asc:before{content:"\f15d"}.fa-sort-alpha-desc:before{content:"\f15e"}.fa-sort-amount-asc:before{content:"\f160"}.fa-sort-amount-desc:before{content:"\f161"}.fa-sort-numeric-asc:before{content:"\f162"}.fa-sort-numeric-desc:before{content:"\f163"}.fa-thumbs-up:before{content:"\f164"}.fa-thumbs-down:before{content:"\f165"}.fa-youtube-square:before{content:"\f166"}.fa-youtube:before{content:"\f167"}.fa-xing:before{content:"\f168"}.fa-xing-square:before{content:"\f169"}.fa-youtube-play:before{content:"\f16a"}.fa-dropbox:before{content:"\f16b"}.fa-stack-overflow:before{content:"\f16c"}.fa-instagram:before{content:"\f16d"}.fa-flickr:before{content:"\f16e"}.fa-adn:before{content:"\f170"}.fa-bitbucket:before{content:"\f171"}.fa-bitbucket-square:before{content:"\f172"}.fa-tumblr:before{content:"\f173"}.fa-tumblr-square:before{content:"\f174"}.fa-long-arrow-down:before{content:"\f175"}.fa-long-arrow-up:before{content:"\f176"}.fa-long-arrow-left:before{content:"\f177"}.fa-long-arrow-right:before{content:"\f178"}.fa-apple:before{content:"\f179"}.fa-windows:before{content:"\f17a"}.fa-android:before{content:"\f17b"}.fa-linux:before{content:"\f17c"}.fa-dribbble:before{content:"\f17d"}.fa-skype:before{content:"\f17e"}.fa-foursquare:before{content:"\f180"}.fa-trello:before{content:"\f181"}.fa-female:before{content:"\f182"}.fa-male:before{content:"\f183"}.fa-gittip:before,.fa-gratipay:before{content:"\f184"}.fa-sun-o:before{content:"\f185"}.fa-moon-o:before{content:"\f186"}.fa-archive:before{content:"\f187"}.fa-bug:before{content:"\f188"}.fa-vk:before{content:"\f189"}.fa-weibo:before{content:"\f18a"}.fa-renren:before{content:"\f18b"}.fa-pagelines:before{content:"\f18c"}.fa-stack-exchange:before{content:"\f18d"}.fa-arrow-circle-o-right:before{content:"\f18e"}.fa-arrow-circle-o-left:before{content:"\f190"}.fa-toggle-left:before,.fa-caret-square-o-left:before{content:"\f191"}.fa-dot-circle-o:before{content:"\f192"}.fa-wheelchair:before{content:"\f193"}.fa-vimeo-square:before{content:"\f194"}.fa-turkish-lira:before,.fa-try:before{content:"\f195"}.fa-plus-square-o:before{content:"\f196"}.fa-space-shuttle:before{content:"\f197"}.fa-slack:before{content:"\f198"}.fa-envelope-square:before{content:"\f199"}.fa-wordpress:before{content:"\f19a"}.fa-openid:before{content:"\f19b"}.fa-institution:before,.fa-bank:before,.fa-university:before{content:"\f19c"}.fa-mortar-board:before,.fa-graduation-cap:before{content:"\f19d"}.fa-yahoo:before{content:"\f19e"}.fa-google:before{content:"\f1a0"}.fa-reddit:before{content:"\f1a1"}.fa-reddit-square:before{content:"\f1a2"}.fa-stumbleupon-circle:before{content:"\f1a3"}.fa-stumbleupon:before{content:"\f1a4"}.fa-delicious:before{content:"\f1a5"}.fa-digg:before{content:"\f1a6"}.fa-pied-piper-pp:before{content:"\f1a7"}.fa-pied-piper-alt:before{content:"\f1a8"}.fa-drupal:before{content:"\f1a9"}.fa-joomla:before{content:"\f1aa"}.fa-language:before{content:"\f1ab"}.fa-fax:before{content:"\f1ac"}.fa-building:before{content:"\f1ad"}.fa-child:before{content:"\f1ae"}.fa-paw:before{content:"\f1b0"}.fa-spoon:before{content:"\f1b1"}.fa-cube:before{content:"\f1b2"}.fa-cubes:before{content:"\f1b3"}.fa-behance:before{content:"\f1b4"}.fa-behance-square:before{content:"\f1b5"}.fa-steam:before{content:"\f1b6"}.fa-steam-square:before{content:"\f1b7"}.fa-recycle:before{content:"\f1b8"}.fa-automobile:before,.fa-car:before{content:"\f1b9"}.fa-cab:before,.fa-taxi:before{content:"\f1ba"}.fa-tree:before{content:"\f1bb"}.fa-spotify:before{content:"\f1bc"}.fa-deviantart:before{content:"\f1bd"}.fa-soundcloud:before{content:"\f1be"}.fa-database:before{content:"\f1c0"}.fa-file-pdf-o:before{content:"\f1c1"}.fa-file-word-o:before{content:"\f1c2"}.fa-file-excel-o:before{content:"\f1c3"}.fa-file-powerpoint-o:before{content:"\f1c4"}.fa-file-photo-o:before,.fa-file-picture-o:before,.fa-file-image-o:before{content:"\f1c5"}.fa-file-zip-o:before,.fa-file-archive-o:before{content:"\f1c6"}.fa-file-sound-o:before,.fa-file-audio-o:before{content:"\f1c7"}.fa-file-movie-o:before,.fa-file-video-o:before{content:"\f1c8"}.fa-file-code-o:before{content:"\f1c9"}.fa-vine:before{content:"\f1ca"}.fa-codepen:before{content:"\f1cb"}.fa-jsfiddle:before{content:"\f1cc"}.fa-life-bouy:before,.fa-life-buoy:before,.fa-life-saver:before,.fa-support:before,.fa-life-ring:before{content:"\f1cd"}.fa-circle-o-notch:before{content:"\f1ce"}.fa-ra:before,.fa-resistance:before,.fa-rebel:before{content:"\f1d0"}.fa-ge:before,.fa-empire:before{content:"\f1d1"}.fa-git-square:before{content:"\f1d2"}.fa-git:before{content:"\f1d3"}.fa-y-combinator-square:before,.fa-yc-square:before,.fa-hacker-news:before{content:"\f1d4"}.fa-tencent-weibo:before{content:"\f1d5"}.fa-qq:before{content:"\f1d6"}.fa-wechat:before,.fa-weixin:before{content:"\f1d7"}.fa-send:before,.fa-paper-plane:before{content:"\f1d8"}.fa-send-o:before,.fa-paper-plane-o:before{content:"\f1d9"}.fa-history:before{content:"\f1da"}.fa-circle-thin:before{content:"\f1db"}.fa-header:before{content:"\f1dc"}.fa-paragraph:before{content:"\f1dd"}.fa-sliders:before{content:"\f1de"}.fa-share-alt:before{content:"\f1e0"}.fa-share-alt-square:before{content:"\f1e1"}.fa-bomb:before{content:"\f1e2"}.fa-soccer-ball-o:before,.fa-futbol-o:before{content:"\f1e3"}.fa-tty:before{content:"\f1e4"}.fa-binoculars:before{content:"\f1e5"}.fa-plug:before{content:"\f1e6"}.fa-slideshare:before{content:"\f1e7"}.fa-twitch:before{content:"\f1e8"}.fa-yelp:before{content:"\f1e9"}.fa-newspaper-o:before{content:"\f1ea"}.fa-wifi:before{content:"\f1eb"}.fa-calculator:before{content:"\f1ec"}.fa-paypal:before{content:"\f1ed"}.fa-google-wallet:before{content:"\f1ee"}.fa-cc-visa:before{content:"\f1f0"}.fa-cc-mastercard:before{content:"\f1f1"}.fa-cc-discover:before{content:"\f1f2"}.fa-cc-amex:before{content:"\f1f3"}.fa-cc-paypal:before{content:"\f1f4"}.fa-cc-stripe:before{content:"\f1f5"}.fa-bell-slash:before{content:"\f1f6"}.fa-bell-slash-o:before{content:"\f1f7"}.fa-trash:before{content:"\f1f8"}.fa-copyright:before{content:"\f1f9"}.fa-at:before{content:"\f1fa"}.fa-eyedropper:before{content:"\f1fb"}.fa-paint-brush:before{content:"\f1fc"}.fa-birthday-cake:before{content:"\f1fd"}.fa-area-chart:before{content:"\f1fe"}.fa-pie-chart:before{content:"\f200"}.fa-line-chart:before{content:"\f201"}.fa-lastfm:before{content:"\f202"}.fa-lastfm-square:before{content:"\f203"}.fa-toggle-off:before{content:"\f204"}.fa-toggle-on:before{content:"\f205"}.fa-bicycle:before{content:"\f206"}.fa-bus:before{content:"\f207"}.fa-ioxhost:before{content:"\f208"}.fa-angellist:before{content:"\f209"}.fa-cc:before{content:"\f20a"}.fa-shekel:before,.fa-sheqel:before,.fa-ils:before{content:"\f20b"}.fa-meanpath:before{content:"\f20c"}.fa-buysellads:before{content:"\f20d"}.fa-connectdevelop:before{content:"\f20e"}.fa-dashcube:before{content:"\f210"}.fa-forumbee:before{content:"\f211"}.fa-leanpub:before{content:"\f212"}.fa-sellsy:before{content:"\f213"}.fa-shirtsinbulk:before{content:"\f214"}.fa-simplybuilt:before{content:"\f215"}.fa-skyatlas:before{content:"\f216"}.fa-cart-plus:before{content:"\f217"}.fa-cart-arrow-down:before{content:"\f218"}.fa-diamond:before{content:"\f219"}.fa-ship:before{content:"\f21a"}.fa-user-secret:before{content:"\f21b"}.fa-motorcycle:before{content:"\f21c"}.fa-street-view:before{content:"\f21d"}.fa-heartbeat:before{content:"\f21e"}.fa-venus:before{content:"\f221"}.fa-mars:before{content:"\f222"}.fa-mercury:before{content:"\f223"}.fa-intersex:before,.fa-transgender:before{content:"\f224"}.fa-transgender-alt:before{content:"\f225"}.fa-venus-double:before{content:"\f226"}.fa-mars-double:before{content:"\f227"}.fa-venus-mars:before{content:"\f228"}.fa-mars-stroke:before{content:"\f229"}.fa-mars-stroke-v:before{content:"\f22a"}.fa-mars-stroke-h:before{content:"\f22b"}.fa-neuter:before{content:"\f22c"}.fa-genderless:before{content:"\f22d"}.fa-facebook-official:before{content:"\f230"}.fa-pinterest-p:before{content:"\f231"}.fa-whatsapp:before{content:"\f232"}.fa-server:before{content:"\f233"}.fa-user-plus:before{content:"\f234"}.fa-user-times:before{content:"\f235"}.fa-hotel:before,.fa-bed:before{content:"\f236"}.fa-viacoin:before{content:"\f237"}.fa-train:before{content:"\f238"}.fa-subway:before{content:"\f239"}.fa-medium:before{content:"\f23a"}.fa-yc:before,.fa-y-combinator:before{content:"\f23b"}.fa-optin-monster:before{content:"\f23c"}.fa-opencart:before{content:"\f23d"}.fa-expeditedssl:before{content:"\f23e"}.fa-battery-4:before,.fa-battery-full:before{content:"\f240"}.fa-battery-3:before,.fa-battery-three-quarters:before{content:"\f241"}.fa-battery-2:before,.fa-battery-half:before{content:"\f242"}.fa-battery-1:before,.fa-battery-quarter:before{content:"\f243"}.fa-battery-0:before,.fa-battery-empty:before{content:"\f244"}.fa-mouse-pointer:before{content:"\f245"}.fa-i-cursor:before{content:"\f246"}.fa-object-group:before{content:"\f247"}.fa-object-ungroup:before{content:"\f248"}.fa-sticky-note:before{content:"\f249"}.fa-sticky-note-o:before{content:"\f24a"}.fa-cc-jcb:before{content:"\f24b"}.fa-cc-diners-club:before{content:"\f24c"}.fa-clone:before{content:"\f24d"}.fa-balance-scale:before{content:"\f24e"}.fa-hourglass-o:before{content:"\f250"}.fa-hourglass-1:before,.fa-hourglass-start:before{content:"\f251"}.fa-hourglass-2:before,.fa-hourglass-half:before{content:"\f252"}.fa-hourglass-3:before,.fa-hourglass-end:before{content:"\f253"}.fa-hourglass:before{content:"\f254"}.fa-hand-grab-o:before,.fa-hand-rock-o:before{content:"\f255"}.fa-hand-stop-o:before,.fa-hand-paper-o:before{content:"\f256"}.fa-hand-scissors-o:before{content:"\f257"}.fa-hand-lizard-o:before{content:"\f258"}.fa-hand-spock-o:before{content:"\f259"}.fa-hand-pointer-o:before{content:"\f25a"}.fa-hand-peace-o:before{content:"\f25b"}.fa-trademark:before{content:"\f25c"}.fa-registered:before{content:"\f25d"}.fa-creative-commons:before{content:"\f25e"}.fa-gg:before{content:"\f260"}.fa-gg-circle:before{content:"\f261"}.fa-tripadvisor:before{content:"\f262"}.fa-odnoklassniki:before{content:"\f263"}.fa-odnoklassniki-square:before{content:"\f264"}.fa-get-pocket:before{content:"\f265"}.fa-wikipedia-w:before{content:"\f266"}.fa-safari:before{content:"\f267"}.fa-chrome:before{content:"\f268"}.fa-firefox:before{content:"\f269"}.fa-opera:before{content:"\f26a"}.fa-internet-explorer:before{content:"\f26b"}.fa-tv:before,.fa-television:before{content:"\f26c"}.fa-contao:before{content:"\f26d"}.fa-500px:before{content:"\f26e"}.fa-amazon:before{content:"\f270"}.fa-calendar-plus-o:before{content:"\f271"}.fa-calendar-minus-o:before{content:"\f272"}.fa-calendar-times-o:before{content:"\f273"}.fa-calendar-check-o:before{content:"\f274"}.fa-industry:before{content:"\f275"}.fa-map-pin:before{content:"\f276"}.fa-map-signs:before{content:"\f277"}.fa-map-o:before{content:"\f278"}.fa-map:before{content:"\f279"}.fa-commenting:before{content:"\f27a"}.fa-commenting-o:before{content:"\f27b"}.fa-houzz:before{content:"\f27c"}.fa-vimeo:before{content:"\f27d"}.fa-black-tie:before{content:"\f27e"}.fa-fonticons:before{content:"\f280"}.fa-reddit-alien:before{content:"\f281"}.fa-edge:before{content:"\f282"}.fa-credit-card-alt:before{content:"\f283"}.fa-codiepie:before{content:"\f284"}.fa-modx:before{content:"\f285"}.fa-fort-awesome:before{content:"\f286"}.fa-usb:before{content:"\f287"}.fa-product-hunt:before{content:"\f288"}.fa-mixcloud:before{content:"\f289"}.fa-scribd:before{content:"\f28a"}.fa-pause-circle:before{content:"\f28b"}.fa-pause-circle-o:before{content:"\f28c"}.fa-stop-circle:before{content:"\f28d"}.fa-stop-circle-o:before{content:"\f28e"}.fa-shopping-bag:before{content:"\f290"}.fa-shopping-basket:before{content:"\f291"}.fa-hashtag:before{content:"\f292"}.fa-bluetooth:before{content:"\f293"}.fa-bluetooth-b:before{content:"\f294"}.fa-percent:before{content:"\f295"}.fa-gitlab:before{content:"\f296"}.fa-wpbeginner:before{content:"\f297"}.fa-wpforms:before{content:"\f298"}.fa-envira:before{content:"\f299"}.fa-universal-access:before{content:"\f29a"}.fa-wheelchair-alt:before{content:"\f29b"}.fa-question-circle-o:before{content:"\f29c"}.fa-blind:before{content:"\f29d"}.fa-audio-description:before{content:"\f29e"}.fa-volume-control-phone:before{content:"\f2a0"}.fa-braille:before{content:"\f2a1"}.fa-assistive-listening-systems:before{content:"\f2a2"}.fa-asl-interpreting:before,.fa-american-sign-language-interpreting:before{content:"\f2a3"}.fa-deafness:before,.fa-hard-of-hearing:before,.fa-deaf:before{content:"\f2a4"}.fa-glide:before{content:"\f2a5"}.fa-glide-g:before{content:"\f2a6"}.fa-signing:before,.fa-sign-language:before{content:"\f2a7"}.fa-low-vision:before{content:"\f2a8"}.fa-viadeo:before{content:"\f2a9"}.fa-viadeo-square:before{content:"\f2aa"}.fa-snapchat:before{content:"\f2ab"}.fa-snapchat-ghost:before{content:"\f2ac"}.fa-snapchat-square:before{content:"\f2ad"}.fa-pied-piper:before{content:"\f2ae"}.fa-first-order:before{content:"\f2b0"}.fa-yoast:before{content:"\f2b1"}.fa-themeisle:before{content:"\f2b2"}.fa-google-plus-circle:before,.fa-google-plus-official:before{content:"\f2b3"}.fa-fa:before,.fa-font-awesome:before{content:"\f2b4"}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0, 0, 0, 0);border:0}.sr-only-focusable:active,.sr-only-focusable:focus{position:static;width:auto;height:auto;margin:0;overflow:visible;clip:auto} \ No newline at end of file diff --git a/Show-Crypto-Currency-Price-in-Graph/amol/public/assets/css/icons/glyphicons/glyphicons-halflings-regular.eot b/Show-Crypto-Currency-Price-in-Graph/amol/public/assets/css/icons/glyphicons/glyphicons-halflings-regular.eot new file mode 100644 index 0000000..b93a495 Binary files /dev/null and b/Show-Crypto-Currency-Price-in-Graph/amol/public/assets/css/icons/glyphicons/glyphicons-halflings-regular.eot differ diff --git a/Show-Crypto-Currency-Price-in-Graph/amol/public/assets/css/icons/glyphicons/glyphicons-halflings-regular.svg b/Show-Crypto-Currency-Price-in-Graph/amol/public/assets/css/icons/glyphicons/glyphicons-halflings-regular.svg new file mode 100644 index 0000000..94fb549 --- /dev/null +++ b/Show-Crypto-Currency-Price-in-Graph/amol/public/assets/css/icons/glyphicons/glyphicons-halflings-regular.svg @@ -0,0 +1,288 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/Show-Crypto-Currency-Price-in-Graph/amol/public/assets/css/icons/glyphicons/glyphicons-halflings-regular.ttf b/Show-Crypto-Currency-Price-in-Graph/amol/public/assets/css/icons/glyphicons/glyphicons-halflings-regular.ttf new file mode 100644 index 0000000..1413fc6 Binary files /dev/null and b/Show-Crypto-Currency-Price-in-Graph/amol/public/assets/css/icons/glyphicons/glyphicons-halflings-regular.ttf differ diff --git a/Show-Crypto-Currency-Price-in-Graph/amol/public/assets/css/icons/glyphicons/glyphicons-halflings-regular.woff b/Show-Crypto-Currency-Price-in-Graph/amol/public/assets/css/icons/glyphicons/glyphicons-halflings-regular.woff new file mode 100644 index 0000000..9e61285 Binary files /dev/null and b/Show-Crypto-Currency-Price-in-Graph/amol/public/assets/css/icons/glyphicons/glyphicons-halflings-regular.woff differ diff --git a/Show-Crypto-Currency-Price-in-Graph/amol/public/assets/css/icons/glyphicons/glyphicons-halflings-regular.woff2 b/Show-Crypto-Currency-Price-in-Graph/amol/public/assets/css/icons/glyphicons/glyphicons-halflings-regular.woff2 new file mode 100644 index 0000000..64539b5 Binary files /dev/null and b/Show-Crypto-Currency-Price-in-Graph/amol/public/assets/css/icons/glyphicons/glyphicons-halflings-regular.woff2 differ diff --git a/Show-Crypto-Currency-Price-in-Graph/amol/public/assets/css/icons/glyphicons/glyphicons-halflings-regulard41d.eot b/Show-Crypto-Currency-Price-in-Graph/amol/public/assets/css/icons/glyphicons/glyphicons-halflings-regulard41d.eot new file mode 100644 index 0000000..b93a495 Binary files /dev/null and b/Show-Crypto-Currency-Price-in-Graph/amol/public/assets/css/icons/glyphicons/glyphicons-halflings-regulard41d.eot differ diff --git a/Show-Crypto-Currency-Price-in-Graph/amol/public/assets/css/icons/icomoon/fonts/icomoond41d.eot b/Show-Crypto-Currency-Price-in-Graph/amol/public/assets/css/icons/icomoon/fonts/icomoond41d.eot new file mode 100644 index 0000000..201569b Binary files /dev/null and b/Show-Crypto-Currency-Price-in-Graph/amol/public/assets/css/icons/icomoon/fonts/icomoond41d.eot differ diff --git a/Show-Crypto-Currency-Price-in-Graph/amol/public/assets/css/icons/icomoon/fonts/icomoone627.eot b/Show-Crypto-Currency-Price-in-Graph/amol/public/assets/css/icons/icomoon/fonts/icomoone627.eot new file mode 100644 index 0000000..201569b Binary files /dev/null and b/Show-Crypto-Currency-Price-in-Graph/amol/public/assets/css/icons/icomoon/fonts/icomoone627.eot differ diff --git a/Show-Crypto-Currency-Price-in-Graph/amol/public/assets/css/icons/icomoon/fonts/icomoone627.svg b/Show-Crypto-Currency-Price-in-Graph/amol/public/assets/css/icons/icomoon/fonts/icomoone627.svg new file mode 100644 index 0000000..1df300c --- /dev/null +++ b/Show-Crypto-Currency-Price-in-Graph/amol/public/assets/css/icons/icomoon/fonts/icomoone627.svg @@ -0,0 +1,1155 @@ + + + +Generated by IcoMoon + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/Show-Crypto-Currency-Price-in-Graph/amol/public/assets/css/icons/icomoon/fonts/icomoone627.ttf b/Show-Crypto-Currency-Price-in-Graph/amol/public/assets/css/icons/icomoon/fonts/icomoone627.ttf new file mode 100644 index 0000000..9edde16 Binary files /dev/null and b/Show-Crypto-Currency-Price-in-Graph/amol/public/assets/css/icons/icomoon/fonts/icomoone627.ttf differ diff --git a/Show-Crypto-Currency-Price-in-Graph/amol/public/assets/css/icons/icomoon/fonts/icomoone627.woff b/Show-Crypto-Currency-Price-in-Graph/amol/public/assets/css/icons/icomoon/fonts/icomoone627.woff new file mode 100644 index 0000000..fad6167 Binary files /dev/null and b/Show-Crypto-Currency-Price-in-Graph/amol/public/assets/css/icons/icomoon/fonts/icomoone627.woff differ diff --git a/Show-Crypto-Currency-Price-in-Graph/amol/public/assets/css/icons/icomoon/styles.css b/Show-Crypto-Currency-Price-in-Graph/amol/public/assets/css/icons/icomoon/styles.css new file mode 100644 index 0000000..991da44 --- /dev/null +++ b/Show-Crypto-Currency-Price-in-Graph/amol/public/assets/css/icons/icomoon/styles.css @@ -0,0 +1,1190 @@ +@font-face { + font-family: 'icomoon'; + src:url('fonts/icomoone627.eot?3p0rtw'); + src:url('fonts/icomoond41d.eot?#iefix3p0rtw') format('embedded-opentype'), + url('fonts/icomoone627.woff?3p0rtw') format('woff'), + url('fonts/icomoone627.ttf?3p0rtw') format('truetype'), + url('fonts/icomoone627.svg?3p0rtw#icomoon') format('svg'); + font-weight: normal; + font-style: normal; +} + +[class^="icon-"], [class*=" icon-"] { + font-family: 'icomoon'; + speak: none; + font-style: normal; + font-weight: normal; + font-variant: normal; + text-transform: none; + line-height: 1; + min-width: 1em; + display: inline-block; + text-align: center; + font-size: 16px; + vertical-align: middle; + position: relative; + top: -1px; + + /* Better Font Rendering =========== */ + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; +} + +.icon-2x { + font-size: 32px; +} +.icon-3x { + font-size: 48px; +} + +.icon-bordered { + padding: 5px; + border: 2px solid; + border-radius: 50%; +} + +.icon-home:before{content:"\e900";} +.icon-home2:before{content:"\e901";} +.icon-home5:before{content:"\e904";} +.icon-home7:before{content:"\e906";} +.icon-home8:before{content:"\e907";} +.icon-home9:before{content:"\e908";} +.icon-office:before{content:"\e909";} +.icon-city:before{content:"\e90a";} +.icon-newspaper:before{content:"\e90b";} +.icon-magazine:before{content:"\e90c";} +.icon-design:before{content:"\e90d";} +.icon-pencil:before{content:"\e90e";} +.icon-pencil3:before{content:"\e910";} +.icon-pencil4:before{content:"\e911";} +.icon-pencil5:before{content:"\e912";} +.icon-pencil6:before{content:"\e913";} +.icon-pencil7:before{content:"\e914";} +.icon-eraser:before{content:"\e915";} +.icon-eraser2:before{content:"\e916";} +.icon-eraser3:before{content:"\e917";} +.icon-quill2:before{content:"\e919";} +.icon-quill4:before{content:"\e91b";} +.icon-pen:before{content:"\e91c";} +.icon-pen-plus:before{content:"\e91d";} +.icon-pen-minus:before{content:"\e91e";} +.icon-pen2:before{content:"\e91f";} +.icon-blog:before{content:"\e925";} +.icon-pen6:before{content:"\e927";} +.icon-brush:before{content:"\e928";} +.icon-spray:before{content:"\e929";} +.icon-color-sampler:before{content:"\e92c";} +.icon-toggle:before{content:"\e92d";} +.icon-bucket:before{content:"\e92e";} +.icon-gradient:before{content:"\e930";} +.icon-eyedropper:before{content:"\e931";} +.icon-eyedropper2:before{content:"\e932";} +.icon-eyedropper3:before{content:"\e933";} +.icon-droplet:before{content:"\e934";} +.icon-droplet2:before{content:"\e935";} +.icon-color-clear:before{content:"\e937";} +.icon-paint-format:before{content:"\e938";} +.icon-stamp:before{content:"\e939";} +.icon-image2:before{content:"\e93c";} +.icon-image-compare:before{content:"\e93d";} +.icon-images2:before{content:"\e93e";} +.icon-image3:before{content:"\e93f";} +.icon-images3:before{content:"\e940";} +.icon-image4:before{content:"\e941";} +.icon-image5:before{content:"\e942";} +.icon-camera:before{content:"\e944";} +.icon-shutter:before{content:"\e947";} +.icon-headphones:before{content:"\e948";} +.icon-headset:before{content:"\e949";} +.icon-music:before{content:"\e94a";} +.icon-album:before{content:"\e950";} +.icon-tape:before{content:"\e952";} +.icon-piano:before{content:"\e953";} +.icon-speakers:before{content:"\e956";} +.icon-play:before{content:"\e957";} +.icon-clapboard-play:before{content:"\e959";} +.icon-clapboard:before{content:"\e95a";} +.icon-media:before{content:"\e95b";} +.icon-presentation:before{content:"\e95c";} +.icon-movie:before{content:"\e95d";} +.icon-film:before{content:"\e95e";} +.icon-film2:before{content:"\e95f";} +.icon-film3:before{content:"\e960";} +.icon-film4:before{content:"\e961";} +.icon-video-camera:before{content:"\e962";} +.icon-video-camera2:before{content:"\e963";} +.icon-video-camera-slash:before{content:"\e964";} +.icon-video-camera3:before{content:"\e965";} +.icon-dice:before{content:"\e96a";} +.icon-chess-king:before{content:"\e972";} +.icon-chess-queen:before{content:"\e973";} +.icon-chess:before{content:"\e978";} +.icon-megaphone:before{content:"\e97a";} +.icon-new:before{content:"\e97b";} +.icon-connection:before{content:"\e97c";} +.icon-station:before{content:"\e981";} +.icon-satellite-dish2:before{content:"\e98a";} +.icon-feed:before{content:"\e9b3";} +.icon-mic2:before{content:"\e9ce";} +.icon-mic-off2:before{content:"\e9e0";} +.icon-book:before{content:"\e9e1";} +.icon-book2:before{content:"\e9e9";} +.icon-book-play:before{content:"\e9fd";} +.icon-book3:before{content:"\ea01";} +.icon-bookmark:before{content:"\ea02";} +.icon-books:before{content:"\ea03";} +.icon-archive:before{content:"\ea04";} +.icon-reading:before{content:"\ea05";} +.icon-library2:before{content:"\ea06";} +.icon-graduation2:before{content:"\ea07";} +.icon-file-text:before{content:"\ea08";} +.icon-profile:before{content:"\ea09";} +.icon-file-empty:before{content:"\ea0a";} +.icon-file-empty2:before{content:"\ea0b";} +.icon-files-empty:before{content:"\ea0c";} +.icon-files-empty2:before{content:"\ea0d";} +.icon-file-plus:before{content:"\ea0e";} +.icon-file-plus2:before{content:"\ea0f";} +.icon-file-minus:before{content:"\ea10";} +.icon-file-minus2:before{content:"\ea11";} +.icon-file-download:before{content:"\ea12";} +.icon-file-download2:before{content:"\ea13";} +.icon-file-upload:before{content:"\ea14";} +.icon-file-upload2:before{content:"\ea15";} +.icon-file-check:before{content:"\ea16";} +.icon-file-check2:before{content:"\ea17";} +.icon-file-eye:before{content:"\ea18";} +.icon-file-eye2:before{content:"\ea19";} +.icon-file-text2:before{content:"\ea1a";} +.icon-file-text3:before{content:"\ea1b";} +.icon-file-picture:before{content:"\ea1c";} +.icon-file-picture2:before{content:"\ea1d";} +.icon-file-music:before{content:"\ea1e";} +.icon-file-music2:before{content:"\ea1f";} +.icon-file-play:before{content:"\ea20";} +.icon-file-play2:before{content:"\ea21";} +.icon-file-video:before{content:"\ea22";} +.icon-file-video2:before{content:"\ea23";} +.icon-copy:before{content:"\ea24";} +.icon-copy2:before{content:"\ea25";} +.icon-file-zip:before{content:"\ea26";} +.icon-file-zip2:before{content:"\ea27";} +.icon-file-xml:before{content:"\ea28";} +.icon-file-xml2:before{content:"\ea29";} +.icon-file-css:before{content:"\ea2a";} +.icon-file-css2:before{content:"\ea2b";} +.icon-file-presentation:before{content:"\ea2c";} +.icon-file-presentation2:before{content:"\ea2d";} +.icon-file-stats:before{content:"\ea2e";} +.icon-file-stats2:before{content:"\ea2f";} +.icon-file-locked:before{content:"\ea30";} +.icon-file-locked2:before{content:"\ea31";} +.icon-file-spreadsheet:before{content:"\ea32";} +.icon-file-spreadsheet2:before{content:"\ea33";} +.icon-copy3:before{content:"\ea34";} +.icon-copy4:before{content:"\ea35";} +.icon-paste:before{content:"\ea36";} +.icon-paste2:before{content:"\ea37";} +.icon-paste3:before{content:"\ea38";} +.icon-paste4:before{content:"\ea39";} +.icon-stack:before{content:"\ea3a";} +.icon-stack2:before{content:"\ea3b";} +.icon-stack3:before{content:"\ea3c";} +.icon-folder:before{content:"\ea3d";} +.icon-folder-search:before{content:"\ea3e";} +.icon-folder-download:before{content:"\ea3f";} +.icon-folder-upload:before{content:"\ea40";} +.icon-folder-plus:before{content:"\ea41";} +.icon-folder-plus2:before{content:"\ea42";} +.icon-folder-minus:before{content:"\ea43";} +.icon-folder-minus2:before{content:"\ea44";} +.icon-folder-check:before{content:"\ea45";} +.icon-folder-heart:before{content:"\ea46";} +.icon-folder-remove:before{content:"\ea47";} +.icon-folder2:before{content:"\ea48";} +.icon-folder-open:before{content:"\ea49";} +.icon-folder3:before{content:"\ea4a";} +.icon-folder4:before{content:"\ea4b";} +.icon-folder-plus3:before{content:"\ea4c";} +.icon-folder-minus3:before{content:"\ea4d";} +.icon-folder-plus4:before{content:"\ea4e";} +.icon-folder-minus4:before{content:"\ea4f";} +.icon-folder-download2:before{content:"\ea50";} +.icon-folder-upload2:before{content:"\ea51";} +.icon-folder-download3:before{content:"\ea52";} +.icon-folder-upload3:before{content:"\ea53";} +.icon-folder5:before{content:"\ea54";} +.icon-folder-open2:before{content:"\ea55";} +.icon-folder6:before{content:"\ea56";} +.icon-folder-open3:before{content:"\ea57";} +.icon-certificate:before{content:"\ea58";} +.icon-cc:before{content:"\ea59";} +.icon-price-tag:before{content:"\ea5a";} +.icon-price-tag2:before{content:"\ea5b";} +.icon-price-tags:before{content:"\ea5c";} +.icon-price-tag3:before{content:"\ea5d";} +.icon-price-tags2:before{content:"\ea5e";} +.icon-barcode2:before{content:"\ea5f";} +.icon-qrcode:before{content:"\ea60";} +.icon-ticket:before{content:"\ea61";} +.icon-theater:before{content:"\ea62";} +.icon-store:before{content:"\ea63";} +.icon-store2:before{content:"\ea64";} +.icon-cart:before{content:"\ea65";} +.icon-cart2:before{content:"\ea66";} +.icon-cart4:before{content:"\ea67";} +.icon-cart5:before{content:"\ea68";} +.icon-cart-add:before{content:"\ea69";} +.icon-cart-add2:before{content:"\ea6a";} +.icon-cart-remove:before{content:"\ea6b";} +.icon-basket:before{content:"\ea6c";} +.icon-bag:before{content:"\ea6d";} +.icon-percent:before{content:"\ea6f";} +.icon-coins:before{content:"\ea70";} +.icon-coin-dollar:before{content:"\ea71";} +.icon-coin-euro:before{content:"\ea72";} +.icon-coin-pound:before{content:"\ea73";} +.icon-coin-yen:before{content:"\ea74";} +.icon-piggy-bank:before{content:"\ea75";} +.icon-wallet:before{content:"\ea76";} +.icon-cash:before{content:"\ea77";} +.icon-cash2:before{content:"\ea78";} +.icon-cash3:before{content:"\ea79";} +.icon-cash4:before{content:"\ea7a";} +.icon-credit-card:before{content:"\ea6e";} +.icon-credit-card2:before{content:"\ea7b";} +.icon-calculator4:before{content:"\ea7c";} +.icon-calculator2:before{content:"\ea7d";} +.icon-calculator3:before{content:"\ea7e";} +.icon-chip:before{content:"\ea7f";} +.icon-lifebuoy:before{content:"\ea80";} +.icon-phone:before{content:"\ea81";} +.icon-phone2:before{content:"\ea82";} +.icon-phone-slash:before{content:"\ea83";} +.icon-phone-wave:before{content:"\ea84";} +.icon-phone-plus:before{content:"\ea85";} +.icon-phone-minus:before{content:"\ea86";} +.icon-phone-plus2:before{content:"\ea87";} +.icon-phone-minus2:before{content:"\ea88";} +.icon-phone-incoming:before{content:"\ea89";} +.icon-phone-outgoing:before{content:"\ea8a";} +.icon-phone-hang-up:before{content:"\ea8e";} +.icon-address-book:before{content:"\ea90";} +.icon-address-book2:before{content:"\ea91";} +.icon-address-book3:before{content:"\ea92";} +.icon-notebook:before{content:"\ea93";} +.icon-envelop:before{content:"\ea94";} +.icon-envelop2:before{content:"\ea95";} +.icon-envelop3:before{content:"\ea96";} +.icon-envelop4:before{content:"\ea97";} +.icon-envelop5:before{content:"\ea98";} +.icon-mailbox:before{content:"\ea99";} +.icon-pushpin:before{content:"\ea9a";} +.icon-location3:before{content:"\ea9d";} +.icon-location4:before{content:"\ea9e";} +.icon-compass4:before{content:"\ea9f";} +.icon-map:before{content:"\eaa0";} +.icon-map4:before{content:"\eaa1";} +.icon-map5:before{content:"\eaa2";} +.icon-direction:before{content:"\eaa3";} +.icon-reset:before{content:"\eaa4";} +.icon-history:before{content:"\eaa5";} +.icon-watch:before{content:"\eaa6";} +.icon-watch2:before{content:"\eaa7";} +.icon-alarm:before{content:"\eaa8";} +.icon-alarm-add:before{content:"\eaa9";} +.icon-alarm-check:before{content:"\eaaa";} +.icon-alarm-cancel:before{content:"\eaab";} +.icon-bell2:before{content:"\eaac";} +.icon-bell3:before{content:"\eaad";} +.icon-bell-plus:before{content:"\eaae";} +.icon-bell-minus:before{content:"\eaaf";} +.icon-bell-check:before{content:"\eab0";} +.icon-bell-cross:before{content:"\eab1";} +.icon-calendar:before{content:"\eab2";} +.icon-calendar2:before{content:"\eab3";} +.icon-calendar3:before{content:"\eab4";} +.icon-calendar52:before{content:"\eab6";} +.icon-printer:before{content:"\eab7";} +.icon-printer2:before{content:"\eab8";} +.icon-printer4:before{content:"\eab9";} +.icon-shredder:before{content:"\eaba";} +.icon-mouse:before{content:"\eabb";} +.icon-mouse-left:before{content:"\eabc";} +.icon-mouse-right:before{content:"\eabd";} +.icon-keyboard:before{content:"\eabe";} +.icon-typewriter:before{content:"\eabf";} +.icon-display:before{content:"\eac0";} +.icon-display4:before{content:"\eac1";} +.icon-laptop:before{content:"\eac2";} +.icon-mobile:before{content:"\eac3";} +.icon-mobile2:before{content:"\eac4";} +.icon-tablet:before{content:"\eac5";} +.icon-mobile3:before{content:"\eac6";} +.icon-tv:before{content:"\eac7";} +.icon-radio:before{content:"\eac8";} +.icon-cabinet:before{content:"\eac9";} +.icon-drawer:before{content:"\eaca";} +.icon-drawer2:before{content:"\eacb";} +.icon-drawer-out:before{content:"\eacc";} +.icon-drawer-in:before{content:"\eacd";} +.icon-drawer3:before{content:"\eace";} +.icon-box:before{content:"\eacf";} +.icon-box-add:before{content:"\ead0";} +.icon-box-remove:before{content:"\ead1";} +.icon-download:before{content:"\ead2";} +.icon-upload:before{content:"\ead3";} +.icon-floppy-disk:before{content:"\ead4";} +.icon-floppy-disks:before{content:"\ead5";} +.icon-usb-stick:before{content:"\ead6";} +.icon-drive:before{content:"\ead7";} +.icon-server:before{content:"\ead8";} +.icon-database:before{content:"\ead9";} +.icon-database2:before{content:"\eada";} +.icon-database4:before{content:"\eadb";} +.icon-database-menu:before{content:"\eadc";} +.icon-database-add:before{content:"\eadd";} +.icon-database-remove:before{content:"\eade";} +.icon-database-insert:before{content:"\eadf";} +.icon-database-export:before{content:"\eae0";} +.icon-database-upload:before{content:"\eae1";} +.icon-database-refresh:before{content:"\eae2";} +.icon-database-diff:before{content:"\eae3";} +.icon-database-edit2:before{content:"\eae5";} +.icon-database-check:before{content:"\eae6";} +.icon-database-arrow:before{content:"\eae7";} +.icon-database-time2:before{content:"\eae9";} +.icon-undo:before{content:"\eaea";} +.icon-redo:before{content:"\eaeb";} +.icon-rotate-ccw:before{content:"\eaec";} +.icon-rotate-cw:before{content:"\eaed";} +.icon-rotate-ccw2:before{content:"\eaee";} +.icon-rotate-cw2:before{content:"\eaef";} +.icon-rotate-ccw3:before{content:"\eaf0";} +.icon-rotate-cw3:before{content:"\eaf1";} +.icon-flip-vertical2:before{content:"\eaf2";} +.icon-flip-horizontal2:before{content:"\eaf3";} +.icon-flip-vertical3:before{content:"\eaf4";} +.icon-flip-vertical4:before{content:"\eaf5";} +.icon-angle:before{content:"\eaf6";} +.icon-shear:before{content:"\eaf7";} +.icon-align-left:before{content:"\eafc";} +.icon-align-center-horizontal:before{content:"\eafd";} +.icon-align-right:before{content:"\eafe";} +.icon-align-top:before{content:"\eaff";} +.icon-align-center-vertical:before{content:"\eb00";} +.icon-align-bottom:before{content:"\eb01";} +.icon-undo2:before{content:"\eb02";} +.icon-redo2:before{content:"\eb03";} +.icon-forward:before{content:"\eb04";} +.icon-reply:before{content:"\eb05";} +.icon-reply-all:before{content:"\eb06";} +.icon-bubble:before{content:"\eb07";} +.icon-bubbles:before{content:"\eb08";} +.icon-bubbles2:before{content:"\eb09";} +.icon-bubble2:before{content:"\eb0a";} +.icon-bubbles3:before{content:"\eb0b";} +.icon-bubbles4:before{content:"\eb0c";} +.icon-bubble-notification:before{content:"\eb0d";} +.icon-bubbles5:before{content:"\eb0e";} +.icon-bubbles6:before{content:"\eb0f";} +.icon-bubble6:before{content:"\eb10";} +.icon-bubbles7:before{content:"\eb11";} +.icon-bubble7:before{content:"\eb12";} +.icon-bubbles8:before{content:"\eb13";} +.icon-bubble8:before{content:"\eb14";} +.icon-bubble-dots3:before{content:"\eb15";} +.icon-bubble-lines3:before{content:"\eb16";} +.icon-bubble9:before{content:"\eb17";} +.icon-bubble-dots4:before{content:"\eb18";} +.icon-bubble-lines4:before{content:"\eb19";} +.icon-bubbles9:before{content:"\eb1a";} +.icon-bubbles10:before{content:"\eb1b";} +.icon-user:before{content:"\eb33";} +.icon-users:before{content:"\eb34";} +.icon-user-plus:before{content:"\eb35";} +.icon-user-minus:before{content:"\eb36";} +.icon-user-cancel:before{content:"\eb37";} +.icon-user-block:before{content:"\eb38";} +.icon-user-lock:before{content:"\eb39";} +.icon-user-check:before{content:"\eb3a";} +.icon-users2:before{content:"\eb3b";} +.icon-users4:before{content:"\eb44";} +.icon-user-tie:before{content:"\eb45";} +.icon-collaboration:before{content:"\eb46";} +.icon-vcard:before{content:"\eb47";} +.icon-hat:before{content:"\ebb8";} +.icon-bowtie:before{content:"\ebb9";} +.icon-quotes-left:before{content:"\eb49";} +.icon-quotes-right:before{content:"\eb4a";} +.icon-quotes-left2:before{content:"\eb4b";} +.icon-quotes-right2:before{content:"\eb4c";} +.icon-hour-glass:before{content:"\eb4d";} +.icon-hour-glass2:before{content:"\eb4e";} +.icon-hour-glass3:before{content:"\eb4f";} +.icon-spinner:before{content:"\eb50";} +.icon-spinner2:before{content:"\eb51";} +.icon-spinner3:before{content:"\eb52";} +.icon-spinner4:before{content:"\eb53";} +.icon-spinner6:before{content:"\eb54";} +.icon-spinner9:before{content:"\eb55";} +.icon-spinner10:before{content:"\eb56";} +.icon-spinner11:before{content:"\eb57";} +.icon-microscope:before{content:"\eb58";} +.icon-enlarge:before{content:"\eb59";} +.icon-shrink:before{content:"\eb5a";} +.icon-enlarge3:before{content:"\eb5b";} +.icon-shrink3:before{content:"\eb5c";} +.icon-enlarge5:before{content:"\eb5d";} +.icon-shrink5:before{content:"\eb5e";} +.icon-enlarge6:before{content:"\eb5f";} +.icon-shrink6:before{content:"\eb60";} +.icon-enlarge7:before{content:"\eb61";} +.icon-shrink7:before{content:"\eb62";} +.icon-key:before{content:"\eb63";} +.icon-lock:before{content:"\eb65";} +.icon-lock2:before{content:"\eb66";} +.icon-lock4:before{content:"\eb67";} +.icon-unlocked:before{content:"\eb68";} +.icon-lock5:before{content:"\eb69";} +.icon-unlocked2:before{content:"\eb6a";} +.icon-safe:before{content:"\eb6b";} +.icon-wrench:before{content:"\eb6c";} +.icon-wrench2:before{content:"\eb6d";} +.icon-wrench3:before{content:"\eb6e";} +.icon-equalizer:before{content:"\eb6f";} +.icon-equalizer2:before{content:"\eb70";} +.icon-equalizer3:before{content:"\eb71";} +.icon-equalizer4:before{content:"\eb72";} +.icon-cog:before{content:"\eb73";} +.icon-cogs:before{content:"\eb74";} +.icon-cog2:before{content:"\eb75";} +.icon-cog3:before{content:"\eb76";} +.icon-cog4:before{content:"\eb77";} +.icon-cog52:before{content:"\eb78";} +.icon-cog6:before{content:"\eb79";} +.icon-cog7:before{content:"\eb7a";} +.icon-hammer:before{content:"\eb7c";} +.icon-hammer-wrench:before{content:"\eb7d";} +.icon-magic-wand:before{content:"\eb7e";} +.icon-magic-wand2:before{content:"\eb7f";} +.icon-pulse2:before{content:"\eb80";} +.icon-aid-kit:before{content:"\eb81";} +.icon-bug2:before{content:"\eb83";} +.icon-construction:before{content:"\eb85";} +.icon-traffic-cone:before{content:"\eb86";} +.icon-traffic-lights:before{content:"\eb87";} +.icon-pie-chart:before{content:"\eb88";} +.icon-pie-chart2:before{content:"\eb89";} +.icon-pie-chart3:before{content:"\eb8a";} +.icon-pie-chart4:before{content:"\eb8b";} +.icon-pie-chart5:before{content:"\eb8c";} +.icon-pie-chart6:before{content:"\eb8d";} +.icon-pie-chart7:before{content:"\eb8e";} +.icon-stats-dots:before{content:"\eb8f";} +.icon-stats-bars:before{content:"\eb90";} +.icon-pie-chart8:before{content:"\eb91";} +.icon-stats-bars2:before{content:"\eb92";} +.icon-stats-bars3:before{content:"\eb93";} +.icon-stats-bars4:before{content:"\eb94";} +.icon-chart:before{content:"\eb97";} +.icon-stats-growth:before{content:"\eb98";} +.icon-stats-decline:before{content:"\eb99";} +.icon-stats-growth2:before{content:"\eb9a";} +.icon-stats-decline2:before{content:"\eb9b";} +.icon-stairs-up:before{content:"\eb9c";} +.icon-stairs-down:before{content:"\eb9d";} +.icon-stairs:before{content:"\eb9e";} +.icon-ladder:before{content:"\eba0";} +.icon-rating:before{content:"\eba1";} +.icon-rating2:before{content:"\eba2";} +.icon-rating3:before{content:"\eba3";} +.icon-podium:before{content:"\eba5";} +.icon-stars:before{content:"\eba6";} +.icon-medal-star:before{content:"\eba7";} +.icon-medal:before{content:"\eba8";} +.icon-medal2:before{content:"\eba9";} +.icon-medal-first:before{content:"\ebaa";} +.icon-medal-second:before{content:"\ebab";} +.icon-medal-third:before{content:"\ebac";} +.icon-crown:before{content:"\ebad";} +.icon-trophy2:before{content:"\ebaf";} +.icon-trophy3:before{content:"\ebb0";} +.icon-diamond:before{content:"\ebb1";} +.icon-trophy4:before{content:"\ebb2";} +.icon-gift:before{content:"\ebb3";} +.icon-pipe:before{content:"\ebb6";} +.icon-mustache:before{content:"\ebb7";} +.icon-cup2:before{content:"\ebc6";} +.icon-coffee:before{content:"\ebc8";} +.icon-paw:before{content:"\ebd5";} +.icon-footprint:before{content:"\ebd6";} +.icon-rocket:before{content:"\ebda";} +.icon-meter2:before{content:"\ebdc";} +.icon-meter-slow:before{content:"\ebdd";} +.icon-meter-fast:before{content:"\ebdf";} +.icon-hammer2:before{content:"\ebe1";} +.icon-balance:before{content:"\ebe2";} +.icon-fire:before{content:"\ebe5";} +.icon-fire2:before{content:"\ebe6";} +.icon-lab:before{content:"\ebe7";} +.icon-atom:before{content:"\ebe8";} +.icon-atom2:before{content:"\ebe9";} +.icon-bin:before{content:"\ebfa";} +.icon-bin2:before{content:"\ebfb";} +.icon-briefcase:before{content:"\ebff";} +.icon-briefcase3:before{content:"\ec01";} +.icon-airplane2:before{content:"\ec03";} +.icon-airplane3:before{content:"\ec04";} +.icon-airplane4:before{content:"\ec05";} +.icon-paperplane:before{content:"\ec06";} +.icon-car:before{content:"\ec07";} +.icon-steering-wheel:before{content:"\ec08";} +.icon-car2:before{content:"\ec09";} +.icon-gas:before{content:"\ec0a";} +.icon-bus:before{content:"\ec0b";} +.icon-truck:before{content:"\ec0c";} +.icon-bike:before{content:"\ec0d";} +.icon-road:before{content:"\ec0e";} +.icon-train:before{content:"\ec0f";} +.icon-train2:before{content:"\ec10";} +.icon-ship:before{content:"\ec11";} +.icon-boat:before{content:"\ec12";} +.icon-chopper:before{content:"\ec13";} +.icon-cube:before{content:"\ec15";} +.icon-cube2:before{content:"\ec16";} +.icon-cube3:before{content:"\ec17";} +.icon-cube4:before{content:"\ec18";} +.icon-pyramid:before{content:"\ec19";} +.icon-pyramid2:before{content:"\ec1a";} +.icon-package:before{content:"\ec1b";} +.icon-puzzle:before{content:"\ec1c";} +.icon-puzzle2:before{content:"\ec1d";} +.icon-puzzle3:before{content:"\ec1e";} +.icon-puzzle4:before{content:"\ec1f";} +.icon-glasses-3d2:before{content:"\ec21";} +.icon-brain:before{content:"\ec24";} +.icon-accessibility:before{content:"\ec25";} +.icon-accessibility2:before{content:"\ec26";} +.icon-strategy:before{content:"\ec27";} +.icon-target:before{content:"\ec28";} +.icon-target2:before{content:"\ec29";} +.icon-shield-check:before{content:"\ec2f";} +.icon-shield-notice:before{content:"\ec30";} +.icon-shield2:before{content:"\ec31";} +.icon-racing:before{content:"\ec40";} +.icon-finish:before{content:"\ec41";} +.icon-power2:before{content:"\ec46";} +.icon-power3:before{content:"\ec47";} +.icon-switch:before{content:"\ec48";} +.icon-switch22:before{content:"\ec49";} +.icon-power-cord:before{content:"\ec4a";} +.icon-clipboard:before{content:"\ec4d";} +.icon-clipboard2:before{content:"\ec4e";} +.icon-clipboard3:before{content:"\ec4f";} +.icon-clipboard4:before{content:"\ec50";} +.icon-clipboard5:before{content:"\ec51";} +.icon-clipboard6:before{content:"\ec52";} +.icon-playlist:before{content:"\ec53";} +.icon-playlist-add:before{content:"\ec54";} +.icon-list-numbered:before{content:"\ec55";} +.icon-list:before{content:"\ec56";} +.icon-list2:before{content:"\ec57";} +.icon-more:before{content:"\ec58";} +.icon-more2:before{content:"\ec59";} +.icon-grid:before{content:"\ec5a";} +.icon-grid2:before{content:"\ec5b";} +.icon-grid3:before{content:"\ec5c";} +.icon-grid4:before{content:"\ec5d";} +.icon-grid52:before{content:"\ec5e";} +.icon-grid6:before{content:"\ec5f";} +.icon-grid7:before{content:"\ec60";} +.icon-tree5:before{content:"\ec61";} +.icon-tree6:before{content:"\ec62";} +.icon-tree7:before{content:"\ec63";} +.icon-lan:before{content:"\ec64";} +.icon-lan2:before{content:"\ec65";} +.icon-lan3:before{content:"\ec66";} +.icon-menu:before{content:"\ec67";} +.icon-circle-small:before{content:"\ec68";} +.icon-menu2:before{content:"\ec69";} +.icon-menu3:before{content:"\ec6a";} +.icon-menu4:before{content:"\ec6b";} +.icon-menu5:before{content:"\ec6c";} +.icon-menu62:before{content:"\ec6d";} +.icon-menu7:before{content:"\ec6e";} +.icon-menu8:before{content:"\ec6f";} +.icon-menu9:before{content:"\ec70";} +.icon-menu10:before{content:"\ec71";} +.icon-cloud:before{content:"\ec72";} +.icon-cloud-download:before{content:"\ec73";} +.icon-cloud-upload:before{content:"\ec74";} +.icon-cloud-check:before{content:"\ec75";} +.icon-cloud2:before{content:"\ec76";} +.icon-cloud-download2:before{content:"\ec77";} +.icon-cloud-upload2:before{content:"\ec78";} +.icon-cloud-check2:before{content:"\ec79";} +.icon-import:before{content:"\ec7e";} +.icon-download4:before{content:"\ec80";} +.icon-upload4:before{content:"\ec81";} +.icon-download7:before{content:"\ec86";} +.icon-upload7:before{content:"\ec87";} +.icon-download10:before{content:"\ec8c";} +.icon-upload10:before{content:"\ec8d";} +.icon-sphere:before{content:"\ec8e";} +.icon-sphere3:before{content:"\ec90";} +.icon-earth:before{content:"\ec93";} +.icon-link:before{content:"\ec96";} +.icon-unlink:before{content:"\ec97";} +.icon-link2:before{content:"\ec98";} +.icon-unlink2:before{content:"\ec99";} +.icon-anchor:before{content:"\eca0";} +.icon-flag3:before{content:"\eca3";} +.icon-flag4:before{content:"\eca4";} +.icon-flag7:before{content:"\eca7";} +.icon-flag8:before{content:"\eca8";} +.icon-attachment:before{content:"\eca9";} +.icon-attachment2:before{content:"\ecaa";} +.icon-eye:before{content:"\ecab";} +.icon-eye-plus:before{content:"\ecac";} +.icon-eye-minus:before{content:"\ecad";} +.icon-eye-blocked:before{content:"\ecae";} +.icon-eye2:before{content:"\ecaf";} +.icon-eye-blocked2:before{content:"\ecb0";} +.icon-eye4:before{content:"\ecb3";} +.icon-bookmark2:before{content:"\ecb4";} +.icon-bookmark3:before{content:"\ecb5";} +.icon-bookmarks:before{content:"\ecb6";} +.icon-bookmark4:before{content:"\ecb7";} +.icon-spotlight2:before{content:"\ecb8";} +.icon-starburst:before{content:"\ecb9";} +.icon-snowflake:before{content:"\ecba";} +.icon-weather-windy:before{content:"\ecd0";} +.icon-fan:before{content:"\ecd1";} +.icon-umbrella:before{content:"\ecd2";} +.icon-sun3:before{content:"\ecd3";} +.icon-contrast:before{content:"\ecd4";} +.icon-bed2:before{content:"\ecda";} +.icon-furniture:before{content:"\ecdb";} +.icon-chair:before{content:"\ecdc";} +.icon-star-empty3:before{content:"\ece0";} +.icon-star-half:before{content:"\ece1";} +.icon-star-full2:before{content:"\ece2";} +.icon-heart5:before{content:"\ece9";} +.icon-heart6:before{content:"\ecea";} +.icon-heart-broken2:before{content:"\eceb";} +.icon-thumbs-up2:before{content:"\ecf2";} +.icon-thumbs-down2:before{content:"\ecf4";} +.icon-thumbs-up3:before{content:"\ecf5";} +.icon-thumbs-down3:before{content:"\ecf6";} +.icon-height:before{content:"\ecf7";} +.icon-man:before{content:"\ecf8";} +.icon-woman:before{content:"\ecf9";} +.icon-man-woman:before{content:"\ecfa";} +.icon-yin-yang:before{content:"\ecfe";} +.icon-cursor:before{content:"\ed23";} +.icon-cursor2:before{content:"\ed24";} +.icon-lasso2:before{content:"\ed26";} +.icon-select2:before{content:"\ed28";} +.icon-point-up:before{content:"\ed29";} +.icon-point-right:before{content:"\ed2a";} +.icon-point-down:before{content:"\ed2b";} +.icon-point-left:before{content:"\ed2c";} +.icon-pointer:before{content:"\ed2d";} +.icon-reminder:before{content:"\ed2e";} +.icon-drag-left-right:before{content:"\ed2f";} +.icon-drag-left:before{content:"\ed30";} +.icon-drag-right:before{content:"\ed31";} +.icon-touch:before{content:"\ed32";} +.icon-multitouch:before{content:"\ed33";} +.icon-touch-zoom:before{content:"\ed34";} +.icon-touch-pinch:before{content:"\ed35";} +.icon-hand:before{content:"\ed36";} +.icon-grab:before{content:"\ed37";} +.icon-stack-empty:before{content:"\ed38";} +.icon-stack-plus:before{content:"\ed39";} +.icon-stack-minus:before{content:"\ed3a";} +.icon-stack-star:before{content:"\ed3b";} +.icon-stack-picture:before{content:"\ed3c";} +.icon-stack-down:before{content:"\ed3d";} +.icon-stack-up:before{content:"\ed3e";} +.icon-stack-cancel:before{content:"\ed3f";} +.icon-stack-check:before{content:"\ed40";} +.icon-stack-text:before{content:"\ed41";} +.icon-stack4:before{content:"\ed47";} +.icon-stack-music:before{content:"\ed48";} +.icon-stack-play:before{content:"\ed49";} +.icon-move:before{content:"\ed4a";} +.icon-dots:before{content:"\ed4b";} +.icon-warning:before{content:"\ed4c";} +.icon-warning22:before{content:"\ed4d";} +.icon-notification2:before{content:"\ed4f";} +.icon-question3:before{content:"\ed52";} +.icon-question4:before{content:"\ed53";} +.icon-plus3:before{content:"\ed5a";} +.icon-minus3:before{content:"\ed5b";} +.icon-plus-circle2:before{content:"\ed5e";} +.icon-minus-circle2:before{content:"\ed5f";} +.icon-cancel-circle2:before{content:"\ed63";} +.icon-blocked:before{content:"\ed64";} +.icon-cancel-square:before{content:"\ed65";} +.icon-cancel-square2:before{content:"\ed66";} +.icon-spam:before{content:"\ed68";} +.icon-cross2:before{content:"\ed6a";} +.icon-cross3:before{content:"\ed6b";} +.icon-checkmark:before{content:"\ed6c";} +.icon-checkmark3:before{content:"\ed6e";} +.icon-checkmark2:before{content:"\e372";} +.icon-checkmark4:before{content:"\ed6f";} +.icon-spell-check:before{content:"\ed71";} +.icon-spell-check2:before{content:"\ed72";} +.icon-enter:before{content:"\ed73";} +.icon-exit:before{content:"\ed74";} +.icon-enter2:before{content:"\ed75";} +.icon-exit2:before{content:"\ed76";} +.icon-enter3:before{content:"\ed77";} +.icon-exit3:before{content:"\ed78";} +.icon-wall:before{content:"\ed79";} +.icon-fence:before{content:"\ed7a";} +.icon-play3:before{content:"\ed7b";} +.icon-pause:before{content:"\ed7c";} +.icon-stop:before{content:"\ed7d";} +.icon-previous:before{content:"\ed7e";} +.icon-next:before{content:"\ed7f";} +.icon-backward:before{content:"\ed80";} +.icon-forward2:before{content:"\ed81";} +.icon-play4:before{content:"\ed82";} +.icon-pause2:before{content:"\ed83";} +.icon-stop2:before{content:"\ed84";} +.icon-backward2:before{content:"\ed85";} +.icon-forward3:before{content:"\ed86";} +.icon-first:before{content:"\ed87";} +.icon-last:before{content:"\ed88";} +.icon-previous2:before{content:"\ed89";} +.icon-next2:before{content:"\ed8a";} +.icon-eject:before{content:"\ed8b";} +.icon-volume-high:before{content:"\ed8c";} +.icon-volume-medium:before{content:"\ed8d";} +.icon-volume-low:before{content:"\ed8e";} +.icon-volume-mute:before{content:"\ed8f";} +.icon-speaker-left:before{content:"\ed90";} +.icon-speaker-right:before{content:"\ed91";} +.icon-volume-mute2:before{content:"\ed92";} +.icon-volume-increase:before{content:"\ed93";} +.icon-volume-decrease:before{content:"\ed94";} +.icon-volume-mute5:before{content:"\eda4";} +.icon-loop:before{content:"\eda5";} +.icon-loop3:before{content:"\eda7";} +.icon-infinite-square:before{content:"\eda8";} +.icon-infinite:before{content:"\eda9";} +.icon-loop4:before{content:"\edab";} +.icon-shuffle:before{content:"\edac";} +.icon-wave:before{content:"\edae";} +.icon-wave2:before{content:"\edaf";} +.icon-split:before{content:"\edb0";} +.icon-merge:before{content:"\edb1";} +.icon-arrow-up5:before{content:"\edc4";} +.icon-arrow-right5:before{content:"\edc5";} +.icon-arrow-down5:before{content:"\edc6";} +.icon-arrow-left5:before{content:"\edc7";} +.icon-arrow-up-left2:before{content:"\edd0";} +.icon-arrow-up7:before{content:"\edd1";} +.icon-arrow-up-right2:before{content:"\edd2";} +.icon-arrow-right7:before{content:"\edd3";} +.icon-arrow-down-right2:before{content:"\edd4";} +.icon-arrow-down7:before{content:"\edd5";} +.icon-arrow-down-left2:before{content:"\edd6";} +.icon-arrow-left7:before{content:"\edd7";} +.icon-arrow-up-left3:before{content:"\edd8";} +.icon-arrow-up8:before{content:"\edd9";} +.icon-arrow-up-right3:before{content:"\edda";} +.icon-arrow-right8:before{content:"\eddb";} +.icon-arrow-down-right3:before{content:"\eddc";} +.icon-arrow-down8:before{content:"\eddd";} +.icon-arrow-down-left3:before{content:"\edde";} +.icon-arrow-left8:before{content:"\eddf";} +.icon-circle-up2:before{content:"\ede4";} +.icon-circle-right2:before{content:"\ede5";} +.icon-circle-down2:before{content:"\ede6";} +.icon-circle-left2:before{content:"\ede7";} +.icon-arrow-resize7:before{content:"\edfe";} +.icon-arrow-resize8:before{content:"\edff";} +.icon-square-up-left:before{content:"\ee00";} +.icon-square-up:before{content:"\ee01";} +.icon-square-up-right:before{content:"\ee02";} +.icon-square-right:before{content:"\ee03";} +.icon-square-down-right:before{content:"\ee04";} +.icon-square-down:before{content:"\ee05";} +.icon-square-down-left:before{content:"\ee06";} +.icon-square-left:before{content:"\ee07";} +.icon-arrow-up15:before{content:"\ee30";} +.icon-arrow-right15:before{content:"\ee31";} +.icon-arrow-down15:before{content:"\ee32";} +.icon-arrow-left15:before{content:"\ee33";} +.icon-arrow-up16:before{content:"\ee34";} +.icon-arrow-right16:before{content:"\ee35";} +.icon-arrow-down16:before{content:"\ee36";} +.icon-arrow-left16:before{content:"\ee37";} +.icon-menu-open:before{content:"\ee38";} +.icon-menu-open2:before{content:"\ee39";} +.icon-menu-close:before{content:"\ee3a";} +.icon-menu-close2:before{content:"\ee3b";} +.icon-enter5:before{content:"\ee3d";} +.icon-esc:before{content:"\ee3e";} +.icon-enter6:before{content:"\ee3f";} +.icon-backspace:before{content:"\ee40";} +.icon-backspace2:before{content:"\ee41";} +.icon-tab:before{content:"\ee42";} +.icon-transmission:before{content:"\ee43";} +.icon-sort:before{content:"\ee45";} +.icon-move-up2:before{content:"\ee47";} +.icon-move-down2:before{content:"\ee48";} +.icon-sort-alpha-asc:before{content:"\ee49";} +.icon-sort-alpha-desc:before{content:"\ee4a";} +.icon-sort-numeric-asc:before{content:"\ee4b";} +.icon-sort-numberic-desc:before{content:"\ee4c";} +.icon-sort-amount-asc:before{content:"\ee4d";} +.icon-sort-amount-desc:before{content:"\ee4e";} +.icon-sort-time-asc:before{content:"\ee4f";} +.icon-sort-time-desc:before{content:"\ee50";} +.icon-battery-6:before{content:"\ee51";} +.icon-battery-0:before{content:"\ee57";} +.icon-battery-charging:before{content:"\ee58";} +.icon-command:before{content:"\ee5f";} +.icon-shift:before{content:"\ee60";} +.icon-ctrl:before{content:"\ee61";} +.icon-opt:before{content:"\ee62";} +.icon-checkbox-checked:before{content:"\ee63";} +.icon-checkbox-unchecked:before{content:"\ee64";} +.icon-checkbox-partial:before{content:"\ee65";} +.icon-square:before{content:"\ee66";} +.icon-triangle:before{content:"\ee67";} +.icon-triangle2:before{content:"\ee68";} +.icon-diamond3:before{content:"\ee69";} +.icon-diamond4:before{content:"\ee6a";} +.icon-checkbox-checked2:before{content:"\ee6b";} +.icon-checkbox-unchecked2:before{content:"\ee6c";} +.icon-checkbox-partial2:before{content:"\ee6d";} +.icon-radio-checked:before{content:"\ee6e";} +.icon-radio-checked2:before{content:"\ee6f";} +.icon-radio-unchecked:before{content:"\ee70";} +.icon-checkmark-circle:before{content:"\ee73";} +.icon-circle:before{content:"\ee74";} +.icon-circle2:before{content:"\ee75";} +.icon-circles:before{content:"\ee76";} +.icon-circles2:before{content:"\ee77";} +.icon-crop:before{content:"\ee78";} +.icon-crop2:before{content:"\ee79";} +.icon-make-group:before{content:"\ee7a";} +.icon-ungroup:before{content:"\ee7b";} +.icon-vector:before{content:"\ee7c";} +.icon-vector2:before{content:"\ee7d";} +.icon-rulers:before{content:"\ee7e";} +.icon-pencil-ruler:before{content:"\ee80";} +.icon-scissors:before{content:"\ee81";} +.icon-filter3:before{content:"\ee88";} +.icon-filter4:before{content:"\ee89";} +.icon-font:before{content:"\ee8a";} +.icon-ampersand2:before{content:"\ee8b";} +.icon-ligature:before{content:"\ee8c";} +.icon-font-size:before{content:"\ee8e";} +.icon-typography:before{content:"\ee8f";} +.icon-text-height:before{content:"\ee90";} +.icon-text-width:before{content:"\ee91";} +.icon-height2:before{content:"\ee92";} +.icon-width:before{content:"\ee93";} +.icon-strikethrough2:before{content:"\ee98";} +.icon-font-size2:before{content:"\ee99";} +.icon-bold2:before{content:"\ee9a";} +.icon-underline2:before{content:"\ee9b";} +.icon-italic2:before{content:"\ee9c";} +.icon-strikethrough3:before{content:"\ee9d";} +.icon-omega:before{content:"\ee9e";} +.icon-sigma:before{content:"\ee9f";} +.icon-nbsp:before{content:"\eea0";} +.icon-page-break:before{content:"\eea1";} +.icon-page-break2:before{content:"\eea2";} +.icon-superscript:before{content:"\eea3";} +.icon-subscript:before{content:"\eea4";} +.icon-superscript2:before{content:"\eea5";} +.icon-subscript2:before{content:"\eea6";} +.icon-text-color:before{content:"\eea7";} +.icon-highlight:before{content:"\eea8";} +.icon-pagebreak:before{content:"\eea9";} +.icon-clear-formatting:before{content:"\eeaa";} +.icon-table:before{content:"\eeab";} +.icon-table2:before{content:"\eeac";} +.icon-insert-template:before{content:"\eead";} +.icon-pilcrow:before{content:"\eeae";} +.icon-ltr:before{content:"\eeaf";} +.icon-rtl:before{content:"\eeb0";} +.icon-ltr2:before{content:"\eeb1";} +.icon-rtl2:before{content:"\eeb2";} +.icon-section:before{content:"\eeb3";} +.icon-paragraph-left2:before{content:"\eeb8";} +.icon-paragraph-center2:before{content:"\eeb9";} +.icon-paragraph-right2:before{content:"\eeba";} +.icon-paragraph-justify2:before{content:"\eebb";} +.icon-indent-increase:before{content:"\eebc";} +.icon-indent-decrease:before{content:"\eebd";} +.icon-paragraph-left3:before{content:"\eebe";} +.icon-paragraph-center3:before{content:"\eebf";} +.icon-paragraph-right3:before{content:"\eec0";} +.icon-paragraph-justify3:before{content:"\eec1";} +.icon-indent-increase2:before{content:"\eec2";} +.icon-indent-decrease2:before{content:"\eec3";} +.icon-share:before{content:"\eec4";} +.icon-share2:before{content:"\eec5";} +.icon-new-tab:before{content:"\eec6";} +.icon-new-tab2:before{content:"\eec7";} +.icon-popout:before{content:"\eec8";} +.icon-embed:before{content:"\eec9";} +.icon-embed2:before{content:"\eeca";} +.icon-markup:before{content:"\eecb";} +.icon-regexp:before{content:"\eecc";} +.icon-regexp2:before{content:"\eecd";} +.icon-code:before{content:"\eece";} +.icon-circle-css:before{content:"\eecf";} +.icon-circle-code:before{content:"\eed0";} +.icon-terminal:before{content:"\eed1";} +.icon-unicode:before{content:"\eed2";} +.icon-seven-segment-0:before{content:"\eed3";} +.icon-seven-segment-1:before{content:"\eed4";} +.icon-seven-segment-2:before{content:"\eed5";} +.icon-seven-segment-3:before{content:"\eed6";} +.icon-seven-segment-4:before{content:"\eed7";} +.icon-seven-segment-5:before{content:"\eed8";} +.icon-seven-segment-6:before{content:"\eed9";} +.icon-seven-segment-7:before{content:"\eeda";} +.icon-seven-segment-8:before{content:"\eedb";} +.icon-seven-segment-9:before{content:"\eedc";} +.icon-share3:before{content:"\eedd";} +.icon-share4:before{content:"\eede";} +.icon-google:before{content:"\eee3";} +.icon-google-plus:before{content:"\eee4";} +.icon-google-plus2:before{content:"\eee5";} +.icon-google-drive:before{content:"\eee7";} +.icon-facebook:before{content:"\eee8";} +.icon-facebook2:before{content:"\eee9";} +.icon-instagram:before{content:"\eeec";} +.icon-twitter:before{content:"\eeed";} +.icon-twitter2:before{content:"\eeee";} +.icon-feed2:before{content:"\eef0";} +.icon-feed3:before{content:"\eef1";} +.icon-youtube:before{content:"\eef3";} +.icon-youtube2:before{content:"\eef4";} +.icon-youtube3:before{content:"\eef5";} +.icon-vimeo:before{content:"\eef8";} +.icon-vimeo2:before{content:"\eef9";} +.icon-lanyrd:before{content:"\eefb";} +.icon-flickr:before{content:"\eefc";} +.icon-flickr2:before{content:"\eefd";} +.icon-flickr3:before{content:"\eefe";} +.icon-picassa:before{content:"\ef00";} +.icon-picassa2:before{content:"\ef01";} +.icon-dribbble:before{content:"\ef02";} +.icon-dribbble2:before{content:"\ef03";} +.icon-dribbble3:before{content:"\ef04";} +.icon-forrst:before{content:"\ef05";} +.icon-forrst2:before{content:"\ef06";} +.icon-deviantart:before{content:"\ef07";} +.icon-deviantart2:before{content:"\ef08";} +.icon-steam:before{content:"\ef09";} +.icon-steam2:before{content:"\ef0a";} +.icon-dropbox:before{content:"\ef0b";} +.icon-onedrive:before{content:"\ef0c";} +.icon-github:before{content:"\ef0d";} +.icon-github4:before{content:"\ef10";} +.icon-github5:before{content:"\ef11";} +.icon-wordpress:before{content:"\ef12";} +.icon-wordpress2:before{content:"\ef13";} +.icon-joomla:before{content:"\ef14";} +.icon-blogger:before{content:"\ef15";} +.icon-blogger2:before{content:"\ef16";} +.icon-tumblr:before{content:"\ef17";} +.icon-tumblr2:before{content:"\ef18";} +.icon-yahoo:before{content:"\ef19";} +.icon-tux:before{content:"\ef1a";} +.icon-apple2:before{content:"\ef1b";} +.icon-finder:before{content:"\ef1c";} +.icon-android:before{content:"\ef1d";} +.icon-windows:before{content:"\ef1e";} +.icon-windows8:before{content:"\ef1f";} +.icon-soundcloud:before{content:"\ef20";} +.icon-soundcloud2:before{content:"\ef21";} +.icon-skype:before{content:"\ef22";} +.icon-reddit:before{content:"\ef23";} +.icon-linkedin:before{content:"\ef24";} +.icon-linkedin2:before{content:"\ef25";} +.icon-lastfm:before{content:"\ef26";} +.icon-lastfm2:before{content:"\ef27";} +.icon-delicious:before{content:"\ef28";} +.icon-stumbleupon:before{content:"\ef29";} +.icon-stumbleupon2:before{content:"\ef2a";} +.icon-stackoverflow:before{content:"\ef2b";} +.icon-pinterest2:before{content:"\ef2d";} +.icon-xing:before{content:"\ef2e";} +.icon-flattr:before{content:"\ef30";} +.icon-foursquare:before{content:"\ef31";} +.icon-paypal:before{content:"\ef32";} +.icon-paypal2:before{content:"\ef33";} +.icon-yelp:before{content:"\ef35";} +.icon-file-pdf:before{content:"\ef36";} +.icon-file-openoffice:before{content:"\ef37";} +.icon-file-word:before{content:"\ef38";} +.icon-file-excel:before{content:"\ef39";} +.icon-libreoffice:before{content:"\ef3a";} +.icon-html5:before{content:"\ef3b";} +.icon-html52:before{content:"\ef3c";} +.icon-css3:before{content:"\ef3d";} +.icon-git:before{content:"\ef3e";} +.icon-svg:before{content:"\ef3f";} +.icon-codepen:before{content:"\ef40";} +.icon-chrome:before{content:"\ef41";} +.icon-firefox:before{content:"\ef42";} +.icon-IE:before{content:"\ef43";} +.icon-opera:before{content:"\ef44";} +.icon-safari:before{content:"\ef45";} +.icon-check2:before{content:"\e601";} +.icon-home4:before{content:"\e603";} +.icon-people:before{content:"\e81b";} +.icon-checkmark-circle2:before{content:"\e853";} +.icon-arrow-up-left32:before{content:"\e8ae";} +.icon-arrow-up52:before{content:"\e8af";} +.icon-arrow-up-right32:before{content:"\e8b0";} +.icon-arrow-right6:before{content:"\e8b1";} +.icon-arrow-down-right32:before{content:"\e8b2";} +.icon-arrow-down52:before{content:"\e8b3";} +.icon-arrow-down-left32:before{content:"\e8b4";} +.icon-arrow-left52:before{content:"\e8b5";} +.icon-calendar5:before{content:"\e985";} +.icon-move-alt1:before{content:"\e986";} +.icon-reload-alt:before{content:"\e987";} +.icon-move-vertical:before{content:"\e988";} +.icon-move-horizontal:before{content:"\e989";} +.icon-hash:before{content:"\e98b";} +.icon-bars-alt:before{content:"\e98c";} +.icon-eye8:before{content:"\e98d";} +.icon-search4:before{content:"\e98e";} +.icon-zoomin3:before{content:"\e98f";} +.icon-zoomout3:before{content:"\e990";} +.icon-add:before{content:"\e991";} +.icon-subtract:before{content:"\e992";} +.icon-exclamation:before{content:"\e993";} +.icon-question6:before{content:"\e994";} +.icon-close2:before{content:"\e995";} +.icon-task:before{content:"\e996";} +.icon-inbox:before{content:"\e997";} +.icon-inbox-alt:before{content:"\e998";} +.icon-envelope:before{content:"\e999";} +.icon-compose:before{content:"\e99a";} +.icon-newspaper2:before{content:"\e99b";} +.icon-calendar22:before{content:"\e99c";} +.icon-hyperlink:before{content:"\e99d";} +.icon-trash:before{content:"\e99e";} +.icon-trash-alt:before{content:"\e99f";} +.icon-grid5:before{content:"\e9a0";} +.icon-grid-alt:before{content:"\e9a1";} +.icon-menu6:before{content:"\e9a2";} +.icon-list3:before{content:"\e9a3";} +.icon-gallery:before{content:"\e9a4";} +.icon-calculator:before{content:"\e9a5";} +.icon-windows2:before{content:"\e9a6";} +.icon-browser:before{content:"\e9a7";} +.icon-portfolio:before{content:"\e9a8";} +.icon-comments:before{content:"\e9a9";} +.icon-screen3:before{content:"\e9aa";} +.icon-iphone:before{content:"\e9ab";} +.icon-ipad:before{content:"\e9ac";} +.icon-googleplus5:before{content:"\e9ad";} +.icon-pin:before{content:"\e9ae";} +.icon-pin-alt:before{content:"\e9af";} +.icon-cog5:before{content:"\e9b0";} +.icon-graduation:before{content:"\e9b1";} +.icon-air:before{content:"\e9b2";} +.icon-droplets:before{content:"\e7ee";} +.icon-statistics:before{content:"\e9b4";} +.icon-pie5:before{content:"\e7ef";} +.icon-cross:before{content:"\e9b6";} +.icon-minus2:before{content:"\e9b7";} +.icon-plus2:before{content:"\e9b8";} +.icon-info3:before{content:"\e9b9";} +.icon-info22:before{content:"\e9ba";} +.icon-question7:before{content:"\e9bb";} +.icon-help:before{content:"\e9bc";} +.icon-warning2:before{content:"\e9bd";} +.icon-add-to-list:before{content:"\e9bf";} +.icon-arrow-left12:before{content:"\e9c0";} +.icon-arrow-down12:before{content:"\e9c1";} +.icon-arrow-up12:before{content:"\e9c2";} +.icon-arrow-right13:before{content:"\e9c3";} +.icon-arrow-left22:before{content:"\e9c4";} +.icon-arrow-down22:before{content:"\e9c5";} +.icon-arrow-up22:before{content:"\e9c6";} +.icon-arrow-right22:before{content:"\e9c7";} +.icon-arrow-left32:before{content:"\e9c8";} +.icon-arrow-down32:before{content:"\e9c9";} +.icon-arrow-up32:before{content:"\e9ca";} +.icon-arrow-right32:before{content:"\e9cb";} +.icon-switch2:before{content:"\e647";} +.icon-checkmark5:before{content:"\e600";} +.icon-ampersand:before{content:"\e9cc";} +.icon-alert:before{content:"\e9cf";} +.icon-alignment-align:before{content:"\e9d0";} +.icon-alignment-aligned-to:before{content:"\e9d1";} +.icon-alignment-unalign:before{content:"\e9d2";} +.icon-arrow-down132:before{content:"\e9d3";} +.icon-arrow-up13:before{content:"\e9da";} +.icon-arrow-left13:before{content:"\e9d4";} +.icon-arrow-right14:before{content:"\e9d5";} +.icon-arrow-small-down:before{content:"\e9d6";} +.icon-arrow-small-left:before{content:"\e9d7";} +.icon-arrow-small-right:before{content:"\e9d8";} +.icon-arrow-small-up:before{content:"\e9d9";} +.icon-check:before{content:"\e9db";} +.icon-chevron-down:before{content:"\e9dc";} +.icon-chevron-left:before{content:"\e9dd";} +.icon-chevron-right:before{content:"\e9de";} +.icon-chevron-up:before{content:"\e9df";} +.icon-clippy:before{content:"\f035";} +.icon-comment:before{content:"\f02b";} +.icon-comment-discussion:before{content:"\f04f";} +.icon-dash:before{content:"\e9e2";} +.icon-diff:before{content:"\e9e3";} +.icon-diff-added:before{content:"\e9e4";} +.icon-diff-ignored:before{content:"\e9e5";} +.icon-diff-modified:before{content:"\e9e6";} +.icon-diff-removed:before{content:"\e9e7";} +.icon-diff-renamed:before{content:"\e9e8";} +.icon-file-media:before{content:"\f012";} +.icon-fold:before{content:"\e9ea";} +.icon-gear:before{content:"\e9eb";} +.icon-git-branch:before{content:"\e9ec";} +.icon-git-commit:before{content:"\e9ed";} +.icon-git-compare:before{content:"\e9ee";} +.icon-git-merge:before{content:"\e9ef";} +.icon-git-pull-request:before{content:"\e9f0";} +.icon-graph:before{content:"\f043";} +.icon-law:before{content:"\e9f1";} +.icon-list-ordered:before{content:"\e9f2";} +.icon-list-unordered:before{content:"\e9f3";} +.icon-mail5:before{content:"\e9f4";} +.icon-mail-read:before{content:"\e9f5";} +.icon-mention:before{content:"\e9f6";} +.icon-mirror:before{content:"\f024";} +.icon-move-down:before{content:"\f0a8";} +.icon-move-left:before{content:"\f074";} +.icon-move-right:before{content:"\f0a9";} +.icon-move-up:before{content:"\f0a7";} +.icon-person:before{content:"\f018";} +.icon-plus22:before{content:"\e9f7";} +.icon-primitive-dot:before{content:"\f052";} +.icon-primitive-square:before{content:"\f053";} +.icon-repo-forked:before{content:"\e9f8";} +.icon-screen-full:before{content:"\e9f9";} +.icon-screen-normal:before{content:"\e9fa";} +.icon-sync:before{content:"\e9fb";} +.icon-three-bars:before{content:"\e9fc";} +.icon-unfold:before{content:"\e9fe";} +.icon-versions:before{content:"\e9ff";} +.icon-x:before{content:"\ea00";} diff --git a/Show-Crypto-Currency-Price-in-Graph/amol/public/assets/css/icons/summernote/summernoted41d.eot b/Show-Crypto-Currency-Price-in-Graph/amol/public/assets/css/icons/summernote/summernoted41d.eot new file mode 100644 index 0000000..3138288 Binary files /dev/null and b/Show-Crypto-Currency-Price-in-Graph/amol/public/assets/css/icons/summernote/summernoted41d.eot differ diff --git a/Show-Crypto-Currency-Price-in-Graph/amol/public/assets/css/icons/summernote/summernotef534.eot b/Show-Crypto-Currency-Price-in-Graph/amol/public/assets/css/icons/summernote/summernotef534.eot new file mode 100644 index 0000000..3138288 Binary files /dev/null and b/Show-Crypto-Currency-Price-in-Graph/amol/public/assets/css/icons/summernote/summernotef534.eot differ diff --git a/Show-Crypto-Currency-Price-in-Graph/amol/public/assets/css/icons/summernote/summernotef534.ttf b/Show-Crypto-Currency-Price-in-Graph/amol/public/assets/css/icons/summernote/summernotef534.ttf new file mode 100644 index 0000000..bb254a1 Binary files /dev/null and b/Show-Crypto-Currency-Price-in-Graph/amol/public/assets/css/icons/summernote/summernotef534.ttf differ diff --git a/Show-Crypto-Currency-Price-in-Graph/amol/public/assets/css/icons/summernote/summernotef534.woff b/Show-Crypto-Currency-Price-in-Graph/amol/public/assets/css/icons/summernote/summernotef534.woff new file mode 100644 index 0000000..01b4e75 Binary files /dev/null and b/Show-Crypto-Currency-Price-in-Graph/amol/public/assets/css/icons/summernote/summernotef534.woff differ diff --git a/Show-Crypto-Currency-Price-in-Graph/amol/public/assets/css/style.css b/Show-Crypto-Currency-Price-in-Graph/amol/public/assets/css/style.css new file mode 100644 index 0000000..13d7a47 --- /dev/null +++ b/Show-Crypto-Currency-Price-in-Graph/amol/public/assets/css/style.css @@ -0,0 +1,16 @@ +h1 { + text-align: center; +} + +td img { + width: 25px; +} + +.jumbotron p { + font-size: 1.2em; +} + +.jumbotron { + margin-top: 5em; + margin-bottom: 5em; +} \ No newline at end of file diff --git a/Show-Crypto-Currency-Price-in-Graph/amol/public/assets/js/app.js b/Show-Crypto-Currency-Price-in-Graph/amol/public/assets/js/app.js new file mode 100644 index 0000000..955fdcd --- /dev/null +++ b/Show-Crypto-Currency-Price-in-Graph/amol/public/assets/js/app.js @@ -0,0 +1,76 @@ + +/** + * First we will load all of this project's JavaScript dependencies which + * includes Vue and other libraries. It is a great starting point when + * building robust, powerful web applications using Vue and Laravel. + */ + +require('../../../resources/js/bootstrap'); + +window.Vue = require('vue'); + +/** + * Next, we will create a fresh Vue application instance and attach it to + * the page. Then, you may begin adding components to this application + * or customize the JavaScript scaffolding to fit your unique needs. + */ + +Vue.component('example-component', require('../../../resources/js/components/ExampleComponent.vue')); +let CRYPTOCOMPARE_API_URI = "https://www.cryptocompare.com"; +let COINMARKETCAP_API_URI = "https://api.coinmarketcap.com"; +let UPDATE_INTERVAL = 60 * 1000; + +const app = new Vue({ + el: '#app', + data: { + coins: [], + coinData: {} + }, + methods: { + + /** + * Load up all cryptocurrency data. This data is used to find what logos + * each currency has, so we can display things in a friendly way. + */ + getCoinData: function() { + let self = this; + + axios.get(CRYPTOCOMPARE_API_URI + "/api/data/coinlist") + .then((resp) => { + this.coinData = resp.data.Data; + this.getCoins(); + }) + .catch((err) => { + this.getCoins(); + console.error(err); + }); + }, + + /** + * Get the top 10 cryptocurrencies by value. This data is refreshed each 5 + * minutes by the backing API service. + */ + getCoins: function() { + let self = this; + + axios.get(COINMARKETCAP_API_URI + "/v1/ticker/?limit=10") + .then((resp) => { + this.coins = resp.data; + }) + .catch((err) => { + console.error(err); + }); + }, + + /** + * Given a cryptocurrency ticket symbol, return the currency's logo + * image. + */ + getCoinImage: function(symbol) { + return CRYPTOCOMPARE_API_URI + this.coinData[symbol].ImageUrl; + }, + }, + created: function() { + this.getCoinData(); + }, +}); diff --git a/Show-Crypto-Currency-Price-in-Graph/amol/public/assets/js/charts/c3/c3_advanced.js b/Show-Crypto-Currency-Price-in-Graph/amol/public/assets/js/charts/c3/c3_advanced.js new file mode 100644 index 0000000..b13c056 --- /dev/null +++ b/Show-Crypto-Currency-Price-in-Graph/amol/public/assets/js/charts/c3/c3_advanced.js @@ -0,0 +1,201 @@ +/* ------------------------------------------------------------------------------ + * + * # C3.js - advanced examples + * + * Demo setup of chart transformations, zoom, pan and brushing features + * + * Version: 1.0 + * Latest update: August 1, 2015 + * + * ---------------------------------------------------------------------------- */ + +$(function () { + + + // Chart transforms + // ------------------------------ + + // Generate chart + var transform = c3.generate({ + bindto: '#c3-transform', + size: { height: 400 }, + data: { + columns: [ + ['data1', 30, 200, 100, 400, 150, 250], + ['data2', 130, 100, 140, 200, 150, 50] + ] + }, + grid: { + y: { + show: true + } + } + }); + + // Update data + function update() { + transform.transform('donut'); + setTimeout(function () { + transform.transform('area'); + }, 1500); + setTimeout(function () { + transform.transform('bar', 'data1'); + }, 3000); + setTimeout(function () { + transform.transform('scatter'); + }, 4500); + setTimeout(function () { + transform.transform('bar'); + }, 6000); + setTimeout(function () { + transform.transform('step'); + }, 7500); + setTimeout(function () { + transform.transform('line'); + $('#btn-transform').removeClass('disabled'); + }, 11500); + } + + // Run update on click + $('#btn-transform').click(function () { + $(this).addClass('disabled'); + update(); + }); + + + + // Zoomable chart + // ------------------------------ + + // Generate chart + var zoomable_chart = c3.generate({ + bindto: '#c3-chart-zoomable', + size: { height: 400 }, + data: { + columns: [ + ['sample', 30, 120, 320, 180, 50, 250, 167, 279, 290, 400, 214, 190, 40, 400, 162, 289, 300, 200, 120, 320, 390, 110, 130, 400, 240, 189, 250, 30, 100, 200, 300, 250, 50, 100, 50, 300, 250, 20, 90, 150, 400, 320, 220, 150, 190, 270, 190, 350, 90, 300, 150, 220, 170, 40] + ] + }, + color: { + pattern: ['#1E88E5'] + }, + zoom: { + enabled: true + }, + grid: { + x: { + show: true + }, + y: { + show: true + } + } + }); + + + + // Subchart (brushing) + // ------------------------------ + + // Generate chart + var subchart = c3.generate({ + bindto: '#c3-subchart', + size: { height: 400 }, + data: { + columns: [ + ['sample', 30, 200, 100, 400, 150, 250, 150, 200, 170, 240, 350, 150, 100, 400, 150, 250, 150, 200, 170, 240, 100, 150, 250, 150, 200, 170, 240, 30, 200, 100, 400, 150, 250, 150, 200, 170, 240, 350, 150, 100, 400, 350, 220, 250, 300, 270, 140, 150, 90, 150, 50, 120, 70, 40] + ] + }, + color: { + pattern: ['#00ACC1'] + }, + subchart: { + show: true + }, + grid: { + y: { + show: true + } + } + }); + + + + // Label format + // ------------------------------ + + // Generate chart + var label_format = c3.generate({ + bindto: '#c3-label-format', + size: { height: 400 }, + data: { + columns: [ + ['data1', 30, -200, -100, 400, 150, 250, 100, 120, 150], + ['data2', -50, 150, 150, -150, -50, -150, -120, -100, -120], + ['data3', -100, 100, -40, 100, -150, -50, 90, -40, 100] + ], + groups: [ + ['data1', 'data2'] + ], + type: 'bar', + labels: { + format: { + y: d3.format('$') + } + } + }, + color: { + pattern: ['#4CAF50', '#F4511E', '#1E88E5'] + }, + bar: { + width: { + ratio: 1 + } + }, + grid: { + y: { + lines: [{value: 0}] + } + } + }); + + + + // Data colors + // ------------------------------ + + // Generate chart + var data_color = c3.generate({ + bindto: '#c3-data-color', + size: { height: 400 }, + data: { + columns: [ + ['data1', 30, 20, 50, 40, 60, 50], + ['data2', 200, 130, 90, 240, 130, 220], + ['data3', 300, 200, 160, 400, 250, 250] + ], + type: 'bar', + colors: { + data1: '#4DB6AC', + data2: '#009688', + data3: '#00796B' + } + }, + grid: { + y: { + show: true + } + } + }); + + + + // Resize chart on sidebar width change + $(".sidebar-control").on('click', function() { + transform.resize(); + zoomable_chart.resize(); + subchart.resize(); + label_format.resize(); + data_color.resize(); + }); +}); \ No newline at end of file diff --git a/Show-Crypto-Currency-Price-in-Graph/amol/public/assets/js/charts/c3/c3_axis.js b/Show-Crypto-Currency-Price-in-Graph/amol/public/assets/js/charts/c3/c3_axis.js new file mode 100644 index 0000000..d180cdc --- /dev/null +++ b/Show-Crypto-Currency-Price-in-Graph/amol/public/assets/js/charts/c3/c3_axis.js @@ -0,0 +1,187 @@ +/* ------------------------------------------------------------------------------ + * + * # C3.js - chart axis + * + * Demo setup of chart axis with options + * + * Version: 1.0 + * Latest update: August 1, 2015 + * + * ---------------------------------------------------------------------------- */ + +$(function () { + + + // Categorized axis + // ------------------------------ + + // Generate chart + var axis_categorized = c3.generate({ + bindto: '#c3-axis-categorized', + size: { height: 400 }, + data: { + columns: [ + ['data1', 30, 200, 100, 400, 150, 250, 50, 100, 250] + ] + }, + color: { + pattern: ['#03A9F4'] + }, + axis: { + x: { + type: 'category', + categories: ['cat1', 'cat2', 'cat3', 'cat4', 'cat5', 'cat6', 'cat7', 'cat8', 'cat9'] + } + }, + grid: { + x: { + show: true + } + } + }); + + + + // Additional axis + // ------------------------------ + + // Generate chart + var axis_additional = c3.generate({ + bindto: '#c3-axis-additional', + size: { height: 400 }, + data: { + columns: [ + ['data1', 30, 200, 100, 400, 150, 250], + ['data2', 50, 20, 10, 40, 15, 25] + ], + axes: { + data1: 'y', + data2: 'y2' + } + }, + color: { + pattern: ['#4CAF50', '#607D8B'] + }, + axis: { + y2: { + show: true + } + }, + grid: { + y: { + show: true + } + } + }); + + + + // Axis tick culling + // ------------------------------ + + // Generate chart + var axis_tick_culling = c3.generate({ + bindto: '#c3-axis-tick-culling', + size: { height: 400 }, + data: { + columns: [ + ['sample', 30, 200, 100, 400, 150, 250, 30, 200, 100, 400, 150, 250, 30, 200, 100, 400, 150, 250, 200, 100, 400, 150, 250] + ] + }, + color: { + pattern: ['#FF5722'] + }, + axis: { + x: { + type: 'category', + tick: { + culling: { + max: 4 + } + } + } + } + }); + + + + // Text label rotation + // ------------------------------ + + // Generate chart + var axis_tick_rotation = c3.generate({ + bindto: '#c3-axis-tick-rotation', + size: { height: 400 }, + data: { + x : 'x', + columns: [ + ['x', 'January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December'], + ['pv', 90, 100, 140, 200, 100, 400, 90, 100, 140, 200, 100, 400], + ], + type: 'bar' + }, + color: { + pattern: ['#00BCD4'] + }, + axis: { + x: { + type: 'category', + tick: { + rotate: -90 + }, + height: 80 + } + }, + grid: { + x: { + show: true + } + } + }); + + + + // Axis labels + // ------------------------------ + + // Generate chart + var axis_labels = c3.generate({ + bindto: '#c3-axis-labels', + size: { height: 400 }, + data: { + columns: [ + ['sample', 30, 200, 100, 400, 150, 250], + ['sample2', 130, 300, 200, 500, 250, 350] + ], + axes: { + sample2: 'y2' + } + }, + color: { + pattern: ['#9C27B0'] + }, + axis: { + x: { + label: 'X Label' + }, + y: { + label: 'Y Label' + }, + y2: { + show: true, + label: 'Y2 Label' + } + } + }); + + + + // Resize chart on sidebar width change + $(".sidebar-control").on('click', function() { + axis_categorized.resize(); + axis_additional.resize(); + axis_tick_culling.resize(); + axis_tick_rotation.resize(); + axis_labels.resize(); + }); +}); \ No newline at end of file diff --git a/Show-Crypto-Currency-Price-in-Graph/amol/public/assets/js/charts/c3/c3_bars_pies.js b/Show-Crypto-Currency-Price-in-Graph/amol/public/assets/js/charts/c3/c3_bars_pies.js new file mode 100644 index 0000000..b38a9c4 --- /dev/null +++ b/Show-Crypto-Currency-Price-in-Graph/amol/public/assets/js/charts/c3/c3_bars_pies.js @@ -0,0 +1,295 @@ +/* ------------------------------------------------------------------------------ + * + * # C3.js - bars and pies + * + * Demo setup of bars, pies and chart combinations + * + * Version: 1.0 + * Latest update: August 1, 2015 + * + * ---------------------------------------------------------------------------- */ + +$(function () { + + + // Pie chart + // ------------------------------ + + // Generate chart + var pie_chart = c3.generate({ + bindto: '#c3-pie-chart', + size: { width: 350 }, + color: { + pattern: ['#3F51B5', '#FF9800', '#4CAF50', '#00BCD4', '#F44336'] + }, + data: { + columns: [ + ['data1', 30], + ['data2', 120], + ], + type : 'pie' + } + }); + + // Change data + setTimeout(function () { + pie_chart.load({ + columns: [ + ["setosa", 0.2, 0.2, 0.2, 0.2, 0.2, 0.4, 0.3, 0.2, 0.2, 0.1, 0.2, 0.2, 0.1, 0.1, 0.2, 0.4, 0.4, 0.3, 0.3, 0.3, 0.2, 0.4, 0.2, 0.5, 0.2, 0.2, 0.4, 0.2, 0.2, 0.2, 0.2, 0.4, 0.1, 0.2, 0.2, 0.2, 0.2, 0.1, 0.2, 0.2, 0.3, 0.3, 0.2, 0.6, 0.4, 0.3, 0.2, 0.2, 0.2, 0.2], + ["versicolor", 1.4, 1.5, 1.5, 1.3, 1.5, 1.3, 1.6, 1.0, 1.3, 1.4, 1.0, 1.5, 1.0, 1.4, 1.3, 1.4, 1.5, 1.0, 1.5, 1.1, 1.8, 1.3, 1.5, 1.2, 1.3, 1.4, 1.4, 1.7, 1.5, 1.0, 1.1, 1.0, 1.2, 1.6, 1.5, 1.6, 1.5, 1.3, 1.3, 1.3, 1.2, 1.4, 1.2, 1.0, 1.3, 1.2, 1.3, 1.3, 1.1, 1.3], + ["virginica", 2.5, 1.9, 2.1, 1.8, 2.2, 2.1, 1.7, 1.8, 1.8, 2.5, 2.0, 1.9, 2.1, 2.0, 2.4, 2.3, 1.8, 2.2, 2.3, 1.5, 2.3, 2.0, 2.0, 1.8, 2.1, 1.8, 1.8, 1.8, 2.1, 1.6, 1.9, 2.0, 2.2, 1.5, 1.4, 2.3, 2.4, 1.8, 1.8, 2.1, 2.4, 2.3, 1.9, 2.3, 2.5, 2.3, 1.9, 2.0, 2.3, 1.8], + ] + }); + }, 4000); + setTimeout(function () { + pie_chart.unload({ + ids: 'data1' + }); + pie_chart.unload({ + ids: 'data2' + }); + }, 8000); + + + + // Donut chart + // ------------------------------ + + // Generate chart + var donut_chart = c3.generate({ + bindto: '#c3-donut-chart', + size: { width: 350 }, + color: { + pattern: ['#3F51B5', '#FF9800', '#4CAF50', '#00BCD4', '#F44336'] + }, + data: { + columns: [ + ['data1', 30], + ['data2', 120], + ], + type : 'donut' + }, + donut: { + title: "Iris Petal Width" + } + }); + + // Change data + setTimeout(function () { + donut_chart.load({ + columns: [ + ["setosa", 0.2, 0.2, 0.2, 0.2, 0.2, 0.4, 0.3, 0.2, 0.2, 0.1, 0.2, 0.2, 0.1, 0.1, 0.2, 0.4, 0.4, 0.3, 0.3, 0.3, 0.2, 0.4, 0.2, 0.5, 0.2, 0.2, 0.4, 0.2, 0.2, 0.2, 0.2, 0.4, 0.1, 0.2, 0.2, 0.2, 0.2, 0.1, 0.2, 0.2, 0.3, 0.3, 0.2, 0.6, 0.4, 0.3, 0.2, 0.2, 0.2, 0.2], + ["versicolor", 1.4, 1.5, 1.5, 1.3, 1.5, 1.3, 1.6, 1.0, 1.3, 1.4, 1.0, 1.5, 1.0, 1.4, 1.3, 1.4, 1.5, 1.0, 1.5, 1.1, 1.8, 1.3, 1.5, 1.2, 1.3, 1.4, 1.4, 1.7, 1.5, 1.0, 1.1, 1.0, 1.2, 1.6, 1.5, 1.6, 1.5, 1.3, 1.3, 1.3, 1.2, 1.4, 1.2, 1.0, 1.3, 1.2, 1.3, 1.3, 1.1, 1.3], + ["virginica", 2.5, 1.9, 2.1, 1.8, 2.2, 2.1, 1.7, 1.8, 1.8, 2.5, 2.0, 1.9, 2.1, 2.0, 2.4, 2.3, 1.8, 2.2, 2.3, 1.5, 2.3, 2.0, 2.0, 1.8, 2.1, 1.8, 1.8, 1.8, 2.1, 1.6, 1.9, 2.0, 2.2, 1.5, 1.4, 2.3, 2.4, 1.8, 1.8, 2.1, 2.4, 2.3, 1.9, 2.3, 2.5, 2.3, 1.9, 2.0, 2.3, 1.8], + ] + }); + }, 4000); + setTimeout(function () { + donut_chart.unload({ + ids: 'data1' + }); + donut_chart.unload({ + ids: 'data2' + }); + }, 8000); + + + + // Bar chart + // ------------------------------ + + // Generate chart + var bar_chart = c3.generate({ + bindto: '#c3-bar-chart', + size: { height: 400 }, + data: { + columns: [ + ['data1', 30, 200, 100, 400, 150, 250], + ['data2', 130, 100, 140, 200, 150, 50] + ], + type: 'bar' + }, + color: { + pattern: ['#2196F3', '#FF9800', '#4CAF50'] + }, + bar: { + width: { + ratio: 0.5 + } + }, + grid: { + y: { + show: true + } + } + }); + + // Change data + setTimeout(function () { + bar_chart.load({ + columns: [ + ['data3', 130, -150, 200, 300, -200, 100] + ] + }); + }, 6000); + + + + // Stacked bar chart + // ------------------------------ + + // Generate chart + var bar_stacked_chart = c3.generate({ + bindto: '#c3-bar-stacked-chart', + size: { height: 400 }, + color: { + pattern: ['#FF9800', '#F44336', '#009688', '#4CAF50'] + }, + data: { + columns: [ + ['data1', -30, 200, 200, 400, -150, 250], + ['data2', 130, 100, -100, 200, -150, 50], + ['data3', -230, 200, 200, -300, 250, 250] + ], + type: 'bar', + groups: [ + ['data1', 'data2'] + ] + }, + grid: { + x: { + show: true + }, + y: { + lines: [{value:0}] + } + } + }); + + // Change data + setTimeout(function () { + bar_stacked_chart.groups([['data1', 'data2', 'data3']]) + }, 4000); + setTimeout(function () { + bar_stacked_chart.load({ + columns: [['data4', 100, -50, 150, 200, -300, -100]] + }); + }, 8000); + setTimeout(function () { + bar_stacked_chart.groups([['data1', 'data2', 'data3', 'data4']]) + }, 10000); + + + + // Combined chart + // ------------------------------ + + // Generate chart + var combined_chart = c3.generate({ + bindto: '#c3-combined-chart', + size: { height: 400 }, + color: { + pattern: ['#FF9800', '#F44336', '#009688', '#4CAF50', '#03A9F4', '#8BC34A'] + }, + data: { + columns: [ + ['data1', 30, 20, 50, 40, 60, 50], + ['data2', 200, 130, 90, 240, 130, 220], + ['data3', 300, 200, 160, 400, 250, 250], + ['data4', 200, 130, 90, 240, 130, 220], + ['data5', 130, 120, 150, 140, 160, 150], + ['data6', 90, 70, 20, 50, 60, 120], + ], + type: 'bar', + types: { + data3: 'spline', + data4: 'line', + data6: 'area', + }, + groups: [ + ['data1','data2'] + ] + } + }); + + + + // Scatter chart + // ------------------------------ + + // Generate chart + var scatter_chart = c3.generate({ + size: { height: 400 }, + bindto: '#c3-scatter-chart', + data: { + xs: { + setosa: 'setosa_x', + versicolor: 'versicolor_x', + }, + columns: [ + ["setosa_x", 3.5, 3.0, 3.2, 3.1, 3.6, 3.9, 3.4, 3.4, 2.9, 3.1, 3.7, 3.4, 3.0, 3.0, 4.0, 4.4, 3.9, 3.5, 3.8, 3.8, 3.4, 3.7, 3.6, 3.3, 3.4, 3.0, 3.4, 3.5, 3.4, 3.2, 3.1, 3.4, 4.1, 4.2, 3.1, 3.2, 3.5, 3.6, 3.0, 3.4, 3.5, 2.3, 3.2, 3.5, 3.8, 3.0, 3.8, 3.2, 3.7, 3.3], + ["versicolor_x", 3.2, 3.2, 3.1, 2.3, 2.8, 2.8, 3.3, 2.4, 2.9, 2.7, 2.0, 3.0, 2.2, 2.9, 2.9, 3.1, 3.0, 2.7, 2.2, 2.5, 3.2, 2.8, 2.5, 2.8, 2.9, 3.0, 2.8, 3.0, 2.9, 2.6, 2.4, 2.4, 2.7, 2.7, 3.0, 3.4, 3.1, 2.3, 3.0, 2.5, 2.6, 3.0, 2.6, 2.3, 2.7, 3.0, 2.9, 2.9, 2.5, 2.8], + ["setosa", 0.2, 0.2, 0.2, 0.2, 0.2, 0.4, 0.3, 0.2, 0.2, 0.1, 0.2, 0.2, 0.1, 0.1, 0.2, 0.4, 0.4, 0.3, 0.3, 0.3, 0.2, 0.4, 0.2, 0.5, 0.2, 0.2, 0.4, 0.2, 0.2, 0.2, 0.2, 0.4, 0.1, 0.2, 0.2, 0.2, 0.2, 0.1, 0.2, 0.2, 0.3, 0.3, 0.2, 0.6, 0.4, 0.3, 0.2, 0.2, 0.2, 0.2], + ["versicolor", 1.4, 1.5, 1.5, 1.3, 1.5, 1.3, 1.6, 1.0, 1.3, 1.4, 1.0, 1.5, 1.0, 1.4, 1.3, 1.4, 1.5, 1.0, 1.5, 1.1, 1.8, 1.3, 1.5, 1.2, 1.3, 1.4, 1.4, 1.7, 1.5, 1.0, 1.1, 1.0, 1.2, 1.6, 1.5, 1.6, 1.5, 1.3, 1.3, 1.3, 1.2, 1.4, 1.2, 1.0, 1.3, 1.2, 1.3, 1.3, 1.1, 1.3], + ], + type: 'scatter' + }, + color: { + pattern: ['#4CAF50', '#F44336'] + }, + grid: { + y: { + show: true + } + }, + point: { r: 5 }, + axis: { + x: { + label: 'Sepal.Width', + tick: { + fit: false + } + }, + y: { + label: 'Petal.Width' + } + } + }); + + // Change data + setTimeout(function () { + scatter_chart.load({ + xs: { + virginica: 'virginica_x' + }, + columns: [ + ["virginica_x", 3.3, 2.7, 3.0, 2.9, 3.0, 3.0, 2.5, 2.9, 2.5, 3.6, 3.2, 2.7, 3.0, 2.5, 2.8, 3.2, 3.0, 3.8, 2.6, 2.2, 3.2, 2.8, 2.8, 2.7, 3.3, 3.2, 2.8, 3.0, 2.8, 3.0, 2.8, 3.8, 2.8, 2.8, 2.6, 3.0, 3.4, 3.1, 3.0, 3.1, 3.1, 3.1, 2.7, 3.2, 3.3, 3.0, 2.5, 3.0, 3.4, 3.0], + ["virginica", 2.5, 1.9, 2.1, 1.8, 2.2, 2.1, 1.7, 1.8, 1.8, 2.5, 2.0, 1.9, 2.1, 2.0, 2.4, 2.3, 1.8, 2.2, 2.3, 1.5, 2.3, 2.0, 2.0, 1.8, 2.1, 1.8, 1.8, 1.8, 2.1, 1.6, 1.9, 2.0, 2.2, 1.5, 1.4, 2.3, 2.4, 1.8, 1.8, 2.1, 2.4, 2.3, 1.9, 2.3, 2.5, 2.3, 1.9, 2.0, 2.3, 1.8], + ] + }); + }, 4000); + setTimeout(function () { + scatter_chart.unload({ + ids: 'setosa' + }); + }, 8000); + setTimeout(function () { + scatter_chart.load({ + columns: [ + ["virginica", 0.2, 0.2, 0.2, 0.2, 0.2, 0.4, 0.3, 0.2, 0.2, 0.1, 0.2, 0.2, 0.1, 0.1, 0.2, 0.4, 0.4, 0.3, 0.3, 0.3, 0.2, 0.4, 0.2, 0.5, 0.2, 0.2, 0.4, 0.2, 0.2, 0.2, 0.2, 0.4, 0.1, 0.2, 0.2, 0.2, 0.2, 0.1, 0.2, 0.2, 0.3, 0.3, 0.2, 0.6, 0.4, 0.3, 0.2, 0.2, 0.2, 0.2], + ] + }); + }, 10000); + + + + // Resize chart on sidebar width change + $(".sidebar-control").on('click', function() { + pie_chart.resize(); + donut_chart.resize(); + bar_chart.resize(); + bar_stacked_chart.resize(); + combined_chart.resize(); + scatter_chart.resize(); + }); +}); \ No newline at end of file diff --git a/Show-Crypto-Currency-Price-in-Graph/amol/public/assets/js/charts/c3/c3_grid.js b/Show-Crypto-Currency-Price-in-Graph/amol/public/assets/js/charts/c3/c3_grid.js new file mode 100644 index 0000000..8e2b575 --- /dev/null +++ b/Show-Crypto-Currency-Price-in-Graph/amol/public/assets/js/charts/c3/c3_grid.js @@ -0,0 +1,170 @@ +/* ------------------------------------------------------------------------------ + * + * # C3.js - chart grid + * + * Demo setup of chart grid with options + * + * Version: 1.0 + * Latest update: August 1, 2015 + * + * ---------------------------------------------------------------------------- */ + +$(function () { + + + // Grid lines + // ------------------------------ + + // Generate chart + var grid_lines = c3.generate({ + bindto: '#c3-grid-lines', + size: { height: 400 }, + color: { + pattern: ['#2196F3'] + }, + data: { + columns: [ + ['sample', 30, 200, 100, 400, 150, 250, 120, 200] + ] + }, + grid: { + x: { + show: true + }, + y: { + show: true + } + } + }); + + + + // Optional X grid lines + // ------------------------------ + + // Generate chart + var grid_lines_x = c3.generate({ + bindto: '#c3-grid-lines-x', + size: { height: 400 }, + color: { + pattern: ['#4CAF50'] + }, + data: { + columns: [ + ['sample', 30, 200, 100, 400, 150, 250] + ] + }, + grid: { + x: { + lines: [{value: 3, text: 'Label 3'}, {value: 4.5, text: 'Label 4.5'}] + } + } + }); + + + + // Optional Y grid lines + // ------------------------------ + + // Generate chart + var grid_lines_y = c3.generate({ + bindto: '#c3-grid-lines-y', + size: { height: 400 }, + data: { + columns: [ + ['sample', 30, 200, 100, 400, 150, 250], + ['sample2', 1300, 1200, 1100, 1400, 1500, 1250], + ], + axes: { + sample2: 'y2' + } + }, + color: { + pattern: ['#607D8B', '#FF9800'] + }, + axis: { + y2: { + show: true + } + }, + grid: { + y: { + lines: [{value: 50, text: 'Label 50'}, {value: 1300, text: 'Label 1300', axis: 'y2'}] + } + } + }); + + + + // Rects on chart + // ------------------------------ + + // Generate chart + var grid_region = c3.generate({ + bindto: '#c3-grid-region', + size: { height: 400 }, + data: { + columns: [ + ['data1', 30, 200, 100, 400, 150, 250, 400], + ['data2', 830, 1200, 1100, 1400, 1150, 1250, 1500], + ], + axes: { + data2: 'y2' + } + }, + color: { + pattern: ['#607D8B', '#FF9800'] + }, + axis: { + y2: { + show: true + } + }, + regions: [ + {axis: 'x', end: 1, class: 'regionX'}, + {axis: 'x', start: 2, end: 4, class: 'regionX'}, + {axis: 'x', start: 5, class: 'regionX'}, + {axis: 'y', end: 50, class: 'regionY'}, + {axis: 'y', start: 80, end: 140, class: 'regionY'}, + {axis: 'y', start: 400, class: 'regionY'}, + {axis: 'y2', end: 900, class: 'regionY2'}, + {axis: 'y2', start: 1150, end: 1250, class: 'regionY2'}, + {axis: 'y2', start: 1300, class: 'regionY2'}, + ] + }); + + + + // Data regions + // ------------------------------ + + // Generate chart + var grid_region_chart = c3.generate({ + bindto: '#c3-grid-chart-region', + size: { height: 400 }, + color: { + pattern: ['#009688', '#9C27B0'] + }, + data: { + columns: [ + ['data1', 30, 200, 100, 400, 150, 250], + ['data2', 50, 20, 10, 40, 15, 25] + ], + regions: { + 'data1': [{'start':1, 'end':2, 'style':'dashed'},{'start':3}], // currently 'dashed' style only + 'data2': [{'end':3}] + } + } + }); + + + + // Resize chart on sidebar width change + $(".sidebar-control").on('click', function() { + grid_lines.resize(); + grid_lines_x.resize(); + grid_lines_y.resize(); + grid_region.resize(); + grid_region_chart.resize(); + }); +}); \ No newline at end of file diff --git a/Show-Crypto-Currency-Price-in-Graph/amol/public/assets/js/charts/c3/c3_lines_areas.js b/Show-Crypto-Currency-Price-in-Graph/amol/public/assets/js/charts/c3/c3_lines_areas.js new file mode 100644 index 0000000..0421098 --- /dev/null +++ b/Show-Crypto-Currency-Price-in-Graph/amol/public/assets/js/charts/c3/c3_lines_areas.js @@ -0,0 +1,198 @@ +/* ------------------------------------------------------------------------------ + * + * # C3.js - lines and areas + * + * Demo setup of line, step and area charts + * + * Version: 1.0 + * Latest update: August 1, 2015 + * + * ---------------------------------------------------------------------------- */ + +$(function () { + + + // Line chart + // ------------------------------ + + // Generate chart + var line_chart = c3.generate({ + bindto: '#c3-line-chart', + point: { + r: 4 + }, + size: { height: 400 }, + color: { + pattern: ['#4CAF50', '#F4511E', '#1E88E5'] + }, + data: { + columns: [ + ['data1', 30, 200, 100, 400, 150, 250], + ['data2', 50, 20, 10, 40, 15, 25] + ], + type: 'spline' + }, + grid: { + y: { + show: true + } + } + }); + + // Change data + setTimeout(function () { + line_chart.load({ + columns: [ + ['data1', 230, 190, 300, 500, 300, 400] + ] + }); + }, 3000); + setTimeout(function () { + line_chart.load({ + columns: [ + ['data3', 130, 150, 200, 300, 200, 100] + ] + }); + }, 6000); + setTimeout(function () { + line_chart.unload({ + ids: 'data1' + }); + }, 9000); + + + + // Line chart with regions + // ------------------------------ + + // Generate chart + var chart_line_regions = c3.generate({ + bindto: '#c3-line-regions-chart', + size: { height: 400 }, + point: { + r: 4 + }, + color: { + pattern: ['#E53935', '#5E35B1'] + }, + data: { + columns: [ + ['data1', 30, 200, 100, 400, 150, 250], + ['data2', 50, 20, 10, 40, 15, 25] + ], + regions: { + 'data1': [{'start':1, 'end':2, 'style':'dashed'},{'start':3}], + 'data2': [{'end':3}] + } + }, + grid: { + y: { + show: true + } + } + }); + + + + // Area chart + // ------------------------------ + + // Generate chart + var area_chart = c3.generate({ + bindto: '#c3-area-chart', + size: { height: 400 }, + point: { + r: 4 + }, + color: { + pattern: ['#E53935', '#3949AB'] + }, + data: { + columns: [ + ['data1', 300, 350, 300, 0, 0, 0], + ['data2', 130, 100, 140, 200, 150, 50] + ], + types: { + data1: 'area-spline', + data2: 'area-spline' + } + }, + grid: { + y: { + show: true + } + } + }); + + + + // Stacked area chart + // ------------------------------ + + // Generate chart + var area_stacked_chart = c3.generate({ + bindto: '#c3-area-stacked-chart', + size: { height: 400 }, + color: { + pattern: ['#1E88E5', '#F4511E'] + }, + point: { + r: 4 + }, + data: { + columns: [ + ['data1', 300, 350, 300, 0, 0, 120], + ['data2', 130, 100, 140, 200, 150, 50] + ], + types: { + data1: 'area-spline', + data2: 'area-spline' + }, + groups: [['data1', 'data2']] + }, + grid: { + y: { + show: true + } + } + }); + + + + // Step chart + // ------------------------------ + + // Generate chart + var step_chart = c3.generate({ + bindto: '#c3-step-chart', + size: { height: 400 }, + color: { + pattern: ['#6D4C41', '#039BE5'] + }, + data: { + columns: [ + ['data1', 300, 350, 300, 0, 0, 100], + ['data2', 130, 100, 140, 200, 150, 50] + ], + types: { + data1: 'step', + data2: 'area-step' + } + }, + grid: { + y: { + show: true + } + } + }); + + + // Resize chart on sidebar width change + $(".sidebar-control").on('click', function() { + line_chart.resize(); + chart_line_regions.resize(); + area_chart.resize(); + area_stacked_chart.resize(); + step_chart.resize(); + }); +}); \ No newline at end of file diff --git a/Show-Crypto-Currency-Price-in-Graph/amol/public/assets/js/charts/d3/bars/bars_advanced_hierarchical.js b/Show-Crypto-Currency-Price-in-Graph/amol/public/assets/js/charts/d3/bars/bars_advanced_hierarchical.js new file mode 100644 index 0000000..4b6f64e --- /dev/null +++ b/Show-Crypto-Currency-Price-in-Graph/amol/public/assets/js/charts/d3/bars/bars_advanced_hierarchical.js @@ -0,0 +1,333 @@ +/* ------------------------------------------------------------------------------ + * + * # D3.js - hierarchical bar chart + * + * Demo d3.js hierarchical bar chart setup with .json data + * + * Version: 1.0 + * Latest update: August 1, 2015 + * + * ---------------------------------------------------------------------------- */ + +$(function () { + + // Initialize chart + stackedMultiples('#d3-hierarchical-bars', 400); + + // Chart setup + function stackedMultiples(element, height) { + + + // Basic setup + // ------------------------------ + + // Define main variables + var d3Container = d3.select(element), + margin = {top: 25, right: 40, bottom: 20, left: 130}, + width = d3Container.node().getBoundingClientRect().width - margin.left - margin.right, + height = height - margin.top - margin.bottom - 5, + barHeight = 30, + duration = 750, + delay = 25; + + + + // Construct scales + // ------------------------------ + + // Horizontal + var x = d3.scale.linear() + .range([0, width]); + + // Colors + var color = d3.scale.ordinal() + .range(["#26A69A", "#ccc"]); + + + + // Create axes + // ------------------------------ + + // Horizontal + var xAxis = d3.svg.axis() + .scale(x) + .orient("top"); + + + + // Create chart + // ------------------------------ + + // Add SVG element + var container = d3Container.append("svg"); + + // Add SVG group + var svg = container + .attr("width", width + margin.left + margin.right) + .attr("height", height + margin.top + margin.bottom) + .append("g") + .attr("transform", "translate(" + margin.left + "," + margin.top + ")"); + + + // Construct chart layout + // ------------------------------ + + // Partition + var partition = d3.layout.partition() + .value(function(d) { return d.size; }); + + + + // Load data + // ------------------------------ + + d3.json("assets/demo_data/d3/bars/bars_hierarchical.json", function(error, root) { + partition.nodes(root); + x.domain([0, root.value]).nice(); + down(root, 0); + }); + + + // + // Append chart elements + // + + // Add background bars + svg.append("rect") + .attr("class", "d3-bars-background") + .attr("width", width) + .attr("height", height) + .style("fill", "#fff") + .on("click", up); + + + // Append axes + // ------------------------------ + + // Horizontal + svg.append("g") + .attr("class", "d3-axis d3-axis-horizontal d3-axis-strong"); + + + // Append bars + // ------------------------------ + + // Create hierarchical structure + function down(d, i) { + if (!d.children || this.__transition__) return; + var end = duration + d.children.length * delay; + + // Mark any currently-displayed bars as exiting. + var exit = svg.selectAll(".enter") + .attr("class", "exit"); + + // Entering nodes immediately obscure the clicked-on bar, so hide it. + exit.selectAll("rect").filter(function(p) { return p === d; }) + .style("fill-opacity", 1e-6); + + // Enter the new bars for the clicked-on data. + // Per above, entering bars are immediately visible. + var enter = bar(d) + .attr("transform", stack(i)) + .style("opacity", 1); + + // Have the text fade-in, even though the bars are visible. + // Color the bars as parents; they will fade to children if appropriate. + enter.select("text").style("fill-opacity", 1e-6); + enter.select("rect").style("fill", color(true)); + + // Update the x-scale domain. + x.domain([0, d3.max(d.children, function(d) { return d.value; })]).nice(); + + // Update the x-axis. + svg.selectAll(".d3-axis-horizontal").transition() + .duration(duration) + .call(xAxis); + + // Transition entering bars to their new position. + var enterTransition = enter.transition() + .duration(duration) + .delay(function(d, i) { return i * delay; }) + .attr("transform", function(d, i) { return "translate(0," + barHeight * i * 1.2 + ")"; }); + + // Transition entering text. + enterTransition.select("text") + .style("fill-opacity", 1); + + // Transition entering rects to the new x-scale. + enterTransition.select("rect") + .attr("width", function(d) { return x(d.value); }) + .style("fill", function(d) { return color(!!d.children); }); + + // Transition exiting bars to fade out. + var exitTransition = exit.transition() + .duration(duration) + .style("opacity", 1e-6) + .remove(); + + // Transition exiting bars to the new x-scale. + exitTransition.selectAll("rect") + .attr("width", function(d) { return x(d.value); }); + + // Rebind the current node to the background. + svg.select(".d3-bars-background") + .datum(d) + .transition() + .duration(end); + + d.index = i; + } + + // Return to parent level + function up(d) { + if (!d.parent || this.__transition__) return; + var end = duration + d.children.length * delay; + + // Mark any currently-displayed bars as exiting. + var exit = svg.selectAll(".enter") + .attr("class", "exit"); + + // Enter the new bars for the clicked-on data's parent. + var enter = bar(d.parent) + .attr("transform", function(d, i) { return "translate(0," + barHeight * i * 1.2 + ")"; }) + .style("opacity", 1e-6); + + // Color the bars as appropriate. + // Exiting nodes will obscure the parent bar, so hide it. + enter.select("rect") + .style("fill", function(d) { return color(!!d.children); }) + .filter(function(p) { return p === d; }) + .style("fill-opacity", 1e-6); + + // Update the x-scale domain. + x.domain([0, d3.max(d.parent.children, function(d) { return d.value; })]).nice(); + + // Update the x-axis. + svg.selectAll(".d3-axis-horizontal").transition() + .duration(duration) + .call(xAxis); + + // Transition entering bars to fade in over the full duration. + var enterTransition = enter.transition() + .duration(end) + .style("opacity", 1); + + // Transition entering rects to the new x-scale. + // When the entering parent rect is done, make it visible! + enterTransition.select("rect") + .attr("width", function(d) { return x(d.value); }) + .each("end", function(p) { if (p === d) d3.select(this).style("fill-opacity", null); }); + + // Transition exiting bars to the parent's position. + var exitTransition = exit.selectAll("g").transition() + .duration(duration) + .delay(function(d, i) { return i * delay; }) + .attr("transform", stack(d.index)); + + // Transition exiting text to fade out. + exitTransition.select("text") + .style("fill-opacity", 1e-6); + + // Transition exiting rects to the new scale and fade to parent color. + exitTransition.select("rect") + .attr("width", function(d) { return x(d.value); }) + .style("fill", color(true)); + + // Remove exiting nodes when the last child has finished transitioning. + exit.transition() + .duration(end) + .remove(); + + // Rebind the current parent to the background. + svg.select(".d3-bars-background") + .datum(d.parent) + .transition() + .duration(end); + } + + // Creates a set of bars for the given data node, at the specified index. + function bar(d) { + var bar = svg.insert("g", ".d3-axis-vertical") + .attr("class", "enter") + .attr("transform", "translate(0,5)") + .selectAll("g") + .data(d.children) + .enter() + .append("g") + .style("cursor", function(d) { return !d.children ? null : "pointer"; }) + .on("click", down); + + bar.append("text") + .attr("x", -6) + .attr("y", barHeight / 2) + .attr("dy", ".35em") + .style("text-anchor", "end") + .text(function(d) { return d.name; }); + + bar.append("rect") + .attr("width", function(d) { return x(d.value); }) + .attr("height", barHeight); + + return bar; + } + + // A stateful closure for stacking bars horizontally. + function stack(i) { + var x0 = 0; + return function(d) { + var tx = "translate(" + x0 + "," + barHeight * i * 1.2 + ")"; + x0 += x(d.value); + return tx; + }; + } + + + + // Resize chart + // ------------------------------ + + // Call function on window resize + $(window).on('resize', resize); + + // Call function on sidebar width change + $('.sidebar-control').on('click', resize); + + // Resize function + // + // Since D3 doesn't support SVG resize by default, + // we need to manually specify parts of the graph that need to + // be updated on window resize + function resize() { + + // Layout variables + width = d3Container.node().getBoundingClientRect().width - margin.left - margin.right; + + + // Layout + // ------------------------- + + // Main svg width + container.attr("width", width + margin.left + margin.right); + + // Width of appended group + svg.attr("width", width + margin.left + margin.right); + + + // Axes + // ------------------------- + + // Horizontal range + x.range([0, width]); + + // Horizontal axis + svg.selectAll('.d3-axis-horizontal').call(xAxis); + + + // Chart elements + // ------------------------- + + // Bars + svg.selectAll('.enter rect').attr("width", function(d) { return x(d.value); }); + } + } +}); diff --git a/Show-Crypto-Currency-Price-in-Graph/amol/public/assets/js/charts/d3/bars/bars_advanced_histogram.js b/Show-Crypto-Currency-Price-in-Graph/amol/public/assets/js/charts/d3/bars/bars_advanced_histogram.js new file mode 100644 index 0000000..c39170b --- /dev/null +++ b/Show-Crypto-Currency-Price-in-Graph/amol/public/assets/js/charts/d3/bars/bars_advanced_histogram.js @@ -0,0 +1,198 @@ +/* ------------------------------------------------------------------------------ + * + * # D3.js - histogram chart + * + * Demo d3.js histogram chart setup with tooltip and random data + * + * Version: 1.0 + * Latest update: August 1, 2015 + * + * ---------------------------------------------------------------------------- */ + +$(function () { + + // Initialize chart + stackedMultiples('#d3-histogram', 400); + + // Chart setup + function stackedMultiples(element, height) { + + + // Basic setup + // ------------------------------ + + // Define main variables + var d3Container = d3.select(element), + margin = {top: 15, right: 20, bottom: 20, left: 60}, + width = d3Container.node().getBoundingClientRect().width - margin.left - margin.right, + height = height - margin.top - margin.bottom - 5; + + // Generate a Bates distribution of 10 random variables. + var values = d3.range(1000).map(d3.random.bates(4)); + + // Data format + var formatCount = d3.format(",.0f"); + + + + // Construct scales + // ------------------------------ + + // Horizontal + var x = d3.scale.linear() + .domain([0, 1]) + .range([0, width]); + + // Generate a histogram using twenty uniformly-spaced bins. + var data = d3.layout.histogram() + .bins(x.ticks(20)) + (values); + + // Vertical + var y = d3.scale.linear() + .domain([0, d3.max(data, function(d) { return d.y; })]) + .range([height, 0]); + + // Colors + var color = d3.scale.ordinal().range(["#98abc5", "#8a89a6", "#7b6888", "#6b486b", "#a05d56", "#d0743c", "#ff8c00"]); + + + + // Create axes + // ------------------------------ + + // Horizontal + var xAxis = d3.svg.axis() + .scale(x) + .orient("bottom"); + + + + // Create chart + // ------------------------------ + + // Add SVG element + var container = d3Container.append("svg"); + + // Add SVG group + var svg = container + .attr("width", width + margin.left + margin.right) + .attr("height", height + margin.top + margin.bottom) + .append("g") + .attr("transform", "translate(" + margin.left + "," + margin.top + ")"); + + + + // Add tooltip + // ------------------------------ + + // Create tooltip + var tip = d3.tip() + .attr('class', 'd3-tip') + .offset([-25, 0]) + .html(function(d) { + return "Current value: " + "" + formatCount(d.y) + ""; + }) + + // Initialize tooltip + svg.call(tip); + + + // + // Append chart elements + // + + // Add bars + // ------------------------------ + + // Group each bar + var bar = svg.selectAll(".d3-bar") + .data(data) + .enter() + .append("g") + .attr("class", "d3-bar") + .attr("transform", function(d) { return "translate(" + x(d.x) + "," + y(d.y) + ")"; }) + .on('mouseover', tip.show) + .on('mouseout', tip.hide); + + // Append bars + bar.append("rect") + .attr("x", 1) + .attr("width", x(data[0].dx) - 3) + .attr("height", function(d) { return height - y(d.y); }) + .style("fill", function(d) { return color(d); }); + + // Append text + bar.append("text") + .attr("dy", ".75em") + .attr("y", -15) + .attr("x", x(data[0].dx) / 2) + .style("text-anchor", "middle") + .style("fill", "#333") + .text(function(d) { return formatCount(d.y); }); + + // Append axes + // ------------------------------ + + // Horizontal + svg.append("g") + .attr("class", "d3-axis d3-axis-horizontal d3-axis-strong") + .attr("transform", "translate(0," + height + ")") + .call(xAxis); + + + + // Resize chart + // ------------------------------ + + // Call function on window resize + $(window).on('resize', resize); + + // Call function on sidebar width change + $('.sidebar-control').on('click', resize); + + // Resize function + // + // Since D3 doesn't support SVG resize by default, + // we need to manually specify parts of the graph that need to + // be updated on window resize + function resize() { + + // Layout variables + width = d3Container.node().getBoundingClientRect().width - margin.left - margin.right; + + + // Layout + // ------------------------- + + // Main svg width + container.attr("width", width + margin.left + margin.right); + + // Width of appended group + svg.attr("width", width + margin.left + margin.right); + + + // Axes + // ------------------------- + + // Horizontal range + x.range([0, width]); + + // Horizontal axis + svg.selectAll('.d3-axis-horizontal').call(xAxis); + + + // Chart elements + // ------------------------- + + // Bar group + svg.selectAll('.d3-bar').attr("transform", function(d) { return "translate(" + x(d.x) + "," + y(d.y) + ")"; }); + + // Bar rect + svg.selectAll('.d3-bar rect').attr("x", 1).attr("width", x(data[0].dx) - 3); + + // Bar text + svg.selectAll('.d3-bar text').attr("x", x(data[0].dx) / 2); + } + } +}); diff --git a/Show-Crypto-Currency-Price-in-Graph/amol/public/assets/js/charts/d3/bars/bars_advanced_simple_interaction.js b/Show-Crypto-Currency-Price-in-Graph/amol/public/assets/js/charts/d3/bars/bars_advanced_simple_interaction.js new file mode 100644 index 0000000..a5496a7 --- /dev/null +++ b/Show-Crypto-Currency-Price-in-Graph/amol/public/assets/js/charts/d3/bars/bars_advanced_simple_interaction.js @@ -0,0 +1,271 @@ +/* ------------------------------------------------------------------------------ + * + * # D3.js - bars with simple interaction + * + * Demo d3.js bar chart setup with animated data source change + * + * Version: 1.0 + * Latest update: August 1, 2015 + * + * ---------------------------------------------------------------------------- */ + +$(function () { + + // Create Uniform checkbox + $(".toggle-dataset").uniform(); + + + // Initialize chart + interaction('#d3-simple-interaction', 400); + + // Chart setup + function interaction(element, height) { + + + // Basic setup + // ------------------------------ + + // Define main variables + var d3Container = d3.select(element), + margin = {top: 5, right: 20, bottom: 20, left: 10}, + width = d3Container.node().getBoundingClientRect().width - margin.left - margin.right, + height = height - margin.top - margin.bottom - 5; + + // Demo data set + var dataset = [40.5, 33.1, 31.6, 31.0, 29.9, 28.9, 25.2, 25.2, 24.8, 24.3, 24.0, 22.6, 20.5, 19.5, 19.0, 18.9, 18.8, 18.5, 18.4, 17.6, 17.1]; + + + + // Construct scales + // ------------------------------ + + // Horizontal + var x = d3.scale.ordinal() + .domain(d3.range(dataset.length)) + .rangeRoundBands([0, width], 0.05); + + // Vertical + var y = d3.scale.linear() + .domain([0, d3.max(dataset)]) + .range([0, height]); + + // Colors + var colors = d3.scale.category20(); + + + + // Create axes + // ------------------------------ + + // Horizontal + var xAxis = d3.svg.axis() + .scale(x) + .orient("bottom"); + + + + // Create chart + // ------------------------------ + + // Add SVG element + var container = d3Container.append("svg"); + + // Add SVG group + var svg = container + .attr("width", width + margin.left + margin.right) + .attr("height", height + margin.top + margin.bottom) + .append("g") + .attr("transform", "translate(" + margin.left + "," + margin.top + ")"); + + + + // Add tooltip + // ------------------------------ + + // Create tooltip + var tip = d3.tip() + .attr('class', 'd3-tip') + .offset([-10, 0]) + .html(function(d) { return d }) + + // Initialize tooltip + svg.call(tip); + + + // + // Append chart elements + // + + // Append bars + // ------------------------------ + + // Add bars + var drawBars = svg.selectAll(".d3-bar") + .data(dataset) + .enter() + .append("rect") + .attr("class", "d3-bar") + .attr("x", function(d, i) { return x(i) }) + .attr("width", x.rangeBand()) + .attr("height", 0) + .attr("y", height) + .attr("fill", function(d, i) { return colors(i); }) + .style("cursor", "pointer") + .on('mouseover', tip.show) + .on('mouseout', tip.hide) + + // Add bar transition + drawBars.transition() + .delay(200) + .duration(1000) + .attr("height", function(d) { return y(d) }) + .attr("y", function(d) { return height - y(d) }) + + + // Add text labels + var drawLabels = svg.selectAll(".value-label") + .data(dataset) + .enter() + .append("text") + .attr("class", "value-label") + .attr("x", function(d, i) { return x(i) + x.rangeBand() / 2 }) + .attr("y", function(d) { return height - y(d) + 25; }) + .style('opacity', 0) + .style("text-anchor", "middle") + .style("fill", "white") + .text(function(d) {return d;}); + + // Add text label transition + drawLabels.transition() + .delay(1000) + .duration(500) + .style('opacity', 1); + + + + // Create axes + // ------------------------------ + + // Horizontal + var xAxis = d3.svg.axis() + .scale(x) + .orient("bottom"); + + + + // Change data sets + // ------------------------------ + + $('.toggle-dataset').on('change', function() { + if(this.checked) { + + dataset = [8.4, 12.1, 25.5, 10.3, 11.7, 10.9, 13.3, 23.1, 15.4, 12.3, 17.8, 18.8, 14.7, 8.8, 11.2, 10.2, 17.1, 14.5, 11.9, 7.3, 7.4]; + + // Update all rects + svg.selectAll("rect") + .data(dataset) + .transition() + .delay(0) + .duration(1000) + .ease('cubic-in-out') + .attr("y", function(d) { return height - y(d) }) + .attr("height", function(d) { return y(d) }) + .style("fill", colors) + + // Update labels + var drawNewlabels = svg.selectAll("text") + .data(dataset) + .attr("x", function(d, i) {return x(i) + x.rangeBand() / 2 }) + .attr("y", function(d) {return height - y(d) + 25 }) + .style('opacity', 0) + .text(function(d) {return d;}); + + // Transition + drawNewlabels.transition() + .delay(1000) + .duration(500) + .style('opacity', 1) + } + else { + + dataset = [40.5, 33.1, 31.6, 31.0, 29.9, 28.9, 25.2, 25.2, 24.8, 24.3, 24.0, 22.6, 20.5, 19.5, 19.0, 18.9, 18.8, 18.5, 18.4, 17.6, 17.1]; + + // Update all rects + svg.selectAll("rect") + .data(dataset) + .transition() + .delay(0) + .duration(1000) + .ease('cubic-in-out') + .attr("y", function(d) { return height - y(d) }) + .attr("height", function(d) { return y(d) }) + .style("fill", function(d, i) { return colors(i); }); + + + /* Update labels */ + var drawFirstlabels = svg.selectAll("text") + .data(dataset) + .attr("x", function(d, i) {return x(i) + x.rangeBand() / 2 }) + .attr("y", function(d) {return height - y(d) + 25 }) + .style('opacity', 0) + .text(function(d) {return d;}); + + drawFirstlabels.transition() + .delay(1000) + .duration(500) + .style('opacity', 1); + } + }); + + + // Resize chart + // ------------------------------ + + // Call function on window resize + $(window).on('resize', resize); + + // Call function on sidebar width change + $('.sidebar-control').on('click', resize); + + // Resize function + // + // Since D3 doesn't support SVG resize by default, + // we need to manually specify parts of the graph that need to + // be updated on window resize + function resize() { + + // Layout variables + width = d3Container.node().getBoundingClientRect().width - margin.left - margin.right; + + + // Layout + // ------------------------- + + // Main svg width + container.attr("width", width + margin.left + margin.right); + + // Width of appended group + svg.attr("width", width + margin.left + margin.right); + + + // Axes + // ------------------------- + + // Horizontal range + x.rangeRoundBands([0, width], 0.05); + + // Horizontal axis + svg.selectAll('.d3-axis-horizontal').call(xAxis); + + + // Chart elements + // ------------------------- + + // Bars + svg.selectAll('.d3-bar').attr("x", function(d, i) { return x(i) }).attr("width", x.rangeBand()); + + // Text label + svg.selectAll(".value-label").attr("x", function(d, i) { return x(i) + x.rangeBand() / 2 }); + } + } +}); diff --git a/Show-Crypto-Currency-Price-in-Graph/amol/public/assets/js/charts/d3/bars/bars_advanced_sortable_horizontal.js b/Show-Crypto-Currency-Price-in-Graph/amol/public/assets/js/charts/d3/bars/bars_advanced_sortable_horizontal.js new file mode 100644 index 0000000..f9959ec --- /dev/null +++ b/Show-Crypto-Currency-Price-in-Graph/amol/public/assets/js/charts/d3/bars/bars_advanced_sortable_horizontal.js @@ -0,0 +1,201 @@ +/* ------------------------------------------------------------------------------ + * + * # D3.js - horizontal sortable bars + * + * Demo d3.js horizontal bar chart setup with animated sorting + * + * Version: 1.0 + * Latest update: August 1, 2015 + * + * ---------------------------------------------------------------------------- */ + +$(function () { + + // Initialize chart + sortableVertical('#d3-bar-sortable-horizontal', 400); + + // Chart setup + function sortableVertical(element, height) { + + + // Basic setup + // ------------------------------ + + // Define main variables + var d3Container = d3.select(element), + margin = {top: 5, right: 20, bottom: 20, left: 40}, + width = d3Container.node().getBoundingClientRect().width - margin.left - margin.right, + height = height - margin.top - margin.bottom - 5; + + // Add data + var index = d3.range(8), + data = index.map(d3.random.normal(40, 10)); + + + + // Construct scales + // ------------------------------ + + // Horizontal + var x = d3.scale.linear() + .domain([0, d3.max(data)]) + .range([0, width]); + + // Vertical + var y = d3.scale.ordinal() + .domain(index) + .rangeRoundBands([height, 0], .3); + + // Colors + var colors = d3.scale.category20c(); + + + + // Create axes + // ------------------------------ + + // Horizontal + var xAxis = d3.svg.axis() + .scale(x) + .orient("bottom"); + + // Vertical + var yAxis = d3.svg.axis() + .scale(y) + .orient("left") + .ticks(8); + + + + // Create chart + // ------------------------------ + + // Add SVG element + var container = d3Container.append("svg"); + + // Add SVG group + var svg = container + .attr("width", width + margin.left + margin.right) + .attr("height", height + margin.top + margin.bottom) + .append("g") + .attr("transform", "translate(" + margin.left + "," + margin.top + ")"); + + + // + // Append chart elements + // + + // Append axes + // ------------------------------ + + // Horizontal + svg.append("g") + .attr("class", "d3-axis d3-axis-horizontal d3-axis-strong") + .attr("transform", "translate(0," + height + ")") + .call(xAxis); + + // Vertical + svg.append("g") + .attr("class", "d3-axis d3-axis-vertical d3-axis-strong") + .call(yAxis); + + + // Append bars + // ------------------------------ + + // Group each bar + var bar = svg.selectAll(".d3-bar") + .data(data) + .enter() + .append("g") + .attr("class", "d3-bar") + .attr("fill", function(d, i) { return colors(i); }) + .attr("transform", function(d, i) { return "translate(0," + y(i) + ")"; }); + + // Append bar rectangle + bar.append("rect") + .attr("height", y.rangeBand()) + .attr("width", x); + + // Append text label + bar.append("text") + .attr("x", function(d) { return x(d) - 12 }) + .attr("y", y.rangeBand() / 2) + .attr("dy", ".35em") + .style("fill", "#fff") + .style("text-anchor", "end") + .text(function(d, i) { return i; }); + + + // Setup sort + // ------------------------------ + + var sort = false; + setInterval(function() { + if (sort = !sort) { + index.sort(function(a, b) { return data[a] - data[b]; }); + } else { + index = d3.range(8); + } + + y.domain(index); + + bar.transition() + .duration(750) + .delay(function(d, i) { return i * 50; }) + .attr("transform", function(d, i) { return "translate(0," + y(i) + ")"; }); + }, 4000); + + + + // Resize chart + // ------------------------------ + + // Call function on window resize + $(window).on('resize', resize); + + // Call function on sidebar width change + $('.sidebar-control').on('click', resize); + + // Resize function + // + // Since D3 doesn't support SVG resize by default, + // we need to manually specify parts of the graph that need to + // be updated on window resize + function resize() { + + // Layout variables + width = d3Container.node().getBoundingClientRect().width - margin.left - margin.right; + + + // Layout + // ------------------------- + + // Main svg width + container.attr("width", width + margin.left + margin.right); + + // Width of appended group + svg.attr("width", width + margin.left + margin.right); + + + // Axes + // ------------------------- + + // Horizontal range + x.range([0, width]); + + // Horizontal axis + svg.selectAll('.d3-axis-horizontal').call(xAxis); + + + // Chart elements + // ------------------------- + + // Bar rect + svg.selectAll('.d3-bar rect').attr("width", x); + + // Bar text + svg.selectAll('.d3-bar text').attr("x", function(d) { return x(d) - 12; }); + } + } +}); diff --git a/Show-Crypto-Currency-Price-in-Graph/amol/public/assets/js/charts/d3/bars/bars_advanced_sortable_vertical.js b/Show-Crypto-Currency-Price-in-Graph/amol/public/assets/js/charts/d3/bars/bars_advanced_sortable_vertical.js new file mode 100644 index 0000000..d31b3d3 --- /dev/null +++ b/Show-Crypto-Currency-Price-in-Graph/amol/public/assets/js/charts/d3/bars/bars_advanced_sortable_vertical.js @@ -0,0 +1,236 @@ +/* ------------------------------------------------------------------------------ + * + * # D3.js - vertical sortable bars + * + * Demo d3.js vertical bar chart setup with animated sorting and .tsv data source + * + * Version: 1.0 + * Latest update: August 1, 2015 + * + * ---------------------------------------------------------------------------- */ + +$(function () { + + // Add uniform styling + $(".toggle-sort").uniform(); + + + // Initialize chart + sortableVertical('#d3-bar-sortable-vertical', 400); + + // Chart setup + function sortableVertical(element, height) { + + + // Basic setup + // ------------------------------ + + // Define main variables + var d3Container = d3.select(element), + margin = {top: 5, right: 20, bottom: 20, left: 40}, + width = d3Container.node().getBoundingClientRect().width - margin.left - margin.right, + height = height - margin.top - margin.bottom - 5; + + // Format data + var formatPercent = d3.format(".0%"); + + + + // Construct scales + // ------------------------------ + + // Horizontal + var x = d3.scale.ordinal() + .rangeRoundBands([0, width], .1, 1); + + // Vertical + var y = d3.scale.linear() + .range([height, 0]); + + // Colors + var colors = d3.scale.category20c(); + + + + // Create axes + // ------------------------------ + + // Horizontal + var xAxis = d3.svg.axis() + .scale(x) + .orient("bottom"); + + // Vertical + var yAxis = d3.svg.axis() + .scale(y) + .orient("left") + .tickFormat(formatPercent); + + + + // Create chart + // ------------------------------ + + // Add SVG element + var container = d3Container.append("svg"); + + // Add SVG group + var svg = container + .attr("width", width + margin.left + margin.right) + .attr("height", height + margin.top + margin.bottom) + .append("g") + .attr("transform", "translate(" + margin.left + "," + margin.top + ")"); + + + // Load data + // ------------------------------ + + d3.tsv("assets/demo_data/d3/bars/bars_basic.tsv", function(error, data) { + + // Pull out values + data.forEach(function(d) { + d.frequency = +d.frequency; + }); + + + // Set input domains + // ------------------------------ + + // Horizontal + x.domain(data.map(function(d) { return d.letter; })); + + // Vertical + y.domain([0, d3.max(data, function(d) { return d.frequency; })]); + + + // + // Append chart elements + // + + // Append axes + // ------------------------------ + + // Horizontal + svg.append("g") + .attr("class", "d3-axis d3-axis-horizontal d3-axis-strong") + .attr("transform", "translate(0," + height + ")") + .call(xAxis); + + // Vertical + var verticalAxis = svg.append("g") + .attr("class", "d3-axis d3-axis-vertical d3-axis-strong") + .call(yAxis); + + // Add text label + verticalAxis.append("text") + .attr("transform", "rotate(-90)") + .attr("y", 10) + .attr("dy", ".71em") + .style("text-anchor", "end") + .style("fill", "#999") + .style("font-size", 12) + .text("Frequency"); + + + // Append bars + // ------------------------------ + + svg.selectAll(".d3-bar") + .data(data) + .enter() + .append("rect") + .attr("class", "d3-bar") + .attr("fill", function(d, i) { return colors(i); }) + .attr("x", function(d) { return x(d.letter); }) + .attr("width", x.rangeBand()) + .attr("y", function(d) { return y(d.frequency); }) + .attr("height", function(d) { return height - y(d.frequency); }); + + + // Change data sets + // ------------------------------ + + // Attach change event + d3.select(".toggle-sort").on("change", change); + + // Sort values on page load with delay + var sortTimeout = setTimeout(function() { + d3.select(".toggle-sort").property("checked", true).each(change); + $.uniform.update(); + }, 2000); + + // Sorting function + function change() { + clearTimeout(sortTimeout); + + // Copy-on-write since tweens are evaluated after a delay. + var x0 = x.domain(data.sort(this.checked + ? function(a, b) { return b.frequency - a.frequency; } + : function(a, b) { return d3.ascending(a.letter, b.letter); }) + .map(function(d) { return d.letter; })) + .copy(); + + var transition = svg.transition().duration(750), + delay = function(d, i) { return i * 50; }; + + transition.selectAll(".d3-bar") + .delay(delay) + .attr("x", function(d) { return x0(d.letter); }); + + transition.select(".d3-axis-horizontal") + .call(xAxis) + .selectAll("g") + .delay(delay); + } + }); + + + + // Resize chart + // ------------------------------ + + // Call function on window resize + $(window).on('resize', resize); + + // Call function on sidebar width change + $('.sidebar-control').on('click', resize); + + // Resize function + // + // Since D3 doesn't support SVG resize by default, + // we need to manually specify parts of the graph that need to + // be updated on window resize + function resize() { + + // Layout variables + width = d3Container.node().getBoundingClientRect().width - margin.left - margin.right; + + + // Layout + // ------------------------- + + // Main svg width + container.attr("width", width + margin.left + margin.right); + + // Width of appended group + svg.attr("width", width + margin.left + margin.right); + + + // Axes + // ------------------------- + + // Horizontal range + x.rangeRoundBands([0, width], .1, 1); + + // Horizontal axis + svg.selectAll('.d3-axis-horizontal').call(xAxis); + + + // Chart elements + // ------------------------- + + // Line path + svg.selectAll('.d3-bar').attr("width", x.rangeBand()).attr("x", function(d) { return x(d.letter); }); + } + } +}); diff --git a/Show-Crypto-Currency-Price-in-Graph/amol/public/assets/js/charts/d3/bars/bars_advanced_stacked_multiple.js b/Show-Crypto-Currency-Price-in-Graph/amol/public/assets/js/charts/d3/bars/bars_advanced_stacked_multiple.js new file mode 100644 index 0000000..f70b2dd --- /dev/null +++ b/Show-Crypto-Currency-Price-in-Graph/amol/public/assets/js/charts/d3/bars/bars_advanced_stacked_multiple.js @@ -0,0 +1,291 @@ +/* ------------------------------------------------------------------------------ + * + * # D3.js - stacked and multiple bars + * + * Demo d3.js bar chart setup with animated transition between stacked and multiple bars + * + * Version: 1.0 + * Latest update: August 1, 2015 + * + * ---------------------------------------------------------------------------- */ + +$(function () { + + // Create Uniform checkbox + $(".stacked-multiple").uniform({ + radioClass: 'choice' + }); + + + // Initialize chart + stackedMultiples('#d3-bar-stacked-multiples', 400); + + // Chart setup + function stackedMultiples(element, height) { + + + // Basic setup + // ------------------------------ + + // Define main variables + var d3Container = d3.select(element), + margin = {top: 5, right: 20, bottom: 20, left: 60}, + width = d3Container.node().getBoundingClientRect().width - margin.left - margin.right, + height = height - margin.top - margin.bottom - 5; + + + // Format data + var parseDate = d3.time.format("%Y-%m").parse, + formatYear = d3.format("02d"), + formatDate = function(d) { return "Q" + ((d.getMonth() / 3 | 0) + 1) + formatYear(d.getFullYear() % 100); }; + + + + // Construct scales + // ------------------------------ + + // Horizontal + var x = d3.scale.ordinal() + .rangeRoundBands([0, width], .2); + + // Vertical + var y = d3.scale.ordinal() + .rangeRoundBands([height, 0]); + + var y0 = d3.scale.ordinal() + .rangeRoundBands([height, 0]); + + var y1 = d3.scale.linear(); + + // Colors + var color = d3.scale.category20(); + + + + // Create axes + // ------------------------------ + + // Horizontal + var xAxis = d3.svg.axis() + .scale(x) + .orient("bottom") + .tickFormat(formatDate); + + // Vertical + var yAxis = d3.svg.axis() + .scale(y) + .orient("left") + .ticks(10, "%"); + + + + // Create chart + // ------------------------------ + + // Add SVG element + var container = d3Container.append("svg"); + + // Add SVG group + var svg = container + .attr("width", width + margin.left + margin.right) + .attr("height", height + margin.top + margin.bottom) + .append("g") + .attr("transform", "translate(" + margin.left + "," + margin.top + ")"); + + + + // Construct chart layout + // ------------------------------ + + // Nest + var nest = d3.nest() + .key(function(d) { return d.browser; }); + + // Stack + var stack = d3.layout.stack() + .values(function(d) { return d.values; }) + .x(function(d) { return d.date; }) + .y(function(d) { return d.value; }) + .out(function(d, y0) { d.valueOffset = y0; }); + + + + + // Load data + // ------------------------------ + + d3.tsv("assets/demo_data/d3/bars/bars_stacked_multiple.tsv", function(error, data) { + + // Pull out values + data.forEach(function(d) { + d.date = parseDate(d.date); + d.value = +d.value; + }); + + // Nest values + var dataByGroup = nest.entries(data); + + + // Set input domains + // ------------------------------ + + // Stack + stack(dataByGroup); + + // Horizontal + x.domain(dataByGroup[0].values.map(function(d) { return d.date; })); + + // Vertical + y0.domain(dataByGroup.map(function(d) { return d.key; })); + y1.domain([0, d3.max(data, function(d) { return d.value; })]).range([y0.rangeBand(), 0]); + + + // + // Append chart elements + // + + // Add bars + // ------------------------------ + + // Group bars + var group = svg.selectAll(".d3-bar-group") + .data(dataByGroup) + .enter() + .append("g") + .attr("class", "d3-bar-group") + .attr("transform", function(d) { return "translate(0," + y0(d.key) + ")"; }); + + // Append text + group.append("text") + .attr("class", "d3-group-label") + .attr("x", -12) + .attr("y", function(d) { return y1(d.values[0].value / 2); }) + .attr("dy", ".35em") + .style("text-anchor", "end") + .text(function(d) { return d.key; }); + + // Add bars + group.selectAll(".d3-bar") + .data(function(d) { return d.values; }) + .enter() + .append("rect") + .attr("class", "d3-bar") + .attr("x", function(d) { return x(d.date); }) + .attr("y", function(d) { return y1(d.value); }) + .attr("width", x.rangeBand()) + .attr("height", function(d) { return y0.rangeBand() - y1(d.value); }) + .style("fill", function(d) { return color(d.browser); }); + + + // Append axes + // ------------------------------ + + // Horizontal + group.filter(function(d, i) { return !i; }).append("g") + .attr("class", "d3-axis d3-axis-horizontal d3-axis-strong") + .attr("transform", "translate(0," + (y0.rangeBand() + 1) + ")") + .call(xAxis); + + // Vertical + var verticalAxis = svg.append("g") + .attr("class", "d3-axis d3-axis-vertical d3-axis-strong") + .call(yAxis); + + // Appent text label + verticalAxis.append("text") + .attr('class', 'browser-label') + .attr("x", -12) + .attr("y", 12) + .attr("dy", ".71em") + .style("text-anchor", "end") + .style("fill", "#999") + .style("font-size", 12) + .text("Browser"); + + + // Setup layout change + // ------------------------------ + + // Add change event + d3.selectAll(".stacked-multiple").on("change", change); + + // Change value on page load + var timeout = setTimeout(function() { + d3.select("input[value=\"stacked\"]").property("checked", true).each(change); + $.uniform.update(); + }, 2000); + + // Change function + function change() { + clearTimeout(timeout); + if (this.value === "multiples") transitionMultiples(); + else transitionStacked(); + } + + // Transition to multiples + function transitionMultiples() { + var t = svg.transition().duration(750), + g = t.selectAll(".d3-bar-group").attr("transform", function(d) { return "translate(0," + y0(d.key) + ")"; }); + g.selectAll(".d3-bar").attr("y", function(d) { return y1(d.value); }); + g.select(".d3-group-label").attr("y", function(d) { return y1(d.values[0].value / 2); }) + } + + // Transition to stacked + function transitionStacked() { + var t = svg.transition().duration(750), + g = t.selectAll(".d3-bar-group").attr("transform", "translate(0," + y0(y0.domain()[0]) + ")"); + g.selectAll(".d3-bar").attr("y", function(d) { return y1(d.value + d.valueOffset) }); + g.select(".d3-group-label").attr("y", function(d) { return y1(d.values[0].value / 2 + d.values[0].valueOffset); }) + } + }); + + + + // Resize chart + // ------------------------------ + + // Call function on window resize + $(window).on('resize', resize); + + // Call function on sidebar width change + $('.sidebar-control').on('click', resize); + + // Resize function + // + // Since D3 doesn't support SVG resize by default, + // we need to manually specify parts of the graph that need to + // be updated on window resize + function resize() { + + // Layout variables + width = d3Container.node().getBoundingClientRect().width - margin.left - margin.right; + + + // Layout + // ------------------------- + + // Main svg width + container.attr("width", width + margin.left + margin.right); + + // Width of appended group + svg.attr("width", width + margin.left + margin.right); + + + // Axes + // ------------------------- + + // Horizontal range + x.rangeRoundBands([0, width], .2); + + // Horizontal axis + svg.selectAll('.d3-axis-horizontal').call(xAxis); + + + // Chart elements + // ------------------------- + + // Line path + svg.selectAll('.d3-bar').attr("x", function(d) { return x(d.date); }).attr("width", x.rangeBand()); + } + } +}); diff --git a/Show-Crypto-Currency-Price-in-Graph/amol/public/assets/js/charts/d3/bars/bars_basic_grouped.js b/Show-Crypto-Currency-Price-in-Graph/amol/public/assets/js/charts/d3/bars/bars_basic_grouped.js new file mode 100644 index 0000000..5617323 --- /dev/null +++ b/Show-Crypto-Currency-Price-in-Graph/amol/public/assets/js/charts/d3/bars/bars_basic_grouped.js @@ -0,0 +1,245 @@ +/* ------------------------------------------------------------------------------ + * + * # D3.js - grouped bar chart + * + * Demo d3.js grouped bar chart setup with .csv data source + * + * Version: 1.0 + * Latest update: August 1, 2015 + * + * ---------------------------------------------------------------------------- */ + +$(function () { + + // Initialize chart + barGrouped('#d3-bar-grouped', 400); + + // Chart setup + function barGrouped(element, height) { + + + // Basic setup + // ------------------------------ + + // Define main variables + var d3Container = d3.select(element), + margin = {top: 5, right: 10, bottom: 20, left: 40}, + width = d3Container.node().getBoundingClientRect().width - margin.left - margin.right, + height = height - margin.top - margin.bottom - 5; + + + + // Construct scales + // ------------------------------ + + // Horizontal + var x0 = d3.scale.ordinal() + .rangeRoundBands([0, width], .1); + + var x1 = d3.scale.ordinal() + .range([0, width]); + + // Vertical + var y = d3.scale.linear() + .range([height, 0]); + + // Colors + var color = d3.scale.ordinal() + .range(["#98abc5", "#8a89a6", "#7b6888", "#6b486b", "#a05d56", "#d0743c", "#ff8c00"]); + + + + // Create axes + // ------------------------------ + + // Horizontal + var xAxis = d3.svg.axis() + .scale(x0) + .orient("bottom"); + + // Vertical + var yAxis = d3.svg.axis() + .scale(y) + .orient("left") + .tickFormat(d3.format(".2s")); + + + + // Create chart + // ------------------------------ + + // Add SVG element + var container = d3Container.append("svg"); + + // Add SVG group + var svg = container + .attr("width", width + margin.left + margin.right) + .attr("height", height + margin.top + margin.bottom) + .append("g") + .attr("transform", "translate(" + margin.left + "," + margin.top + ")"); + + + // Load data + // ------------------------------ + + d3.csv("assets/demo_data/d3/bars/bars_grouped.csv", function(error, data) { + + // Filter values by key + var ageNames = d3.keys(data[0]).filter(function(key) { return key !== "State"; }); + + // Pull out values + data.forEach(function(d) { + d.ages = ageNames.map(function(name) { return {name: name, value: +d[name]}; }); + }); + + + // Set input domains + // ------------------------------ + + // Horizontal + x0.domain(data.map(function(d) { return d.State; })); + x1.domain(ageNames).rangeRoundBands([0, x0.rangeBand()]); + + // Vertical + y.domain([0, d3.max(data, function(d) { return d3.max(d.ages, function(d) { return d.value; }); })]); + + + // + // Append chart elements + // + + // Append axes + // ------------------------------ + + // Horizontal + svg.append("g") + .attr("class", "d3-axis d3-axis-horizontal d3-axis-strong") + .attr("transform", "translate(0," + height + ")") + .call(xAxis); + + // Vertical + var verticalAxis = svg.append("g") + .attr("class", "d3-axis d3-axis-vertical d3-axis-strong") + .call(yAxis); + + // Add text label + verticalAxis.append("text") + .attr("transform", "rotate(-90)") + .attr("y", 10) + .attr("dy", ".71em") + .style("text-anchor", "end") + .style("fill", "#999") + .style("font-size", 12) + .text("Population"); + + + // Add bars + // ------------------------------ + + // Group values + var state = svg.selectAll(".bar-group") + .data(data) + .enter() + .append("g") + .attr("class", "bar-group") + .attr("transform", function(d) { return "translate(" + x0(d.State) + ",0)"; }); + + // Append bars + state.selectAll(".d3-bar") + .data(function(d) { return d.ages; }) + .enter() + .append("rect") + .attr("class", "d3-bar") + .attr("width", x1.rangeBand()) + .attr("x", function(d) { return x1(d.name); }) + .attr("y", function(d) { return y(d.value); }) + .attr("height", function(d) { return height - y(d.value); }) + .style("fill", function(d) { return color(d.name); }); + + + // Add legend + // ------------------------------ + + // Create legend + var legend = svg.selectAll(".d3-legend") + .data(ageNames.slice().reverse()) + .enter() + .append("g") + .attr("class", "d3-legend") + .attr("transform", function(d, i) { return "translate(0," + i * 20 + ")"; }); + + // Legend indicator + legend.append("rect") + .attr("x", width - 18) + .attr("width", 18) + .attr("height", 18) + .style("fill", color); + + // Legend text + legend.append("text") + .attr("x", width - 24) + .attr("y", 9) + .attr("dy", ".35em") + .style("text-anchor", "end") + .style("font-size", 12) + .text(function(d) { return d; }); + }); + + + + // Resize chart + // ------------------------------ + + // Call function on window resize + $(window).on('resize', resize); + + // Call function on sidebar width change + $('.sidebar-control').on('click', resize); + + // Resize function + // + // Since D3 doesn't support SVG resize by default, + // we need to manually specify parts of the graph that need to + // be updated on window resize + function resize() { + + // Layout variables + width = d3Container.node().getBoundingClientRect().width - margin.left - margin.right; + + + // Layout + // ------------------------- + + // Main svg width + container.attr("width", width + margin.left + margin.right); + + // Width of appended group + svg.attr("width", width + margin.left + margin.right); + + + // Axes + // ------------------------- + + // Horizontal ranges + x0.rangeRoundBands([0, width], .1); + x1.rangeRoundBands([0, x0.rangeBand()]); + + // Horizontal axis + svg.selectAll('.d3-axis-horizontal').call(xAxis); + + + // Chart elements + // ------------------------- + + // Bar group + svg.selectAll('.bar-group').attr("transform", function(d) { return "translate(" + x0(d.State) + ",0)"; }); + + // Bars + svg.selectAll('.d3-bar').attr("width", x1.rangeBand()).attr("x", function(d) { return x1(d.name); }); + + // Legend + svg.selectAll(".d3-legend text").attr("x", width - 24); + svg.selectAll(".d3-legend rect").attr("x", width - 18); + } + } +}); diff --git a/Show-Crypto-Currency-Price-in-Graph/amol/public/assets/js/charts/d3/bars/bars_basic_horizontal.js b/Show-Crypto-Currency-Price-in-Graph/amol/public/assets/js/charts/d3/bars/bars_basic_horizontal.js new file mode 100644 index 0000000..08798cb --- /dev/null +++ b/Show-Crypto-Currency-Price-in-Graph/amol/public/assets/js/charts/d3/bars/bars_basic_horizontal.js @@ -0,0 +1,209 @@ +/* ------------------------------------------------------------------------------ + * + * # D3.js - horizontal bar chart + * + * Demo d3.js horizontal bar chart setup with .csv data source + * + * Version: 1.0 + * Latest update: August 1, 2015 + * + * ---------------------------------------------------------------------------- */ + +$(function () { + + // Initialize chart + barVertical('#d3-bar-horizontal', 400); + + // Chart setup + function barVertical(element, height) { + + + // Basic setup + // ------------------------------ + + // Define main variables + var d3Container = d3.select(element), + margin = {top: 20, right: 10, bottom: 5, left: 40}, + width = d3Container.node().getBoundingClientRect().width - margin.left - margin.right, + height = height - margin.top - margin.bottom - 5, + n = 12; + + // Format data + var format = d3.format(",.0f"); + + + + // Construct scales + // ------------------------------ + + // Horizontal + var x = d3.scale.linear() + .range([0, width]); + + // Verticals + var y = d3.scale.ordinal() + .rangeRoundBands([0, height], .1); + + // Colors + var colors = d3.scale.category20(); + + + + // Create axes + // ------------------------------ + + // Horizontal + var xAxis = d3.svg.axis() + .scale(x) + .orient("top") + .tickSize(-height); + + // Vertical + var yAxis = d3.svg.axis() + .scale(y) + .orient("left") + .tickSize(5); + + + + // Create chart + // ------------------------------ + + // Add SVG element + var container = d3Container.append("svg"); + + // Add SVG group + var svg = container + .attr("width", width + margin.left + margin.right) + .attr("height", height + margin.top + margin.bottom) + .append("g") + .attr("transform", "translate(" + margin.left + "," + margin.top + ")"); + + + + // Load data + // ------------------------------ + + d3.csv("assets/demo_data/d3/bars/bars_horizontal.csv", function(data) { + + // Parse numbers, and sort by value. + data.forEach(function(d) { d.value = +d.value; }); + data.sort(function(a, b) { return b.value - a.value; }); + + + // Set input domains + // ------------------------------ + + // Horizontal + x.domain([0, d3.max(data, function(d) { return d.value; })]); + + // Verticals + y.domain(data.map(function(d) { return d.name; })); + + + // + // Append chart elements + // + + // Append axes + // ------------------------------ + + // Horizontal + svg.append("g") + .attr("class", "d3-axis d3-axis-horizontal d3-axis-strong") + .call(xAxis); + + // Vertical + svg.append("g") + .attr("class", "d3-axis d3-axis-vertical d3-axis-strong") + .call(yAxis); + + // Remove lines + svg.selectAll(".d3-axis line, .d3-axis path").attr("stroke-width", 0); + + + // Append bars + // ------------------------------ + + // Group bars + var bar = svg.selectAll(".d3-bar-group") + .data(data) + .enter() + .append("g") + .attr("class", "d3-bar-group") + .attr("fill", function(d, i) { return colors(i); }) + .attr("transform", function(d) { return "translate(0," + y(d.name) + ")"; }); + + // Add bar + bar.append("rect") + .attr("class", "d3-bar") + .attr("width", function(d) { return x(d.value); }) + .attr("height", y.rangeBand()); + + // Add text label + bar.append("text") + .attr("class", "d3-label-value") + .attr("x", function(d) { return x(d.value); }) + .attr("y", y.rangeBand() / 2) + .attr("dx", -10) + .attr("dy", ".35em") + .style("text-anchor", "end") + .style("fill", "#fff") + .style("font-size", 12) + .text(function(d) { return format(d.value); }); + }); + + + + // Resize chart + // ------------------------------ + + // Call function on window resize + $(window).on('resize', resize); + + // Call function on sidebar width change + $('.sidebar-control').on('click', resize); + + // Resize function + // + // Since D3 doesn't support SVG resize by default, + // we need to manually specify parts of the graph that need to + // be updated on window resize + function resize() { + + // Layout variables + width = d3Container.node().getBoundingClientRect().width - margin.left - margin.right; + + + // Layout + // ------------------------- + + // Main svg width + container.attr("width", width + margin.left + margin.right); + + // Width of appended group + svg.attr("width", width + margin.left + margin.right); + + + // Axes + // ------------------------- + + // Horizontal range + x.range([0, width]); + + // Horizontal axis + svg.selectAll('.d3-axis-horizontal').call(xAxis); + + + // Chart elements + // ------------------------- + + // Line path + svg.selectAll('.d3-bar').attr("width", function(d) { return x(d.value); }) + + // Text label + svg.selectAll('.d3-label-value').attr("x", function(d) { return x(d.value); }); + } + +} +}); diff --git a/Show-Crypto-Currency-Price-in-Graph/amol/public/assets/js/charts/d3/bars/bars_basic_stacked.js b/Show-Crypto-Currency-Price-in-Graph/amol/public/assets/js/charts/d3/bars/bars_basic_stacked.js new file mode 100644 index 0000000..880aba7 --- /dev/null +++ b/Show-Crypto-Currency-Price-in-Graph/amol/public/assets/js/charts/d3/bars/bars_basic_stacked.js @@ -0,0 +1,244 @@ +/* ------------------------------------------------------------------------------ + * + * # D3.js - stacked bar chart + * + * Demo d3.js stacked bar chart setup with .csv data source + * + * Version: 1.0 + * Latest update: August 1, 2015 + * + * ---------------------------------------------------------------------------- */ + +$(function () { + + // Initialize chart + barGrouped('#d3-bar-stacked', 400); + + // Chart setup + function barGrouped(element, height) { + + + // Basic setup + // ------------------------------ + + // Define main variables + var d3Container = d3.select(element), + margin = {top: 5, right: 10, bottom: 20, left: 40}, + width = d3Container.node().getBoundingClientRect().width - margin.left - margin.right, + height = height - margin.top - margin.bottom - 5; + + + + // Construct scales + // ------------------------------ + + // Horizontal + var x = d3.scale.ordinal() + .rangeRoundBands([0, width], .1, .5); + + // Vertical + var y = d3.scale.linear() + .rangeRound([height, 0]); + + // Colors + var color = d3.scale.ordinal() + .range(["#98abc5", "#8a89a6", "#7b6888", "#6b486b", "#a05d56", "#d0743c", "#ff8c00"]); + + + + // Create axes + // ------------------------------ + + // Horizontal + var xAxis = d3.svg.axis() + .scale(x) + .orient("bottom"); + + // Vertical + var yAxis = d3.svg.axis() + .scale(y) + .orient("left") + .tickFormat(d3.format(".2s")); + + + + // Create chart + // ------------------------------ + + // Add SVG element + var container = d3Container.append("svg"); + + // Add SVG group + var svg = container + .attr("width", width + margin.left + margin.right) + .attr("height", height + margin.top + margin.bottom) + .append("g") + .attr("transform", "translate(" + margin.left + "," + margin.top + ")"); + + + + // Load data + // ------------------------------ + + d3.csv("assets/demo_data/d3/bars/bars_stacked.csv", function(error, data) { + + // Filter values by key + color.domain(d3.keys(data[0]).filter(function(key) { return key !== "State"; })); + + // Pull out values + data.forEach(function(d) { + var y0 = 0; + d.ages = color.domain().map(function(name) { return {name: name, y0: y0, y1: y0 += +d[name]}; }); + d.total = d.ages[d.ages.length - 1].y1; + }); + + // Sort data + data.sort(function(a, b) { return b.total - a.total; }); + + + // Set input domains + // ------------------------------ + + // Horizontal + x.domain(data.map(function(d) { return d.State; })); + + // Vertical + y.domain([0, d3.max(data, function(d) { return d.total; })]); + + + // + // Append chart elements + // + + // Append axes + // ------------------------------ + + // Horizontal + svg.append("g") + .attr("class", "d3-axis d3-axis-horizontal d3-axis-strong") + .attr("transform", "translate(0," + height + ")") + .call(xAxis); + + // Vertical + var verticalAxis = svg.append("g") + .attr("class", "d3-axis d3-axis-vertical d3-axis-strong") + .call(yAxis); + + // Add text label + verticalAxis.append("text") + .attr("transform", "rotate(-90)") + .attr("y", 10) + .attr("dy", ".71em") + .style("text-anchor", "end") + .style("fill", "#999") + .style("font-size", 12) + .text("Population"); + + + // Add bars + // ------------------------------ + + // Group values + var state = svg.selectAll(".bar-group") + .data(data) + .enter() + .append("g") + .attr("class", "bar-group") + .attr("transform", function(d) { return "translate(" + x(d.State) + ",0)"; }); + + // Append bars + state.selectAll(".d3-bar") + .data(function(d) { return d.ages; }) + .enter() + .append("rect") + .attr("class", "d3-bar") + .attr("width", x.rangeBand()) + .attr("y", function(d) { return y(d.y1); }) + .attr("height", function(d) { return y(d.y0) - y(d.y1); }) + .style("fill", function(d) { return color(d.name); }); + + + // Add legend + // ------------------------------ + + // Create legend + var legend = svg.selectAll(".d3-legend") + .data(color.domain().slice().reverse()) + .enter() + .append("g") + .attr("class", "d3-legend") + .attr("transform", function(d, i) { return "translate(0," + i * 20 + ")"; }); + + // Legend indicator + legend.append("rect") + .attr("x", width - 18) + .attr("width", 18) + .attr("height", 18) + .style("fill", color); + + // Legend text + legend.append("text") + .attr("x", width - 24) + .attr("y", 9) + .attr("dy", ".35em") + .style("text-anchor", "end") + .text(function(d) { return d; }); + }); + + + + // Resize chart + // ------------------------------ + + // Call function on window resize + $(window).on('resize', resize); + + // Call function on sidebar width change + $('.sidebar-control').on('click', resize); + + // Resize function + // + // Since D3 doesn't support SVG resize by default, + // we need to manually specify parts of the graph that need to + // be updated on window resize + function resize() { + + // Layout variables + width = d3Container.node().getBoundingClientRect().width - margin.left - margin.right; + + + // Layout + // ------------------------- + + // Main svg width + container.attr("width", width + margin.left + margin.right); + + // Width of appended group + svg.attr("width", width + margin.left + margin.right); + + + // Axes + // ------------------------- + + // Horizontal ranges + x.rangeRoundBands([0, width], .1, .5); + + // Horizontal axis + svg.selectAll('.d3-axis-horizontal').call(xAxis); + + + // Chart elements + // ------------------------- + + // Bar group + svg.selectAll('.bar-group').attr("transform", function(d) { return "translate(" + x(d.State) + ",0)"; }); + + // Bars + svg.selectAll('.d3-bar').attr("width", x.rangeBand()).attr("x", function(d) { return x(d.name); }); + + // Legend + svg.selectAll(".d3-legend text").attr("x", width - 24); + svg.selectAll(".d3-legend rect").attr("x", width - 18); + } + } +}); diff --git a/Show-Crypto-Currency-Price-in-Graph/amol/public/assets/js/charts/d3/bars/bars_basic_stacked_normalized.js b/Show-Crypto-Currency-Price-in-Graph/amol/public/assets/js/charts/d3/bars/bars_basic_stacked_normalized.js new file mode 100644 index 0000000..fd092c1 --- /dev/null +++ b/Show-Crypto-Currency-Price-in-Graph/amol/public/assets/js/charts/d3/bars/bars_basic_stacked_normalized.js @@ -0,0 +1,231 @@ +/* ------------------------------------------------------------------------------ + * + * # D3.js - normalized bar chart + * + * Demo d3.js normalized bar chart setup with .csv data source + * + * Version: 1.0 + * Latest update: August 1, 2015 + * + * ---------------------------------------------------------------------------- */ + +$(function () { + + // Initialize chart + barNormalized('#d3-bar-normalized', 400); + + // Chart setup + function barNormalized(element, height) { + + + // Basic setup + // ------------------------------ + + // Define main variables + var d3Container = d3.select(element), + margin = {top: 5, right: 130, bottom: 20, left: 40}, + width = d3Container.node().getBoundingClientRect().width - margin.left - margin.right, + height = height - margin.top - margin.bottom - 5; + + + + // Construct scales + // ------------------------------ + + // Horizontal + var x = d3.scale.ordinal() + .rangeRoundBands([0, width], .1); + + // Vertical + var y = d3.scale.linear() + .rangeRound([height, 0]); + + // Color + var color = d3.scale.ordinal() + .range(["#98abc5", "#8a89a6", "#7b6888", "#6b486b", "#a05d56", "#d0743c", "#ff8c00"]); + + + + // Create axes + // ------------------------------ + + // Horizontal + var xAxis = d3.svg.axis() + .scale(x) + .orient("bottom"); + + // Vertical + var yAxis = d3.svg.axis() + .scale(y) + .orient("left") + .tickFormat(d3.format(".0%")); + + + + // Create chart + // ------------------------------ + + // Add SVG element + var container = d3Container.append("svg"); + + // Add SVG group + var svg = container + .attr("width", width + margin.left + margin.right) + .attr("height", height + margin.top + margin.bottom) + .append("g") + .attr("transform", "translate(" + margin.left + "," + margin.top + ")"); + + + + // Load data + // ------------------------------ + + d3.csv("assets/demo_data/d3/bars/bars_stacked.csv", function(error, data) { + + // Filter values by key + color.domain(d3.keys(data[0]).filter(function(key) { return key !== "State"; })); + + // Pull out values + data.forEach(function(d) { + var y0 = 0; + d.ages = color.domain().map(function(name) { return {name: name, y0: y0, y1: y0 += +d[name]}; }); + d.ages.forEach(function(d) { d.y0 /= y0; d.y1 /= y0; }); + }); + + // Sort data + data.sort(function(a, b) { return b.ages[0].y1 - a.ages[0].y1; }); + + + // Set input domains + // ------------------------------ + + // Horizontal + x.domain(data.map(function(d) { return d.State; })); + + + + // + // Append chart elements + // + + // Append axes + // ------------------------------ + + // Horizontal + svg.append("g") + .attr("class", "d3-axis d3-axis-horizontal d3-axis-strong") + .attr("transform", "translate(0," + height + ")") + .call(xAxis); + + // Vertical + svg.append("g") + .attr("class", "d3-axis d3-axis-vertical d3-axis-strong") + .call(yAxis); + + + + // Add bars + // ------------------------------ + + // Group values + var state = svg.selectAll(".bar-group") + .data(data) + .enter() + .append("g") + .attr("class", "bar-group") + .attr("transform", function(d) { return "translate(" + x(d.State) + ",0)"; }); + + // Append bars + state.selectAll(".d3-bar") + .data(function(d) { return d.ages; }) + .enter() + .append("rect") + .attr("class", "d3-bar") + .attr("width", x.rangeBand()) + .attr("y", function(d) { return y(d.y1); }) + .attr("height", function(d) { return y(d.y0) - y(d.y1); }) + .style("fill", function(d) { return color(d.name); }); + + + + // Add legend + // ------------------------------ + + // Create legend + var legend = svg.select(".bar-group:last-child") + .selectAll(".d3-legend") + .data(function(d) { return d.ages; }) + .enter().append("g") + .attr("class", "d3-legend") + .attr("transform", function(d) { return "translate(" + x.rangeBand() + "," + y((d.y0 + d.y1) / 2) + ")"; }); + + // Legend line + legend.append("line") + .attr("x2", 10) + .attr("stroke", "#333") + .attr("shape-rendering", "crispEdges"); + + // Legend text + legend.append("text") + .attr("x", 15) + .attr("dy", ".35em") + .text(function(d) { return d.name; }); + }); + + + + + // Resize chart + // ------------------------------ + + // Call function on window resize + $(window).on('resize', resize); + + // Call function on sidebar width change + $('.sidebar-control').on('click', resize); + + // Resize function + // + // Since D3 doesn't support SVG resize by default, + // we need to manually specify parts of the graph that need to + // be updated on window resize + function resize() { + + // Layout variables + width = d3Container.node().getBoundingClientRect().width - margin.left - margin.right; + + + // Layout + // ------------------------- + + // Main svg width + container.attr("width", width + margin.left + margin.right); + + // Width of appended group + svg.attr("width", width + margin.left + margin.right); + + + // Axes + // ------------------------- + + // Horizontal ranges + x.rangeRoundBands([0, width], .1); + + // Horizontal axis + svg.selectAll('.d3-axis-horizontal').call(xAxis); + + + // Chart elements + // ------------------------- + + // Bar group + svg.selectAll('.bar-group').attr("transform", function(d) { return "translate(" + x(d.State) + ",0)"; }); + + // Bars + svg.selectAll('.d3-bar').attr("width", x.rangeBand()) + + // Legend + svg.selectAll(".d3-legend").attr("transform", function(d) { return "translate(" + x.rangeBand() + "," + y((d.y0 + d.y1) / 2) + ")"; }); + } + } +}); diff --git a/Show-Crypto-Currency-Price-in-Graph/amol/public/assets/js/charts/d3/bars/bars_basic_tooltip.js b/Show-Crypto-Currency-Price-in-Graph/amol/public/assets/js/charts/d3/bars/bars_basic_tooltip.js new file mode 100644 index 0000000..c1d1532 --- /dev/null +++ b/Show-Crypto-Currency-Price-in-Graph/amol/public/assets/js/charts/d3/bars/bars_basic_tooltip.js @@ -0,0 +1,209 @@ +/* ------------------------------------------------------------------------------ + * + * # D3.js - bar chart with tooltip + * + * Demo d3.js bar chart setup with tooltip and .tsv data source + * + * Version: 1.0 + * Latest update: August 1, 2015 + * + * ---------------------------------------------------------------------------- */ + +$(function () { + + // Initialize chart + barTooltip('#d3-bar-tooltip', 400); + + // Chart setup + function barTooltip(element, height) { + + + // Basic setup + // ------------------------------ + + // Define main variables + var d3Container = d3.select(element), + margin = {top: 5, right: 10, bottom: 20, left: 40}, + width = d3Container.node().getBoundingClientRect().width - margin.left - margin.right, + height = height - margin.top - margin.bottom - 5; + + + + // Construct scales + // ------------------------------ + + // Horizontal + var x = d3.scale.ordinal() + .rangeRoundBands([0, width], .1, .5); + + // Vertical + var y = d3.scale.linear() + .range([height, 0]); + + // Color + var color = d3.scale.category20c(); + + + + // Create axes + // ------------------------------ + + // Horizontal + var xAxis = d3.svg.axis() + .scale(x) + .orient("bottom"); + + // Vertical + var yAxis = d3.svg.axis() + .scale(y) + .orient("left") + .ticks(10, "%"); + + + + // Create chart + // ------------------------------ + + // Add SVG element + var container = d3Container.append("svg"); + + // Add SVG group + var svg = container + .attr("width", width + margin.left + margin.right) + .attr("height", height + margin.top + margin.bottom) + .append("g") + .attr("transform", "translate(" + margin.left + "," + margin.top + ")"); + + + + // Create tooltip + // ------------------------------ + + // Create tooltip + var tip = d3.tip() + .attr('class', 'd3-tip') + .offset([-10, 0]) + .html(function(d) { + return d.frequency; + }); + + // Initialize tooltip + svg.call(tip); + + + + // Load data + // ------------------------------ + + d3.tsv("assets/demo_data/d3/bars/bars_tooltip.tsv", function(error, data) { + + // Pull out values + data.forEach(function(d) { + d.frequency = +d.frequency; + }); + + + // Set input domains + // ------------------------------ + + // Horizontal + x.domain(data.map(function(d) { return d.letter; })); + + // Vertical + y.domain([0, d3.max(data, function(d) { return d.frequency; })]); + + + // + // Append chart elements + // + + // Append axes + // ------------------------------ + + // Horizontal + svg.append("g") + .attr("class", "d3-axis d3-axis-horizontal d3-axis-strong") + .attr("transform", "translate(0," + height + ")") + .call(xAxis); + + // Vertical + var verticalAxis = svg.append("g") + .attr("class", "d3-axis d3-axis-vertical d3-axis-strong") + .call(yAxis); + + // Add text label + verticalAxis.append("text") + .attr("transform", "rotate(-90)") + .attr("y", 10) + .attr("dy", ".71em") + .style("text-anchor", "end") + .style("fill", "#999") + .style("font-size", 12) + .text("Frequency"); + + + // Append bars + svg.selectAll(".d3-bar") + .data(data) + .enter() + .append("rect") + .attr("class", "d3-bar") + .style("fill", function(d) { return color(d.letter); }) + .attr("x", function(d) { return x(d.letter); }) + .attr("width", x.rangeBand()) + .attr("y", function(d) { return y(d.frequency); }) + .attr("height", function(d) { return height - y(d.frequency); }) + .on('mouseover', tip.attr('class', 'tooltip-inner in').show) + .on('mouseout', tip.hide); + }); + + + + // Resize chart + // ------------------------------ + + // Call function on window resize + $(window).on('resize', resize); + + // Call function on sidebar width change + $('.sidebar-control').on('click', resize); + + // Resize function + // + // Since D3 doesn't support SVG resize by default, + // we need to manually specify parts of the graph that need to + // be updated on window resize + function resize() { + + // Layout variables + width = d3Container.node().getBoundingClientRect().width - margin.left - margin.right; + + + // Layout + // ------------------------- + + // Main svg width + container.attr("width", width + margin.left + margin.right); + + // Width of appended group + svg.attr("width", width + margin.left + margin.right); + + + // Axes + // ------------------------- + + // Horizontal range + x.rangeRoundBands([0, width], .1, .5); + + // Horizontal axis + svg.selectAll('.d3-axis-horizontal').call(xAxis); + + + // Chart elements + // ------------------------- + + // Bars + svg.selectAll('.d3-bar').attr("x", function(d) { return x(d.letter); }).attr("width", x.rangeBand()); + } + } +}); diff --git a/Show-Crypto-Currency-Price-in-Graph/amol/public/assets/js/charts/d3/bars/bars_basic_vertical.js b/Show-Crypto-Currency-Price-in-Graph/amol/public/assets/js/charts/d3/bars/bars_basic_vertical.js new file mode 100644 index 0000000..2b59ac8 --- /dev/null +++ b/Show-Crypto-Currency-Price-in-Graph/amol/public/assets/js/charts/d3/bars/bars_basic_vertical.js @@ -0,0 +1,191 @@ +/* ------------------------------------------------------------------------------ + * + * # D3.js - vertical bar chart + * + * Demo d3.js vertical bar chart setup with .tsv data source + * + * Version: 1.0 + * Latest update: August 1, 2015 + * + * ---------------------------------------------------------------------------- */ + +$(function () { + + // Initialize chart + barVertical('#d3-bar-vertical', 400); + + // Chart setup + function barVertical(element, height) { + + + // Basic setup + // ------------------------------ + + // Define main variables + var d3Container = d3.select(element), + margin = {top: 5, right: 10, bottom: 20, left: 40}, + width = d3Container.node().getBoundingClientRect().width - margin.left - margin.right, + height = height - margin.top - margin.bottom - 5; + + + + // Construct scales + // ------------------------------ + + // Horizontal + var x = d3.scale.ordinal() + .rangeRoundBands([0, width], .1, .5); + + // Vertical + var y = d3.scale.linear() + .range([height, 0]); + + // Color + var color = d3.scale.category20c(); + + + + // Create axes + // ------------------------------ + + // Horizontal + var xAxis = d3.svg.axis() + .scale(x) + .orient("bottom"); + + // Vertical + var yAxis = d3.svg.axis() + .scale(y) + .orient("left") + .ticks(10, "%"); + + + + // Create chart + // ------------------------------ + + // Add SVG element + var container = d3Container.append("svg"); + + // Add SVG group + var svg = container + .attr("width", width + margin.left + margin.right) + .attr("height", height + margin.top + margin.bottom) + .append("g") + .attr("transform", "translate(" + margin.left + "," + margin.top + ")"); + + + + // Load data + // ------------------------------ + + d3.tsv("assets/demo_data/d3/bars/bars_basic.tsv", function(error, data) { + + // Pull out values + data.forEach(function(d) { + d.frequency = +d.frequency; + }); + + + // Set input domains + // ------------------------------ + + // Horizontal + x.domain(data.map(function(d) { return d.letter; })); + + // Vertical + y.domain([0, d3.max(data, function(d) { return d.frequency; })]); + + + // + // Append chart elements + // + + // Append axes + // ------------------------------ + + // Horizontal + svg.append("g") + .attr("class", "d3-axis d3-axis-horizontal d3-axis-strong") + .attr("transform", "translate(0," + height + ")") + .call(xAxis); + + // Vertical + var verticalAxis = svg.append("g") + .attr("class", "d3-axis d3-axis-vertical d3-axis-strong") + .call(yAxis); + + // Add text label + verticalAxis.append("text") + .attr("transform", "rotate(-90)") + .attr("y", 10) + .attr("dy", ".71em") + .style("text-anchor", "end") + .style("fill", "#999") + .style("font-size", 12) + .text("Frequency"); + + + // Add bars + svg.selectAll(".d3-bar") + .data(data) + .enter() + .append("rect") + .attr("class", "d3-bar") + .attr("x", function(d) { return x(d.letter); }) + .attr("width", x.rangeBand()) + .attr("y", function(d) { return y(d.frequency); }) + .attr("height", function(d) { return height - y(d.frequency); }) + .style("fill", function(d) { return color(d.letter); }); + }); + + + + // Resize chart + // ------------------------------ + + // Call function on window resize + $(window).on('resize', resize); + + // Call function on sidebar width change + $('.sidebar-control').on('click', resize); + + // Resize function + // + // Since D3 doesn't support SVG resize by default, + // we need to manually specify parts of the graph that need to + // be updated on window resize + function resize() { + + // Layout variables + width = d3Container.node().getBoundingClientRect().width - margin.left - margin.right; + + + // Layout + // ------------------------- + + // Main svg width + container.attr("width", width + margin.left + margin.right); + + // Width of appended group + svg.attr("width", width + margin.left + margin.right); + + + // Axes + // ------------------------- + + // Horizontal range + x.rangeRoundBands([0, width], .1, .5); + + // Horizontal axis + svg.selectAll('.d3-axis-horizontal').call(xAxis); + + + // Chart elements + // ------------------------- + + // Line path + svg.selectAll('.d3-bar').attr("x", function(d) { return x(d.letter); }).attr("width", x.rangeBand()); + } + } +}); diff --git a/Show-Crypto-Currency-Price-in-Graph/amol/public/assets/js/charts/d3/chords/chord_arcs.js b/Show-Crypto-Currency-Price-in-Graph/amol/public/assets/js/charts/d3/chords/chord_arcs.js new file mode 100644 index 0000000..aef145f --- /dev/null +++ b/Show-Crypto-Currency-Price-in-Graph/amol/public/assets/js/charts/d3/chords/chord_arcs.js @@ -0,0 +1,259 @@ +/* ------------------------------------------------------------------------------ + * + * # D3.js - chord arc tweens + * + * Demo chord diagram setup with arc shapes animation + * + * Version: 1.0 + * Latest update: August 1, 2015 + * + * ---------------------------------------------------------------------------- */ + +$(function () { + + + // Basic setup + // ------------------------------ + + // Data set + var data = [ + [6,32,47,81,31,89,24,68,50,39], + [37,83,57,80,87,7,85,7,68,17], + [50,15,31,3,1,85,36,95,83,99], + [19,99,97,79,74,43,78,18,4,57], + [77,2,87,41,93,52,6,42,11,76], + [91,56,97,65,23,60,63,68,45,48], + [17,77,96,22,87,98,58,15,36,16], + [44,54,60,69,36,44,76,58,50,16] + ]; + + + + // Construct layout + // ------------------------------ + + d3.chart = d3.chart || {}; + + d3.chart.chord = function(container) { + + // Main variables + var self = {}, + svg; + + // Layout variables + var w = 400, + h = 400, + r0 = Math.min(w, h) * .37, + r1 = r0 * 1.1; + + // Colors + var fill = d3.scale.category20c(); + + + // Construct chart layout + // ------------------------------ + + // Chord layout + var chord = d3.layout.chord() + .padding(.05) + .sortSubgroups(d3.descending); + + // Arc + var arc = d3.svg.arc() + .innerRadius(r0) + .outerRadius(r1); + + + // Setup chart + // ------------------------------ + + // Update chart + self.update = function(data) { + if (!chord.matrix()) { + chord.matrix(data); + self.render(); + } else { + var old = { + groups: chord.groups() + }; + chord.matrix(data); + self.transition(old); + } + }; + + // Clear chart + self.clear = function() { + d3.select(container).selectAll('svg').remove(); + }; + + // Transition + self.transition = function(old) { + svg.selectAll(".d3-arc") + .data(chord.groups) + .transition() + .duration(1500) + .attrTween("d", arcTween(arc, old)); + }; + + // Render chart + self.render = function() { + self.clear(); + + // Create chart + svg = d3.select(container) + .append("svg") + .attr("width", w) + .attr("height", h) + .append("g") + .attr("transform", "translate(" + w / 2 + "," + h / 2 + ")"); + + // Add arc + svg.append("g") + .selectAll("path") + .data(chord.groups) + .enter() + .append("path") + .attr("class", "d3-arc") + .style("fill", function(d) { return fill(d.index); }) + .style("stroke", function(d) { return fill(d.index); }) + .attr("d", arc) + .on("mouseover", fade(.1, svg)) + .on("mouseout", fade(1, svg)); + + + // Add ticks + // ------------------------------ + + // Group + var ticks = svg.append("g") + .selectAll("g") + .data(chord.groups) + .enter() + .append("g") + .selectAll("g") + .data(groupTicks) + .enter() + .append("g") + .attr("transform", function(d) { + return "rotate(" + (d.angle * 180 / Math.PI - 90) + ")" + + "translate(" + r1 + ",0)"; + }); + + // Add tick line + ticks.append("line") + .attr("x1", 1) + .attr("y1", 0) + .attr("x2", 5) + .attr("y2", 0) + .style("stroke", "#000"); + + // Add tick text + ticks.append("text") + .attr("x", 8) + .attr("dy", ".35em") + .attr("text-anchor", function(d) { + return d.angle > Math.PI ? "end" : null; + }) + .attr("transform", function(d) { + return d.angle > Math.PI ? "rotate(180)translate(-16)" : null; + }) + .style("font-size", 12) + .text(function(d) { return d.label; }); + + + // Add chord + // ------------------------------ + + svg.append("g") + .attr("class", "d3-chord") + .selectAll("path") + .data(chord.chords) + .enter() + .append("path") + .attr("d", d3.svg.chord().radius(r0)) + .style("fill", function(d) { return fill(d.target.index); }) + .style("stroke", "#000") + .style("stroke-width", 0.5) + .style("fill-opacity", 0.7) + }; + + return self; + }; + + + + // Utility functions + // ------------------------------ + + // Returns an array of tick angles and labels, given a group + function groupTicks(d) { + var k = (d.endAngle - d.startAngle) / d.value; + return d3.range(0, d.value, 50).map(function(v, i) { + return { + angle: v * k + d.startAngle, + label: i % 2 ? null : v + }; + }); + } + + // Returns an event handler for fading a given chord group + function fade(opacity, svg) { + return function(g, i) { + svg.selectAll(".d3-chord path").filter(function(d) { + return d.source.index != i && d.target.index != i; + }) + .transition() + .style("opacity", opacity); + }; + } + + // Interpolate the arcs in data space. + function arcTween(arc, old) { + return function(d,i) { + var i = d3.interpolate(old.groups[i], d); + return function(t) { + return arc(i(t)); + } + } + } + + // Random data + function random_matrix(size) { + var matrix = []; + for (var i=0; i Math.PI ? "end" : null; + }) + .attr("transform", function(d) { + return d.angle > Math.PI ? "rotate(180)translate(-16)" : null; + }) + .style("font-size", 12) + .text(function(d) { return d.label; }); + + + // Add chord + // ------------------------------ + + svg.append("g") + .attr("class", "d3-chord") + .selectAll("path") + .data(chord.chords) + .enter() + .append("path") + .style("fill", function(d) { return fill(d.target.index); }) + .style("stroke", "#000") + .style("stroke-width", 0.5) + .style("fill-opacity", 0.7) + .attr("d", d3.svg.chord().radius(r0)) + .style("opacity", 1); + }; + + return self; + }; + + + + // Utility functions + // ------------------------------ + + // Returns an array of tick angles and labels, given a group + function groupTicks(d) { + var k = (d.endAngle - d.startAngle) / d.value; + return d3.range(0, d.value, 50).map(function(v, i) { + return { + angle: v * k + d.startAngle, + label: i % 2 ? null : v + }; + }); + } + + // Returns an event handler for fading a given chord group + function fade(opacity, svg) { + return function(g, i) { + svg.selectAll(".d3-chord path").filter(function(d) { + return d.source.index != i && d.target.index != i; + }) + .transition() + .style("opacity", opacity); + }; + } + + + + // Initialize chart + // ------------------------------ + + initChord(); + + function initChord() { + var chord = d3.chart.chord("#d3-chord-basic"); + chord.update(data); + + d3.select("#clear-basic").on("click", function() { + chord.clear(); + }); + d3.select("#render-basic").on("click", function() { + chord.render(); + }); + } +}); diff --git a/Show-Crypto-Currency-Price-in-Graph/amol/public/assets/js/charts/d3/chords/chord_chart.js b/Show-Crypto-Currency-Price-in-Graph/amol/public/assets/js/charts/d3/chords/chord_chart.js new file mode 100644 index 0000000..a752d54 --- /dev/null +++ b/Show-Crypto-Currency-Price-in-Graph/amol/public/assets/js/charts/d3/chords/chord_chart.js @@ -0,0 +1,212 @@ +/* ------------------------------------------------------------------------------ + * + * # D3.js - basic chord diagram + * + * Demo chord diagram setup with tools such as update, render and clear + * + * Version: 1.0 + * Latest update: August 1, 2015 + * + * ---------------------------------------------------------------------------- */ + +$(function () { + + + // Basic setup + // ------------------------------ + + // Data set + var data = [ + [6,32,47,81,31,89,24,68,50,39], + [37,83,57,80,87,7,85,7,68,17], + [50,15,31,3,1,85,36,95,83,99], + [37,25,37,81,72,98,32,13,70,25], + [19,99,97,79,74,43,78,18,4,57], + [77,2,87,41,93,52,6,42,11,76], + [44,54,60,69,36,44,76,58,50,16] + ]; + + + + // Construct layout + // ------------------------------ + + d3.chart = d3.chart || {}; + + d3.chart.chord = function(container) { + var self = {}; + + // Main variables + var w = 400, + h = 400, + r0 = Math.min(w, h) * .37, + r1 = r0 * 1.1; + + // Colors + var fill = d3.scale.category20c(); + + // Add chord layout + var chord = d3.layout.chord() + .padding(.05) + .sortSubgroups(d3.descending) + + + // Update chart + self.update = function(data) { + chord.matrix(data); + self.render(); + }; + + // Clear chart + self.clear = function() { + d3.select(container).selectAll('svg').remove(); + }; + + // Render chart + self.render = function() { + self.clear(); + + // Create chart + var svg = d3.select(container) + .append("svg") + .attr("width", w) + .attr("height", h) + .append("g") + .attr("transform", "translate(" + w / 2 + "," + h / 2 + ")"); + + // Bind data and add chord path + svg.append("g") + .selectAll("path") + .data(chord.groups) + .enter() + .append("path") + .style("fill", function(d) { return fill(d.index); }) + .style("stroke", function(d) { return fill(d.index); }) + .attr("d", d3.svg.arc().innerRadius(r0).outerRadius(r1)) + .on("mouseover", fade(.1, svg)) + .on("mouseout", fade(1, svg)); + + + // Add ticks + // ------------------------------ + + // Group + var ticks = svg.append("g") + .selectAll("g") + .data(chord.groups) + .enter() + .append("g") + .selectAll("g") + .data(groupTicks) + .enter() + .append("g") + .attr("transform", function(d) { + return "rotate(" + (d.angle * 180 / Math.PI - 90) + ")" + + "translate(" + r1 + ",0)"; + }); + + // Add tick lines + ticks.append("line") + .attr("x1", 1) + .attr("y1", 0) + .attr("x2", 5) + .attr("y2", 0) + .style("stroke", "#000"); + + // Add tick text + ticks.append("text") + .attr("x", 8) + .attr("dy", ".35em") + .attr("text-anchor", function(d) { + return d.angle > Math.PI ? "end" : null; + }) + .attr("transform", function(d) { + return d.angle > Math.PI ? "rotate(180)translate(-16)" : null; + }) + .style("font-size", 12) + .text(function(d) { return d.label; }); + + + // Add chord + // ------------------------------ + + svg.append("g") + .attr("class", "d3-chord") + .selectAll("path") + .data(chord.chords) + .enter() + .append("path") + .attr("d", d3.svg.chord().radius(r0)) + .style("fill", function(d) { return fill(d.target.index); }) + .style("stroke", "#000") + .style("stroke-width", 0.5) + .style("fill-opacity", 0.7) + }; + + return self; + }; + + + + // Utility functions + // ------------------------------ + + // Returns an array of tick angles and labels, given a group + function groupTicks(d) { + var k = (d.endAngle - d.startAngle) / d.value; + return d3.range(0, d.value, 50).map(function(v, i) { + return { + angle: v * k + d.startAngle, + label: i % 2 ? null : v + }; + }); + } + + // Returns an event handler for fading a given chord group + function fade(opacity, svg) { + return function(g, i) { + svg.selectAll(".d3-chord path").filter(function(d) { + return d.source.index != i && d.target.index != i; + }) + .transition() + .style("opacity", opacity); + }; + } + + // Random data + function random_matrix(size) { + var matrix = []; + for (var i=0; i Math.PI ? "end" : null; + }) + .attr("transform", function(d) { + return d.angle > Math.PI ? "rotate(180)translate(-16)" : null; + }) + .style("font-size", 12) + .text(function(d) { return d.label; }); + + // Transitions + svg.selectAll(".d3-chord-ticks").transition() + .duration(340) + .attr("opacity", 1); + }; + + return self; + }; + + + + // Utility functions + + // Returns an array of tick angles and labels, given a group + function groupTicks(d) { + var k = (d.endAngle - d.startAngle) / d.value; + return d3.range(0, d.value, 50).map(function(v, i) { + return { + angle: v * k + d.startAngle, + label: i % 2 ? null : v + }; + }); + } + + // Returns an event handler for fading a given chord group + function fade(opacity, svg) { + return function(g, i) { + svg.selectAll(".d3-chord path") + .filter(function(d) { + return d.source.index != i && d.target.index != i; + }) + .transition() + .style("opacity", opacity); + }; + } + + // Interpolate the arcs + function arcTween(arc_svg, old) { + return function(d,i) { + var i = d3.interpolate(old.groups[i], d); + return function(t) { + return arc_svg(i(t)); + } + } + } + + // Interpolate the chords + function chordTween(chord_svg, old) { + return function(d,i) { + var i = d3.interpolate(old.chords[i], d); + return function(t) { + return chord_svg(i(t)); + } + } + } + + // Random data + function random_matrix(size) { + var matrix = []; + for (var i=0; i d1.date - x0 ? d1 : d0; + focus.attr("transform", "translate(" + x(d.date) + "," + y(d.close) + ")"); + focus.select("text").text(formatCurrency(d.close)).attr("dx", -26).attr("dy", 30); + } + }); + + + + // Resize chart + // ------------------------------ + + // Call function on window resize + $(window).on('resize', resize); + + // Call function on sidebar width change + $('.sidebar-control').on('click', resize); + + // Resize function + // + // Since D3 doesn't support SVG resize by default, + // we need to manually specify parts of the graph that need to + // be updated on window resize + function resize() { + + // Layout variables + width = d3Container.node().getBoundingClientRect().width - margin.left - margin.right; + + + // Layout + // ------------------------- + + // Main svg width + container.attr("width", width + margin.left + margin.right); + + // Width of appended group + svg.attr("width", width + margin.left + margin.right); + + + // Axes + // ------------------------- + + // Horizontal range + x.range([0, width]); + + // Horizontal axis + svg.selectAll('.d3-axis-horizontal').call(xAxis); + + + // Chart elements + // ------------------------- + + // Line path + svg.selectAll('.d3-line').attr("d", line); + + // Crosshair + svg.selectAll('.d3-crosshair-overlay').attr("width", width); + } + } +}); diff --git a/Show-Crypto-Currency-Price-in-Graph/amol/public/assets/js/charts/d3/lines/lines_basic_area.js b/Show-Crypto-Currency-Price-in-Graph/amol/public/assets/js/charts/d3/lines/lines_basic_area.js new file mode 100644 index 0000000..9d69f13 --- /dev/null +++ b/Show-Crypto-Currency-Price-in-Graph/amol/public/assets/js/charts/d3/lines/lines_basic_area.js @@ -0,0 +1,201 @@ +/* ------------------------------------------------------------------------------ + * + * # D3.js - basic area chart + * + * Demo d3.js area chart setup with .tsv data source + * + * Version: 1.0 + * Latest update: August 1, 2015 + * + * ---------------------------------------------------------------------------- */ + +$(function () { + + // Initialize chart + areaBasic('#d3-area-basic', 400); + + // Chart setup + function areaBasic(element, height) { + + + // Basic setup + // ------------------------------ + + // Define main variables + var d3Container = d3.select(element), + margin = {top: 5, right: 10, bottom: 20, left: 40}, + width = d3Container.node().getBoundingClientRect().width - margin.left - margin.right, + height = height - margin.top - margin.bottom - 5; + + // Format data + var parseDate = d3.time.format("%d-%b-%y").parse; + + + + // Construct scales + // ------------------------------ + + // Horizontal + var x = d3.time.scale() + .range([0, width]); + + // Vertical + var y = d3.scale.linear() + .range([height, 0]); + + + + // Create axes + // ------------------------------ + + // Horizontal + var xAxis = d3.svg.axis() + .scale(x) + .orient("bottom") + .ticks(6) + .tickFormat(d3.time.format("%b")); + + // Vertical + var yAxis = d3.svg.axis() + .scale(y) + .orient("left"); + + + + + // Create chart + // ------------------------------ + + // Add SVG element + var container = d3.select(element).append("svg"); + + // Add SVG group + var svg = container + .attr("width", width + margin.left + margin.right) + .attr("height", height + margin.top + margin.bottom) + .append("g") + .attr("transform", "translate(" + margin.left + "," + margin.top + ")"); + + + + // Construct chart layout + // ------------------------------ + + // Area + var area = d3.svg.area() + .x(function(d) { return x(d.date); }) + .y0(height) + .y1(function(d) { return y(d.close); }); + + + + // Load data + // ------------------------------ + + d3.tsv("assets/demo_data/d3/lines/lines_basic.tsv", function(error, data) { + + // Pull out values + data.forEach(function(d) { + d.date = parseDate(d.date); + d.close = +d.close; + }); + + + // Set input domains + // ------------------------------ + + // Horizontal + x.domain(d3.extent(data, function(d) { return d.date; })); + + // Vertical + y.domain([0, d3.max(data, function(d) { return d.close; })]); + + + // + // Append chart elements + // + + // Add area + svg.append("path") + .datum(data) + .attr("class", "d3-area") + .attr("fill", "#29B6F6") + .attr("d", area); + + + // Append axes + // ------------------------------ + + // Horizontal + svg.append("g") + .attr("class", "d3-axis d3-axis-horizontal d3-axis-strong") + .attr("transform", "translate(0," + height + ")") + .call(xAxis); + + // Vertical + var verticalAxis = svg.append("g") + .attr("class", "d3-axis d3-axis-vertical d3-axis-strong") + .call(yAxis); + + // Add text label + verticalAxis.append("text") + .attr("transform", "rotate(-90)") + .attr("y", 10) + .attr("dy", ".71em") + .style("fill", "#999") + .style("font-size", 12) + .style("text-anchor", "end") + .text("Price ($)"); + + }); + + + + // Resize chart + // ------------------------------ + + // Call function on window resize + $(window).on('resize', resize); + + // Call function on sidebar width change + $('.sidebar-control').on('click', resize); + + // Resize function + // + // Since D3 doesn't support SVG resize by default, + // we need to manually specify parts of the graph that need to + // be updated on window resize + function resize() { + + // Layout variables + width = d3Container.node().getBoundingClientRect().width - margin.left - margin.right; + + + // Layout + // ------------------------- + + // Main svg width + container.attr("width", width + margin.left + margin.right); + + // Width of appended group + svg.attr("width", width + margin.left + margin.right); + + + // Axes + // ------------------------- + + // Horizontal range + x.range([0, width]); + + // Horizontal axis + svg.selectAll('.d3-axis-horizontal').call(xAxis); + + + // Chart elements + // ------------------------- + + // Area path + svg.selectAll('.d3-area').attr("d", area); + } +} +}); diff --git a/Show-Crypto-Currency-Price-in-Graph/amol/public/assets/js/charts/d3/lines/lines_basic_bivariate.js b/Show-Crypto-Currency-Price-in-Graph/amol/public/assets/js/charts/d3/lines/lines_basic_bivariate.js new file mode 100644 index 0000000..27c3aee --- /dev/null +++ b/Show-Crypto-Currency-Price-in-Graph/amol/public/assets/js/charts/d3/lines/lines_basic_bivariate.js @@ -0,0 +1,201 @@ +/* ------------------------------------------------------------------------------ + * + * # D3.js - bivariate area chart + * + * Demo d3.js bivariate area chart setup with .tsv data source + * + * Version: 1.0 + * Latest update: August 1, 2015 + * + * ---------------------------------------------------------------------------- */ + +$(function () { + + // Initialize chart + areaBivariate('#d3-area-bivariate', 400); + + // Chart setup + function areaBivariate(element, height) { + + + // Basic setup + // ------------------------------ + + // Define main variables + var d3Container = d3.select(element), + margin = {top: 5, right: 10, bottom: 20, left: 40}, + width = d3Container.node().getBoundingClientRect().width - margin.left - margin.right, + height = height - margin.top - margin.bottom - 5; + + // Format data + var parseDate = d3.time.format("%Y%m%d").parse; + + + + // Construct scales + // ------------------------------ + + // Horizontal + var x = d3.time.scale() + .range([0, width]); + + // Vertical + var y = d3.scale.linear() + .range([height, 0]); + + + + // Create axes + // ------------------------------ + + // Horizontal + var xAxis = d3.svg.axis() + .scale(x) + .orient("bottom") + .ticks(6) + .tickFormat(d3.time.format("%b")); + + // Vertical + var yAxis = d3.svg.axis() + .scale(y) + .orient("left"); + + + + // Create chart + // ------------------------------ + + // Add SVG element + var container = d3.select(element).append("svg"); + + // Add SVG group + var svg = container + .attr("width", width + margin.left + margin.right) + .attr("height", height + margin.top + margin.bottom) + .append("g") + .attr("transform", "translate(" + margin.left + "," + margin.top + ")"); + + + + // Construct chart layout + // ------------------------------ + + // Area + var area = d3.svg.area() + .x(function(d) { return x(d.date); }) + .y0(function(d) { return y(d.low); }) + .y1(function(d) { return y(d.high); }); + + + + // Load data + // ------------------------------ + + d3.tsv("assets/demo_data/d3/lines/lines_bivariate.tsv", function(error, data) { + + // Pull out values + data.forEach(function(d) { + d.date = parseDate(d.date); + d.low = +d.low; + d.high = +d.high; + }); + + + // Set input domains + // ------------------------------ + + // Horizontal + x.domain(d3.extent(data, function(d) { return d.date; })); + + // Vertical + y.domain([d3.min(data, function(d) { return d.low; }), d3.max(data, function(d) { return d.high; })]); + + + + // + // Append chart elements + // + + // Add area + svg.append("path") + .datum(data) + .attr("class", "d3-area") + .attr("fill", "#FF7043") + .attr("d", area); + + + // Append axes + // ------------------------------ + + // Horizontal + svg.append("g") + .attr("class", "d3-axis d3-axis-horizontal d3-axis-strong") + .attr("transform", "translate(0," + height + ")") + .call(xAxis); + + // Vertical + var verticalAxis = svg.append("g") + .attr("class", "d3-axis d3-axis-vertical d3-axis-strong") + .call(yAxis); + + // Add text label + verticalAxis.append("text") + .attr("transform", "rotate(-90)") + .attr("y", 10) + .attr("dy", ".71em") + .style("fill", "#999") + .style("font-size", 12) + .style("text-anchor", "end") + .text("Temperature (ºF)"); + }); + + + + // Resize chart + // ------------------------------ + + // Call function on window resize + $(window).on('resize', resize); + + // Call function on sidebar width change + $('.sidebar-control').on('click', resize); + + // Resize function + // + // Since D3 doesn't support SVG resize by default, + // we need to manually specify parts of the graph that need to + // be updated on window resize + function resize() { + + // Layout variables + width = d3Container.node().getBoundingClientRect().width - margin.left - margin.right; + + + // Layout + // ------------------------- + + // Main svg width + container.attr("width", width + margin.left + margin.right); + + // Width of appended group + svg.attr("width", width + margin.left + margin.right); + + + // Axes + // ------------------------- + + // Horizontal range + x.range([0, width]); + + // Horizontal axis + svg.selectAll('.d3-axis-horizontal').call(xAxis); + + + // Chart elements + // ------------------------- + + // Area path + svg.selectAll('.d3-area').attr("d", area); + } + } +}); diff --git a/Show-Crypto-Currency-Price-in-Graph/amol/public/assets/js/charts/d3/lines/lines_basic_gradient.js b/Show-Crypto-Currency-Price-in-Graph/amol/public/assets/js/charts/d3/lines/lines_basic_gradient.js new file mode 100644 index 0000000..db9a6a4 --- /dev/null +++ b/Show-Crypto-Currency-Price-in-Graph/amol/public/assets/js/charts/d3/lines/lines_basic_gradient.js @@ -0,0 +1,220 @@ +/* ------------------------------------------------------------------------------ + * + * # D3.js - gradient encoding line chart + * + * Demo d3.js gradient encoding line chart setup with .tsv data source + * + * Version: 1.0 + * Latest update: August 1, 2015 + * + * ---------------------------------------------------------------------------- */ + +$(function () { + + // Initialize chart + lineGradient('#d3-line-gradient', 400); + + // Chart setup + function lineGradient(element, height) { + + + // Basic setup + // ------------------------------ + + // Define main variables + var d3Container = d3.select(element), + margin = {top: 5, right: 20, bottom: 20, left: 40}, + width = d3Container.node().getBoundingClientRect().width - margin.left - margin.right, + height = height - margin.top - margin.bottom - 5; + + // Format data + var parseDate = d3.time.format("%Y%m%d").parse; + + + + // Construct scales + // ------------------------------ + + // Horizontal + var x = d3.time.scale() + .range([0, width]); + + // Vertical + var y = d3.scale.linear() + .range([height, 0]); + + + + // Create axes + // ------------------------------ + + // Horizontal + var xAxis = d3.svg.axis() + .scale(x) + .orient("bottom") + .ticks(7) + .tickFormat(d3.time.format("%b")); + + // Vertical + var yAxis = d3.svg.axis() + .scale(y) + .orient("left"); + + + + // Create chart + // ------------------------------ + + // Add SVG element + var container = d3Container.append("svg"); + + // Add SVG group + var svg = container + .attr("width", width + margin.left + margin.right) + .attr("height", height + margin.top + margin.bottom) + .append("g") + .attr("transform", "translate(" + margin.left + "," + margin.top + ")"); + + + // Construct chart layout + // ------------------------------ + + // Line + var line = d3.svg.line() + .interpolate("basis") + .x(function(d) { return x(d.date); }) + .y(function(d) { return y(d.temperature); }); + + + // Load data + // ------------------------------ + + d3.tsv("assets/demo_data/d3/lines/lines_gradient.tsv", function(error, data) { + + // Pull out values + data.forEach(function(d) { + d.date = parseDate(d.date); + d.temperature = +d.temperature; + }); + + + // Set input domains + // ------------------------------ + + // Horizontal + x.domain([data[0].date, data[data.length - 1].date]); + + // Vertical + y.domain(d3.extent(data, function(d) { return d.temperature; })); + + + // + // Append chart elements + // + + // Add gradient + svg.append("linearGradient") + .attr("id", "temperature-gradient") + .attr("gradientUnits", "userSpaceOnUse") + .attr("x1", 0) + .attr("y1", y(50)) + .attr("x2", 0) + .attr("y2", y(60)) + .selectAll("stop") + .data([ + {offset: "0%", color: "#4CAF50"}, + {offset: "50%", color: "#81C784"}, + {offset: "100%", color: "#FF5722"} + ]) + .enter() + .append("stop") + .attr("offset", function(d) { return d.offset; }) + .attr("stop-color", function(d) { return d.color; }); + + // Add line + svg.append("path") + .datum(data) + .attr("class", "d3-line d3-line-medium") + .attr("fill", "none") + .attr("stroke", "url(#temperature-gradient)") + .attr("stroke-width", 2) + .attr("d", line); + + + + // Append axes + // ------------------------------ + + // Horizontal + svg.append("g") + .attr("class", "d3-axis d3-axis-horizontal d3-axis-strong") + .attr("transform", "translate(0," + height + ")") + .call(xAxis); + + // Vertical + var verticalAxis = svg.append("g") + .attr("class", "d3-axis d3-axis-vertical d3-axis-strong") + .call(yAxis); + + // Add text label + verticalAxis.append("text") + .attr("transform", "rotate(-90)") + .attr("y", 10) + .attr("dy", ".71em") + .style("text-anchor", "end") + .style("fill", "#999") + .style("font-size", 12) + .text("Temperature (ºF)"); + }); + + + + // Resize chart + // ------------------------------ + + // Call function on window resize + $(window).on('resize', resize); + + // Call function on sidebar width change + $('.sidebar-control').on('click', resize); + + // Resize function + // + // Since D3 doesn't support SVG resize by default, + // we need to manually specify parts of the graph that need to + // be updated on window resize + function resize() { + + // Layout variables + width = d3Container.node().getBoundingClientRect().width - margin.left - margin.right; + + + // Layout + // ------------------------- + + // Main svg width + container.attr("width", width + margin.left + margin.right); + + // Width of appended group + svg.attr("width", width + margin.left + margin.right); + + + // Axes + // ------------------------- + + // Horizontal range + x.range([0, width]); + + // Horizontal axis + svg.selectAll('.d3-axis-horizontal').call(xAxis); + + + // Chart elements + // ------------------------- + + // Line path + svg.selectAll('.d3-line').attr("d", line); + } + +} +}); diff --git a/Show-Crypto-Currency-Price-in-Graph/amol/public/assets/js/charts/d3/lines/lines_basic_multi_series.js b/Show-Crypto-Currency-Price-in-Graph/amol/public/assets/js/charts/d3/lines/lines_basic_multi_series.js new file mode 100644 index 0000000..1418434 --- /dev/null +++ b/Show-Crypto-Currency-Price-in-Graph/amol/public/assets/js/charts/d3/lines/lines_basic_multi_series.js @@ -0,0 +1,242 @@ +/* ------------------------------------------------------------------------------ + * + * # D3.js - multi series line chart + * + * Demo d3.js multi series line chart setup with .tsv data source + * + * Version: 1.0 + * Latest update: August 1, 2015 + * + * ---------------------------------------------------------------------------- */ + +$(function () { + + // Initialize chart + lineBasic('#d3-line-multi-series', 400); + + // Chart setup + function lineBasic(element, height) { + + + // Basic setup + // ------------------------------ + + // Define main variables + var d3Container = d3.select(element), + margin = {top: 5, right: 100, bottom: 20, left: 40}, + width = d3Container.node().getBoundingClientRect().width - margin.left - margin.right, + height = height - margin.top - margin.bottom - 5; + + // Format data + var parseDate = d3.time.format("%Y%m%d").parse; + + // Colors + var color = d3.scale.category10(); + + + + // Construct scales + // ------------------------------ + + // Horizontal + var x = d3.time.scale() + .range([0, width]); + + // Vertical + var y = d3.scale.linear() + .range([height, 0]); + + + + // Create axes + // ------------------------------ + + // Horizontal + var xAxis = d3.svg.axis() + .scale(x) + .orient("bottom") + .ticks(5) + .tickFormat(d3.time.format("%b")); + + // Vertical + var yAxis = d3.svg.axis() + .scale(y) + .orient("left"); + + + + // Create chart + // ------------------------------ + + // Add SVG element + var container = d3Container.append("svg"); + + // Add SVG group + var svg = container + .attr("width", width + margin.left + margin.right) + .attr("height", height + margin.top + margin.bottom) + .append("g") + .attr("transform", "translate(" + margin.left + "," + margin.top + ")"); + + + + // Construct chart layout + // ------------------------------ + + // Line + var line = d3.svg.line() + .interpolate("basis") + .x(function(d) { return x(d.date); }) + .y(function(d) { return y(d.temperature); }); + + + + // Load data + // ------------------------------ + + d3.tsv("assets/demo_data/d3/lines/lines_multi_series.tsv", function(error, data) { + + // Pull out values + data.forEach(function(d) { + d.date = parseDate(d.date); + }); + + + // Set color domains + // ------------------------------ + + // Filter by date + color.domain(d3.keys(data[0]).filter(function(key) { return key !== "date"; })); + + // Set colors + var cities = color.domain().map(function(name) { + return { + name: name, + values: data.map(function(d) { + return {date: d.date, temperature: +d[name]}; + }) + } + }); + + + + // Set input domains + // ------------------------------ + + // Horizontal + x.domain(d3.extent(data, function(d) { return d.date; })); + + // Vertical + y.domain([ + d3.min(cities, function(c) { return d3.min(c.values, function(v) { return v.temperature; }); }), + d3.max(cities, function(c) { return d3.max(c.values, function(v) { return v.temperature; }); }) + ]); + + + + // + // Append chart elements + // + + // Bind data + var city = svg.selectAll(".multiline-city") + .data(cities) + .enter() + .append("g") + .attr("class", "multiline-city"); + + // Add line + city.append("path") + .attr("class", "d3-line d3-line-medium") + .attr("d", function(d) { return line(d.values); }) + .style("stroke", function(d) { return color(d.name); }); + + // Add text + city.append("text") + .datum(function(d) { return {name: d.name, value: d.values[d.values.length - 1]}; }) + .attr("transform", function(d) { return "translate(" + x(d.value.date) + "," + y(d.value.temperature) + ")"; }) + .attr("class", "d3-cities") + .attr("x", 10) + .attr("dy", ".35em") + .text(function(d) { return d.name; }); + + + + // Append axes + // ------------------------------ + + // Horizontal + svg.append("g") + .attr("class", "d3-axis d3-axis-horizontal d3-axis-strong") + .attr("transform", "translate(0," + height + ")") + .call(xAxis); + + // Vertical + var verticalAxis = svg.append("g") + .attr("class", "d3-axis d3-axis-vertical d3-axis-strong") + .call(yAxis); + + // Add text label + verticalAxis.append("text") + .attr("transform", "rotate(-90)") + .attr("y", 10) + .attr("dy", ".71em") + .style("text-anchor", "end") + .style("fill", "#999") + .style("font-size", 12) + .text("Temperature (ºF)"); + }) + + + + // Resize chart + // ------------------------------ + + // Call function on window resize + $(window).on('resize', resize); + + // Call function on sidebar width change + $('.sidebar-control').on('click', resize); + + // Resize function + // + // Since D3 doesn't support SVG resize by default, + // we need to manually specify parts of the graph that need to + // be updated on window resize + function resize() { + + // Layout variables + width = d3Container.node().getBoundingClientRect().width - margin.left - margin.right; + + + // Layout + // ------------------------- + + // Main svg width + container.attr("width", width + margin.left + margin.right); + + // Width of appended group + svg.attr("width", width + margin.left + margin.right); + + + // Axes + // ------------------------- + + // Horizontal range + x.range([0, width]); + + // Horizontal axis + svg.selectAll('.d3-axis-horizontal').call(xAxis); + + + // Chart elements + // ------------------------- + + // Line path + svg.selectAll('.d3-line').attr("d", function(d) { return line(d.values); }); + + // Text + svg.selectAll('.d3-cities').attr("transform", function(d) { return "translate(" + x(d.value.date) + "," + y(d.value.temperature) + ")"; }) + } + } +}); diff --git a/Show-Crypto-Currency-Price-in-Graph/amol/public/assets/js/charts/d3/lines/lines_basic_stacked.js b/Show-Crypto-Currency-Price-in-Graph/amol/public/assets/js/charts/d3/lines/lines_basic_stacked.js new file mode 100644 index 0000000..d64f3fd --- /dev/null +++ b/Show-Crypto-Currency-Price-in-Graph/amol/public/assets/js/charts/d3/lines/lines_basic_stacked.js @@ -0,0 +1,232 @@ +/* ------------------------------------------------------------------------------ + * + * # D3.js - stacked area chart + * + * Demo d3.js stacked area chart setup with .tsv data source + * + * Version: 1.0 + * Latest update: August 1, 2015 + * + * ---------------------------------------------------------------------------- */ + +$(function () { + + // Initialize chart + areaStacked('#d3-area-stacked', 400); + + // Chart setup + function areaStacked(element, height) { + + + // Basic setup + // ------------------------------ + + // Define main variables + var d3Container = d3.select(element), + margin = {top: 5, right: 10, bottom: 20, left: 40}, + width = d3Container.node().getBoundingClientRect().width - margin.left - margin.right, + height = height - margin.top - margin.bottom - 5; + + // Format data + var parseDate = d3.time.format("%y-%b-%d").parse, + formatPercent = d3.format(".0%"); + + // Colors + var color = d3.scale.category20(); + + + // Construct scales + // ------------------------------ + + // Horizontal + var x = d3.time.scale() + .range([0, width]); + + // Vertical + var y = d3.scale.linear() + .range([height, 0]); + + + + // Create axes + // ------------------------------ + + // Horizontal + var xAxis = d3.svg.axis() + .scale(x) + .orient("bottom") + .ticks(6) + .tickFormat(d3.time.format("%b")); + + // Vertical + var yAxis = d3.svg.axis() + .scale(y) + .orient("left") + .tickFormat(formatPercent); + + + + // Create chart + // ------------------------------ + + // Add SVG element + var container = d3.select(element).append("svg"); + + // Add SVG group + var svg = container + .attr("width", width + margin.left + margin.right) + .attr("height", height + margin.top + margin.bottom) + .append("g") + .attr("transform", "translate(" + margin.left + "," + margin.top + ")"); + + + + // Construct chart layout + // ------------------------------ + + // Area + var area = d3.svg.area() + .x(function(d) { return x(d.date); }) + .y0(function(d) { return y(d.y0); }) + .y1(function(d) { return y(d.y0 + d.y); }); + + // Stack + var stack = d3.layout.stack() + .values(function(d) { return d.values; }); + + + + + + // Load data + // ------------------------------ + + d3.tsv("assets/demo_data/d3/lines/lines_stacked.tsv", function(error, data) { + + // Pull out values + data.forEach(function(d) { + d.date = parseDate(d.date); + }); + + + // Set color domains + // ------------------------------ + + // Filter by date + color.domain(d3.keys(data[0]).filter(function(key) { return key !== "date"; })); + + // Set colors + var browsers = stack(color.domain().map(function(name) { + return { + name: name, + values: data.map(function(d) { + return {date: d.date, y: d[name] / 100}; + }) + }; + })); + + + // Set input domains + // ------------------------------ + + // Horizontal + x.domain(d3.extent(data, function(d) { return d.date; })); + + + // + // Append chart elements + // + + // Bind data + var browser = svg.selectAll(".browser") + .data(browsers) + .enter() + .append("g") + .attr("class", "browser"); + + // Add area + browser.append("path") + .attr("class", "d3-area") + .attr("d", function(d) { return area(d.values); }) + .style("fill", function(d) { return color(d.name); }); + + // Add text + browser.append("text") + .datum(function(d) { return {name: d.name, value: d.values[d.values.length - 1]}; }) + .attr("transform", function(d) { return "translate(" + x(d.value.date) + "," + y(d.value.y0 + d.value.y / 2) + ")"; }) + .attr("class", "d3-browsers") + .attr("x", -15) + .attr("dy", ".35em") + .style("fill", "#fff") + .style("text-anchor", "end") + .text(function(d) { return d.name; }); + + + // Append axes + // ------------------------------ + + // Horizontal + svg.append("g") + .attr("class", "d3-axis d3-axis-horizontal d3-axis-strong") + .attr("transform", "translate(0," + height + ")") + .call(xAxis); + + // Vertical + svg.append("g") + .attr("class", "d3-axis d3-axis-vertical d3-axis-strong") + .call(yAxis); + }); + + + + // Resize chart + // ------------------------------ + + // Call function on window resize + $(window).on('resize', resize); + + // Call function on sidebar width change + $('.sidebar-control').on('click', resize); + + // Resize function + // + // Since D3 doesn't support SVG resize by default, + // we need to manually specify parts of the graph that need to + // be updated on window resize + function resize() { + + // Layout variables + width = d3Container.node().getBoundingClientRect().width - margin.left - margin.right; + + + // Layout + // ------------------------- + + // Main svg width + container.attr("width", width + margin.left + margin.right); + + // Width of appended group + svg.attr("width", width + margin.left + margin.right); + + + // Axes + // ------------------------- + + // Horizontal range + x.range([0, width]); + + // Horizontal axis + svg.selectAll('.d3-axis-horizontal').call(xAxis); + + + // Chart elements + // ------------------------- + + // Line path + svg.selectAll('.d3-area').attr("d", function(d) { return area(d.values); }); + + // Text + svg.selectAll('.d3-browsers').attr("transform", function(d) { return "translate(" + x(d.value.date) + "," + y(d.value.y0 + d.value.y / 2) + ")"; }); + } + } +}); diff --git a/Show-Crypto-Currency-Price-in-Graph/amol/public/assets/js/charts/d3/lines/lines_basic_stacked_nest.js b/Show-Crypto-Currency-Price-in-Graph/amol/public/assets/js/charts/d3/lines/lines_basic_stacked_nest.js new file mode 100644 index 0000000..7c2f97f --- /dev/null +++ b/Show-Crypto-Currency-Price-in-Graph/amol/public/assets/js/charts/d3/lines/lines_basic_stacked_nest.js @@ -0,0 +1,214 @@ +/* ------------------------------------------------------------------------------ + * + * # D3.js - stacked nested area chart + * + * Demo d3.js stacked nested area chart setup with .tsv data source + * + * Version: 1.0 + * Latest update: August 1, 2015 + * + * ---------------------------------------------------------------------------- */ + +$(function () { + + // Initialize chart + areaNested('#d3-area-stacked-nest', 400); + + // Chart setup + function areaNested(element, height) { + + + // Basic setup + // ------------------------------ + + // Define main variables + var d3Container = d3.select(element), + margin = {top: 5, right: 20, bottom: 20, left: 40}, + n = 3, + width = d3Container.node().getBoundingClientRect().width - margin.left - margin.right, + height = height - margin.top - margin.bottom - 5; + + // Format data + var format = d3.time.format("%m/%d/%y"); + + + + // Construct scales + // ------------------------------ + + // Horizontal + var x = d3.time.scale() + .range([0, width]); + + // Vertical + var y = d3.scale.linear() + .range([height, 0]); + + // Colors + var z = d3.scale.linear() + .domain([0, n - 1]) + .range(["#4DB6AC", "#B2DFDB"]); + + + + // Create axes + // ------------------------------ + + // Horizontal + var xAxis = d3.svg.axis() + .scale(x) + .orient("bottom") + .ticks(d3.time.days); + + // Vertical + var yAxis = d3.svg.axis() + .scale(y) + .orient("left"); + + + + // Create chart + // ------------------------------ + + // Add SVG element + var container = d3.select(element).append("svg"); + + // Add SVG group + var svg = container + .attr("width", width + margin.left + margin.right) + .attr("height", height + margin.top + margin.bottom) + .append("g") + .attr("transform", "translate(" + margin.left + "," + margin.top + ")"); + + + + // Construct chart layout + // ------------------------------ + + // Stack + var stack = d3.layout.stack() + .offset("zero") + .values(function(d) { return d.values; }) + .x(function(d) { return d.date; }) + .y(function(d) { return d.value; }); + + // Nest + var nest = d3.nest() + .key(function(d) { return d.key; }); + + // Area + var area = d3.svg.area() + .interpolate("basis") + .x(function(d) { return x(d.date); }) + .y0(function(d) { return y(d.y0); }) + .y1(function(d) { return y(d.y0 + d.y); }); + + + + + // Load data + // ------------------------------ + + d3.csv("assets/demo_data/d3/lines/lines_stacked_nest.csv", function(error, data) { + + // Pull out values + data.forEach(function(d) { + d.date = format.parse(d.date); + d.value = +d.value; + }); + + // Pull out nested entries + var layers = stack(nest.entries(data)); + + + // Set input domains + // ------------------------------ + + // Horizontal + x.domain(d3.extent(data, function(d) { return d.date; })); + + // Vertical + y.domain([0, d3.max(data, function(d) { return d.y0 + d.y; })]); + + + // + // Append chart elements + // + + // Add area + svg.selectAll(".d3-area") + .data(layers) + .enter() + .append("path") + .attr("class", "d3-area") + .attr("d", function(d) { return area(d.values); }) + .style("stroke", "#fff") + .style("stroke-width", 0.5) + .style("fill", function(d, i) { return z(i); }); + + + // Append axes + // ------------------------------ + + // Horizontal + svg.append("g") + .attr("class", "d3-axis d3-axis-horizontal d3-axis-strong") + .attr("transform", "translate(0," + height + ")") + .call(xAxis); + + // Vertical + svg.append("g") + .attr("class", "d3-axis d3-axis-vertical d3-axis-strong") + .call(yAxis); + }); + + + + // Resize chart + // ------------------------------ + + // Call function on window resize + $(window).on('resize', resize); + + // Call function on sidebar width change + $('.sidebar-control').on('click', resize); + + // Resize function + // + // Since D3 doesn't support SVG resize by default, + // we need to manually specify parts of the graph that need to + // be updated on window resize + function resize() { + + // Layout variables + width = d3Container.node().getBoundingClientRect().width - margin.left - margin.right; + + + // Layout + // ------------------------- + + // Main svg width + container.attr("width", width + margin.left + margin.right); + + // Width of appended group + svg.attr("width", width + margin.left + margin.right); + + + // Axes + // ------------------------- + + // Horizontal range + x.range([0, width]); + + // Horizontal axis + svg.selectAll('.d3-axis-horizontal').call(xAxis); + + + // Chart elements + // ------------------------- + + // Line path + svg.selectAll('.d3-area').attr("d", function(d) { return area(d.values); }) + } + } +}); diff --git a/Show-Crypto-Currency-Price-in-Graph/amol/public/assets/js/charts/d3/other/bubbles.js b/Show-Crypto-Currency-Price-in-Graph/amol/public/assets/js/charts/d3/other/bubbles.js new file mode 100644 index 0000000..7364429 --- /dev/null +++ b/Show-Crypto-Currency-Price-in-Graph/amol/public/assets/js/charts/d3/other/bubbles.js @@ -0,0 +1,118 @@ +/* ------------------------------------------------------------------------------ + * + * # D3.js - bubble chart + * + * Demo of a bubble chart setup with tooltip and .json data source + * + * Version: 1.0 + * Latest update: August 1, 2015 + * + * ---------------------------------------------------------------------------- */ + +$(function () { + + // Initialize chart + bubbles('#d3-bubbles', 700); + + // Chart setup + function bubbles(element, diameter) { + + + // Basic setup + // ------------------------------ + + // Format data + var format = d3.format(",d"); + + // Color scale + color = d3.scale.category10(); + + + + // Create chart + // ------------------------------ + + var svg = d3.select(element).append("svg") + .attr("width", diameter) + .attr("height", diameter) + .attr("class", "bubble"); + + + + // Create chart + // ------------------------------ + + // Add tooltip + var tip = d3.tip() + .attr('class', 'd3-tip') + .offset([-5, 0]) + .html(function(d) { + return d.className + ": " + format(d.value);; + }); + + // Initialize tooltip + svg.call(tip); + + + + // Construct chart layout + // ------------------------------ + + // Pack + var bubble = d3.layout.pack() + .sort(null) + .size([diameter, diameter]) + .padding(1.5); + + + + // Load data + // ------------------------------ + + d3.json("assets/demo_data/d3/other/bubble.json", function(error, root) { + + + // + // Append chart elements + // + + // Bind data + var node = svg.selectAll(".d3-bubbles-node") + .data(bubble.nodes(classes(root)) + .filter(function(d) { return !d.children; })) + .enter() + .append("g") + .attr("class", "d3-bubbles-node") + .attr("transform", function(d) { return "translate(" + d.x + "," + d.y + ")"; }); + + // Append circles + node.append("circle") + .attr("r", function(d) { return d.r; }) + .style("fill", function(d) { return color(d.packageName); }) + .on('mouseover', tip.show) + .on('mouseout', tip.hide); + + // Append text + node.append("text") + .attr("dy", ".3em") + .style("fill", "#fff") + .style("font-size", 12) + .style("text-anchor", "middle") + .text(function(d) { return d.className.substring(0, d.r / 3); }); + }); + + + // Returns a flattened hierarchy containing all leaf nodes under the root. + function classes(root) { + var classes = []; + + function recurse(name, node) { + if (node.children) node.children.forEach(function(child) { recurse(node.name, child); }); + else classes.push({packageName: name, className: node.name, value: node.size}); + } + + recurse(null, root); + return {children: classes}; + } + } +}); \ No newline at end of file diff --git a/Show-Crypto-Currency-Price-in-Graph/amol/public/assets/js/charts/d3/other/streamgraph.js b/Show-Crypto-Currency-Price-in-Graph/amol/public/assets/js/charts/d3/other/streamgraph.js new file mode 100644 index 0000000..766bed4 --- /dev/null +++ b/Show-Crypto-Currency-Price-in-Graph/amol/public/assets/js/charts/d3/other/streamgraph.js @@ -0,0 +1,451 @@ +/* ------------------------------------------------------------------------------ + * + * # D3.js - streamgraph + * + * Demo of streamgraph chart setup with tooltip and .csv data source + * + * Version: 1.0 + * Latest update: August 1, 2015 + * + * ---------------------------------------------------------------------------- */ + +$(function () { + + streamgraph('#d3-streamgraph', 400); // initialize chart + + // Chart setup + function streamgraph(element, height) { + + + // Basic setup + // ------------------------------ + + // Define main variables + var d3Container = d3.select(element), + margin = {top: 5, right: 50, bottom: 40, left: 50}, + width = d3Container.node().getBoundingClientRect().width - margin.left - margin.right, + height = height - margin.top - margin.bottom, + tooltipOffset = 30; + + // Tooltip + var tooltip = d3Container + .append("div") + .attr("class", "d3-tip e") + .style("display", "none") + + // Format date + var format = d3.time.format("%m/%d/%y %H:%M"); + var formatDate = d3.time.format("%H:%M"); + + // Colors + var colorrange = ['#03A9F4', '#29B6F6', '#4FC3F7', '#81D4FA', '#B3E5FC', '#E1F5FE']; + + + + // Construct scales + // ------------------------------ + + // Horizontal + var x = d3.time.scale().range([0, width]); + + // Vertical + var y = d3.scale.linear().range([height, 0]); + + // Colors + var z = d3.scale.ordinal().range(colorrange); + + + + // Create axes + // ------------------------------ + + // Horizontal + var xAxis = d3.svg.axis() + .scale(x) + .orient("bottom") + .ticks(d3.time.hours, 4) + .innerTickSize(4) + .tickPadding(8) + .tickFormat(d3.time.format("%H:%M")); // Display hours and minutes in 24h format + + // Left vertical + var yAxis = d3.svg.axis() + .scale(y) + .ticks(6) + .innerTickSize(4) + .outerTickSize(0) + .tickPadding(8) + .tickFormat(function (d) { return (d/1000) + "k"; }); + + // Right vertical + var yAxis2 = yAxis; + + // Dash lines + var gridAxis = d3.svg.axis() + .scale(y) + .orient("left") + .ticks(6) + .tickPadding(8) + .tickFormat("") + .tickSize(-width, 0, 0); + + + + // Create chart + // ------------------------------ + + // Container + var container = d3Container.append("svg") + + // SVG element + var svg = container + .attr('width', width + margin.left + margin.right) + .attr("height", height + margin.top + margin.bottom) + .append("g") + .attr("transform", "translate(" + margin.left + "," + margin.top + ")"); + + + + // Construct chart layout + // ------------------------------ + + // Stack + var stack = d3.layout.stack() + .offset("silhouette") + .values(function(d) { return d.values; }) + .x(function(d) { return d.date; }) + .y(function(d) { return d.value; }); + + // Nest + var nest = d3.nest() + .key(function(d) { return d.key; }); + + // Area + var area = d3.svg.area() + .interpolate("cardinal") + .x(function(d) { return x(d.date); }) + .y0(function(d) { return y(d.y0); }) + .y1(function(d) { return y(d.y0 + d.y); }); + + + + // Load data + // ------------------------------ + + d3.csv("assets/demo_data/dashboard/traffic_sources.csv", function (error, data) { + + // Pull out values + data.forEach(function (d) { + d.date = format.parse(d.date); + d.value = +d.value; + }); + + // Stack and nest layers + var layers = stack(nest.entries(data)); + + + + // Set input domains + // ------------------------------ + + // Horizontal + x.domain(d3.extent(data, function(d, i) { return d.date; })); + + // Vertical + y.domain([0, d3.max(data, function(d) { return d.y0 + d.y; })]); + + + + // Add grid + // ------------------------------ + + // Horizontal grid. Must be before the group + svg.append("g") + .attr("class", "d3-grid-dashed") + .call(gridAxis); + + + + // + // Append chart elements + // + + // Stream layers + // ------------------------------ + + // Create group + var group = svg.append('g') + .attr('class', 'streamgraph-layers-group'); + + // And append paths to this group + var layer = group.selectAll(".streamgraph-layer") + .data(layers) + .enter() + .append("path") + .attr("class", "streamgraph-layer") + .attr("d", function(d) { return area(d.values); }) + .style('stroke', '#fff') + .style('stroke-width', 0.5) + .style("fill", function(d, i) { return z(i); }); + + // Add transition + var layerTransition = layer + .style('opacity', 0) + .transition() + .duration(750) + .delay(function(d, i) { return i * 50; }) + .style('opacity', 1) + + + + // Append axes + // ------------------------------ + + // + // Left vertical + // + + svg.append("g") + .attr("class", "d3-axis d3-axis-left d3-axis-solid") + .call(yAxis.orient("left")); + + // Hide first tick + d3.select(svg.selectAll('.d3-axis-left .tick text')[0][0]) + .style("visibility", "hidden"); + + + // + // Right vertical + // + + svg.append("g") + .attr("class", "d3-axis d3-axis-right d3-axis-solid") + .attr("transform", "translate(" + width + ", 0)") + .call(yAxis2.orient("right")); + + // Hide first tick + d3.select(svg.selectAll('.d3-axis-right .tick text')[0][0]) + .style("visibility", "hidden"); + + + // + // Horizontal + // + + var xaxisg = svg.append("g") + .attr("class", "d3-axis d3-axis-horizontal d3-axis-solid") + .attr("transform", "translate(0," + height + ")") + .call(xAxis); + + // Add extra subticks for hidden hours + xaxisg.selectAll(".d3-axis-subticks") + .data(x.ticks(d3.time.hours), function(d) { return d; }) + .enter() + .append("line") + .attr("class", "d3-axis-subticks") + .attr("y1", 0) + .attr("y2", 4) + .attr("x1", x) + .attr("x2", x); + + + + // Add hover line and pointer + // ------------------------------ + + // Append group to the group of paths to prevent appearance outside chart area + var hoverLineGroup = group.append("g") + .attr("class", "hover-line"); + + // Add line + var hoverLine = hoverLineGroup + .append("line") + .attr("y1", 0) + .attr("y2", height) + .style('fill', 'none') + .style('stroke', '#fff') + .style('stroke-width', 1) + .style('pointer-events', 'none') + .style('shape-rendering', 'crispEdges') + .style("opacity", 0); + + // Add pointer + var hoverPointer = hoverLineGroup + .append("rect") + .attr("x", 2) + .attr("y", 2) + .attr("width", 6) + .attr("height", 6) + .style('fill', '#03A9F4') + .style('stroke', '#fff') + .style('stroke-width', 1) + .style('shape-rendering', 'crispEdges') + .style('pointer-events', 'none') + .style("opacity", 0); + + + + // Append events to the layers group + // ------------------------------ + + layerTransition.each("end", function() { + layer + .on("mouseover", function (d, i) { + svg.selectAll(".streamgraph-layer") + .transition() + .duration(250) + .style("opacity", function (d, j) { + return j != i ? 0.75 : 1; // Mute all except hovered + }); + }) + + .on("mousemove", function (d, i) { + mouse = d3.mouse(this); + mousex = mouse[0]; + mousey = mouse[1]; + datearray = []; + var invertedx = x.invert(mousex); + invertedx = invertedx.getHours(); + var selected = (d.values); + for (var k = 0; k < selected.length; k++) { + datearray[k] = selected[k].date + datearray[k] = datearray[k].getHours(); + } + mousedate = datearray.indexOf(invertedx); + pro = d.values[mousedate].value; + + + // Display mouse pointer + hoverPointer + .attr("x", mousex - 3) + .attr("y", mousey - 6) + .style("opacity", 1); + + hoverLine + .attr("x1", mousex) + .attr("x2", mousex) + .style("opacity", 1); + + // + // Tooltip + // + + // Tooltip data + tooltip.html( + "" + + "" + "" + d.key + "" + "" + + "" + "Visits: " + "" + pro + "" + "" + + "" + "Time: " + "" + formatDate(d.values[mousedate].date) + "" + "" + + "" + ) + .style("display", "block"); + + // Tooltip arrow + tooltip.append('div').attr('class', 'd3-tip-arrow'); + }) + + .on("mouseout", function (d, i) { + + // Revert full opacity to all paths + svg.selectAll(".streamgraph-layer") + .transition() + .duration(250) + .style("opacity", 1); + + // Hide cursor pointer + hoverPointer.style("opacity", 0); + + // Hide tooltip + tooltip.style("display", "none"); + + hoverLine.style("opacity", 0); + }); + }); + + + + // Append events to the chart container + // ------------------------------ + + d3Container + .on("mousemove", function (d, i) { + mouse = d3.mouse(this); + mousex = mouse[0]; + mousey = mouse[1]; + + // Display hover line + //.style("opacity", 1); + + + // Move tooltip vertically + tooltip.style("top", (mousey - ($('.d3-tip').outerHeight() / 2)) - 2 + "px") // Half tooltip height - half arrow width + + // Move tooltip horizontally + if(mousex >= ($(element).outerWidth() - $('.d3-tip').outerWidth() - margin.right - (tooltipOffset * 2))) { + tooltip + .style("left", (mousex - $('.d3-tip').outerWidth() - tooltipOffset) + "px") // Change tooltip direction from right to left to keep it inside graph area + .attr("class", "d3-tip w"); + } + else { + tooltip + .style("left", (mousex + tooltipOffset) + "px" ) + .attr("class", "d3-tip e"); + } + }); + }); + + + + // Resize chart + // ------------------------------ + + // Call function on window resize + $(window).on('resize', resizeStream); + + // Call function on sidebar width change + $('.sidebar-control').on('click', resizeStream); + + // Resize function + // + // Since D3 doesn't support SVG resize by default, + // we need to manually specify parts of the graph that need to + // be updated on window resize + function resizeStream() { + + // Layout + // ------------------------- + + // Define width + width = d3Container.node().getBoundingClientRect().width - margin.left - margin.right; + + // Main svg width + container.attr("width", width + margin.left + margin.right); + + // Width of appended group + svg.attr("width", width + margin.left + margin.right); + + // Horizontal range + x.range([0, width]); + + + // Chart elements + // ------------------------- + + // Horizontal axis + svg.selectAll('.d3-axis-horizontal').call(xAxis); + + // Horizontal axis subticks + svg.selectAll('.d3-axis-subticks').attr("x1", x).attr("x2", x); + + // Grid lines width + svg.selectAll(".d3-grid-dashed").call(gridAxis.tickSize(-width, 0, 0)) + + // Right vertical axis + svg.selectAll(".d3-axis-right").attr("transform", "translate(" + width + ", 0)"); + + // Area paths + svg.selectAll('.streamgraph-layer').attr("d", function(d) { return area(d.values); }); + } + } + +}); \ No newline at end of file diff --git a/Show-Crypto-Currency-Price-in-Graph/amol/public/assets/js/charts/d3/other/treemap.js b/Show-Crypto-Currency-Price-in-Graph/amol/public/assets/js/charts/d3/other/treemap.js new file mode 100644 index 0000000..d6d490d --- /dev/null +++ b/Show-Crypto-Currency-Price-in-Graph/amol/public/assets/js/charts/d3/other/treemap.js @@ -0,0 +1,212 @@ +/* ------------------------------------------------------------------------------ + * + * # D3.js - zoomable treemap + * + * Demo of treemap setup with zoom and .json data source + * + * Version: 1.0 + * Latest update: August 1, 2015 + * + * ---------------------------------------------------------------------------- */ + +$(function () { + + // Create Uniform checkbox + $(".treemap_actions").uniform({ + radioClass: 'choice' + }); + + + // Initialize chart + treemap('#d3-treemap', 800); + + // Chart setup + function treemap(element, height) { + + + // Basic setup + // ------------------------------ + + // Define main variables + var d3Container = d3.select(element), + width = d3Container.node().getBoundingClientRect().width, + root, + node; + + + + // Construct scales + // ------------------------------ + + // Horizontal + var x = d3.scale.linear() + .range([0, width]); + + // Vertical + var y = d3.scale.linear().range([0, height]); + + // Colors + var color = d3.scale.category20(); + + + + // Create chart + // ------------------------------ + + // Add SVG element + var container = d3Container.append("svg"); + + // Add SVG group + var svg = container + .attr("width", width) + .attr("height", height) + .append("g") + .attr("transform", "translate(.5,.5)") + .style("font-size", 12) + .style("overflow", "hidden") + .style("text-indent", 2); + + + + // Construct chart layout + // ------------------------------ + + // Treemap + var treemap = d3.layout.treemap() + .round(false) + .size([width, height]) + .sticky(true) + .value(function(d) { return d.size; }); + + + + // Load data + // ------------------------------ + + d3.json("assets/demo_data/d3/other/treemap.json", function(data) { + node = root = data; + var nodes = treemap.nodes(root) + .filter(function(d) { return !d.children; }); + + + // Add cells + // ------------------------------ + + // Bind data + var cell = svg.selectAll(".d3-treemap-cell") + .data(nodes) + .enter() + .append("g") + .attr("class", "d3-treemap-cell") + .attr("transform", function(d) { return "translate(" + d.x + "," + d.y + ")"; }) + .style("cursor", "pointer") + .on("click", function(d) { return zoom(node == d.parent ? root : d.parent); }); + + // Append cell rects + cell.append("rect") + .attr("width", function(d) { return d.dx - 1; }) + .attr("height", function(d) { return d.dy - 1; }) + .style("fill", function(d, i) { return color(i); }); + + // Append text + cell.append("text") + .attr("x", function(d) { return d.dx / 2; }) + .attr("y", function(d) { return d.dy / 2; }) + .attr("dy", ".35em") + .attr("text-anchor", "middle") + .text(function(d) { return d.name; }) + .style("fill", "#fff") + .style("opacity", function(d) { d.width = this.getComputedTextLength(); return d.dx > d.width ? 1 : 0; }); + }); + + + // Change data + // ------------------------------ + + d3.selectAll(".treemap_actions").on("change", change); + + // Change data function + function change() { + treemap.value(this.value == "size" ? size : count).nodes(root); + zoom(node); + } + + // Size + function size(d) { + return d.size; + } + + // Count + function count(d) { + return 1; + } + + // Zoom + function zoom(d) { + var kx = width / d.dx, ky = height / d.dy; + x.domain([d.x, d.x + d.dx]); + y.domain([d.y, d.y + d.dy]); + + // Cell transition + var t = svg.selectAll(".d3-treemap-cell").transition() + .duration(500) + .attr("transform", function(d) { return "translate(" + x(d.x) + "," + y(d.y) + ")"; }); + + // Cell rect transition + t.select("rect") + .attr("width", function(d) { return kx * d.dx - 1; }) + .attr("height", function(d) { return ky * d.dy - 1; }) + + // Text transition + t.select("text") + .attr("x", function(d) { return kx * d.dx / 2; }) + .attr("y", function(d) { return ky * d.dy / 2; }) + .style("opacity", function(d) { return kx * d.dx > d.width ? 1 : 0; }); + + node = d; + d3.event.stopPropagation(); + } + + // Add click event + d3.select(window).on("click", function() { zoom(root); }); + + + + // Resize chart + // ------------------------------ + + // Call function on window resize + d3.select(window).on('resize', resize); + + // Call function on sidebar width change + d3.select('.sidebar-control').on('click', resize); + + // Resize function + // + // Since D3 doesn't support SVG resize by default, + // we need to manually specify parts of the graph that need to + // be updated on window resize + function resize() { + + // Layout variables + width = d3Container.node().getBoundingClientRect().width; + + + // Layout + // ------------------------- + + // Main svg width + container.attr("width", width); + + // Width of appended group + svg.attr("width", width); + + + // Horizontal range + x.range([0, width]); + + // Redraw chart + zoom(root); + } + } +}); \ No newline at end of file diff --git a/Show-Crypto-Currency-Price-in-Graph/amol/public/assets/js/charts/d3/other/waterfall.js b/Show-Crypto-Currency-Price-in-Graph/amol/public/assets/js/charts/d3/other/waterfall.js new file mode 100644 index 0000000..869bde9 --- /dev/null +++ b/Show-Crypto-Currency-Price-in-Graph/amol/public/assets/js/charts/d3/other/waterfall.js @@ -0,0 +1,250 @@ +/* ------------------------------------------------------------------------------ + * + * # D3.js - waterfall chart + * + * Demo of waterfall chart setup with .csv data source and rotated axis labels + * + * Version: 1.0 + * Latest update: August 1, 2015 + * + * ---------------------------------------------------------------------------- */ + +$(function () { + + waterfall('#d3-waterfall', 400); // initialize chart + + // Chart setup + function waterfall(element, height) { + + + // Basic setup + // ------------------------------ + + // Define main variables + var d3Container = d3.select(element), + margin = {top: 5, right: 10, bottom: 100, left: 50}, + width = d3Container.node().getBoundingClientRect().width - margin.left - margin.right, + height = height - margin.top - margin.bottom, + padding = 0.3; + + // Format data + function dollarFormatter(n) { + n = Math.round(n); + var result = n; + if (Math.abs(n) > 1000) { + result = Math.round(n/1000) + 'K'; + } + return '$' + result; + } + + + + // Construct scales + // ------------------------------ + + // Horizontal + var x = d3.scale.ordinal() + .rangeRoundBands([0, width], padding); + + // Vertical + var y = d3.scale.linear() + .range([height, 0]); + + + + // Create axes + // ------------------------------ + + // Horizontal + var xAxis = d3.svg.axis() + .scale(x) + .orient("bottom"); + + // Vertical + var yAxis = d3.svg.axis() + .scale(y) + .orient("left") + .tickFormat(function(d) { return dollarFormatter(d); }); + + + + // Create chart + // ------------------------------ + + // Container + var container = d3Container.append("svg") + + // SVG element + var svg = container + .attr('width', width + margin.left + margin.right) + .attr("height", height + margin.top + margin.bottom) + .append("g") + .attr("transform", "translate(" + margin.left + "," + margin.top + ")"); + + + + // Load data + // ------------------------------ + + d3.csv("assets/demo_data/d3/other/waterfall.csv", function(error, data) { + + // Pull out values + data.forEach(function(d) { + d.value = +d.value; + }); + + // Transform data (i.e., finding cumulative values and total) for easier charting + var cumulative = 0; + for (var i = 0; i < data.length; i++) { + data[i].start = cumulative; + cumulative += data[i].value; + data[i].end = cumulative; + data[i].class = ( data[i].value >= 0 ) ? 'positive' : 'negative' + } + data.push({ + name: 'Total', + end: cumulative, + start: 0, + class: 'total' + }); + + + // Set input domains + // ------------------------------ + + // Horizontal + x.domain(data.map(function(d) { return d.name; })); + + // Vertical + y.domain([0, d3.max(data, function(d) { return d.end; })]); + + + + // + // Append chart elements + // + + // Append axes + // ------------------------------ + + // Horizontal + svg.append("g") + .attr("class", "d3-axis d3-axis-horizontal d3-axis-strong") + .attr("transform", "translate(0," + height + ")") + .call(xAxis) + .selectAll("text") + .style("text-anchor", "end") + .attr("dx", "-15px") + .attr("dy", "-6px") + .attr("transform", function(d) { + return "rotate(-90)" + }); + + // Vertical + svg.append("g") + .attr("class", "d3-axis d3-axis-vertical d3-axis-strong") + .call(yAxis); + + + // Append bars + // ------------------------------ + + // Bind data + var bar = svg.selectAll(".d3-waterfall-bar") + .data(data) + .enter() + .append("g") + .attr("class", function(d) { return "d3-waterfall-bar " + d.class }) + .attr("transform", function(d) { return "translate(" + x(d.name) + ",0)"; }); + + // Append bar rects + bar.append("rect") + .attr("y", function(d) { return y( Math.max(d.start, d.end) ); }) + .attr("height", function(d) { return Math.abs( y(d.start) - y(d.end) ); }) + .attr("width", x.rangeBand()); + + // Append text + bar.append("text") + .attr("x", x.rangeBand() / 2) + .attr("y", function(d) { return y(d.end) + 5; }) + .attr("dy", function(d) { return ((d.class=='negative') ? '-' : '') + "1.5em" }) + .style("fill", "#fff") + .style("text-anchor", "middle") + .text(function(d) { return dollarFormatter(d.end - d.start);}); + + // Apply colors + bar.filter(function(d) { return d.class == "positive" }).select('rect').style("fill", "#EF5350"); + bar.filter(function(d) { return d.class == "negative" }).select('rect').style("fill", "#66BB6A"); + bar.filter(function(d) { return d.class == "total" }).select('rect').style("fill", "#42A5F5"); + + // Add connector line + bar.filter(function(d) { return d.class != "total" }) + .append("line") + .attr("class", "d3-waterfall-connector") + .attr("x1", x.rangeBand() + 5 ) + .attr("y1", function(d) { return y(d.end) }) + .attr("x2", x.rangeBand() / ( 1 - padding) - 5) + .attr("y2", function(d) { return y(d.end) }) + .style("stroke", "#999") + .style("stroke-dasharray", 3); + }); + + + + // Resize chart + // ------------------------------ + + // Call function on window resize + $(window).on('resize', resize); + + // Call function on sidebar width change + $('.sidebar-control').on('click', resize); + + // Resize function + // + // Since D3 doesn't support SVG resize by default, + // we need to manually specify parts of the graph that need to + // be updated on window resize + function resize() { + + // Layout variables + width = d3Container.node().getBoundingClientRect().width - margin.left - margin.right; + + + // Layout + // ------------------------- + + // Main svg width + container.attr("width", width + margin.left + margin.right); + + // Width of appended group + svg.attr("width", width + margin.left + margin.right); + + + // Axes + // ------------------------- + + // Horizontal range + x.rangeRoundBands([0, width], padding); + + // Horizontal axis + svg.selectAll('.d3-axis-horizontal').call(xAxis).selectAll('text').style("text-anchor", "end").attr("dy", "-6px"); + + + // Chart elements + // ------------------------- + + // Bar group + svg.selectAll(".d3-waterfall-bar").attr("transform", function(d) { return "translate(" + x(d.name) + ",0)"; }); + + // Bar rect + svg.selectAll(".d3-waterfall-bar rect").attr("width", x.rangeBand()); + + // Bar text + svg.selectAll(".d3-waterfall-bar text").attr("x", x.rangeBand() / 2); + + // Connector line + svg.selectAll(".d3-waterfall-connector").attr("x1", x.rangeBand() + 5 ).attr("x2", x.rangeBand() / ( 1 - padding) - 5 ); + } + } +}); \ No newline at end of file diff --git a/Show-Crypto-Currency-Price-in-Graph/amol/public/assets/js/charts/d3/pies/donut_arc_tween.js b/Show-Crypto-Currency-Price-in-Graph/amol/public/assets/js/charts/d3/pies/donut_arc_tween.js new file mode 100644 index 0000000..cbaad58 --- /dev/null +++ b/Show-Crypto-Currency-Price-in-Graph/amol/public/assets/js/charts/d3/pies/donut_arc_tween.js @@ -0,0 +1,95 @@ +/* ------------------------------------------------------------------------------ + * + * # D3.js - arc tween animation + * + * Demo d3.js demonstration of arc tween animation + * + * Version: 1.0 + * Latest update: August 1, 2015 + * + * ---------------------------------------------------------------------------- */ + +$(function () { + + // Initialize chart + donutTweenAnimation('#d3-donut-arc-tween', 120); + + // Chart setup + function donutTweenAnimation(element, radius) { + + + // Basic setup + // ------------------------------ + + // Define main variables + var τ = 2 * Math.PI; + + + // Create chart + // ------------------------------ + + // Add SVG element + var container = d3.select(element).append("svg"); + + // Add SVG group + var svg = container + .attr("width", radius * 2) + .attr("height", radius * 2) + .append("g") + .attr("transform", "translate(" + radius + "," + radius + ")"); + + + // Construct chart layout + // ------------------------------ + + // Arc + var arc = d3.svg.arc() + .outerRadius(radius) + .innerRadius(radius / 1.4) + .startAngle(0); + + + // + // Append chart elements + // + + // Add the background arc, from 0 to 100% (τ). + var background = svg.append("path") + .datum({endAngle: τ}) + .style("fill", "#eee") + .attr("d", arc); + + // Add the foreground arc in orange, currently showing 12.7%. + var foreground = svg.append("path") + .datum({endAngle: .127 * τ}) + .style("fill", "#7986CB") + .attr("d", arc); + + // Start a transition to a new random angle + setInterval(function() { + foreground.transition() + .duration(750) + .call(arcTween, Math.random() * τ); + }, 1500); + + // Creates a tween on the specified transition's "d" attribute, transitioning + // any selected arcs from their current angle to the specified new angle. + function arcTween(transition, newAngle) { + transition.attrTween("d", function(d) { + + // Interpolate between the two angles + var interpolate = d3.interpolate(d.endAngle, newAngle); + + // Return value of the attrTween + return function(t) { + + // Calculate the current arc angle based on the transition time, t + d.endAngle = interpolate(t); + + // Lastly, compute the arc path given the updated data + return arc(d); + }; + }); + } + } +}); diff --git a/Show-Crypto-Currency-Price-in-Graph/amol/public/assets/js/charts/d3/pies/donut_basic.js b/Show-Crypto-Currency-Price-in-Graph/amol/public/assets/js/charts/d3/pies/donut_basic.js new file mode 100644 index 0000000..7d6cf41 --- /dev/null +++ b/Show-Crypto-Currency-Price-in-Graph/amol/public/assets/js/charts/d3/pies/donut_basic.js @@ -0,0 +1,94 @@ +/* ------------------------------------------------------------------------------ + * + * # D3.js - basic donut chart + * + * Demo d3.js donut chart setup with .csv data source + * + * Version: 1.0 + * Latest update: August 1, 2015 + * + * ---------------------------------------------------------------------------- */ + +$(function () { + + // Initialize chart + donutBasic('#d3-donut-basic', 120); + + // Chart setup + function donutBasic(element, radius) { + + + // Basic setup + // ------------------------------ + + // Colors + var color = d3.scale.category20(); + + + // Create chart + // ------------------------------ + + // Add SVG element + var container = d3.select(element).append("svg"); + + // Add SVG group + var svg = container + .attr("width", radius * 2) + .attr("height", radius * 2) + .append("g") + .attr("transform", "translate(" + radius + "," + radius + ")"); + + + // Construct chart layout + // ------------------------------ + + // Arc + var arc = d3.svg.arc() + .outerRadius(radius) + .innerRadius(radius / 1.75); + + // Pie + var pie = d3.layout.pie() + .sort(null) + .value(function(d) { return d.population; }); + + + // Load data + // ------------------------------ + + d3.csv("assets/demo_data/d3/pies/pies_basic.csv", function(error, data) { + + // Pull out values + data.forEach(function(d) { + d.population = +d.population; + }); + + + // + // Append chart elements + // + + // Bind data + var g = svg.selectAll(".d3-arc") + .data(pie(data)) + .enter() + .append("g") + .attr("class", "d3-arc"); + + // Add arc path + g.append("path") + .attr("d", arc) + .style("stroke", "#fff") + .style("fill", function(d) { return color(d.data.age); }); + + // Add text labels + g.append("text") + .attr("transform", function(d) { return "translate(" + arc.centroid(d) + ")"; }) + .attr("dy", ".35em") + .style("fill", "#fff") + .style("font-size", 12) + .style("text-anchor", "middle") + .text(function(d) { return d.data.age; }); + }); + } +}); diff --git a/Show-Crypto-Currency-Price-in-Graph/amol/public/assets/js/charts/d3/pies/donut_entry_animation.js b/Show-Crypto-Currency-Price-in-Graph/amol/public/assets/js/charts/d3/pies/donut_entry_animation.js new file mode 100644 index 0000000..6dbd4cb --- /dev/null +++ b/Show-Crypto-Currency-Price-in-Graph/amol/public/assets/js/charts/d3/pies/donut_entry_animation.js @@ -0,0 +1,145 @@ +/* ------------------------------------------------------------------------------ + * + * # D3.js - donut chart entry animation + * + * Demo d3.js donut chart setup with .csv data source and loading animation + * + * Version: 1.0 + * Latest update: August 1, 2015 + * + * ---------------------------------------------------------------------------- */ + +$(function () { + + // Initialize chart + donutEntryAnimation('#d3-donut-entry-animation', 120); + + // Chart setup + function donutEntryAnimation(element, radius) { + + + // Basic setup + // ------------------------------ + + // Colors + var color = d3.scale.category20(); + + + // Create chart + // ------------------------------ + + // Add SVG element + var container = d3.select(element).append("svg"); + + // Add SVG group + var svg = container + .attr("width", radius * 2) + .attr("height", radius * 2) + .append("g") + .attr("transform", "translate(" + radius + "," + radius + ")"); + + + // Construct chart layout + // ------------------------------ + + // Arc + var arc = d3.svg.arc() + .outerRadius(radius) + .innerRadius(radius / 1.75); + + // Pie + var pie = d3.layout.pie() + .sort(null) + .value(function(d) { return d.population; }); + + + // Load data + // ------------------------------ + + d3.csv("assets/demo_data/d3/pies/pies_basic.csv", function(error, data) { + + // Pull out values + data.forEach(function(d) { + d.population = +d.population; + }); + + + // + // Append chart elements + // + + // Bind data + var g = svg.selectAll(".d3-arc") + .data(pie(data)) + .enter() + .append("g") + .attr("class", "d3-arc"); + + // Add arc path + g.append("path") + .attr("d", arc) + .style("stroke", "#fff") + .style("fill", function(d) { return color(d.data.age); }) + .transition() + .ease("linear") + .duration(1000) + .attrTween("d", tweenPie); + + // Add text labels + g.append("text") + .attr("transform", function(d) { return "translate(" + arc.centroid(d) + ")"; }) + .attr("dy", ".35em") + .style("opacity", 0) + .style("fill", "#fff") + .style("text-anchor", "middle") + .text(function(d) { return d.data.age; }) + .transition() + .ease("linear") + .delay(1000) + .duration(500) + .style("opacity", 1); + + + // Tween + function tweenPie(b) { + b.innerRadius = 0; + var i = d3.interpolate({startAngle: 0, endAngle: 0}, b); + return function(t) { return arc(i(t)); }; + } + + + // Animate donut + // ------------------------------ + + $('.donut-animation').on('click', function (b) { + + // Remove old paths + svg.selectAll("path").remove(); + + // Arc path + g.append("path") + .attr("d", arc) + .style("stroke", "#fff") + .style("fill", function(d) { return color(d.data.age); }) + .transition() + .ease("linear") + .duration(1000) + .attrTween("d", tweenPie); + + // Text labels + g.append("text") + .attr("transform", function(d) { return "translate(" + arc.centroid(d) + ")"; }) + .style("opacity", 0) + .style("fill", "#fff") + .attr("dy", ".35em") + .style("text-anchor", "middle") + .text(function(d) { return d.data.age; }) + .transition() + .ease("linear") + .delay(1000) + .duration(500) + .style("opacity", 1); + }); + }); + } +}); diff --git a/Show-Crypto-Currency-Price-in-Graph/amol/public/assets/js/charts/d3/pies/donut_multiple.js b/Show-Crypto-Currency-Price-in-Graph/amol/public/assets/js/charts/d3/pies/donut_multiple.js new file mode 100644 index 0000000..c2e02be --- /dev/null +++ b/Show-Crypto-Currency-Price-in-Graph/amol/public/assets/js/charts/d3/pies/donut_multiple.js @@ -0,0 +1,74 @@ +/* ------------------------------------------------------------------------------ + * + * # D3.js - multiple donut charts + * + * Demo d3.js multiple donut charts setup + * + * Version: 1.0 + * Latest update: August 1, 2015 + * + * ---------------------------------------------------------------------------- */ + +$(function () { + + // Initialize chart + donutMultiple('#d3-donut-multiple', 110, 10); + + // Chart setup + function donutMultiple(element, radius, margin) { + + + // Basic setup + // ------------------------------ + + // Define the data as a two-dimensional array of numbers + var data = [ + [11975, 5871, 8916, 2868], + [ 1951, 10048, 2060, 6171], + [ 8010, 16145, 8090, 8045], + [ 1013, 990, 940, 6907] + ]; + + // Colors + var colors = d3.scale.category10(); + + + // Create chart + // ------------------------------ + + // Insert an svg element (with margin) for each row in our dataset + var svg = d3.select(element) + .selectAll("svg") + .data(data) + .enter() + .append("svg") + .attr("width", (radius + margin) * 2) + .attr("height", (radius + margin) * 2) + .append("g") + .attr("class", "d3-arc") + .attr("transform", "translate(" + (radius + margin) + "," + (radius + margin) + ")"); + + + // Construct chart layout + // ------------------------------ + + // Arc + var arc = d3.svg.arc() + .innerRadius(radius / 1.75) + .outerRadius(radius); + + + // + // Append chart elements + // + + // The data for each svg element is a row of numbers (an array) + svg.selectAll("path") + .data(d3.layout.pie()) + .enter() + .append("path") + .attr("d", arc) + .style("stroke", "#fff") + .style("fill", function(d, i) { return colors(i); }); + } +}); diff --git a/Show-Crypto-Currency-Price-in-Graph/amol/public/assets/js/charts/d3/pies/donut_multiple_nesting.js b/Show-Crypto-Currency-Price-in-Graph/amol/public/assets/js/charts/d3/pies/donut_multiple_nesting.js new file mode 100644 index 0000000..b836ae9 --- /dev/null +++ b/Show-Crypto-Currency-Price-in-Graph/amol/public/assets/js/charts/d3/pies/donut_multiple_nesting.js @@ -0,0 +1,115 @@ +/* ------------------------------------------------------------------------------ + * + * # D3.js - multiple nested donut charts + * + * Demo d3.js multiple donut charts setup with nesting + * + * Version: 1.0 + * Latest update: August 1, 2015 + * + * ---------------------------------------------------------------------------- */ + +$(function () { + + // Initialize chart + donutMultipleNested('#d3-donut-nesting', 110, 10); + + // Chart setup + function donutMultipleNested(element, radius, margin) { + + + // Basic setup + // ------------------------------ + + // Colors + var colors = d3.scale.category20c(); + + + // Load data + // ------------------------------ + + d3.csv("assets/demo_data/d3/pies/pies_nesting.csv", function(flights) { + + // Nest the flight data by originating airport + var airports = d3.nest() + .key(function(d) { return d.origin; }) + .entries(flights); + + + // Create chart + // ------------------------------ + + // Insert an svg element (with margin) for each row in our dataset + var svg = d3.select(element) + .selectAll("svg") + .data(airports) + .enter() + .append("svg") + .attr("width", (radius + margin) * 2) + .attr("height", (radius + margin) * 2) + .append("g") + .attr("transform", "translate(" + (radius + margin) + "," + (radius + margin) + ")"); + + + // Construct chart layout + // ------------------------------ + + // Arc + var arc = d3.svg.arc() + .innerRadius(radius / 2) + .outerRadius(radius); + + // Pie + var pie = d3.layout.pie() + .value(function(d) { return +d.count; }) + .sort(function(a, b) { return b.count - a.count; }); + + + + // + // Append chart elements + // + + // Add a label for the airport + svg.append("text") + .attr("dy", ".35em") + .style("text-anchor", "middle") + .style("font-weight", 500) + .text(function(d) { return d.key; }); + + + // Pass the nested values to the pie layout + var g = svg.selectAll("g") + .data(function(d) { return pie(d.values); }) + .enter() + .append("g") + .attr("class", "d3-arc"); + + + // Add a colored arc path, with a mouseover title showing the count + g.append("path") + .attr("d", arc) + .style("stroke", "#fff") + .style("fill", function(d) { return colors(d.data.carrier); }) + .append("title") + .text(function(d) { return d.data.carrier + ": " + d.data.count; }); + + + // Add a label to the larger arcs, translated to the arc centroid and rotated. + g.filter(function(d) { return d.endAngle - d.startAngle > .2; }).append("text") + .attr("dy", ".35em") + .attr("transform", function(d) { return "translate(" + arc.centroid(d) + ")rotate(" + angle(d) + ")"; }) + .style("fill", "#fff") + .style("font-size", 12) + .style("text-anchor", "middle") + .text(function(d) { return d.data.carrier; }); + + + // Computes the label angle of an arc, converting from radians to degrees. + function angle(d) { + var a = (d.startAngle + d.endAngle) * 90 / Math.PI - 90; + return a > 90 ? a - 180 : a; + } + }); + } +}); diff --git a/Show-Crypto-Currency-Price-in-Graph/amol/public/assets/js/charts/d3/pies/donut_update.js b/Show-Crypto-Currency-Price-in-Graph/amol/public/assets/js/charts/d3/pies/donut_update.js new file mode 100644 index 0000000..77cfa97 --- /dev/null +++ b/Show-Crypto-Currency-Price-in-Graph/amol/public/assets/js/charts/d3/pies/donut_update.js @@ -0,0 +1,120 @@ +/* ------------------------------------------------------------------------------ + * + * # D3.js - donut chart update animation + * + * Demo d3.js donut chart setup with .tsv data source and update animation + * + * Version: 1.0 + * Latest update: August 1, 2015 + * + * ---------------------------------------------------------------------------- */ + +$(function () { + + // Create Uniform checkbox + $(".donut-radios input").uniform({ + radioClass: 'choice' + }); + + + // Initialize chart + pieUpdateAnimation('#d3-donut-update', 120); + + // Chart setup + function pieUpdateAnimation(element, radius) { + + + // Basic setup + // ------------------------------ + + // Colors + var color = d3.scale.category20(); + + + // Create chart + // ------------------------------ + + // Add SVG element + var container = d3.select(element).append("svg"); + + // Add SVG group + var svg = container + .attr("width", radius * 2) + .attr("height", radius * 2) + .append("g") + .attr("transform", "translate(" + radius + "," + radius + ")"); + + + // Construct chart layout + // ------------------------------ + + // Arc + var arc = d3.svg.arc() + .outerRadius(radius) + .innerRadius(radius / 1.75); + + + // Pie + var pie = d3.layout.pie() + .value(function(d) { return d.lemons; }) + .sort(null); + + + // Load data + // ------------------------------ + + d3.tsv("assets/demo_data/d3/pies/donuts_update.tsv", function(error, data) { + + // Pull out values + data.forEach(function(d) { + d.lemons = +d.lemons || 0; + d.melons = +d.melons || 0; + }); + + + // + // Append chart elements + // + + // Bind data + var path = svg.datum(data).selectAll("path") + .data(pie) + .enter() + .append("path") + .attr("fill", function(d, i) { return color(i); }) + .attr("d", arc) + .style("stroke", "#fff") + .each(function(d) { this._current = d; }); // store the initial angles + + // Apply change event + d3.selectAll(".donut-radios input").on("change", change); + + // Change values on page load + var timeout = setTimeout(function() { + d3.select("input[value=\"melons\"]").property("checked", true).each(change); + $.uniform.update(); + }, 2000); + + // Change values + function change() { + var value = this.value; + clearTimeout(timeout); + pie.value(function(d) { return d[value]; }); // change the value function + path = path.data(pie); // compute the new angles + path.transition().duration(750).attrTween("d", arcTween); // redraw the arcs + } + }); + + + // Store the displayed angles in _current. + // Then, interpolate from _current to the new angles. + // During the transition, _current is updated in-place by d3.interpolate. + function arcTween(a) { + var i = d3.interpolate(this._current, a); + this._current = i(0); + return function(t) { + return arc(i(t)); + }; + } + } +}); diff --git a/Show-Crypto-Currency-Price-in-Graph/amol/public/assets/js/charts/d3/pies/pie_arc_tween.js b/Show-Crypto-Currency-Price-in-Graph/amol/public/assets/js/charts/d3/pies/pie_arc_tween.js new file mode 100644 index 0000000..8ca69ee --- /dev/null +++ b/Show-Crypto-Currency-Price-in-Graph/amol/public/assets/js/charts/d3/pies/pie_arc_tween.js @@ -0,0 +1,95 @@ +/* ------------------------------------------------------------------------------ + * + * # D3.js - arc tween animation + * + * Demo d3.js demonstration of arc tween animation + * + * Version: 1.0 + * Latest update: August 1, 2015 + * + * ---------------------------------------------------------------------------- */ + +$(function () { + + // Initialize chart + pieTweenAnimation('#d3-pie-arc-tween', 120); + + // Chart setup + function pieTweenAnimation(element, radius) { + + + // Basic setup + // ------------------------------ + + // Define main variables + var τ = 2 * Math.PI; + + + // Create chart + // ------------------------------ + + // Add SVG element + var container = d3.select(element).append("svg"); + + // Add SVG group + var svg = container + .attr("width", radius * 2) + .attr("height", radius * 2) + .append("g") + .attr("transform", "translate(" + radius + "," + radius + ")"); + + + // Construct chart layout + // ------------------------------ + + // Arc + var arc = d3.svg.arc() + .outerRadius(radius) + .innerRadius(0) + .startAngle(0); + + + // + // Append chart elements + // + + // Add the background arc, from 0 to 100% (τ). + var background = svg.append("path") + .datum({endAngle: τ}) + .style("fill", "#f5f5f5") + .attr("d", arc); + + // Add the foreground arc in orange, currently showing 12.7%. + var foreground = svg.append("path") + .datum({endAngle: .127 * τ}) + .style("fill", "#81C784") + .attr("d", arc); + + // Start a transition to a new random angle + setInterval(function() { + foreground.transition() + .duration(750) + .call(arcTween, Math.random() * τ); + }, 1500); + + // Creates a tween on the specified transition's "d" attribute, transitioning + // any selected arcs from their current angle to the specified new angle. + function arcTween(transition, newAngle) { + transition.attrTween("d", function(d) { + + // Interpolate between the two angles + var interpolate = d3.interpolate(d.endAngle, newAngle); + + // Return value of the attrTween + return function(t) { + + // Calculate the current arc angle based on the transition time, t + d.endAngle = interpolate(t); + + // Lastly, compute the arc path given the updated data + return arc(d); + }; + }); + } + } +}); diff --git a/Show-Crypto-Currency-Price-in-Graph/amol/public/assets/js/charts/d3/pies/pie_basic.js b/Show-Crypto-Currency-Price-in-Graph/amol/public/assets/js/charts/d3/pies/pie_basic.js new file mode 100644 index 0000000..11bfe95 --- /dev/null +++ b/Show-Crypto-Currency-Price-in-Graph/amol/public/assets/js/charts/d3/pies/pie_basic.js @@ -0,0 +1,94 @@ +/* ------------------------------------------------------------------------------ + * + * # D3.js - basic pie chart + * + * Demo d3.js pie chart setup with .csv data source + * + * Version: 1.0 + * Latest update: August 1, 2015 + * + * ---------------------------------------------------------------------------- */ + +$(function () { + + // Initialize chart + pieBasic('#d3-pie-basic', 120); + + // Chart setup + function pieBasic(element, radius) { + + + // Basic setup + // ------------------------------ + + // Colors + var color = d3.scale.category20(); + + + // Create chart + // ------------------------------ + + // Add SVG element + var container = d3.select(element).append("svg"); + + // Add SVG group + var svg = container + .attr("width", radius * 2) + .attr("height", radius * 2) + .append("g") + .attr("transform", "translate(" + radius + "," + radius + ")"); + + + // Construct chart layout + // ------------------------------ + + // Arc + var arc = d3.svg.arc() + .outerRadius(radius) + .innerRadius(0); + + // Pie + var pie = d3.layout.pie() + .sort(null) + .value(function(d) { return d.population; }); + + + // Load data + // ------------------------------ + + d3.csv("assets/demo_data/d3/pies/pies_basic.csv", function(error, data) { + + // Pull out values + data.forEach(function(d) { + d.population = +d.population; + }); + + + // + // Append chart elements + // + + // Bind data + var g = svg.selectAll(".d3-arc") + .data(pie(data)) + .enter() + .append("g") + .attr("class", "d3-arc"); + + // Add arc path + g.append("path") + .attr("d", arc) + .style("stroke", "#fff") + .style("fill", function(d) { return color(d.data.age); }); + + // Add text labels + g.append("text") + .attr("transform", function(d) { return "translate(" + arc.centroid(d) + ")"; }) + .attr("dy", ".35em") + .style("fill", "#fff") + .style("font-size", 12) + .style("text-anchor", "middle") + .text(function(d) { return d.data.age; }); + }); + } +}); diff --git a/Show-Crypto-Currency-Price-in-Graph/amol/public/assets/js/charts/d3/pies/pie_entry_animation.js b/Show-Crypto-Currency-Price-in-Graph/amol/public/assets/js/charts/d3/pies/pie_entry_animation.js new file mode 100644 index 0000000..f4322af --- /dev/null +++ b/Show-Crypto-Currency-Price-in-Graph/amol/public/assets/js/charts/d3/pies/pie_entry_animation.js @@ -0,0 +1,148 @@ +/* ------------------------------------------------------------------------------ + * + * # D3.js - pie chart entry animation + * + * Demo d3.js pie chart setup with .csv data source and loading animation + * + * Version: 1.0 + * Latest update: August 1, 2015 + * + * ---------------------------------------------------------------------------- */ + +$(function () { + + // Initialize chart + pieEntryAnimation('#d3-pie-entry-animation', 120); + + // Chart setup + function pieEntryAnimation(element, radius) { + + + // Basic setup + // ------------------------------ + + // Colors + var color = d3.scale.category20(); + + + // Create chart + // ------------------------------ + + // Add SVG element + var container = d3.select(element).append("svg"); + + // Add SVG group + var svg = container + .attr("width", radius * 2) + .attr("height", radius * 2) + .append("g") + .attr("transform", "translate(" + radius + "," + radius + ")"); + + + // Construct chart layout + // ------------------------------ + + // Arc + var arc = d3.svg.arc() + .outerRadius(radius) + .innerRadius(0); + + // Pie + var pie = d3.layout.pie() + .sort(null) + .value(function(d) { return d.population; }); + + + // Load data + // ------------------------------ + + d3.csv("assets/demo_data/d3/pies/pies_basic.csv", function(error, data) { + + // Pull out values + data.forEach(function(d) { + d.population = +d.population; + }); + + + // + // Append chart elements + // + + // Bind data + var g = svg.selectAll(".d3-arc") + .data(pie(data)) + .enter() + .append("g") + .attr("class", "d3-arc"); + + // Add arc path + g.append("path") + .attr("d", arc) + .style("stroke", "#fff") + .style("fill", function(d) { return color(d.data.age); }) + .transition() + .ease("bounce") + .duration(2000) + .attrTween("d", tweenPie); + + // Add text labels + g.append("text") + .attr("transform", function(d) { return "translate(" + arc.centroid(d) + ")"; }) + .attr("dy", ".35em") + .style("opacity", 0) + .style("fill", "#fff") + .style("font-size", 12) + .style("text-anchor", "middle") + .text(function(d) { return d.data.age; }) + .transition() + .ease("linear") + .delay(2000) + .duration(500) + .style("opacity", 1) + + + // Tween + function tweenPie(b) { + b.innerRadius = 0; + var i = d3.interpolate({startAngle: 0, endAngle: 0}, b); + return function(t) { return arc(i(t)); + }; + } + + + // Animate pie + // ------------------------------ + + $('.pie-animation').on('click', function (b) { + + // Remove old paths + svg.selectAll("path").remove(); + + // Arc path + g.append("path") + .attr("d", arc) + .style("stroke", "#fff") + .style("fill", function(d) { return color(d.data.age); }) + .transition() + .ease("bounce") + .duration(2000) + .attrTween("d", tweenPie); + + // Text labels + g.append("text") + .attr("transform", function(d) { return "translate(" + arc.centroid(d) + ")"; }) + .attr("dy", ".35em") + .style("opacity", 0) + .style("fill", "#fff") + .style("font-size", 12) + .style("text-anchor", "middle") + .text(function(d) { return d.data.age; }) + .transition() + .ease("linear") + .delay(2000) + .duration(500) + .style("opacity", 1) + }); + }); + } +}); diff --git a/Show-Crypto-Currency-Price-in-Graph/amol/public/assets/js/charts/d3/pies/pie_multiple.js b/Show-Crypto-Currency-Price-in-Graph/amol/public/assets/js/charts/d3/pies/pie_multiple.js new file mode 100644 index 0000000..0d8862e --- /dev/null +++ b/Show-Crypto-Currency-Price-in-Graph/amol/public/assets/js/charts/d3/pies/pie_multiple.js @@ -0,0 +1,74 @@ +/* ------------------------------------------------------------------------------ + * + * # D3.js - multiple pie charts + * + * Demo d3.js multiple pie charts setup + * + * Version: 1.0 + * Latest update: August 1, 2015 + * + * ---------------------------------------------------------------------------- */ + +$(function () { + + // Initialize chart + pieMultiple('#d3-pie-multiple', 110, 10); + + // Chart setup + function pieMultiple(element, radius, margin) { + + + // Basic setup + // ------------------------------ + + // Define the data as a two-dimensional array of numbers + var data = [ + [11975, 5871, 8916, 2868], + [ 1951, 10048, 2060, 6171], + [ 8010, 16145, 8090, 8045], + [ 1013, 990, 940, 6907] + ]; + + // Colors + var colors = d3.scale.category10(); + + + // Create chart + // ------------------------------ + + // Insert an svg element (with margin) for each row in our dataset + var svg = d3.select(element) + .selectAll("svg") + .data(data) + .enter() + .append("svg") + .attr("width", (radius + margin) * 2) + .attr("height", (radius + margin) * 2) + .append("g") + .attr("class", "d3-arc") + .attr("transform", "translate(" + (radius + margin) + "," + (radius + margin) + ")"); + + + // Construct chart layout + // ------------------------------ + + // Arc + var arc = d3.svg.arc() + .innerRadius(0) + .outerRadius(radius); + + + // + // Append chart elements + // + + // The data for each svg element is a row of numbers (an array) + svg.selectAll("path") + .data(d3.layout.pie()) + .enter() + .append("path") + .attr("d", arc) + .style("stroke", "#fff") + .style("fill", function(d, i) { return colors(i); }); + } +}); diff --git a/Show-Crypto-Currency-Price-in-Graph/amol/public/assets/js/charts/d3/pies/pie_multiple_nesting.js b/Show-Crypto-Currency-Price-in-Graph/amol/public/assets/js/charts/d3/pies/pie_multiple_nesting.js new file mode 100644 index 0000000..8e89475 --- /dev/null +++ b/Show-Crypto-Currency-Price-in-Graph/amol/public/assets/js/charts/d3/pies/pie_multiple_nesting.js @@ -0,0 +1,118 @@ +/* ------------------------------------------------------------------------------ + * + * # D3.js - multiple nested pie charts + * + * Demo d3.js multiple pie charts setup with nesting + * + * Version: 1.0 + * Latest update: August 1, 2015 + * + * ---------------------------------------------------------------------------- */ + +$(function () { + + // Initialize chart + pieMultipleNested('#d3-pie-nesting', 110, 10); + + // Chart setup + function pieMultipleNested(element, radius, margin) { + + + // Basic setup + // ------------------------------ + + // Main variables + var marginTop = 20; + + // Colors + var colors = d3.scale.category20c(); + + + // Load data + // ------------------------------ + + d3.csv("assets/demo_data/d3/pies/pies_nesting.csv", function(flights) { + + // Nest the flight data by originating airport + var airports = d3.nest() + .key(function(d) { return d.origin; }) + .entries(flights); + + + // Create chart + // ------------------------------ + + // Insert an svg element (with margin) for each row in our dataset + var svg = d3.select(element) + .selectAll("svg") + .data(airports) + .enter() + .append("svg") + .attr("width", (radius + margin) * 2) + .attr("height", (radius + margin + marginTop) * 2) + .append("g") + .attr("transform", "translate(" + (radius + margin) + "," + (radius + margin + marginTop) + ")"); + + + + // Construct chart layout + // ------------------------------ + + // Arc + var arc = d3.svg.arc() + .innerRadius(0) + .outerRadius(radius); + + // Pie + var pie = d3.layout.pie() + .value(function(d) { return +d.count; }) + .sort(function(a, b) { return b.count - a.count; }); + + + // + // Append chart elements + // + + // Add a label for the airport + svg.append("text") + .attr("dy", ".35em") + .attr("y", -130) + .style("text-anchor", "middle") + .style("font-weight", 500) + .text(function(d) { return d.key; }); + + + // Pass the nested values to the pie layout + var g = svg.selectAll("g") + .data(function(d) { return pie(d.values); }) + .enter() + .append("g") + .attr("class", "d3-arc"); + + + // Add a colored arc path, with a mouseover title showing the count + g.append("path") + .attr("d", arc) + .style("stroke", "#fff") + .style("fill", function(d) { return colors(d.data.carrier); }) + .append("title") + .text(function(d) { return d.data.carrier + ": " + d.data.count; }); + + + // Add a label to the larger arcs, translated to the arc centroid and rotated + g.filter(function(d) { return d.endAngle - d.startAngle > .2; }).append("text") + .attr("dy", ".35em") + .attr("transform", function(d) { return "translate(" + arc.centroid(d) + ")rotate(" + angle(d) + ")"; }) + .style("fill", "#fff") + .style("font-size", 12) + .style("text-anchor", "middle") + .text(function(d) { return d.data.carrier; }); + + // Computes the label angle of an arc, converting from radians to degrees + function angle(d) { + var a = (d.startAngle + d.endAngle) * 90 / Math.PI - 90; + return a > 90 ? a - 180 : a; + } + }); + } +}); diff --git a/Show-Crypto-Currency-Price-in-Graph/amol/public/assets/js/charts/d3/pies/pie_update.js b/Show-Crypto-Currency-Price-in-Graph/amol/public/assets/js/charts/d3/pies/pie_update.js new file mode 100644 index 0000000..19d6837 --- /dev/null +++ b/Show-Crypto-Currency-Price-in-Graph/amol/public/assets/js/charts/d3/pies/pie_update.js @@ -0,0 +1,121 @@ +/* ------------------------------------------------------------------------------ + * + * # D3.js - pie chart update animation + * + * Demo d3.js pie chart setup with .tsv data source and update animation + * + * Version: 1.0 + * Latest update: August 1, 2015 + * + * ---------------------------------------------------------------------------- */ + +$(function () { + + // Create Uniform checkbox + $(".pie-radios input").uniform({ + radioClass: 'choice' + }); + + + // Initialize chart + pieUpdateAnimation('#d3-pie-update', 120); + + // Chart setup + function pieUpdateAnimation(element, radius) { + + + // Basic setup + // ------------------------------ + + // Colors + var color = d3.scale.category20(); + + + // Create chart + // ------------------------------ + + // Add SVG element + var container = d3.select(element).append("svg"); + + // Add SVG group + var svg = container + .attr("width", radius * 2) + .attr("height", radius * 2) + .append("g") + .attr("transform", "translate(" + radius + "," + radius + ")"); + + + // Construct chart layout + // ------------------------------ + + // Arc + var arc = d3.svg.arc() + .outerRadius(radius) + .innerRadius(0); + + // Pie + var pie = d3.layout.pie() + .value(function(d) { return d.apples; }) + .sort(null); + + + // Load data + // ------------------------------ + + d3.tsv("assets/demo_data/d3/pies/pies_update.tsv", function(error, data) { + + // Pull out values + data.forEach(function(d) { + d.apples = +d.apples || 0; + d.oranges = +d.oranges || 0; + }); + + + // + // Append chart elements + // + + // Bind data + var path = svg.datum(data) + .selectAll("path") + .data(pie) + .enter() + .append("path") + .attr("d", arc) + .style("stroke", "#fff") + .style("fill", function(d, i) { return color(i); }) + .each(function(d) { this._current = d; }); // store the initial angles + + + // Apply change event + d3.selectAll(".pie-radios input").on("change", change); + + // Change values on page load + var timeout = setTimeout(function() { + d3.select("input[value=\"oranges\"]").property("checked", true).each(change); + $.uniform.update(); + }, 2000); + + // Change values + function change() { + var value = this.value; + clearTimeout(timeout); + pie.value(function(d) { return d[value]; }); // change the value function + path = path.data(pie); // compute the new angles + path.transition().duration(750).attrTween("d", arcTween); // redraw the arcs + } + }); + + + // Store the displayed angles in _current. + // Then, interpolate from _current to the new angles. + // During the transition, _current is updated in-place by d3.interpolate. + function arcTween(a) { + var i = d3.interpolate(this._current, a); + this._current = i(0); + return function(t) { + return arc(i(t)); + }; + } + } +}); diff --git a/Show-Crypto-Currency-Price-in-Graph/amol/public/assets/js/charts/d3/sunburst/sunburst_basic.js b/Show-Crypto-Currency-Price-in-Graph/amol/public/assets/js/charts/d3/sunburst/sunburst_basic.js new file mode 100644 index 0000000..45e606f --- /dev/null +++ b/Show-Crypto-Currency-Price-in-Graph/amol/public/assets/js/charts/d3/sunburst/sunburst_basic.js @@ -0,0 +1,114 @@ +/* ------------------------------------------------------------------------------ + * + * # D3.js - basic sunbirst diagram + * + * Demo sunbirst diagram setup with .json data source + * + * Version: 1.0 + * Latest update: August 1, 2015 + * + * ---------------------------------------------------------------------------- */ + +$(function () { + + // Initialize Uniform plugin + $('.basic-options input').uniform({ + radioClass: 'choice' + }); + + + // Initialize chart + sunburstBasic('#d3-sunburst-basic', 400, 400); + + // Chart setup + function sunburstBasic(element, width, height) { + + + // Basic setup + // ------------------------------ + + // Define main variables + var radius = Math.min(width, height) / 2, + color = d3.scale.category20(); + + + + // Create chart + // ------------------------------ + + var svg = d3.select(element).append("svg") + .attr("width", width) + .attr("height", height) + .append("g") + .attr("transform", "translate(" + width / 2 + "," + height / 2 + ")"); + + + + // Construct chart layout + // ------------------------------ + + // Partition layout + var partition = d3.layout.partition() + .sort(null) + .size([2 * Math.PI, radius * radius]) + .value(function(d) { return 1; }); + + // Arc + var arc = d3.svg.arc() + .startAngle(function(d) { return d.x; }) + .endAngle(function(d) { return d.x + d.dx; }) + .innerRadius(function(d) { return Math.sqrt(d.y); }) + .outerRadius(function(d) { return Math.sqrt(d.y + d.dy); }); + + + + // Load data + // ------------------------------ + + d3.json("assets/demo_data/d3/sunburst/sunburst_basic.json", function(error, root) { + + // Add sunbirst + var path = svg.datum(root).selectAll("path") + .data(partition.nodes) + .enter() + .append("path") + .attr("display", function(d) { return d.depth ? null : "none"; }) // hide inner ring + .attr("d", arc) + .style("stroke", "#fff") + .style("fill", function(d) { return color((d.children ? d : d.parent).name); }) + .style("fill-rule", "evenodd") + .each(stash); + + // Change data + d3.selectAll(".basic-options input").on("change", function change() { + var value = this.value === "count" + ? function() { return 1; } + : function(d) { return d.size; }; + + // Transition + path.data(partition.value(value).nodes) + .transition() + .duration(750) + .attrTween("d", arcTween); + }); + }); + + + // Stash the old values for transition. + function stash(d) { + d.x0 = d.x; + d.dx0 = d.dx; + } + + // Interpolate the arcs in data space. + function arcTween(a) { + var i = d3.interpolate({x: a.x0, dx: a.dx0}, a); + return function(t) { + var b = i(t); + a.x0 = b.x; + a.dx0 = b.dx; + return arc(b); + }; + } + } +}); diff --git a/Show-Crypto-Currency-Price-in-Graph/amol/public/assets/js/charts/d3/sunburst/sunburst_combined.js b/Show-Crypto-Currency-Price-in-Graph/amol/public/assets/js/charts/d3/sunburst/sunburst_combined.js new file mode 100644 index 0000000..a568033 --- /dev/null +++ b/Show-Crypto-Currency-Price-in-Graph/amol/public/assets/js/charts/d3/sunburst/sunburst_combined.js @@ -0,0 +1,165 @@ +/* ------------------------------------------------------------------------------ + * + * # D3.js - sunbirst diagram combined + * + * Demo sunbirst diagram setup with interactive zoom and data update combination + * + * Version: 1.0 + * Latest update: August 1, 2015 + * + * ---------------------------------------------------------------------------- */ + +$(function () { + + // Initialize Uniform plugin + $('.combined-options input').uniform({ + radioClass: 'choice' + }); + + + // Initialize chart + sunburstZoomable('#d3-sunburst-combined', 400, 400); + + // Chart setup + function sunburstZoomable(element, width, height) { + + + // Basic setup + // ------------------------------ + + // Define main variables + var radius = Math.min(width, height) / 2; + + + + // Construct scales + // ------------------------------ + + // Horizontal + var x = d3.scale.linear() + .range([0, 2 * Math.PI]); + + // Vertical + var y = d3.scale.sqrt() + .range([0, radius]); + + // Colors + var color = d3.scale.category20(); + + + + // Create chart + // ------------------------------ + + var svg = d3.select(element).append("svg") + .attr("width", width) + .attr("height", height) + .append("g") + .attr("transform", "translate(" + width / 2 + "," + height / 2 + ")"); + + + + // Construct chart layout + // ------------------------------ + + // Partition layout + var partition = d3.layout.partition() + .sort(null) + .value(function(d) { return 1; }); + + // Arc + var arc = d3.svg.arc() + .startAngle(function(d) { return Math.max(0, Math.min(2 * Math.PI, x(d.x))); }) + .endAngle(function(d) { return Math.max(0, Math.min(2 * Math.PI, x(d.x + d.dx))); }) + .innerRadius(function(d) { return Math.max(0, y(d.y)); }) + .outerRadius(function(d) { return Math.max(0, y(d.y + d.dy)); }); + + + + // Load data + // ------------------------------ + + // Keep track of the node that is currently being displayed as the root. + var node; + + d3.json("assets/demo_data/d3/sunburst/sunburst_basic.json", function(error, root) { + node = root; + + // Append sunbirst + var path = svg.datum(root).selectAll(".d3-sunbirst") + .data(partition.nodes) + .enter() + .append("path") + .attr("class", "d3-sunbirst") + .attr("d", arc) + .style("fill", function(d) { return color((d.children ? d : d.parent).name); }) + .on("click", click) + .each(stash); + + // Change data + d3.selectAll(".combined-options input").on("change", function change() { + var value = this.value === "count" + ? function() { return 1; } + : function(d) { return d.size; }; + + // Transition + path + .data(partition.value(value).nodes) + .transition() + .duration(750) + .attrTween("d", arcTweenData); + }); + + // Animate on click + function click(d) { + node = d; + path.transition() + .duration(750) + .attrTween("d", arcTweenZoom(d)); + } + }); + + + // Setup for switching data: stash the old values for transition. + function stash(d) { + d.x0 = d.x; + d.dx0 = d.dx; + } + + // When switching data: interpolate the arcs in data space. + function arcTweenData(a, i) { + var oi = d3.interpolate({x: a.x0, dx: a.dx0}, a); + function tween(t) { + var b = oi(t); + a.x0 = b.x; + a.dx0 = b.dx; + return arc(b); + } + if (i == 0) { + // If we are on the first arc, adjust the x domain to match the root node + // at the current zoom level. (We only need to do this once.) + var xd = d3.interpolate(x.domain(), [node.x, node.x + node.dx]); + return function(t) { + x.domain(xd(t)); + return tween(t); + }; + } + else { + return tween; + } + } + + // When zooming: interpolate the scales + function arcTweenZoom(d) { + var xd = d3.interpolate(x.domain(), [d.x, d.x + d.dx]), + yd = d3.interpolate(y.domain(), [d.y, 1]), + yr = d3.interpolate(y.range(), [d.y ? 20 : 0, radius]); + + return function(d, i) { + return i + ? function(t) { return arc(d); } + : function(t) { x.domain(xd(t)); y.domain(yd(t)).range(yr(t)); return arc(d); }; + }; + } + } +}); diff --git a/Show-Crypto-Currency-Price-in-Graph/amol/public/assets/js/charts/d3/sunburst/sunburst_distortion.js b/Show-Crypto-Currency-Price-in-Graph/amol/public/assets/js/charts/d3/sunburst/sunburst_distortion.js new file mode 100644 index 0000000..f5936ff --- /dev/null +++ b/Show-Crypto-Currency-Price-in-Graph/amol/public/assets/js/charts/d3/sunburst/sunburst_distortion.js @@ -0,0 +1,125 @@ +/* ------------------------------------------------------------------------------ + * + * # D3.js - sunbirst diagram with distortion + * + * Demo sunbirst diagram setup with interactive distortion + * + * Version: 1.0 + * Latest update: August 1, 2015 + * + * ---------------------------------------------------------------------------- */ + +$(function () { + + // Initialize chart + sunburstDistortion('#d3-sunburst-distortion', 400, 400); + + // Chart setup + function sunburstDistortion(element, width, height) { + + + // Basic setup + // ------------------------------ + + // Define main variables + var radius = Math.min(width, height) / 2; + color = d3.scale.category20c(); + + + + // Create chart + // ------------------------------ + + var svg = d3.select(element).append("svg") + .attr("width", width) + .attr("height", height) + .append("g") + .attr("transform", "translate(" + width / 2 + "," + height / 2 + ")"); + + + + // Construct chart layout + // ------------------------------ + + // Partition layout + var partition = d3.layout.partition() + .size([2 * Math.PI, radius]) + .value(function(d) { return d.size; }); + + // Arc + var arc = d3.svg.arc() + .startAngle(function(d) { return d.x; }) + .endAngle(function(d) { return d.x + d.dx; }) + .innerRadius(function(d) { return d.y; }) + .outerRadius(function(d) { return d.y + d.dy; }); + + + + // Load data + // ------------------------------ + + d3.json("assets/demo_data/d3/sunburst/sunburst_basic.json", function(root) { + + // Add sunbirst + path = svg.data([root]).selectAll("path") + .data(partition.nodes) + .enter() + .append("path") + .attr("d", arc) + .style("stroke", "#fff") + .style("fill", function(d) { return color((d.children ? d : d.parent).name); }) + .on("click", magnify) + .each(stash); + }); + + + // Distort the specified node to 80% of its parent. + function magnify(node) { + if (parent = node.parent) { + var parent, + x = parent.x, + k = .8; + + parent.children.forEach(function(sibling) { + x += reposition(sibling, x, sibling === node + ? parent.dx * k / node.value + : parent.dx * (1 - k) / (parent.value - node.value)); + }); + } + else { + reposition(node, 0, node.dx / node.value); + } + + path.transition() + .duration(750) + .attrTween("d", arcTween); + } + + // Recursively reposition the node at position x with scale k. + function reposition(node, x, k) { + node.x = x; + if (node.children && (n = node.children.length)) { + var i = -1, n; + while (++i < n) x += reposition(node.children[i], x, k); + } + return node.dx = node.value * k; + } + + // Stash the old values for transition. + function stash(d) { + d.x0 = d.x; + d.dx0 = d.dx; + } + + // Interpolate the arcs in data space. + function arcTween(a) { + var i = d3.interpolate({x: a.x0, dx: a.dx0}, a); + return function(t) { + var b = i(t); + a.x0 = b.x; + a.dx0 = b.dx; + return arc(b); + }; + } + } +}); diff --git a/Show-Crypto-Currency-Price-in-Graph/amol/public/assets/js/charts/d3/sunburst/sunburst_zoom.js b/Show-Crypto-Currency-Price-in-Graph/amol/public/assets/js/charts/d3/sunburst/sunburst_zoom.js new file mode 100644 index 0000000..bf89950 --- /dev/null +++ b/Show-Crypto-Currency-Price-in-Graph/amol/public/assets/js/charts/d3/sunburst/sunburst_zoom.js @@ -0,0 +1,108 @@ +/* ------------------------------------------------------------------------------ + * + * # D3.js - sunbirst diagram with zoom + * + * Demo sunbirst diagram setup with interactive zoom + * + * Version: 1.0 + * Latest update: August 1, 2015 + * + * ---------------------------------------------------------------------------- */ + +$(function () { + + // Initialize chart + sunburstZoomable('#d3-sunburst-zoom', 400, 400); + + // Chart setup + function sunburstZoomable(element, width, height) { + + + // Basic setup + // ------------------------------ + + // Define main variables + var radius = Math.min(width, height) / 2; + + + + // Construct scales + // ------------------------------ + + // Horizontal + var x = d3.scale.linear() + .range([0, 2 * Math.PI]); + + // Vertical + var y = d3.scale.sqrt() + .range([0, radius]); + + // Colors + var color = d3.scale.category20c(); + + + + // Create chart + // ------------------------------ + + var svg = d3.select(element).append("svg") + .attr("width", width) + .attr("height", height) + .append("g") + .attr("transform", "translate(" + width / 2 + "," + height / 2 + ")"); + + + + // Construct chart layout + // ------------------------------ + + // Partition layout + var partition = d3.layout.partition() + .value(function(d) { return d.size; }); + + // Arc + var arc = d3.svg.arc() + .startAngle(function(d) { return Math.max(0, Math.min(2 * Math.PI, x(d.x))); }) + .endAngle(function(d) { return Math.max(0, Math.min(2 * Math.PI, x(d.x + d.dx))); }) + .innerRadius(function(d) { return Math.max(0, y(d.y)); }) + .outerRadius(function(d) { return Math.max(0, y(d.y + d.dy)); }); + + + + // Load data + // ------------------------------ + + d3.json("assets/demo_data/d3/sunburst/sunburst_basic.json", function(error, root) { + + // Append sunbirst + var path = svg.selectAll(".d3-sunbirst") + .data(partition.nodes(root)) + .enter() + .append("path") + .attr("class", "d3-sunbirst") + .attr("d", arc) + .style("fill", function(d) { return color((d.children ? d : d.parent).name); }) + .on("click", click); + + // Run transition on click + function click(d) { + path.transition() + .duration(750) + .attrTween("d", arcTween(d)); + } + }); + + + // Interpolate the scales + function arcTween(d) { + var xd = d3.interpolate(x.domain(), [d.x, d.x + d.dx]), + yd = d3.interpolate(y.domain(), [d.y, 1]), + yr = d3.interpolate(y.range(), [d.y ? 20 : 0, radius]); + return function(d, i) { + return i + ? function(t) { return arc(d); } + : function(t) { x.domain(xd(t)); y.domain(yd(t)).range(yr(t)); return arc(d); }; + }; + } + } +}); diff --git a/Show-Crypto-Currency-Price-in-Graph/amol/public/assets/js/charts/d3/tree/tree_basic.js b/Show-Crypto-Currency-Price-in-Graph/amol/public/assets/js/charts/d3/tree/tree_basic.js new file mode 100644 index 0000000..9dc5d66 --- /dev/null +++ b/Show-Crypto-Currency-Price-in-Graph/amol/public/assets/js/charts/d3/tree/tree_basic.js @@ -0,0 +1,168 @@ +/* ------------------------------------------------------------------------------ + * + * # D3.js - basic tree layout + * + * Demo of tree layout setup with .json data source + * + * Version: 1.0 + * Latest update: August 1, 2015 + * + * ---------------------------------------------------------------------------- */ + +$(function () { + + // Initialize chart + treeBasic('#d3-tree-basic', 800); + + // Chart setup + function treeBasic(element, height) { + + + // Basic setup + // ------------------------------ + + // Define main variables + var d3Container = d3.select(element), + margin = {top: 0, right: 0, bottom: 0, left: 40}, + width = d3Container.node().getBoundingClientRect().width - margin.left - margin.right, + height = height - margin.top - margin.bottom - 5; + + + + // Create chart + // ------------------------------ + + // Add SVG element + var container = d3Container.append("svg"); + + // Add SVG group + var svg = container + .attr("width", width + margin.left + margin.right) + .attr("height", height + margin.top + margin.bottom) + .append("g") + .attr("transform", "translate(" + margin.left + "," + margin.top + ")"); + + + + // Construct chart layout + // ------------------------------ + + // Tree + var tree = d3.layout.tree() + .size([height, width - 180]); + + // Diagonal projection + var diagonal = d3.svg.diagonal() + .projection(function(d) { return [d.y, d.x]; }); + + + + // Load data + // ------------------------------ + + d3.json("assets/demo_data/d3/tree/tree_data_basic.json", function(error, json) { + + var nodes = tree.nodes(json), + links = tree.links(nodes); + + + // Links + // ------------------------------ + + // Append link group + var linkGroup = svg.append("g") + .attr("class", "d3-tree-link-group"); + + // Append link path + var link = linkGroup.selectAll(".d3-tree-link") + .data(links) + .enter() + .append("path") + .attr("class", "d3-tree-link") + .attr("d", diagonal) + .style("fill", "none") + .style("stroke", "#ddd") + .style("stroke-width", 1.5); + + + // Nodes + // ------------------------------ + + // Append node group + var nodeGroup = svg.append("g") + .attr("class", "d3-tree-node-group"); + + // Append node + var node = nodeGroup.selectAll(".d3-tree-node") + .data(nodes) + .enter() + .append("g") + .attr("class", "d3-tree-node") + .attr("transform", function(d) { return "translate(" + d.y + "," + d.x + ")"; }); + + // Append node circles + node.append("circle") + .attr("r", 4.5) + .attr("class", "d3-tree-circle") + .style("fill", "#fff") + .style("stroke", "#2196F3") + .style("stroke-width", 1.5); + + // Append node text + node.append("text") + .attr("dx", function(d) { return d.children ? -12 : 12; }) + .attr("dy", 4) + .style("text-anchor", function(d) { return d.children ? "end" : "start"; }) + .style("font-size", 12) + .text(function(d) { return d.name; }); + + + + // Resize chart + // ------------------------------ + + // Call function on window resize + $(window).on('resize', resize); + + // Call function on sidebar width change + $('.sidebar-control').on('click', resize); + + + // Resize function + // + // Since D3 doesn't support SVG resize by default, + // we need to manually specify parts of the graph that need to + // be updated on window resize + function resize() { + + // Layout variables + width = d3Container.node().getBoundingClientRect().width - margin.left - margin.right, + nodes = tree.nodes(json), + links = tree.links(nodes); + + // Layout + // ------------------------- + + // Main svg width + container.attr("width", width + margin.left + margin.right); + + // Width of appended group + svg.attr("width", width + margin.left + margin.right); + + + // Tree size + tree.size([height, width - 180]); + + + // Chart elements + // ------------------------- + + // Link paths + svg.selectAll(".d3-tree-link").attr("d", diagonal) + + // Node paths + svg.selectAll(".d3-tree-node").attr("transform", function(d) { return "translate(" + d.y + "," + d.x + ")"; }); + } + }); + } +}); \ No newline at end of file diff --git a/Show-Crypto-Currency-Price-in-Graph/amol/public/assets/js/charts/d3/tree/tree_bracket.js b/Show-Crypto-Currency-Price-in-Graph/amol/public/assets/js/charts/d3/tree/tree_bracket.js new file mode 100644 index 0000000..45ea61f --- /dev/null +++ b/Show-Crypto-Currency-Price-in-Graph/amol/public/assets/js/charts/d3/tree/tree_bracket.js @@ -0,0 +1,327 @@ +/* ------------------------------------------------------------------------------ + * + * # D3.js - bracket tree layout + * + * Demo of double sided bracket layout setup with pan and zoom + * + * Version: 1.0 + * Latest update: August 1, 2015 + * + * ---------------------------------------------------------------------------- */ + +$(function () { + + // Initialize chart + brackets('#d3-tree-bracket', 600); + + // Chart setup + function brackets(element, height) { + + + // Basic setup + // ------------------------------ + + // Define main variables + var d3Container = d3.select(element), + margin = {top: 0, right: 0, bottom: 0, left: 0}, + width = d3Container.node().getBoundingClientRect().width - margin.left - margin.right, + halfWidth = width / 2, + height = height - margin.top - margin.bottom - 5, + i = 0, + duration = 500, + root; + + + + // Create chart + // ------------------------------ + + // Add SVG element + var container = d3Container.append("svg"); + + // Add SVG group + var svg = container + .attr("width", width + margin.left + margin.right) + .attr("height", height + margin.top + margin.bottom) + .append("g") + .attr("transform", "translate(" + margin.left + "," + margin.top + ")"); + + + // Get children + var getChildren = function(d) { + var a = []; + if(d.winners) for(var i = 0; i < d.winners.length; i++){ + d.winners[i].isRight = false; + d.winners[i].parent = d; + a.push(d.winners[i]); + } + if(d.challengers) for(var i = 0; i < d.challengers.length; i++){ + d.challengers[i].isRight = true; + d.challengers[i].parent = d; + a.push(d.challengers[i]); + } + return a.length?a:null; + }; + + + + // Add zoom behavior + // ------------------------------ + + // Add zoom with scale + var zoom = d3.behavior.zoom() + .scaleExtent([1,2]) + .on('zoom', function(){ + svg.attr("transform", "translate(" + d3.event.translate + ") scale(" + d3.event.scale + ")"); + }); + + // Initialize zoom + container.call(zoom); + + + + // Construct chart layout + // ------------------------------ + + // Tree + var tree = d3.layout.tree() + .size([height, width]); + + // Diagonal projection + var diagonal = d3.svg.diagonal() + .projection(function(d) { return [d.y, d.x]; }); + + + + // Helper functions + // ------------------------------ + + // Connector + var elbow = function (d, i){ + var source = calcLeft(d.source), + target = calcLeft(d.target), + hy = (target.y-source.y) / 2; + + if(d.isRight) hy = -hy; + return "M" + source.y + "," + source.x + "H" + (source.y + hy) + "V" + target.x + "H" + target.y; + }; + var connector = elbow; + + // Calculate horizontal position + var calcLeft = function(d) { + var l = d.y; + if(!d.isRight) { + l = d.y-halfWidth; + l = halfWidth - l; + } + return {x : d.x, y : l}; + }; + + var toArray = function(item, arr){ + arr = arr || []; + var i = 0, + l = item.children?item.children.length : 0; + + arr.push(item); + for(; i < l; i++) { + toArray(item.children[i], arr); + } + return arr; + }; + + + + // Load data + // ------------------------------ + + d3.json("assets/demo_data/d3/tree/tree_bracket.json", function(json) { + root = json; + root.x0 = height / 2; + root.y0 = width / 2; + + // Add tree layout + var t1 = d3.layout.tree().size([height, halfWidth]).children(function(d){return d.winners;}), + t2 = d3.layout.tree().size([height, halfWidth]).children(function(d){return d.challengers;}); + t1.nodes(root); + t2.nodes(root); + + // Rebuild children nodes + var rebuildChildren = function(node){ + node.children = getChildren(node); + if(node.children) node.children.forEach(rebuildChildren); + } + rebuildChildren(root); + root.isRight = false; + update(root); + }); + + + + // Layout setup + // ------------------------------ + + // Update nodes + function update(source) { + + // Compute the new tree layout. + var nodes = toArray(source); + + // Normalize for fixed-depth. + nodes.forEach(function(d) { d.y = d.depth * 180 + halfWidth; }); + + // Update the nodes… + var node = svg.selectAll("g.node") + .data(nodes, function(d) { return d.id || (d.id = ++i); }); + + // Stash the old positions for transition. + nodes.forEach(function(d) { + var p = calcLeft(d); + d.x0 = p.x; + d.y0 = p.y; + }); + + + // Enter nodes + // ------------------------------ + + // Enter any new nodes at the parent's previous position. + var nodeEnter = node.enter().append("g") + .attr("class", "node") + .attr("transform", function(d) { return "translate(" + source.y0 + "," + source.x0 + ")"; }) + .on("click", click); + + // Add node circles + nodeEnter.append("circle") + .attr("r", 1e-6) + .style("stroke", "#546E7A") + .style("stroke-width", 1.5) + .style("cursor", "pointer") + .style("fill", function(d) { return d._children ? "#546E7A" : "#fff"; }); + + // Add node text + nodeEnter.append("text") + .attr("dy", function(d) { return d.isRight?18:-12;}) + .attr("text-anchor", "middle") + .text(function(d) { return d.name; }) + .style("font-size", 12) + .style("fill-opacity", 1e-6); + + + // Update nodes + // ------------------------------ + + // Transition nodes to their new position. + var nodeUpdate = node.transition() + .duration(duration) + .attr("transform", function(d) { p = calcLeft(d); return "translate(" + p.y + "," + p.x + ")"; }); + + // Update circle + nodeUpdate.select("circle") + .attr("r", 4.5) + .style("fill", function(d) { return d._children ? "#546E7A" : "#fff"; }); + + // Update text + nodeUpdate.select("text") + .style("fill-opacity", 1); + + + // Exit nodes + // ------------------------------ + + // Transition exiting nodes to the parent's new position. + var nodeExit = node.exit().transition() + .duration(duration) + .attr("transform", function(d) { p = calcLeft(d.parent||source); return "translate(" + p.y + "," + p.x + ")"; }) + .remove(); + + // Update circles + nodeExit.select("circle") + .attr("r", 1e-6); + + // Update text + nodeExit.select("text") + .style("fill-opacity", 1e-6); + + + + // Links + // ------------------------------ + + // Update the links + var link = svg.selectAll("path.link") + .data(tree.links(nodes), function(d) { return d.target.id; }); + + // Enter any new links at the parent's previous position + link.enter().insert("path", "g") + .attr("class", "link") + .style("stroke", "#546E7A") + .style("fill", "none") + .style("stroke-width", 1.5) + .attr("d", function(d) { + var o = {x: source.x0, y: source.y0}; + return connector({source: o, target: o}); + }); + + // Transition links to their new position + link.transition() + .duration(duration) + .attr("d", connector); + + // Transition exiting nodes to the parent's new position + link.exit().transition() + .duration(duration) + .attr("d", function(d) { + var o = calcLeft(d.source||source); + if(d.source.isRight) o.y -= halfWidth - (d.target.y - d.source.y); + else o.y += halfWidth - (d.target.y - d.source.y); + return connector({source: o, target: o}); + }) + .remove(); + + + + // Toggle children on click. + function click(d) { + if (d.children) { + d._children = d.children; + d.children = null; + } else { + d.children = d._children; + d._children = null; + } + update(source); + } + + + // Resize chart + // ------------------------------ + + // Call function on window resize + $(window).on('resize', resize); + + // Call function on sidebar width change + $('.sidebar-control').on('click', resize); + + + // Resize function + // + // Since D3 doesn't support SVG resize by default, + // we need to manually specify parts of the graph that need to + // be updated on window resize + function resize() { + + // Layout variables + width = d3Container.node().getBoundingClientRect().width - margin.left - margin.right, + + // Layout + // ------------------------- + + // Main svg width + container.attr("width", width + margin.left + margin.right); + + // Width of appended group + svg.attr("width", width + margin.left + margin.right); + } + } + } +}); \ No newline at end of file diff --git a/Show-Crypto-Currency-Price-in-Graph/amol/public/assets/js/charts/d3/tree/tree_collapsible.js b/Show-Crypto-Currency-Price-in-Graph/amol/public/assets/js/charts/d3/tree/tree_collapsible.js new file mode 100644 index 0000000..714249f --- /dev/null +++ b/Show-Crypto-Currency-Price-in-Graph/amol/public/assets/js/charts/d3/tree/tree_collapsible.js @@ -0,0 +1,282 @@ +/* ------------------------------------------------------------------------------ + * + * # D3.js - collapsible tree layout + * + * Demo of tree layout setup with collapsible nodes + * + * Version: 1.0 + * Latest update: August 1, 2015 + * + * ---------------------------------------------------------------------------- */ + +$(function () { + + // Initialize chart + treeCollapsible('#d3-tree-collapsible', 800); + + // Chart setup + function treeCollapsible(element, height) { + + + // Basic setup + // ------------------------------ + + // Define main variables + var d3Container = d3.select(element), + margin = {top: 0, right: 0, bottom: 0, left: 40}, + width = d3Container.node().getBoundingClientRect().width - margin.left - margin.right, + height = height - margin.top - margin.bottom - 5, + i = 0, + root; + + + + // Create chart + // ------------------------------ + + // Add SVG element + var container = d3Container.append("svg"); + + // Add SVG group + var svg = container + .attr("width", width + margin.left + margin.right) + .attr("height", height + margin.top + margin.bottom) + .append("g") + .attr("transform", "translate(" + margin.left + "," + margin.top + ")"); + + + + // Construct chart layout + // ------------------------------ + + // Tree + var tree = d3.layout.tree() + .size([height, width - 180]); + + // Diagonal projection + var diagonal = d3.svg.diagonal() + .projection(function(d) { return [d.y, d.x]; }); + + + + // Load data + // ------------------------------ + + d3.json("assets/demo_data/d3/tree/tree_data_collapsible.json", function(error, json) { + + root = json; + root.x0 = height/2; + root.y0 = 0; + + // Toggle nodes function + function toggleAll(d) { + if (d.children) { + d.children.forEach(toggleAll); + toggle(d); + } + } + + // Initialize the display to show a few nodes + root.children.forEach(toggleAll); + toggle(root.children[1]); + toggle(root.children[1].children[2]); + toggle(root.children[9]); + toggle(root.children[9].children[0]); + + update(root); + }); + + + + // Layout setup + // ------------------------------ + + // Update nodes + function update(source) { + + // Set duration + var duration = d3.event && d3.event.altKey ? 5000 : 500; + + // Compute the new tree layout. + var nodes = tree.nodes(root).reverse(); + + // Normalize for fixed-depth. + //nodes.forEach(function(d) { d.y = d.depth * 250; }); + + // Update the nodes… + var node = svg.selectAll(".d3-tree-node") + .data(nodes, function(d) { return d.id || (d.id = ++i); }); + + + // Enter nodes + // ------------------------------ + + // Enter any new nodes at the parent's previous position. + var nodeEnter = node.enter().append("g") + .attr("class", "d3-tree-node") + .attr("transform", function(d) { return "translate(" + source.y0 + "," + source.x0 + ")"; }) + .on("click", function(d) { toggle(d); update(d); }); + + // Add node circles + nodeEnter.append("circle") + .attr("r", 1e-6) + .style("fill", "#fff") + .style("stroke", "#2196F3") + .style("stroke-width", 1.5) + .style("cursor", "pointer") + .style("fill", function(d) { return d._children ? "#2196F3" : "#fff"; }); + + // Add nodes text + nodeEnter.append("text") + .attr("x", function(d) { return d.children || d._children ? -10 : 10; }) + .attr("dy", ".35em") + .style("text-anchor", function(d) { return d.children || d._children ? "end" : "start"; }) + .style("font-size", 12) + .style("fill-opacity", 1e-6) + .text(function(d) { return d.name; }); + + + // Update nodes + // ------------------------------ + + // Transition nodes to their new position. + var nodeUpdate = node.transition() + .duration(duration) + .attr("transform", function(d) { return "translate(" + d.y + "," + d.x + ")"; }); + + // Update circle + nodeUpdate.select("circle") + .attr("r", 4.5) + .style("fill", function(d) { return d._children ? "#2196F3" : "#fff"; }); + + // Update text + nodeUpdate.select("text") + .style("fill-opacity", 1); + + + // Exit nodes + // ------------------------------ + + // Transition exiting nodes to the parent's new position. + var nodeExit = node.exit() + .transition() + .duration(duration) + .attr("transform", function(d) { return "translate(" + source.y + "," + source.x + ")"; }) + .remove(); + + // Update circles + nodeExit.select("circle") + .attr("r", 1e-6); + + // Update text + nodeExit.select("text") + .style("fill-opacity", 1e-6); + + + // Links + // ------------------------------ + + // Update the links… + var link = svg.selectAll(".d3-tree-link") + .data(tree.links(nodes), function(d) { return d.target.id; }); + + // Enter any new links at the parent's previous position. + link.enter().insert("path", "g") + .attr("class", "d3-tree-link") + .style("fill", "none") + .style("stroke", "#ddd") + .style("stroke-width", 1.5) + .attr("d", function(d) { + var o = {x: source.x0, y: source.y0}; + return diagonal({source: o, target: o}); + }) + .transition() + .duration(duration) + .attr("d", diagonal); + + // Transition links to their new position. + link.transition() + .duration(duration) + .attr("d", diagonal); + + // Transition exiting nodes to the parent's new position. + link.exit().transition() + .duration(duration) + .attr("d", function(d) { + var o = {x: source.x, y: source.y}; + return diagonal({source: o, target: o}); + }) + .remove(); + + // Stash the old positions for transition. + nodes.forEach(function(d) { + d.x0 = d.x; + d.y0 = d.y; + }); + + + // Resize chart + // ------------------------------ + + // Call function on window resize + $(window).on('resize', resize); + + // Call function on sidebar width change + $('.sidebar-control, .d3-tree-node circle').on('click', resize); + + + // Resize function + // + // Since D3 doesn't support SVG resize by default, + // we need to manually specify parts of the graph that need to + // be updated on window resize + function resize() { + + // Layout variables + width = d3Container.node().getBoundingClientRect().width - margin.left - margin.right, + nodes = tree.nodes(root), + links = tree.links(nodes); + + // Layout + // ------------------------- + + // Main svg width + container.attr("width", width + margin.left + margin.right); + + // Width of appended group + svg.attr("width", width + margin.left + margin.right); + + + // Tree size + tree.size([height, width - 180]); + + diagonal.projection(function(d) { return [d.y, d.x]; }); + + + // Chart elements + // ------------------------- + + // Link paths + svg.selectAll(".d3-tree-link").attr("d", diagonal) + + // Node paths + svg.selectAll(".d3-tree-node").attr("transform", function(d) { return "translate(" + d.y + "," + d.x + ")"; }); + } + } + + // Toggle childrens + function toggle(d) { + if (d.children) { + d._children = d.children; + d.children = null; + } + else { + d.children = d._children; + d._children = null; + } + } + + + + } +}); \ No newline at end of file diff --git a/Show-Crypto-Currency-Price-in-Graph/amol/public/assets/js/charts/d3/tree/tree_dendrogram.js b/Show-Crypto-Currency-Price-in-Graph/amol/public/assets/js/charts/d3/tree/tree_dendrogram.js new file mode 100644 index 0000000..de6d819 --- /dev/null +++ b/Show-Crypto-Currency-Price-in-Graph/amol/public/assets/js/charts/d3/tree/tree_dendrogram.js @@ -0,0 +1,168 @@ +/* ------------------------------------------------------------------------------ + * + * # D3.js - cluster dendrogram + * + * Demo of cluster dendrogram setup in cartesian orientation + * + * Version: 1.0 + * Latest update: August 1, 2015 + * + * ---------------------------------------------------------------------------- */ + +$(function () { + + // Initialize chart + treeCluster('#d3-tree-dendrogram', 800); + + // Chart setup + function treeCluster(element, height) { + + + // Basic setup + // ------------------------------ + + // Define main variables + var d3Container = d3.select(element), + margin = {top: 0, right: 0, bottom: 0, left: 40}, + width = d3Container.node().getBoundingClientRect().width - margin.left - margin.right, + height = height - margin.top - margin.bottom - 5; + + + + // Create chart + // ------------------------------ + + // Add SVG element + var container = d3Container.append("svg"); + + // Add SVG group + var svg = container + .attr("width", width + margin.left + margin.right) + .attr("height", height + margin.top + margin.bottom) + .append("g") + .attr("transform", "translate(" + margin.left + "," + margin.top + ")"); + + + + // Construct chart layout + // ------------------------------ + + // Cluster + var cluster = d3.layout.cluster() + .size([height, width - 180]); + + // Diagonal projection + var diagonal = d3.svg.diagonal() + .projection(function(d) { return [d.y, d.x]; }); + + + + // Load data + // ------------------------------ + + d3.json("assets/demo_data/d3/tree/tree_data_dendrogram.json", function(error, root) { + + var nodes = cluster.nodes(root), + links = cluster.links(nodes); + + + // Links + // ------------------------------ + + // Append link group + var linkGroup = svg.append("g") + .attr("class", "d3-tree-link-group"); + + // Append link path + var link = linkGroup.selectAll(".d3-tree-link") + .data(links) + .enter() + .append("path") + .attr("class", "d3-tree-link") + .style("fill", "none") + .style("stroke", "#ddd") + .style("stroke-width", 1.5) + .attr("d", diagonal); + + + // Nodes + // ------------------------------ + + // Append node group + var nodeGroup = svg.append("g") + .attr("class", "d3-tree-node-group"); + + // Append node + var node = nodeGroup.selectAll(".d3-tree-node") + .data(nodes) + .enter() + .append("g") + .attr("class", "d3-tree-node") + .attr("transform", function(d) { return "translate(" + d.y + "," + d.x + ")"; }) + + // Append node circles + node.append("circle") + .style("fill", "#fff") + .style("stroke", "#2196F3") + .style("stroke-width", 1.5) + .attr("r", 4.5); + + // Append node text + var text = node.append("text") + .attr("dx", function(d) { return d.children ? -10 : 10; }) + .attr("dy", 4) + .style("text-anchor", function(d) { return d.children ? "end" : "start"; }) + .style("font-size", 12) + .style("background-color", "#fff") + .text(function(d) { return d.name; }); + + + + // Resize chart + // ------------------------------ + + // Call function on window resize + $(window).on('resize', resize); + + // Call function on sidebar width change + $('.sidebar-control').on('click', resize); + + + // Resize function + // + // Since D3 doesn't support SVG resize by default, + // we need to manually specify parts of the graph that need to + // be updated on window resize + function resize() { + + // Layout variables + width = d3Container.node().getBoundingClientRect().width - margin.left - margin.right, + nodes = cluster.nodes(root), + links = cluster.links(nodes); + + // Layout + // ------------------------- + + // Main svg width + container.attr("width", width + margin.left + margin.right); + + // Width of appended group + svg.attr("width", width + margin.left + margin.right); + + + // Tree size + cluster.size([height, width - 180]); + + + // Chart elements + // ------------------------- + + // Link paths + svg.selectAll(".d3-tree-link").attr("d", diagonal) + + // Node paths + svg.selectAll(".d3-tree-node").attr("transform", function(d) { return "translate(" + d.y + "," + d.x + ")"; }); + } + }); + } +}); \ No newline at end of file diff --git a/Show-Crypto-Currency-Price-in-Graph/amol/public/assets/js/charts/d3/tree/tree_dendrogram_radial.js b/Show-Crypto-Currency-Price-in-Graph/amol/public/assets/js/charts/d3/tree/tree_dendrogram_radial.js new file mode 100644 index 0000000..e934fba --- /dev/null +++ b/Show-Crypto-Currency-Price-in-Graph/amol/public/assets/js/charts/d3/tree/tree_dendrogram_radial.js @@ -0,0 +1,105 @@ +/* ------------------------------------------------------------------------------ + * + * # D3.js - radial dendrogram layout + * + * Demo of radial dendrogram layout setup with .json data source + * + * Version: 1.0 + * Latest update: August 1, 2015 + * + * ---------------------------------------------------------------------------- */ + +$(function () { + + // Initialize chart + dendrogramRadial('#d3-dendrogram-radial', 900); + + // Chart setup + function dendrogramRadial(element, diameter) { + + + // Basic setup + // ------------------------------ + + // Define main variables + var d3Container = d3.select(element); + + + // Create chart + // ------------------------------ + + // Add SVG element + var container = d3Container.append("svg"); + + // Add SVG group + var svg = container + .attr("width", diameter) + .attr("height", diameter) + .append("g") + .attr("transform", "translate(" + (diameter / 2) + "," + (diameter / 2) + ")"); + + + + // Construct chart layout + // ------------------------------ + + // Cluster + var cluster = d3.layout.cluster() + .size([360, (diameter / 2) - 150]); + + // Diagonal projection + var diagonal = d3.svg.diagonal.radial() + .projection(function(d) { return [d.y, d.x / 180 * Math.PI]; }); + + + // Load data + // ------------------------------ + + d3.json("assets/demo_data/d3/tree/tree_data_dendrogram_radial.json", function(error, root) { + + var nodes = cluster.nodes(root); + + + // Links + // ------------------------------ + + // Append link paths + var link = svg.selectAll(".d3-tree-link") + .data(cluster.links(nodes)) + .enter() + .append("path") + .attr("class", "d3-tree-link") + .attr("d", diagonal) + .style("fill", "none") + .style("stroke", "#ddd") + .style("stroke-width", 1.5); + + + // Nodes + // ------------------------------ + + // Append node group + var node = svg.selectAll(".d3-tree-node") + .data(nodes) + .enter() + .append("g") + .attr("class", "d3-tree-node") + .attr("transform", function(d) { return "rotate(" + (d.x - 90) + ")translate(" + d.y + ")"; }) + + // Append circles + node.append("circle") + .attr("r", 4.5) + .style("fill", "#fff") + .style("stroke", "#2196F3") + .style("stroke-width", 1.5); + + // Append text + node.append("text") + .attr("dy", ".31em") + .attr("text-anchor", function(d) { return d.x < 180 ? "start" : "end"; }) + .attr("transform", function(d) { return d.x < 180 ? "translate(8)" : "rotate(180)translate(-8)"; }) + .style("font-size", 12) + .text(function(d) { return d.name; }); + }); + } +}); \ No newline at end of file diff --git a/Show-Crypto-Currency-Price-in-Graph/amol/public/assets/js/charts/d3/tree/tree_radial.js b/Show-Crypto-Currency-Price-in-Graph/amol/public/assets/js/charts/d3/tree/tree_radial.js new file mode 100644 index 0000000..b868574 --- /dev/null +++ b/Show-Crypto-Currency-Price-in-Graph/amol/public/assets/js/charts/d3/tree/tree_radial.js @@ -0,0 +1,108 @@ +/* ------------------------------------------------------------------------------ + * + * # D3.js - radial tree layout + * + * Demo of radial tree layout setup with .json data source + * + * Version: 1.0 + * Latest update: August 1, 2015 + * + * ---------------------------------------------------------------------------- */ + +$(function () { + + // Initialize chart + treeRadial('#d3-tree-radial', 900); + + // Chart setup + function treeRadial(element, diameter) { + + + // Basic setup + // ------------------------------ + + // Define main variables + var d3Container = d3.select(element); + + + + // Create chart + // ------------------------------ + + // Add SVG element + var container = d3Container.append("svg"); + + // Add SVG group + var svg = container + .attr("width", diameter) + .attr("height", diameter - 140) + .append("g") + .attr("transform", "translate(" + (diameter / 2) + "," + (diameter / 2) + ")"); + + + + // Construct chart layout + // ------------------------------ + + // Tree + var tree = d3.layout.tree() + .size([360, (diameter / 2) - 110]) + .separation(function(a, b) { return (a.parent == b.parent ? 1 : 2) / a.depth; }); + + // Diagonal projection + var diagonal = d3.svg.diagonal.radial() + .projection(function(d) { return [d.y, d.x / 180 * Math.PI]; }); + + + // Load data + // ------------------------------ + + d3.json("assets/demo_data/d3/tree/tree_data_radial.json", function(error, root) { + + var nodes = tree.nodes(root), + links = tree.links(nodes); + + + // Links + // ------------------------------ + + // Append link paths + var link = svg.selectAll(".d3-tree-link") + .data(links) + .enter() + .append("path") + .attr("class", "d3-tree-link") + .attr("d", diagonal) + .style("fill", "none") + .style("stroke", "#ddd") + .style("stroke-width", 1.5); + + + // Nodes + // ------------------------------ + + // Append node group + var node = svg.selectAll(".d3-tree-node") + .data(nodes) + .enter() + .append("g") + .attr("class", "d3-tree-node") + .attr("transform", function(d) { return "rotate(" + (d.x - 90) + ")translate(" + d.y + ")"; }) + + // Append circles + node.append("circle") + .attr("r", 4.5) + .style("fill", "#fff") + .style("stroke", "#2196F3") + .style("stroke-width", 1.5); + + // Append text + node.append("text") + .attr("dy", ".31em") + .attr("text-anchor", function(d) { return d.x < 180 ? "start" : "end"; }) + .attr("transform", function(d) { return d.x < 180 ? "translate(8)" : "rotate(180)translate(-8)"; }) + .style("font-size", 12) + .text(function(d) { return d.name; }); + }); + } +}); \ No newline at end of file diff --git a/Show-Crypto-Currency-Price-in-Graph/amol/public/assets/js/charts/d3/venn/venn_basic.js b/Show-Crypto-Currency-Price-in-Graph/amol/public/assets/js/charts/d3/venn/venn_basic.js new file mode 100644 index 0000000..9c5434d --- /dev/null +++ b/Show-Crypto-Currency-Price-in-Graph/amol/public/assets/js/charts/d3/venn/venn_basic.js @@ -0,0 +1,51 @@ +/* ------------------------------------------------------------------------------ + * + * # D3.js - basic Venn diagram + * + * Basic demo d3.js Venn diagram setup + * + * Version: 1.0 + * Latest update: August 1, 2015 + * + * ---------------------------------------------------------------------------- */ + +$(function () { + + + // Data set + // ------------------------------ + + // Circles + var sets = [ + {label: 'SE', size: 28}, + {label: 'Treat', size: 35}, + {label: 'Anti-CCP', size: 108}, + {label: 'DAS28', size: 106} + ]; + + // Overlaps + var overlaps = [ + {sets: [0,1], size: 1}, + {sets: [0,2], size: 1}, + {sets: [0,3], size: 14}, + {sets: [1,2], size: 6}, + {sets: [1,3], size: 0}, + {sets: [2,3], size: 1}, + {sets: [0,2,3], size: 1}, + {sets: [0,1,2], size: 0}, + {sets: [0,1,3], size: 0}, + {sets: [1,2,3], size: 0}, + {sets: [0,1,2,3], size: 0} + ]; + + + // Initialize chart + // ------------------------------ + + // Draw diagram + var diagram = venn.drawD3Diagram(d3.select("#d3-venn-basic"), venn.venn(sets, overlaps), 350, 350); + + + // Make text semi bold + diagram.text.style("font-weight", "500"); +}); diff --git a/Show-Crypto-Currency-Price-in-Graph/amol/public/assets/js/charts/d3/venn/venn_colors.js b/Show-Crypto-Currency-Price-in-Graph/amol/public/assets/js/charts/d3/venn/venn_colors.js new file mode 100644 index 0000000..1cea897 --- /dev/null +++ b/Show-Crypto-Currency-Price-in-Graph/amol/public/assets/js/charts/d3/venn/venn_colors.js @@ -0,0 +1,65 @@ +/* ------------------------------------------------------------------------------ + * + * # D3.js - custom diagram colors + * + * Venn diagram demo with custom color options + * + * Version: 1.0 + * Latest update: August 1, 2015 + * + * ---------------------------------------------------------------------------- */ + +$(function () { + + + // Data set + // ------------------------------ + + // Circles + var sets = [ + {label: 'SE', size: 28}, + {label: 'Treat', size: 35}, + {label: 'Anti-CCP', size: 108}, + {label: 'DAS28', size: 106} + ]; + + // Overlaps + var overlaps = [ + {sets: [0,1], size: 1}, + {sets: [0,2], size: 1}, + {sets: [0,3], size: 14}, + {sets: [1,2], size: 6}, + {sets: [1,3], size: 0}, + {sets: [2,3], size: 1}, + {sets: [0,2,3], size: 1}, + {sets: [0,1,2], size: 0}, + {sets: [0,1,3], size: 0}, + {sets: [1,2,3], size: 0}, + {sets: [0,1,2,3], size: 0} + ]; + + + // Initialize chart + // ------------------------------ + + // Define colors + var colours = d3.scale.category10(); + + + // Draw diagram + var diagram = venn.drawD3Diagram(d3.select("#d3-venn-colors"), venn.venn(sets, overlaps), 350, 350); + + + // Style circles + diagram.circles + .style("fill-opacity", .7) + .style("stroke-opacity", 0) + .style("fill", function(d,i) { return colours(i); }) + .style("stroke", function(d,i) { return colours(i); }); + + + // Style text + diagram.text + .style("fill", "white") + .style("font-weight", "500"); +}); diff --git a/Show-Crypto-Currency-Price-in-Graph/amol/public/assets/js/charts/d3/venn/venn_interactive.js b/Show-Crypto-Currency-Price-in-Graph/amol/public/assets/js/charts/d3/venn/venn_interactive.js new file mode 100644 index 0000000..ed8215d --- /dev/null +++ b/Show-Crypto-Currency-Price-in-Graph/amol/public/assets/js/charts/d3/venn/venn_interactive.js @@ -0,0 +1,86 @@ +/* ------------------------------------------------------------------------------ + * + * # D3.js - interactive Venn diagram + * + * Venn diagram demo setup with interactions + * + * Version: 1.0 + * Latest update: August 1, 2015 + * + * ---------------------------------------------------------------------------- */ + +$(function () { + + + // Data set + // ------------------------------ + + // Circles + var sets = [ + {label: 'SE', size: 28}, + {label: 'Treat', size: 35}, + {label: 'Anti-CCP', size: 108}, + {label: 'DAS28', size: 106} + ]; + + // Overlaps + var overlaps = [ + {sets: [0,1], size: 1}, + {sets: [0,2], size: 1}, + {sets: [0,3], size: 14}, + {sets: [1,2], size: 6}, + {sets: [1,3], size: 0}, + {sets: [2,3], size: 1}, + {sets: [0,2,3], size: 1}, + {sets: [0,1,2], size: 0}, + {sets: [0,1,3], size: 0}, + {sets: [1,2,3], size: 0}, + {sets: [0,1,2,3], size: 0} + ]; + + + // Initialize chart + // ------------------------------ + + // Define colors + var colours = d3.scale.category10(); + + + // Draw diagram + var diagram = venn.drawD3Diagram(d3.select("#d3-venn-interactive"), venn.venn(sets, overlaps), 350, 350); + + + // Circle styles + diagram.circles + .style("fill-opacity", 0) + .style("stroke-width", 4) + .style("stroke-opacity", .6) + .style("cursor", "pointer") + .style("fill", function(d,i) { return colours(i); }) + .style("stroke", function(d,i) { return colours(i); }); + + + // Text styles + diagram.text + .style("fill", function(d,i) { return colours(i)}) + .style("cursor", "pointer") + .style("font-size", "14px") + .style("font-weight", "500"); + + + // Add interaction + diagram.nodes + .on("mouseover", function(d, i) { + var node = d3.select(this).transition(); + node.select("circle").style("fill-opacity", .1); + node.select("text").style("font-weight", "500").style("font-size", "16px"); + }) + .on("mouseout", function(d, i) { + var node = d3.select(this).transition(); + node.select("circle").style("fill-opacity", 0); + node.select("text").style("font-weight", "500").style("font-size", "14px"); + }) + .on("click", function(d, i) { + alert("You have clicked on one of the rings!") + }); +}); diff --git a/Show-Crypto-Currency-Price-in-Graph/amol/public/assets/js/charts/d3/venn/venn_rings.js b/Show-Crypto-Currency-Price-in-Graph/amol/public/assets/js/charts/d3/venn/venn_rings.js new file mode 100644 index 0000000..866ff50 --- /dev/null +++ b/Show-Crypto-Currency-Price-in-Graph/amol/public/assets/js/charts/d3/venn/venn_rings.js @@ -0,0 +1,66 @@ +/* ------------------------------------------------------------------------------ + * + * # D3.js - ring Venn diagram + * + * Venn diagram demo with ring style option + * + * Version: 1.0 + * Latest update: August 1, 2015 + * + * ---------------------------------------------------------------------------- */ + +$(function () { + + + // Data set + // ------------------------------ + + // Circles + var sets = [ + {label: 'SE', size: 28}, + {label: 'Treat', size: 35}, + {label: 'Anti-CCP', size: 108}, + {label: 'DAS28', size: 106} + ]; + + // Overlaps + var overlaps = [ + {sets: [0,1], size: 1}, + {sets: [0,2], size: 1}, + {sets: [0,3], size: 14}, + {sets: [1,2], size: 6}, + {sets: [1,3], size: 0}, + {sets: [2,3], size: 1}, + {sets: [0,2,3], size: 1}, + {sets: [0,1,2], size: 0}, + {sets: [0,1,3], size: 0}, + {sets: [1,2,3], size: 0}, + {sets: [0,1,2,3], size: 0} + ]; + + + // Initialize chart + // ------------------------------ + + // Define colors + var colours = d3.scale.category10(); + + + // Draw diagram + var diagram = venn.drawD3Diagram(d3.select("#d3-venn-rings"), venn.venn(sets, overlaps), 350, 350); + + + // Style circles + diagram.circles + .style("fill-opacity", 0) + .style("stroke-width", 6) + .style("stroke-opacity", .6) + .style("fill", function(d,i) { return colours(i); }) + .style("stroke", function(d,i) { return colours(i); }); + + + // Style text + diagram.text + .style("fill", function(d,i) { return colours(i)}) + .style("font-weight", "500"); +}); diff --git a/Show-Crypto-Currency-Price-in-Graph/amol/public/assets/js/charts/d3/venn/venn_tooltip.js b/Show-Crypto-Currency-Price-in-Graph/amol/public/assets/js/charts/d3/venn/venn_tooltip.js new file mode 100644 index 0000000..68b7f8c --- /dev/null +++ b/Show-Crypto-Currency-Price-in-Graph/amol/public/assets/js/charts/d3/venn/venn_tooltip.js @@ -0,0 +1,137 @@ +/* ------------------------------------------------------------------------------ + * + * # D3.js - Venn diagram with tooltip + * + * Venn diagram demo setup with interactive data tooltip + * + * Version: 1.0 + * Latest update: August 1, 2015 + * + * ---------------------------------------------------------------------------- */ + +$(function () { + + + // Data set + // ------------------------------ + + // Circles + var sets = [ + {label: 'SE', size: 28}, + {label: 'Treat', size: 35}, + {label: 'Anti-CCP', size: 108}, + {label: 'DAS28', size: 106} + ]; + + // Overlaps + var overlaps = [ + {sets: [0,1], size: 1}, + {sets: [0,2], size: 1}, + {sets: [0,3], size: 14}, + {sets: [1,2], size: 6}, + {sets: [1,3], size: 0}, + {sets: [2,3], size: 1}, + {sets: [0,2,3], size: 1}, + {sets: [0,1,2], size: 0}, + {sets: [0,1,3], size: 0}, + {sets: [1,2,3], size: 0}, + {sets: [0,1,2,3], size: 0} + ]; + + + // Initialize chart + // ------------------------------ + + // Define colors + var colours = d3.scale.category10(); + + // Get positions for each set + sets = venn.venn(sets, overlaps); + + // Draw the diagram in the 'venn' div + var diagram = venn.drawD3Diagram(d3.select("#d3-venn-tooltip"), sets, 350, 350); + + + // Add tooltip + // ------------------------------ + + // Add a tooltip showing the size of each set/intersection + var tooltip = d3.select("body").append("div") + .attr("class", "venntooltip"); + + d3.selection.prototype.moveParentToFront = function() { + return this.each(function(){ + this.parentNode.parentNode.appendChild(this.parentNode); + }); + }; + + // Text styling + diagram.text.style("fill", "white").style("font-weight", "500").style("cursor", "pointer"); + + // Hover on all the circles + diagram.circles + .style("stroke-opacity", 0) + .style("stroke", "white") + .style("stroke-width", "2") + .style("fill-opacity", .7); + + + // Add events + diagram.nodes + .on("mousemove", function() { + tooltip.style("left", (d3.event.pageX + 20) + "px") + .style("top", (d3.event.pageY - 15) + "px"); + }) + .on("mouseover", function(d, i) { + var selection = d3.select(this).select("circle"); + selection.moveParentToFront() + .transition() + .style("fill-opacity", .7) + .style("cursor", "pointer") + .style("stroke-opacity", 1); + + tooltip.transition().style("display", "block"); + tooltip.text(d.size + " users"); + }) + .on("mouseout", function(d, i) { + d3.select(this).select("circle").transition() + .style("fill-opacity", .7) + .style("stroke-opacity", 0); + + tooltip.transition().style("display", "none"); + }); + + + // Draw a path around each intersection area, add hover there as well + diagram.svg.selectAll("path") + .data(overlaps) + .enter() + .append("path") + .attr("d", function(d) { + return venn.intersectionAreaPath(d.sets.map(function(j) { return sets[j]; })); + }) + .style("fill-opacity","0") + .style("fill", "#333") + .style("stroke-opacity", 0) + .style("stroke", "white") + .style("stroke-width", "2") + .on("mouseover", function(d, i) { + d3.select(this).transition() + .style("fill-opacity", .1) + .style("stroke-opacity", 1); + + tooltip.transition().style("display", "block"); + tooltip.text(d.size + " users"); + }) + .on("mouseout", function(d, i) { + d3.select(this).transition() + .style("fill-opacity", 0) + .style("stroke-opacity", 0); + + tooltip.transition().style("display", "none"); + }) + .on("mousemove", function() { + tooltip.style("left", (d3.event.pageX + 20) + "px") + .style("top", (d3.event.pageY - 15) + "px"); + }); +}); diff --git a/Show-Crypto-Currency-Price-in-Graph/amol/public/assets/js/charts/d3/venn/venn_weighted.js b/Show-Crypto-Currency-Price-in-Graph/amol/public/assets/js/charts/d3/venn/venn_weighted.js new file mode 100644 index 0000000..f255ce4 --- /dev/null +++ b/Show-Crypto-Currency-Price-in-Graph/amol/public/assets/js/charts/d3/venn/venn_weighted.js @@ -0,0 +1,75 @@ +/* ------------------------------------------------------------------------------ + * + * # D3.js - weighted Venn diagram + * + * Venn diagram demo with weights + * + * Version: 1.0 + * Latest update: August 1, 2015 + * + * ---------------------------------------------------------------------------- */ + +$(function () { + + + // Data set + // ------------------------------ + + // Circles + var sets = [{label: "0", size: 7000}, + {label: "1", size: 7000}, + {label: "2", size: 2000}, + {label: "3", size: 11000}, + {label: "4", size: 11000}]; + + // Overlaps + var overlaps = [{id: 1, sets: [2,0], size: 300}, + {id: 2, sets: [2,1], size: 300}, + {id: 4, sets: [2,3], size: 100}, + {id: 5, sets: [2,4], size: 100}, + {sets: [0,0], size: 0, weight: 1e-10}, + {sets: [0,1], size: 0, weight: 1e-10}, + {sets: [0,3], size: 0, weight: 1e-10}, + {sets: [0,4], size: 0, weight: 1e-10}, + {sets: [1,0], size: 0, weight: 1e-10}, + {sets: [1,1], size: 0, weight: 1e-10}, + {sets: [1,3], size: 0, weight: 1e-10}, + {sets: [1,4], size: 0, weight: 1e-10}, + {sets: [3,0], size: 0, weight: 1e-10}, + {sets: [3,1], size: 0, weight: 1e-10}, + {sets: [3,3], size: 0, weight: 1e-10}, + {sets: [3,4], size: 0, weight: 1e-10}, + {sets: [4,0], size: 0, weight: 1e-10}, + {sets: [4,1], size: 0, weight: 1e-10}, + {sets: [4,3], size: 0, weight: 1e-10}, + {sets: [4,4], size: 0, weight: 1e-10}]; + + + // Initialize chart + // ------------------------------ + + // Colors + var colours = d3.scale.category10(); + + + // Bind data + sets = venn.venn(sets, overlaps); + + + // Draw diagram + var diagram = venn.drawD3Diagram(d3.select("#d3-venn-weighted"), sets, 350, 350); + + + // Circle styles + diagram.circles + .style("fill-opacity", .7) + .style("stroke-opacity", 0) + .style("fill", function(d,i) { return colours(i); }) + .style("stroke", function(d,i) { return colours(i); }); + + + // Text styles + diagram.text + .style("fill", "white") + .style("font-weight", "500"); +}); diff --git a/Show-Crypto-Currency-Price-in-Graph/amol/public/assets/js/charts/dimple/area/area_horizontal.js b/Show-Crypto-Currency-Price-in-Graph/amol/public/assets/js/charts/dimple/area/area_horizontal.js new file mode 100644 index 0000000..2c03cb8 --- /dev/null +++ b/Show-Crypto-Currency-Price-in-Graph/amol/public/assets/js/charts/dimple/area/area_horizontal.js @@ -0,0 +1,100 @@ +/* ------------------------------------------------------------------------------ + * + * # Dimple.js - horizontal area + * + * Demo of area chart. Data stored in .tsv file format + * + * Version: 1.0 + * Latest update: August 1, 2015 + * + * ---------------------------------------------------------------------------- */ + +$(function () { + + // Construct chart + var svg = dimple.newSvg("#dimple-area-horizontal", "100%", 500); + + + // Chart setup + // ------------------------------ + + d3.tsv("assets/demo_data/dimple/demo_data.tsv", function (data) { + + // Filter data + data = dimple.filterData(data, "Owner", ["Aperture", "Black Mesa"]) + + + // Create chart + // ------------------------------ + + // Define chart + var myChart = new dimple.chart(svg, data); + + // Set bounds + myChart.setBounds(0, 0, "100%", "100%"); + + // Set margins + myChart.setMargins(55, 10, 10, 50); + + + // Create axes + // ------------------------------ + + // Horizontal + var x = myChart.addCategoryAxis("x", "Month"); + x.addOrderRule("Date"); + + // Vertical + var y = myChart.addMeasureAxis("y", "Unit Sales"); + + + // Construct layout + // ------------------------------ + + // Add area + var s = myChart + .addSeries(null, dimple.plot.area) + .interpolation = "basis"; + + + // Add styles + // ------------------------------ + + // Font size + x.fontSize = "12"; + y.fontSize = "12"; + + // Font family + x.fontFamily = "Roboto"; + y.fontFamily = "Roboto"; + + + // + // Draw chart + // + + // Draw + myChart.draw(); + + // Remove axis titles + x.titleShape.remove(); + + + // Resize chart + // ------------------------------ + + // Add a method to draw the chart on resize of the window + $(window).on('resize', resize); + $('.sidebar-control').on('click', resize); + + // Resize function + function resize() { + + // Redraw chart + myChart.draw(0, true); + + // Remove axis titles + x.titleShape.remove(); + } + }); +}); \ No newline at end of file diff --git a/Show-Crypto-Currency-Price-in-Graph/amol/public/assets/js/charts/dimple/area/area_horizontal_grouped.js b/Show-Crypto-Currency-Price-in-Graph/amol/public/assets/js/charts/dimple/area/area_horizontal_grouped.js new file mode 100644 index 0000000..e0891ab --- /dev/null +++ b/Show-Crypto-Currency-Price-in-Graph/amol/public/assets/js/charts/dimple/area/area_horizontal_grouped.js @@ -0,0 +1,100 @@ +/* ------------------------------------------------------------------------------ + * + * # Dimple.js - horizontal grouped area + * + * Demo of grouped area chart. Data stored in .tsv file format + * + * Version: 1.0 + * Latest update: August 1, 2015 + * + * ---------------------------------------------------------------------------- */ + +$(function () { + + // Construct chart + var svg = dimple.newSvg("#dimple-area-horizontal-grouped", "100%", 500); + + + // Chart setup + // ------------------------------ + + d3.tsv("assets/demo_data/dimple/demo_data.tsv", function (data) { + + // Filter data + data = dimple.filterData(data, "Owner", ["Aperture", "Black Mesa"]) + + + // Create chart + // ------------------------------ + + // Define chart + var myChart = new dimple.chart(svg, data); + + // Set bounds + myChart.setBounds(0, 0, "100%", "100%"); + + // Set margins + myChart.setMargins(55, 10, 10, 45); + + + // Create axes + // ------------------------------ + + // Horizontal + var x = myChart.addCategoryAxis("x", ["Owner", "Month"]); + x.addGroupOrderRule("Date"); + + // Vertical + var y = myChart.addMeasureAxis("y", "Unit Sales"); + + + // Construct layout + // ------------------------------ + + // Add area + var s = myChart + .addSeries("Owner", dimple.plot.area) + .interpolation = "basis"; + + // Line weight + s.lineWeight = 1; + + // Area spacing + s.barGap = 0.05; + + + // Add styles + // ------------------------------ + + // Font size + x.fontSize = "12"; + y.fontSize = "12"; + + // Font family + x.fontFamily = "Roboto"; + y.fontFamily = "Roboto"; + + + // + // Draw chart + // + + // Draw + myChart.draw(); + + + // Resize chart + // ------------------------------ + + // Add a method to draw the chart on resize of the window + $(window).on('resize', resize); + $('.sidebar-control').on('click', resize); + + // Resize function + function resize() { + + // Redraw chart + myChart.draw(0, true); + } + }); +}); \ No newline at end of file diff --git a/Show-Crypto-Currency-Price-in-Graph/amol/public/assets/js/charts/dimple/area/area_horizontal_stacked.js b/Show-Crypto-Currency-Price-in-Graph/amol/public/assets/js/charts/dimple/area/area_horizontal_stacked.js new file mode 100644 index 0000000..79cbdbc --- /dev/null +++ b/Show-Crypto-Currency-Price-in-Graph/amol/public/assets/js/charts/dimple/area/area_horizontal_stacked.js @@ -0,0 +1,116 @@ +/* ------------------------------------------------------------------------------ + * + * # Dimple.js - horizontal stacked area + * + * Demo of stacked area chart. Data stored in .tsv file format + * + * Version: 1.0 + * Latest update: August 1, 2015 + * + * ---------------------------------------------------------------------------- */ + +$(function () { + + // Construct chart + var svg = dimple.newSvg("#dimple-area-horizontal-stacked", "100%", 500); + + + // Chart setup + // ------------------------------ + + d3.tsv("assets/demo_data/dimple/demo_data.tsv", function (data) { + + // Filter data + data = dimple.filterData(data, "Owner", ["Aperture", "Black Mesa"]) + + + // Create chart + // ------------------------------ + + // Define chart + var myChart = new dimple.chart(svg, data); + + // Set bounds + myChart.setBounds(0, 0, "100%", "100%"); + + // Set margins + myChart.setMargins(55, 25, 10, 50); + + + // Create axes + // ------------------------------ + + // Horizontal + var x = myChart.addCategoryAxis("x", "Month"); + x.addOrderRule("Date"); + + // Vertical + var y = myChart.addMeasureAxis("y", "Unit Sales"); + + + // Construct layout + // ------------------------------ + + // Add area + var s = myChart + .addSeries("Channel", dimple.plot.area) + .interpolation = "basis"; + + + // Add legend + // ------------------------------ + + var myLegend = myChart.addLegend(0, 5, "100%", 0, "right"); + + + // Add styles + // ------------------------------ + + // Font size + x.fontSize = "12"; + y.fontSize = "12"; + + // Font family + x.fontFamily = "Roboto"; + y.fontFamily = "Roboto"; + + // Legend font style + myLegend.fontSize = "12"; + myLegend.fontFamily = "Roboto"; + + + // + // Draw chart + // + + // Draw + myChart.draw(); + + // Position legend text + myLegend.shapes.selectAll("text").attr("dy", "1"); + + // Remove axis titles + x.titleShape.remove(); + + + // Resize chart + // ------------------------------ + + // Add a method to draw the chart on resize of the window + $(window).on('resize', resize); + $('.sidebar-control').on('click', resize); + + // Resize function + function resize() { + + // Redraw chart + myChart.draw(0, true); + + // Position legend text + myLegend.shapes.selectAll("text").attr("dy", "1"); + + // Remove axis titles + x.titleShape.remove(); + } + }); +}); \ No newline at end of file diff --git a/Show-Crypto-Currency-Price-in-Graph/amol/public/assets/js/charts/dimple/area/area_horizontal_stacked_grouped.js b/Show-Crypto-Currency-Price-in-Graph/amol/public/assets/js/charts/dimple/area/area_horizontal_stacked_grouped.js new file mode 100644 index 0000000..d3bd70d --- /dev/null +++ b/Show-Crypto-Currency-Price-in-Graph/amol/public/assets/js/charts/dimple/area/area_horizontal_stacked_grouped.js @@ -0,0 +1,116 @@ +/* ------------------------------------------------------------------------------ + * + * # Dimple.js - horizontal grouped stacked area + * + * Demo of grouped stacked area chart. Data stored in .tsv file format + * + * Version: 1.0 + * Latest update: August 1, 2015 + * + * ---------------------------------------------------------------------------- */ + +$(function () { + + // Construct chart + var svg = dimple.newSvg("#dimple-area-horizontal-stacked-grouped", "100%", 500); + + + // Chart setup + // ------------------------------ + + d3.tsv("assets/demo_data/dimple/demo_data.tsv", function (data) { + + // Filter data + data = dimple.filterData(data, "Owner", ["Aperture", "Black Mesa"]) + + + // Create chart + // ------------------------------ + + // Define chart + var myChart = new dimple.chart(svg, data); + + // Set bounds + myChart.setBounds(0, 0, "100%", "100%"); + + // Set margins + myChart.setMargins(55, 10, 180, 45); + + + // Create axes + // ------------------------------ + + // Horizontal + var x = myChart.addCategoryAxis("x", ["Owner", "Month"]); + x.addGroupOrderRule("Date"); + + // Vertical + var y = myChart.addMeasureAxis("y", "Unit Sales"); + + + // Construct layout + // ------------------------------ + + // Add area + var s = myChart + .addSeries("SKU", dimple.plot.area) + .interpolation = "basis"; + + // Line weight + s.lineWeight = 1; + + // Area spacing + s.barGap = 0.05; + + + // Add legend + // ------------------------------ + + var myLegend = myChart.addLegend("100%", 0, 0, "100%", "right"); + + + // Add styles + // ------------------------------ + + // Font size + x.fontSize = "12"; + y.fontSize = "12"; + + // Font family + x.fontFamily = "Roboto"; + y.fontFamily = "Roboto"; + + // Legend font style + myLegend.fontSize = "12"; + myLegend.fontFamily = "Roboto"; + + + // + // Draw chart + // + + // Draw + myChart.draw(); + + // Position legend text + myLegend.shapes.selectAll("text").attr("dy", "1"); + + + // Resize chart + // ------------------------------ + + // Add a method to draw the chart on resize of the window + $(window).on('resize', resize); + $('.sidebar-control').on('click', resize); + + // Resize function + function resize() { + + // Redraw chart + myChart.draw(0, true); + + // Position legend text + myLegend.shapes.selectAll("text").attr("dy", "1"); + } + }); +}); \ No newline at end of file diff --git a/Show-Crypto-Currency-Price-in-Graph/amol/public/assets/js/charts/dimple/area/area_horizontal_stacked_normalized.js b/Show-Crypto-Currency-Price-in-Graph/amol/public/assets/js/charts/dimple/area/area_horizontal_stacked_normalized.js new file mode 100644 index 0000000..09b821f --- /dev/null +++ b/Show-Crypto-Currency-Price-in-Graph/amol/public/assets/js/charts/dimple/area/area_horizontal_stacked_normalized.js @@ -0,0 +1,116 @@ +/* ------------------------------------------------------------------------------ + * + * # Dimple.js - horizontal normalized stacked area + * + * Demo of normalized stacked area chart. Data stored in .tsv file format + * + * Version: 1.0 + * Latest update: August 1, 2015 + * + * ---------------------------------------------------------------------------- */ + +$(function () { + + // Construct chart + var svg = dimple.newSvg("#dimple-area-horizontal-stacked-normalized", "100%", 500); + + + // Chart setup + // ------------------------------ + + d3.tsv("assets/demo_data/dimple/demo_data.tsv", function (data) { + + // Filter data + data = dimple.filterData(data, "Owner", ["Aperture", "Black Mesa"]) + + + // Create chart + // ------------------------------ + + // Define chart + var myChart = new dimple.chart(svg, data); + + // Set bounds + myChart.setBounds(0, 0, "100%", "100%"); + + // Set margins + myChart.setMargins(55, 25, 10, 50); + + + // Create axes + // ------------------------------ + + // Horizontal + var x = myChart.addCategoryAxis("x", "Month"); + x.addOrderRule("Date"); + + // Vertical + var y = myChart.addPctAxis("y", "Unit Sales"); + + + // Construct layout + // ------------------------------ + + // Add area + myChart + .addSeries("Channel", dimple.plot.area) + .interpolation = "basis"; + + + // Add legend + // ------------------------------ + + var myLegend = myChart.addLegend(0, 5, "100%", 0, "right"); + + + // Add styles + // ------------------------------ + + // Font size + x.fontSize = "12"; + y.fontSize = "12"; + + // Font family + x.fontFamily = "Roboto"; + y.fontFamily = "Roboto"; + + // Legend font style + myLegend.fontSize = "12"; + myLegend.fontFamily = "Roboto"; + + + // + // Draw chart + // + + // Draw + myChart.draw(); + + // Position legend text + myLegend.shapes.selectAll("text").attr("dy", "1"); + + // Remove axis titles + x.titleShape.remove(); + + + // Resize chart + // ------------------------------ + + // Add a method to draw the chart on resize of the window + $(window).on('resize', resize); + $('.sidebar-control').on('click', resize); + + // Resize function + function resize() { + + // Redraw chart + myChart.draw(0, true); + + // Position legend text + myLegend.shapes.selectAll("text").attr("dy", "1"); + + // Remove axis titles + x.titleShape.remove(); + } + }); +}); \ No newline at end of file diff --git a/Show-Crypto-Currency-Price-in-Graph/amol/public/assets/js/charts/dimple/area/area_vertical.js b/Show-Crypto-Currency-Price-in-Graph/amol/public/assets/js/charts/dimple/area/area_vertical.js new file mode 100644 index 0000000..74734d6 --- /dev/null +++ b/Show-Crypto-Currency-Price-in-Graph/amol/public/assets/js/charts/dimple/area/area_vertical.js @@ -0,0 +1,91 @@ +/* ------------------------------------------------------------------------------ + * + * # Dimple.js - vertical area + * + * Demo of area chart. Data stored in .tsv file format + * + * Version: 1.0 + * Latest update: August 1, 2015 + * + * ---------------------------------------------------------------------------- */ + +$(function () { + + // Construct chart + var svg = dimple.newSvg("#dimple-area-vertical", "100%", 500); + + + d3.tsv("assets/demo_data/dimple/demo_data.tsv", function (data) { + + // Filter data + data = dimple.filterData(data, "Owner", ["Aperture", "Black Mesa"]) + + + // Create chart + // ------------------------------ + + // Define chart + var myChart = new dimple.chart(svg, data); + + // Set bounds + myChart.setBounds(0, 0, "100%", "100%"); + + // Set margins + myChart.setMargins(55, 5, 20, 40); + + + // Create axes + // ------------------------------ + + // Horizontal + var x = myChart.addMeasureAxis("x", "Unit Sales"); + + // Vertical + var y = myChart.addCategoryAxis("y", "Month"); + y.addOrderRule("Date"); + + + // Construct layout + // ------------------------------ + + // Add area + var s = myChart + .addSeries(null, dimple.plot.area) + .interpolation = "basis"; + + + // Add styles + // ------------------------------ + + // Font size + x.fontSize = "12"; + y.fontSize = "12"; + + // Font family + x.fontFamily = "Roboto"; + y.fontFamily = "Roboto"; + + + // + // Draw chart + // + + // Draw + myChart.draw(); + + + // Resize chart + // ------------------------------ + + // Add a method to draw the chart on resize of the window + $(window).on('resize', resize); + $('.sidebar-control').on('click', resize); + + // Resize function + function resize() { + + // Redraw chart + myChart.draw(0, true); + } + }); +}); \ No newline at end of file diff --git a/Show-Crypto-Currency-Price-in-Graph/amol/public/assets/js/charts/dimple/area/area_vertical_grouped.js b/Show-Crypto-Currency-Price-in-Graph/amol/public/assets/js/charts/dimple/area/area_vertical_grouped.js new file mode 100644 index 0000000..0b7af69 --- /dev/null +++ b/Show-Crypto-Currency-Price-in-Graph/amol/public/assets/js/charts/dimple/area/area_vertical_grouped.js @@ -0,0 +1,100 @@ +/* ------------------------------------------------------------------------------ + * + * # Dimple.js - vertical grouped area + * + * Demo of grouped area chart. Data stored in .tsv file format + * + * Version: 1.0 + * Latest update: August 1, 2015 + * + * ---------------------------------------------------------------------------- */ + +$(function () { + + // Construct chart + var svg = dimple.newSvg("#dimple-area-vertical-grouped", "100%", 500); + + + // Chart setup + // ------------------------------ + + d3.tsv("assets/demo_data/dimple/demo_data.tsv", function (data) { + + // Filter data + data = dimple.filterData(data, "Owner", ["Aperture", "Black Mesa"]) + + + // Create chart + // ------------------------------ + + // Define chart + var myChart = new dimple.chart(svg, data); + + // Set bounds + myChart.setBounds(0, 0, "100%", "100%"); + + // Set margins + myChart.setMargins(70, 5, 20, 45); + + + // Create axes + // ------------------------------ + + // Horizontal + var x = myChart.addMeasureAxis("x", "Unit Sales"); + + // Vertical + var y = myChart.addCategoryAxis("y", ["Owner", "Month"]); + y.addGroupOrderRule("Date"); + + + // Construct layout + // ------------------------------ + + // Add area + var s = myChart + .addSeries("Owner", dimple.plot.area) + .interpolation = "basis"; + + // Line weight + s.lineWeight = 1; + + // Area spacing + s.barGap = 0.05; + + + // Add styles + // ------------------------------ + + // Font size + x.fontSize = "12"; + y.fontSize = "12"; + + // Font family + x.fontFamily = "Roboto"; + y.fontFamily = "Roboto"; + + + // + // Draw chart + // + + // Draw + myChart.draw(); + + + // Resize chart + // ------------------------------ + + // Add a method to draw the chart on resize of the window + $(window).on('resize', resize); + $('.sidebar-control').on('click', resize); + + // Resize function + function resize() { + + // Redraw chart + myChart.draw(0, true); + } + }); +}); \ No newline at end of file diff --git a/Show-Crypto-Currency-Price-in-Graph/amol/public/assets/js/charts/dimple/area/area_vertical_stacked.js b/Show-Crypto-Currency-Price-in-Graph/amol/public/assets/js/charts/dimple/area/area_vertical_stacked.js new file mode 100644 index 0000000..fba4de1 --- /dev/null +++ b/Show-Crypto-Currency-Price-in-Graph/amol/public/assets/js/charts/dimple/area/area_vertical_stacked.js @@ -0,0 +1,110 @@ +/* ------------------------------------------------------------------------------ + * + * # Dimple.js - vertical stacked area + * + * Demo of stacked area chart. Data stored in .tsv file format + * + * Version: 1.0 + * Latest update: August 1, 2015 + * + * ---------------------------------------------------------------------------- */ + +$(function () { + + // Construct chart + var svg = dimple.newSvg("#dimple-area-vertical-stacked", "100%", 500); + + + // Chart setup + // ------------------------------ + + d3.tsv("assets/demo_data/dimple/demo_data.tsv", function (data) { + + // Filter data + data = dimple.filterData(data, "Owner", ["Aperture", "Black Mesa"]) + + + // Create chart + // ------------------------------ + + // Define chart + var myChart = new dimple.chart(svg, data); + + // Set bounds + myChart.setBounds(0, 0, "100%", "100%"); + + // Set margins + myChart.setMargins(55, 25, 20, 40); + + + // Create axes + // ------------------------------ + + // Horizontal + var x = myChart.addMeasureAxis("x", "Unit Sales"); + + // Vertical + var y = myChart.addCategoryAxis("y", "Month"); + y.addOrderRule("Date"); + + + // Construct layout + // ------------------------------ + + // Add area + myChart + .addSeries("Channel", dimple.plot.area) + .interpolation = "basis"; + + + // Add legend + // ------------------------------ + + var myLegend = myChart.addLegend(0, 5, "100%", 0, "left"); + + + // Add styles + // ------------------------------ + + // Font size + x.fontSize = "12"; + y.fontSize = "12"; + + // Font family + x.fontFamily = "Roboto"; + y.fontFamily = "Roboto"; + + // Legend font style + myLegend.fontSize = "12"; + myLegend.fontFamily = "Roboto"; + + + // + // Draw chart + // + + // Draw + myChart.draw(); + + // Position legend text + myLegend.shapes.selectAll("text").attr("dy", "1"); + + + // Resize chart + // ------------------------------ + + // Add a method to draw the chart on resize of the window + $(window).on('resize', resize); + $('.sidebar-control').on('click', resize); + + // Resize function + function resize() { + + // Redraw chart + myChart.draw(0, true); + + // Position legend text + myLegend.shapes.selectAll("text").attr("dy", "1"); + } + }); +}); \ No newline at end of file diff --git a/Show-Crypto-Currency-Price-in-Graph/amol/public/assets/js/charts/dimple/area/area_vertical_stacked_grouped.js b/Show-Crypto-Currency-Price-in-Graph/amol/public/assets/js/charts/dimple/area/area_vertical_stacked_grouped.js new file mode 100644 index 0000000..fff73b9 --- /dev/null +++ b/Show-Crypto-Currency-Price-in-Graph/amol/public/assets/js/charts/dimple/area/area_vertical_stacked_grouped.js @@ -0,0 +1,114 @@ +/* ------------------------------------------------------------------------------ + * + * # Dimple.js - vertical grouped stacked area + * + * Demo of grouped stacked area chart. Data stored in .tsv file format + * + * Version: 1.0 + * Latest update: August 1, 2015 + * + * ---------------------------------------------------------------------------- */ + +$(function () { + + // Construct chart + var svg = dimple.newSvg("#dimple-area-vertical-stacked-grouped", "100%", 500); + + + // Chart setup + // ------------------------------ + + d3.tsv("assets/demo_data/dimple/demo_data.tsv", function (data) { + + // Filter data + data = dimple.filterData(data, "Owner", ["Aperture", "Black Mesa"]) + + + // Create chart + // ------------------------------ + + // Define chart + var myChart = new dimple.chart(svg, data); + + // Set bounds + myChart.setBounds(0, 0, "100%", "100%"); + + // Set margins + myChart.setMargins(70, 5, 180, 45); + + + // Create axes + // ------------------------------ + + // Horizontal + var x = myChart.addMeasureAxis("x", "Unit Sales"); + + // Vertical + var y = myChart.addCategoryAxis("y", ["Owner", "Month"]); + y.addGroupOrderRule("Date"); + + + // Construct layout + // ------------------------------ + + // Add area + var s = myChart.addSeries("SKU", dimple.plot.area); + + // Line weight + s.lineWeight = 1; + + // Area spacing + s.barGap = 0.05; + + + // Add legend + // ------------------------------ + + var myLegend = myChart.addLegend("100%", 0, 0, "100%", "right"); + + + // Add styles + // ------------------------------ + + // Font size + x.fontSize = "12"; + y.fontSize = "12"; + + // Font family + x.fontFamily = "Roboto"; + y.fontFamily = "Roboto"; + + // Legend font style + myLegend.fontSize = "12"; + myLegend.fontFamily = "Roboto"; + + + // + // Draw chart + // + + // Draw + myChart.draw(); + + // Position legend text + myLegend.shapes.selectAll("text").attr("dy", "1"); + + + // Resize chart + // ------------------------------ + + // Add a method to draw the chart on resize of the window + $(window).on('resize', resize); + $('.sidebar-control').on('click', resize); + + // Resize function + function resize() { + + // Redraw chart + myChart.draw(0, true); + + // Position legend text + myLegend.shapes.selectAll("text").attr("dy", "1"); + } + }); +}); \ No newline at end of file diff --git a/Show-Crypto-Currency-Price-in-Graph/amol/public/assets/js/charts/dimple/area/area_vertical_stacked_normalized.js b/Show-Crypto-Currency-Price-in-Graph/amol/public/assets/js/charts/dimple/area/area_vertical_stacked_normalized.js new file mode 100644 index 0000000..22616a8 --- /dev/null +++ b/Show-Crypto-Currency-Price-in-Graph/amol/public/assets/js/charts/dimple/area/area_vertical_stacked_normalized.js @@ -0,0 +1,110 @@ +/* ------------------------------------------------------------------------------ + * + * # Dimple.js - vertical normalized stacked area + * + * Demo of normalized stacked area chart. Data stored in .tsv file format + * + * Version: 1.0 + * Latest update: August 1, 2015 + * + * ---------------------------------------------------------------------------- */ + +$(function () { + + // Construct chart + var svg = dimple.newSvg("#dimple-area-vertical-stacked-normalized", "100%", 500); + + + // Chart setup + // ------------------------------ + + d3.tsv("assets/demo_data/dimple/demo_data.tsv", function (data) { + + // Filter data + data = dimple.filterData(data, "Owner", ["Aperture", "Black Mesa"]) + + + // Create chart + // ------------------------------ + + // Define chart + var myChart = new dimple.chart(svg, data); + + // Set bounds + myChart.setBounds(0, 0, "100%", "100%"); + + // Set margins + myChart.setMargins(65, 25, 20, 40); + + + // Create axes + // ------------------------------ + + // Horizontal + var x = myChart.addPctAxis("x", "Unit Sales"); + + // Vertical + var y = myChart.addCategoryAxis("y", "Month"); + y.addOrderRule("Date"); + + + // Construct layout + // ------------------------------ + + // Add area + myChart + .addSeries("Channel", dimple.plot.area) + .interpolation = "basis"; + + + // Add legend + // ------------------------------ + + var myLegend = myChart.addLegend(0, 5, "100%", 0, "right"); + + + // Add styles + // ------------------------------ + + // Font size + x.fontSize = "12"; + y.fontSize = "12"; + + // Font family + x.fontFamily = "Roboto"; + y.fontFamily = "Roboto"; + + // Legend font style + myLegend.fontSize = "12"; + myLegend.fontFamily = "Roboto"; + + + // + // Draw chart + // + + // Draw + myChart.draw(); + + // Position legend text + myLegend.shapes.selectAll("text").attr("dy", "1"); + + + // Resize chart + // ------------------------------ + + // Add a method to draw the chart on resize of the window + $(window).on('resize', resize); + $('.sidebar-control').on('click', resize); + + // Resize function + function resize() { + + // Redraw chart + myChart.draw(0, true); + + // Position legend text + myLegend.shapes.selectAll("text").attr("dy", "1"); + } + }); +}); \ No newline at end of file diff --git a/Show-Crypto-Currency-Price-in-Graph/amol/public/assets/js/charts/dimple/bars/bar_horizontal.js b/Show-Crypto-Currency-Price-in-Graph/amol/public/assets/js/charts/dimple/bars/bar_horizontal.js new file mode 100644 index 0000000..e2c9190 --- /dev/null +++ b/Show-Crypto-Currency-Price-in-Graph/amol/public/assets/js/charts/dimple/bars/bar_horizontal.js @@ -0,0 +1,96 @@ +/* ------------------------------------------------------------------------------ + * + * # Dimple.js - horizontal bars + * + * Demo of bar chart. Data stored in .tsv file format + * + * Version: 1.0 + * Latest update: August 1, 2015 + * + * ---------------------------------------------------------------------------- */ + +$(function () { + + // Construct chart + var svg = dimple.newSvg("#dimple-bar-horizontal", "100%", 500); + + + // Chart setup + // ------------------------------ + + d3.tsv("assets/demo_data/dimple/demo_data.tsv", function (data) { + + + // Create chart + // ------------------------------ + + // Define chart + var myChart = new dimple.chart(svg, data); + + // Set bounds + myChart.setBounds(0, 0, "100%", "100%") + + // Set margins + myChart.setMargins(55, 5, 0, 50); + + + // Create axes + // ------------------------------ + + // Horizontal + var x = myChart.addCategoryAxis("x", "Month"); + x.addOrderRule("Date"); + + // Vertical + var y = myChart.addMeasureAxis("y", "Unit Sales"); + + + // Construct layout + // ------------------------------ + + // Add bars + myChart.addSeries(null, dimple.plot.bar); + + + // Add styles + // ------------------------------ + + // Font size + x.fontSize = "12"; + y.fontSize = "12"; + + // Font family + x.fontFamily = "Roboto"; + y.fontFamily = "Roboto"; + + + // + // Draw chart + // + + // Draw + myChart.draw(); + + // Remove axis titles + x.titleShape.remove(); + + + // Resize chart + // ------------------------------ + + // Add a method to draw the chart on resize of the window + $(window).on('resize', resize); + $('.sidebar-control').on('click', resize); + + // Resize function + function resize() { + + // Redraw chart + myChart.draw(0, true); + + // Remove axis titles + x.titleShape.remove(); + } + }); + +}); \ No newline at end of file diff --git a/Show-Crypto-Currency-Price-in-Graph/amol/public/assets/js/charts/dimple/bars/bar_horizontal_grouped.js b/Show-Crypto-Currency-Price-in-Graph/amol/public/assets/js/charts/dimple/bars/bar_horizontal_grouped.js new file mode 100644 index 0000000..dcbcfe5 --- /dev/null +++ b/Show-Crypto-Currency-Price-in-Graph/amol/public/assets/js/charts/dimple/bars/bar_horizontal_grouped.js @@ -0,0 +1,104 @@ +/* ------------------------------------------------------------------------------ + * + * # Dimple.js - horizontal grouped bars + * + * Demo of grouped bar chart. Data stored in .tsv file format + * + * Version: 1.0 + * Latest update: August 1, 2015 + * + * ---------------------------------------------------------------------------- */ + +$(function () { + + // Construct chart + var svg = dimple.newSvg("#dimple-bar-horizontal-grouped", "100%", 500); + + + // Chart setup + // ------------------------------ + + d3.tsv("assets/demo_data/dimple/demo_data.tsv", function (data) { + + + // Create chart + // ------------------------------ + + // Define chart + var myChart = new dimple.chart(svg, data); + + // Set bounds + myChart.setBounds(0, 0, "100%", "100%"); + + // Set margins + myChart.setMargins(60, 25, 10, 60); + + + // Create axes + // ------------------------------ + + // Horizontal + var x = myChart.addCategoryAxis("x", ["Price Tier", "Channel"]); + + // Vertical + var y = myChart.addMeasureAxis("y", "Unit Sales"); + + + // Construct layout + // ------------------------------ + + // Add bars + myChart.addSeries("Channel", dimple.plot.bar); + + + // Add legend + // ------------------------------ + + var myLegend = myChart.addLegend(0, 5, "100%", 0, "right"); + + + // Add styles + // ------------------------------ + + // Font size + x.fontSize = "12"; + y.fontSize = "12"; + + // Font family + x.fontFamily = "Roboto"; + y.fontFamily = "Roboto"; + + // Legend font style + myLegend.fontSize = "12"; + myLegend.fontFamily = "Roboto"; + + + // + // Draw chart + // + + // Draw + myChart.draw(); + + // Position legend text + myLegend.shapes.selectAll("text").attr("dy", "1"); + + + // Resize chart + // ------------------------------ + + // Add a method to draw the chart on resize of the window + $(window).on('resize', resize); + $('.sidebar-control').on('click', resize); + + // Resize function + function resize() { + + // Redraw chart + myChart.draw(0, true); + + // Position legend text + myLegend.shapes.selectAll("text").attr("dy", "1"); + } + }); +}); \ No newline at end of file diff --git a/Show-Crypto-Currency-Price-in-Graph/amol/public/assets/js/charts/dimple/bars/bar_horizontal_stacked.js b/Show-Crypto-Currency-Price-in-Graph/amol/public/assets/js/charts/dimple/bars/bar_horizontal_stacked.js new file mode 100644 index 0000000..3afc118 --- /dev/null +++ b/Show-Crypto-Currency-Price-in-Graph/amol/public/assets/js/charts/dimple/bars/bar_horizontal_stacked.js @@ -0,0 +1,112 @@ +/* ------------------------------------------------------------------------------ + * + * # Dimple.js - horizontal stacked bars + * + * Demo of stacked bar chart. Data stored in .tsv file format + * + * Version: 1.0 + * Latest update: August 1, 2015 + * + * ---------------------------------------------------------------------------- */ + +$(function () { + + // Construct chart + var svg = dimple.newSvg("#dimple-bar-horizontal-stacked", "100%", 500); + + + // Chart setup + // ------------------------------ + + d3.tsv("assets/demo_data/dimple/demo_data.tsv", function (data) { + + + // Create chart + // ------------------------------ + + // Define chart + var myChart = new dimple.chart(svg, data); + + // Set bounds + myChart.setBounds(0, 0, "100%", "100%"); + + // Set margins + myChart.setMargins(60, 25, 0, 50); + + + // Create axes + // ------------------------------ + + // Horizontal + var x = myChart.addCategoryAxis("x", "Month"); + x.addOrderRule("Date"); + + // Vertical + var y = myChart.addMeasureAxis("y", "Unit Sales"); + + + // Construct layout + // ------------------------------ + + // Add bars + myChart.addSeries("Channel", dimple.plot.bar); + + + // Add legend + // ------------------------------ + + var myLegend = myChart.addLegend(0, 5, "100%", 0, "right"); + + + // Add styles + // ------------------------------ + + // Font size + x.fontSize = "12"; + y.fontSize = "12"; + + // Font family + x.fontFamily = "Roboto"; + y.fontFamily = "Roboto"; + + // Legend font style + myLegend.fontSize = "12"; + myLegend.fontFamily = "Roboto"; + + + // + // Draw chart + // + + // Draw + myChart.draw(); + + // Remove axis titles + x.titleShape.remove(); + + // Position legend text + myLegend.shapes.selectAll("text").attr("dy", "1"); + + + // Resize chart + // ------------------------------ + + // Add a method to draw the chart on resize of the window + $(window).on('resize', resize); + $('.sidebar-control').on('click', resize); + + // Resize function + function resize() { + + // Redraw chart + myChart.draw(0, true); + + // Remove axis titles + x.titleShape.remove(); + + // Position legend text + myLegend.shapes.selectAll("text").attr("dy", "1"); + } + }); + +}); \ No newline at end of file diff --git a/Show-Crypto-Currency-Price-in-Graph/amol/public/assets/js/charts/dimple/bars/bar_horizontal_stacked_grouped.js b/Show-Crypto-Currency-Price-in-Graph/amol/public/assets/js/charts/dimple/bars/bar_horizontal_stacked_grouped.js new file mode 100644 index 0000000..58be3e1 --- /dev/null +++ b/Show-Crypto-Currency-Price-in-Graph/amol/public/assets/js/charts/dimple/bars/bar_horizontal_stacked_grouped.js @@ -0,0 +1,104 @@ +/* ------------------------------------------------------------------------------ + * + * # Dimple.js - horizontal grouped stacked bars + * + * Demo of grouped stacked bar chart. Data stored in .tsv file format + * + * Version: 1.0 + * Latest update: August 1, 2015 + * + * ---------------------------------------------------------------------------- */ + +$(function () { + + // Construct chart + var svg = dimple.newSvg("#dimple-bar-horizontal-stacked-grouped", "100%", 500); + + + // Chart setup + // ------------------------------ + + d3.tsv("assets/demo_data/dimple/demo_data.tsv", function (data) { + + + // Create chart + // ------------------------------ + + // Define chart + var myChart = new dimple.chart(svg, data); + + // Set bounds + myChart.setBounds(0, 0, "100%", "100%"); + + // Set margins + myChart.setMargins(60, 5, 120, 45); + + + // Create axes + // ------------------------------ + + // Horizontal + var x = myChart.addCategoryAxis("x", ["Price Tier", "Channel"]); + + // Vertical + var y = myChart.addMeasureAxis("y", "Unit Sales"); + + + // Construct layout + // ------------------------------ + + // Add bars + myChart.addSeries("Owner", dimple.plot.bar); + + + // Add legend + // ------------------------------ + + var myLegend = myChart.addLegend("100%", 0, 0, "100%", "right"); + + + // Add styles + // ------------------------------ + + // Font size + x.fontSize = "12"; + y.fontSize = "12"; + + // Font family + x.fontFamily = "Roboto"; + y.fontFamily = "Roboto"; + + // Legend font style + myLegend.fontSize = "12"; + myLegend.fontFamily = "Roboto"; + + + // + // Draw chart + // + + // Draw + myChart.draw(); + + // Position legend text + myLegend.shapes.selectAll("text").attr("dy", "1"); + + + // Resize chart + // ------------------------------ + + // Add a method to draw the chart on resize of the window + $(window).on('resize', resize); + $('.sidebar-control').on('click', resize); + + // Resize function + function resize() { + + // Redraw chart + myChart.draw(0, true); + + // Position legend text + myLegend.shapes.selectAll("text").attr("dy", "1"); + } + }); +}); \ No newline at end of file diff --git a/Show-Crypto-Currency-Price-in-Graph/amol/public/assets/js/charts/dimple/bars/bar_horizontal_stacked_normalized.js b/Show-Crypto-Currency-Price-in-Graph/amol/public/assets/js/charts/dimple/bars/bar_horizontal_stacked_normalized.js new file mode 100644 index 0000000..71e6909 --- /dev/null +++ b/Show-Crypto-Currency-Price-in-Graph/amol/public/assets/js/charts/dimple/bars/bar_horizontal_stacked_normalized.js @@ -0,0 +1,112 @@ +/* ------------------------------------------------------------------------------ + * + * # Dimple.js - horizontal normalized stacked bars + * + * Demo of normalized stacked bar chart. Data stored in .tsv file format + * + * Version: 1.0 + * Latest update: August 1, 2015 + * + * ---------------------------------------------------------------------------- */ + +$(function () { + + // Construct chart + var svg = dimple.newSvg("#dimple-bar-horizontal-stacked-normalized", "100%", 500); + + + // Chart setup + // ------------------------------ + + d3.tsv("assets/demo_data/dimple/demo_data.tsv", function (data) { + + + // Create chart + // ------------------------------ + + // Define chart + var myChart = new dimple.chart(svg, data); + + // Set bounds + myChart.setBounds(0, 0, "100%", "100%"); + + // Set margins + myChart.setMargins(60, 25, 0, 50); + + + // Create axes + // ------------------------------ + + // Horizontal + var x = myChart.addCategoryAxis("x", "Month"); + x.addOrderRule("Date"); + + // Vertical + var y = myChart.addPctAxis("y", "Unit Sales"); + + + // Construct layout + // ------------------------------ + + // Add bars + myChart.addSeries("Channel", dimple.plot.bar); + + + // Add legend + // ------------------------------ + + var myLegend = myChart.addLegend(0, 5, "100%", 0, "right"); + + + // Add styles + // ------------------------------ + + // Font size + x.fontSize = "12"; + y.fontSize = "12"; + + // Font family + x.fontFamily = "Roboto"; + y.fontFamily = "Roboto"; + + // Legend font style + myLegend.fontSize = "12"; + myLegend.fontFamily = "Roboto"; + + + // + // Draw chart + // + + // Draw + myChart.draw(); + + // Remove axis titles + x.titleShape.remove(); + + // Position legend text + myLegend.shapes.selectAll("text").attr("dy", "1"); + + + // Resize chart + // ------------------------------ + + // Add a method to draw the chart on resize of the window + $(window).on('resize', resize); + $('.sidebar-control').on('click', resize); + + // Resize function + function resize() { + + // Redraw chart + myChart.draw(0, true); + + // Remove axis titles + x.titleShape.remove(); + + // Position legend text + myLegend.shapes.selectAll("text").attr("dy", "1"); + } + }); + +}); \ No newline at end of file diff --git a/Show-Crypto-Currency-Price-in-Graph/amol/public/assets/js/charts/dimple/bars/bar_vertical.js b/Show-Crypto-Currency-Price-in-Graph/amol/public/assets/js/charts/dimple/bars/bar_vertical.js new file mode 100644 index 0000000..a1a21fb --- /dev/null +++ b/Show-Crypto-Currency-Price-in-Graph/amol/public/assets/js/charts/dimple/bars/bar_vertical.js @@ -0,0 +1,96 @@ +/* ------------------------------------------------------------------------------ + * + * # Dimple.js - vertical bars + * + * Demo of bar chart. Data stored in .tsv file format + * + * Version: 1.0 + * Latest update: August 1, 2015 + * + * ---------------------------------------------------------------------------- */ + +$(function () { + + // Construct chart + var svg = dimple.newSvg("#dimple-bar-vertical", "100%", 500); + + + // Chart setup + // ------------------------------ + + d3.tsv("assets/demo_data/dimple/demo_data.tsv", function (data) { + + + // Create chart + // ------------------------------ + + // Define chart + var myChart = new dimple.chart(svg, data); + + // Set bounds + myChart.setBounds(0, 0, "100%", "100%") + + // Set margins + myChart.setMargins(70, 5, 20, 30); + + + // Create axes + // ------------------------------ + + // Horizontal + var x = myChart.addMeasureAxis("x", "Unit Sales"); + + // Vertical + var y = myChart.addCategoryAxis("y", "Month"); + y.addOrderRule("Date"); + + + // Construct layout + // ------------------------------ + + // Add bars + myChart.addSeries(null, dimple.plot.bar); + + + // Add styles + // ------------------------------ + + // Font size + x.fontSize = "12"; + y.fontSize = "12"; + + // Font family + x.fontFamily = "Roboto"; + y.fontFamily = "Roboto"; + + + // + // Draw chart + // + + // Draw + myChart.draw(); + + // Remove axis titles + x.titleShape.remove(); + + + // Resize chart + // ------------------------------ + + // Add a method to draw the chart on resize of the window + $(window).on('resize', resize); + $('.sidebar-control').on('click', resize); + + // Resize function + function resize() { + + // Redraw chart + myChart.draw(0, true); + + // Remove axis titles + x.titleShape.remove(); + } + }); + +}); \ No newline at end of file diff --git a/Show-Crypto-Currency-Price-in-Graph/amol/public/assets/js/charts/dimple/bars/bar_vertical_grouped.js b/Show-Crypto-Currency-Price-in-Graph/amol/public/assets/js/charts/dimple/bars/bar_vertical_grouped.js new file mode 100644 index 0000000..f2150dc --- /dev/null +++ b/Show-Crypto-Currency-Price-in-Graph/amol/public/assets/js/charts/dimple/bars/bar_vertical_grouped.js @@ -0,0 +1,105 @@ +/* ------------------------------------------------------------------------------ + * + * # Dimple.js - vertical grouped bars + * + * Demo of grouped bar chart. Data stored in .tsv file format + * + * Version: 1.0 + * Latest update: August 1, 2015 + * + * ---------------------------------------------------------------------------- */ + +$(function () { + + // Construct chart + var svg = dimple.newSvg("#dimple-bar-vertical-grouped", "100%", 500); + + + // Chart setup + // ------------------------------ + + d3.tsv("assets/demo_data/dimple/demo_data.tsv", function (data) { + + + // Create chart + // ------------------------------ + + // Define chart + var myChart = new dimple.chart(svg, data); + + // Set bounds + myChart.setBounds(0, 0, "100%", "100%"); + + // Set margins + myChart.setMargins(60, 25, 20, 45); + + + // Create axes + // ------------------------------ + + // Horizontal + var x = myChart.addMeasureAxis("x", "Unit Sales"); + + // Vertical + var y = myChart.addCategoryAxis("y", ["Price Tier", "Channel"]); + + + // Construct layout + // ------------------------------ + + // Add bars + myChart.addSeries("Channel", dimple.plot.bar); + + + // Add legend + // ------------------------------ + + var myLegend = myChart.addLegend(0, 5, "100%", 0, "right"); + + + // Add styles + // ------------------------------ + + // Font size + x.fontSize = "12"; + y.fontSize = "12"; + + // Font family + x.fontFamily = "Roboto"; + y.fontFamily = "Roboto"; + + // Legend font style + myLegend.fontSize = "12"; + myLegend.fontFamily = "Roboto"; + + + // + // Draw chart + // + + // Draw + myChart.draw(); + + // Position legend text + myLegend.shapes.selectAll("text").attr("dy", "1"); + + + // Resize chart + // ------------------------------ + + // Add a method to draw the chart on resize of the window + $(window).on('resize', resize); + $('.sidebar-control').on('click', resize); + + // Resize function + function resize() { + + // Redraw chart + myChart.draw(0, true); + + // Position legend text + myLegend.shapes.selectAll("text").attr("dy", "1"); + } + }); + +}); \ No newline at end of file diff --git a/Show-Crypto-Currency-Price-in-Graph/amol/public/assets/js/charts/dimple/bars/bar_vertical_stacked.js b/Show-Crypto-Currency-Price-in-Graph/amol/public/assets/js/charts/dimple/bars/bar_vertical_stacked.js new file mode 100644 index 0000000..9fdb20d --- /dev/null +++ b/Show-Crypto-Currency-Price-in-Graph/amol/public/assets/js/charts/dimple/bars/bar_vertical_stacked.js @@ -0,0 +1,112 @@ +/* ------------------------------------------------------------------------------ + * + * # Dimple.js - vertical stacked bars + * + * Demo of stacked bar chart. Data stored in .tsv file format + * + * Version: 1.0 + * Latest update: August 1, 2015 + * + * ---------------------------------------------------------------------------- */ + +$(function () { + + // Construct chart + var svg = dimple.newSvg("#dimple-bar-vertical-stacked", "100%", 500); + + + // Chart setup + // ------------------------------ + + d3.tsv("assets/demo_data/dimple/demo_data.tsv", function (data) { + + + // Create chart + // ------------------------------ + + // Define chart + var myChart = new dimple.chart(svg, data); + + // Set bounds + myChart.setBounds(0, 0, "100%", "100%"); + + // Set margins + myChart.setMargins(70, 25, 20, 30); + + + // Create axes + // ------------------------------ + + // Horizontal + var x = myChart.addMeasureAxis("x", "Unit Sales"); + + // Vertical + var y = myChart.addCategoryAxis("y", "Month"); + y.addOrderRule("Date"); + + + // Construct layout + // ------------------------------ + + // Add bars + myChart.addSeries("Channel", dimple.plot.bar); + + + // Add legend + // ------------------------------ + + var myLegend = myChart.addLegend(0, 5, "100%", 0, "right"); + + + // Add styles + // ------------------------------ + + // Font size + x.fontSize = "12"; + y.fontSize = "12"; + + // Font family + x.fontFamily = "Roboto"; + y.fontFamily = "Roboto"; + + // Legend font style + myLegend.fontSize = "12"; + myLegend.fontFamily = "Roboto"; + + + // + // Draw chart + // + + // Draw + myChart.draw(); + + // Remove axis titles + x.titleShape.remove(); + + // Position legend text + myLegend.shapes.selectAll("text").attr("dy", "1"); + + + // Resize chart + // ------------------------------ + + // Add a method to draw the chart on resize of the window + $(window).on('resize', resize); + $('.sidebar-control').on('click', resize); + + // Resize function + function resize() { + + // Redraw chart + myChart.draw(0, true); + + // Remove axis titles + x.titleShape.remove(); + + // Position legend text + myLegend.shapes.selectAll("text").attr("dy", "1"); + } + }); + +}); \ No newline at end of file diff --git a/Show-Crypto-Currency-Price-in-Graph/amol/public/assets/js/charts/dimple/bars/bar_vertical_stacked_grouped.js b/Show-Crypto-Currency-Price-in-Graph/amol/public/assets/js/charts/dimple/bars/bar_vertical_stacked_grouped.js new file mode 100644 index 0000000..7a22a1c --- /dev/null +++ b/Show-Crypto-Currency-Price-in-Graph/amol/public/assets/js/charts/dimple/bars/bar_vertical_stacked_grouped.js @@ -0,0 +1,105 @@ +/* ------------------------------------------------------------------------------ + * + * # Dimple.js - vertical grouped stacked bars + * + * Demo of grouped stacked bar chart. Data stored in .tsv file format + * + * Version: 1.0 + * Latest update: August 1, 2015 + * + * ---------------------------------------------------------------------------- */ + +$(function () { + + // Construct chart + var svg = dimple.newSvg("#dimple-bar-vertical-stacked-grouped", "100%", 500); + + + // Chart setup + // ------------------------------ + + d3.tsv("assets/demo_data/dimple/demo_data.tsv", function (data) { + + + // Create chart + // ------------------------------ + + // Define chart + var myChart = new dimple.chart(svg, data); + + // Set bounds + myChart.setBounds(0, 0, "100%", "100%"); + + // Set margins + myChart.setMargins(55, 5, 120, 45); + + + // Create axes + // ------------------------------ + + // Horizontal + var x = myChart.addMeasureAxis("x", "Unit Sales"); + + // Vertical + var y = myChart.addCategoryAxis("y", ["Price Tier", "Channel"]); + + + // Construct layout + // ------------------------------ + + // Add bars + myChart.addSeries("Owner", dimple.plot.bar); + + + // Add legend + // ------------------------------ + + var myLegend = myChart.addLegend("100%", 0, 0, "100%", "right"); + + + // Add styles + // ------------------------------ + + // Font size + x.fontSize = "12"; + y.fontSize = "12"; + + // Font family + x.fontFamily = "Roboto"; + y.fontFamily = "Roboto"; + + // Legend font style + myLegend.fontSize = "12"; + myLegend.fontFamily = "Roboto"; + + + // + // Draw chart + // + + // Draw + myChart.draw(); + + // Position legend text + myLegend.shapes.selectAll("text").attr("dy", "1"); + + + // Resize chart + // ------------------------------ + + // Add a method to draw the chart on resize of the window + $(window).on('resize', resize); + $('.sidebar-control').on('click', resize); + + // Resize function + function resize() { + + // Redraw chart + myChart.draw(0, true); + + // Position legend text + myLegend.shapes.selectAll("text").attr("dy", "1"); + } + }); + +}); \ No newline at end of file diff --git a/Show-Crypto-Currency-Price-in-Graph/amol/public/assets/js/charts/dimple/bars/bar_vertical_stacked_normalized.js b/Show-Crypto-Currency-Price-in-Graph/amol/public/assets/js/charts/dimple/bars/bar_vertical_stacked_normalized.js new file mode 100644 index 0000000..3ed7672 --- /dev/null +++ b/Show-Crypto-Currency-Price-in-Graph/amol/public/assets/js/charts/dimple/bars/bar_vertical_stacked_normalized.js @@ -0,0 +1,112 @@ +/* ------------------------------------------------------------------------------ + * + * # Dimple.js - vertical normalized stacked bars + * + * Demo of normalized stacked bar chart. Data stored in .tsv file format + * + * Version: 1.0 + * Latest update: August 1, 2015 + * + * ---------------------------------------------------------------------------- */ + +$(function () { + + // Construct chart + var svg = dimple.newSvg("#dimple-bar-vertical-stacked-normalized", "100%", 500); + + + // Chart setup + // ------------------------------ + + d3.tsv("assets/demo_data/dimple/demo_data.tsv", function (data) { + + + // Create chart + // ------------------------------ + + // Define chart + var myChart = new dimple.chart(svg, data); + + // Set bounds + myChart.setBounds(0, 0, "100%", "100%"); + + // Set margins + myChart.setMargins(70, 25, 20, 30); + + + // Create axes + // ------------------------------ + + // Horizontal + var x = myChart.addPctAxis("x", "Unit Sales"); + + // Vertical + var y = myChart.addCategoryAxis("y", "Month"); + y.addOrderRule("Date"); + + + // Construct layout + // ------------------------------ + + // Add bars + myChart.addSeries("Channel", dimple.plot.bar); + + + // Add legend + // ------------------------------ + + var myLegend = myChart.addLegend(0, 5, "100%", 0, "right"); + + + // Add styles + // ------------------------------ + + // Font size + x.fontSize = "12"; + y.fontSize = "12"; + + // Font family + x.fontFamily = "Roboto"; + y.fontFamily = "Roboto"; + + // Legend font style + myLegend.fontSize = "12"; + myLegend.fontFamily = "Roboto"; + + + // + // Draw chart + // + + // Draw + myChart.draw(); + + // Remove axis titles + x.titleShape.remove(); + + // Position legend text + myLegend.shapes.selectAll("text").attr("dy", "1"); + + + // Resize chart + // ------------------------------ + + // Add a method to draw the chart on resize of the window + $(window).on('resize', resize); + $('.sidebar-control').on('click', resize); + + // Resize function + function resize() { + + // Redraw chart + myChart.draw(0, true); + + // Remove axis titles + x.titleShape.remove(); + + // Position legend text + myLegend.shapes.selectAll("text").attr("dy", "1"); + } + }); + +}); \ No newline at end of file diff --git a/Show-Crypto-Currency-Price-in-Graph/amol/public/assets/js/charts/dimple/bubble/bubble_basic.js b/Show-Crypto-Currency-Price-in-Graph/amol/public/assets/js/charts/dimple/bubble/bubble_basic.js new file mode 100644 index 0000000..c2c45ad --- /dev/null +++ b/Show-Crypto-Currency-Price-in-Graph/amol/public/assets/js/charts/dimple/bubble/bubble_basic.js @@ -0,0 +1,107 @@ +/* ------------------------------------------------------------------------------ + * + * # Dimple.js - basic bubbles + * + * Demo of bubble chart with legend. Data stored in .tsv file format + * + * Version: 1.0 + * Latest update: August 1, 2015 + * + * ---------------------------------------------------------------------------- */ + +$(function () { + + // Construct chart + var svg = dimple.newSvg("#dimple-bubble-basic", "100%", 500); + + + d3.tsv("assets/demo_data/dimple/demo_data.tsv", function (data) { + + // Filter data + data = dimple.filterData(data, "Date", "01/12/2011"); + + + // Create chart + // ------------------------------ + + // Define chart + var myChart = new dimple.chart(svg, data); + + // Set bounds + myChart.setBounds(0, 0, "100%", "100%"); + + // Set margins + myChart.setMargins(50, 25, 15, 45); + + + // Create axes + // ------------------------------ + + // Horizontal + var x = myChart.addMeasureAxis("x", "Unit Sales Monthly Change"); + + // Vertical + var y = myChart.addMeasureAxis("y", "Price Monthly Change"); + + // Other axes + myChart.addMeasureAxis("z", "Operating Profit"); + + + // Construct layout + // ------------------------------ + + // Add bubbles + myChart.addSeries(["SKU", "Channel"], dimple.plot.bubble); + + + // Add legend + // ------------------------------ + + var myLegend = myChart.addLegend(0, 5, "100%", 0, "right"); + + + // Add styles + // ------------------------------ + + // Font size + x.fontSize = "12"; + y.fontSize = "12"; + + // Font family + x.fontFamily = "Roboto"; + y.fontFamily = "Roboto"; + + // Legend font style + myLegend.fontSize = "12"; + myLegend.fontFamily = "Roboto"; + + + // + // Draw chart + // + + // Draw + myChart.draw(); + + // Position legend text + myLegend.shapes.selectAll("text").attr("dy", "1"); + + + // Resize chart + // ------------------------------ + + // Add a method to draw the chart on resize of the window + $(window).on('resize', resize); + $('.sidebar-control').on('click', resize); + + // Resize function + function resize() { + + // Redraw chart + myChart.draw(0, true); + + // Position legend text + myLegend.shapes.selectAll("text").attr("dy", "1"); + } + }); +}); \ No newline at end of file diff --git a/Show-Crypto-Currency-Price-in-Graph/amol/public/assets/js/charts/dimple/bubble/bubble_horizontal_lollipop.js b/Show-Crypto-Currency-Price-in-Graph/amol/public/assets/js/charts/dimple/bubble/bubble_horizontal_lollipop.js new file mode 100644 index 0000000..17fe10a --- /dev/null +++ b/Show-Crypto-Currency-Price-in-Graph/amol/public/assets/js/charts/dimple/bubble/bubble_horizontal_lollipop.js @@ -0,0 +1,116 @@ +/* ------------------------------------------------------------------------------ + * + * # Dimple.js - horizontal lollipop + * + * Demo of horizontal lollipop chart. Data stored in .tsv file format + * + * Version: 1.0 + * Latest update: August 1, 2015 + * + * ---------------------------------------------------------------------------- */ + +$(function () { + + // Construct chart + var svg = dimple.newSvg("#dimple-bubble-lollipop-horizontal", "100%", 500); + + + d3.tsv("assets/demo_data/dimple/demo_data.tsv", function (data) { + + // Filter data + data = dimple.filterData(data, "Date", [ + "01/07/2011", "01/08/2011", "01/09/2011", + "01/10/2011", "01/11/2011", "01/12/2011" + ]); + + + // Create chart + // ------------------------------ + + // Define chart + var myChart = new dimple.chart(svg, data); + + // Set bounds + myChart.setBounds(0, 0, "100%", "100%"); + + // Set margins + myChart.setMargins(70, 25, 20, 45); + + + // Create axes + // ------------------------------ + + // Horizontal + var x = myChart.addMeasureAxis("x", "Unit Sales"); + + // Vertical + var y = myChart.addCategoryAxis("y", "Month"); + + // Order by date + y.addOrderRule("Date"); + + // Show vertical grid lines + y.showGridlines = true; + + // Other axes + myChart.addMeasureAxis("z", "Operating Profit"); + + + // Construct layout + // ------------------------------ + + // Add bubbles + myChart.addSeries("Channel", dimple.plot.bubble); + + + // Add legend + // ------------------------------ + + var myLegend = myChart.addLegend(0, 5, "100%", 0, "left"); + + + // Add styles + // ------------------------------ + + // Font size + x.fontSize = "12"; + y.fontSize = "12"; + + // Font family + x.fontFamily = "Roboto"; + y.fontFamily = "Roboto"; + + // Legend font style + myLegend.fontSize = "12"; + myLegend.fontFamily = "Roboto"; + + + // + // Draw chart + // + + // Draw + myChart.draw(); + + // Position legend text + myLegend.shapes.selectAll("text").attr("dy", "1"); + + + // Resize chart + // ------------------------------ + + // Add a method to draw the chart on resize of the window + $(window).on('resize', resize); + $('.sidebar-control').on('click', resize); + + // Resize function + function resize() { + + // Redraw chart + myChart.draw(0, true); + + // Position legend text + myLegend.shapes.selectAll("text").attr("dy", "1"); + } + }); +}); \ No newline at end of file diff --git a/Show-Crypto-Currency-Price-in-Graph/amol/public/assets/js/charts/dimple/bubble/bubble_lollipop_grouped.js b/Show-Crypto-Currency-Price-in-Graph/amol/public/assets/js/charts/dimple/bubble/bubble_lollipop_grouped.js new file mode 100644 index 0000000..193e22d --- /dev/null +++ b/Show-Crypto-Currency-Price-in-Graph/amol/public/assets/js/charts/dimple/bubble/bubble_lollipop_grouped.js @@ -0,0 +1,104 @@ +/* ------------------------------------------------------------------------------ + * + * # Dimple.js - grouped lollipop + * + * Demo of grouped lollipop chart. Data stored in .tsv file format + * + * Version: 1.0 + * Latest update: August 1, 2015 + * + * ---------------------------------------------------------------------------- */ + +$(function () { + + // Construct chart + var svg = dimple.newSvg("#dimple-bubble-lollipop-grouped", "100%", 500); + + + d3.tsv("assets/demo_data/dimple/demo_data.tsv", function (data) { + + + // Create chart + // ------------------------------ + + // Define chart + var myChart = new dimple.chart(svg, data); + + // Set bounds + myChart.setBounds(0, 0, "100%", "100%"); + + // Set margins + myChart.setMargins(55, 38, 10, 45); + + + // Create axes + // ------------------------------ + + // Horizontal + var x = myChart.addCategoryAxis("x", ["Price Tier", "Channel"]); + + // Vertical + var y = myChart.addMeasureAxis("y", "Unit Sales"); + + // Other axes + myChart.addMeasureAxis("z", "Operating Profit"); + + + // Construct layout + // ------------------------------ + + // Add bubbles + myChart.addSeries("Channel", dimple.plot.bubble); + + + // Add legend + // ------------------------------ + + var myLegend = myChart.addLegend(0, 20, "100%", 0, "right"); + + + // Add styles + // ------------------------------ + + // Font size + x.fontSize = "12"; + y.fontSize = "12"; + + // Font family + x.fontFamily = "Roboto"; + y.fontFamily = "Roboto"; + + // Legend font style + myLegend.fontSize = "12"; + myLegend.fontFamily = "Roboto"; + + + // + // Draw chart + // + + // Draw + myChart.draw(); + + // Position legend text + myLegend.shapes.selectAll("text").attr("dy", "1"); + + + // Resize chart + // ------------------------------ + + // Add a method to draw the chart on resize of the window + $(window).on('resize', resize); + $('.sidebar-control').on('click', resize); + + // Resize function + function resize() { + + // Redraw chart + myChart.draw(0, true); + + // Position legend text + myLegend.shapes.selectAll("text").attr("dy", "1"); + } + }); +}); \ No newline at end of file diff --git a/Show-Crypto-Currency-Price-in-Graph/amol/public/assets/js/charts/dimple/bubble/bubble_matrix.js b/Show-Crypto-Currency-Price-in-Graph/amol/public/assets/js/charts/dimple/bubble/bubble_matrix.js new file mode 100644 index 0000000..73ccd7d --- /dev/null +++ b/Show-Crypto-Currency-Price-in-Graph/amol/public/assets/js/charts/dimple/bubble/bubble_matrix.js @@ -0,0 +1,110 @@ +/* ------------------------------------------------------------------------------ + * + * # Dimple.js - bubble matrix + * + * Demo of bubble matrix. Data stored in .tsv file format + * + * Version: 1.0 + * Latest update: August 1, 2015 + * + * ---------------------------------------------------------------------------- */ + +$(function () { + + // Construct chart + var svg = dimple.newSvg("#dimple-bubble-matrix", "100%", 500); + + + d3.tsv("assets/demo_data/dimple/demo_data.tsv", function (data) { + + + // Create chart + // ------------------------------ + + // Define chart + var myChart = new dimple.chart(svg, data); + + // Set bounds + myChart.setBounds(0, 0, "100%", "100%"); + + // Set margins + myChart.setMargins(95, 25, 10, 45); + + + // Create axes + // ------------------------------ + + // Horizontal + var x = myChart.addCategoryAxis("x", ["Channel", "Price Tier"]); + + // Vertical + var y = myChart.addCategoryAxis("y", "Owner"); + + // Other axes + var z = myChart.addMeasureAxis("z", "Distribution"); + + // Display grid lines + x.showGridlines = true; + y.showGridlines = true; + + + // Construct layout + // ------------------------------ + + // Add bubbles + var s = myChart.addSeries("Price Tier", dimple.plot.bubble); + s.aggregate = dimple.aggregateMethod.max; + z.overrideMax = 200; + + + // Add legend + // ------------------------------ + + var myLegend = myChart.addLegend(0, 5, "100%", 0, "right"); + + + // Add styles + // ------------------------------ + + // Font size + x.fontSize = "12"; + y.fontSize = "12"; + + // Font family + x.fontFamily = "Roboto"; + y.fontFamily = "Roboto"; + + // Legend font style + myLegend.fontSize = "12"; + myLegend.fontFamily = "Roboto"; + + + // + // Draw chart + // + + // Draw + myChart.draw(); + + // Position legend text + myLegend.shapes.selectAll("text").attr("dy", "1"); + + + // Resize chart + // ------------------------------ + + // Add a method to draw the chart on resize of the window + $(window).on('resize', resize); + $('.sidebar-control').on('click', resize); + + // Resize function + function resize() { + + // Redraw chart + myChart.draw(0, true); + + // Position legend text + myLegend.shapes.selectAll("text").attr("dy", "1"); + } + }); +}); \ No newline at end of file diff --git a/Show-Crypto-Currency-Price-in-Graph/amol/public/assets/js/charts/dimple/bubble/bubble_vertical_lollipop.js b/Show-Crypto-Currency-Price-in-Graph/amol/public/assets/js/charts/dimple/bubble/bubble_vertical_lollipop.js new file mode 100644 index 0000000..29340a7 --- /dev/null +++ b/Show-Crypto-Currency-Price-in-Graph/amol/public/assets/js/charts/dimple/bubble/bubble_vertical_lollipop.js @@ -0,0 +1,111 @@ +/* ------------------------------------------------------------------------------ + * + * # Dimple.js - vertical lollipop + * + * Demo of vertical lollipop chart. Data stored in .tsv file format + * + * Version: 1.0 + * Latest update: August 1, 2015 + * + * ---------------------------------------------------------------------------- */ + +$(function () { + + // Construct chart + var svg = dimple.newSvg("#dimple-bubble-lollipop-vertical", "100%", 500); + + + d3.tsv("assets/demo_data/dimple/demo_data.tsv", function (data) { + + // Filter data + data = dimple.filterData(data, "Date", [ + "01/07/2011", "01/08/2011", "01/09/2011", + "01/10/2011", "01/11/2011", "01/12/2011" + ]); + + + // Create chart + // ------------------------------ + + // Define chart + var myChart = new dimple.chart(svg, data); + + // Set bounds + myChart.setBounds(0, 0, "100%", "100%"); + + // Set margins + myChart.setMargins(55, 35, 10, 45); + + + // Create axes + // ------------------------------ + + // Horizontal + var x = myChart.addCategoryAxis("x", "Month"); + x.addOrderRule("Date"); + + // Vertical + var y = myChart.addMeasureAxis("y", "Unit Sales"); + + // Other axes + myChart.addMeasureAxis("z", "Operating Profit"); + + + // Construct layout + // ------------------------------ + + // Add bubbles + myChart.addSeries("Channel", dimple.plot.bubble); + + + // Add legend + // ------------------------------ + + var myLegend = myChart.addLegend(0, 5, "100%", 0, "left"); + + + // Add styles + // ------------------------------ + + // Font size + x.fontSize = "12"; + y.fontSize = "12"; + + // Font family + x.fontFamily = "Roboto"; + y.fontFamily = "Roboto"; + + // Legend font style + myLegend.fontSize = "12"; + myLegend.fontFamily = "Roboto"; + + + // + // Draw chart + // + + // Draw + myChart.draw(); + + // Position legend text + myLegend.shapes.selectAll("text").attr("dy", "1"); + + + // Resize chart + // ------------------------------ + + // Add a method to draw the chart on resize of the window + $(window).on('resize', resize); + $('.sidebar-control').on('click', resize); + + // Resize function + function resize() { + + // Redraw chart + myChart.draw(0, true); + + // Position legend text + myLegend.shapes.selectAll("text").attr("dy", "1"); + } + }); +}); \ No newline at end of file diff --git a/Show-Crypto-Currency-Price-in-Graph/amol/public/assets/js/charts/dimple/lines/line_horizontal_multiple.js b/Show-Crypto-Currency-Price-in-Graph/amol/public/assets/js/charts/dimple/lines/line_horizontal_multiple.js new file mode 100644 index 0000000..eede8b5 --- /dev/null +++ b/Show-Crypto-Currency-Price-in-Graph/amol/public/assets/js/charts/dimple/lines/line_horizontal_multiple.js @@ -0,0 +1,121 @@ +/* ------------------------------------------------------------------------------ + * + * # Dimple.js - multiple horizontal lines + * + * Demo of multiple line chart. Data stored in .tsv file format + * + * Version: 1.0 + * Latest update: August 1, 2015 + * + * ---------------------------------------------------------------------------- */ + +$(function () { + + // Construct chart + var svg = dimple.newSvg("#dimple-line-horizontal-multiple", "100%", 500); + + + // Chart setup + // ------------------------------ + + d3.tsv("assets/demo_data/dimple/demo_data.tsv", function (data) { + + // Filter data + data = dimple.filterData(data, "Owner", ["Aperture", "Black Mesa"]) + + + // Create chart + // ------------------------------ + + // Define chart + var myChart = new dimple.chart(svg, data); + + // Set bounds + myChart.setBounds(0, 0, "100%", "100%"); + + // Set margins + myChart.setMargins(40, 25, 0, 50); + + + // Create axes + // ------------------------------ + + // Horizontal + var x = myChart.addCategoryAxis("x", "Month"); + x.addOrderRule("Date"); + + // Vertical + var y = myChart.addMeasureAxis("y", "Unit Sales"); + + + // Construct layout + // ------------------------------ + + // Add line + myChart + .addSeries("Channel", dimple.plot.line) + .interpolation = "basis"; + + + // Add legend + // ------------------------------ + + var myLegend = myChart + .addLegend(0, 5, "100%", 0, "right"); + + + // Add styles + // ------------------------------ + + // Font size + x.fontSize = "12"; + y.fontSize = "12"; + + // Font family + x.fontFamily = "Roboto"; + y.fontFamily = "Roboto"; + + // Legend font style + myLegend.fontSize = "12"; + myLegend.fontFamily = "Roboto"; + + + // + // Draw chart + // + + // Draw + myChart.draw(); + + // Position legend text + myLegend.shapes.selectAll("text").attr("dy", "1"); + + // Remove axis titles + x.titleShape.remove(); + y.titleShape.remove(); + + + // Resize chart + // ------------------------------ + + // Add a method to draw the chart on resize of the window + $(window).on('resize', resize); + $('.sidebar-control').on('click', resize); + + // Resize function + function resize() { + setTimeout(function() { + + // Redraw chart + myChart.draw(0, true); + + // Position legend text + myLegend.shapes.selectAll("text").attr("dy", "1"); + + // Remove axis titles + x.titleShape.remove(); + y.titleShape.remove(); + }, 100) + } + }); +}); \ No newline at end of file diff --git a/Show-Crypto-Currency-Price-in-Graph/amol/public/assets/js/charts/dimple/lines/line_horizontal_multiple_grouped.js b/Show-Crypto-Currency-Price-in-Graph/amol/public/assets/js/charts/dimple/lines/line_horizontal_multiple_grouped.js new file mode 100644 index 0000000..d9d93fb --- /dev/null +++ b/Show-Crypto-Currency-Price-in-Graph/amol/public/assets/js/charts/dimple/lines/line_horizontal_multiple_grouped.js @@ -0,0 +1,124 @@ +/* ------------------------------------------------------------------------------ + * + * # Dimple.js - multiple horizontal lines + * + * Demo of grouped multiple line chart. Data stored in .tsv file format + * + * Version: 1.0 + * Latest update: August 1, 2015 + * + * ---------------------------------------------------------------------------- */ + +$(function () { + + // Construct chart + var svg = dimple.newSvg("#dimple-line-horizontal-multiple-grouped", "100%", 500); + + + // Chart setup + // ------------------------------ + + d3.tsv("assets/demo_data/dimple/demo_data.tsv", function (data) { + + // Filter data + data = dimple.filterData(data, "Owner", ["Aperture", "Black Mesa"]) + + + // Create chart + // ------------------------------ + + // Define chart + var myChart = new dimple.chart(svg, data); + + // Set bounds + myChart.setBounds(0, 0, "100%", "100%"); + + // Set margins + myChart.setMargins(40, 10, 90, 30); + + + // Create axes + // ------------------------------ + + // Horizontal + var x = myChart.addCategoryAxis("x", ["Owner", "Month"]); + x.addGroupOrderRule("Date"); + + // Vertical + var y = myChart.addMeasureAxis("y", "Unit Sales"); + + + // Construct layout + // ------------------------------ + + // Add line + var s = myChart + .addSeries(["Brand"], dimple.plot.line) + .interpolation = "basis"; + + // Line space + s.barGap = 0.05; + + + // Add legend + // ------------------------------ + + var myLegend = myChart + .addLegend("100%", 0, 0, "100%", "right"); + + + // Add styles + // ------------------------------ + + // Font size + x.fontSize = "12"; + y.fontSize = "12"; + + // Font family + x.fontFamily = "Roboto"; + y.fontFamily = "Roboto"; + + // Legend font style + myLegend.fontSize = "12"; + myLegend.fontFamily = "Roboto"; + + + // + // Draw chart + // + + // Draw + myChart.draw(); + + // Position legend text + myLegend.shapes.selectAll("text").attr("dy", "1"); + + // Remove axis titles + x.titleShape.remove(); + y.titleShape.remove(); + + + // Resize chart + // ------------------------------ + + // Add a method to draw the chart on resize of the window + $(window).on('resize', resize); + $('.sidebar-control').on('click', resize); + + // Resize function + function resize() { + setTimeout(function() { + + // Redraw chart + myChart.draw(0, true); + + // Position legend text + myLegend.shapes.selectAll("text").attr("dy", "1"); + + // Remove axis titles + x.titleShape.remove(); + y.titleShape.remove(); + }, 100) + } + }); +}); \ No newline at end of file diff --git a/Show-Crypto-Currency-Price-in-Graph/amol/public/assets/js/charts/dimple/lines/line_horizontal_single.js b/Show-Crypto-Currency-Price-in-Graph/amol/public/assets/js/charts/dimple/lines/line_horizontal_single.js new file mode 100644 index 0000000..5d85929 --- /dev/null +++ b/Show-Crypto-Currency-Price-in-Graph/amol/public/assets/js/charts/dimple/lines/line_horizontal_single.js @@ -0,0 +1,104 @@ +/* ------------------------------------------------------------------------------ + * + * # Dimple.js - single horizontal line + * + * Demo of a single line chart. Data stored in .tsv file format + * + * Version: 1.0 + * Latest update: August 1, 2015 + * + * ---------------------------------------------------------------------------- */ + +$(function () { + + // Construct chart + var svg = dimple.newSvg("#dimple-line-horizontal-single", "100%", 500); + + + // Chart setup + // ------------------------------ + + d3.tsv("assets/demo_data/dimple/demo_data.tsv", function (data) { + + // Filter data + data = dimple.filterData(data, "Owner", ["Aperture", "Black Mesa"]) + + + // Create chart + // ------------------------------ + + // Define chart + var myChart = new dimple.chart(svg, data); + + // Set bounds + myChart.setBounds(0, 0, "100%", "100%"); + + // Set margins + myChart.setMargins(40, 10, 0, 50); + + + // Create axes + // ------------------------------ + + // Horizontal + var x = myChart.addCategoryAxis("x", "Month"); + x.addOrderRule("Date"); + + // Vertical + var y = myChart.addMeasureAxis("y", "Unit Sales"); + + + // Construct layout + // ------------------------------ + + // Add line + var s = myChart + .addSeries(null, dimple.plot.line) + .interpolation = "basis"; + + + // Add styles + // ------------------------------ + + // Font size + x.fontSize = "12"; + y.fontSize = "12"; + + // Font family + x.fontFamily = "Roboto"; + y.fontFamily = "Roboto"; + + + // + // Draw chart + // + + // Draw + myChart.draw(); + + // Remove axis titles + x.titleShape.remove(); + y.titleShape.remove(); + + + // Resize chart + // ------------------------------ + + // Add a method to draw the chart on resize of the window + $(window).on('resize', resize); + $('.sidebar-control').on('click', resize); + + // Resize function + function resize() { + setTimeout(function() { + + // Redraw chart + myChart.draw(0, true); + + // Remove axis titles + x.titleShape.remove(); + y.titleShape.remove(); + }, 100) + } + }); +}); diff --git a/Show-Crypto-Currency-Price-in-Graph/amol/public/assets/js/charts/dimple/lines/line_horizontal_single_grouped.js b/Show-Crypto-Currency-Price-in-Graph/amol/public/assets/js/charts/dimple/lines/line_horizontal_single_grouped.js new file mode 100644 index 0000000..dfad554 --- /dev/null +++ b/Show-Crypto-Currency-Price-in-Graph/amol/public/assets/js/charts/dimple/lines/line_horizontal_single_grouped.js @@ -0,0 +1,107 @@ +/* ------------------------------------------------------------------------------ + * + * # Dimple.js - single horizontal grouped line + * + * Demo of a grouped line chart. Data stored in .tsv file format + * + * Version: 1.0 + * Latest update: August 1, 2015 + * + * ---------------------------------------------------------------------------- */ + +$(function () { + + // Construct chart + var svg = dimple.newSvg("#dimple-line-horizontal-single-grouped", "100%", 500); + + + // Chart setup + // ------------------------------ + + d3.tsv("assets/demo_data/dimple/demo_data.tsv", function (data) { + + // Filter data + data = dimple.filterData(data, "Owner", ["Aperture", "Black Mesa"]); + + + // Create chart + // ------------------------------ + + // Define chart + var myChart = new dimple.chart(svg, data); + + // Set bounds + myChart.setBounds(0, 0, "100%", "100%"); + + // Set margins + myChart.setMargins(40, 10, 0, 30); + + + // Create axes + // ------------------------------ + + // Horizontal + var x = myChart.addCategoryAxis("x", ["Owner", "Month"]); + x.addGroupOrderRule("Date"); + + // Vertical + var y = myChart.addMeasureAxis("y", "Unit Sales"); + + + // Construct layout + // ------------------------------ + + // Add line + var s = myChart + .addSeries("Owner", dimple.plot.line) + .interpolation = "basis"; + + // Bar space + s.barGap = 0.05; + + + // Add styles + // ------------------------------ + + // Font size + x.fontSize = "12"; + y.fontSize = "12"; + + // Font family + x.fontFamily = "Roboto"; + y.fontFamily = "Roboto"; + + + // + // Draw chart + // + + // Draw + myChart.draw(); + + // Remove axis titles + x.titleShape.remove(); + y.titleShape.remove(); + + + // Resize chart + // ------------------------------ + + // Add a method to draw the chart on resize of the window + $(window).on('resize', resize); + $('.sidebar-control').on('click', resize); + + // Resize function + function resize() { + setTimeout(function() { + + // Redraw chart + myChart.draw(0, true); + + // Remove axis titles + x.titleShape.remove(); + y.titleShape.remove(); + }, 100) + } + }); +}); diff --git a/Show-Crypto-Currency-Price-in-Graph/amol/public/assets/js/charts/dimple/lines/line_vertical_multiple.js b/Show-Crypto-Currency-Price-in-Graph/amol/public/assets/js/charts/dimple/lines/line_vertical_multiple.js new file mode 100644 index 0000000..757d458 --- /dev/null +++ b/Show-Crypto-Currency-Price-in-Graph/amol/public/assets/js/charts/dimple/lines/line_vertical_multiple.js @@ -0,0 +1,121 @@ +/* ------------------------------------------------------------------------------ + * + * # Dimple.js - multiple vertical lines + * + * Demo of multiple line chart. Data stored in .tsv file format + * + * Version: 1.0 + * Latest update: August 1, 2015 + * + * ---------------------------------------------------------------------------- */ + +$(function () { + + // Construct chart + var svg = dimple.newSvg("#dimple-line-vertical-multiple", "100%", 500); + + + // Chart setup + // ------------------------------ + + d3.tsv("assets/demo_data/dimple/demo_data.tsv", function (data) { + + // Filter data + data = dimple.filterData(data, "Owner", ["Aperture", "Black Mesa"]) + + + // Create chart + // ------------------------------ + + // Define chart + var myChart = new dimple.chart(svg, data); + + // Set bounds + myChart.setBounds(0, 0, "100%", "100%"); + + // Set margins + myChart.setMargins(50, 25, 20, 30); + + + // Create axes + // ------------------------------ + + // Horizontal + var x = myChart.addMeasureAxis("x", "Unit Sales"); + + // Vertical + var y = myChart.addCategoryAxis("y", "Month"); + y.addOrderRule("Date"); + + + // Construct layout + // ------------------------------ + + // Add line + myChart + .addSeries("Channel", dimple.plot.line) + .interpolation = "basis"; + + + // Add legend + // ------------------------------ + + var myLegend = myChart.addLegend(0, 5, "100%", 0, "right"); + + + // Add styles + // ------------------------------ + + // Font size + x.fontSize = "12"; + y.fontSize = "12"; + + // Font family + x.fontFamily = "Roboto"; + y.fontFamily = "Roboto"; + + // Legend font style + myLegend.fontSize = "12"; + myLegend.fontFamily = "Roboto"; + + + // + // Draw chart + // + + // Draw + myChart.draw(); + + // Position legend text + myLegend.shapes.selectAll("text").attr("dy", "1"); + + // Remove axis titles + x.titleShape.remove(); + y.titleShape.remove(); + + + // Resize chart + // ------------------------------ + + // Add a method to draw the chart on resize of the window + $(window).on('resize', resize); + $('.sidebar-control').on('click', resize); + + // Resize function + function resize() { + setTimeout(function() { + + // Redraw chart + myChart.draw(0, true); + + // Position legend text + myLegend.shapes.selectAll("text").attr("dy", "1"); + + // Remove axis titles + x.titleShape.remove(); + y.titleShape.remove(); + }, 100) + } + }); + +}); \ No newline at end of file diff --git a/Show-Crypto-Currency-Price-in-Graph/amol/public/assets/js/charts/dimple/lines/line_vertical_multiple_grouped.js b/Show-Crypto-Currency-Price-in-Graph/amol/public/assets/js/charts/dimple/lines/line_vertical_multiple_grouped.js new file mode 100644 index 0000000..fe23ff4 --- /dev/null +++ b/Show-Crypto-Currency-Price-in-Graph/amol/public/assets/js/charts/dimple/lines/line_vertical_multiple_grouped.js @@ -0,0 +1,124 @@ +/* ------------------------------------------------------------------------------ + * + * # Dimple.js - grouped multiple vertical lines + * + * Demo of grouped multiple line chart. Data stored in .tsv file format + * + * Version: 1.0 + * Latest update: August 1, 2015 + * + * ---------------------------------------------------------------------------- */ + +$(function () { + + // Construct chart + var svg = dimple.newSvg("#dimple-line-vertical-multiple-grouped", "100%", 500); + + + // Chart setup + // ------------------------------ + + d3.tsv("assets/demo_data/dimple/demo_data.tsv", function (data) { + + // Filter data + data = dimple.filterData(data, "Owner", ["Aperture", "Black Mesa"]) + + + // Create chart + // ------------------------------ + + // Define chart + var myChart = new dimple.chart(svg, data); + + // Set bounds + myChart.setBounds(0, 0, "100%", "100%"); + + // Set margins + myChart.setMargins(70, 0, 90, 30); + + + // Create axes + // ------------------------------ + + // Horizontal + var x = myChart.addMeasureAxis("x", "Unit Sales"); + + // Vertical + var y = myChart.addCategoryAxis("y", ["Owner", "Month"]); + y.addGroupOrderRule("Date"); + + + // Construct layout + // ------------------------------ + + // Add line + var s = myChart + .addSeries(["Brand"], dimple.plot.line) + .interpolation = "basis"; + + // Bar space + s.barGap = 0.05; + + + // Add legend + // ------------------------------ + + var myLegend = myChart + .addLegend("100%", 0, 0, "100%", "right"); + + + // Add styles + // ------------------------------ + + // Font size + x.fontSize = "12"; + y.fontSize = "12"; + + // Font family + x.fontFamily = "Roboto"; + y.fontFamily = "Roboto"; + + // Legend font style + myLegend.fontSize = "12"; + myLegend.fontFamily = "Roboto"; + + + // + // Draw chart + // + + // Draw + myChart.draw(); + + // Position legend text + myLegend.shapes.selectAll("text").attr("dy", "1"); + + // Remove axis titles + x.titleShape.remove(); + y.titleShape.remove(); + + + // Resize chart + // ------------------------------ + + // Add a method to draw the chart on resize of the window + $(window).on('resize', resize); + $('.sidebar-control').on('click', resize); + + // Resize function + function resize() { + setTimeout(function() { + + // Redraw chart + myChart.draw(0, true); + + // Position legend text + myLegend.shapes.selectAll("text").attr("dy", "1"); + + // Remove axis titles + x.titleShape.remove(); + y.titleShape.remove(); + }, 100) + } + }); +}); \ No newline at end of file diff --git a/Show-Crypto-Currency-Price-in-Graph/amol/public/assets/js/charts/dimple/lines/line_vertical_single.js b/Show-Crypto-Currency-Price-in-Graph/amol/public/assets/js/charts/dimple/lines/line_vertical_single.js new file mode 100644 index 0000000..96518d2 --- /dev/null +++ b/Show-Crypto-Currency-Price-in-Graph/amol/public/assets/js/charts/dimple/lines/line_vertical_single.js @@ -0,0 +1,105 @@ +/* ------------------------------------------------------------------------------ + * + * # Dimple.js - vertical line + * + * Demo of a single line chart. Data stored in .tsv file format + * + * Version: 1.0 + * Latest update: August 1, 2015 + * + * ---------------------------------------------------------------------------- */ + +$(function () { + + // Construct chart + var svg = dimple.newSvg("#dimple-line-vertical-single", "100%", 500); + + + // Chart setup + // ------------------------------ + + d3.tsv("assets/demo_data/dimple/demo_data.tsv", function (data) { + + // Filter data + data = dimple.filterData(data, "Owner", ["Aperture", "Black Mesa"]) + + + // Create chart + // ------------------------------ + + // Define chart + var myChart = new dimple.chart(svg, data); + + // Set bounds + myChart.setBounds(0, 0, "100%", "100%"); + + // Set margin + myChart.setMargins(50, 10, 20, 30); + + + // Create axes + // ------------------------------ + + // Horizontal + var x = myChart.addMeasureAxis("x", "Unit Sales"); + + // Vertical + var y = myChart.addCategoryAxis("y", "Month"); + y.addOrderRule("Date"); + + + // Construct layout + // ------------------------------ + + // Add line + var s = myChart + .addSeries(null, dimple.plot.line) + .interpolation = "basis"; + + + // Add styles + // ------------------------------ + + // Font size + x.fontSize = "12"; + y.fontSize = "12"; + + // Font family + x.fontFamily = "Roboto"; + y.fontFamily = "Roboto"; + + + // + // Draw chart + // + + // Draw + myChart.draw(); + + // Remove axis titles + x.titleShape.remove(); + y.titleShape.remove(); + + + // Resize chart + // ------------------------------ + + // Add a method to draw the chart on resize of the window + $(window).on('resize', resize); + $('.sidebar-control').on('click', resize); + + // Resize function + function resize() { + setTimeout(function() { + + // Redraw chart + myChart.draw(0, true); + + // Remove axis titles + x.titleShape.remove(); + y.titleShape.remove(); + }, 100) + } + }); + +}); \ No newline at end of file diff --git a/Show-Crypto-Currency-Price-in-Graph/amol/public/assets/js/charts/dimple/lines/line_vertical_single_grouped.js b/Show-Crypto-Currency-Price-in-Graph/amol/public/assets/js/charts/dimple/lines/line_vertical_single_grouped.js new file mode 100644 index 0000000..769f1c9 --- /dev/null +++ b/Show-Crypto-Currency-Price-in-Graph/amol/public/assets/js/charts/dimple/lines/line_vertical_single_grouped.js @@ -0,0 +1,107 @@ +/* ------------------------------------------------------------------------------ + * + * # Dimple.js - vertical grouped line + * + * Demo of a grouped line chart. Data stored in .tsv file format + * + * Version: 1.0 + * Latest update: August 1, 2015 + * + * ---------------------------------------------------------------------------- */ + +$(function () { + + // Construct chart + var svg = dimple.newSvg("#dimple-line-vertical-single-grouped", "100%", 500); + + + // Chart setup + // ------------------------------ + + d3.tsv("assets/demo_data/dimple/demo_data.tsv", function (data) { + + // Filter data + data = dimple.filterData(data, "Owner", ["Aperture", "Black Mesa"]) + + + // Create chart + // ------------------------------ + + // Define chart + var myChart = new dimple.chart(svg, data); + + // Set bounds + myChart.setBounds(0, 0, "100%", "100%"); + + // Set margins + myChart.setMargins(70, 0, 20, 30); + + + // Create axes + // ------------------------------ + + // Horizontal + var x = myChart.addMeasureAxis("x", "Unit Sales"); + + // Vertical + var y = myChart.addCategoryAxis("y", ["Owner", "Month"]); + y.addGroupOrderRule("Date"); + + + // Construct layout + // ------------------------------ + + // Add line + var s = myChart + .addSeries("Owner", dimple.plot.line) + .interpolation = "cardinal"; + + // Bar space + s.barGap = 0.05; + + + // Add styles + // ------------------------------ + + // Font size + x.fontSize = "12"; + y.fontSize = "12"; + + // Font family + x.fontFamily = "Roboto"; + y.fontFamily = "Roboto"; + + + // + // Draw chart + // + + // Draw + myChart.draw(); + + // Remove axis titles + x.titleShape.remove(); + y.titleShape.remove(); + + + // Resize chart + // ------------------------------ + + // Add a method to draw the chart on resize of the window + $(window).on('resize', resize); + $('.sidebar-control').on('click', resize); + + // Resize function + function resize() { + setTimeout(function() { + + // Redraw chart + myChart.draw(0, true); + + // Remove axis titles + x.titleShape.remove(); + y.titleShape.remove(); + }, 100) + } + }); +}); \ No newline at end of file diff --git a/Show-Crypto-Currency-Price-in-Graph/amol/public/assets/js/charts/dimple/pies/pie_basic.js b/Show-Crypto-Currency-Price-in-Graph/amol/public/assets/js/charts/dimple/pies/pie_basic.js new file mode 100644 index 0000000..744ddb6 --- /dev/null +++ b/Show-Crypto-Currency-Price-in-Graph/amol/public/assets/js/charts/dimple/pies/pie_basic.js @@ -0,0 +1,67 @@ +/* ------------------------------------------------------------------------------ + * + * # Dimple.js - basic pie + * + * Demo of pie chart. Data stored in .tsv file format + * + * Version: 1.0 + * Latest update: August 1, 2015 + * + * ---------------------------------------------------------------------------- */ + +$(function () { + + // Construct chart + var svg = dimple.newSvg("#dimple-pie-basic", 420, 300); + + + // Chart setup + // ------------------------------ + + d3.tsv("assets/demo_data/dimple/demo_data.tsv", function (data) { + + + // Create chart + // ------------------------------ + + // Define chart + var myChart = new dimple.chart(svg, data); + + // Set bounds + myChart.setBounds(0, 0, "100%", "100%") + + // Set margins + myChart.setMargins(5, 5, 5, 5); + + + // Add axes + // ------------------------------ + + var p = myChart.addMeasureAxis("p", "Unit Sales"); + + + // Construct layout + // ------------------------------ + + // Add pie + myChart.addSeries("Owner", dimple.plot.pie); + + + // Add styles + // ------------------------------ + + // Font size + p.fontSize = "12"; + + // Font family + p.fontFamily = "Roboto"; + + + // + // Draw chart + // + + // Draw + myChart.draw(); + }); +}); \ No newline at end of file diff --git a/Show-Crypto-Currency-Price-in-Graph/amol/public/assets/js/charts/dimple/pies/pie_bubble.js b/Show-Crypto-Currency-Price-in-Graph/amol/public/assets/js/charts/dimple/pies/pie_bubble.js new file mode 100644 index 0000000..8a97941 --- /dev/null +++ b/Show-Crypto-Currency-Price-in-Graph/amol/public/assets/js/charts/dimple/pies/pie_bubble.js @@ -0,0 +1,111 @@ +/* ------------------------------------------------------------------------------ + * + * # Dimple.js - bubbles with pie + * + * Demo of bubble chart with pies. Data stored in .tsv file format + * + * Version: 1.0 + * Latest update: August 1, 2015 + * + * ---------------------------------------------------------------------------- */ + +$(function () { + + // Construct chart + var svg = dimple.newSvg("#dimple-pie-bubble", "100%", 500); + + + // Chart setup + // ------------------------------ + + d3.tsv("assets/demo_data/dimple/demo_data.tsv", function (data) { + + // Filter data + data = dimple.filterData(data, "Date", "01/12/2011"); + + + // Create chart + // ------------------------------ + + // Define chart + var myChart = new dimple.chart(svg, data); + + // Set bounds + myChart.setBounds(0, 0, "100%", "100%"); + + // Set margins + myChart.setMargins(55, 35, 20, 45); + + + // Add axes + // ------------------------------ + + // Horizontal + var x = myChart.addMeasureAxis("x", "Price Monthly Change"); + + // Vertical + var y = myChart.addMeasureAxis("y", "Unit Sales Monthly Change"); + + // Other axes + myChart.addMeasureAxis("p", "Operating Profit"); + myChart.addMeasureAxis("z", "Operating Profit"); + + + // Construct layout + // ------------------------------ + + // Add pie + myChart.addSeries(["Owner", "Channel"], dimple.plot.pie); + + + // Add legend + // ------------------------------ + + var myLegend = myChart.addLegend(0, 5, "100%", 0, "right"); + + + // Add styles + // ------------------------------ + + // Font size + x.fontSize = "12"; + y.fontSize = "12"; + + // Font family + x.fontFamily = "Roboto"; + y.fontFamily = "Roboto"; + + // Legend font style + myLegend.fontSize = "12"; + myLegend.fontFamily = "Roboto"; + + + // + // Draw chart + // + + // Draw + myChart.draw(); + + // Position legend text + myLegend.shapes.selectAll("text").attr("dy", "1"); + + + // Resize chart + // ------------------------------ + + // Add a method to draw the chart on resize of the window + $(window).on('resize', resize); + $('.sidebar-control').on('click', resize); + + // Resize function + function resize() { + + // Redraw chart + myChart.draw(0, true); + + // Position legend text + myLegend.shapes.selectAll("text").attr("dy", "1"); + } + }); +}); \ No newline at end of file diff --git a/Show-Crypto-Currency-Price-in-Graph/amol/public/assets/js/charts/dimple/pies/pie_legend.js b/Show-Crypto-Currency-Price-in-Graph/amol/public/assets/js/charts/dimple/pies/pie_legend.js new file mode 100644 index 0000000..3e1d433 --- /dev/null +++ b/Show-Crypto-Currency-Price-in-Graph/amol/public/assets/js/charts/dimple/pies/pie_legend.js @@ -0,0 +1,73 @@ +/* ------------------------------------------------------------------------------ + * + * # Dimple.js - pie with legend + * + * Demo of pie chart with legend. Data stored in .tsv file format + * + * Version: 1.0 + * Latest update: August 1, 2015 + * + * ---------------------------------------------------------------------------- */ + +$(function () { + + // Construct chart + var svg = dimple.newSvg("#dimple-pie-legend", 420, 300); + + + // Chart setup + // ------------------------------ + + d3.tsv("assets/demo_data/dimple/demo_data.tsv", function (data) { + + + // Create chart + // ------------------------------ + + // Define chart + var myChart = new dimple.chart(svg, data); + + // Set bounds + myChart.setBounds(0, 0, "100%", "100%") + + // Set margins + myChart.setMargins(5, 5, 100, 5); + + + // Add axes + // ------------------------------ + + myChart.addMeasureAxis("p", "Unit Sales"); + + + // Construct layout + // ------------------------------ + + // Add pie + myChart.addSeries("Owner", dimple.plot.pie); + + + // Add legend + // ------------------------------ + + var myLegend = myChart.addLegend("100%", 0, 0, "100%", "right"); + + + // Add styles + // ------------------------------ + + // Font size + myLegend.fontSize = "12"; + + // Font family + myLegend.fontFamily = "Roboto"; + + + // + // Draw chart + // + + // Draw + myChart.draw(); + }); +}); \ No newline at end of file diff --git a/Show-Crypto-Currency-Price-in-Graph/amol/public/assets/js/charts/dimple/pies/pie_lollipop.js b/Show-Crypto-Currency-Price-in-Graph/amol/public/assets/js/charts/dimple/pies/pie_lollipop.js new file mode 100644 index 0000000..66be562 --- /dev/null +++ b/Show-Crypto-Currency-Price-in-Graph/amol/public/assets/js/charts/dimple/pies/pie_lollipop.js @@ -0,0 +1,117 @@ +/* ------------------------------------------------------------------------------ + * + * # Dimple.js - lollipops + * + * Demo of lollipop chart. Data stored in .tsv file format + * + * Version: 1.0 + * Latest update: August 1, 2015 + * + * ---------------------------------------------------------------------------- */ + +$(function () { + + // Construct chart + var svg = dimple.newSvg("#dimple-pie-lollipop", "100%", 500); + + + // Chart setup + // ------------------------------ + + d3.tsv("assets/demo_data/dimple/demo_data.tsv", function (data) { + + // Filter data + data = dimple.filterData(data, "Date", [ + "01/07/2011", "01/08/2011", "01/09/2011", + "01/10/2011", "01/11/2011", "01/12/2011" + ]); + + + // Create chart + // ------------------------------ + + // Define chart + var myChart = new dimple.chart(svg, data); + + // Set bounds + myChart.setBounds(0, 0, "100%", "100%"); + + // Set margins + myChart.setMargins(55, 25, 10, 30); + + + // Add axes + // ------------------------------ + + // Horizontal + var x = myChart.addCategoryAxis("x", "Month"); + x.addOrderRule("Date"); + + // Vertical + var y = myChart.addMeasureAxis("y", "Unit Sales"); + + // Other axes + myChart.addMeasureAxis("p", "Unit Sales"); + + + // Construct layout + // ------------------------------ + + // Add pie + var pies = myChart.addSeries("Channel", dimple.plot.pie); + + // Radius + pies.radius = 30; + + + // Add legend + // ------------------------------ + + var myLegend = myChart.addLegend(0, 5, "100%", 0, "right"); + + + // Add styles + // ------------------------------ + + // Font size + x.fontSize = "12"; + y.fontSize = "12"; + + // Font family + x.fontFamily = "Roboto"; + y.fontFamily = "Roboto"; + + // Legend font style + myLegend.fontSize = "12"; + myLegend.fontFamily = "Roboto"; + + + // + // Draw chart + // + + // Draw + myChart.draw(); + + // Remove axis titles + x.titleShape.remove(); + + + // Resize chart + // ------------------------------ + + // Add a method to draw the chart on resize of the window + $(window).on('resize', resize); + $('.sidebar-control').on('click', resize); + + // Resize function + function resize() { + + // Redraw chart + myChart.draw(0, true); + + // Remove axis titles + x.titleShape.remove(); + } + }); +}); \ No newline at end of file diff --git a/Show-Crypto-Currency-Price-in-Graph/amol/public/assets/js/charts/dimple/pies/pie_matrix.js b/Show-Crypto-Currency-Price-in-Graph/amol/public/assets/js/charts/dimple/pies/pie_matrix.js new file mode 100644 index 0000000..ca62914 --- /dev/null +++ b/Show-Crypto-Currency-Price-in-Graph/amol/public/assets/js/charts/dimple/pies/pie_matrix.js @@ -0,0 +1,114 @@ +/* ------------------------------------------------------------------------------ + * + * # Dimple.js - pies matrix + * + * Demo of matrix of pies. Data stored in .tsv file format + * + * Version: 1.0 + * Latest update: August 1, 2015 + * + * ---------------------------------------------------------------------------- */ + +$(function () { + + // Construct chart + var svg = dimple.newSvg("#dimple-pie-matrix", "100%", 500); + + + // Chart setup + // ------------------------------ + + d3.tsv("assets/demo_data/dimple/demo_data.tsv", function (data) { + + + // Create chart + // ------------------------------ + + // Define chart + var myChart = new dimple.chart(svg, data); + + // Set bounds + myChart.setBounds(0, 0, "100%", "100%"); + + // Set margins + myChart.setMargins(45, 25, 10, 45); + + + // Add axes + // ------------------------------ + + // Horizontal + var x = myChart.addCategoryAxis("x", "Price Tier"); + + // Vertical + var y = myChart.addCategoryAxis("y", "Pack Size"); + + // Other axes + myChart.addMeasureAxis("p", "Unit Sales"); + + + // Construct layout + // ------------------------------ + + // Add pie + var pies = myChart.addSeries("Channel", dimple.plot.pie); + + // Radius + pies.radius = 30; + + // Display grid lines + x.showGridlines = true; + y.showGridlines = true; + + + // Add legend + // ------------------------------ + + var myLegend = myChart.addLegend(0, 5, "100%", 0, "right"); + + + // Add styles + // ------------------------------ + + // Font size + x.fontSize = "12"; + y.fontSize = "12"; + + // Font family + x.fontFamily = "Roboto"; + y.fontFamily = "Roboto"; + + // Legend font style + myLegend.fontSize = "12"; + myLegend.fontFamily = "Roboto"; + + + // + // Draw chart + // + + // Draw + myChart.draw(); + + // Remove axis titles + x.titleShape.remove(); + + + // Resize chart + // ------------------------------ + + // Add a method to draw the chart on resize of the window + $(window).on('resize', resize); + $('.sidebar-control').on('click', resize); + + // Resize function + function resize() { + + // Redraw chart + myChart.draw(0, true); + + // Remove axis titles + x.titleShape.remove(); + } + }); +}); \ No newline at end of file diff --git a/Show-Crypto-Currency-Price-in-Graph/amol/public/assets/js/charts/dimple/pies/pie_scatter.js b/Show-Crypto-Currency-Price-in-Graph/amol/public/assets/js/charts/dimple/pies/pie_scatter.js new file mode 100644 index 0000000..128ba7d --- /dev/null +++ b/Show-Crypto-Currency-Price-in-Graph/amol/public/assets/js/charts/dimple/pies/pie_scatter.js @@ -0,0 +1,107 @@ +/* ------------------------------------------------------------------------------ + * + * # Dimple.js - pies as scatter + * + * Demo of scatter chart with pies. Data stored in .tsv file format + * + * Version: 1.0 + * Latest update: August 1, 2015 + * + * ---------------------------------------------------------------------------- */ + +$(function () { + + // Construct chart + var svg = dimple.newSvg("#dimple-pie-scatter", "100%", 500); + + + // Chart setup + // ------------------------------ + + d3.tsv("assets/demo_data/dimple/demo_data.tsv", function (data) { + + // Filter data + data = dimple.filterData(data, "Date", "01/12/2011"); + + + // Create chart + // ------------------------------ + + // Define chart + var myChart = new dimple.chart(svg, data); + + // Set bounds + myChart.setBounds(0, 0, "100%", "100%"); + + // Set margins + myChart.setMargins(60, 35, 10, 45); + + + // Add axes + // ------------------------------ + + // Horizontal + var x = myChart.addMeasureAxis("x", "Price Monthly Change"); + + // Vertical + var y = myChart.addMeasureAxis("y", "Unit Sales Monthly Change"); + + // Other axes + myChart.addMeasureAxis("p", "Operating Profit"); + + + // Construct layout + // ------------------------------ + + // Add pie + var pies = myChart.addSeries(["Owner", "Channel"], dimple.plot.pie); + + // Radius + pies.radius = 40; + + + // Add legend + // ------------------------------ + + var myLegend = myChart.addLegend(0, 5, "100%", 0, "right"); + + + // Add styles + // ------------------------------ + + // Font size + x.fontSize = "12"; + y.fontSize = "12"; + + // Font family + x.fontFamily = "Roboto"; + y.fontFamily = "Roboto"; + + // Legend font style + myLegend.fontSize = "12"; + myLegend.fontFamily = "Roboto"; + + + // + // Draw chart + // + + // Draw + myChart.draw(); + + + // Resize chart + // ------------------------------ + + // Add a method to draw the chart on resize of the window + $(window).on('resize', resize); + $('.sidebar-control').on('click', resize); + + // Resize function + function resize() { + + // Redraw chart + myChart.draw(0, true); + } + }); +}); \ No newline at end of file diff --git a/Show-Crypto-Currency-Price-in-Graph/amol/public/assets/js/charts/dimple/rings/ring_basic.js b/Show-Crypto-Currency-Price-in-Graph/amol/public/assets/js/charts/dimple/rings/ring_basic.js new file mode 100644 index 0000000..9582b96 --- /dev/null +++ b/Show-Crypto-Currency-Price-in-Graph/amol/public/assets/js/charts/dimple/rings/ring_basic.js @@ -0,0 +1,76 @@ +/* ------------------------------------------------------------------------------ + * + * # Dimple.js - basic ring + * + * Demo of ring chart. Data stored in .tsv file format + * + * Version: 1.0 + * Latest update: August 1, 2015 + * + * ---------------------------------------------------------------------------- */ + +$(function () { + + // Construct chart + var svg = dimple.newSvg("#dimple-ring-basic", 420, 300); + + + // Chart setup + // ------------------------------ + + d3.tsv("assets/demo_data/dimple/demo_data.tsv", function (data) { + + + // Create chart + // ------------------------------ + + // Define chart + var myChart = new dimple.chart(svg, data); + + // Set bounds + myChart.setBounds(0, 0, "100%", "100%") + + // Set margins + myChart.setMargins(5, 5, 90, 5); + + + // Add axes + // ------------------------------ + + myChart.addMeasureAxis("p", "Unit Sales"); + + + // Construct layout + // ------------------------------ + + // Add ring + var ring = myChart.addSeries("Owner", dimple.plot.pie); + + // Inner ring radius + ring.innerRadius = "50%"; + + + // Add legend + // ------------------------------ + + var myLegend = myChart.addLegend("100%", 0, 0, "100%", "right"); + + + // Add styles + // ------------------------------ + + // Font size + myLegend.fontSize = "12"; + + // Font family + myLegend.fontFamily = "Roboto"; + + + // + // Draw chart + // + + // Draw + myChart.draw(); + }); +}); \ No newline at end of file diff --git a/Show-Crypto-Currency-Price-in-Graph/amol/public/assets/js/charts/dimple/rings/ring_bubble.js b/Show-Crypto-Currency-Price-in-Graph/amol/public/assets/js/charts/dimple/rings/ring_bubble.js new file mode 100644 index 0000000..9977162 --- /dev/null +++ b/Show-Crypto-Currency-Price-in-Graph/amol/public/assets/js/charts/dimple/rings/ring_bubble.js @@ -0,0 +1,114 @@ +/* ------------------------------------------------------------------------------ + * + * # Dimple.js - bubbles with ring + * + * Demo of bubble chart with rings. Data stored in .tsv file format + * + * Version: 1.0 + * Latest update: August 1, 2015 + * + * ---------------------------------------------------------------------------- */ + +$(function () { + + // Construct chart + var svg = dimple.newSvg("#dimple-ring-bubble", "100%", 500); + + + // Chart setup + // ------------------------------ + + d3.tsv("assets/demo_data/dimple/demo_data.tsv", function (data) { + + // Filter data + data = dimple.filterData(data, "Date", "01/12/2011"); + + + // Create chart + // ------------------------------ + + // Define chart + var myChart = new dimple.chart(svg, data); + + // Set bounds + myChart.setBounds(0, 0, "100%", "100%"); + + // Set margins + myChart.setMargins(45, 30, 35, 10); + + + // Add axes + // ------------------------------ + + // Horizontal + var x = myChart.addMeasureAxis("x", "Unit Sales Monthly Change"); + + // Vertical + var y = myChart.addMeasureAxis("y", "Price Monthly Change"); + + // Other axes + myChart.addMeasureAxis("p", "Operating Profit"); + myChart.addMeasureAxis("z", "Operating Profit"); + + + // Construct layout + // ------------------------------ + + // Add ring + var rings = myChart.addSeries(["SKU", "Channel"], dimple.plot.pie); + + // Inner radius + rings.innerRadius = "80%"; + + + // Add legend + // ------------------------------ + + var myLegend = myChart.addLegend(0, 5, "100%", 0, "left"); + + + // Add styles + // ------------------------------ + + // Font size + x.fontSize = "12"; + y.fontSize = "12"; + + // Font family + x.fontFamily = "Roboto"; + y.fontFamily = "Roboto"; + + // Legend font style + myLegend.fontSize = "12"; + myLegend.fontFamily = "Roboto"; + + + // + // Draw chart + // + + // Draw + myChart.draw(); + + // Position legend text + myLegend.shapes.selectAll("text").attr("dy", "1"); + + + // Resize chart + // ------------------------------ + + // Add a method to draw the chart on resize of the window + $(window).on('resize', resize); + $('.sidebar-control').on('click', resize); + + // Resize function + function resize() { + + // Redraw chart + myChart.draw(0, true); + + // Position legend text + myLegend.shapes.selectAll("text").attr("dy", "1"); + } + }); +}); \ No newline at end of file diff --git a/Show-Crypto-Currency-Price-in-Graph/amol/public/assets/js/charts/dimple/rings/ring_concentric.js b/Show-Crypto-Currency-Price-in-Graph/amol/public/assets/js/charts/dimple/rings/ring_concentric.js new file mode 100644 index 0000000..15ef514 --- /dev/null +++ b/Show-Crypto-Currency-Price-in-Graph/amol/public/assets/js/charts/dimple/rings/ring_concentric.js @@ -0,0 +1,81 @@ +/* ------------------------------------------------------------------------------ + * + * # Dimple.js - concentric ring + * + * Demo of concentric ring chart. Data stored in .tsv file format + * + * Version: 1.0 + * Latest update: August 1, 2015 + * + * ---------------------------------------------------------------------------- */ + +$(function () { + + // Construct chart + var svg = dimple.newSvg("#dimple-ring-concentric", 420, 300); + + + // Chart setup + // ------------------------------ + + d3.tsv("assets/demo_data/dimple/demo_data.tsv", function (data) { + + + // Create chart + // ------------------------------ + + // Define chart + var myChart = new dimple.chart(svg, data); + + // Set bounds + myChart.setBounds(0, 0, "100%", "100%") + + // Set margins + myChart.setMargins(5, 5, 90, 5); + + + // Add axes + // ------------------------------ + + myChart.addMeasureAxis("p", "Unit Sales"); + + + // Construct layout + // ------------------------------ + + // Outer ring + var outerRing = myChart.addSeries("Channel", dimple.plot.pie); + + // Inner ring + var innerRing = myChart.addSeries("Price Tier", dimple.plot.pie); + + // Negatives are calculated from outside edge, positives from center + outerRing.innerRadius = "-30px"; + innerRing.outerRadius = "-40px"; + innerRing.innerRadius = "-70px"; + + + // Add legend + // ------------------------------ + + var myLegend = myChart.addLegend("100%", 0, 0, "100%", "right"); + + + // Add styles + // ------------------------------ + + // Font size + myLegend.fontSize = "12"; + + // Font family + myLegend.fontFamily = "Roboto"; + + + // + // Draw chart + // + + // Draw + myChart.draw(); + }); +}); \ No newline at end of file diff --git a/Show-Crypto-Currency-Price-in-Graph/amol/public/assets/js/charts/dimple/rings/ring_lollipop.js b/Show-Crypto-Currency-Price-in-Graph/amol/public/assets/js/charts/dimple/rings/ring_lollipop.js new file mode 100644 index 0000000..25efccc --- /dev/null +++ b/Show-Crypto-Currency-Price-in-Graph/amol/public/assets/js/charts/dimple/rings/ring_lollipop.js @@ -0,0 +1,114 @@ +/* ------------------------------------------------------------------------------ + * + * # Dimple.js - lollipops + * + * Demo of lollipop chart. Data stored in .tsv file format + * + * Version: 1.0 + * Latest update: August 1, 2015 + * + * ---------------------------------------------------------------------------- */ + +$(function () { + + // Construct chart + var svg = dimple.newSvg("#dimple-ring-lollipop", "100%", 500); + + + // Chart setup + // ------------------------------ + + d3.tsv("assets/demo_data/dimple/demo_data.tsv", function (data) { + + // Filter data + data = dimple.filterData(data, "Date", [ + "01/07/2011", "01/08/2011", "01/09/2011", + "01/10/2011", "01/11/2011", "01/12/2011" + ]); + + + // Create chart + // ------------------------------ + + // Define chart + var myChart = new dimple.chart(svg, data); + + // Set bounds + myChart.setBounds(0, 0, "100%", "100%"); + + // Set margins + myChart.setMargins(55, 25, 10, 45); + + + // Add axes + // ------------------------------ + + // Horizontal + var x = myChart.addCategoryAxis("x", "Month"); + x.addOrderRule("Date"); + + // Vertical + var y = myChart.addMeasureAxis("y", "Unit Sales"); + + // Other axes + myChart.addMeasureAxis("p", "Unit Sales"); + + + // Construct layout + // ------------------------------ + + // Add ring + var rings = myChart.addSeries("Channel", dimple.plot.pie); + + // Inner radius + rings.innerRadius = 20; + + // Outer radius + rings.outerRadius = 30; + + + // Add legend + // ------------------------------ + + var myLegend = myChart.addLegend(0, 5, "100%", 0, "right"); + + + // Add styles + // ------------------------------ + + // Font size + x.fontSize = "12"; + y.fontSize = "12"; + + // Font family + x.fontFamily = "Roboto"; + y.fontFamily = "Roboto"; + + // Legend font style + myLegend.fontSize = "12"; + myLegend.fontFamily = "Roboto"; + + + // + // Draw chart + // + + // Draw + myChart.draw(); + + + // Resize chart + // ------------------------------ + + // Add a method to draw the chart on resize of the window + $(window).on('resize', resize); + $('.sidebar-control').on('click', resize); + + // Resize function + function resize() { + + // Redraw chart + myChart.draw(0, true); + } + }); +}); \ No newline at end of file diff --git a/Show-Crypto-Currency-Price-in-Graph/amol/public/assets/js/charts/dimple/rings/ring_matrix.js b/Show-Crypto-Currency-Price-in-Graph/amol/public/assets/js/charts/dimple/rings/ring_matrix.js new file mode 100644 index 0000000..8d19f07 --- /dev/null +++ b/Show-Crypto-Currency-Price-in-Graph/amol/public/assets/js/charts/dimple/rings/ring_matrix.js @@ -0,0 +1,111 @@ +/* ------------------------------------------------------------------------------ + * + * # Dimple.js - rings matrix + * + * Demo of matrix of rings. Data stored in .tsv file format + * + * Version: 1.0 + * Latest update: August 1, 2015 + * + * ---------------------------------------------------------------------------- */ + +$(function () { + + // Construct chart + var svg = dimple.newSvg("#dimple-ring-matrix", "100%", 500); + + + // Chart setup + // ------------------------------ + + d3.tsv("assets/demo_data/dimple/demo_data.tsv", function (data) { + + + // Create chart + // ------------------------------ + + // Define chart + var myChart = new dimple.chart(svg, data); + + // Set bounds + myChart.setBounds(0, 0, "100%", "100%"); + + // Set margins + myChart.setMargins(40, 25, 10, 45); + + + // Add axes + // ------------------------------ + + // Horizontal + var x = myChart.addCategoryAxis("x", "Price Tier"); + + // Vertical + var y = myChart.addCategoryAxis("y", "Pack Size"); + + // Other axes + myChart.addMeasureAxis("p", "Unit Sales"); + + + // Construct layout + // ------------------------------ + + // Add ring + var rings = myChart.addSeries("Channel", dimple.plot.pie); + + // Inner radius + rings.innerRadius = 15; + + // Outer radius + rings.outerRadius = 25; + + // Display grid lines + x.showGridlines = true; + y.showGridlines = true; + + + // Add legend + // ------------------------------ + + var myLegend = myChart.addLegend(0, 5, "100%", 0, "right"); + + + // Add styles + // ------------------------------ + + // Font size + x.fontSize = "12"; + y.fontSize = "12"; + + // Font family + x.fontFamily = "Roboto"; + y.fontFamily = "Roboto"; + + // Legend font style + myLegend.fontSize = "12"; + myLegend.fontFamily = "Roboto"; + + + // + // Draw chart + // + + // Draw + myChart.draw(); + + + // Resize chart + // ------------------------------ + + // Add a method to draw the chart on resize of the window + $(window).on('resize', resize); + $('.sidebar-control').on('click', resize); + + // Resize function + function resize() { + + // Redraw chart + myChart.draw(0, true); + } + }); +}); \ No newline at end of file diff --git a/Show-Crypto-Currency-Price-in-Graph/amol/public/assets/js/charts/dimple/rings/ring_scatter.js b/Show-Crypto-Currency-Price-in-Graph/amol/public/assets/js/charts/dimple/rings/ring_scatter.js new file mode 100644 index 0000000..75e3e3a --- /dev/null +++ b/Show-Crypto-Currency-Price-in-Graph/amol/public/assets/js/charts/dimple/rings/ring_scatter.js @@ -0,0 +1,110 @@ +/* ------------------------------------------------------------------------------ + * + * # Dimple.js - rings as scatter + * + * Demo of scatter chart with rings. Data stored in .tsv file format + * + * Version: 1.0 + * Latest update: August 1, 2015 + * + * ---------------------------------------------------------------------------- */ + +$(function () { + + // Construct chart + var svg = dimple.newSvg("#dimple-ring-scatter", "100%", 500); + + + // Chart setup + // ------------------------------ + + d3.tsv("assets/demo_data/dimple/demo_data.tsv", function (data) { + + // Filter data + data = dimple.filterData(data, "Date", "01/12/2011"); + + + // Create chart + // ------------------------------ + + // Define chart + var myChart = new dimple.chart(svg, data); + + // Set bounds + myChart.setBounds(0, 0, "100%", "100%"); + + // Set margins + myChart.setMargins(45, 25, 15, 45); + + + // Add axes + // ------------------------------ + + // Horizontal + var x = myChart.addMeasureAxis("x", "Unit Sales Monthly Change"); + + // Vertical + var y = myChart.addMeasureAxis("y", "Price Monthly Change"); + + // Other axes + myChart.addMeasureAxis("p", "Operating Profit"); + + + // Construct layout + // ------------------------------ + + // Add ring + var rings = myChart.addSeries(["Owner", "Channel"], dimple.plot.pie); + + // Inner radius + rings.innerRadius = 30; + + // Outer radius + rings.outerRadius = 20; + + + // Add legend + // ------------------------------ + + var myLegend = myChart.addLegend(0, 5, "100%", 0, "right"); + + + // Add styles + // ------------------------------ + + // Font size + x.fontSize = "12"; + y.fontSize = "12"; + + // Font family + x.fontFamily = "Roboto"; + y.fontFamily = "Roboto"; + + // Legend font style + myLegend.fontSize = "12"; + myLegend.fontFamily = "Roboto"; + + + // + // Draw chart + // + + // Draw + myChart.draw(); + + + // Resize chart + // ------------------------------ + + // Add a method to draw the chart on resize of the window + $(window).on('resize', resize); + $('.sidebar-control').on('click', resize); + + // Resize function + function resize() { + + // Redraw chart + myChart.draw(0, true); + } + }); +}); \ No newline at end of file diff --git a/Show-Crypto-Currency-Price-in-Graph/amol/public/assets/js/charts/dimple/scatter/scatter_basic.js b/Show-Crypto-Currency-Price-in-Graph/amol/public/assets/js/charts/dimple/scatter/scatter_basic.js new file mode 100644 index 0000000..69bcf12 --- /dev/null +++ b/Show-Crypto-Currency-Price-in-Graph/amol/public/assets/js/charts/dimple/scatter/scatter_basic.js @@ -0,0 +1,107 @@ +/* ------------------------------------------------------------------------------ + * + * # Dimple.js - basic scatter + * + * Demo of scatter chart. Data stored in .tsv file format + * + * Version: 1.0 + * Latest update: August 1, 2015 + * + * ---------------------------------------------------------------------------- */ + +$(function () { + + // Construct chart + var svg = dimple.newSvg("#dimple-scatter-basic", "100%", 500); + + + // Chart setup + // ------------------------------ + + d3.tsv("assets/demo_data/dimple/demo_data.tsv", function (data) { + + // Filter data + data = dimple.filterData(data, "Date", "01/12/2011"); + + + // Create chart + // ------------------------------ + + // Define chart + var myChart = new dimple.chart(svg, data); + + // Set bounds + myChart.setBounds(0, 0, "100%", "100%"); + + // Set margins + myChart.setMargins(55, 25, 15, 45); + + + // Create axes + // ------------------------------ + + // Horizontal + var x = myChart.addMeasureAxis("x", "Unit Sales"); + + // Vertical + var y = myChart.addMeasureAxis("y", "Operating Profit"); + + + // Construct layout + // ------------------------------ + + // Add scatter + myChart.addSeries(["SKU", "Channel"], dimple.plot.bubble); + + + // Add legend + // ------------------------------ + + var myLegend = myChart.addLegend(0, 5, "100%", 0, "right"); + + + // Add styles + // ------------------------------ + + // Font size + x.fontSize = "12"; + y.fontSize = "12"; + + // Font family + x.fontFamily = "Roboto"; + y.fontFamily = "Roboto"; + + // Legend font style + myLegend.fontSize = "12"; + myLegend.fontFamily = "Roboto"; + + + // + // Draw chart + // + + // Draw + myChart.draw(); + + // Position legend text + myLegend.shapes.selectAll("text").attr("dy", "1"); + + + // Resize chart + // ------------------------------ + + // Add a method to draw the chart on resize of the window + $(window).on('resize', resize); + $('.sidebar-control').on('click', resize); + + // Resize function + function resize() { + + // Redraw chart + myChart.draw(0, true); + + // Position legend text + myLegend.shapes.selectAll("text").attr("dy", "1"); + } + }); +}); \ No newline at end of file diff --git a/Show-Crypto-Currency-Price-in-Graph/amol/public/assets/js/charts/dimple/scatter/scatter_horizontal_lollipop.js b/Show-Crypto-Currency-Price-in-Graph/amol/public/assets/js/charts/dimple/scatter/scatter_horizontal_lollipop.js new file mode 100644 index 0000000..2c3bf06 --- /dev/null +++ b/Show-Crypto-Currency-Price-in-Graph/amol/public/assets/js/charts/dimple/scatter/scatter_horizontal_lollipop.js @@ -0,0 +1,110 @@ +/* ------------------------------------------------------------------------------ + * + * # Dimple.js - horizontal lollipop + * + * Demo of horizontal lollipop chart. Data stored in .tsv file format + * + * Version: 1.0 + * Latest update: August 1, 2015 + * + * ---------------------------------------------------------------------------- */ + +$(function () { + + // Construct chart + var svg = dimple.newSvg("#dimple-scatter-lollipop-horizontal", "100%", 500); + + + // Chart setup + // ------------------------------ + + d3.tsv("assets/demo_data/dimple/demo_data.tsv", function (data) { + + + // Create chart + // ------------------------------ + + // Define chart + var myChart = new dimple.chart(svg, data); + + // Set bounds + myChart.setBounds(0, 0, "100%", "100%"); + + // Set margins + myChart.setMargins(70, 25, 15, 45); + + + // Create axes + // ------------------------------ + + // Horizontal + var x = myChart.addMeasureAxis("x", "Unit Sales"); + + // Vertical + var y = myChart.addCategoryAxis("y", "Month"); + + // Show vertical grid lines + y.showGridlines = true; + + // Order by date + y.addOrderRule("Date"); + + + // Construct layout + // ------------------------------ + + // Add scatter + myChart.addSeries("Channel", dimple.plot.bubble); + + + // Add legend + // ------------------------------ + + var myLegend = myChart.addLegend(0, 5, "100%", 0, "right"); + + + // Add styles + // ------------------------------ + + // Font size + x.fontSize = "12"; + y.fontSize = "12"; + + // Font family + x.fontFamily = "Roboto"; + y.fontFamily = "Roboto"; + + // Legend font style + myLegend.fontSize = "12"; + myLegend.fontFamily = "Roboto"; + + + // + // Draw chart + // + + // Draw + myChart.draw(); + + // Position legend text + myLegend.shapes.selectAll("text").attr("dy", "1"); + + + // Resize chart + // ------------------------------ + + // Add a method to draw the chart on resize of the window + $(window).on('resize', resize); + $('.sidebar-control').on('click', resize); + + // Resize function + function resize() { + + // Redraw chart + myChart.draw(0, true); + + // Position legend text + myLegend.shapes.selectAll("text").attr("dy", "1"); + } + }); +}); \ No newline at end of file diff --git a/Show-Crypto-Currency-Price-in-Graph/amol/public/assets/js/charts/dimple/scatter/scatter_lollipop_grouped.js b/Show-Crypto-Currency-Price-in-Graph/amol/public/assets/js/charts/dimple/scatter/scatter_lollipop_grouped.js new file mode 100644 index 0000000..827e929 --- /dev/null +++ b/Show-Crypto-Currency-Price-in-Graph/amol/public/assets/js/charts/dimple/scatter/scatter_lollipop_grouped.js @@ -0,0 +1,105 @@ +/* ------------------------------------------------------------------------------ + * + * # Dimple.js - grouped lollipop + * + * Demo of grouped lollipop chart. Data stored in .tsv file format + * + * Version: 1.0 + * Latest update: August 1, 2015 + * + * ---------------------------------------------------------------------------- */ + +$(function () { + + // Construct chart + var svg = dimple.newSvg("#dimple-scatter-lollipop-grouped", "100%", 500); + + + // Chart setup + // ------------------------------ + + d3.tsv("assets/demo_data/dimple/demo_data.tsv", function (data) { + + + // Create chart + // ------------------------------ + + // Define chart + var myChart = new dimple.chart(svg, data); + + // Set bounds + myChart.setBounds(0, 0, "100%", "100%"); + + // Set margins + myChart.setMargins(60, 25, 15, 45); + + + // Create axes + // ------------------------------ + + // Horizontal + var x = myChart.addMeasureAxis("x", "Unit Sales"); + + // Vertical + var y = myChart.addCategoryAxis("y", ["Price Tier", "Channel"]); + y.showGridlines = true; + + + // Construct layout + // ------------------------------ + + // Add scatter + myChart.addSeries("Channel", dimple.plot.bubble); + + + // Add legend + // ------------------------------ + + var myLegend = myChart.addLegend(0, 5, "100%", 0, "right"); + + + // Add styles + // ------------------------------ + + // Font size + x.fontSize = "12"; + y.fontSize = "12"; + + // Font family + x.fontFamily = "Roboto"; + y.fontFamily = "Roboto"; + + // Legend font style + myLegend.fontSize = "12"; + myLegend.fontFamily = "Roboto"; + + + // + // Draw chart + // + + // Draw + myChart.draw(); + + // Position legend text + myLegend.shapes.selectAll("text").attr("dy", "1"); + + + // Resize chart + // ------------------------------ + + // Add a method to draw the chart on resize of the window + $(window).on('resize', resize); + $('.sidebar-control').on('click', resize); + + // Resize function + function resize() { + + // Redraw chart + myChart.draw(0, true); + + // Position legend text + myLegend.shapes.selectAll("text").attr("dy", "1"); + } + }); +}); \ No newline at end of file diff --git a/Show-Crypto-Currency-Price-in-Graph/amol/public/assets/js/charts/dimple/scatter/scatter_matrix.js b/Show-Crypto-Currency-Price-in-Graph/amol/public/assets/js/charts/dimple/scatter/scatter_matrix.js new file mode 100644 index 0000000..2caa3a8 --- /dev/null +++ b/Show-Crypto-Currency-Price-in-Graph/amol/public/assets/js/charts/dimple/scatter/scatter_matrix.js @@ -0,0 +1,108 @@ +/* ------------------------------------------------------------------------------ + * + * # Dimple.js - scatter matrix + * + * Demo of scatter matrix. Data stored in .tsv file format + * + * Version: 1.0 + * Latest update: August 1, 2015 + * + * ---------------------------------------------------------------------------- */ + +$(function () { + + // Construct chart + var svg = dimple.newSvg("#dimple-scatter-matrix", "100%", 500); + + + // Chart setup + // ------------------------------ + + d3.tsv("assets/demo_data/dimple/demo_data.tsv", function (data) { + + + // Create chart + // ------------------------------ + + // Define chart + var myChart = new dimple.chart(svg, data); + + // Set bounds + myChart.setBounds(0, 0, "100%", "100%"); + + // Set margins + myChart.setMargins(70, 25, 10, 45); + + + // Create axes + // ------------------------------ + + // Horizontal + var x = myChart.addCategoryAxis("x", ["Channel", "Price Tier"]); + + // Vertical + var y = myChart.addCategoryAxis("y", "Owner"); + + // Display grid lines + x.showGridlines = true; + y.showGridlines = true; + + + // Construct layout + // ------------------------------ + + // Add scatter + myChart.addSeries("Price Tier", dimple.plot.bubble); + + + // Add legend + // ------------------------------ + + var myLegend = myChart.addLegend(0, 5, "100%", 0, "right"); + + + // Add styles + // ------------------------------ + + // Font size + x.fontSize = "12"; + y.fontSize = "12"; + + // Font family + x.fontFamily = "Roboto"; + y.fontFamily = "Roboto"; + + // Legend font style + myLegend.fontSize = "12"; + myLegend.fontFamily = "Roboto"; + + + // + // Draw chart + // + + // Draw + myChart.draw(); + + // Position legend text + myLegend.shapes.selectAll("text").attr("dy", "1"); + + + // Resize chart + // ------------------------------ + + // Add a method to draw the chart on resize of the window + $(window).on('resize', resize); + $('.sidebar-control').on('click', resize); + + // Resize function + function resize() { + + // Redraw chart + myChart.draw(0, true); + + // Position legend text + myLegend.shapes.selectAll("text").attr("dy", "1"); + } + }); +}); \ No newline at end of file diff --git a/Show-Crypto-Currency-Price-in-Graph/amol/public/assets/js/charts/dimple/scatter/scatter_vertical_lollipop.js b/Show-Crypto-Currency-Price-in-Graph/amol/public/assets/js/charts/dimple/scatter/scatter_vertical_lollipop.js new file mode 100644 index 0000000..7ef041e --- /dev/null +++ b/Show-Crypto-Currency-Price-in-Graph/amol/public/assets/js/charts/dimple/scatter/scatter_vertical_lollipop.js @@ -0,0 +1,111 @@ +/* ------------------------------------------------------------------------------ + * + * # Dimple.js - vertical lollipop + * + * Demo of vertical lollipop chart. Data stored in .tsv file format + * + * Version: 1.0 + * Latest update: August 1, 2015 + * + * ---------------------------------------------------------------------------- */ + +$(function () { + + // Construct chart + var svg = dimple.newSvg("#dimple-scatter-lollipop-vertical", "100%", 500); + + + // Chart setup + // ------------------------------ + + d3.tsv("assets/demo_data/dimple/demo_data.tsv", function (data) { + + + // Create chart + // ------------------------------ + + // Define chart + var myChart = new dimple.chart(svg, data); + + // Set bounds + myChart.setBounds(0, 0, "100%", "100%"); + + // Set margins + myChart.setMargins(55, 25, 10, 50); + + + // Create axes + // ------------------------------ + + // Horizontal + var x = myChart.addCategoryAxis("x", "Month"); + x.addOrderRule("Date"); + + // Vertical + var y = myChart.addMeasureAxis("y", "Unit Sales"); + + + // Construct layout + // ------------------------------ + + // Add scatter + myChart.addSeries("Channel", dimple.plot.bubble); + + + // Add legend + // ------------------------------ + + var myLegend = myChart.addLegend(0, 5, "100%", 0, "right"); + + + // Add styles + // ------------------------------ + + // Font size + x.fontSize = "12"; + y.fontSize = "12"; + + // Font family + x.fontFamily = "Roboto"; + y.fontFamily = "Roboto"; + + // Legend font style + myLegend.fontSize = "12"; + myLegend.fontFamily = "Roboto"; + + + // + // Draw chart + // + + // Draw + myChart.draw(); + + // Remove axis titles + x.titleShape.remove(); + + // Position legend text + myLegend.shapes.selectAll("text").attr("dy", "1"); + + + // Resize chart + // ------------------------------ + + // Add a method to draw the chart on resize of the window + $(window).on('resize', resize); + $('.sidebar-control').on('click', resize); + + // Resize function + function resize() { + + // Redraw chart + myChart.draw(0, true); + + // Remove axis titles + x.titleShape.remove(); + + // Position legend text + myLegend.shapes.selectAll("text").attr("dy", "1"); + } + }); +}); \ No newline at end of file diff --git a/Show-Crypto-Currency-Price-in-Graph/amol/public/assets/js/charts/dimple/step/step_horizontal_multiple.js b/Show-Crypto-Currency-Price-in-Graph/amol/public/assets/js/charts/dimple/step/step_horizontal_multiple.js new file mode 100644 index 0000000..4230e59 --- /dev/null +++ b/Show-Crypto-Currency-Price-in-Graph/amol/public/assets/js/charts/dimple/step/step_horizontal_multiple.js @@ -0,0 +1,117 @@ +/* ------------------------------------------------------------------------------ + * + * # Dimple.js - multiple horizontal steps + * + * Demo of multiple step chart. Data stored in .tsv file format + * + * Version: 1.0 + * Latest update: August 1, 2015 + * + * ---------------------------------------------------------------------------- */ + +$(function () { + + // Construct chart + var svg = dimple.newSvg("#dimple-step-horizontal-multiple", "100%", 500); + + + // Chart setup + // ------------------------------ + + d3.tsv("assets/demo_data/dimple/demo_data.tsv", function (data) { + + // Filter data + data = dimple.filterData(data, "Owner", ["Aperture", "Black Mesa"]) + + + // Create chart + // ------------------------------ + + // Define chart + var myChart = new dimple.chart(svg, data); + + // Set bounds + myChart.setBounds(0, 0, "100%", "100%") + + // Set margins + myChart.setMargins(55, 25, 10, 45); + + + // Create axes + // ------------------------------ + + // Horizontal + var x = myChart.addCategoryAxis("x", "Month"); + x.addOrderRule("Date"); + + // Vertical + var y = myChart.addMeasureAxis("y", "Unit Sales"); + + + // Construct layout + // ------------------------------ + + // Add line + var s = myChart + .addSeries("Channel", dimple.plot.line) + .interpolation = "step"; + + + // Add legend + // ------------------------------ + + var myLegend = myChart.addLegend(0, 5, "100%", 0, "right"); + + + // Add styles + // ------------------------------ + + // Font size + x.fontSize = "12"; + y.fontSize = "12"; + + // Font family + x.fontFamily = "Roboto"; + y.fontFamily = "Roboto"; + + // Legend font style + myLegend.fontSize = "12"; + myLegend.fontFamily = "Roboto"; + + + // + // Draw chart + // + + // Draw + myChart.draw(); + + // Position legend text + myLegend.shapes.selectAll("text").attr("dy", "1"); + + // Remove axis titles + x.titleShape.remove(); + + + // Resize chart + // ------------------------------ + + // Add a method to draw the chart on resize of the window + $(window).on('resize', resize); + $('.sidebar-control').on('click', resize); + + // Resize function + function resize() { + + // Redraw chart + myChart.draw(0, true); + + // Position legend text + myLegend.shapes.selectAll("text").attr("dy", "1"); + + // Remove axis titles + x.titleShape.remove(); + } + }); + +}); \ No newline at end of file diff --git a/Show-Crypto-Currency-Price-in-Graph/amol/public/assets/js/charts/dimple/step/step_horizontal_multiple_grouped.js b/Show-Crypto-Currency-Price-in-Graph/amol/public/assets/js/charts/dimple/step/step_horizontal_multiple_grouped.js new file mode 100644 index 0000000..052d3ad --- /dev/null +++ b/Show-Crypto-Currency-Price-in-Graph/amol/public/assets/js/charts/dimple/step/step_horizontal_multiple_grouped.js @@ -0,0 +1,114 @@ +/* ------------------------------------------------------------------------------ + * + * # Dimple.js - grouped multiple horizontal steps + * + * Demo of multiple grouped step chart. Data stored in .tsv file format + * + * Version: 1.0 + * Latest update: August 1, 2015 + * + * ---------------------------------------------------------------------------- */ + +$(function () { + + // Construct chart + var svg = dimple.newSvg("#dimple-step-horizontal-multiple-grouped", "100%", 500); + + + // Chart setup + // ------------------------------ + + d3.tsv("assets/demo_data/dimple/demo_data.tsv", function (data) { + + // Filter data + data = dimple.filterData(data, "Owner", ["Aperture", "Black Mesa"]) + + + // Create chart + // ------------------------------ + + // Define chart + var myChart = new dimple.chart(svg, data); + + // Set bounds + myChart.setBounds(0, 0, "100%", "100%") + + // Set margins + myChart.setMargins(55, 10, 100, 45); + + + // Create axes + // ------------------------------ + + // Horizontal + var x = myChart.addCategoryAxis("x", ["Owner", "Month"]); + x.addGroupOrderRule("Date"); + + // Vertical + var y = myChart.addMeasureAxis("y", "Unit Sales"); + + + // Construct layout + // ------------------------------ + + // Add line + var s = myChart + .addSeries(["Brand"], dimple.plot.line) + .interpolation = "step"; + + // Steps space + s.barGap = 0.05; + + + // Add legend + // ------------------------------ + + var myLegend = myChart.addLegend("100%", 0, 0, "100%", "right"); + + + // Add styles + // ------------------------------ + + // Font size + x.fontSize = "12"; + y.fontSize = "12"; + + // Font family + x.fontFamily = "Roboto"; + y.fontFamily = "Roboto"; + + // Legend font style + myLegend.fontSize = "12"; + myLegend.fontFamily = "Roboto"; + + + // + // Draw chart + // + + // Draw + myChart.draw(); + + // Position legend text + myLegend.shapes.selectAll("text").attr("dy", "1"); + + + // Resize chart + // ------------------------------ + + // Add a method to draw the chart on resize of the window + $(window).on('resize', resize); + $('.sidebar-control').on('click', resize); + + // Resize function + function resize() { + + // Redraw chart + myChart.draw(0, true); + + // Position legend text + myLegend.shapes.selectAll("text").attr("dy", "1"); + } + }); + +}); \ No newline at end of file diff --git a/Show-Crypto-Currency-Price-in-Graph/amol/public/assets/js/charts/dimple/step/step_horizontal_single.js b/Show-Crypto-Currency-Price-in-Graph/amol/public/assets/js/charts/dimple/step/step_horizontal_single.js new file mode 100644 index 0000000..80d198f --- /dev/null +++ b/Show-Crypto-Currency-Price-in-Graph/amol/public/assets/js/charts/dimple/step/step_horizontal_single.js @@ -0,0 +1,101 @@ +/* ------------------------------------------------------------------------------ + * + * # Dimple.js - horizontal step + * + * Demo of a single step chart. Data stored in .tsv file format + * + * Version: 1.0 + * Latest update: August 1, 2015 + * + * ---------------------------------------------------------------------------- */ + +$(function () { + + // Construct chart + var svg = dimple.newSvg("#dimple-step-horizontal-single", "100%", 500); + + + // Chart setup + // ------------------------------ + + d3.tsv("assets/demo_data/dimple/demo_data.tsv", function (data) { + + // Filter data + data = dimple.filterData(data, "Owner", ["Aperture", "Black Mesa"]) + + + // Create chart + // ------------------------------ + + // Define chart + var myChart = new dimple.chart(svg, data); + + // Set bounds + myChart.setBounds(0, 0, "100%", "100%") + + // Set margins + myChart.setMargins(55, 10, 10, 45); + + + // Create axes + // ------------------------------ + + // Horizontal + var x = myChart.addCategoryAxis("x", "Month"); + x.addOrderRule("Date"); + + // Vertical + var y = myChart.addMeasureAxis("y", "Unit Sales"); + + + // Construct layout + // ------------------------------ + + // Add line + var s = myChart + .addSeries(null, dimple.plot.line) + .interpolation = "step"; + + + // Add styles + // ------------------------------ + + // Font size + x.fontSize = "12"; + y.fontSize = "12"; + + // Font family + x.fontFamily = "Roboto"; + y.fontFamily = "Roboto"; + + + // + // Draw chart + // + + // Draw + myChart.draw(); + + // Remove axis titles + x.titleShape.remove(); + + + // Resize chart + // ------------------------------ + + // Add a method to draw the chart on resize of the window + $(window).on('resize', resize); + $('.sidebar-control').on('click', resize); + + // Resize function + function resize() { + + // Redraw chart + myChart.draw(0, true); + + // Remove axis titles + x.titleShape.remove(); + } + }); + +}); \ No newline at end of file diff --git a/Show-Crypto-Currency-Price-in-Graph/amol/public/assets/js/charts/dimple/step/step_horizontal_single_grouped.js b/Show-Crypto-Currency-Price-in-Graph/amol/public/assets/js/charts/dimple/step/step_horizontal_single_grouped.js new file mode 100644 index 0000000..a926a61 --- /dev/null +++ b/Show-Crypto-Currency-Price-in-Graph/amol/public/assets/js/charts/dimple/step/step_horizontal_single_grouped.js @@ -0,0 +1,98 @@ +/* ------------------------------------------------------------------------------ + * + * # Dimple.js - grouped horizontal steps + * + * Demo of grouped steps chart. Data stored in .tsv file format + * + * Version: 1.0 + * Latest update: August 1, 2015 + * + * ---------------------------------------------------------------------------- */ + +$(function () { + + // Construct chart + var svg = dimple.newSvg("#dimple-step-horizontal-single-grouped", "100%", 500); + + + // Chart setup + // ------------------------------ + + d3.tsv("assets/demo_data/dimple/demo_data.tsv", function (data) { + + // Filter data + data = dimple.filterData(data, "Owner", ["Aperture", "Black Mesa"]) + + + // Create chart + // ------------------------------ + + // Define chart + var myChart = new dimple.chart(svg, data); + + // Set bounds + myChart.setBounds(0, 0, "100%", "100%") + + // Set margins + myChart.setMargins(55, 10, 10, 45); + + + // Create axes + // ------------------------------ + + // Horizontal + var x = myChart.addCategoryAxis("x", ["Owner", "Month"]); + x.addGroupOrderRule("Date"); + + // Vertical + var y = myChart.addMeasureAxis("y", "Unit Sales"); + + + // Construct layout + // ------------------------------ + + // Add line + var s = myChart + .addSeries("Owner", dimple.plot.line) + .interpolation = "step"; + + // Line space + s.barGap = 0.05; + + + // Add styles + // ------------------------------ + + // Font size + x.fontSize = "12"; + y.fontSize = "12"; + + // Font family + x.fontFamily = "Roboto"; + y.fontFamily = "Roboto"; + + + // + // Draw chart + // + + // Draw + myChart.draw(); + + + // Resize chart + // ------------------------------ + + // Add a method to draw the chart on resize of the window + $(window).on('resize', resize); + $('.sidebar-control').on('click', resize); + + // Resize function + function resize() { + + // Redraw chart + myChart.draw(0, true); + } + }); + +}); \ No newline at end of file diff --git a/Show-Crypto-Currency-Price-in-Graph/amol/public/assets/js/charts/dimple/step/step_vertical_multiple.js b/Show-Crypto-Currency-Price-in-Graph/amol/public/assets/js/charts/dimple/step/step_vertical_multiple.js new file mode 100644 index 0000000..8549d06 --- /dev/null +++ b/Show-Crypto-Currency-Price-in-Graph/amol/public/assets/js/charts/dimple/step/step_vertical_multiple.js @@ -0,0 +1,108 @@ +/* ------------------------------------------------------------------------------ + * + * # Dimple.js - multiple vertical steps + * + * Demo of multiple step chart. Data stored in .tsv file format + * + * Version: 1.0 + * Latest update: August 1, 2015 + * + * ---------------------------------------------------------------------------- */ + +$(function () { + + // Construct chart + var svg = dimple.newSvg("#dimple-step-vertical-multiple", "100%", 500); + + + d3.tsv("assets/demo_data/dimple/demo_data.tsv", function (data) { + + // Filter data + data = dimple.filterData(data, "Owner", ["Aperture", "Black Mesa"]) + + + // Create chart + // ------------------------------ + + // Define chart + var myChart = new dimple.chart(svg, data); + + // Set bounds + myChart.setBounds(0, 0, "100%", "100%") + + // Set margins + myChart.setMargins(70, 25, 20, 45); + + + // Create axes + // ------------------------------ + + // Horizontal + var x = myChart.addMeasureAxis("x", "Unit Sales"); + + // Vertical + var y = myChart.addCategoryAxis("y", "Month"); + y.addOrderRule("Date"); + + + // Construct layout + // ------------------------------ + + // Add line + var s = myChart + .addSeries("Channel", dimple.plot.line) + .interpolation = "step"; + + + // Add legend + // ------------------------------ + + var myLegend = myChart.addLegend(0, 5, "100%", 0, "right"); + + + // Add styles + // ------------------------------ + + // Font size + x.fontSize = "12"; + y.fontSize = "12"; + + // Font family + x.fontFamily = "Roboto"; + y.fontFamily = "Roboto"; + + // Legend font style + myLegend.fontSize = "12"; + myLegend.fontFamily = "Roboto"; + + + // + // Draw chart + // + + // Draw + myChart.draw(); + + // Position legend text + myLegend.shapes.selectAll("text").attr("dy", "1"); + + + // Resize chart + // ------------------------------ + + // Add a method to draw the chart on resize of the window + $(window).on('resize', resize); + $('.sidebar-control').on('click', resize); + + // Resize function + function resize() { + + // Redraw chart + myChart.draw(0, true); + + // Position legend text + myLegend.shapes.selectAll("text").attr("dy", "1"); + } + }); + +}); \ No newline at end of file diff --git a/Show-Crypto-Currency-Price-in-Graph/amol/public/assets/js/charts/dimple/step/step_vertical_multiple_grouped.js b/Show-Crypto-Currency-Price-in-Graph/amol/public/assets/js/charts/dimple/step/step_vertical_multiple_grouped.js new file mode 100644 index 0000000..e6d3b55 --- /dev/null +++ b/Show-Crypto-Currency-Price-in-Graph/amol/public/assets/js/charts/dimple/step/step_vertical_multiple_grouped.js @@ -0,0 +1,114 @@ +/* ------------------------------------------------------------------------------ + * + * # Dimple.js - multiple vertical steps + * + * Demo of grouped multiple step chart. Data stored in .tsv file format + * + * Version: 1.0 + * Latest update: August 1, 2015 + * + * ---------------------------------------------------------------------------- */ + +$(function () { + + // Construct chart + var svg = dimple.newSvg("#dimple-step-vertical-multiple-grouped", "100%", 500); + + + // Chart setup + // ------------------------------ + + d3.tsv("assets/demo_data/dimple/demo_data.tsv", function (data) { + + // Filter data + data = dimple.filterData(data, "Owner", ["Aperture", "Black Mesa"]) + + + // Create chart + // ------------------------------ + + // Define chart + var myChart = new dimple.chart(svg, data); + + // Set bounds + myChart.setBounds(0, 0, "100%", "100%") + + // Set margins + myChart.setMargins(70, 10, 100, 45); + + + // Create axes + // ------------------------------ + + // Horizontal + var x = myChart.addMeasureAxis("x", "Unit Sales"); + + // Vertical + var y = myChart.addCategoryAxis("y", ["Owner", "Month"]); + y.addGroupOrderRule("Date"); + + + // Construct layout + // ------------------------------ + + // Add line + var s = myChart + .addSeries(["Brand"], dimple.plot.line) + .interpolation = "step"; + + // Line space + s.barGap = 0.05; + + + // Add legend + // ------------------------------ + + var myLegend = myChart.addLegend("100%", 5, 0, "100%", "right"); + + + // Add styles + // ------------------------------ + + // Font size + x.fontSize = "12"; + y.fontSize = "12"; + + // Font family + x.fontFamily = "Roboto"; + y.fontFamily = "Roboto"; + + // Legend font style + myLegend.fontSize = "12"; + myLegend.fontFamily = "Roboto"; + + + // + // Draw chart + // + + // Draw + myChart.draw(); + + // Position legend text + myLegend.shapes.selectAll("text").attr("dy", "1"); + + + // Resize chart + // ------------------------------ + + // Add a method to draw the chart on resize of the window + $(window).on('resize', resize); + $('.sidebar-control').on('click', resize); + + // Resize function + function resize() { + + // Redraw chart + myChart.draw(0, true); + + // Position legend text + myLegend.shapes.selectAll("text").attr("dy", "1"); + } + }); + +}); \ No newline at end of file diff --git a/Show-Crypto-Currency-Price-in-Graph/amol/public/assets/js/charts/dimple/step/step_vertical_single.js b/Show-Crypto-Currency-Price-in-Graph/amol/public/assets/js/charts/dimple/step/step_vertical_single.js new file mode 100644 index 0000000..9d2596b --- /dev/null +++ b/Show-Crypto-Currency-Price-in-Graph/amol/public/assets/js/charts/dimple/step/step_vertical_single.js @@ -0,0 +1,94 @@ +/* ------------------------------------------------------------------------------ + * + * # Dimple.js - single vertical step + * + * Demo of a single step chart. Data stored in .tsv file format + * + * Version: 1.0 + * Latest update: August 1, 2015 + * + * ---------------------------------------------------------------------------- */ + +$(function () { + + // Construct chart + var svg = dimple.newSvg("#dimple-step-vertical-single", "100%", 500); + + + // Chart setup + // ------------------------------ + + d3.tsv("assets/demo_data/dimple/demo_data.tsv", function (data) { + + // Filter data + data = dimple.filterData(data, "Owner", ["Aperture", "Black Mesa"]) + + + // Create chart + // ------------------------------ + + // Define chart + var myChart = new dimple.chart(svg, data); + + // Set bounds + myChart.setBounds(0, 0, "100%", "100%") + + // Set margins + myChart.setMargins(70, 10, 20, 45); + + + // Create axes + // ------------------------------ + + // Horizontal + var x = myChart.addMeasureAxis("x", "Unit Sales"); + + // Vertical + var y = myChart.addCategoryAxis("y", "Month"); + y.addOrderRule("Date"); + + + // Construct layout + // ------------------------------ + + // Add line + var s = myChart + .addSeries(null, dimple.plot.line) + .interpolation = "step"; + + + // Add styles + // ------------------------------ + + // Font size + x.fontSize = "12"; + y.fontSize = "12"; + + // Font family + x.fontFamily = "Roboto"; + y.fontFamily = "Roboto"; + + + // + // Draw chart + // + + // Draw + myChart.draw(); + + + // Resize chart + // ------------------------------ + + // Add a method to draw the chart on resize of the window + $(window).on('resize', resize); + $('.sidebar-control').on('click', resize); + + // Resize function + function resize() { + + // Redraw chart + myChart.draw(0, true); + } + }); +}); \ No newline at end of file diff --git a/Show-Crypto-Currency-Price-in-Graph/amol/public/assets/js/charts/dimple/step/step_vertical_single_grouped.js b/Show-Crypto-Currency-Price-in-Graph/amol/public/assets/js/charts/dimple/step/step_vertical_single_grouped.js new file mode 100644 index 0000000..7082a24 --- /dev/null +++ b/Show-Crypto-Currency-Price-in-Graph/amol/public/assets/js/charts/dimple/step/step_vertical_single_grouped.js @@ -0,0 +1,97 @@ +/* ------------------------------------------------------------------------------ + * + * # Dimple.js - vertical grouped step + * + * Demo of a grouped step chart. Data stored in .tsv file format + * + * Version: 1.0 + * Latest update: August 1, 2015 + * + * ---------------------------------------------------------------------------- */ + +$(function () { + + // Construct chart + var svg = dimple.newSvg("#dimple-step-vertical-single-grouped", "100%", 500); + + + // Chart setup + // ------------------------------ + + d3.tsv("assets/demo_data/dimple/demo_data.tsv", function (data) { + + // Filter data + data = dimple.filterData(data, "Owner", ["Aperture", "Black Mesa"]) + + + // Create chart + // ------------------------------ + + // Define chart + var myChart = new dimple.chart(svg, data); + + // Set bounds + myChart.setBounds(0, 0, "100%", "100%") + + // Set margins + myChart.setMargins(70, 10, 20, 45); + + + // Create axes + // ------------------------------ + + // Horizontal + var x = myChart.addMeasureAxis("x", "Unit Sales"); + + // Vertical + var y = myChart.addCategoryAxis("y", ["Owner", "Month"]); + y.addGroupOrderRule("Date"); + + + // Construct layout + // ------------------------------ + + // Add lines + var s = myChart + .addSeries("Owner", dimple.plot.line) + .interpolation = "step"; + + // Line space + s.barGap = 0.05; + + + // Add styles + // ------------------------------ + + // Font size + x.fontSize = "12"; + y.fontSize = "12"; + + // Font family + x.fontFamily = "Roboto"; + y.fontFamily = "Roboto"; + + + // + // Draw chart + // + + // Draw + myChart.draw(); + + + // Resize chart + // ------------------------------ + + // Add a method to draw the chart on resize of the window + $(window).on('resize', resize); + $('.sidebar-control').on('click', resize); + + // Resize function + function resize() { + + // Redraw chart + myChart.draw(0, true); + } + }); +}); \ No newline at end of file diff --git a/Show-Crypto-Currency-Price-in-Graph/amol/public/assets/js/charts/echarts/bars_tornados.js b/Show-Crypto-Currency-Price-in-Graph/amol/public/assets/js/charts/echarts/bars_tornados.js new file mode 100644 index 0000000..8d4a00b --- /dev/null +++ b/Show-Crypto-Currency-Price-in-Graph/amol/public/assets/js/charts/echarts/bars_tornados.js @@ -0,0 +1,966 @@ +/* ------------------------------------------------------------------------------ + * + * # Echarts - bars and tornados + * + * Bars and tornados chart configurations + * + * Version: 1.0 + * Latest update: August 1, 2015 + * + * ---------------------------------------------------------------------------- */ + +$(function () { + + // Set paths + // ------------------------------ + + require.config({ + paths: { + echarts: 'assets/js/plugins/visualization/echarts' + } + }); + + + // Configuration + // ------------------------------ + + require( + [ + 'echarts', + 'echarts/theme/limitless', + 'echarts/chart/bar', + 'echarts/chart/line' + ], + + + // Charts setup + function (ec, limitless) { + + + // Initialize charts + // ------------------------------ + + var basic_bars = ec.init(document.getElementById('basic_bars'), limitless); + var stacked_bars = ec.init(document.getElementById('stacked_bars'), limitless); + var stacked_clustered_bars = ec.init(document.getElementById('stacked_clustered_bars'), limitless); + var floating_bars = ec.init(document.getElementById('floating_bars'), limitless); + var irregular_bars = ec.init(document.getElementById('irregular_bars'), limitless); + var tornado_bars_negative = ec.init(document.getElementById('tornado_bars_negative'), limitless); + var tornado_bars_staggered = ec.init(document.getElementById('tornado_bars_staggered'), limitless); + + + + // Charts setup + // ------------------------------ + + // + // Basic bars options + // + + basic_bars_options = { + + // Setup grid + grid: { + x: 75, + x2: 35, + y: 35, + y2: 25 + }, + + // Add tooltip + tooltip: { + trigger: 'axis', + axisPointer: { + type: 'shadow' + } + }, + + // Add legend + legend: { + data: ['Year 2013', 'Year 2014'] + }, + + // Enable drag recalculate + calculable: true, + + // Horizontal axis + xAxis: [{ + type: 'value', + boundaryGap: [0, 0.01] + }], + + // Vertical axis + yAxis: [{ + type: 'category', + data: ['Germany','France','Spain','Netherlands','Belgium'] + }], + + // Add series + series: [ + { + name: 'Year 2013', + type: 'bar', + itemStyle: { + normal: { + color: '#EF5350' + } + }, + data: [38203, 73489, 129034, 204970, 331744] + }, + { + name: 'Year 2014', + type: 'bar', + itemStyle: { + normal: { + color: '#66BB6A' + } + }, + data: [39325, 83438, 131000, 221594, 334141] + } + ] + }; + + + // + // Stacked bars options + // + + stacked_bars_options = { + + // Setup grid + grid: { + x: 75, + x2: 25, + y: 35, + y2: 25 + }, + + // Add tooltip + tooltip: { + trigger: 'axis', + axisPointer: { + type: 'shadow' + } + }, + + // Add legend + legend: { + data:['Internet Explorer','Opera','Safari','Firefox','Chrome'] + }, + + // Enable drag recalculate + calculable: true, + + // Horizontal axis + xAxis: [{ + type: 'value' + }], + + // Vertical axis + yAxis: [{ + type: 'category', + data: ['Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday', 'Sunday'] + }], + + // Add series + series: [ + { + name: 'Internet Explorer', + type: 'bar', + stack: 'Total', + itemStyle: { + normal: { + color: '#42A5F5', + label: { + show: true, + position: 'insideRight' + } + }, + emphasis: { + color: '#42A5F5', + label: { + show: true + } + } + }, + data:[320, 302, 301, 334, 390, 330, 320] + }, + { + name: 'Opera', + type: 'bar', + stack: 'Total', + itemStyle: { + normal: { + color: '#ef5350', + label: { + show: true, + position: 'insideRight' + } + }, + emphasis: { + color: '#ef5350', + label: { + show: true + } + } + }, + data:[120, 132, 101, 134, 90, 230, 210] + }, + { + name: 'Safari', + type: 'bar', + stack: 'Total', + itemStyle: { + normal: { + color: '#66bb6a', + label: { + show: true, + position: 'insideRight' + } + }, + emphasis: { + color: '#66bb6a', + label: { + show: true + } + } + }, + data:[220, 182, 191, 234, 290, 330, 310] + }, + { + name: 'Firefox', + type: 'bar', + stack: 'Total', + itemStyle: { + normal: { + color: '#ff7043', + label: { + show: true, + position: 'insideRight' + } + }, + emphasis: { + color: '#ff7043', + label: { + show: true + } + } + }, + data:[150, 212, 201, 154, 190, 330, 410] + }, + { + name: 'Chrome', + type: 'bar', + stack: 'Total', + itemStyle: { + normal: { + color: '#26a69a', + label: { + show: true, + position: 'insideRight' + } + }, + emphasis: { + color: '#26a69a', + label: { + show: true + } + } + }, + data:[820, 832, 901, 934, 1290, 1330, 1320] + } + ] + }; + + + // + // Stacked clustered bars options + // + + stacked_clustered_bars_options = { + + // Setup grid + grid: { + x: 45, + x2: 45, + y: 65, + y2: 25 + }, + + // Add tooltip + tooltip: { + trigger: 'axis', + axisPointer: { + type: 'shadow' + } + }, + + // Add legends + legend: { + data: [ + 'Version 1.7 - 2k data','Version 1.7 - 2w data','Version 1.7 - 20w data','', + 'Version 2.0 - 2k data','Version 2.0 - 2w data','Version 2.0 - 20w data' + ] + }, + + // Enable drag recalculate + calculable: true, + + // Vertical axis + yAxis: [ + { + type: 'category', + data: ['Line','Bar','Scatter','Pies'] + }, + { + type: 'category', + axisLine: {show: false}, + axisTick: {show: false}, + axisLabel: {show: false}, + splitArea: {show: false}, + splitLine: {show: false}, + data: ['Line','Bar','Scatter','Pies'] + } + ], + + // Horizontal axis + xAxis: [{ + type: 'value', + axisLabel: {formatter: '{value} ms'} + }], + + // Add series + series: [ + { + name: 'Version 2.0 - 2k data', + type: 'bar', + yAxisIndex: 1, + itemStyle: { + normal: { + color: '#F44336', + label: { + show: true, + textStyle:{ + color: '#fff' + } + } + }, + emphasis: { + color: '#F44336', + label: { + show: true + } + } + }, + data: [247, 187, 95, 175] + }, + { + name: 'Version 2.0 - 2w data', + type: 'bar', + yAxisIndex: 1, + itemStyle: { + normal: { + color: '#4CAF50', + label: { + show: true, + textStyle: { + color: '#fff' + } + } + }, + emphasis: { + color: '#4CAF50', + label: { + show: true + } + } + }, + data: [488, 415, 405, 340] + }, + { + name: 'Version 2.0 - 20w data', + type: 'bar', + yAxisIndex: 1, + itemStyle: { + normal: { + color: '#2196F3', + label: { + show: true, + textStyle: { + color: '#fff' + } + } + }, + emphasis: { + color: '#2196F3', + label: { + show: true + } + } + }, + data: [906, 911, 908, 778] + }, + + { + name: 'Version 1.7 - 2k data', + type: 'bar', + itemStyle: { + normal: { + color: '#E57373', + label: { + show: true + } + }, + emphasis: { + color: '#E57373', + label: { + show: true + } + } + }, + data: [680, 819, 564, 724] + }, + { + name: 'Version 1.7 - 2w data', + type: 'bar', + itemStyle: { + normal: { + color: '#81C784', + label: { + show: true + } + }, + emphasis: { + color: '#81C784', + label: { + show: true + } + } + }, + data: [1212, 2035, 1620, 955] + }, + { + name: 'Version 1.7 - 20w data', + type: 'bar', + itemStyle: { + normal: { + color: '#64B5F6', + label: { + show: true, + formatter: function(p) {return p.value > 0 ? (p.value +'+'):'';} + } + }, + emphasis: { + color: '#64B5F6', + label: { + show: false + } + } + }, + data: [2200, 3000, 2500, 3000] + } + ] + }; + + + // + // Floating bars options + // + + var placeHoledStyle = { + normal: { + barBorderColor: 'rgba(0,0,0,0)', + color: 'rgba(0,0,0,0)' + }, + emphasis: { + barBorderColor: 'rgba(0,0,0,0)', + color: 'rgba(0,0,0,0)' + } + }; + var dataStyle = { + normal: { + label: { + show: true, + position: 'insideLeft', + formatter: '{c}%' + } + }, + emphasis: { + label: { + show: true + } + } + }; + + floating_bars_options = { + + // Setup grid + grid: { + x: 75, + x2: 10, + y: 35, + y2: 10 + }, + + // Add tooltip + tooltip: { + trigger: 'axis', + axisPointer: { + type: 'shadow' + }, + formatter: '{b}{a0}: {c0}%{a2}: {c2}%{a4}: {c4}%{a6}: {c6}%' + }, + + // Add legend + legend: { + itemGap: document.getElementById('floating_bars').offsetWidth / 8, + data: ['GML', 'PYP','WTC', 'ZTW'] + }, + + // Horizontal axis + xAxis: [{ + type: 'value', + position: 'top', + splitLine: {show: false}, + axisLabel: {show: false} + }], + + // Vertical axis + yAxis: [{ + type: 'category', + data: ['Paris', 'Berlin', 'Amsterdam', 'Madrid'] + }], + + // Add series + series: [ + { + name: 'GML', + type: 'bar', + stack: 'Total', + itemStyle: dataStyle, + data: [38, 50, 33, 72] + }, + { + name: 'GML', + type: 'bar', + stack: 'Total', + itemStyle: placeHoledStyle, + data: [62, 50, 67, 28] + }, + { + name: 'PYP', + type: 'bar', + stack: 'Total', + itemStyle: dataStyle, + data: [61, 41, 42, 30] + }, + { + name: 'PYP', + type: 'bar', + stack: 'Total', + itemStyle: placeHoledStyle, + data: [39, 59, 58, 70] + }, + { + name: 'WTC', + type: 'bar', + stack: 'Total', + itemStyle: dataStyle, + data: [37, 35, 44, 60] + }, + { + name: 'WTC', + type: 'bar', + stack: 'Total', + itemStyle: placeHoledStyle, + data: [63, 65, 56, 40] + }, + { + name: 'ZTW', + type: 'bar', + stack: 'Total', + itemStyle: dataStyle, + data: [71, 50, 31, 39] + }, + { + name: 'ZTW', + type: 'bar', + stack: 'Total', + itemStyle: placeHoledStyle, + data: [29, 50, 69, 61] + } + ] + }; + + + // + // Irregular bars options + // + + irregular_bars_options = { + + // Setup grid + grid: { + x: 25, + x2: 70, + y: 35, + y2: 25 + }, + + // Add tooltip + tooltip: { + trigger: 'axis', + axisPointer: { + show: true, + type: 'cross', + lineStyle: { + type: 'dashed', + width: 1 + } + }, + formatter: function (params) { + return params.seriesName + ': [ ' + + params.value[0] + ', ' + + params.value[1] + ' ]'; + } + }, + + // Add legend + legend: { + data: ['Data set 1','Data set 2'] + }, + + // Add toolbox + toolbox: { + show: true, + x: 'right', + y: 'center', + orient: 'vertical', + feature: { + mark: { + show: true, + title: { + mark: 'Markline switch', + markUndo: 'Undo markline', + markClear: 'Clear markline' + } + }, + dataZoom: { + show: true, + title: { + dataZoom: 'Data zoom', + dataZoomReset: 'Reset zoom' + } + }, + dataView: { + show: true, + readOnly: false, + title: 'View data', + lang: ['View chart data', 'Close', 'Update'] + }, + magicType: { + show: true, + title: { + line: 'Switch to line chart', + bar: 'Switch to bar chart', + }, + type: ['line', 'bar'] + }, + restore: { + show: true, + title: 'Restore' + }, + saveAsImage: { + show: true, + title: 'Same as image', + lang: ['Save'] + } + } + }, + + // Enable drag recalculate + calculable: true, + + // Horizontal axis + xAxis: [{ + type: 'value' + }], + + // Vertical axis + yAxis: [{ + type: 'value' + }], + + // Add series + series: [ + { + name: 'Data set 1', + type: 'bar', + itemStyle: { + normal: { + color: '#29B6F6' + } + }, + data: [ + [1.5, 10], [5, 7], [8, 8], [12, 6], [11, 12], [16, 9], [14, 6], [17, 4], [19, 9] + ], + markPoint: { + data: [ + + // Default vertical axis + {type: 'max', name: 'Maximum', symbol: 'emptyCircle', itemStyle: {normal: {color: '#FF7043',label: {position: 'top'}}}}, + {type: 'min', name: 'Minimum', symbol: 'emptyCircle', itemStyle: {normal: {color: '#FF7043',label: {position: 'top'}}}}, + + // Horizontal axis + {type: 'max', name: 'Maximum', valueIndex: 0, symbol: 'emptyCircle', itemStyle: {normal: {color: '#29B6F6',label: {position: 'right'}}}}, + {type: 'min', name: 'Minimum', valueIndex: 0, symbol: 'emptyCircle', itemStyle: {normal: {color: '#29B6F6',label: {position: 'left'}}}} + ] + }, + markLine: { + data: [ + + // Default vertical axis + {type: 'max', name: 'Maximum', itemStyle: {normal: {color: '#FF7043'}}}, + {type: 'min', name: 'Minimum', itemStyle: {normal: {color: '#FF7043'}}}, + {type: 'average', name: 'Average', itemStyle: {normal: {color: '#FF7043'}}}, + + // Horizontal axis + {type: 'max', name: 'Maximum', valueIndex: 0, itemStyle: {normal: {color: '#29B6F6'}}}, + {type: 'min', name: 'Minimum', valueIndex: 0, itemStyle: {normal: {color: '#29B6F6'}}}, + {type: 'average', name: 'Average', valueIndex: 0, itemStyle: {normal: {color: '#29B6F6'}}} + ] + } + }, + { + name: 'Data set 2', + type: 'bar', + itemStyle: { + normal: { + color: '#FF7043' + } + }, + barHeight: 10, + data: [ + [1, 2], [2, 3], [4, 4], [7, 5], [11, 11], [18, 15] + ] + } + ] + }; + + + // + // Tornado with negative stacks options + // + + tornado_bars_negative_options = { + + // Setup grid + grid: { + x: 75, + x2: 25, + y: 35, + y2: 25 + }, + + // Add tooltip + tooltip: { + trigger: 'axis', + axisPointer: { + type: 'shadow' + } + }, + + // Add legend + legend: { + data: ['Profit', 'Expenses', 'Income'] + }, + + // Enable drag recalculate + calculable: true, + + // Horizontal axis + xAxis: [{ + type: 'value' + }], + + // Vertical axis + yAxis: [{ + type: 'category', + axisTick: { + show: false + }, + data: ['Monday','Tuesday','Wednesday','Thursday','Friday','Saturday','Sunday'] + }], + + // Add series + series: [ + { + name: 'Profit', + type: 'bar', + itemStyle: { + normal: { + label: { + show: true, + position: 'inside' + } + } + }, + data: [200, 170, 240, 244, 200, 220, 210] + }, + { + name: 'Income', + type: 'bar', + stack: 'Total', + barWidth: 5, + itemStyle: { + normal: { + label: { + show: true + } + } + }, + data: [320, 302, 341, 374, 390, 450, 420] + }, + { + name: 'Expenses', + type: 'bar', + stack: 'Total', + itemStyle: { + normal: { + label: { + show: true, + position: 'left' + } + } + }, + data: [-120, -132, -101, -134, -190, -230, -210] + } + ] + }; + + + // + // Tornado with staggered labels options + // + + var labelRight = { + normal: { + color: '#FF7043', + label: { + position: 'right' + } + } + }; + + tornado_bars_staggered_options = { + + // Setup grid + grid: { + x: 25, + x2: 25, + y: 25, + y2: 10 + }, + + // Add tooltip + tooltip: { + trigger: 'axis', + axisPointer: { + type: 'shadow' + }, + formatter: function(params) { + return params[0].seriesName + ': ' + params[0].value + ' €'; + } + }, + + // Horizontal axis + xAxis: [{ + type: 'value', + position: 'top', + splitLine: { + lineStyle: { + type: 'dashed' + } + }, + }], + + // Vertical axis + yAxis: [{ + type: 'category', + axisLine: {show: false}, + axisLabel: {show: false}, + axisTick: {show: false}, + splitLine: {show: false}, + data: ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December'] + }], + + // Add series + series: [ + { + name: 'Cost of living', + type: 'bar', + stack: 'Total', + itemStyle: { + normal: { + color: '#66BB6A', + barBorderRadius: 3, + label: { + show: true, + position: 'left', + formatter: '{b}' + } + }, + emphasis: { + barBorderRadius: 3 + } + }, + data: [ + {value: -680, itemStyle: labelRight}, + {value: -300, itemStyle: labelRight}, + 690, + 900, + {value: -390, itemStyle: labelRight}, + 600, + {value: -120, itemStyle: labelRight}, + 700, + {value: -120, itemStyle: labelRight}, + 900, + 580, + {value: -720, itemStyle: labelRight} + ] + } + ] + }; + + + + // Apply options + // ------------------------------ + + basic_bars.setOption(basic_bars_options); + stacked_bars.setOption(stacked_bars_options); + stacked_clustered_bars.setOption(stacked_clustered_bars_options); + floating_bars.setOption(floating_bars_options); + irregular_bars.setOption(irregular_bars_options); + tornado_bars_negative.setOption(tornado_bars_negative_options); + tornado_bars_staggered.setOption(tornado_bars_staggered_options); + + + + // Resize charts + // ------------------------------ + + window.onresize = function () { + setTimeout(function (){ + basic_bars.resize(); + stacked_bars.resize(); + stacked_clustered_bars.resize(); + floating_bars.resize(); + irregular_bars.resize(); + tornado_bars_negative.resize(); + tornado_bars_staggered.resize(); + }, 200); + } + } + ); +}); diff --git a/Show-Crypto-Currency-Price-in-Graph/amol/public/assets/js/charts/echarts/candlesticks_others.js b/Show-Crypto-Currency-Price-in-Graph/amol/public/assets/js/charts/echarts/candlesticks_others.js new file mode 100644 index 0000000..b4ec71d --- /dev/null +++ b/Show-Crypto-Currency-Price-in-Graph/amol/public/assets/js/charts/echarts/candlesticks_others.js @@ -0,0 +1,1073 @@ +/* ------------------------------------------------------------------------------ + * + * # Echarts - candlestick and other charts + * + * Candlestick and other chart configurations + * + * Version: 1.0 + * Latest update: August 1, 2015 + * + * ---------------------------------------------------------------------------- */ + +$(function () { + + // Set paths + // ------------------------------ + + require.config({ + paths: { + echarts: 'assets/js/plugins/visualization/echarts' + } + }); + + + // Configuration + // ------------------------------ + + require( + + // Add necessary charts + [ + 'echarts', + 'echarts/theme/limitless', + 'echarts/chart/line', + 'echarts/chart/scatter', + 'echarts/chart/k', + 'echarts/chart/radar', + 'echarts/chart/gauge' + ], + + + // Charts setup + function (ec, limitless) { + + + // Initialize charts + // ------------------------------ + + var candlestick_basic = ec.init(document.getElementById('candlestick_basic'), limitless); + var candlestick_line = ec.init(document.getElementById('candlestick_line'), limitless); + var candlestick_scatter = ec.init(document.getElementById('candlestick_scatter'), limitless); + + var radar_basic = ec.init(document.getElementById('radar_basic'), limitless); + var radar_filled = ec.init(document.getElementById('radar_filled'), limitless); + + var gauge_basic = ec.init(document.getElementById('gauge_basic'), limitless); + var gauge_styling = ec.init(document.getElementById('gauge_styling'), limitless); + + + + // Charts options + // ------------------------------ + + + // + // Basic candlestick chart + // + + candlestick_basic_options = { + + // Setup grid + grid: { + x: 55, + x2: 55, + y: 35, + y2: 90 + }, + + // Add tooltip + tooltip: { + trigger: 'axis', + formatter: function (params) { + var res = params[0].seriesName + ' ' + params[0].name; + res += ' Opening: ' + params[0].value[0] + ' Highest: ' + params[0].value[3]; + res += ' Closing: ' + params[0].value[1] + ' Lowest: ' + params[0].value[2]; + return res; + } + }, + + // Add legend + legend: { + data:['Composite index'] + }, + + // Add toolbox + toolbox: { + show: true, + x: 'right', + y: 35, + orient: 'vertical', + feature: { + mark: { + show: true, + title: { + mark: 'Markline switch', + markUndo: 'Undo markline', + markClear: 'Clear markline' + } + }, + dataZoom: { + show: true, + title: { + dataZoom: 'Data zoom', + dataZoomReset: 'Reset zoom' + } + }, + dataView: { + show: true, + readOnly: false, + title: 'View data', + lang: ['View chart data', 'Close', 'Update'] + }, + restore: { + show: true, + title: 'Restore' + }, + saveAsImage: { + show: true, + title: 'Same as image', + lang: ['Save'] + } + } + }, + + // Enable data zoom + dataZoom: { + show: true, + realtime: true, + start: 0, + end: 50, + height: 40 + }, + + // Horizontal axis + xAxis: [{ + type: 'category', + boundaryGap: true, + axisTick: {onGap: false}, + splitLine: {show: false}, + data: [ + "2013/1/24", "2013/1/25", "2013/1/28", "2013/1/29", "2013/1/30", + "2013/1/31", "2013/2/1", "2013/2/4", "2013/2/5", "2013/2/6", + "2013/2/7", "2013/2/8", "2013/2/18", "2013/2/19", "2013/2/20", + "2013/2/21", "2013/2/22", "2013/2/25", "2013/2/26", "2013/2/27", + "2013/2/28", "2013/3/1", "2013/3/4", "2013/3/5", "2013/3/6", + "2013/3/7", "2013/3/8", "2013/3/11", "2013/3/12", "2013/3/13", + "2013/3/14", "2013/3/15", "2013/3/18", "2013/3/19", "2013/3/20", + "2013/3/21", "2013/3/22", "2013/3/25", "2013/3/26", "2013/3/27", + "2013/3/28", "2013/3/29", "2013/4/1", "2013/4/2", "2013/4/3", + "2013/4/8", "2013/4/9", "2013/4/10", "2013/4/11", "2013/4/12", + "2013/4/15", "2013/4/16", "2013/4/17", "2013/4/18", "2013/4/19", + "2013/4/22", "2013/4/23", "2013/4/24", "2013/4/25", "2013/4/26", + "2013/5/2", "2013/5/3", "2013/5/6", "2013/5/7", "2013/5/8", + "2013/5/9", "2013/5/10", "2013/5/13", "2013/5/14", "2013/5/15", + "2013/5/16", "2013/5/17", "2013/5/20", "2013/5/21", "2013/5/22", + "2013/5/23", "2013/5/24", "2013/5/27", "2013/5/28", "2013/5/29", + "2013/5/30", "2013/5/31", "2013/6/3", "2013/6/4", "2013/6/5", + "2013/6/6", "2013/6/7", "2013/6/13" + ] + }], + + // Vertical axis + yAxis: [{ + type: 'value', + scale: true, + boundaryGap: [0.01, 0.01] + }], + + // Add series + series: [{ + name: 'Composite index', + type: 'k', + itemStyle: { + normal: { + color: '#607D8B', + color0: '#EF5350', + lineStyle: { + color: '#607D8B', + color0: '#EF5350', + } + } + }, + data: [ + [2320.26,2302.6,2287.3,2362.94], + [2300,2291.3,2288.26,2308.38], + [2295.35,2346.5,2295.35,2346.92], + [2347.22,2358.98,2337.35,2363.8], + [2360.75,2382.48,2347.89,2383.76], + [2383.43,2385.42,2371.23,2391.82], + [2377.41,2419.02,2369.57,2421.15], + [2425.92,2428.15,2417.58,2440.38], + [2411,2433.13,2403.3,2437.42], + [2432.68,2434.48,2427.7,2441.73], + [2430.69,2418.53,2394.22,2433.89], + [2416.62,2432.4,2414.4,2443.03], + [2441.91,2421.56,2415.43,2444.8], + [2420.26,2382.91,2373.53,2427.07], + [2383.49,2397.18,2370.61,2397.94], + [2378.82,2325.95,2309.17,2378.82], + [2322.94,2314.16,2308.76,2330.88], + [2320.62,2325.82,2315.01,2338.78], + [2313.74,2293.34,2289.89,2340.71], + [2297.77,2313.22,2292.03,2324.63], + [2322.32,2365.59,2308.92,2366.16], + [2364.54,2359.51,2330.86,2369.65], + [2332.08,2273.4,2259.25,2333.54], + [2274.81,2326.31,2270.1,2328.14], + [2333.61,2347.18,2321.6,2351.44], + [2340.44,2324.29,2304.27,2352.02], + [2326.42,2318.61,2314.59,2333.67], + [2314.68,2310.59,2296.58,2320.96], + [2309.16,2286.6,2264.83,2333.29], + [2282.17,2263.97,2253.25,2286.33], + [2255.77,2270.28,2253.31,2276.22], + [2269.31,2278.4,2250,2312.08], + [2267.29,2240.02,2239.21,2276.05], + [2244.26,2257.43,2232.02,2261.31], + [2257.74,2317.37,2257.42,2317.86], + [2318.21,2324.24,2311.6,2330.81], + [2321.4,2328.28,2314.97,2332], + [2334.74,2326.72,2319.91,2344.89], + [2318.58,2297.67,2281.12,2319.99], + [2299.38,2301.26,2289,2323.48], + [2273.55,2236.3,2232.91,2273.55], + [2238.49,2236.62,2228.81,2246.87], + [2229.46,2234.4,2227.31,2243.95], + [2234.9,2227.74,2220.44,2253.42], + [2232.69,2225.29,2217.25,2241.34], + [2196.24,2211.59,2180.67,2212.59], + [2215.47,2225.77,2215.47,2234.73], + [2224.93,2226.13,2212.56,2233.04], + [2236.98,2219.55,2217.26,2242.48], + [2218.09,2206.78,2204.44,2226.26], + [2199.91,2181.94,2177.39,2204.99], + [2169.63,2194.85,2165.78,2196.43], + [2195.03,2193.8,2178.47,2197.51], + [2181.82,2197.6,2175.44,2206.03], + [2201.12,2244.64,2200.58,2250.11], + [2236.4,2242.17,2232.26,2245.12], + [2242.62,2184.54,2182.81,2242.62], + [2187.35,2218.32,2184.11,2226.12], + [2213.19,2199.31,2191.85,2224.63], + [2203.89,2177.91,2173.86,2210.58], + [2170.78,2174.12,2161.14,2179.65], + [2179.05,2205.5,2179.05,2222.81], + [2212.5,2231.17,2212.5,2236.07], + [2227.86,2235.57,2219.44,2240.26], + [2242.39,2246.3,2235.42,2255.21], + [2246.96,2232.97,2221.38,2247.86], + [2228.82,2246.83,2225.81,2247.67], + [2247.68,2241.92,2231.36,2250.85], + [2238.9,2217.01,2205.87,2239.93], + [2217.09,2224.8,2213.58,2225.19], + [2221.34,2251.81,2210.77,2252.87], + [2249.81,2282.87,2248.41,2288.09], + [2286.33,2299.99,2281.9,2309.39], + [2297.11,2305.11,2290.12,2305.3], + [2303.75,2302.4,2292.43,2314.18], + [2293.81,2275.67,2274.1,2304.95], + [2281.45,2288.53,2270.25,2292.59], + [2286.66,2293.08,2283.94,2301.7], + [2293.4,2321.32,2281.47,2322.1], + [2323.54,2324.02,2321.17,2334.33], + [2316.25,2317.75,2310.49,2325.72], + [2320.74,2300.59,2299.37,2325.53], + [2300.21,2299.25,2294.11,2313.43], + [2297.1,2272.42,2264.76,2297.1], + [2270.71,2270.93,2260.87,2276.86], + [2264.43,2242.11,2240.07,2266.69], + [2242.26,2210.9,2205.07,2250.63], + [2190.1,2148.35,2126.22,2190.1] + ] + }] + }; + + + // + // Candlestick with line + // + + candlestick_line_options = { + + // Setup grid + grid: { + x: 55, + x2: 85, + y: 35, + y2: 90 + }, + + // Add tooltip + tooltip: { + trigger: 'axis', + formatter: function (params) { + var res = params[0].name; + for (var i = params.length - 1; i >= 0; i--) { + if (params[i].value instanceof Array) { + res += '' + params[i].seriesName; + res += ' Opening: ' + params[i].value[0] + ' Highest: ' + params[i].value[3]; + res += ' CLosing: ' + params[i].value[1] + ' Lowest: ' + params[i].value[2]; + } + else { + res += '' + params[i].seriesName; + res += ': ' + params[i].value; + } + } + return res; + } + }, + + // Add legend + legend: { + data:['Composite index','Turnover (million)'] + }, + + // Enable data zoom + dataZoom: { + show: true, + realtime: true, + start: 25, + end: 75, + height: 40 + }, + + // Horizontal axis + xAxis: [{ + type: 'category', + boundaryGap: true, + axisTick: {onGap: false}, + splitLine: {show: false}, + data: [ + "2013/1/24", "2013/1/25", "2013/1/28", "2013/1/29", "2013/1/30", + "2013/1/31", "2013/2/1", "2013/2/4", "2013/2/5", "2013/2/6", + "2013/2/7", "2013/2/8", "2013/2/18", "2013/2/19", "2013/2/20", + "2013/2/21", "2013/2/22", "2013/2/25", "2013/2/26", "2013/2/27", + "2013/2/28", "2013/3/1", "2013/3/4", "2013/3/5", "2013/3/6", + "2013/3/7", "2013/3/8", "2013/3/11", "2013/3/12", "2013/3/13", + "2013/3/14", "2013/3/15", "2013/3/18", "2013/3/19", "2013/3/20", + "2013/3/21", "2013/3/22", "2013/3/25", "2013/3/26", "2013/3/27", + "2013/3/28", "2013/3/29", "2013/4/1", "2013/4/2", "2013/4/3", + "2013/4/8", "2013/4/9", "2013/4/10", "2013/4/11", "2013/4/12", + "2013/4/15", "2013/4/16", "2013/4/17", "2013/4/18", "2013/4/19", + "2013/4/22", "2013/4/23", "2013/4/24", "2013/4/25", "2013/4/26", + "2013/5/2", "2013/5/3", "2013/5/6", "2013/5/7", "2013/5/8", + "2013/5/9", "2013/5/10", "2013/5/13", "2013/5/14", "2013/5/15", + "2013/5/16", "2013/5/17", "2013/5/20", "2013/5/21", "2013/5/22", + "2013/5/23", "2013/5/24", "2013/5/27", "2013/5/28", "2013/5/29", + "2013/5/30", "2013/5/31", "2013/6/3", "2013/6/4", "2013/6/5", + "2013/6/6", "2013/6/7", "2013/6/13" + ] + }], + + // Vertical axis + yAxis: [ + { + type: 'value', + scale: true, + splitNumber: 5, + boundaryGap: [0.01, 0.01] + }, + { + type: 'value', + scale: true, + splitNumber: 5, + boundaryGap: [0.05, 0.05] + } + ], + + // Add series + series: [ + { + name: 'Turnover (million)', + type: 'line', + yAxisIndex: 1, + symbol: 'none', + data: [ + 13560434, 8026738.5, 11691637, 12491697, 12485603, + 11620504, 12555496, 15253370, 12709611, 10458354, + 10933507, 9896523, 10365702, 10633095, 9722230, + 12662783, 8757982, 7764234, 10591719, 8826293, + 11591827, 11153111, 14304651, 11672120, 12536480, + 12608589, 8843860, 7391994.5, 10063709, 7768895.5, + 6921859, 10157810, 8148617.5, 7551207, 11397426, + 10478607, 8595132, 8541862, 9181132, 8570842, + 10759351, 7335819, 6699753.5, 7759666.5, 6880135.5, + 7366616.5, 7313504, 7109021.5, 6213270, 5619688, + 5816217.5, 6695584.5, 5998655.5, 6188812.5, 9538301, + 8224500, 8221751.5, 7897721, 8448324, 6525151, + 5987761, 7831570, 8162560.5, 7904092, 8139084.5, + 9116529, 8128014, 7919148, 7566047, 6665826.5, + 10225527, 11124881, 12884353, 11302521, 11529046, + 11105205, 9202153, 9992016, 12035250, 11431155, + 10354677, 10070399, 9164861, 9237718, 7114268, + 7526158.5, 8105835, 7971452.5 + ], + + markPoint: { + symbol: 'emptyPin', + itemStyle: { + normal: { + color: '#1e90ff' + } + }, + data: [ + { + type: 'max', + name: 'Maximum', + symbolSize: 5, + itemStyle: { + normal: { + label: { + position: 'top' + } + } + } + }, + { + type: 'min', + name: 'Minimum', + symbolSize: 5, + itemStyle: { + normal: { + label: { + position: 'top', + } + } + } + } + ] + }, + + markLine: { + symbol: 'none', + itemStyle: { + normal: { + color: '#1e90ff', + label: { + show: true + } + } + }, + data: [{ + type: 'average', + name: 'Average' + }] + } + }, + + { + name: 'Composite index', + type: 'k', + itemStyle: { + normal: { + color: '#66BB6A', + color0: '#FF7043', + lineStyle: { + color: '#66BB6A', + color0: '#FF7043', + } + } + }, + data: [ + [2320.26,2302.6,2287.3,2362.94], + [2300,2291.3,2288.26,2308.38], + [2295.35,2346.5,2295.35,2346.92], + [2347.22,2358.98,2337.35,2363.8], + [2360.75,2382.48,2347.89,2383.76], + [2383.43,2385.42,2371.23,2391.82], + [2377.41,2419.02,2369.57,2421.15], + [2425.92,2428.15,2417.58,2440.38], + [2411,2433.13,2403.3,2437.42], + [2432.68,2434.48,2427.7,2441.73], + [2430.69,2418.53,2394.22,2433.89], + [2416.62,2432.4,2414.4,2443.03], + [2441.91,2421.56,2415.43,2444.8], + [2420.26,2382.91,2373.53,2427.07], + [2383.49,2397.18,2370.61,2397.94], + [2378.82,2325.95,2309.17,2378.82], + [2322.94,2314.16,2308.76,2330.88], + [2320.62,2325.82,2315.01,2338.78], + [2313.74,2293.34,2289.89,2340.71], + [2297.77,2313.22,2292.03,2324.63], + [2322.32,2365.59,2308.92,2366.16], + [2364.54,2359.51,2330.86,2369.65], + [2332.08,2273.4,2259.25,2333.54], + [2274.81,2326.31,2270.1,2328.14], + [2333.61,2347.18,2321.6,2351.44], + [2340.44,2324.29,2304.27,2352.02], + [2326.42,2318.61,2314.59,2333.67], + [2314.68,2310.59,2296.58,2320.96], + [2309.16,2286.6,2264.83,2333.29], + [2282.17,2263.97,2253.25,2286.33], + [2255.77,2270.28,2253.31,2276.22], + [2269.31,2278.4,2250,2312.08], + [2267.29,2240.02,2239.21,2276.05], + [2244.26,2257.43,2232.02,2261.31], + [2257.74,2317.37,2257.42,2317.86], + [2318.21,2324.24,2311.6,2330.81], + [2321.4,2328.28,2314.97,2332], + [2334.74,2326.72,2319.91,2344.89], + [2318.58,2297.67,2281.12,2319.99], + [2299.38,2301.26,2289,2323.48], + [2273.55,2236.3,2232.91,2273.55], + [2238.49,2236.62,2228.81,2246.87], + [2229.46,2234.4,2227.31,2243.95], + [2234.9,2227.74,2220.44,2253.42], + [2232.69,2225.29,2217.25,2241.34], + [2196.24,2211.59,2180.67,2212.59], + [2215.47,2225.77,2215.47,2234.73], + [2224.93,2226.13,2212.56,2233.04], + [2236.98,2219.55,2217.26,2242.48], + [2218.09,2206.78,2204.44,2226.26], + [2199.91,2181.94,2177.39,2204.99], + [2169.63,2194.85,2165.78,2196.43], + [2195.03,2193.8,2178.47,2197.51], + [2181.82,2197.6,2175.44,2206.03], + [2201.12,2244.64,2200.58,2250.11], + [2236.4,2242.17,2232.26,2245.12], + [2242.62,2184.54,2182.81,2242.62], + [2187.35,2218.32,2184.11,2226.12], + [2213.19,2199.31,2191.85,2224.63], + [2203.89,2177.91,2173.86,2210.58], + [2170.78,2174.12,2161.14,2179.65], + [2179.05,2205.5,2179.05,2222.81], + [2212.5,2231.17,2212.5,2236.07], + [2227.86,2235.57,2219.44,2240.26], + [2242.39,2246.3,2235.42,2255.21], + [2246.96,2232.97,2221.38,2247.86], + [2228.82,2246.83,2225.81,2247.67], + [2247.68,2241.92,2231.36,2250.85], + [2238.9,2217.01,2205.87,2239.93], + [2217.09,2224.8,2213.58,2225.19], + [2221.34,2251.81,2210.77,2252.87], + [2249.81,2282.87,2248.41,2288.09], + [2286.33,2299.99,2281.9,2309.39], + [2297.11,2305.11,2290.12,2305.3], + [2303.75,2302.4,2292.43,2314.18], + [2293.81,2275.67,2274.1,2304.95], + [2281.45,2288.53,2270.25,2292.59], + [2286.66,2293.08,2283.94,2301.7], + [2293.4,2321.32,2281.47,2322.1], + [2323.54,2324.02,2321.17,2334.33], + [2316.25,2317.75,2310.49,2325.72], + [2320.74,2300.59,2299.37,2325.53], + [2300.21,2299.25,2294.11,2313.43], + [2297.1,2272.42,2264.76,2297.1], + [2270.71,2270.93,2260.87,2276.86], + [2264.43,2242.11,2240.07,2266.69], + [2242.26,2210.9,2205.07,2250.63], + [2190.1,2148.35,2126.22,2190.1] + ] + } + ] + }; + + + // + // Candlestick with scatter + // + + candlestick_scatter_options = { + + // Setup grid + grid: { + x: 55, + x2: 55, + y: 55, + y2: 90 + }, + + // Add tooltip + tooltip: { + trigger: 'axis' + }, + + // Add legend + legend: { + data: ['Composite index', 'Random data'] + }, + + // Enable data zoom + dataZoom: { + show: true, + realtime: true, + start: 50, + end: 100, + height: 40 + }, + + // Horizontal axis + xAxis: [ + { + type: 'category', + boundaryGap: true, + data: [ + "2013/1/24", "2013/1/25", "2013/1/28", "2013/1/29", "2013/1/30", + "2013/1/31", "2013/2/1", "2013/2/4", "2013/2/5", "2013/2/6", + "2013/2/7", "2013/2/8", "2013/2/18", "2013/2/19", "2013/2/20", + "2013/2/21", "2013/2/22", "2013/2/25", "2013/2/26", "2013/2/27", + "2013/2/28", "2013/3/1", "2013/3/4", "2013/3/5", "2013/3/6", + "2013/3/7", "2013/3/8", "2013/3/11", "2013/3/12", "2013/3/13", + "2013/3/14", "2013/3/15", "2013/3/18", "2013/3/19", "2013/3/20", + "2013/3/21", "2013/3/22", "2013/3/25", "2013/3/26", "2013/3/27", + "2013/3/28", "2013/3/29", "2013/4/1", "2013/4/2", "2013/4/3", + "2013/4/8", "2013/4/9", "2013/4/10", "2013/4/11", "2013/4/12", + "2013/4/15", "2013/4/16", "2013/4/17", "2013/4/18", "2013/4/19", + "2013/4/22", "2013/4/23", "2013/4/24", "2013/4/25", "2013/4/26", + "2013/5/2", "2013/5/3", "2013/5/6", "2013/5/7", "2013/5/8", + "2013/5/9", "2013/5/10", "2013/5/13", "2013/5/14", "2013/5/15", + "2013/5/16", "2013/5/17", "2013/5/20", "2013/5/21", "2013/5/22", + "2013/5/23", "2013/5/24", "2013/5/27", "2013/5/28", "2013/5/29", + "2013/5/30", "2013/5/31", "2013/6/3", "2013/6/4", "2013/6/5", + "2013/6/6", "2013/6/7", "2013/6/13" + ] + }, + { + type: 'value', + max:100, + scale: true + } + ], + + // Мукешсфд фчшы + yAxis: [ + { + type: 'value', + scale: true, + splitNumber: 5, + boundaryGap: [0.05, 0.05] + }, + { + type: 'value', + splitNumber: 5, + scale: true + } + ], + + // Add series + series: [ + { + name: 'Composite index', + type: 'k', + itemStyle: { + normal: { + color: '#29B6F6', + color0: '#EF5350', + lineStyle: { + color: '#29B6F6', + color0: '#EF5350', + } + } + }, + data: [ + [2320.26,2302.6,2287.3,2362.94], + [2300,2291.3,2288.26,2308.38], + [2295.35,2346.5,2295.35,2346.92], + [2347.22,2358.98,2337.35,2363.8], + [2360.75,2382.48,2347.89,2383.76], + [2383.43,2385.42,2371.23,2391.82], + [2377.41,2419.02,2369.57,2421.15], + [2425.92,2428.15,2417.58,2440.38], + [2411,2433.13,2403.3,2437.42], + [2432.68,2434.48,2427.7,2441.73], + [2430.69,2418.53,2394.22,2433.89], + [2416.62,2432.4,2414.4,2443.03], + [2441.91,2421.56,2415.43,2444.8], + [2420.26,2382.91,2373.53,2427.07], + [2383.49,2397.18,2370.61,2397.94], + [2378.82,2325.95,2309.17,2378.82], + [2322.94,2314.16,2308.76,2330.88], + [2320.62,2325.82,2315.01,2338.78], + [2313.74,2293.34,2289.89,2340.71], + [2297.77,2313.22,2292.03,2324.63], + [2322.32,2365.59,2308.92,2366.16], + [2364.54,2359.51,2330.86,2369.65], + [2332.08,2273.4,2259.25,2333.54], + [2274.81,2326.31,2270.1,2328.14], + [2333.61,2347.18,2321.6,2351.44], + [2340.44,2324.29,2304.27,2352.02], + [2326.42,2318.61,2314.59,2333.67], + [2314.68,2310.59,2296.58,2320.96], + [2309.16,2286.6,2264.83,2333.29], + [2282.17,2263.97,2253.25,2286.33], + [2255.77,2270.28,2253.31,2276.22], + [2269.31,2278.4,2250,2312.08], + [2267.29,2240.02,2239.21,2276.05], + [2244.26,2257.43,2232.02,2261.31], + [2257.74,2317.37,2257.42,2317.86], + [2318.21,2324.24,2311.6,2330.81], + [2321.4,2328.28,2314.97,2332], + [2334.74,2326.72,2319.91,2344.89], + [2318.58,2297.67,2281.12,2319.99], + [2299.38,2301.26,2289,2323.48], + [2273.55,2236.3,2232.91,2273.55], + [2238.49,2236.62,2228.81,2246.87], + [2229.46,2234.4,2227.31,2243.95], + [2234.9,2227.74,2220.44,2253.42], + [2232.69,2225.29,2217.25,2241.34], + [2196.24,2211.59,2180.67,2212.59], + [2215.47,2225.77,2215.47,2234.73], + [2224.93,2226.13,2212.56,2233.04], + [2236.98,2219.55,2217.26,2242.48], + [2218.09,2206.78,2204.44,2226.26], + [2199.91,2181.94,2177.39,2204.99], + [2169.63,2194.85,2165.78,2196.43], + [2195.03,2193.8,2178.47,2197.51], + [2181.82,2197.6,2175.44,2206.03], + [2201.12,2244.64,2200.58,2250.11], + [2236.4,2242.17,2232.26,2245.12], + [2242.62,2184.54,2182.81,2242.62], + [2187.35,2218.32,2184.11,2226.12], + [2213.19,2199.31,2191.85,2224.63], + [2203.89,2177.91,2173.86,2210.58], + [2170.78,2174.12,2161.14,2179.65], + [2179.05,2205.5,2179.05,2222.81], + [2212.5,2231.17,2212.5,2236.07], + [2227.86,2235.57,2219.44,2240.26], + [2242.39,2246.3,2235.42,2255.21], + [2246.96,2232.97,2221.38,2247.86], + [2228.82,2246.83,2225.81,2247.67], + [2247.68,2241.92,2231.36,2250.85], + [2238.9,2217.01,2205.87,2239.93], + [2217.09,2224.8,2213.58,2225.19], + [2221.34,2251.81,2210.77,2252.87], + [2249.81,2282.87,2248.41,2288.09], + [2286.33,2299.99,2281.9,2309.39], + [2297.11,2305.11,2290.12,2305.3], + [2303.75,2302.4,2292.43,2314.18], + [2293.81,2275.67,2274.1,2304.95], + [2281.45,2288.53,2270.25,2292.59], + [2286.66,2293.08,2283.94,2301.7], + [2293.4,2321.32,2281.47,2322.1], + [2323.54,2324.02,2321.17,2334.33], + [2316.25,2317.75,2310.49,2325.72], + [2320.74,2300.59,2299.37,2325.53], + [2300.21,2299.25,2294.11,2313.43], + [2297.1,2272.42,2264.76,2297.1], + [2270.71,2270.93,2260.87,2276.86], + [2264.43,2242.11,2240.07,2266.69], + [2242.26,2210.9,2205.07,2250.63], + [2190.1,2148.35,2126.22,2190.1] + ] + }, + { + name: 'Random data', + type: 'scatter', + xAxisIndex: 1, + yAxisIndex: 1, + symbolSize: function (value){ + return Math.round(value[2] / 4); + }, + data: (function () { + var d = []; + var len = 100; + while (len--) { + d.push([ + (Math.random()*100).toFixed(2) - 0, + (Math.random()*100).toFixed(2) - 0, + (Math.random()*100).toFixed(2) - 0 + ]); + } + return d; + })() + } + ] + }; + + + + // + // Basic radar chart + // + + radar_basic_options = { + + // Add title + title: { + text: 'Budget and spending', + subtext: 'Open source data', + x: 'right' + }, + + // Add tooltip + tooltip: { + trigger: 'axis' + }, + + // Add legend + legend: { + orient: 'vertical', + x: 'left', + data: ['Allocated Budget','Actual Spending'] + }, + + // Setup polar coordinates + polar: [{ + radius: '80%', + indicator: [ + {text: 'Sales', max: 6000}, + {text: 'Administration', max: 16000}, + {text: 'Information Techology', max: 30000}, + {text: 'Customer Support', max: 38000}, + {text: 'Development', max: 52000}, + {text: 'Marketing', max: 25000} + ] + }], + + // Enable drag recalculate + calculable: true, + + // Add series + series: [{ + name: 'Budget vs spending', + type: 'radar', + data: [ + { + value: [4300, 10000, 28000, 35000, 50000, 19000], + name: 'Allocated Budget' + }, + { + value: [5000, 14000, 28000, 31000, 42000, 21000], + name: 'Actual Spending' + } + ] + }] + }; + + + // + // Filled radar chart + // + + radar_filled_options = { + + // Add title + title: { + text: 'Budget and spending', + subtext: 'Open source data', + x: 'right' + }, + + // Add tooltip + tooltip: { + trigger: 'axis' + }, + + // Add legend + legend: { + orient: 'vertical', + x: 'left', + data: ['Allocated Budget','Actual Spending'] + }, + + // Enable drag recalculate + calculable: true, + + // Setup polar coordinates + polar: [{ + radius: '80%', + indicator: [ + {text: 'Sales', max: 100}, + {text: 'Administration', max: 100}, + {text: 'Information Techology', max: 100}, + {text: 'Customer Support', max: 100}, + {text: 'Development', max: 100}, + {text: 'Marketing', max: 100} + ], + }], + + // Add series + series: [{ + name: 'Budget vs spending', + type: 'radar', + itemStyle: { + normal: { + areaStyle: { + type: 'default' + } + } + }, + data: [ + { + value: [97, 68, 88, 94, 90, 86], + name: 'Allocated Budget' + }, + { + value: [97, 32, 46, 95, 88, 92], + name: 'Actual Spending' + } + ] + }] + }; + + + + // + // Basic gauge + // + + // Setup chart + gauge_basic_options = { + + // Add title + title: { + text: 'Server resources usage', + subtext: 'Random demo data', + x: 'center' + }, + + // Add tooltip + tooltip: { + formatter: "{a} {b}: {c}%" + }, + + // Add series + series: [ + { + name: 'Memory usage', + type: 'gauge', + center: ['50%', '55%'], + detail: {formatter:'{value}%'}, + data: [{value: 50, name: 'Memory usage'}] + } + ] + }; + + // Add random data + clearInterval(timeTicket); + var timeTicket = setInterval(function () { + gauge_basic_options.series[0].data[0].value = (Math.random()*100).toFixed(2) - 0; + gauge_basic.setOption(gauge_basic_options, true); + }, 2000); + + + // + // Gauge styling + // + + // Setup chart + gauge_styling_options = { + + // Add title + title: { + text: 'Server resources usage', + subtext: 'Random demo data', + x: 'center' + }, + + // Add tooltip + tooltip: { + formatter: "{a} {b} : {c}%" + }, + + // Add series + series: [ + { + name: 'Memory usage', + type: 'gauge', + center: ['50%', '55%'], + startAngle: 150, + endAngle: -150, + + // Axis line + axisLine: { + lineStyle: { + color: [[0.2, 'lightgreen'], [0.4, 'orange'], [0.8, 'skyblue'], [1, '#ff4500']], + width: 30 + } + }, + + // Axis tick + axisTick: { + splitNumber: 5, + length: 5, + lineStyle: { + color: '#fff' + } + }, + + // Axis text label + axisLabel: { + formatter: function(v) { + switch (v+''){ + case '10': return 'Idle'; + case '30': return 'Low'; + case '60': return 'Normal'; + case '90': return 'High'; + default: return ''; + } + } + }, + + // Split line + splitLine: { + length: 35, + lineStyle: { + color: '#fff' + } + }, + + // Display title + title: { + offsetCenter: ['-81%', -15], + textStyle: { + fontSize: 13 + } + }, + + // Display details info + detail: { + offsetCenter: ['-80%', -5], + formatter: '{value}%', + textStyle: { + fontSize: 25 + } + }, + + // Add data + data: [{value: 50, name: 'Memory usage'}] + } + ] + }; + + // Add random data + clearInterval(timeTicket2); + var timeTicket2 = setInterval(function () { + gauge_styling_options.series[0].data[0].value = (Math.random()*100).toFixed(2) - 0; + gauge_styling.setOption(gauge_styling_options, true); + }, 2000) + + + + // Apply options + // ------------------------------ + + candlestick_basic.setOption(candlestick_basic_options); + candlestick_line.setOption(candlestick_line_options); + candlestick_scatter.setOption(candlestick_scatter_options); + + radar_basic.setOption(radar_basic_options); + radar_filled.setOption(radar_filled_options); + + gauge_basic.setOption(gauge_basic_options); + gauge_styling.setOption(gauge_styling_options); + + + + // Resize charts + // ------------------------------ + + window.onresize = function () { + setTimeout(function (){ + candlestick_basic.resize(); + candlestick_line.resize(); + candlestick_scatter.resize(); + radar_basic.resize(); + radar_filled.resize(); + gauge_basic.resize(); + gauge_styling.resize(); + }, 200); + } + } + ); +}); diff --git a/Show-Crypto-Currency-Price-in-Graph/amol/public/assets/js/charts/echarts/columns_waterfalls.js b/Show-Crypto-Currency-Price-in-Graph/amol/public/assets/js/charts/echarts/columns_waterfalls.js new file mode 100644 index 0000000..ee8b6ed --- /dev/null +++ b/Show-Crypto-Currency-Price-in-Graph/amol/public/assets/js/charts/echarts/columns_waterfalls.js @@ -0,0 +1,1017 @@ +/* ------------------------------------------------------------------------------ + * + * # Echarts - columns and waterfalls + * + * Columns and waterfalls chart configurations + * + * Version: 1.0 + * Latest update: August 1, 2015 + * + * ---------------------------------------------------------------------------- */ + +$(function () { + + // Set paths + // ------------------------------ + + require.config({ + paths: { + echarts: 'assets/js/plugins/visualization/echarts' + } + }); + + + // Configuration + // ------------------------------ + + require( + [ + 'echarts', + 'echarts/theme/limitless', + 'echarts/chart/bar', + 'echarts/chart/line' + ], + + + // Charts setup + function (ec, limitless) { + + + // Initialize charts + // ------------------------------ + + var basic_columns = ec.init(document.getElementById('basic_columns'), limitless); + var stacked_columns = ec.init(document.getElementById('stacked_columns'), limitless); + var stacked_clustered_columns = ec.init(document.getElementById('stacked_clustered_columns'), limitless); + var thermometer_columns = ec.init(document.getElementById('thermometer_columns'), limitless); + var compositive_waterfall = ec.init(document.getElementById('compositive_waterfall'), limitless); + var change_waterfall = ec.init(document.getElementById('change_waterfall'), limitless); + var columns_timeline = ec.init(document.getElementById('columns_timeline'), limitless); + + + + // Charts setup + // ------------------------------ + + + // + // Basic columns options + // + + basic_columns_options = { + + // Setup grid + grid: { + x: 40, + x2: 40, + y: 35, + y2: 25 + }, + + // Add tooltip + tooltip: { + trigger: 'axis' + }, + + // Add legend + legend: { + data: ['Evaporation', 'Precipitation'] + }, + + // Enable drag recalculate + calculable: true, + + // Horizontal axis + xAxis: [{ + type: 'category', + data: ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'] + }], + + // Vertical axis + yAxis: [{ + type: 'value' + }], + + // Add series + series: [ + { + name: 'Evaporation', + type: 'bar', + data: [2.0, 4.9, 7.0, 23.2, 25.6, 76.7, 135.6, 162.2, 32.6, 20.0, 6.4, 3.3], + itemStyle: { + normal: { + label: { + show: true, + textStyle: { + fontWeight: 500 + } + } + } + }, + markLine: { + data: [{type: 'average', name: 'Average'}] + } + }, + { + name: 'Precipitation', + type: 'bar', + data: [2.6, 5.9, 9.0, 26.4, 58.7, 70.7, 175.6, 182.2, 48.7, 18.8, 6.0, 2.3], + itemStyle: { + normal: { + label: { + show: true, + textStyle: { + fontWeight: 500 + } + } + } + }, + markLine: { + data: [{type: 'average', name: 'Average'}] + } + } + ] + }; + + + // + // Stacked columns options + // + + stacked_columns_options = { + + // Setup grid + grid: { + x: 40, + x2: 47, + y: 35, + y2: 25 + }, + + // Add tooltip + tooltip: { + trigger: 'axis', + axisPointer: { + type: 'shadow' // 'line' | 'shadow' + } + }, + + // Add legend + legend: { + data: ['Direct', 'Email', 'Prints', 'Videos', 'Television', 'Yahoo', 'Google', 'Bing', 'Other'] + }, + + // Add toolbox + toolbox: { + show: true, + orient: 'vertical', + x: 'right', + y: 'center', + itemGap: 15, + showTitle: false, + feature: { + mark: { + show: true, + title: { + mark: 'Markline switch', + markUndo: 'Undo markline', + markClear: 'Clear markline' + } + }, + dataZoom: { + show: true, + title: { + dataZoom: 'Data zoom', + dataZoomReset: 'Reset zoom' + } + }, + dataView: { + show: true, + readOnly: false, + title: 'View data', + lang: ['View chart data', 'Close', 'Update'] + }, + magicType: { + show: true, + title: { + line: 'Switch to line chart', + bar: 'Switch to bar chart', + }, + type: ['line', 'bar'] + }, + restore: { + show: true, + title: 'Restore' + }, + saveAsImage: { + show: true, + title: 'Same as image', + lang: ['Save'] + } + } + }, + + // Enable drag recalculate + calculable: true, + + // Horizontal axis + xAxis: [{ + type: 'category', + data: ['Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday', 'Sunday'] + }], + + // Vertical axis + yAxis: [{ + type: 'value' + }], + + // Add series + series: [ + { + name: 'Direct', + type: 'bar', + data: [320, 332, 301, 334, 390, 330, 320] + }, + { + name: 'Email', + type: 'bar', + stack: 'Advertising', + data: [120, 132, 101, 134, 90, 230, 210] + }, + { + name: 'Prints', + type: 'bar', + stack: 'Advertising', + data: [220, 182, 191, 234, 290, 330, 310] + }, + { + name: 'Videos', + type: 'bar', + stack: 'Advertising', + data: [150, 232, 201, 154, 190, 330, 410] + }, + { + name: 'Television', + type: 'bar', + data: [862, 1018, 964, 1026, 1679, 1600, 1570], + markLine: { + itemStyle: { + normal: { + lineStyle: { + type: 'dashed' + } + } + }, + data: [ + [{type: 'min'}, {type: 'max'}] + ] + } + }, + { + name: 'Yahoo', + type: 'bar', + barWidth: 10, + stack: 'Television', + data: [620, 732, 701, 734, 1090, 1130, 1120] + }, + { + name: 'Google', + type: 'bar', + stack: 'Television', + data: [120, 132, 101, 134, 290, 230, 220] + }, + { + name: 'Bing', + type: 'bar', + stack: 'Television', + data: [60, 72, 71, 74, 190, 130, 110] + }, + { + name: 'Other', + type: 'bar', + stack: 'Television', + data: [62, 82, 91, 84, 109, 110, 120] + } + ] + }; + + + // + // Thermometer options + // + + thermometer_columns_options = { + + // Setup grid + grid: { + x: 35, + x2: 10, + y: 35, + y2: 25 + }, + + // Add tooltip + tooltip: { + trigger: 'axis', + axisPointer: { + type: 'shadow' // 'line' | 'shadow' + }, + formatter: function (params) { + return params[0].name + '' + + params[0].seriesName + ': ' + params[0].value + '' + + params[1].seriesName + ': ' + (params[1].value + params[0].value); + } + }, + + // Add legend + legend: { + selectedMode: false, + data: ['Actual', 'Forecast'] + }, + + // Enable drag recalculate + calculable: true, + + // Horizontal axis + xAxis: [{ + type: 'category', + data: ['Cosco', 'CMA', 'APL', 'OOCL', 'Wanhai', 'Zim', 'Maersk', 'Hanjin', 'Nyk'] + }], + + // Vertical axis + yAxis: [{ + type: 'value', + boundaryGap: [0, 0.1] + }], + + // Add series + series: [ + { + name: 'Actual', + type: 'bar', + stack: 'sum', + barCategoryGap: '50%', + itemStyle: { + normal: { + color: '#FF7043', + barBorderColor: '#FF7043', + barBorderWidth: 6, + label: { + show: true, + position: 'insideTop' + } + }, + emphasis: { + color: '#FF7043', + barBorderColor: '#FF7043', + barBorderWidth: 6, + label: { + show: true, + textStyle: { + color: '#fff' + } + } + } + }, + data: [260, 200, 220, 120, 100, 80, 130, 230, 90] + }, + { + name: 'Forecast', + type: 'bar', + stack: 'sum', + itemStyle: { + normal: { + color: '#fff', + barBorderColor: '#FF7043', + barBorderWidth: 6, + barBorderRadius: 0, + label: { + show: true, + position: 'top', + formatter: function (params) { + for (var i = 0, l = thermometer_columns_options.xAxis[0].data.length; i < l; i++) { + if (thermometer_columns_options.xAxis[0].data[i] == params.name) { + return thermometer_columns_options.series[0].data[i] + params.value; + } + } + }, + textStyle: { + color: '#FF7043' + } + } + }, + emphasis: { + barBorderColor: '#FF7043', + barBorderWidth: 6, + label: { + show: true, + textStyle: { + color: '#FF7043' + } + } + } + }, + data:[40, 80, 50, 80,80, 70, 60, 90, 120] + } + ] + }; + + + // + // Compositive waterfall options + // + + compositive_waterfall_options = { + + // Setup grid + grid: { + x: 45, + x2: 10, + y: 10, + y2: 25 + }, + + // Add tooltip + tooltip: { + trigger: 'axis', + axisPointer: { + type: 'shadow' + }, + formatter: function (params) { + var tar = params[0]; + return tar.name + '' + tar.seriesName + ': ' + tar.value; + } + }, + + // Horizontal axis + xAxis: [{ + type: 'category', + data: ['Total cost', 'Rent', 'Utilities', 'Transport', 'Meals', 'Commodity', 'Taxes', 'Travel'] + }], + + // Vertical axis + yAxis: [{ + type: 'value' + }], + + // Add series + series: [ + { + name: 'Aid', + type: 'bar', + stack: 'Total', + itemStyle: { + normal: { + barBorderColor: 'rgba(0,0,0,0)', + color: 'rgba(0,0,0,0)' + }, + emphasis: { + barBorderColor: 'rgba(0,0,0,0)', + color: 'rgba(0,0,0,0)' + } + }, + data:[0, 3500, 3000, 2300, 1700, 900, 400, 0] + }, + { + name: 'Cost of living', + type: 'bar', + stack: 'Total', + itemStyle: { + normal: { + barBorderRadius: 3, + color: '#42A5F5', + label: { + show: true, + position: 'inside' + } + }, + emphasis: { + color: '#42A5F5', + } + }, + data: [4500, 1000, 500, 700, 600, 800, 500, 400] + } + ] + }; + + + // + // Change waterfall options + // + + change_waterfall_options = { + + // Setup grid + grid: { + x: 45, + x2: 10, + y: 35, + y2: 25 + }, + + // Add tooltip + tooltip: { + trigger: 'axis', + axisPointer: { + type: 'shadow' + }, + formatter: function (params) { + var tar; + if (params[1].value != '-') { + tar = params[1]; + } + else { + tar = params[0]; + } + return tar.name + '' + tar.seriesName + ': ' + tar.value; + } + }, + + // Add legend + legend: { + data: ['Expenses','Income'] + }, + + // Horizontal axis + xAxis: [{ + type: 'category', + data: ['January','February','March','April','May','June','July','August','September','October','November','December'] + }], + + // Vertical axis + yAxis: [{ + type: 'value' + }], + + // Add series + series: [ + { + name: 'Aid', + type: 'bar', + stack: 'Total', + itemStyle: { + normal: { + barBorderColor: 'rgba(0,0,0,0)', + color: 'rgba(0,0,0,0)' + }, + emphasis: { + barBorderColor: 'rgba(0,0,0,0)', + color: 'rgba(0,0,0,0)' + } + }, + data: [0, 900, 1245, 1530, 1376, 1376, 1511, 1689, 1856, 1495, 1292, 992] + }, + { + name: 'Income', + type: 'bar', + stack: 'Total', + itemStyle: { normal: {label: {show: true, position: 'top'}}}, + data: [900, 345, 393, '-', '-', 135, 178, 286, '-', '-', '-'] + }, + { + name: 'Expenses', + type: 'bar', + stack: 'Total', + itemStyle: { normal: {label: {show: true, position: 'bottom'}}}, + data: ['-', '-', '-', 108, 154, '-', '-', '-', 119, 361, 203,300] + } + ] + }; + + + // + // Timeline options + // + + columns_timeline_options = { + + // Setup timeline + timeline: { + data: ['2010-01-01', '2011-01-01', '2012-01-01', '2013-01-01', '2014-01-01'], + x: 10, + x2: 10, + label: { + formatter: function(s) { + return s.slice(0, 4); + } + }, + autoPlay: true, + playInterval: 3000 + }, + + // Main options + options: [ + { + + // Setup grid + grid: { + x: 55, + x2: 110, + y: 35, + y2: 100 + }, + + // Add tooltip + tooltip: { + trigger: 'axis' + }, + + // Add legend + legend: { + data: ['GDP','Financial','Real Estate','Primary industry','Secondary industry','Third industry'] + }, + + // Add toolbox + toolbox: { + show: true, + orient: 'vertical', + x: 'right', + y: 70, + feature: { + mark: { + show: true, + title: { + mark: 'Markline switch', + markUndo: 'Undo markline', + markClear: 'Clear markline' + } + }, + dataView: { + show: true, + readOnly: false, + title: 'View data', + lang: ['View chart data', 'Close', 'Update'] + }, + magicType: { + show: true, + title: { + line: 'Switch to line chart', + bar: 'Switch to bar chart', + stack: 'Switch to stack', + tiled: 'Switch to tiled' + }, + type: ['line', 'bar', 'stack', 'tiled'] + }, + restore: { + show: true, + title: 'Restore' + }, + saveAsImage: { + show: true, + title: 'Same as image', + lang: ['Save'] + } + } + }, + + // Enable drag recalculate + calculable: true, + + // Horizontal axis + xAxis: [{ + type: 'category', + axisLabel: { + interval: 0 + }, + data: ['Paris','Budapest','Prague','Madrid','Amsterdam','Berlin','Bratislava','Munich','Hague','Rome','Milan'] + }], + + // Vertical axis + yAxis: [ + { + type: 'value', + name: 'GDP(million)', + max: 53500 + }, + { + type: 'value', + name: 'Other(million)' + } + ], + + // Add series + series: [ + { + name: 'GDP', + type: 'bar', + markLine: { + symbol: ['arrow','none'], + symbolSize: [4, 2], + itemStyle: { + normal: { + lineStyle: {color: 'orange'}, + barBorderColor: 'orange', + label: { + position: 'left', + formatter: function(params) { + return Math.round(params.value); + }, + textStyle: {color: 'orange'} + } + } + }, + data: [{type: 'average', name: 'Average'}] + }, + data: dataMap.dataGDP['2010'] + }, + { + name: 'Financial', + yAxisIndex: 1, + type: 'bar', + data: dataMap.dataFinancial['2010'] + }, + { + name: 'Real Estate', + yAxisIndex: 1, + type: 'bar', + data: dataMap.dataEstate['2010'] + }, + { + name: 'Primary industry', + yAxisIndex: 1, + type: 'bar', + data: dataMap.dataPI['2010'] + }, + { + name: 'Secondary industry', + yAxisIndex: 1, + type: 'bar', + data: dataMap.dataSI['2010'] + }, + { + name: 'Third industry', + yAxisIndex: 1, + type: 'bar', + data: dataMap.dataTI['2010'] + } + ] + }, + + // 2011 data + { + series: [ + {data: dataMap.dataGDP['2011']}, + {data: dataMap.dataFinancial['2011']}, + {data: dataMap.dataEstate['2011']}, + {data: dataMap.dataPI['2011']}, + {data: dataMap.dataSI['2011']}, + {data: dataMap.dataTI['2011']} + ] + }, + + // 2012 data + { + series: [ + {data: dataMap.dataGDP['2012']}, + {data: dataMap.dataFinancial['2012']}, + {data: dataMap.dataEstate['2012']}, + {data: dataMap.dataPI['2012']}, + {data: dataMap.dataSI['2012']}, + {data: dataMap.dataTI['2012']} + ] + }, + + // 2013 data + { + series: [ + {data: dataMap.dataGDP['2013']}, + {data: dataMap.dataFinancial['2013']}, + {data: dataMap.dataEstate['2013']}, + {data: dataMap.dataPI['2013']}, + {data: dataMap.dataSI['2013']}, + {data: dataMap.dataTI['2013']} + ] + }, + + // 2014 data + { + series: [ + {data: dataMap.dataGDP['2014']}, + {data: dataMap.dataFinancial['2014']}, + {data: dataMap.dataEstate['2014']}, + {data: dataMap.dataPI['2014']}, + {data: dataMap.dataSI['2014']}, + {data: dataMap.dataTI['2014']} + ] + } + ] + }; + + + // + // Stacked clustered columns options + // + + stacked_clustered_columns_options = { + + // Setup grid + grid: { + x: 65, + x2: 20, + y: 85, + y2: 25 + }, + + // Add tooltip + tooltip: { + trigger: 'axis' + }, + + // Add legends + legend: { + data: [ + 'Version 1.7 - 2k data','Version 1.7 - 2w data','Version 1.7 - 20w data','', + 'Version 2.0 - 2k data','Version 2.0 - 2w data','Version 2.0 - 20w data' + ] + }, + + // Enable drag recalculate + calculable: true, + + // Horizontal axis + xAxis: [ + { + type: 'category', + data: ['Line','Bar','Scatter','Pies','Map'] + }, + { + type: 'category', + axisLine: {show:false}, + axisTick: {show:false}, + axisLabel: {show:false}, + splitArea: {show:false}, + splitLine: {show:false}, + data: ['Line','Bar','Scatter','Pies','Map'] + } + ], + + // Vertical axis + yAxis: [{ + type: 'value', + axisLabel: {formatter:'{value} ms'}, + axisLine: { + lineStyle: { + color: '#dc143c' + } + } + }], + + // Add series + series: [ + { + name: 'Version 2.0 - 2k data', + type: 'bar', + itemStyle: { + normal: { + color: '#F44336', + label: { + show: true, + textStyle: { + color: '#fff' + } + } + }, + emphasis: { + label: { + show: true + } + } + }, + data: [247, 187, 95, 175, 270] + }, + { + name: 'Version 2.0 - 2w data', + type: 'bar', + itemStyle: { + normal: { + color: '#4CAF50', + label: { + show: true, + textStyle: { + color: '#fff' + } + } + }, + emphasis: { + label: { + show: true + } + } + }, + data: [488, 415, 405, 340, 328] + }, + { + name: 'Version 2.0 - 20w data', + type: 'bar', + itemStyle: { + normal: { + color: '#2196F3', + label: { + show: true, + textStyle: { + color:'#fff' + } + } + }, + emphasis: { + label: { + show: true + } + } + }, + data: [906, 911, 908, 778, 550] + }, + { + name: 'Version 1.7 - 2k data', + type: 'bar', + xAxisIndex: 1, + itemStyle: { + normal: { + color: '#E57373', + label: { + show: true, + formatter: function(p) {return p.value > 0 ? (p.value +'\n'):'';} + } + }, + emphasis: { + label: { + show: true + } + } + }, + data: [680, 819, 564, 724, 890] + }, + { + name: 'Version 1.7 - 2w data', + type: 'bar', + xAxisIndex: 1, + itemStyle: { + normal: { + color: '#81C784', + label: { + show: true + } + }, + emphasis: { + label: { + show: true + } + } + }, + data: [1212, 2035, 1620, 955, 1300] + }, + { + name: 'Version 1.7 - 20w data', + type: 'bar', + xAxisIndex: 1, + itemStyle: { + normal: { + color: '#64B5F6', + label: { + show: true, + formatter: function(p){return p.value > 0 ? (p.value +'+'):'';} + } + }, + emphasis: { + label: { + show: false + } + } + }, + data: [2200, 3000, 2500, 3000, 2000] + } + ] + }; + + + + // Apply options + // ------------------------------ + + basic_columns.setOption(basic_columns_options); + stacked_columns.setOption(stacked_columns_options); + stacked_clustered_columns.setOption(stacked_clustered_columns_options); + thermometer_columns.setOption(thermometer_columns_options); + compositive_waterfall.setOption(compositive_waterfall_options); + change_waterfall.setOption(change_waterfall_options); + columns_timeline.setOption(columns_timeline_options); + + + + // Resize charts + // ------------------------------ + + window.onresize = function () { + setTimeout(function () { + basic_columns.resize(); + stacked_columns.resize(); + stacked_clustered_columns.resize(); + thermometer_columns.resize(); + compositive_waterfall.resize(); + change_waterfall.resize(); + columns_timeline.resize(); + }, 200); + } + } + ); +}); diff --git a/Show-Crypto-Currency-Price-in-Graph/amol/public/assets/js/charts/echarts/combinations.js b/Show-Crypto-Currency-Price-in-Graph/amol/public/assets/js/charts/echarts/combinations.js new file mode 100644 index 0000000..3f4ad06 --- /dev/null +++ b/Show-Crypto-Currency-Price-in-Graph/amol/public/assets/js/charts/echarts/combinations.js @@ -0,0 +1,905 @@ +/* ------------------------------------------------------------------------------ + * + * # Echarts - chart combinations + * + * Chart combination configurations + * + * Version: 1.0 + * Latest update: August 1, 2015 + * + * ---------------------------------------------------------------------------- */ + +$(function () { + + // Set paths + // ------------------------------ + + require.config({ + paths: { + echarts: 'assets/js/plugins/visualization/echarts' + } + }); + + + + // Configuration + // ------------------------------ + + require( + + // Add necessary charts + [ + 'echarts', + 'echarts/theme/limitless', + 'echarts/chart/line', + 'echarts/chart/bar', + 'echarts/chart/pie', + + + 'echarts/chart/scatter', + 'echarts/chart/k', + 'echarts/chart/radar', + 'echarts/chart/gauge' + ], + + + // Charts setup + function (ec, limitless) { + + + // Initialize charts + // ------------------------------ + + var line_bar = ec.init(document.getElementById('line_bar'), limitless); + var column_pie = ec.init(document.getElementById('column_pie'), limitless); + var scatter_pie = ec.init(document.getElementById('scatter_pie'), limitless); + var scatter_line = ec.init(document.getElementById('scatter_line'), limitless); + + var connect_pie = ec.init(document.getElementById('connect_pie'), limitless); + var connect_column = ec.init(document.getElementById('connect_column'), limitless); + + var candlestick_scatter = ec.init(document.getElementById('candlestick_scatter'), limitless); + + + + // Charts options + // ------------------------------ + + + // + // Line and bar combination + // + + line_bar_options = { + + // Setup grid + grid: { + x: 55, + x2: 45, + y: 35, + y2: 25 + }, + + // Add tooltip + tooltip: { + trigger: 'axis' + }, + + // Enable drag recalculate + calculable: true, + + // Add legend + legend: { + data: ['Evaporation','Precipitation','Temperature'] + }, + + // Horizontal axis + xAxis: [{ + type: 'category', + data: ['January','February','March','April','May','June','July','August','September','October','November','December'] + }], + + // Vertical axis + yAxis: [ + { + type: 'value', + name: 'Water', + axisLabel: { + formatter: '{value} ml' + } + }, + { + type: 'value', + name: 'Temp', + axisLabel: { + formatter: '{value} °C' + } + } + ], + + // Add series + series: [ + { + name: 'Evaporation', + type: 'bar', + data: [2.0, 4.9, 7.0, 23.2, 25.6, 76.7, 135.6, 162.2, 32.6, 20.0, 6.4, 3.3] + }, + { + name: 'Precipitation', + type: 'bar', + data: [2.6, 5.9, 9.0, 26.4, 28.7, 70.7, 175.6, 182.2, 48.7, 18.8, 6.0, 2.3] + }, + { + name: 'Temperature', + type: 'line', + yAxisIndex: 1, + data: [2.0, 2.2, 3.3, 4.5, 6.3, 10.2, 20.3, 23.4, 23.0, 16.5, 12.0, 6.2] + } + ] + }; + + + + // + // Column and pie combination + // + + column_pie_options = { + + // Setup grid + grid: { + x: 10, + x2: 45, + y: 35, + y2: 25 + }, + + // Add tooltip + tooltip: { + trigger: 'axis' + }, + + // Enable drag recalculate + calculable: true, + + // Add legend + legend: { + data: ['Direct','Email','Print','Video','Search engine','Google','Bing','Yahoo','Other'] + }, + + // Horizontal axis + xAxis: [{ + type: 'category', + splitLine: {show: false}, + data: ['Monday','Tuesday','Wednesday','Thursday','Friday','Saturday','Sunday'] + }], + + // Vertical axis + yAxis: [{ + type: 'value', + position: 'right' + }], + + // Add series + series: [ + { + name: 'Direct', + type: 'bar', + data: [320, 332, 301, 334, 390, 330, 320] + }, + { + name: 'Email', + type: 'bar', + tooltip: {trigger: 'item'}, + stack: 'Advertisement', + data: [120, 132, 101, 134, 90, 230, 210] + }, + { + name: 'Print', + type: 'bar', + tooltip: {trigger: 'item'}, + stack: 'Advertisement', + data: [220, 182, 191, 234, 290, 330, 310] + }, + { + name: 'Video', + type: 'bar', + tooltip: {trigger: 'item'}, + stack: 'Advertisement', + data: [150, 232, 201, 154, 190, 330, 410] + }, + { + name: 'Search engine', + type: 'line', + data: [862, 1018, 964, 1026, 1679, 1600, 1570] + }, + + // Pie + { + name: 'Search engine', + type: 'pie', + tooltip: { + trigger: 'item', + formatter: '{a} {b}: {c} ({d}%)' + }, + center: [150, 130], + radius: [0, 50], + itemStyle: { + normal: { + labelLine: { + length: 20 + } + } + }, + data: [ + {value: 1048, name: 'Google'}, + {value: 251, name: 'Bing'}, + {value: 147, name: 'Yahoo'}, + {value: 102, name: 'Other'} + ] + } + ] + }; + + + + // + // Scatter and pie combination + // + + // Data set 1 + var sData1 = (function () { + var d = []; + var len = 40; + var value; + while (len--) { + d.push([ + Math.round(Math.random()*10) * (Math.round(Math.random()*10) > 5 ? 1: -1), + Math.round(Math.random()*10) * (Math.round(Math.random()*10) > 5 ? 1: -1), + Math.round(Math.random()*20) + ]); + } + return d; + })(); + + // Data set 2 + var sData2 = (function () { + var d = []; + var len = sData1.length; + for (var i = 0; i < len; i++) { + d.push([ + sData1[i][0], + sData1[i][1], + Math.round(Math.random()*15) + ]); + } + return d; + })(); + + // Setup + scatter_pie_options = { + + // Setup grid + grid: { + x: 35, + x2: 35, + y: 35, + y2: 35 + }, + + // Set custo, colors + color: ['rgba(255, 69, 0, 0.5)', 'rgba(30, 144, 255, 0.5)'], + + // Add tooltip + tooltip: { + trigger: 'item', + formatter: "{b}: {c} ({d}%)" + }, + + // Horizontal axis + xAxis: [{ + type: 'value', + splitNumber: 2 + }], + + // Vertical axis + yAxis: [{ + type: 'value', + splitNumber: 2 + }], + + //animation: false, + + // Add series + series: [ + { + type: 'scatter', + symbol: 'none', + data: sData1 + }, + { + type: 'scatter', + symbol: 'none', + data: sData2 + } + ] + }; + + // Generate pie series + function buildPieSeries() { + var xAxis = scatter_pie.component.xAxis.getAxis(0); + var yAxis = scatter_pie.component.yAxis.getAxis(0); + var len = sData1.length; + scatter_pie_options.series = scatter_pie_options.series.slice(0,2); + scatter_pie_options.legend = { + data: ['Summer', 'Winter'] + }; + while (len--) { + scatter_pie_options.series.push({ + type: 'pie', + itemStyle: { + normal: { + label: { + show: false + }, + labelLine: { + show: false + } + } + }, + radius: sData1[len][2] + sData2[len][2], + center: [ + xAxis.getCoord(sData1[len][0]), + yAxis.getCoord(sData1[len][1]) + ], + data: [ + {name: 'Summer', value: sData1[len][2]}, + {name: 'Winter', value: sData2[len][2]} + ] + }) + } + scatter_pie_options.animation = true; + scatter_pie.setOption(scatter_pie_options, true); + } + + // Build pie charts instead of the original scatter + setTimeout(buildPieSeries, 100); + + + + // + // Scatter and line combination + // + + scatter_line_options = { + + // Setup grid + grid: { + x: 35, + x2: 35, + y: 35, + y2: 25 + }, + + // Add tooltip + tooltip: { + trigger: 'axis' + }, + + // Add data range + dataRange: { + min: 0, + max: 100, + orient: 'horizontal', + y: 'top', + x: 'center', + color: ['#FF8A65','#FBE9E7'], + splitNumber: 5 + }, + + // Horizontal axis + xAxis: [ + { + type: 'category', + boundaryGap: false, + data: function () { + var list = []; + for (var i = 1; i <= 15; i++) { + list.push('2013-03-' + i); + } + return list; + }() + }, + { + type: 'value', + scale: true, + splitNumber: 15, + axisLabel: {show: false}, + splitLine: {show: false} + } + ], + + // Vertical axis + yAxis: [ + { + type: 'value' + }, + { + type: 'value' + } + ], + + // Add series + series: [ + { + name: 'Scatter value', + type: 'scatter', + tooltip: { + trigger: 'item', + formatter: function (params) { + return '2013-03-' + params.value[0] + '' + + params.seriesName + ': ' + + params.value[1] + ', ' + + params.value[2]; + } + }, + yAxisIndex: 1, + xAxisIndex: 1, + symbol: 'circle', + symbolSize: function (value){ + return Math.round(value[2]/10); + }, + data: (function () { + var d = []; + var len = 200; + var value; + while (len--) { + d.push([ + Math.round(Math.random()*29) + 1, + (Math.random()*30).toFixed(2) - 0, + (Math.random()*100).toFixed(2) - 0 + ]); + } + return d; + })() + }, + { + name: 'Line value', + type: 'line', + data: function (){ + var list = []; + for (var i = 1; i <= 30; i++) { + list.push(Math.round(Math.random()* 30)); + } + return list; + }() + } + ] + }; + + + + // + // Column and pie connection + // + + // Pie options + connect_pie_options = { + + // Add title + title: { + text: 'Browser popularity', + subtext: 'Open source data', + x: 'center' + }, + + // Add tooltip + tooltip: { + trigger: 'item', + formatter: "{a} {b}: {c} ({d}%)" + }, + + // Add legend + legend: { + orient: 'vertical', + x: 'left', + data: ['Internet Explorer','Opera','Safari','Firefox','Chrome'] + }, + + // Enable drag recalculate + calculable: true, + + // Add series + series: [{ + name: 'Browser', + type: 'pie', + radius: '75%', + center: ['50%', '57.5%'], + data: [ + {value: 335, name: 'Internet Explorer'}, + {value: 310, name: 'Opera'}, + {value: 234, name: 'Safari'}, + {value: 135, name: 'Firefox'}, + {value: 1548, name: 'Chrome'} + ] + }] + }; + + // Column options + connect_column_options = { + + // Setup grid + grid: { + x: 40, + x2: 47, + y: 35, + y2: 25 + }, + + // Add tooltip + tooltip: { + trigger: 'axis', + axisPointer: { + type: 'shadow' + } + }, + + // Add legend + legend: { + data: ['Internet Explorer','Opera','Safari','Firefox','Chrome'] + }, + + // Add toolbox + toolbox: { + show: true, + orient: 'vertical', + x: 'right', + y: 35, + feature: { + mark: { + show: true, + title: { + mark: 'Markline switch', + markUndo: 'Undo markline', + markClear: 'Clear markline' + } + }, + magicType: { + show: true, + title: { + line: 'Switch to line chart', + bar: 'Switch to bar chart', + stack: 'Switch to stack', + tiled: 'Switch to tiled' + }, + type: ['line', 'bar', 'stack', 'tiled'] + }, + restore: { + show: true, + title: 'Restore' + }, + saveAsImage: { + show: true, + title: 'Same as image', + lang: ['Save'] + } + } + }, + + // Enable drag recalculate + calculable: true, + + // Horizontal axis + xAxis: [{ + type: 'category', + data: ['Monday','Tuesday','Wednesday','Thursday','Friday','Saturday','Sunday'] + }], + + // Vertical axis + yAxis: [{ + type: 'value', + splitArea: {show: true} + }], + + // Add series + series: [ + { + name: 'Internet Explorer', + type: 'bar', + stack: 'Total', + data: [320, 332, 301, 334, 390, 330, 320] + }, + { + name: 'Opera', + type: 'bar', + stack: 'Total', + data: [120, 132, 101, 134, 90, 230, 210] + }, + { + name: 'Safari', + type: 'bar', + stack: 'Total', + data: [220, 182, 191, 234, 290, 330, 310] + }, + { + name: 'Firefox', + type: 'bar', + stack: 'Total', + data: [150, 232, 201, 154, 190, 330, 410] + }, + { + name: 'Chrome', + type: 'bar', + stack: 'Total', + data: [820, 932, 901, 934, 1290, 1330, 1320] + } + ] + }; + + // Connect charts + connect_pie.connect(connect_column); + connect_column.connect(connect_pie); + + + + // + // Dynamic data (scatter and candlestick combination) + // + + candlestick_scatter_options = { + + // Setup grid + grid: { + x: 45, + x2: 45, + y: 60, + y2: 90 + }, + + // Add tooltip + tooltip: { + trigger: 'axis' + }, + + // Add legend + legend: { + data:['Composite index', 'Turnover (million)'] + }, + + // Display data zoom + dataZoom: { + show: true, + realtime: true, + start: 50, + end: 100, + height: 40 + }, + + // Horizontal axis + xAxis: [ + { + type: 'category', + boundaryGap: true, + data: [ + "2013/1/24", "2013/1/25", "2013/1/28", "2013/1/29", "2013/1/30", + "2013/1/31", "2013/2/1", "2013/2/4", "2013/2/5", "2013/2/6", + "2013/2/7", "2013/2/8", "2013/2/18", "2013/2/19", "2013/2/20", + "2013/2/21", "2013/2/22", "2013/2/25", "2013/2/26", "2013/2/27", + "2013/2/28", "2013/3/1", "2013/3/4", "2013/3/5", "2013/3/6", + "2013/3/7", "2013/3/8", "2013/3/11", "2013/3/12", "2013/3/13", + "2013/3/14", "2013/3/15", "2013/3/18", "2013/3/19", "2013/3/20", + "2013/3/21", "2013/3/22", "2013/3/25", "2013/3/26", "2013/3/27", + "2013/3/28", "2013/3/29", "2013/4/1", "2013/4/2", "2013/4/3", + "2013/4/8", "2013/4/9", "2013/4/10", "2013/4/11", "2013/4/12", + "2013/4/15", "2013/4/16", "2013/4/17", "2013/4/18", "2013/4/19", + "2013/4/22", "2013/4/23", "2013/4/24", "2013/4/25", "2013/4/26", + "2013/5/2", "2013/5/3", "2013/5/6", "2013/5/7", "2013/5/8", + "2013/5/9", "2013/5/10", "2013/5/13", "2013/5/14", "2013/5/15", + "2013/5/16", "2013/5/17", "2013/5/20", "2013/5/21", "2013/5/22", + "2013/5/23", "2013/5/24", "2013/5/27", "2013/5/28", "2013/5/29", + "2013/5/30", "2013/5/31", "2013/6/3", "2013/6/4", "2013/6/5", + "2013/6/6", "2013/6/7", "2013/6/13" + ] + }, + { + type: 'value', + max: 100, + scale: true + } + ], + + // Vertical axis + yAxis: [ + { + type: 'value', + scale: true, + splitNumber: 5, + boundaryGap: [0.05, 0.05] + }, + { + type: 'value', + splitNumber: 5, + scale: true + } + ], + + // Add series + series: [ + { + name: 'Composite index', + type: 'k', + data: [ + [2320.26,2302.6,2287.3,2362.94], + [2300,2291.3,2288.26,2308.38], + [2295.35,2346.5,2295.35,2346.92], + [2347.22,2358.98,2337.35,2363.8], + [2360.75,2382.48,2347.89,2383.76], + [2383.43,2385.42,2371.23,2391.82], + [2377.41,2419.02,2369.57,2421.15], + [2425.92,2428.15,2417.58,2440.38], + [2411,2433.13,2403.3,2437.42], + [2432.68,2434.48,2427.7,2441.73], + [2430.69,2418.53,2394.22,2433.89], + [2416.62,2432.4,2414.4,2443.03], + [2441.91,2421.56,2415.43,2444.8], + [2420.26,2382.91,2373.53,2427.07], + [2383.49,2397.18,2370.61,2397.94], + [2378.82,2325.95,2309.17,2378.82], + [2322.94,2314.16,2308.76,2330.88], + [2320.62,2325.82,2315.01,2338.78], + [2313.74,2293.34,2289.89,2340.71], + [2297.77,2313.22,2292.03,2324.63], + [2322.32,2365.59,2308.92,2366.16], + [2364.54,2359.51,2330.86,2369.65], + [2332.08,2273.4,2259.25,2333.54], + [2274.81,2326.31,2270.1,2328.14], + [2333.61,2347.18,2321.6,2351.44], + [2340.44,2324.29,2304.27,2352.02], + [2326.42,2318.61,2314.59,2333.67], + [2314.68,2310.59,2296.58,2320.96], + [2309.16,2286.6,2264.83,2333.29], + [2282.17,2263.97,2253.25,2286.33], + [2255.77,2270.28,2253.31,2276.22], + [2269.31,2278.4,2250,2312.08], + [2267.29,2240.02,2239.21,2276.05], + [2244.26,2257.43,2232.02,2261.31], + [2257.74,2317.37,2257.42,2317.86], + [2318.21,2324.24,2311.6,2330.81], + [2321.4,2328.28,2314.97,2332], + [2334.74,2326.72,2319.91,2344.89], + [2318.58,2297.67,2281.12,2319.99], + [2299.38,2301.26,2289,2323.48], + [2273.55,2236.3,2232.91,2273.55], + [2238.49,2236.62,2228.81,2246.87], + [2229.46,2234.4,2227.31,2243.95], + [2234.9,2227.74,2220.44,2253.42], + [2232.69,2225.29,2217.25,2241.34], + [2196.24,2211.59,2180.67,2212.59], + [2215.47,2225.77,2215.47,2234.73], + [2224.93,2226.13,2212.56,2233.04], + [2236.98,2219.55,2217.26,2242.48], + [2218.09,2206.78,2204.44,2226.26], + [2199.91,2181.94,2177.39,2204.99], + [2169.63,2194.85,2165.78,2196.43], + [2195.03,2193.8,2178.47,2197.51], + [2181.82,2197.6,2175.44,2206.03], + [2201.12,2244.64,2200.58,2250.11], + [2236.4,2242.17,2232.26,2245.12], + [2242.62,2184.54,2182.81,2242.62], + [2187.35,2218.32,2184.11,2226.12], + [2213.19,2199.31,2191.85,2224.63], + [2203.89,2177.91,2173.86,2210.58], + [2170.78,2174.12,2161.14,2179.65], + [2179.05,2205.5,2179.05,2222.81], + [2212.5,2231.17,2212.5,2236.07], + [2227.86,2235.57,2219.44,2240.26], + [2242.39,2246.3,2235.42,2255.21], + [2246.96,2232.97,2221.38,2247.86], + [2228.82,2246.83,2225.81,2247.67], + [2247.68,2241.92,2231.36,2250.85], + [2238.9,2217.01,2205.87,2239.93], + [2217.09,2224.8,2213.58,2225.19], + [2221.34,2251.81,2210.77,2252.87], + [2249.81,2282.87,2248.41,2288.09], + [2286.33,2299.99,2281.9,2309.39], + [2297.11,2305.11,2290.12,2305.3], + [2303.75,2302.4,2292.43,2314.18], + [2293.81,2275.67,2274.1,2304.95], + [2281.45,2288.53,2270.25,2292.59], + [2286.66,2293.08,2283.94,2301.7], + [2293.4,2321.32,2281.47,2322.1], + [2323.54,2324.02,2321.17,2334.33], + [2316.25,2317.75,2310.49,2325.72], + [2320.74,2300.59,2299.37,2325.53], + [2300.21,2299.25,2294.11,2313.43], + [2297.1,2272.42,2264.76,2297.1], + [2270.71,2270.93,2260.87,2276.86], + [2264.43,2242.11,2240.07,2266.69], + [2242.26,2210.9,2205.07,2250.63], + [2190.1,2148.35,2126.22,2190.1] + ] + }, + { + name: 'Turnover (million)', + type: 'scatter', + xAxisIndex: 1, + yAxisIndex: 1, + symbolSize: function (value) { + return Math.round(value[2] / 4); + }, + data: (function () { + var d = []; + var len = 100; + while (len--) { + d.push([ + (Math.random()*100).toFixed(2) - 0, + (Math.random()*100).toFixed(2) - 0, + (Math.random()*100).toFixed(2) - 0 + ]); + } + return d; + })() + } + ] + }; + + var lastIndex = 0; + var len = candlestick_scatter_options.series[0].data.length; + clearInterval(random_data); + var random_data = setInterval(function (){ + lastIndex += 1; + candlestick_scatter.addData([ + [ + 0, + candlestick_scatter_options.series[0].data[lastIndex%len], + false, + false, + candlestick_scatter_options.xAxis[0].data[lastIndex%len] + ], + [ + 1, + [ + (Math.random()*100).toFixed(2) - 0, + (Math.random()*100).toFixed(2) - 0, + (Math.random()*100).toFixed(2) - 0 + ], + false, + false + ] + ]); + }, 2000); + + + + // Apply options + // ------------------------------ + + line_bar.setOption(line_bar_options); + column_pie.setOption(column_pie_options); + scatter_pie.setOption(scatter_pie_options); + scatter_line.setOption(scatter_line_options); + candlestick_scatter.setOption(candlestick_scatter_options); + + connect_pie.setOption(connect_pie_options); + connect_column.setOption(connect_column_options); + + + + // Resize charts + // ------------------------------ + + window.onresize = function () { + setTimeout(function (){ + line_bar.resize(); + column_pie.resize(); + scatter_pie.resize(); + buildPieSeries(); + scatter_line.resize(); + candlestick_scatter.resize(); + connect_pie.resize(); + connect_column.resize(); + }, 200); + } + } + ); +}); diff --git a/Show-Crypto-Currency-Price-in-Graph/amol/public/assets/js/charts/echarts/funnels_chords.js b/Show-Crypto-Currency-Price-in-Graph/amol/public/assets/js/charts/echarts/funnels_chords.js new file mode 100644 index 0000000..96719e3 --- /dev/null +++ b/Show-Crypto-Currency-Price-in-Graph/amol/public/assets/js/charts/echarts/funnels_chords.js @@ -0,0 +1,1106 @@ +/* ------------------------------------------------------------------------------ + * + * # Echarts - funnels and chords + * + * Funnels and chords chart configurations + * + * Version: 1.0 + * Latest update: August 1, 2015 + * + * ---------------------------------------------------------------------------- */ + +$(function () { + + // Set paths + // ------------------------------ + + require.config({ + paths: { + echarts: 'assets/js/plugins/visualization/echarts' + } + }); + + + // Configuration + // ------------------------------ + + require( + [ + 'echarts', + 'echarts/theme/limitless', + 'echarts/chart/funnel', + 'echarts/chart/pie', + 'echarts/chart/chord' + ], + + + // Charts setup + function (ec, limitless) { + + + // Initialize charts + // ------------------------------ + + var funnel_asc = ec.init(document.getElementById('funnel_asc'), limitless); + var funnel_desc = ec.init(document.getElementById('funnel_desc'), limitless); + var funnel_left = ec.init(document.getElementById('funnel_left'), limitless); + var funnel_right = ec.init(document.getElementById('funnel_right'), limitless); + var funnel_multiple_overlay = ec.init(document.getElementById('funnel_multiple_overlay'), limitless); + var funnel_multiple_separate = ec.init(document.getElementById('funnel_multiple_separate'), limitless); + + var chord_basic = ec.init(document.getElementById('chord_basic'), limitless); + var chord_sorting = ec.init(document.getElementById('chord_sorting'), limitless); + var chord_non_ribbon = ec.init(document.getElementById('chord_non_ribbon'), limitless); + var chord_scale = ec.init(document.getElementById('chord_scale'), limitless); + + + + // Charts setup + // ------------------------------ + + // + // Basic funnel options + // + + funnel_desc_options = { + + // Add title + title: { + text: 'Browser popularity', + subtext: 'Open source information', + x: 'center' + }, + + // Add tooltip + tooltip: { + trigger: 'item', + formatter: "{a} {b}: {c}%" + }, + + // Display toolbox + toolbox: { + show: true, + y: 75, + orient: 'vertical', + feature: { + mark: { + show: true, + title: { + mark: 'Markline switch', + markUndo: 'Undo markline', + markClear: 'Clear markline' + } + }, + dataView: { + show: true, + readOnly: false, + title: 'View data', + lang: ['View chart data', 'Close', 'Update'] + }, + magicType: { + show: true, + title: { + pie: 'Switch to pies', + funnel: 'Switch to funnel', + }, + type: ['pie', 'funnel'], + option: { + pie: { + radius: '75%', + center: ['50%', '55%'] + } + } + }, + restore: { + show: true, + title: 'Restore' + }, + saveAsImage: { + show: true, + title: 'Same as image', + lang: ['Save'] + } + } + }, + + // Add legend + legend: { + x: 'left', + y: 75, + orient: 'vertical', + data: ['Internet Explorer','Opera','Safari','Firefox','Chrome'] + }, + + // Enable drag recalculate + calculable: true, + + // Add series + series: [ + { + name: 'Statistics', + type: 'funnel', + x: '25%', + x2: '25%', + y: '17.5%', + height: '80%', + itemStyle: { + normal: { + label: { + position: 'left' + } + } + }, + data: [ + {value: 60, name: 'Safari'}, + {value: 40, name: 'Firefox'}, + {value: 20, name: 'Chrome'}, + {value: 80, name: 'Opera'}, + {value: 100, name: 'Internet Explorer'} + ] + } + ] + }; + + + // + // Funnel sorting options + // + + funnel_asc_options = { + + // Add title + title: { + text: 'Browser popularity', + subtext: 'Open source information', + x: 'center' + }, + + // Add tooltip + tooltip: { + trigger: 'item', + formatter: "{a} {b}: {c}%" + }, + + // Display toolbox + toolbox: { + show: true, + orient: 'vertical', + y: 75, + feature: { + mark: { + show: true, + title: { + mark: 'Markline switch', + markUndo: 'Undo markline', + markClear: 'Clear markline' + } + }, + dataView: { + show: true, + readOnly: false, + title: 'View data', + lang: ['View chart data', 'Close', 'Update'] + }, + magicType: { + show: true, + title: { + pie: 'Switch to pies', + funnel: 'Switch to funnel', + }, + type: ['pie', 'funnel'], + option: { + pie: { + radius: '75%', + center: ['50%', '55%'] + } + } + }, + restore: { + show: true, + title: 'Restore' + }, + saveAsImage: { + show: true, + title: 'Same as image', + lang: ['Save'] + } + } + }, + + // Add legend + legend: { + x: 'left', + y: 75, + orient: 'vertical', + data: ['Internet Explorer','Opera','Safari','Firefox','Chrome'] + }, + + // Enable drag recalculate + calculable: true, + + // Add series + series: [ + { + name: 'Statistics', + type: 'funnel', + x: '25%', + x2: '25%', + y: '17.5%', + height: '80%', + sort: 'ascending', + itemStyle: { + normal: { + label: { + position: 'left' + } + } + }, + data: [ + {value: 60, name: 'Safari'}, + {value: 40, name: 'Firefox'}, + {value: 20, name: 'Chrome'}, + {value: 80, name: 'Opera'}, + {value: 100, name: 'Internet Explorer'} + ] + } + ] + }; + + + // + // Left funnel options + // + + funnel_left_options = { + + // Add title + title: { + text: 'Browser popularity', + subtext: 'Open source information', + x: 'center' + }, + + // Add tooltip + tooltip: { + trigger: 'item', + formatter: "{a} {b}: {c}%" + }, + + // Display toolbox + toolbox: { + show: true, + orient: 'vertical', + y: 75, + feature: { + mark: { + show: true, + title: { + mark: 'Markline switch', + markUndo: 'Undo markline', + markClear: 'Clear markline' + } + }, + dataView: { + show: true, + readOnly: false, + title: 'View data', + lang: ['View chart data', 'Close', 'Update'] + }, + magicType: { + show: true, + title: { + pie: 'Switch to pies', + funnel: 'Switch to funnel', + }, + type: ['pie', 'funnel'], + option: { + pie: { + radius: '75%', + center: ['50%', '55%'] + } + } + }, + restore: { + show: true, + title: 'Restore' + }, + saveAsImage: { + show: true, + title: 'Same as image', + lang: ['Save'] + } + } + }, + + // Add legend + legend: { + orient: 'vertical', + x: 'left', + y: 75, + data: ['Internet Explorer','Opera','Safari','Firefox','Chrome'] + }, + + // Enable drag recalculate + calculable: true, + + // Add series + series: [ + { + name: 'Statistics', + type: 'funnel', + funnelAlign: 'left', + x: '25%', + x2: '25%', + y: '17.5%', + width: '50%', + height: '80%', + data: [ + {value: 60, name: 'Safari'}, + {value: 30, name: 'Firefox'}, + {value: 10, name: 'Chrome'}, + {value: 80, name: 'Opera'}, + {value: 100, name: 'Internet Explorer'} + ] + } + ] + }; + + + // + // Right funnel options + // + + funnel_right_options = { + + // Add title + title: { + text: 'Browser popularity', + subtext: 'Open source information', + x: 'center' + }, + + // Add tooltip + tooltip: { + trigger: 'item', + formatter: "{a} {b}: {c}%" + }, + + // Display toolbox + toolbox: { + show: true, + orient: 'vertical', + y: 75, + feature: { + mark: { + show: true, + title: { + mark: 'Markline switch', + markUndo: 'Undo markline', + markClear: 'Clear markline' + } + }, + dataView: { + show: true, + readOnly: false, + title: 'View data', + lang: ['View chart data', 'Close', 'Update'] + }, + magicType: { + show: true, + title: { + pie: 'Switch to pies', + funnel: 'Switch to funnel', + }, + type: ['pie', 'funnel'], + option: { + pie: { + radius: '75%', + center: ['50%', '55%'] + } + } + }, + restore: { + show: true, + title: 'Restore' + }, + saveAsImage: { + show: true, + title: 'Same as image', + lang: ['Save'] + } + } + }, + + // Add legend + legend: { + orient: 'vertical', + x: 'left', + y: 75, + data: ['Internet Explorer','Opera','Safari','Firefox','Chrome'] + }, + + // Enable drag recalculate + calculable: true, + + // Add series + series: [ + { + name: 'Statistics', + type: 'funnel', + funnelAlign: 'right', + x: '25%', + x2: '25%', + y: '17.5%', + width: '50%', + height: '80%', + itemStyle: { + normal: { + label: { + position: 'left' + } + } + }, + data: [ + {value: 60, name: 'Safari'}, + {value: 30, name: 'Firefox'}, + {value: 10, name: 'Chrome'}, + {value: 80, name: 'Opera'}, + {value: 100, name: 'Internet Explorer'} + ] + } + ] + }; + + + // + // Multiple funnels (overlay) options + // + + funnel_multiple_overlay_options = { + + // Add colors + color: [ + 'rgba(255, 69, 0, 0.5)', + 'rgba(255, 150, 0, 0.5)', + 'rgba(255, 200, 0, 0.5)', + 'rgba(155, 200, 50, 0.5)', + 'rgba(55, 200, 100, 0.5)' + ], + + // Add title + title: { + text: 'Browser popularity', + subtext: 'Open source information', + x: 'center' + }, + + // Add tooltip + tooltip: { + trigger: 'item', + formatter: "{a} {b}: {c}%" + }, + + // Display toolbox + toolbox: { + show: true, + orient: 'vertical', + y: 75, + feature: { + mark: { + show: true, + title: { + mark: 'Markline switch', + markUndo: 'Undo markline', + markClear: 'Clear markline' + } + }, + dataView: { + show: true, + readOnly: false, + title: 'View data', + lang: ['View chart data', 'Close', 'Update'] + }, + restore: { + show: true, + title: 'Restore' + }, + saveAsImage: { + show: true, + title: 'Same as image', + lang: ['Save'] + } + } + }, + + // Add legend + legend: { + data: ['Chrome','Opera','Safari','Firefox','IE'], + orient: 'vertical', + x: 'left', + y: 75 + }, + + // Enable drag recalculate + calculable: true, + + // Add series + series: [ + { + name: 'Expected', + type: 'funnel', + y: '17.5%', + x: '25%', + x2: '25%', + width: '50%', + height: '80%', + itemStyle: { + normal: { + label: { + formatter: '{b}' + }, + labelLine: { + show: false + } + }, + emphasis: { + label: { + position: 'inside', + formatter: '{b}: {c}%' + } + } + }, + data: [ + {value: 45, name: 'IE'}, + {value: 60, name: 'Firefox'}, + {value: 70, name: 'Safari'}, + {value: 80, name: 'Opera'}, + {value: 100, name: 'Chrome'} + ] + }, + { + name: 'Result', + type: 'funnel', + y: '17.5%', + x: '25%', + x2: '25%', + width: '50%', + height: '80%', + maxSize: '80%', + itemStyle: { + normal: { + borderColor: '#fff', + borderWidth: 2, + label: { + position: 'inside', + formatter: '{c}%', + textStyle: { + color: '#fff' + } + } + }, + emphasis: { + label: { + position: 'inside', + formatter: '{b}: {c}%' + } + } + }, + data: [ + {value: 30, name: 'IE'}, + {value: 48, name: 'Firefox'}, + {value: 66, name: 'Safari'}, + {value: 69, name: 'Opera'}, + {value: 80, name: 'Chrome'} + ] + } + ] + }; + + + // + // Multiple funnels (separate) options + // + + funnel_multiple_separate_options = { + + // Add title + title: { + text: 'Browser popularity', + subtext: 'Open source information', + y: 100 + }, + + // Add tooltip + tooltip: { + trigger: 'item', + formatter: "{a} {b}: {c}%" + }, + + // Display toolbox + toolbox: { + show: true, + orient: 'vertical', + y: 'center', + feature: { + mark: { + show: true, + title: { + mark: 'Markline switch', + markUndo: 'Undo markline', + markClear: 'Clear markline' + } + }, + dataView: { + show: true, + readOnly: false, + title: 'View data', + lang: ['View chart data', 'Close', 'Update'] + }, + restore: { + show: true, + title: 'Restore' + }, + saveAsImage: { + show: true, + title: 'Same as image', + lang: ['Save'] + } + } + }, + + // Add legend + legend: { + orient: 'vertical', + x: 'left', + y: '40%', + data: ['Chrome','Opera','Safari','Firefox','IE','','Android','Windows','OS X','BlackBerry','Others'] + }, + + // Enable drag recalculate + calculable: true, + + // Add series + series: [ + { + name: 'Browser', + type: 'funnel', + x: '35%', + width: '40%', + height: '43%', + y: '3%', + itemStyle: { + normal: { + label: { + position: 'left' + } + } + }, + data: [ + {value: 60, name: 'Safari'}, + {value: 30, name: 'Firefox'}, + {value: 10, name: 'IE'}, + {value: 80, name: 'Opera'}, + {value: 100, name: 'Chrome'} + ] + }, + { + name: 'Operating system', + type: 'funnel', + x: '35%', + width: '40%', + height: '43%', + y: '55%', + sort: 'ascending', + itemStyle: { + normal: { + label: { + position: 'right' + } + } + }, + data: [ + {value: 60, name: 'Android'}, + {value: 30, name: 'Windows'}, + {value: 10, name: 'OS X'}, + {value: 80, name: 'BlackBerry'}, + {value: 100, name: 'Others'} + ] + } + ] + }; + + + // + // Basic chord options + // + + chord_basic_options = { + + // Add title + title: { + text: 'Webkit dependencies', + subtext: 'Demo stuff taken from d3.js', + x: 'right' + }, + + // Add tooltip + tooltip: { + trigger: 'item', + formatter: function (params) { + if (params.indicator2) { // is edge + return params.value.weight; + } else { // is node + return params.name + } + } + }, + + // Add legend + legend: { + x: 'left', + orient: 'vertical', + data: ['Group1','Group2', 'Group3', 'Group4'] + }, + + // Add series + series: [ + { + type: 'chord', + data: [ + {name: 'Group1'}, + {name: 'Group2'}, + {name: 'Group3'}, + {name: 'Group4'} + ], + itemStyle: { + normal: { + label: { + show: false + } + } + }, + matrix: [ + [11975, 5871, 8916, 2868], + [ 1951, 10048, 2060, 6171], + [ 8010, 16145, 8090, 8045], + [ 1013, 990, 940, 6907] + ] + } + ] + }; + + + // + // Funnel scales options + // + + chord_scale_options = { + + // Add title + title: { + text: 'Webkit dependencies', + subtext: 'Demo stuff taken from d3.js', + x: 'right' + }, + + // Add tooltip + tooltip: { + trigger: 'item', + formatter: function (params) { + if (params.indicator2) { // is edge + return params.value.weight; + } else { // is node + return params.name + } + } + }, + + // Add legend + legend: { + x: 'left', + orient: 'vertical', + data: ['Group1','Group2', 'Group3', 'Group4'] + }, + + // Add series + series: [ + { + type: 'chord', + showScale: true, + showScaleText: true, + clockWise: true, + data: [ + {name: 'Group1'}, + {name: 'Group2'}, + {name: 'Group3'}, + {name: 'Group4'} + ], + itemStyle: { + normal: { + label: { + show: false + } + } + }, + matrix: [ + [11975, 5871, 8916, 2868], + [ 1951, 10048, 2060, 6171], + [ 8010, 16145, 8090, 8045], + [ 1013, 990, 940, 6907] + ] + } + ] + }; + + + // + // Chord sorting options + // + + chord_sorting_options = { + + // Add title + title: { + text: 'Fußball Bundesliga', + subtext: 'Players effectiveness', + x: 'right' + }, + + // Add tooltip + tooltip: { + trigger: 'item', + formatter: function (params) { + if (params.indicator2) { // is edge + return params.indicator2 + ': ' + params.indicator; + } + else { // is node + return params.name + } + } + }, + + // Add legend + legend: { + orient: 'vertical', + x: 'left', + data: ['Arsenal', 'Bayern', 'Dortmund'] + }, + + // Add series + series: [ + { + type: 'chord', + sort: 'ascending', + sortSub: 'descending', + showScale: false, + itemStyle: { + normal: { + label: { + rotate: true + } + } + }, + nodes: [ + {name: 'Gibbs'}, + {name: 'Ozil'}, + {name: 'Podolski'}, + {name: 'Neuer'}, + {name: 'Boateng'}, + {name: 'Schweinsteiger'}, + {name: 'Ram'}, + {name: 'Cross'}, + {name: 'Muller'}, + {name: 'Goetze'}, + {name: 'Hummels'}, + {name: 'Reus'}, + {name: 'Durm'}, + {name: 'Sahin'}, + {name: 'Arsenal'}, + {name: 'Bayern'}, + {name: 'Dortmund'} + ], + links: [ + {source: 'Arsenal', target: 'Gibbs', weight: 0.9, name: 'Effectiveness'}, + {source: 'Arsenal', target: 'Ozil', weight: 0.9, name: 'Effectiveness'}, + {source: 'Arsenal', target: 'Podolski', weight: 0.9, name: 'Effectiveness'}, + {source: 'Bayern', target: 'Neuer', weight: 0.9, name: 'Effectiveness'}, + {source: 'Bayern', target: 'Boateng', weight: 0.9, name: 'Effectiveness'}, + {source: 'Bayern', target: 'Schweinsteiger', weight: 0.9, name: 'Effectiveness'}, + {source: 'Bayern', target: 'Ram', weight: 0.9, name: 'Effectiveness'}, + {source: 'Bayern', target: 'Cross', weight: 0.9, name: 'Effectiveness'}, + {source: 'Bayern', target: 'Muller', weight: 0.9, name: 'Effectiveness'}, + {source: 'Bayern', target: 'Goetze', weight: 0.9, name: 'Effectiveness'}, + {source: 'Dortmund', target: 'Hummels', weight: 0.9, name: 'Effectiveness'}, + {source: 'Dortmund', target: 'Reus', weight: 0.9, name: 'Effectiveness'}, + {source: 'Dortmund', target: 'Durm', weight: 0.9, name: 'Effectiveness'}, + {source: 'Dortmund', target: 'Sahin', weight: 0.9, name: 'Effectiveness'}, + + // Ribbon Type + {target: 'Arsenal', source: 'Gibbs', weight: 1}, + {target: 'Arsenal', source: 'Ozil', weight: 1}, + {target: 'Arsenal', source: 'Podolski', weight: 1}, + {target: 'Bayern', source: 'Neuer', weight: 1}, + {target: 'Bayern', source: 'Boateng', weight: 1}, + {target: 'Bayern', source: 'Schweinsteiger', weight: 1}, + {target: 'Bayern', source: 'Ram', weight: 1}, + {target: 'Bayern', source: 'Cross', weight: 1}, + {target: 'Bayern', source: 'Muller', weight: 1}, + {target: 'Bayern', source: 'Goetze', weight: 1}, + {target: 'Dortmund', source: 'Hummels', weight: 1}, + {target: 'Dortmund', source: 'Reus', weight: 1}, + {target: 'Dortmund', source: 'Durm', weight: 1}, + {target: 'Dortmund', source: 'Sahin', weight: 1} + ] + } + ] + }; + + + // + // Non-ribbon chord options + // + + chord_non_ribbon_options = { + + // Add title + title: { + text: 'Fußball Bundesliga', + subtext: 'Players effectiveness', + x: 'right' + }, + + // Add tooltip + tooltip: { + trigger: 'item', + formatter: function (params) { + if (params.indicator2) { // is edge + return params.indicator2 + ': ' + params.indicator; + } + else { // is node + return params.name + } + } + }, + + // Add legend + legend: { + orient: 'vertical', + x: 'left', + data: ['Arsenal', 'Bayern', 'Dortmund'] + }, + + // Add series + series: [ + { + type: 'chord', + sort: 'ascending', + sortSub: 'descending', + showScale: false, + ribbonType: false, + radius: '68%', + minRadius: 7, + maxRadius: 20, + itemStyle: { + normal: { + chordStyle: { + color: '#999' + }, + label: { + rotate: true + } + } + }, + nodes: [ + {name: 'Gibbs'}, + {name: 'Ozil'}, + {name: 'Podolski'}, + {name: 'Neuer'}, + {name: 'Boateng'}, + {name: 'Schweinsteiger'}, + {name: 'Ram'}, + {name: 'Cross'}, + {name: 'Muller'}, + {name: 'Goetze'}, + {name: 'Hummels'}, + {name: 'Reus'}, + {name: 'Durm'}, + {name: 'Sahin'}, + {name: 'Arsenal'}, + {name: 'Bayern'}, + {name: 'Dortmund'} + ], + links: [ + {source: 'Arsenal', target: 'Gibbs', weight: 0.9, name: 'Effectiveness'}, + {source: 'Arsenal', target: 'Ozil', weight: 0.9, name: 'Effectiveness'}, + {source: 'Arsenal', target: 'Podolski', weight: 0.9, name: 'Effectiveness'}, + {source: 'Bayern', target: 'Neuer', weight: 0.9, name: 'Effectiveness'}, + {source: 'Bayern', target: 'Boateng', weight: 0.9, name: 'Effectiveness'}, + {source: 'Bayern', target: 'Schweinsteiger', weight: 0.9, name: 'Effectiveness'}, + {source: 'Bayern', target: 'Ram', weight: 0.9, name: 'Effectiveness'}, + {source: 'Bayern', target: 'Cross', weight: 0.9, name: 'Effectiveness'}, + {source: 'Bayern', target: 'Muller', weight: 0.9, name: 'Effectiveness'}, + {source: 'Bayern', target: 'Goetze', weight: 0.9, name: 'Effectiveness'}, + {source: 'Dortmund', target: 'Hummels', weight: 0.9, name: 'Effectiveness'}, + {source: 'Dortmund', target: 'Reus', weight: 0.9, name: 'Effectiveness'}, + {source: 'Dortmund', target: 'Durm', weight: 0.9, name: 'Effectiveness'}, + {source: 'Dortmund', target: 'Sahin', weight: 0.9, name: 'Effectiveness'}, + + // Ribbon Type + {target: 'Arsenal', source: 'Gibbs', weight: 1}, + {target: 'Arsenal', source: 'Ozil', weight: 1}, + {target: 'Arsenal', source: 'Podolski', weight: 1}, + {target: 'Bayern', source: 'Neuer', weight: 1}, + {target: 'Bayern', source: 'Boateng', weight: 1}, + {target: 'Bayern', source: 'Schweinsteiger', weight: 1}, + {target: 'Bayern', source: 'Ram', weight: 1}, + {target: 'Bayern', source: 'Cross', weight: 1}, + {target: 'Bayern', source: 'Muller', weight: 1}, + {target: 'Bayern', source: 'Goetze', weight: 1}, + {target: 'Dortmund', source: 'Hummels', weight: 1}, + {target: 'Dortmund', source: 'Reus', weight: 1}, + {target: 'Dortmund', source: 'Durm', weight: 1}, + {target: 'Dortmund', source: 'Sahin', weight: 1} + ] + } + ] + }; + + + + // Apply options + // ------------------------------ + + funnel_asc.setOption(funnel_asc_options); + funnel_desc.setOption(funnel_desc_options); + funnel_left.setOption(funnel_left_options); + funnel_right.setOption(funnel_right_options); + funnel_multiple_overlay.setOption(funnel_multiple_overlay_options); + funnel_multiple_separate.setOption(funnel_multiple_separate_options); + + chord_basic.setOption(chord_basic_options); + chord_sorting.setOption(chord_sorting_options); + chord_non_ribbon.setOption(chord_non_ribbon_options); + chord_scale.setOption(chord_scale_options); + + + + // Resize charts + // ------------------------------ + + window.onresize = function () { + setTimeout(function (){ + funnel_asc.resize(); + funnel_desc.resize(); + funnel_left.resize(); + funnel_right.resize(); + funnel_multiple_overlay.resize(); + funnel_multiple_separate.resize(); + chord_basic.resize(); + chord_sorting.resize(); + chord_non_ribbon.resize(); + chord_scale.resize(); + }, 200); + } + } + ); +}); diff --git a/Show-Crypto-Currency-Price-in-Graph/amol/public/assets/js/charts/echarts/lines_areas.js b/Show-Crypto-Currency-Price-in-Graph/amol/public/assets/js/charts/echarts/lines_areas.js new file mode 100644 index 0000000..584b426 --- /dev/null +++ b/Show-Crypto-Currency-Price-in-Graph/amol/public/assets/js/charts/echarts/lines_areas.js @@ -0,0 +1,686 @@ +/* ------------------------------------------------------------------------------ + * + * # Echarts - lines and areas + * + * Lines and areas chart configurations + * + * Version: 1.0 + * Latest update: August 1, 2015 + * + * ---------------------------------------------------------------------------- */ + +$(function() { + + + // Set paths + // ------------------------------ + + require.config({ + paths: { + echarts: 'assets/js/plugins/visualization/echarts' + } + }); + + + // Configuration + // ------------------------------ + + require( + [ + 'echarts', + 'echarts/theme/limitless', + 'echarts/chart/bar', + 'echarts/chart/line' + ], + + + // Charts setup + function (ec, limitless) { + + + // Initialize charts + // ------------------------------ + + var basic_lines = ec.init(document.getElementById('basic_lines'), limitless); + var stacked_lines = ec.init(document.getElementById('stacked_lines'), limitless); + var inverted_axes = ec.init(document.getElementById('inverted_axes'), limitless); + var line_point = ec.init(document.getElementById('line_point'), limitless); + var basic_area = ec.init(document.getElementById('basic_area'), limitless); + var stacked_area = ec.init(document.getElementById('stacked_area'), limitless); + var reversed_value = ec.init(document.getElementById('reversed_value'), limitless); + + + + // Charts setup + // ------------------------------ + + // + // Basic lines options + // + + basic_lines_options = { + + // Setup grid + grid: { + x: 40, + x2: 40, + y: 35, + y2: 25 + }, + + // Add tooltip + tooltip: { + trigger: 'axis' + }, + + // Add legend + legend: { + data: ['Maximum', 'Minimum'] + }, + + // Add custom colors + color: ['#EF5350', '#66BB6A'], + + // Enable drag recalculate + calculable: true, + + // Horizontal axis + xAxis: [{ + type: 'category', + boundaryGap: false, + data: ['Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun'] + }], + + // Vertical axis + yAxis: [{ + type: 'value', + axisLabel: { + formatter: '{value} °C' + } + }], + + // Add series + series: [ + { + name: 'Maximum', + type: 'line', + data: [11, 11, 15, 13, 12, 13, 10], + markLine: { + data: [{ + type: 'average', + name: 'Average' + }] + } + }, + { + name: 'Minimum', + type: 'line', + data: [1, -2, 2, 5, 3, 2, 0], + markLine: { + data: [{ + type: 'average', + name: 'Average' + }] + } + } + ] + }; + + + // + // Stacked lines options + // + + stacked_lines_options = { + + // Setup grid + grid: { + x: 40, + x2: 20, + y: 35, + y2: 25 + }, + + // Add tooltip + tooltip: { + trigger: 'axis' + }, + + // Add legend + legend: { + data: ['Internet Explorer', 'Opera', 'Safari', 'Firefox', 'Chrome'] + }, + + // Enable drag recalculate + calculable: true, + + // Hirozontal axis + xAxis: [{ + type: 'category', + boundaryGap: false, + data: [ + 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday', 'Sunday' + ] + }], + + // Vertical axis + yAxis: [{ + type: 'value' + }], + + // Add series + series: [ + { + name: 'Internet Explorer', + type: 'line', + stack: 'Total', + data: [120, 132, 101, 134, 90, 230, 210] + }, + { + name: 'Opera', + type: 'line', + stack: 'Total', + data: [220, 182, 191, 234, 290, 330, 310] + }, + { + name: 'Safari', + type: 'line', + stack: 'Total', + data: [150, 232, 201, 154, 190, 330, 410] + }, + { + name: 'Firefox', + type: 'line', + stack: 'Total', + data: [320, 332, 301, 334, 390, 330, 320] + }, + { + name: 'Chrome', + type: 'line', + stack: 'Total', + data: [820, 932, 901, 934, 1290, 1330, 1320] + } + ] + }; + + + // + // Inverted axes options + // + + inverted_axes_options = { + + // Setup grid + grid: { + x: 40, + x2: 20, + y: 35, + y2: 25 + }, + + // Add legend + legend: { + data: ['Altitude(km) and temperature(°C)'] + }, + + + // Enable drag recalculate + calculable: true, + + // Add tooltip + tooltip: { + trigger: 'axis', + formatter: 'Temperature: {b}km: {c}°C' + }, + + // Horizontal axis + xAxis: [{ + type: 'value', + axisLabel: { + formatter: '{value} °C' + } + }], + + // Vertical axis + yAxis: [{ + type: 'category', + axisLine: { + onZero: false + }, + axisLabel: { + formatter: '{value} km' + }, + boundaryGap: false, + data: [ + 0, 10, 20, 30, 40, 50, 60, 70, 80 + ] + }], + + // Add series + series: [ + { + name: 'Altitude(km) and temperature(°C)', + type: 'line', + smooth: true, + itemStyle: { + normal: { + lineStyle: { + shadowColor: 'rgba(0,0,0,0.4)' + } + } + }, + data: [ + 15, -50, -56.5, -46.5, -22.1, -2.5, -27.7, -55.7, -76.5 + ] + } + ] + }; + + + // + // Line and point options + // + + line_point_options = { + + // Setup grid + grid: { + x: 35, + x2: 35, + y: 60, + y2: 25 + }, + + // Add tooltip + tooltip: { + trigger: 'axis', + axisPointer: { + show: true, + type: 'cross', + lineStyle: { + type: 'dashed', + width: 1 + } + }, + formatter: function (params) { + return params.seriesName + ': [ ' + + params.value[0] + ', ' + + params.value[1] + ' ]'; + } + }, + + // Add legend + legend: { + x: 'left', + data: ['Data set 1', 'Data set 2'] + }, + + // Display toolbox + toolbox: { + show: true, + feature: { + mark: { + show: true, + title: { + mark: 'Markline switch', + markUndo: 'Undo markline', + markClear: 'Clear markline' + } + }, + dataZoom: { + show: true, + title: { + dataZoom: 'Data zoom', + dataZoomReset: 'Reset zoom' + } + }, + dataView: { + show: true, + readOnly: false, + title: 'View data', + lang: ['View chart data', 'Close', 'Update'] + }, + magicType: { + show: true, + title: { + line: 'Switch to line chart', + bar: 'Switch to bar chart', + }, + type: ['line', 'bar'] + }, + restore: { + show: true, + title: 'Restore' + }, + saveAsImage: { + show: true, + title: 'Same as image', + lang: ['Save'] + } + } + }, + + // Enable drag recalculate + calculable: true, + + // Horizontal axis + xAxis: [{ + type: 'value' + }], + + // Vertical axis + yAxis: [ + { + type: 'value', + axisLine: { + lineStyle: { + color: '#dc143c' + } + } + } + ], + + // Add series + series: [ + { + name: 'Data set 1', + type: 'line', + data: [ + [1.5, 10], [5, 7], [8, 8], [12, 6], [11, 12], [16, 9], [14, 6], [17, 4], [19, 9] + ], + markPoint: { + data: [ + + // Vertical + {type: 'max', name: 'Maximum',symbol: 'emptyCircle', itemStyle: {normal: {color: '#EF5350',label: {position: 'top'}}}}, + {type: 'min', name: 'Minimum',symbol: 'emptyCircle', itemStyle: {normal: {color: '#EF5350',label: {position: 'bottom'}}}}, + + // Horizontal + {type: 'max', name: 'Maximum', valueIndex: 0, symbol: 'emptyCircle', itemStyle: {normal: {color: '#42A5F5',label: {position: 'right'}}}}, + {type: 'min', name: 'Minimum', valueIndex: 0, symbol: 'emptyCircle', itemStyle: {normal: {color: '#42A5F5',label: {position: 'left'}}}} + ] + }, + markLine: { + data: [ + + // Vertical + {type: 'max', name: 'Maximum', itemStyle: {normal: {color: '#EF5350'}}}, + {type: 'min', name: 'Minimum', itemStyle: {normal: {color: '#EF5350'}}}, + {type: 'average', name: 'Average', itemStyle: {normal: {color: '#EF5350'}}}, + + // Horizontal + {type: 'max', name: 'Maximum', valueIndex: 0, itemStyle: {normal: {color: '#42A5F5'}}}, + {type: 'min', name: 'Minimum', valueIndex: 0, itemStyle: {normal: {color: '#42A5F5'}}}, + {type: 'average', name: 'Average', valueIndex: 0, itemStyle: {normal: {color: '#42A5F5'}}} + ] + } + }, + { + name: 'Data set 2', + type: 'line', + data: [ + [1, 2], [2, 3], [4, 2], [7, 5], [11, 2], [18, 3] + ] + } + ] + }; + + + // + // Basic area options + // + + basic_area_options = { + + // Setup grid + grid: { + x: 40, + x2: 20, + y: 35, + y2: 25 + }, + + // Add tooltip + tooltip: { + trigger: 'axis' + }, + + // Add legend + legend: { + data: ['New orders', 'In progress', 'Closed deals'] + }, + + + // Enable drag recalculate + calculable: true, + + // Horizontal axis + xAxis: [{ + type: 'category', + boundaryGap: false, + data: [ + 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday', 'Sunday' + ] + }], + + // Vertical axis + yAxis: [{ + type: 'value' + }], + + // Add series + series: [ + { + name: 'Closed deals', + type: 'line', + smooth: true, + itemStyle: {normal: {areaStyle: {type: 'default'}}}, + data: [10, 12, 21, 54, 260, 830, 710] + }, + { + name: 'In progress', + type: 'line', + smooth: true, + itemStyle: {normal: {areaStyle: {type: 'default'}}}, + data: [30, 182, 434, 791, 390, 30, 10] + }, + { + name: 'New orders', + type: 'line', + smooth: true, + itemStyle: {normal: {areaStyle: {type: 'default'}}}, + data: [1320, 1132, 601, 234, 120, 90, 20] + } + ] + }; + + + // + // Stacked area options + // + + stacked_area_options = { + + // Setup grid + grid: { + x: 40, + x2: 20, + y: 35, + y2: 25 + }, + + // Add tooltip + tooltip: { + trigger: 'axis' + }, + + // Add legend + legend: { + data: ['Internet Explorer', 'Safari', 'Firefox', 'Chrome'] + }, + + // Enable drag recalculate + calculable: true, + + // Add horizontal axis + xAxis: [{ + type: 'category', + boundaryGap: false, + data: ['Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday', 'Sunday'] + }], + + // Add vertical axis + yAxis: [{ + type: 'value' + }], + + // Add series + series: [ + { + name: 'Internet Explorer', + type: 'line', + stack: 'Total', + itemStyle: {normal: {areaStyle: {type: 'default'}}}, + data: [120, 132, 101, 134, 490, 230, 210] + }, + { + name: 'Safari', + type: 'line', + stack: 'Total', + itemStyle: {normal: {areaStyle: {type: 'default'}}}, + data: [150, 1232, 901, 154, 190, 330, 810] + }, + { + name: 'Firefox', + type: 'line', + stack: 'Total', + itemStyle: {normal: {areaStyle: {type: 'default'}}}, + data: [320, 1332, 1801, 1334, 590, 830, 1220] + }, + { + name: 'Chrome', + type: 'line', + stack: 'Total', + itemStyle: {normal: {areaStyle: {type: 'default'}}}, + data: [820, 1632, 1901, 2234, 1290, 1330, 1320] + } + ] + }; + + + // + // Reversed value axis options + // + + reversed_value_options = { + + // Setup grid + grid: { + x: 40, + x2: 40, + y: 35, + y2: 25 + }, + + // Add tooltip + tooltip: { + trigger: 'axis', + formatter: function(params) { + return params[0].name + '' + + params[0].seriesName + ': ' + params[0].value + ' (m^3/s)' + + params[1].seriesName + ': ' + -params[1].value + ' (mm)'; + } + }, + + // Add legend + legend: { + data: ['Flow', 'Rainfall'] + }, + + // Add horizontal axis + xAxis: [{ + type: 'category', + boundaryGap: false, + axisLine: { + onZero: false + }, + data: ['Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday', 'Sunday'] + }], + + // Add vertical axis + yAxis: [ + { + name: 'Flow(m^3/s)', + type: 'value', + max: 500 + }, + { + name: 'Rainfall(mm)', + type: 'value', + axisLabel: { + formatter: function(v) { + return - v; + } + } + } + ], + + // Add series + series: [ + { + name: 'Flow', + type: 'line', + itemStyle: {normal: {areaStyle: {type: 'default'}}}, + data:[100, 200, 240, 180, 90, 200, 130] + }, + { + name: 'Rainfall', + type: 'line', + yAxisIndex: 1, + itemStyle: {normal: {areaStyle: {type: 'default'}}}, + data: (function() { + var oriData = [ + 1, 2, 1.5, 7.4, 3.1, 4, 2 + ]; + var len = oriData.length; + while(len--) { + oriData[len] *= -1; + } + return oriData; + })() + } + ] + }; + + + + // Apply options + // ------------------------------ + + basic_lines.setOption(basic_lines_options); + stacked_lines.setOption(stacked_lines_options); + inverted_axes.setOption(inverted_axes_options); + line_point.setOption(line_point_options); + basic_area.setOption(basic_area_options); + stacked_area.setOption(stacked_area_options); + reversed_value.setOption(reversed_value_options); + + + + // Resize charts + // ------------------------------ + + window.onresize = function () { + setTimeout(function () { + basic_lines.resize(); + stacked_lines.resize(); + inverted_axes.resize(); + line_point.resize(); + basic_area.resize(); + stacked_area.resize(); + reversed_value.resize(); + }, 200); + } + } + ); +}); diff --git a/Show-Crypto-Currency-Price-in-Graph/amol/public/assets/js/charts/echarts/pies_donuts.js b/Show-Crypto-Currency-Price-in-Graph/amol/public/assets/js/charts/echarts/pies_donuts.js new file mode 100644 index 0000000..1ba49f2 --- /dev/null +++ b/Show-Crypto-Currency-Price-in-Graph/amol/public/assets/js/charts/echarts/pies_donuts.js @@ -0,0 +1,1280 @@ +/* ------------------------------------------------------------------------------ + * + * # Echarts - pies and donuts + * + * Pies and donuts chart configurations + * + * Version: 1.0 + * Latest update: August 1, 2015 + * + * ---------------------------------------------------------------------------- */ + +$(function () { + + // Set paths + // ------------------------------ + + require.config({ + paths: { + echarts: 'assets/js/plugins/visualization/echarts' + } + }); + + + // Configuration + // ------------------------------ + + require( + [ + 'echarts', + 'echarts/theme/limitless', + 'echarts/chart/pie', + 'echarts/chart/funnel' + ], + + + // Charts setup + function (ec, limitless) { + + + // Initialize charts + // ------------------------------ + + var basic_pie = ec.init(document.getElementById('basic_pie'), limitless); + var basic_donut = ec.init(document.getElementById('basic_donut'), limitless); + var nested_pie = ec.init(document.getElementById('nested_pie'), limitless); + var infographic_donut = ec.init(document.getElementById('infographic_donut'), limitless); + var rose_diagram_hidden = ec.init(document.getElementById('rose_diagram_hidden'), limitless); + var rose_diagram_visible = ec.init(document.getElementById('rose_diagram_visible'), limitless); + var lasagna_donut = ec.init(document.getElementById('lasagna_donut'), limitless); + var pie_timeline = ec.init(document.getElementById('pie_timeline'), limitless); + var multiple_donuts = ec.init(document.getElementById('multiple_donuts'), limitless); + + + // Charts setup + // ------------------------------ + + // + // Basic pie options + // + + basic_pie_options = { + + // Add title + title: { + text: 'Browser popularity', + subtext: 'Open source information', + x: 'center' + }, + + // Add tooltip + tooltip: { + trigger: 'item', + formatter: "{a} {b}: {c} ({d}%)" + }, + + // Add legend + legend: { + orient: 'vertical', + x: 'left', + data: ['IE', 'Opera', 'Safari', 'Firefox', 'Chrome'] + }, + + // Display toolbox + toolbox: { + show: true, + orient: 'vertical', + feature: { + mark: { + show: true, + title: { + mark: 'Markline switch', + markUndo: 'Undo markline', + markClear: 'Clear markline' + } + }, + dataView: { + show: true, + readOnly: false, + title: 'View data', + lang: ['View chart data', 'Close', 'Update'] + }, + magicType: { + show: true, + title: { + pie: 'Switch to pies', + funnel: 'Switch to funnel', + }, + type: ['pie', 'funnel'], + option: { + funnel: { + x: '25%', + y: '20%', + width: '50%', + height: '70%', + funnelAlign: 'left', + max: 1548 + } + } + }, + restore: { + show: true, + title: 'Restore' + }, + saveAsImage: { + show: true, + title: 'Same as image', + lang: ['Save'] + } + } + }, + + // Enable drag recalculate + calculable: true, + + // Add series + series: [{ + name: 'Browsers', + type: 'pie', + radius: '70%', + center: ['50%', '57.5%'], + data: [ + {value: 335, name: 'IE'}, + {value: 310, name: 'Opera'}, + {value: 234, name: 'Safari'}, + {value: 135, name: 'Firefox'}, + {value: 1548, name: 'Chrome'} + ] + }] + }; + + + // + // Basic donut options + // + + basic_donut_options = { + + // Add title + title: { + text: 'Browser popularity', + subtext: 'Open source information', + x: 'center' + }, + + // Add legend + legend: { + orient: 'vertical', + x: 'left', + data: ['Internet Explorer','Opera','Safari','Firefox','Chrome'] + }, + + // Display toolbox + toolbox: { + show: true, + orient: 'vertical', + feature: { + mark: { + show: true, + title: { + mark: 'Markline switch', + markUndo: 'Undo markline', + markClear: 'Clear markline' + } + }, + dataView: { + show: true, + readOnly: false, + title: 'View data', + lang: ['View chart data', 'Close', 'Update'] + }, + magicType: { + show: true, + title: { + pie: 'Switch to pies', + funnel: 'Switch to funnel', + }, + type: ['pie', 'funnel'], + option: { + funnel: { + x: '25%', + y: '20%', + width: '50%', + height: '70%', + funnelAlign: 'left', + max: 1548 + } + } + }, + restore: { + show: true, + title: 'Restore' + }, + saveAsImage: { + show: true, + title: 'Same as image', + lang: ['Save'] + } + } + }, + + // Enable drag recalculate + calculable: true, + + // Add series + series: [ + { + name: 'Browsers', + type: 'pie', + radius: ['50%', '70%'], + center: ['50%', '57.5%'], + itemStyle: { + normal: { + label: { + show: true + }, + labelLine: { + show: true + } + }, + emphasis: { + label: { + show: true, + formatter: '{b}' + '\n\n' + '{c} ({d}%)', + position: 'center', + textStyle: { + fontSize: '17', + fontWeight: '500' + } + } + } + }, + + data: [ + {value: 335, name: 'Internet Explorer'}, + {value: 310, name: 'Opera'}, + {value: 234, name: 'Safari'}, + {value: 135, name: 'Firefox'}, + {value: 1548, name: 'Chrome'} + ] + } + ] + }; + + + // + // Nested pie charts options + // + + nested_pie_options = { + + // Add tooltip + tooltip: { + trigger: 'item', + formatter: "{a} {b}: {c} ({d}%)" + }, + + // Add legend + legend: { + orient: 'vertical', + x: 'left', + data: ['Italy','Spain','Austria','Germany','Poland','Denmark','Hungary','Portugal','France','Netherlands'] + }, + + // Display toolbox + toolbox: { + show: true, + orient: 'vertical', + feature: { + mark: { + show: true, + title: { + mark: 'Markline switch', + markUndo: 'Undo markline', + markClear: 'Clear markline' + } + }, + dataView: { + show: true, + readOnly: false, + title: 'View data', + lang: ['View chart data', 'Close', 'Update'] + }, + magicType: { + show: true, + title: { + pie: 'Switch to pies', + funnel: 'Switch to funnel', + }, + type: ['pie', 'funnel'] + }, + restore: { + show: true, + title: 'Restore' + }, + saveAsImage: { + show: true, + title: 'Same as image', + lang: ['Save'] + } + } + }, + + // Enable drag recalculate + calculable: false, + + // Add series + series: [ + + // Inner + { + name: 'Countries', + type: 'pie', + selectedMode: 'single', + radius: [0, '40%'], + + // for funnel + x: '15%', + y: '7.5%', + width: '40%', + height: '85%', + funnelAlign: 'right', + max: 1548, + + itemStyle: { + normal: { + label: { + position: 'inner' + }, + labelLine: { + show: false + } + }, + emphasis: { + label: { + show: true + } + } + }, + + data: [ + {value: 535, name: 'Italy'}, + {value: 679, name: 'Spain'}, + {value: 1548, name: 'Austria'} + ] + }, + + // Outer + { + name: 'Countries', + type: 'pie', + radius: ['60%', '85%'], + + // for funnel + x: '55%', + y: '7.5%', + width: '35%', + height: '85%', + funnelAlign: 'left', + max: 1048, + + data: [ + {value: 535, name: 'Italy'}, + {value: 310, name: 'Germany'}, + {value: 234, name: 'Poland'}, + {value: 135, name: 'Denmark'}, + {value: 948, name: 'Hungary'}, + {value: 251, name: 'Portugal'}, + {value: 147, name: 'France'}, + {value: 202, name: 'Netherlands'} + ] + } + ] + }; + + + // + // Infographic donut options + // + + // Data style + var dataStyle = { + normal: { + label: {show: false}, + labelLine: {show: false} + } + }; + + // Placeholder style + var placeHolderStyle = { + normal: { + color: 'rgba(0,0,0,0)', + label: {show: false}, + labelLine: {show: false} + }, + emphasis: { + color: 'rgba(0,0,0,0)' + } + }; + + // Set options + infographic_donut_options = { + + // Add title + title: { + text: 'Are you happy?', + subtext: 'Utrecht, Netherlands', + x: 'center', + y: 'center', + itemGap: 10, + textStyle: { + color: 'rgba(30,144,255,0.8)', + fontSize: 19, + fontWeight: '500' + } + }, + + // Add tooltip + tooltip: { + show: true, + formatter: "{a} {b}: {c} ({d}%)" + }, + + // Add legend + legend: { + orient: 'vertical', + x: document.getElementById('infographic_donut').offsetWidth / 2, + y: 30, + x: '55%', + itemGap: 15, + data: ['60% Definitely yes','30% Could be better','10% Not at the moment'] + }, + + // Add series + series: [ + { + name: '1', + type: 'pie', + clockWise: false, + radius: ['75%', '90%'], + itemStyle: dataStyle, + data: [ + { + value: 60, + name: '60% Definitely yes' + }, + { + value: 40, + name: 'invisible', + itemStyle: placeHolderStyle + } + ] + }, + + { + name: '2', + type:'pie', + clockWise: false, + radius: ['60%', '75%'], + itemStyle: dataStyle, + data: [ + { + value: 30, + name: '30% Could be better' + }, + { + value: 70, + name: 'invisible', + itemStyle: placeHolderStyle + } + ] + }, + + { + name: '3', + type: 'pie', + clockWise: false, + radius: ['45%', '60%'], + itemStyle: dataStyle, + data: [ + { + value: 10, + name: '10% Not at the moment' + }, + { + value: 90, + name: 'invisible', + itemStyle: placeHolderStyle + } + ] + } + ] + }; + + + // + // Nightingale roses with hidden labels options + // + + rose_diagram_hidden_options = { + + // Add title + title: { + text: 'Employee\'s salary review', + subtext: 'Senior front end developer', + x: 'center' + }, + + // Add tooltip + tooltip: { + trigger: 'item', + formatter: "{a} {b}: +{c}$ ({d}%)" + }, + + // Add legend + legend: { + x: 'left', + y: 'top', + orient: 'vertical', + data: ['January','February','March','April','May','June','July','August','September','October','November','December'] + }, + + // Display toolbox + toolbox: { + show: true, + orient: 'vertical', + feature: { + mark: { + show: true, + title: { + mark: 'Markline switch', + markUndo: 'Undo markline', + markClear: 'Clear markline' + } + }, + dataView: { + show: true, + readOnly: false, + title: 'View data', + lang: ['View chart data', 'Close', 'Update'] + }, + magicType: { + show: true, + title: { + pie: 'Switch to pies', + funnel: 'Switch to funnel', + }, + type: ['pie', 'funnel'] + }, + restore: { + show: true, + title: 'Restore' + }, + saveAsImage: { + show: true, + title: 'Same as image', + lang: ['Save'] + } + } + }, + + // Enable drag recalculate + calculable: true, + + // Add series + series: [ + { + name: 'Increase (brutto)', + type: 'pie', + radius: ['15%', '73%'], + center: ['50%', '57%'], + roseType: 'radius', + + // Funnel + width: '40%', + height: '78%', + x: '30%', + y: '17.5%', + max: 450, + + itemStyle: { + normal: { + label: { + show: false + }, + labelLine: { + show: false + } + }, + emphasis: { + label: { + show: true + }, + labelLine: { + show: true + } + } + }, + data: [ + {value: 440, name: 'January'}, + {value: 260, name: 'February'}, + {value: 350, name: 'March'}, + {value: 250, name: 'April'}, + {value: 210, name: 'May'}, + {value: 350, name: 'June'}, + {value: 300, name: 'July'}, + {value: 430, name: 'August'}, + {value: 400, name: 'September'}, + {value: 450, name: 'October'}, + {value: 330, name: 'November'}, + {value: 200, name: 'December'} + ] + } + ] + }; + + + // + // Nightingale roses with visible labels options + // + + rose_diagram_visible_options = { + + // Add title + title: { + text: 'Employee\'s salary review', + subtext: 'Senior front end developer', + x: 'center' + }, + + // Add tooltip + tooltip: { + trigger: 'item', + formatter: "{a} {b}: +{c}$ ({d}%)" + }, + + // Add legend + legend: { + x: 'left', + y: 'top', + orient: 'vertical', + data: ['January','February','March','April','May','June','July','August','September','October','November','December'] + }, + + // Display toolbox + toolbox: { + show: true, + orient: 'vertical', + feature: { + mark: { + show: true, + title: { + mark: 'Markline switch', + markUndo: 'Undo markline', + markClear: 'Clear markline' + } + }, + dataView: { + show: true, + readOnly: false, + title: 'View data', + lang: ['View chart data', 'Close', 'Update'] + }, + magicType: { + show: true, + title: { + pie: 'Switch to pies', + funnel: 'Switch to funnel', + }, + type: ['pie', 'funnel'] + }, + restore: { + show: true, + title: 'Restore' + }, + saveAsImage: { + show: true, + title: 'Same as image', + lang: ['Save'] + } + } + }, + + // Enable drag recalculate + calculable: true, + + // Add series + series: [ + { + name: 'Increase (brutto)', + type: 'pie', + radius: ['15%', '73%'], + center: ['50%', '57%'], + roseType: 'area', + + // Funnel + width: '40%', + height: '78%', + x: '30%', + y: '17.5%', + max: 450, + sort: 'ascending', + + data: [ + {value: 440, name: 'January'}, + {value: 260, name: 'February'}, + {value: 350, name: 'March'}, + {value: 250, name: 'April'}, + {value: 210, name: 'May'}, + {value: 350, name: 'June'}, + {value: 300, name: 'July'}, + {value: 430, name: 'August'}, + {value: 400, name: 'September'}, + {value: 450, name: 'October'}, + {value: 330, name: 'November'}, + {value: 200, name: 'December'} + ] + } + ] + }; + + + // + // Lasagna options + // + + lasagna_donut_options = { + + // Add title + title: { + text: 'Browser statistics', + subtext: 'Based on shared research', + x: 'center' + }, + + // Add tooltip + tooltip: { + trigger: 'item', + formatter: '{a} {b}: {c} ({d}%)' + }, + + // Add legend + legend: { + x: 'left', + orient: 'vertical', + data: ['Chrome','Firefox','Safari','IE9+','IE8-'] + }, + + // Enable drag recalculate + calculable: false, + + // Add series + series: (function () { + var series = []; + for (var i = 0; i < 30; i++) { + series.push({ + name: 'Browser', + type: 'pie', + itemStyle: { + normal: { + label: { + show: i > 28 + }, + labelLine: { + show: i > 28, + length: 20 + } + } + }, + + radius: [i * 3.6 + 40, i * 3.6 + 43], + center: ['50%', '55%'], + data: [ + {value: i * 128 + 80, name: 'Chrome'}, + {value: i * 64 + 160, name: 'Firefox'}, + {value: i * 32 + 320, name: 'Safari'}, + {value: i * 16 + 640, name: 'IE9+'}, + {value: i * 8 + 1280, name: 'IE8-'} + ] + }) + } + return series; + })() + }; + + + // + // Pie timeline options + // + + var idx = 1; + pie_timeline_options = { + + // Add timeline + timeline: { + x: 10, + x2: 10, + data: [ + '2014-01-01', '2014-02-01', '2014-03-01', '2014-04-01', '2014-05-01', + { name:'2014-06-01', symbol: 'emptyStar2', symbolSize: 8 }, + '2014-07-01', '2014-08-01', '2014-09-01', '2014-10-01', '2014-11-01', + { name:'2014-12-01', symbol: 'star2', symbolSize: 8 } + ], + label: { + formatter: function(s) { + return s.slice(0, 7); + } + }, + autoPlay: true, + playInterval: 3000 + }, + + // Set options + options: [ + { + + // Add title + title: { + text: 'Browser statistics', + subtext: 'Based on shared research', + x: 'center' + }, + + // Add tooltip + tooltip: { + trigger: 'item', + formatter: "{a} {b}: {c} ({d}%)" + }, + + // Add legend + legend: { + x: 'left', + orient: 'vertical', + data: ['Chrome','Firefox','Safari','IE9+','IE8-'] + }, + + // Display toolbox + toolbox: { + show: true, + orient: 'vertical', + feature: { + mark: { + show: true, + title: { + mark: 'Markline switch', + markUndo: 'Undo markline', + markClear: 'Clear markline' + } + }, + dataView: { + show: true, + readOnly: false, + title: 'View data', + lang: ['View chart data', 'Close', 'Update'] + }, + magicType: { + show: true, + title: { + pie: 'Switch to pies', + funnel: 'Switch to funnel', + }, + type: ['pie', 'funnel'], + option: { + funnel: { + x: '25%', + width: '50%', + funnelAlign: 'left', + max: 1700 + } + } + }, + restore: { + show: true, + title: 'Restore' + }, + saveAsImage: { + show: true, + title: 'Same as image', + lang: ['Save'] + } + } + }, + + // Add series + series: [{ + name: 'Browser', + type: 'pie', + center: ['50%', '50%'], + radius: '60%', + data: [ + {value: idx * 128 + 80, name: 'Chrome'}, + {value: idx * 64 + 160, name: 'Firefox'}, + {value: idx * 32 + 320, name: 'Safari'}, + {value: idx * 16 + 640, name: 'IE9+'}, + {value: idx++ * 8 + 1280, name: 'IE8-'} + ] + }] + }, + + { + series: [{ + name: 'Browser', + type: 'pie', + data: [ + {value: idx * 128 + 80, name:'Chrome'}, + {value: idx * 64 + 160, name:'Firefox'}, + {value: idx * 32 + 320, name:'Safari'}, + {value: idx * 16 + 640, name:'IE9+'}, + {value: idx++ * 8 + 1280, name:'IE8-'} + ] + }] + }, + { + series: [{ + name: 'Browser', + type: 'pie', + data: [ + {value: idx * 128 + 80, name:'Chrome'}, + {value: idx * 64 + 160, name:'Firefox'}, + {value: idx * 32 + 320, name:'Safari'}, + {value: idx * 16 + 640, name:'IE9+'}, + {value: idx++ * 8 + 1280, name:'IE8-'} + ] + }] + }, + { + series: [{ + name: 'Browser', + type: 'pie', + data: [ + {value: idx * 128 + 80, name:'Chrome'}, + {value: idx * 64 + 160, name:'Firefox'}, + {value: idx * 32 + 320, name:'Safari'}, + {value: idx * 16 + 640, name:'IE9+'}, + {value: idx++ * 8 + 1280, name:'IE8-'} + ] + }] + }, + { + series: [{ + name: 'Browser', + type: 'pie', + data: [ + {value: idx * 128 + 80, name:'Chrome'}, + {value: idx * 64 + 160, name:'Firefox'}, + {value: idx * 32 + 320, name:'Safari'}, + {value: idx * 16 + 640, name:'IE9+'}, + {value: idx++ * 8 + 1280, name:'IE8-'} + ] + }] + }, + { + series: [{ + name: 'Browser', + type: 'pie', + data: [ + {value: idx * 128 + 80, name:'Chrome'}, + {value: idx * 64 + 160, name:'Firefox'}, + {value: idx * 32 + 320, name:'Safari'}, + {value: idx * 16 + 640, name:'IE9+'}, + {value: idx++ * 8 + 1280, name:'IE8-'} + ] + }] + }, + { + series: [{ + name: 'Browser', + type: 'pie', + data: [ + {value: idx * 128 + 80, name:'Chrome'}, + {value: idx * 64 + 160, name:'Firefox'}, + {value: idx * 32 + 320, name:'Safari'}, + {value: idx * 16 + 640, name:'IE9+'}, + {value: idx++ * 8 + 1280, name:'IE8-'} + ] + }] + }, + { + series: [{ + name: 'Browser', + type: 'pie', + data: [ + {value: idx * 128 + 80, name:'Chrome'}, + {value: idx * 64 + 160, name:'Firefox'}, + {value: idx * 32 + 320, name:'Safari'}, + {value: idx * 16 + 640, name:'IE9+'}, + {value: idx++ * 8 + 1280, name:'IE8-'} + ] + }] + }, + { + series: [{ + name: 'Browser', + type: 'pie', + data: [ + {value: idx * 128 + 80, name:'Chrome'}, + {value: idx * 64 + 160, name:'Firefox'}, + {value: idx * 32 + 320, name:'Safari'}, + {value: idx * 16 + 640, name:'IE9+'}, + {value: idx++ * 8 + 1280, name:'IE8-'} + ] + }] + }, + { + series: [{ + name: 'Browser', + type: 'pie', + data: [ + {value: idx * 128 + 80, name:'Chrome'}, + {value: idx * 64 + 160, name:'Firefox'}, + {value: idx * 32 + 320, name:'Safari'}, + {value: idx * 16 + 640, name:'IE9+'}, + {value: idx++ * 8 + 1280, name:'IE8-'} + ] + }] + }, + { + series: [{ + name: 'Browser', + type: 'pie', + data: [ + {value: idx * 128 + 80, name:'Chrome'}, + {value: idx * 64 + 160, name:'Firefox'}, + {value: idx * 32 + 320, name:'Safari'}, + {value: idx * 16 + 640, name:'IE9+'}, + {value: idx++ * 8 + 1280, name:'IE8-'} + ] + }] + }, + { + series: [{ + name: 'Browser', + type: 'pie', + data: [ + {value: idx * 128 + 80, name:'Chrome'}, + {value: idx * 64 + 160, name:'Firefox'}, + {value: idx * 32 + 320, name:'Safari'}, + {value: idx * 16 + 640, name:'IE9+'}, + {value: idx++ * 8 + 1280, name:'IE8-'} + ] + }] + } + ] + }; + + + // + // Multiple donuts options + // + + // Top text label + var labelTop = { + normal: { + label: { + show: true, + position: 'center', + formatter: '{b}\n', + textStyle: { + baseline: 'middle', + fontWeight: 300, + fontSize: 15 + } + }, + labelLine: { + show: false + } + } + }; + + // Format bottom label + var labelFromatter = { + normal: { + label: { + formatter: function (params) { + return '\n\n' + (100 - params.value) + '%' + } + } + } + } + + // Bottom text label + var labelBottom = { + normal: { + color: '#eee', + label: { + show: true, + position: 'center', + textStyle: { + baseline: 'middle' + } + }, + labelLine: { + show: false + } + }, + emphasis: { + color: 'rgba(0,0,0,0)' + } + }; + + // Set inner and outer radius + var radius = [60, 75]; + + // Add options + multiple_donuts_options = { + + // Add title + title: { + text: 'The Application World', + subtext: 'from global web index', + x: 'center' + }, + + // Add legend + legend: { + x: 'center', + y: '56%', + data: ['GoogleMaps', 'Facebook', 'Youtube', 'Google+', 'Weixin', 'Twitter', 'Skype', 'Messenger', 'Whatsapp', 'Instagram'] + }, + + // Add series + series: [ + { + type: 'pie', + center: ['10%', '32.5%'], + radius: radius, + itemStyle: labelFromatter, + data: [ + {name: 'other', value: 46, itemStyle: labelBottom}, + {name: 'GoogleMaps', value: 54,itemStyle: labelTop} + ] + }, + { + type: 'pie', + center: ['30%', '32.5%'], + radius: radius, + itemStyle: labelFromatter, + data: [ + {name: 'other', value: 56, itemStyle: labelBottom}, + {name: 'Facebook', value: 44,itemStyle: labelTop} + ] + }, + { + type: 'pie', + center: ['50%', '32.5%'], + radius: radius, + itemStyle: labelFromatter, + data: [ + {name: 'other', value: 65, itemStyle: labelBottom}, + {name: 'Youtube', value: 35,itemStyle: labelTop} + ] + }, + { + type: 'pie', + center: ['70%', '32.5%'], + radius: radius, + itemStyle: labelFromatter, + data: [ + {name: 'other', value: 70, itemStyle: labelBottom}, + {name: 'Google+', value: 30,itemStyle: labelTop} + ] + }, + { + type: 'pie', + center: ['90%', '32.5%'], + radius: radius, + itemStyle: labelFromatter, + data: [ + {name:'other', value:73, itemStyle: labelBottom}, + {name:'Weixin', value:27,itemStyle: labelTop} + ] + }, + { + type: 'pie', + center: ['10%', '82.5%'], + radius: radius, + itemStyle: labelFromatter, + data: [ + {name: 'other', value: 78, itemStyle: labelBottom}, + {name: 'Twitter', value: 22,itemStyle: labelTop} + ] + }, + { + type: 'pie', + center: ['30%', '82.5%'], + radius: radius, + itemStyle: labelFromatter, + data: [ + {name: 'other', value: 78, itemStyle: labelBottom}, + {name: 'Skype', value: 22,itemStyle: labelTop} + ] + }, + { + type: 'pie', + center: ['50%', '82.5%'], + radius: radius, + itemStyle: labelFromatter, + data: [ + {name: 'other', value: 78, itemStyle: labelBottom}, + {name: 'Messenger', value: 22,itemStyle: labelTop} + ] + }, + { + type: 'pie', + center: ['70%', '82.5%'], + radius: radius, + itemStyle: labelFromatter, + data: [ + {name: 'other', value: 83, itemStyle: labelBottom}, + {name: 'Whatsapp', value: 17,itemStyle: labelTop} + ] + }, + { + type: 'pie', + center: ['90%', '82.5%'], + radius: radius, + itemStyle: labelFromatter, + data: [ + {name:'other', value:89, itemStyle: labelBottom}, + {name:'Instagram', value:11,itemStyle: labelTop} + ] + } + ] + }; + + + + // Apply options + // ------------------------------ + + basic_pie.setOption(basic_pie_options); + basic_donut.setOption(basic_donut_options); + nested_pie.setOption(nested_pie_options); + infographic_donut.setOption(infographic_donut_options); + rose_diagram_hidden.setOption(rose_diagram_hidden_options); + rose_diagram_visible.setOption(rose_diagram_visible_options); + lasagna_donut.setOption(lasagna_donut_options); + pie_timeline.setOption(pie_timeline_options); + multiple_donuts.setOption(multiple_donuts_options); + + + + // Resize charts + // ------------------------------ + + window.onresize = function () { + setTimeout(function (){ + basic_pie.resize(); + basic_donut.resize(); + nested_pie.resize(); + infographic_donut.resize(); + rose_diagram_hidden.resize(); + rose_diagram_visible.resize(); + lasagna_donut.resize(); + pie_timeline.resize(); + multiple_donuts.resize(); + }, 200); + } + } + ); +}); diff --git a/Show-Crypto-Currency-Price-in-Graph/amol/public/assets/js/charts/echarts/scatter.js b/Show-Crypto-Currency-Price-in-Graph/amol/public/assets/js/charts/echarts/scatter.js new file mode 100644 index 0000000..90b5986 --- /dev/null +++ b/Show-Crypto-Currency-Price-in-Graph/amol/public/assets/js/charts/echarts/scatter.js @@ -0,0 +1,1021 @@ +/* ------------------------------------------------------------------------------ + * + * # Echarts - scatter charts + * + * Scatter chart configurations + * + * Version: 1.0 + * Latest update: August 1, 2015 + * + * ---------------------------------------------------------------------------- */ + +$(function () { + + // Set paths + // ------------------------------ + + require.config({ + paths: { + echarts: 'assets/js/plugins/visualization/echarts' + } + }); + + + // Configuration + // ------------------------------ + + require( + [ + 'echarts', + 'echarts/theme/limitless', + 'echarts/chart/scatter' + ], + + + // Charts setup + function (ec, limitless) { + + + // Initialize charts + // ------------------------------ + + var basic_scatter = ec.init(document.getElementById('basic_scatter'), limitless); + var bubble_size = ec.init(document.getElementById('bubble_size'), limitless); + var large_scale = ec.init(document.getElementById('large_scale'), limitless); + var scale_roaming = ec.init(document.getElementById('scale_roaming'), limitless); + var category_scatter = ec.init(document.getElementById('category_scatter'), limitless); + var time_data = ec.init(document.getElementById('time_data'), limitless); + var timeline_scatter = ec.init(document.getElementById('timeline_scatter'), limitless); + + + + // Charts setup + // ------------------------------ + + // + // Basic scatter chart options + // + + basic_scatter_options = { + + // Setup grid + grid: { + x: 50, + x2: 45, + y: 35, + y2: 25 + }, + + // Add tooltip + tooltip: { + trigger: 'axis', + showDelay: 0, + formatter: function (params) { + if (params.value.length > 1) { + return params.seriesName + ':' + + params.value[0] + 'cm ' + + params.value[1] + 'kg '; + } + else { + return params.seriesName + ':' + + params.name + ': ' + + params.value + 'kg '; + } + }, + axisPointer: { + show: true, + type: 'cross', + lineStyle: { + type: 'dashed', + width: 1 + } + } + }, + + // Add legend + legend: { + data: ['Women','Men'] + }, + + // Horizontal axis + xAxis: [{ + type: 'value', + scale: true, + axisLabel: { + formatter: '{value} cm' + } + }], + + // Vertical axis + yAxis: [{ + type: 'value', + scale: true, + axisLabel: { + formatter: '{value} kg' + } + }], + + // Add series + series: [ + { + name: 'Women', + type: 'scatter', + symbolSize: 5, + data: [ + [161.2, 51.6], [167.5, 59.0], [159.5, 49.2], [157.0, 63.0], [155.8, 53.6], + [170.0, 59.0], [159.1, 47.6], [166.0, 69.8], [176.2, 66.8], [160.2, 75.2], + [172.5, 55.2], [170.9, 54.2], [172.9, 62.5], [153.4, 42.0], [160.0, 50.0], + [147.2, 49.8], [168.2, 49.2], [175.0, 73.2], [157.0, 47.8], [167.6, 68.8], + [159.5, 50.6], [175.0, 82.5], [166.8, 57.2], [176.5, 87.8], [170.2, 72.8], + [174.0, 54.5], [173.0, 59.8], [179.9, 67.3], [170.5, 67.8], [160.0, 47.0], + [154.4, 46.2], [162.0, 55.0], [176.5, 83.0], [160.0, 54.4], [152.0, 45.8], + [162.1, 53.6], [170.0, 73.2], [160.2, 52.1], [161.3, 67.9], [166.4, 56.6], + [168.9, 62.3], [163.8, 58.5], [167.6, 54.5], [160.0, 50.2], [161.3, 60.3], + [167.6, 58.3], [165.1, 56.2], [160.0, 50.2], [170.0, 72.9], [157.5, 59.8], + [167.6, 61.0], [160.7, 69.1], [163.2, 55.9], [152.4, 46.5], [157.5, 54.3], + [168.3, 54.8], [180.3, 60.7], [165.5, 60.0], [165.0, 62.0], [164.5, 60.3], + [156.0, 52.7], [160.0, 74.3], [163.0, 62.0], [165.7, 73.1], [161.0, 80.0], + [162.0, 54.7], [166.0, 53.2], [174.0, 75.7], [172.7, 61.1], [167.6, 55.7], + [151.1, 48.7], [164.5, 52.3], [163.5, 50.0], [152.0, 59.3], [169.0, 62.5], + [164.0, 55.7], [161.2, 54.8], [155.0, 45.9], [170.0, 70.6], [176.2, 67.2], + [170.0, 69.4], [162.5, 58.2], [170.3, 64.8], [164.1, 71.6], [169.5, 52.8], + [163.2, 59.8], [154.5, 49.0], [159.8, 50.0], [173.2, 69.2], [170.0, 55.9], + [161.4, 63.4], [169.0, 58.2], [166.2, 58.6], [159.4, 45.7], [162.5, 52.2], + [159.0, 48.6], [162.8, 57.8], [159.0, 55.6], [179.8, 66.8], [162.9, 59.4], + [161.0, 53.6], [151.1, 73.2], [168.2, 53.4], [168.9, 69.0], [173.2, 58.4], + [171.8, 56.2], [178.0, 70.6], [164.3, 59.8], [163.0, 72.0], [168.5, 65.2], + [166.8, 56.6], [172.7, 105.2], [163.5, 51.8], [169.4, 63.4], [167.8, 59.0], + [159.5, 47.6], [167.6, 63.0], [161.2, 55.2], [160.0, 45.0], [163.2, 54.0], + [162.2, 50.2], [161.3, 60.2], [149.5, 44.8], [157.5, 58.8], [163.2, 56.4], + [172.7, 62.0], [155.0, 49.2], [156.5, 67.2], [164.0, 53.8], [160.9, 54.4], + [162.8, 58.0], [167.0, 59.8], [160.0, 54.8], [160.0, 43.2], [168.9, 60.5], + [158.2, 46.4], [156.0, 64.4], [160.0, 48.8], [167.1, 62.2], [158.0, 55.5], + [167.6, 57.8], [156.0, 54.6], [162.1, 59.2], [173.4, 52.7], [159.8, 53.2], + [170.5, 64.5], [159.2, 51.8], [157.5, 56.0], [161.3, 63.6], [162.6, 63.2], + [160.0, 59.5], [168.9, 56.8], [165.1, 64.1], [162.6, 50.0], [165.1, 72.3], + [166.4, 55.0], [160.0, 55.9], [152.4, 60.4], [170.2, 69.1], [162.6, 84.5], + [170.2, 55.9], [158.8, 55.5], [172.7, 69.5], [167.6, 76.4], [162.6, 61.4], + [167.6, 65.9], [156.2, 58.6], [175.2, 66.8], [172.1, 56.6], [162.6, 58.6], + [160.0, 55.9], [165.1, 59.1], [182.9, 81.8], [166.4, 70.7], [165.1, 56.8], + [177.8, 60.0], [165.1, 58.2], [175.3, 72.7], [154.9, 54.1], [158.8, 49.1], + [172.7, 75.9], [168.9, 55.0], [161.3, 57.3], [167.6, 55.0], [165.1, 65.5], + [175.3, 65.5], [157.5, 48.6], [163.8, 58.6], [167.6, 63.6], [165.1, 55.2], + [165.1, 62.7], [168.9, 56.6], [162.6, 53.9], [164.5, 63.2], [176.5, 73.6], + [168.9, 62.0], [175.3, 63.6], [159.4, 53.2], [160.0, 53.4], [170.2, 55.0], + [162.6, 70.5], [167.6, 54.5], [162.6, 54.5], [160.7, 55.9], [160.0, 59.0], + [157.5, 63.6], [162.6, 54.5], [152.4, 47.3], [170.2, 67.7], [165.1, 80.9], + [172.7, 70.5], [165.1, 60.9], [170.2, 63.6], [170.2, 54.5], [170.2, 59.1], + [161.3, 70.5], [167.6, 52.7], [167.6, 62.7], [165.1, 86.3], [162.6, 66.4], + [152.4, 67.3], [168.9, 63.0], [170.2, 73.6], [175.2, 62.3], [175.2, 57.7], + [160.0, 55.4], [165.1, 104.1], [174.0, 55.5], [170.2, 77.3], [160.0, 80.5], + [167.6, 64.5], [167.6, 72.3], [167.6, 61.4], [154.9, 58.2], [162.6, 81.8], + [175.3, 63.6], [171.4, 53.4], [157.5, 54.5], [165.1, 53.6], [160.0, 60.0], + [174.0, 73.6], [162.6, 61.4], [174.0, 55.5], [162.6, 63.6], [161.3, 60.9], + [156.2, 60.0], [149.9, 46.8], [169.5, 57.3], [160.0, 64.1], [175.3, 63.6], + [169.5, 67.3], [160.0, 75.5], [172.7, 68.2], [162.6, 61.4], [157.5, 76.8], + [176.5, 71.8], [164.4, 55.5], [160.7, 48.6], [174.0, 66.4], [163.8, 67.3] + ], + markLine: { + data: [{ + type: 'average', + name: 'Average' + }] + } + }, + { + name: 'Men', + type: 'scatter', + symbolSize: 5, + data: [ + [174.0, 65.6], [175.3, 71.8], [193.5, 80.7], [186.5, 72.6], [187.2, 78.8], + [181.5, 74.8], [184.0, 86.4], [184.5, 78.4], [175.0, 62.0], [184.0, 81.6], + [180.0, 76.6], [177.8, 83.6], [192.0, 90.0], [176.0, 74.6], [174.0, 71.0], + [184.0, 79.6], [192.7, 93.8], [171.5, 70.0], [173.0, 72.4], [176.0, 85.9], + [176.0, 78.8], [180.5, 77.8], [172.7, 66.2], [176.0, 86.4], [173.5, 81.8], + [178.0, 89.6], [180.3, 82.8], [180.3, 76.4], [164.5, 63.2], [173.0, 60.9], + [183.5, 74.8], [175.5, 70.0], [188.0, 72.4], [189.2, 84.1], [172.8, 69.1], + [170.0, 59.5], [182.0, 67.2], [170.0, 61.3], [177.8, 68.6], [184.2, 80.1], + [186.7, 87.8], [171.4, 84.7], [172.7, 73.4], [175.3, 72.1], [180.3, 82.6], + [182.9, 88.7], [188.0, 84.1], [177.2, 94.1], [172.1, 74.9], [167.0, 59.1], + [169.5, 75.6], [174.0, 86.2], [172.7, 75.3], [182.2, 87.1], [164.1, 55.2], + [163.0, 57.0], [171.5, 61.4], [184.2, 76.8], [174.0, 86.8], [174.0, 72.2], + [177.0, 71.6], [186.0, 84.8], [167.0, 68.2], [171.8, 66.1], [182.0, 72.0], + [167.0, 64.6], [177.8, 74.8], [164.5, 70.0], [192.0, 101.6], [175.5, 63.2], + [171.2, 79.1], [181.6, 78.9], [167.4, 67.7], [181.1, 66.0], [177.0, 68.2], + [174.5, 63.9], [177.5, 72.0], [170.5, 56.8], [182.4, 74.5], [197.1, 90.9], + [180.1, 93.0], [175.5, 80.9], [180.6, 72.7], [184.4, 68.0], [175.5, 70.9], + [180.6, 72.5], [177.0, 72.5], [177.1, 83.4], [181.6, 75.5], [176.5, 73.0], + [175.0, 70.2], [174.0, 73.4], [165.1, 70.5], [177.0, 68.9], [192.0, 102.3], + [176.5, 68.4], [169.4, 65.9], [182.1, 75.7], [179.8, 84.5], [175.3, 87.7], + [184.9, 86.4], [177.3, 73.2], [167.4, 53.9], [178.1, 72.0], [168.9, 55.5], + [157.2, 58.4], [180.3, 83.2], [170.2, 72.7], [177.8, 64.1], [172.7, 72.3], + [165.1, 65.0], [186.7, 86.4], [165.1, 65.0], [174.0, 88.6], [175.3, 84.1], + [185.4, 66.8], [177.8, 75.5], [180.3, 93.2], [180.3, 82.7], [177.8, 58.0], + [177.8, 79.5], [177.8, 78.6], [177.8, 71.8], [177.8, 116.4], [163.8, 72.2], + [188.0, 83.6], [198.1, 85.5], [175.3, 90.9], [166.4, 85.9], [190.5, 89.1], + [166.4, 75.0], [177.8, 77.7], [179.7, 86.4], [172.7, 90.9], [190.5, 73.6], + [185.4, 76.4], [168.9, 69.1], [167.6, 84.5], [175.3, 64.5], [170.2, 69.1], + [190.5, 108.6], [177.8, 86.4], [190.5, 80.9], [177.8, 87.7], [184.2, 94.5], + [176.5, 80.2], [177.8, 72.0], [180.3, 71.4], [171.4, 72.7], [172.7, 84.1], + [172.7, 76.8], [177.8, 63.6], [177.8, 80.9], [182.9, 80.9], [170.2, 85.5], + [167.6, 68.6], [175.3, 67.7], [165.1, 66.4], [185.4, 102.3], [181.6, 70.5], + [172.7, 95.9], [190.5, 84.1], [179.1, 87.3], [175.3, 71.8], [170.2, 65.9], + [193.0, 95.9], [171.4, 91.4], [177.8, 81.8], [177.8, 96.8], [167.6, 69.1], + [167.6, 82.7], [180.3, 75.5], [182.9, 79.5], [176.5, 73.6], [186.7, 91.8], + [188.0, 84.1], [188.0, 85.9], [177.8, 81.8], [174.0, 82.5], [177.8, 80.5], + [171.4, 70.0], [185.4, 81.8], [185.4, 84.1], [188.0, 90.5], [188.0, 91.4], + [182.9, 89.1], [176.5, 85.0], [175.3, 69.1], [175.3, 73.6], [188.0, 80.5], + [188.0, 82.7], [175.3, 86.4], [170.5, 67.7], [179.1, 92.7], [177.8, 93.6], + [175.3, 70.9], [182.9, 75.0], [170.8, 93.2], [188.0, 93.2], [180.3, 77.7], + [177.8, 61.4], [185.4, 94.1], [168.9, 75.0], [185.4, 83.6], [180.3, 85.5], + [174.0, 73.9], [167.6, 66.8], [182.9, 87.3], [160.0, 72.3], [180.3, 88.6], + [167.6, 75.5], [186.7, 101.4], [175.3, 91.1], [175.3, 67.3], [175.9, 77.7], + [175.3, 81.8], [179.1, 75.5], [181.6, 84.5], [177.8, 76.6], [182.9, 85.0], + [177.8, 102.5], [184.2, 77.3], [179.1, 71.8], [176.5, 87.9], [188.0, 94.3], + [174.0, 70.9], [167.6, 64.5], [170.2, 77.3], [167.6, 72.3], [188.0, 87.3], + [174.0, 80.0], [176.5, 82.3], [180.3, 73.6], [167.6, 74.1], [188.0, 85.9], + [180.3, 73.2], [167.6, 76.3], [183.0, 65.9], [183.0, 90.9], [179.1, 89.1], + [170.2, 62.3], [177.8, 82.7], [179.1, 79.1], [190.5, 98.2], [177.8, 84.1], + [180.3, 83.2], [180.3, 83.2] + ], + markLine: { + data: [{ + type: 'average', + name: 'Average' + }] + } + } + ] + }; + + + // + // Bubble size control options + // + + function random(){ + var r = Math.round(Math.random() * 100); + return (r * (r % 2 == 0 ? 1: -1)); + } + + function randomDataArray() { + var d = []; + var len = 100; + while (len--) { + d.push([ + random(), + random(), + Math.abs(random()), + ]); + } + return d; + } + + bubble_size_options = { + + // Setup grid + grid: { + x: 40, + x2: 60, + y: 35, + y2: 25 + }, + + // Add tooltip + tooltip: { + trigger: 'axis', + showDelay: 0, + axisPointer: { + show: true, + type: 'cross', + lineStyle: { + type: 'dashed', + width: 1 + } + } + }, + + // Add legend + legend: { + data: ['Scatter1','Scatter2'] + }, + + // Add toolbox + toolbox: { + show: true, + x: 'right', + y: 'center', + orient: 'vertical', + feature: { + mark: { + show: true, + title: { + mark: 'Markline switch', + markUndo: 'Undo markline', + markClear: 'Clear markline' + } + }, + dataView: { + show: true, + readOnly: false, + title: 'View data', + lang: ['View chart data', 'Close', 'Update'] + }, + dataZoom: { + show: true, + title: { + dataZoom: 'Data zoom', + dataZoomReset: 'Reset zoom' + } + }, + restore: { + show: true, + title: 'Restore' + }, + saveAsImage: { + show: true, + title: 'Same as image', + lang: ['Save'] + } + } + }, + + // Horizontal axis + xAxis: [{ + type: 'value', + splitNumber: 4, + scale: true + }], + + // Vertical axis + yAxis: [{ + type: 'value', + splitNumber: 4, + scale: true + }], + + // Add series + series: [ + { + name: 'Scatter1', + type: 'scatter', + symbolSize: function (value) { + return Math.round(value[2] / 5); + }, + data: randomDataArray() + }, + { + name: 'Scatter2', + type: 'scatter', + symbolSize: function (value) { + return Math.round(value[2] / 5); + }, + data: randomDataArray() + } + ] + }; + + + // + // Large scale scatter options + // + + large_scale_options = { + + // Setup grid + grid: { + x: 25, + x2: 47, + y: 35, + y2: 25 + }, + + // Add tooltip + tooltip: { + trigger: 'axis', + showDelay: 0, + axisPointer: { + show: true, + type: 'cross', + lineStyle: { + type: 'dashed', + width: 1 + } + } + }, + + // Add legend + legend: { + data: ['sin', 'cos'] + }, + + // Display toolbox + toolbox: { + show: true, + x: 'right', + y: 'center', + orient: 'vertical', + feature: { + mark: { + show: true, + title: { + mark: 'Markline switch', + markUndo: 'Undo markline', + markClear: 'Clear markline' + } + }, + dataView: { + show: true, + readOnly: false, + title: 'View data', + lang: ['View chart data', 'Close', 'Update'] + }, + dataZoom: { + show: true, + title: { + dataZoom: 'Data zoom', + dataZoomReset: 'Reset zoom' + } + }, + restore: { + show: true, + title: 'Restore' + }, + saveAsImage: { + show: true, + title: 'Same as image', + lang: ['Save'] + } + } + }, + + // Horizontal axis + xAxis: [{ + type: 'value', + scale: true + }], + + // Vertical axis + yAxis: [{ + type: 'value', + scale: true + }], + + // Add series + series: [ + { + name: 'sin', + type: 'scatter', + large: true, + data: (function () { + var d = []; + var len = 10000; + var x = 0; + while (len--) { + x = (Math.random() * 10).toFixed(3) - 0; + d.push([ + x, + (Math.sin(x) - x * (len % 2 ? 0.1: -0.1) * Math.random()).toFixed(3) - 0 + ]); + } + return d; + })() + }, + + { + name: 'cos', + type: 'scatter', + large: true, + data: (function () { + var d = []; + var len = 10000; + var x = 0; + while (len--) { + x = (Math.random() * 10).toFixed(3) - 0; + d.push([ + x, + (Math.cos(x) - x * (len % 2 ? 0.1: -0.1) * Math.random()).toFixed(3) - 0 + ]); + } + return d; + })() + } + ] + }; + + + // + // Scale roaming options + // + + scale_roaming_options = { + + // Setup grid + grid: { + x: 47, + x2: 35, + y: 10, + y2: 75 + }, + + // Add tooltip + tooltip: { + trigger: 'item' + }, + + // Add toolbox + toolbox: { + show: true, + x: 'left', + y: 70, + orient: 'vertical', + feature: { + mark: { + show: true, + title: { + mark: 'Markline switch', + markUndo: 'Undo markline', + markClear: 'Clear markline' + } + }, + dataView: { + show: true, + readOnly: false, + title: 'View data', + lang: ['View chart data', 'Close', 'Update'] + }, + dataZoom: { + show: true, + title: { + dataZoom: 'Data zoom', + dataZoomReset: 'Reset zoom' + } + }, + restore: { + show: true, + title: 'Restore' + }, + saveAsImage: { + show: true, + title: 'Same as image', + lang: ['Save'] + } + } + }, + + // Display data range + dataRange: { + min: 0, + max: 100, + y: 'bottom', + x: 'center', + text: ['High','Low'], + color: ['#FB8C00','#FFE0B2'], + calculable: true, + itemWidth: 30, + orient: 'horizontal' + }, + + // Horizontal axis + xAxis: [{ + type: 'value', + scale: true + }], + + // Vertical axis + yAxis: [{ + type: 'value', + position: 'right', + scale: true + }], + + // Add series + series: [ + { + name: 'Scatter1', + type: 'scatter', + symbolSize: 5, + data: (function () { + var d = []; + var len = 500; + var value; + while (len--) { + value = (Math.random()*100).toFixed(2) - 0; + d.push([ + (Math.random()*value + value).toFixed(2) - 0, + (Math.random()*value).toFixed(2) - 0, + value + ]); + } + return d; + })() + } + ] + }; + + + // + // Category scatter options + // + + category_scatter_options = { + + // Setup grid + grid: { + x: 35, + x2: 30, + y: 70, + y2: 90 + }, + + // Add tooltip + tooltip: { + trigger: 'axis', + axisPointer: { + show: true, + type: 'cross', + lineStyle: { + type: 'dashed', + width: 1 + } + } + }, + + // Add data zoom + dataZoom: { + show: true, + start: 40, + end: 60, + height: 40 + }, + + // Add legend + legend: { + data: ['Series1', 'Series2'] + }, + + // Display data range + dataRange: { + min: 0, + max: 100, + orient: 'horizontal', + y: 35, + x: 'center', + splitNumber: 5 + }, + + // Horizontal axis + xAxis: [{ + type: 'category', + data: function () { + var list = []; + var len = 0; + while (len++ < 500) { + list.push(len); + } + return list; + }() + }], + + // Vertical axis + yAxis: [{ + type: 'value' + }], + + // Add series + series: [ + { + name: 'Series1', + type: 'scatter', + tooltip: { + trigger: 'item', + formatter: function (params) { + return params.seriesName + ' (' + 'Category' + params.value[0] + ')' + + params.value[1] + ', ' + + params.value[2]; + }, + axisPointer: { + show: true + } + }, + symbolSize: function (value) { + return Math.round(value[2]/10); + }, + data: (function () { + var d = []; + var len = 0; + var value; + while (len++ < 500) { + d.push([ + len, + (Math.random()*30).toFixed(2) - 0, + (Math.random()*100).toFixed(2) - 0 + ]); + } + return d; + })() + }, + + { + name: 'Series2', + type: 'scatter', + tooltip: { + trigger: 'item', + formatter: function (params) { + return params.seriesName + ' (' + 'Category' + params.value[0] + ')' + + params.value[1] + ', ' + + params.value[2]; + }, + axisPointer:{ + show: true + } + }, + symbolSize: function (value) { + return Math.round(value[2]/10); + }, + data: (function () { + var d = []; + var len = 0; + var value; + while (len++ < 500) { + d.push([ + len, + (Math.random()*30).toFixed(2) - 0, + (Math.random()*100).toFixed(2) - 0 + ]); + } + return d; + })() + } + ] + }; + + + // + // Time data options + // + + time_data_options = { + + // Setup grid + grid: { + x: 45, + x2: 45, + y: 70, + y2: 100 + }, + + // Add tooltip + tooltip: { + trigger: 'axis', + axisPointer: { + show: true, + type: 'cross', + lineStyle: { + type: 'dashed', + width: 1 + } + } + }, + + // Add data zoom + dataZoom: { + show: true, + start: 40, + end: 60, + height: 40 + }, + + // Add legend + legend: { + data: ['Series1'] + }, + + // Display data range + dataRange: { + min: 0, + max: 100, + orient: 'horizontal', + y: 35, + x: 'center', + color: ['#8BC34A','#F1F8E9'], + splitNumber: 5 + }, + + // Horizontal axis + xAxis: [{ + type: 'time', + splitNumber: 10 + }], + + // Vertical axis + yAxis: [{ + type: 'value' + }], + + // Add series + series: [ + { + name: 'Series1', + type: 'scatter', + tooltip: { + trigger: 'axis', + formatter: function (params) { + var date = new Date(params.value[0]); + return params.seriesName + + ' (' + + date.getFullYear() + '-' + + (date.getMonth() + 1) + '-' + + date.getDate() + ' ' + + date.getHours() + ':' + + date.getMinutes() + + ')' + + params.value[1] + ', ' + + params.value[2]; + }, + axisPointer: { + type: 'cross', + lineStyle: { + type: 'dashed', + width: 1 + } + } + }, + symbolSize: function (value) { + return Math.round(value[2]/10); + }, + data: (function () { + var d = []; + var len = 0; + var now = new Date(); + var value; + while (len++ < 1500) { + d.push([ + new Date(2014, 9, 1, 0, Math.round(Math.random()*10000)), + (Math.random()*30).toFixed(2) - 0, + (Math.random()*100).toFixed(2) - 0 + ]); + } + return d; + })() + } + ] + }; + + + // + // Timeline options + // + + timeline_scatter_options = { + + // Setup timeline + timeline: { + data: ['2010-01-01','2011-01-01','2012-01-01','2013-01-01','2014-01-01'], + x: 10, + x2: 10, + label: { + formatter: function(s) { + return s.slice(0, 4); + } + }, + autoPlay: true, + playInterval: 3000 + }, + + // Add options + options: [ + { + + // Setup grid + grid: { + x: 55, + x2: 75, + y: 25, + y2: 80 + }, + + // Add tooltip + tooltip: { + trigger: 'axis', + showDelay: 0, + axisPointer: { + show: true, + type: 'cross', + lineStyle: { + type: 'dashed', + width: 1 + } + } + }, + + // Horizontal axis + xAxis: [{ + type: 'value', + name: 'Real estate', + max: 3400 + }], + + // Vertical axis + yAxis: [{ + type: 'value', + name: 'GDP', + max: 53500 + }], + + // Add series + series: [{ + name: 'GDP', + type: 'scatter', + markLine: { + data: [ + { + type: 'average', + name: 'y average', + itemStyle: { + normal: { + color: '#FF5722' + } + } + }, + { + type: 'average', + name: 'x average', + valueIndex: 0, + itemStyle: { + normal: { + color: '#FF5722' + } + } + } + ] + }, + symbolSize: 5, + itemStyle: { + normal: { + color: ['#607D8B'], + label: { + show: true, + formatter: '{b}' + } + } + }, + data: dataMap.dataGDP_Estate['2010'] + }] + }, + + { + series: [ + {data: dataMap.dataGDP_Estate['2011']} + ] + }, + { + series: [ + {data: dataMap.dataGDP_Estate['2012']} + ] + }, + { + series: [ + {data: dataMap.dataGDP_Estate['2013']} + ] + }, + { + series: [ + {data: dataMap.dataGDP_Estate['2014']} + ] + } + ] + }; + + + + // Apply options + // ------------------------------ + + basic_scatter.setOption(basic_scatter_options); + bubble_size.setOption(bubble_size_options); + large_scale.setOption(large_scale_options); + scale_roaming.setOption(scale_roaming_options); + category_scatter.setOption(category_scatter_options); + time_data.setOption(time_data_options); + timeline_scatter.setOption(timeline_scatter_options); + + + + // Resize charts + // ------------------------------ + + window.onresize = function () { + setTimeout(function (){ + basic_scatter.resize(); + bubble_size.resize(); + large_scale.resize(); + scale_roaming.resize(); + category_scatter.resize(); + time_data.resize(); + timeline_scatter.resize(); + }, 200); + } + } + ); +}); diff --git a/Show-Crypto-Currency-Price-in-Graph/amol/public/assets/js/charts/echarts/timeline_option.js b/Show-Crypto-Currency-Price-in-Graph/amol/public/assets/js/charts/echarts/timeline_option.js new file mode 100644 index 0000000..4763e2a --- /dev/null +++ b/Show-Crypto-Currency-Price-in-Graph/amol/public/assets/js/charts/echarts/timeline_option.js @@ -0,0 +1,96 @@ +/* ------------------------------------------------------------------------------ + * + * # Echarts - timeline + * + * Timeline chart addition + * + * Version: 1.0 + * Latest update: August 1, 2015 + * + * ---------------------------------------------------------------------------- */ + +var dataMap = {}; +function dataFormatter(obj) { + var pList = ['Paris','Budapest','Prague','Madrid','Amsterdam','Berlin','Bratislava','Munich','Hague','Rome','Milan']; + var temp; + var max = 0; + for (var year = 2010; year <= 2014; year++) { + temp = obj[year]; + for (var i = 0, l = temp.length; i < l; i++) { + max = Math.max(max, temp[i]); + obj[year][i] = { + name : pList[i], + value : temp[i] + } + } + obj[year+'max'] = Math.floor(max/100) * 100; + } + return obj; +} + +function dataMix(list) { + var mixData = {}; + for (var i = 0, l = list.length; i < l; i++) { + for (var key in list[i]) { + if (list[i][key] instanceof Array) { + mixData[key] = mixData[key] || []; + for (var j = 0, k = list[i][key].length; j < k; j++) { + mixData[key][j] = mixData[key][j] + || {name : list[i][key][j].name, value : []}; + mixData[key][j].value.push(list[i][key][j].value); + } + } + } + } + return mixData; +} + +dataMap.dataGDP = dataFormatter({ + 2014:[16251.93,11307.28,24515.76,11237.55,14359.88,22226.7,10568.83,12582,19195.69,49110.27,32318.85], + 2013:[14113.58,9224.46,20394.26,9200.86,11672,18457.27,8667.58,10368.6,17165.98,41425.48,27722.31], + 2012:[12153.03,7521.85,17235.48,7358.31,9740.25,15212.49,7278.75,8587,15046.45,34457.3,22990.35], + 2011:[11115,6719.01,16011.97,7315.4,8496.2,13668.58,6426.1,8314.37,14069.87,30981.98], + 2010:[9846.81,5252.76,13607.32,6024.45,6423.18,11164.3,5284.69,7104,12494.01,26018.48,18753.73], +}); + +dataMap.dataPI = dataFormatter({ + 2014:[136.27,159.72,2905.73,641.42,1306.3,1915.57,1277.44,1701.5,124.94,3064.78,1583.04], + 2013:[124.36,145.58,2562.81,554.48,1095.28,1631.08,1050.15,1302.9,114.15,2540.1,1360.56], + 2012:[118.29,128.85,2207.34,477.59,929.6,1414.9,980.57,1154.33,113.82,2261.86,1163.08], + 2011:[112.83,122.58,2034.59,313.58,907.95,1302.02,916.72,1088.94,111.8,2100.11,1095.96], + 2010:[101.26,110.19,1804.72,311.97,762.1,1133.42,783.8,915.38,101.84,1816.31,986.02], +}); + +dataMap.dataSI = dataFormatter({ + 2014:[3752.48,5928.32,13126.86,6635.26,8037.69,12152.15,5611.48,5962.41,7927.89,25203.28,16555.58], + 2013:[3388.38,4840.23,10707.68,5234,6367.69,9976.82,4506.31,5025.15,7218.32,21753.93,14297.93], + 2012:[2855.55,3987.84,8959.83,3993.8,5114,7906.34,3541.92,4060.72,6001.78,18566.37,11908.49], + 2011:[2626.41,3709.78,8701.34,4242.36,4376.19,7158.84,3097.12,4319.75,6085.84,16993.34,11567.42], + 2010:[2509.4,2892.53,7201.88,3454.49,3193.67,5544.14,2475.45,3695.58,5571.06,14471.26,10154.25], +}); + +dataMap.dataTI = dataFormatter({ + 2014:[12363.18,5219.24,8483.17,3960.87,5015.89,8158.98,3679.91,4918.09,11142.86,20842.21,14180.23], + 2013:[10600.84,4238.65,7123.77,3412.38,4209.03,6849.37,3111.12,4040.55,9833.51,17131.45,12063.82], + 2012:[9179.19,3405.16,6068.31,2886.92,3696.65,5891.25,2756.26,3371.95,8930.85,13629.07,9918.78], + 2011:[8375.76,2886.65,5276.04,2759.46,3212.06,5207.72,2412.26,2905.68,7872.23,11888.53,8799.31], + 2010:[7236.15,2250.04,4600.72,2257.99,2467.41,4486.74,2025.44,2493.04,6821.11,9730.91,7613.46], +}); + +dataMap.dataEstate = dataFormatter({ + 2014:[1074.93,411.46,918.02,224.91,384.76,876.12,238.61,492.1,1019.68,2747.89,1677.13], + 2013:[1006.52,377.59,697.79,192,309.25,733.37,212.32,391.89,1002.5,2600.95,1618.17], + 2012:[1062.47,308.73,612.4,173.31,286.65,605.27,200.14,301.18,1237.56,2025.39,1316.84], + 2011:[844.59,227.88,513.81,166.04,273.3,500.81,182.7,244.47,939.34,1626.13,1052.03], + 2010:[821.5,183.44,467.97,134.12,191.01,410.43,153.03,225.81,958.06,1365.71,981.42], +}); + +dataMap.dataFinancial = dataFormatter({ + 2014:[2215.41,756.5,746.01,519.32,447.46,755.57,207.65,370.78,2277.4,2600.11,2730.29], + 2013:[1863.61,572.99,615.42,448.3,346.44,639.27,190.12,304.59,1950.96,2105.92,2326.58], + 2012:[1603.63,461.2,525.67,361.64,291.1,560.2,180.83,227.54,1804.28,1596.98,1899.33], + 2011:[1519.19,368.1,420.74,290.91,219.09,455.07,147.24,177.43,1414.21,1298.48,1653.45], + 2010:[1302.77,288.17,347.65,218.73,148.3,386.34,126.03,155.48,1209.08,1054.25,1251.43], +}); + +dataMap.dataGDP_Estate = dataMix([dataMap.dataEstate, dataMap.dataGDP]); diff --git a/Show-Crypto-Currency-Price-in-Graph/amol/public/assets/js/charts/google/bars/bar.js b/Show-Crypto-Currency-Price-in-Graph/amol/public/assets/js/charts/google/bars/bar.js new file mode 100644 index 0000000..ce9be8c --- /dev/null +++ b/Show-Crypto-Currency-Price-in-Graph/amol/public/assets/js/charts/google/bars/bar.js @@ -0,0 +1,86 @@ +/* ------------------------------------------------------------------------------ + * + * # Google Visualization - bars + * + * Google Visualization bar chart demonstration + * + * Version: 1.0 + * Latest update: August 1, 2015 + * + * ---------------------------------------------------------------------------- */ + + +// Bar chart +// ------------------------------ + +// Initialize chart +google.load("visualization", "1", {packages:["corechart"]}); +google.setOnLoadCallback(drawBar); + + +// Chart settings +function drawBar() { + + // Data + var data = google.visualization.arrayToDataTable([ + ['Year', 'Sales', 'Expenses'], + ['2004', 1000, 400], + ['2005', 1170, 460], + ['2006', 660, 1120], + ['2007', 1030, 540] + ]); + + + // Options + var options_bar = { + fontName: 'Roboto', + height: 400, + fontSize: 12, + chartArea: { + left: '5%', + width: '90%', + height: 350 + }, + tooltip: { + textStyle: { + fontName: 'Roboto', + fontSize: 13 + } + }, + vAxis: { + gridlines:{ + color: '#e5e5e5', + count: 10 + }, + minValue: 0 + }, + legend: { + position: 'top', + alignment: 'center', + textStyle: { + fontSize: 12 + } + } + }; + + // Draw chart + var bar = new google.visualization.BarChart($('#google-bar')[0]); + bar.draw(data, options_bar); + +} + + +// Resize chart +// ------------------------------ + +$(function () { + + // Resize chart on sidebar width change and window resize + $(window).on('resize', resize); + $(".sidebar-control").on('click', resize); + + // Resize function + function resize() { + drawBar(); + } +}); diff --git a/Show-Crypto-Currency-Price-in-Graph/amol/public/assets/js/charts/google/bars/bar_stacked.js b/Show-Crypto-Currency-Price-in-Graph/amol/public/assets/js/charts/google/bars/bar_stacked.js new file mode 100644 index 0000000..a327a3e --- /dev/null +++ b/Show-Crypto-Currency-Price-in-Graph/amol/public/assets/js/charts/google/bars/bar_stacked.js @@ -0,0 +1,89 @@ +/* ------------------------------------------------------------------------------ + * + * # Google Visualization - stacked bars + * + * Google Visualization stacked bar chart demonstration + * + * Version: 1.0 + * Latest update: August 1, 2015 + * + * ---------------------------------------------------------------------------- */ + + +// Stacked bars +// ------------------------------ + +// Initialize chart +google.load("visualization", "1", {packages:["corechart"]}); +google.setOnLoadCallback(drawBarStacked); + + +// Chart settings +function drawBarStacked() { + + // Data + var data = google.visualization.arrayToDataTable([ + ['Genre', 'Fantasy & Sci Fi', 'Romance', 'Mystery/Crime', 'General', 'Western', 'Literature', { role: 'annotation' } ], + ['2000', 20, 30, 35, 40, 45, 30, ''], + ['2005', 14, 20, 25, 30, 48, 30, ''], + ['2010', 10, 24, 20, 32, 18, 5, ''], + ['2015', 15, 25, 30, 35, 20, 15, ''], + ['2020', 16, 22, 23, 30, 16, 9, ''], + ['2025', 12, 26, 20, 40, 20, 30, ''], + ['2030', 28, 19, 29, 30, 12, 13, ''] + ]); + + + // Options + var options_bar_stacked = { + fontName: 'Roboto', + height: 400, + fontSize: 12, + chartArea: { + left: '5%', + width: '90%', + height: 350 + }, + isStacked: true, + tooltip: { + textStyle: { + fontName: 'Roboto', + fontSize: 13 + } + }, + hAxis: { + gridlines:{ + color: '#e5e5e5', + count: 10 + }, + minValue: 0 + }, + legend: { + position: 'top', + alignment: 'center', + textStyle: { + fontSize: 12 + } + } + }; + + // Draw chart + var bar_stacked = new google.visualization.BarChart($('#google-bar-stacked')[0]); + bar_stacked.draw(data, options_bar_stacked); +} + + +// Resize chart +// ------------------------------ + +$(function () { + + // Resize chart on sidebar width change and window resize + $(window).on('resize', resize); + $(".sidebar-control").on('click', resize); + + // Resize function + function resize() { + drawBarStacked(); + } +}); diff --git a/Show-Crypto-Currency-Price-in-Graph/amol/public/assets/js/charts/google/bars/column.js b/Show-Crypto-Currency-Price-in-Graph/amol/public/assets/js/charts/google/bars/column.js new file mode 100644 index 0000000..38de773 --- /dev/null +++ b/Show-Crypto-Currency-Price-in-Graph/amol/public/assets/js/charts/google/bars/column.js @@ -0,0 +1,90 @@ +/* ------------------------------------------------------------------------------ + * + * # Google Visualization - columns + * + * Google Visualization column chart demonstration + * + * Version: 1.0 + * Latest update: August 1, 2015 + * + * ---------------------------------------------------------------------------- */ + + +// Column chart +// ------------------------------ + +// Initialize chart +google.load("visualization", "1", {packages:["corechart"]}); +google.setOnLoadCallback(drawColumn); + + +// Chart settings +function drawColumn() { + + // Data + var data = google.visualization.arrayToDataTable([ + ['Year', 'Sales', 'Expenses'], + ['2004', 1000, 400], + ['2005', 1170, 460], + ['2006', 660, 1120], + ['2007', 1030, 540] + ]); + + + // Options + var options_column = { + fontName: 'Roboto', + height: 400, + fontSize: 12, + chartArea: { + left: '5%', + width: '90%', + height: 350 + }, + tooltip: { + textStyle: { + fontName: 'Roboto', + fontSize: 13 + } + }, + vAxis: { + title: 'Sales and Expenses', + titleTextStyle: { + fontSize: 13, + italic: false + }, + gridlines:{ + color: '#e5e5e5', + count: 10 + }, + minValue: 0 + }, + legend: { + position: 'top', + alignment: 'center', + textStyle: { + fontSize: 12 + } + } + }; + + // Draw chart + var column = new google.visualization.ColumnChart($('#google-column')[0]); + column.draw(data, options_column); +} + + +// Resize chart +// ------------------------------ + +$(function () { + + // Resize chart on sidebar width change and window resize + $(window).on('resize', resize); + $(".sidebar-control").on('click', resize); + + // Resize function + function resize() { + drawColumn(); + } +}); diff --git a/Show-Crypto-Currency-Price-in-Graph/amol/public/assets/js/charts/google/bars/column_stacked.js b/Show-Crypto-Currency-Price-in-Graph/amol/public/assets/js/charts/google/bars/column_stacked.js new file mode 100644 index 0000000..a6e0581 --- /dev/null +++ b/Show-Crypto-Currency-Price-in-Graph/amol/public/assets/js/charts/google/bars/column_stacked.js @@ -0,0 +1,94 @@ +/* ------------------------------------------------------------------------------ + * + * # Google Visualization - stacked columns + * + * Google Visualization stacked column chart demonstration + * + * Version: 1.0 + * Latest update: August 1, 2015 + * + * ---------------------------------------------------------------------------- */ + + +// Stacked columns +// ------------------------------ + +// Initialize chart +google.load("visualization", "1", {packages:["corechart"]}); +google.setOnLoadCallback(drawColumnStacked); + + +// Chart settings +function drawColumnStacked() { + + // Data + var data = google.visualization.arrayToDataTable([ + ['Genre', 'Fantasy & Sci Fi', 'Romance', 'Mystery/Crime', 'General', 'Western', 'Literature', { role: 'annotation' } ], + ['2000', 20, 30, 35, 40, 45, 30, ''], + ['2005', 14, 20, 25, 30, 48, 30, ''], + ['2010', 10, 24, 20, 32, 18, 5, ''], + ['2015', 15, 25, 30, 35, 20, 15, ''], + ['2020', 16, 22, 23, 30, 16, 9, ''], + ['2025', 12, 26, 20, 40, 20, 30, ''], + ['2030', 28, 19, 29, 30, 12, 13, ''] + ]); + + + // Options + var options_column_stacked = { + fontName: 'Roboto', + height: 400, + fontSize: 12, + chartArea: { + left: '5%', + width: '90%', + height: 350 + }, + isStacked: true, + tooltip: { + textStyle: { + fontName: 'Roboto', + fontSize: 13 + } + }, + vAxis: { + title: 'Sales and Expenses', + titleTextStyle: { + fontSize: 13, + italic: false + }, + gridlines:{ + color: '#e5e5e5', + count: 10 + }, + minValue: 0 + }, + legend: { + position: 'top', + alignment: 'center', + textStyle: { + fontSize: 12 + } + } + }; + + // Draw chart + var column_stacked = new google.visualization.ColumnChart($('#google-column-stacked')[0]); + column_stacked.draw(data, options_column_stacked); +} + + +// Resize chart +// ------------------------------ + +$(function () { + + // Resize chart on sidebar width change and window resize + $(window).on('resize', resize); + $(".sidebar-control").on('click', resize); + + // Resize function + function resize() { + drawColumnStacked(); + } +}); diff --git a/Show-Crypto-Currency-Price-in-Graph/amol/public/assets/js/charts/google/bars/combo.js b/Show-Crypto-Currency-Price-in-Graph/amol/public/assets/js/charts/google/bars/combo.js new file mode 100644 index 0000000..a7e0bca --- /dev/null +++ b/Show-Crypto-Currency-Price-in-Graph/amol/public/assets/js/charts/google/bars/combo.js @@ -0,0 +1,93 @@ +/* ------------------------------------------------------------------------------ + * + * # Google Visualization - chart combinations + * + * Google Visualization combo chart demonstration + * + * Version: 1.0 + * Latest update: August 1, 2015 + * + * ---------------------------------------------------------------------------- */ + + +// Combo chart +// ------------------------------ + +// Initialize chart +google.load("visualization", "1", {packages:["corechart"]}); +google.setOnLoadCallback(drawCombo); + + +// Chart settings +function drawCombo() { + + // Data + var data = google.visualization.arrayToDataTable([ + ['Month', 'Bolivia', 'Ecuador', 'Madagascar', 'Papua New Guinea', 'Rwanda', 'Average'], + ['2004/05', 165, 938, 522, 998, 450, 614.6], + ['2005/06', 135, 1120, 599, 1268, 288, 682], + ['2006/07', 157, 1167, 587, 807, 397, 623], + ['2007/08', 139, 1110, 615, 968, 215, 609.4], + ['2008/09', 136, 691, 629, 1026, 366, 569.6] + ]); + + + // Options + var options_combo = { + fontName: 'Roboto', + height: 400, + fontSize: 12, + chartArea: { + left: '5%', + width: '90%', + height: 350 + }, + seriesType: "bars", + series: { + 5: { + type: "line", + pointSize: 5 + } + }, + tooltip: { + textStyle: { + fontName: 'Roboto', + fontSize: 13 + } + }, + vAxis: { + gridlines:{ + color: '#e5e5e5', + count: 10 + }, + minValue: 0 + }, + legend: { + position: 'top', + alignment: 'center', + textStyle: { + fontSize: 12 + } + } + }; + + // Draw chart + var combo = new google.visualization.ComboChart($('#google-combo')[0]); + combo.draw(data, options_combo); +} + + +// Resize chart +// ------------------------------ + +$(function () { + + // Resize chart on sidebar width change and window resize + $(window).on('resize', resize); + $(".sidebar-control").on('click', resize); + + // Resize function + function resize() { + drawCombo(); + } +}); diff --git a/Show-Crypto-Currency-Price-in-Graph/amol/public/assets/js/charts/google/bars/histogram.js b/Show-Crypto-Currency-Price-in-Graph/amol/public/assets/js/charts/google/bars/histogram.js new file mode 100644 index 0000000..d11817d --- /dev/null +++ b/Show-Crypto-Currency-Price-in-Graph/amol/public/assets/js/charts/google/bars/histogram.js @@ -0,0 +1,121 @@ +/* ------------------------------------------------------------------------------ + * + * # Google Visualization - histogram + * + * Google Visualization histogram demonstration + * + * Version: 1.0 + * Latest update: August 1, 2015 + * + * ---------------------------------------------------------------------------- */ + + +// Histogram +// ------------------------------ + +// Initialize chart +google.load("visualization", "1", {packages:["corechart"]}); +google.setOnLoadCallback(drawHistogram); + + +// Chart settings +function drawHistogram() { + + // Data + var data = google.visualization.arrayToDataTable([ + ['Dinosaur', 'Length'], + ['Acrocanthosaurus (top-spined lizard)', 12.2], + ['Albertosaurus (Alberta lizard)', 9.1], + ['Allosaurus (other lizard)', 12.2], + ['Apatosaurus (deceptive lizard)', 22.9], + ['Archaeopteryx (ancient wing)', 0.9], + ['Argentinosaurus (Argentina lizard)', 36.6], + ['Baryonyx (heavy claws)', 9.1], + ['Brachiosaurus (arm lizard)', 30.5], + ['Ceratosaurus (horned lizard)', 6.1], + ['Coelophysis (hollow form)', 2.7], + ['Compsognathus (elegant jaw)', 0.9], + ['Deinonychus (terrible claw)', 2.7], + ['Diplodocus (double beam)', 27.1], + ['Dromicelomimus (emu mimic)', 3.4], + ['Gallimimus (fowl mimic)', 5.5], + ['Mamenchisaurus (Mamenchi lizard)', 21.0], + ['Megalosaurus (big lizard)', 7.9], + ['Microvenator (small hunter)', 1.2], + ['Ornithomimus (bird mimic)', 4.6], + ['Oviraptor (egg robber)', 1.5], + ['Plateosaurus (flat lizard)', 7.9], + ['Sauronithoides (narrow-clawed lizard)', 2.0], + ['Seismosaurus (tremor lizard)', 45.7], + ['Spinosaurus (spiny lizard)', 12.2], + ['Supersaurus (super lizard)', 30.5], + ['Tyrannosaurus (tyrant lizard)', 15.2], + ['Ultrasaurus (ultra lizard)', 30.5], + ['Velociraptor (swift robber)', 1.8]] + ); + + + // Options + var options_histogram = { + fontName: 'Roboto', + height: 400, + fontSize: 12, + chartArea: { + left: '5%', + width: '90%', + height: 350 + }, + isStacked: true, + tooltip: { + textStyle: { + fontName: 'Roboto', + fontSize: 13 + } + }, + vAxis: { + title: 'Dinosaur length', + titleTextStyle: { + fontSize: 13, + italic: false + }, + gridlines:{ + color: '#e5e5e5', + count: 10 + }, + minValue: 0 + }, + hAxis: { + gridlines:{ + color: '#e5e5e5' + }, + minValue: 0 + }, + legend: { + position: 'top', + alignment: 'center', + textStyle: { + fontSize: 12 + } + } + }; + + // Draw chart + var histogram = new google.visualization.Histogram($('#google-histogram')[0]); + histogram.draw(data, options_histogram); +} + + +// Resize chart +// ------------------------------ + +$(function () { + + // Resize chart on sidebar width change and window resize + $(window).on('resize', resize); + $(".sidebar-control").on('click', resize); + + // Resize function + function resize() { + drawHistogram(); + } +}); diff --git a/Show-Crypto-Currency-Price-in-Graph/amol/public/assets/js/charts/google/bubbles/bubble.js b/Show-Crypto-Currency-Price-in-Graph/amol/public/assets/js/charts/google/bubbles/bubble.js new file mode 100644 index 0000000..83e8498 --- /dev/null +++ b/Show-Crypto-Currency-Price-in-Graph/amol/public/assets/js/charts/google/bubbles/bubble.js @@ -0,0 +1,104 @@ +/* ------------------------------------------------------------------------------ + * + * # Google Visualization - bubbles + * + * Google Visualization bubble chart demonstration + * + * Version: 1.0 + * Latest update: August 1, 2015 + * + * ---------------------------------------------------------------------------- */ + + +// Bubble chart +// ------------------------------ + +// Initialize chart +google.load("visualization", "1", {packages:["corechart"]}); +google.setOnLoadCallback(drawBubbleChart); + + +// Chart settings +function drawBubbleChart() { + + // Data + var data = google.visualization.arrayToDataTable([ + ['ID', 'Life Expectancy', 'Fertility Rate', 'Region'], + ['CAN', 82.66, 1.67, 'North America'], + ['DEU', 79.84, 1.36, 'Europe'], + ['DNK', 70.6, 1.84, 'Europe'], + ['EGY', 72.73, 2.78, 'Middle East'], + ['GBR', 75.05, 2, 'Europe'], + ['IRN', 72.49, 0.7, 'Middle East'], + ['IRQ', 68.09, 4.77, 'Middle East'], + ['ISR', 81.55, 3.96, 'Middle East'], + ['RUS', 68.6, 1.54, 'Europe'], + ['USA', 78.09, 3.05, 'North America'] + ]); + + + // Options + var options = { + fontName: 'Roboto', + height: 450, + fontSize: 12, + chartArea: { + left: '5%', + width: '90%', + height: 400 + }, + tooltip: { + textStyle: { + fontName: 'Roboto', + fontSize: 13 + } + }, + vAxis: { + title: 'Fertility Rate', + titleTextStyle: { + fontSize: 13, + italic: false + }, + gridlines:{ + color: '#e5e5e5', + count: 10 + }, + minValue: 0 + }, + bubble: { + textStyle: { + auraColor: 'none', + color: '#fff' + }, + stroke: '#fff' + }, + legend: { + position: 'top', + alignment: 'center', + textStyle: { + fontSize: 12 + } + } + }; + + + // Draw chart + var bubble = new google.visualization.BubbleChart($('#google-bubble')[0]); + bubble.draw(data, options); +} + + +// Resize chart +// ------------------------------ + +$(function () { + + // Resize chart on sidebar width change and window resize + $(window).on('resize', resize); + $(".sidebar-control").on('click', resize); + + // Resize function + function resize() { + drawBubbleChart(); + } +}); diff --git a/Show-Crypto-Currency-Price-in-Graph/amol/public/assets/js/charts/google/bubbles/bubble_gradient.js b/Show-Crypto-Currency-Price-in-Graph/amol/public/assets/js/charts/google/bubbles/bubble_gradient.js new file mode 100644 index 0000000..79dbf4d --- /dev/null +++ b/Show-Crypto-Currency-Price-in-Graph/amol/public/assets/js/charts/google/bubbles/bubble_gradient.js @@ -0,0 +1,88 @@ +/* ------------------------------------------------------------------------------ + * + * # Google Visualization - bubbles with color scale + * + * Google Visualization bubble chart with color scale demonstration + * + * Version: 1.0 + * Latest update: August 1, 2015 + * + * ---------------------------------------------------------------------------- */ + + +// Bubble chart with color scale +// ------------------------------ + +// Initialize chart +google.load("visualization", "1", {packages:["corechart"]}); +google.setOnLoadCallback(drawBubbleGradientChart); + + +// Chart settings +function drawBubbleGradientChart() { + + // Data + var data = google.visualization.arrayToDataTable([ + ['ID', 'X', 'Y', 'Temperature'], + ['', 80, 167, 120], + ['', 79, 136, 130], + ['', 78, 184, 50], + ['', 72, 278, 230], + ['', 81, 200, 210], + ['', 72, 170, 100], + ['', 68, 477, 80] + ]); + + + // Optinos + var options = { + fontName: 'Roboto', + height: 450, + fontSize: 12, + chartArea: { + left: '5%', + width: '90%', + height: 400 + }, + tooltip: { + textStyle: { + fontName: 'Roboto', + fontSize: 13 + } + }, + vAxis: { + gridlines:{ + color: '#e5e5e5', + count: 10 + }, + minValue: 0 + }, + bubble: { + textStyle: { + fontSize: 11 + }, + stroke: '#fff' + } + }; + + + // Draw chart + var gradient_bubble = new google.visualization.BubbleChart($('#google-bubble-gradient')[0]); + gradient_bubble.draw(data, options); +} + + +// Resize chart +// ------------------------------ + +$(function () { + + // Resize chart on sidebar width change and window resize + $(window).on('resize', resize); + $(".sidebar-control").on('click', resize); + + // Resize function + function resize() { + drawBubbleGradientChart(); + } +}); diff --git a/Show-Crypto-Currency-Price-in-Graph/amol/public/assets/js/charts/google/lines/area.js b/Show-Crypto-Currency-Price-in-Graph/amol/public/assets/js/charts/google/lines/area.js new file mode 100644 index 0000000..ce2e9ba --- /dev/null +++ b/Show-Crypto-Currency-Price-in-Graph/amol/public/assets/js/charts/google/lines/area.js @@ -0,0 +1,93 @@ +/* ------------------------------------------------------------------------------ + * + * # Google Visualization - area + * + * Google Visualization area chart demonstration + * + * Version: 1.0 + * Latest update: August 1, 2015 + * + * ---------------------------------------------------------------------------- */ + + +// Area chart +// ------------------------------ + +// Initialize chart +google.load("visualization", "1", {packages:["corechart"]}); +google.setOnLoadCallback(drawAreaChart); + + +// Chart settings +function drawAreaChart() { + + // Data + var data = google.visualization.arrayToDataTable([ + ['Year', 'Sales', 'Expenses'], + ['2004', 1000, 400], + ['2005', 1170, 460], + ['2006', 660, 1120], + ['2007', 1030, 540] + ]); + + + // Options + var options = { + fontName: 'Roboto', + height: 400, + curveType: 'function', + fontSize: 12, + areaOpacity: 0.4, + chartArea: { + left: '5%', + width: '90%', + height: 350 + }, + pointSize: 4, + tooltip: { + textStyle: { + fontName: 'Roboto', + fontSize: 13 + } + }, + vAxis: { + title: 'Sales and Expenses', + titleTextStyle: { + fontSize: 13, + italic: false + }, + gridarea:{ + color: '#e5e5e5', + count: 10 + }, + minValue: 0 + }, + legend: { + position: 'top', + alignment: 'end', + textStyle: { + fontSize: 12 + } + } + }; + + // Draw chart + var area_chart = new google.visualization.AreaChart($('#google-area')[0]); + area_chart.draw(data, options); +} + + +// Resize chart +// ------------------------------ + +$(function () { + + // Resize chart on sidebar width change and window resize + $(window).on('resize', resize); + $(".sidebar-control").on('click', resize); + + // Resize function + function resize() { + drawAreaChart(); + } +}); diff --git a/Show-Crypto-Currency-Price-in-Graph/amol/public/assets/js/charts/google/lines/area_intervals.js b/Show-Crypto-Currency-Price-in-Graph/amol/public/assets/js/charts/google/lines/area_intervals.js new file mode 100644 index 0000000..ff9b042 --- /dev/null +++ b/Show-Crypto-Currency-Price-in-Graph/amol/public/assets/js/charts/google/lines/area_intervals.js @@ -0,0 +1,101 @@ +/* ------------------------------------------------------------------------------ + * + * # Google Visualization - area intervals + * + * Google Visualization area chart with intervals demonstration + * + * Version: 1.0 + * Latest update: August 1, 2015 + * + * ---------------------------------------------------------------------------- */ + + +// Area intervals +// ------------------------------ + +// Initialize chart +google.load("visualization", "1", {packages:["corechart"]}); +google.setOnLoadCallback(drawAreaIntervals); + + +// Chart settings +function drawAreaIntervals() { + + // Data + var data = new google.visualization.DataTable(); + data.addColumn('string', 'x'); + data.addColumn('number', 'values'); + data.addColumn({id:'i0', type:'number', role:'interval'}); + data.addColumn({id:'i1', type:'number', role:'interval'}); + data.addColumn({id:'i2', type:'number', role:'interval'}); + data.addColumn({id:'i2', type:'number', role:'interval'}); + data.addColumn({id:'i2', type:'number', role:'interval'}); + data.addColumn({id:'i2', type:'number', role:'interval'}); + + data.addRows([ + ['a', 100, 90, 110, 85, 96, 104, 120], + ['b', 120, 95, 130, 90, 113, 124, 140], + ['c', 130, 105, 140, 100, 117, 133, 139], + ['d', 90, 85, 95, 85, 88, 92, 95], + ['e', 70, 74, 63, 67, 69, 70, 72], + ['f', 30, 39, 22, 21, 28, 34, 40], + ['g', 80, 77, 83, 70, 77, 85, 90], + ['h', 100, 90, 110, 85, 95, 102, 110]]); + + + // The intervals data as areas + var options_area_intervals = { + fontName: 'Roboto', + height: 400, + curveType: 'function', + fontSize: 12, + chartArea: { + left: '5%', + width: '90%', + height: 350 + }, + lineWidth: 2, + tooltip: { + textStyle: { + fontName: 'Roboto', + fontSize: 13 + } + }, + series: [{'color': '#43A047'}], + intervals: { 'style': 'area' }, // Use area intervals. + pointSize: 5, + vAxis: { + title: 'Number values', + titleTextStyle: { + fontSize: 13, + italic: false + }, + gridlines:{ + color: '#e5e5e5', + count: 10 + }, + minValue: 0 + }, + legend: 'none' + }; + + // Draw chart + var area_intervals = new google.visualization.LineChart($('#google-area-intervals')[0]); + area_intervals.draw(data, options_area_intervals); +} + + +// Resize chart +// ------------------------------ + +$(function () { + + // Resize chart on sidebar width change and window resize + $(window).on('resize', resize); + $(".sidebar-control").on('click', resize); + + // Resize function + function resize() { + drawAreaIntervals(); + } +}); diff --git a/Show-Crypto-Currency-Price-in-Graph/amol/public/assets/js/charts/google/lines/area_stacked.js b/Show-Crypto-Currency-Price-in-Graph/amol/public/assets/js/charts/google/lines/area_stacked.js new file mode 100644 index 0000000..140453c --- /dev/null +++ b/Show-Crypto-Currency-Price-in-Graph/amol/public/assets/js/charts/google/lines/area_stacked.js @@ -0,0 +1,94 @@ +/* ------------------------------------------------------------------------------ + * + * # Google Visualization - stacked area + * + * Google Visualization stacked area chart demonstration + * + * Version: 1.0 + * Latest update: August 1, 2015 + * + * ---------------------------------------------------------------------------- */ + + +// Stacked area +// ------------------------------ + +// Initialize chart +google.load("visualization", "1", {packages:["corechart"]}); +google.setOnLoadCallback(drawAreaStackedChart); + + +// Chart settings +function drawAreaStackedChart() { + + // Data + var data = google.visualization.arrayToDataTable([ + ['Year', 'Cars', 'Trucks', 'Drones', 'Segways'], + ['2013', 870, 460, 310, 220], + ['2014', 460, 720, 220, 460], + ['2015', 930, 640, 340, 330], + ['2016', 1000, 400, 180, 500] + ]); + + // Options + var options_area_stacked = { + fontName: 'Roboto', + height: 400, + curveType: 'function', + fontSize: 12, + areaOpacity: 0.4, + chartArea: { + left: '5%', + width: '90%', + height: 350 + }, + isStacked: true, + pointSize: 4, + tooltip: { + textStyle: { + fontName: 'Roboto', + fontSize: 13 + } + }, + lineWidth: 1.5, + vAxis: { + title: 'Number values', + titleTextStyle: { + fontSize: 13, + italic: false + }, + gridlines:{ + color: '#e5e5e5', + count: 10 + }, + minValue: 0 + }, + legend: { + position: 'top', + alignment: 'end', + textStyle: { + fontSize: 12 + } + } + }; + + // Draw chart + var area_stacked_chart = new google.visualization.AreaChart($('#google-area-stacked')[0]); + area_stacked_chart.draw(data, options_area_stacked); +} + + +// Resize chart +// ------------------------------ + +$(function () { + + // Resize chart on sidebar width change and window resize + $(window).on('resize', resize); + $(".sidebar-control").on('click', resize); + + // Resize function + function resize() { + drawAreaStackedChart(); + } +}); diff --git a/Show-Crypto-Currency-Price-in-Graph/amol/public/assets/js/charts/google/lines/area_stepped.js b/Show-Crypto-Currency-Price-in-Graph/amol/public/assets/js/charts/google/lines/area_stepped.js new file mode 100644 index 0000000..fa295ae --- /dev/null +++ b/Show-Crypto-Currency-Price-in-Graph/amol/public/assets/js/charts/google/lines/area_stepped.js @@ -0,0 +1,93 @@ +/* ------------------------------------------------------------------------------ + * + * # Google Visualization - stepped area + * + * Google Visualization stepped area chart demonstration + * + * Version: 1.0 + * Latest update: August 1, 2015 + * + * ---------------------------------------------------------------------------- */ + + +// Stepped area +// ------------------------------ + +// Initialize chart +google.load("visualization", "1", { packages:["corechart"] }); +google.setOnLoadCallback(drawSteppedAreaChart); + + +// Chart settings +function drawSteppedAreaChart() { + + // Data + var data = google.visualization.arrayToDataTable([ + ['Director (Year)', 'Rotten Tomatoes', 'IMDB'], + ['Alfred Hitchcock (1935)', 8.4, 7.9], + ['Ralph Thomas (1959)', 6.9, 6.5], + ['Don Sharp (1978)', 6.5, 6.4], + ['James Hawes (2008)', 4.4, 6.2] + ]); + + // Options + var options_stepped_area = { + fontName: 'Roboto', + height: 400, + isStacked: true, + fontSize: 12, + areaOpacity: 0.4, + chartArea: { + left: '5%', + width: '90%', + height: 350 + }, + lineWidth: 1, + tooltip: { + textStyle: { + fontName: 'Roboto', + fontSize: 13 + } + }, + pointSize: 5, + vAxis: { + title: 'Accumulated Rating', + titleTextStyle: { + fontSize: 13, + italic: false + }, + gridlines:{ + color: '#e5e5e5', + count: 10 + }, + minValue: 0 + }, + legend: { + position: 'top', + alignment: 'center', + textStyle: { + fontSize: 12 + } + } + }; + + // Draw chart + var stepped_area_chart = new google.visualization.SteppedAreaChart($('#google-area-stepped')[0]); + stepped_area_chart.draw(data, options_stepped_area); +} + + +// Resize chart +// ------------------------------ + +$(function () { + + // Resize chart on sidebar width change and window resize + $(window).on('resize', resize); + $(".sidebar-control").on('click', resize); + + // Resize function + function resize() { + drawSteppedAreaChart(); + } +}); diff --git a/Show-Crypto-Currency-Price-in-Graph/amol/public/assets/js/charts/google/lines/line_intervals.js b/Show-Crypto-Currency-Price-in-Graph/amol/public/assets/js/charts/google/lines/line_intervals.js new file mode 100644 index 0000000..b0c095a --- /dev/null +++ b/Show-Crypto-Currency-Price-in-Graph/amol/public/assets/js/charts/google/lines/line_intervals.js @@ -0,0 +1,102 @@ +/* ------------------------------------------------------------------------------ + * + * # Google Visualization - line intervals + * + * Google Visualization line chart with intervals demonstration + * + * Version: 1.0 + * Latest update: August 1, 2015 + * + * ---------------------------------------------------------------------------- */ + + +// Line intervals +// ------------------------------ + +// Initialize chart +google.load("visualization", "1", {packages:["corechart"]}); +google.setOnLoadCallback(drawLineIntervals); + + +// Chart settings +function drawLineIntervals() { + + // Data + var data = new google.visualization.DataTable(); + data.addColumn('string', 'x'); + data.addColumn('number', 'values'); + data.addColumn({id:'i0', type:'number', role:'interval'}); + data.addColumn({id:'i1', type:'number', role:'interval'}); + data.addColumn({id:'i2', type:'number', role:'interval'}); + data.addColumn({id:'i2', type:'number', role:'interval'}); + data.addColumn({id:'i2', type:'number', role:'interval'}); + data.addColumn({id:'i2', type:'number', role:'interval'}); + + data.addRows([ + ['a', 100, 90, 110, 85, 96, 104, 120], + ['b', 120, 95, 130, 90, 113, 124, 140], + ['c', 130, 105, 140, 100, 117, 133, 139], + ['d', 90, 85, 95, 85, 88, 92, 95], + ['e', 70, 74, 63, 67, 69, 70, 72], + ['f', 30, 39, 22, 21, 28, 34, 40], + ['g', 80, 77, 83, 70, 77, 85, 90], + ['h', 100, 90, 110, 85, 95, 102, 110] + ]); + + // The intervals data as narrow lines (useful for showing raw source data) + var options_line_intervals = { + fontName: 'Roboto', + height: 400, + curveType: 'function', + fontSize: 12, + chartArea: { + left: '5%', + width: '90%', + height: 350 + }, + lineWidth: 3, + tooltip: { + textStyle: { + fontName: 'Roboto', + fontSize: 13 + } + }, + series: [{'color': '#EF5350'}], + intervals: {'style': 'line'}, // Use line intervals. + pointSize: 5, + vAxis: { + title: 'Number values', + titleTextStyle: { + fontSize: 13, + italic: false + }, + gridlines:{ + color: '#e5e5e5', + count: 10 + }, + minValue: 0 + }, + legend: 'none' + }; + + + // Draw chart + var line_intervals = new google.visualization.LineChart($('#google-line-intervals')[0]); + line_intervals.draw(data, options_line_intervals); +} + + +// Resize chart +// ------------------------------ + +$(function () { + + // Resize chart on sidebar width change and window resize + $(window).on('resize', resize); + $(".sidebar-control").on('click', resize); + + // Resize function + function resize() { + drawLineIntervals(); + } +}); diff --git a/Show-Crypto-Currency-Price-in-Graph/amol/public/assets/js/charts/google/lines/lines.js b/Show-Crypto-Currency-Price-in-Graph/amol/public/assets/js/charts/google/lines/lines.js new file mode 100644 index 0000000..e877895 --- /dev/null +++ b/Show-Crypto-Currency-Price-in-Graph/amol/public/assets/js/charts/google/lines/lines.js @@ -0,0 +1,91 @@ +/* ------------------------------------------------------------------------------ + * + * # Google Visualization - lines + * + * Google Visualization line chart demonstration + * + * Version: 1.0 + * Latest update: August 1, 2015 + * + * ---------------------------------------------------------------------------- */ + + +// Line chart +// ------------------------------ + +// Initialize chart +google.load("visualization", "1", {packages:["corechart"]}); +google.setOnLoadCallback(drawLineChart); + + +// Chart settings +function drawLineChart() { + + // Data + var data = google.visualization.arrayToDataTable([ + ['Year', 'Sales', 'Expenses'], + ['2004', 1000, 400], + ['2005', 1170, 460], + ['2006', 660, 1120], + ['2007', 1030, 540] + ]); + + // Options + var options = { + fontName: 'Roboto', + height: 400, + curveType: 'function', + fontSize: 12, + chartArea: { + left: '5%', + width: '90%', + height: 350 + }, + pointSize: 4, + tooltip: { + textStyle: { + fontName: 'Roboto', + fontSize: 13 + } + }, + vAxis: { + title: 'Sales and Expenses', + titleTextStyle: { + fontSize: 13, + italic: false + }, + gridlines:{ + color: '#e5e5e5', + count: 10 + }, + minValue: 0 + }, + legend: { + position: 'top', + alignment: 'center', + textStyle: { + fontSize: 12 + } + } + }; + + // Draw chart + var line_chart = new google.visualization.LineChart($('#google-line')[0]); + line_chart.draw(data, options); +} + + +// Resize chart +// ------------------------------ + +$(function () { + + // Resize chart on sidebar width change and window resize + $(window).on('resize', resize); + $(".sidebar-control").on('click', resize); + + // Resize function + function resize() { + drawLineChart(); + } +}); diff --git a/Show-Crypto-Currency-Price-in-Graph/amol/public/assets/js/charts/google/other/candlestick.js b/Show-Crypto-Currency-Price-in-Graph/amol/public/assets/js/charts/google/other/candlestick.js new file mode 100644 index 0000000..ef9bafe --- /dev/null +++ b/Show-Crypto-Currency-Price-in-Graph/amol/public/assets/js/charts/google/other/candlestick.js @@ -0,0 +1,120 @@ +/* ------------------------------------------------------------------------------ + * + * # Google Visualization - candlestick + * + * Google Visualization candlestick chart demonstration + * + * Version: 1.0 + * Latest update: August 1, 2015 + * + * ---------------------------------------------------------------------------- */ + + +// Candlestick chart +// ------------------------------ + +// Initialize chart +google.load("visualization", "1", {packages:["sankey"]}); +google.setOnLoadCallback(drawCandlestick); + + +// Chart settings +function drawCandlestick() { + + // Data + var data = google.visualization.arrayToDataTable([ + ['1', 20, 28, 38, 45], + ['2', 31, 38, 55, 66], + ['3', 50, 55, 77, 80], + ['4', 77, 77, 66, 50], + ['5', 68, 66, 22, 15], + ['6', 12, 25, 40, 60], + ['7', 10, 69, 39, 90], + ['8', 18, 56, 62, 80], + ['9', 10, 12, 40, 59], + ['10', 30, 36, 48, 55], + ['11', 78, 66, 42, 35], + ['12', 32, 35, 46, 32], + ['13', 65, 23, 54, 23], + ['14', 60, 54, 43, 30], + ['15', 12, 23, 45, 50], + ['16', 4, 15, 60, 45], + ['17', 5, 23, 25, 40], + ['18', 90, 56, 45, 23], + ['19', 65, 55, 45, 25], + ['20', 43, 35, 23, 2], + ['21', 12, 36, 58, 69], + ['22', 18, 26, 46, 60], + ['23', 60, 56, 23, 10], + ['24', 45, 23, 11, 1], + ['25', 4, 19, 40, 65], + ['26', 50, 40, 22, 12], + ['27', 67, 55, 34, 20], + ['28', 4, 12, 45, 68], + ['29', 34, 35, 56, 60], + ['30', 53, 20, 12, 2], + ['31', 25, 35, 45, 55] + + // Treat first row as data as well. + ], true); + + + // Options + var options = { + fontName: 'Roboto', + height: 400, + fontSize: 12, + chartArea: { + left: '5%', + width: '92%', + height: 350 + }, + colors: ['#546E7A'], + candlestick: { + risingColor: { + fill: '#546E7A', + stroke: '#546E7A' + } + }, + tooltip: { + textStyle: { + fontName: 'Roboto', + fontSize: 13 + } + }, + vAxis: { + title: 'Income and Expenses', + titleTextStyle: { + fontSize: 13, + italic: false + }, + gridlines:{ + color: '#e5e5e5', + count: 10 + }, + minValue: 0 + }, + legend: 'none' + }; + + + // Draw chart + var candlestick = new google.visualization.CandlestickChart($('#google-candlestick')[0]); + candlestick.draw(data, options); +} + + +// Resize chart +// ------------------------------ + +$(function () { + + // Resize chart on sidebar width change and window resize + $(window).on('resize', resize); + $(".sidebar-control").on('click', resize); + + // Resize function + function resize() { + drawCandlestick(); + } +}); diff --git a/Show-Crypto-Currency-Price-in-Graph/amol/public/assets/js/charts/google/other/diff.js b/Show-Crypto-Currency-Price-in-Graph/amol/public/assets/js/charts/google/other/diff.js new file mode 100644 index 0000000..56c6935 --- /dev/null +++ b/Show-Crypto-Currency-Price-in-Graph/amol/public/assets/js/charts/google/other/diff.js @@ -0,0 +1,114 @@ +/* ------------------------------------------------------------------------------ + * + * # Google Visualization - diff chart + * + * Google Visualization diff chart demonstration + * + * Version: 1.0 + * Latest update: August 1, 2015 + * + * ---------------------------------------------------------------------------- */ + + +// Diff chart +// ------------------------------ + +// Initialize chart +google.load("visualization", "1", {packages:["corechart"]}); +google.setOnLoadCallback(drawDiff); + + +// Chart settings +function drawDiff() { + + // Old data + var oldData = google.visualization.arrayToDataTable([ + ['Name', 'Popularity'], + ['Cesar', 425], + ['Rachel', 420], + ['Patrick', 290], + ['Eric', 620], + ['Eugene', 520], + ['John', 460], + ['Greg', 420], + ['Matt', 410] + ]); + + // New data + var newData = google.visualization.arrayToDataTable([ + ['Name', 'Popularity'], + ['Cesar', 307], + ['Rachel', 360], + ['Patrick', 200], + ['Eric', 550], + ['Eugene', 460], + ['John', 320], + ['Greg', 390], + ['Matt', 360] + ]); + + + // Options + var options = { + fontName: 'Roboto', + height: 400, + fontSize: 12, + chartArea: { + left: '5%', + width: '90%', + height: 350 + }, + colors: ['#4CAF50'], + tooltip: { + textStyle: { + fontName: 'Roboto', + fontSize: 13 + } + }, + vAxis: { + title: 'Popularity', + titleTextStyle: { + fontSize: 13, + italic: false + }, + gridlines:{ + color: '#e5e5e5', + count: 10 + }, + minValue: 0 + }, + legend: { + position: 'top', + alignment: 'end', + textStyle: { + fontSize: 12 + } + } + }; + + + // Attach chart to the DOM element + var diff = new google.visualization.ColumnChart($('#google-diff')[0]); + + // Set data + var diffData = diff.computeDiff(oldData, newData); + + // Draw our chart, passing in some options + diff.draw(diffData, options); +}; + + +// Resize chart +// ------------------------------ + +$(function () { + + // Resize chart on sidebar width change and window resize + $(window).on('resize', resize); + $(".sidebar-control").on('click', resize); + + // Resize function + function resize() { + drawDiff(); + } +}); diff --git a/Show-Crypto-Currency-Price-in-Graph/amol/public/assets/js/charts/google/other/geo.js b/Show-Crypto-Currency-Price-in-Graph/amol/public/assets/js/charts/google/other/geo.js new file mode 100644 index 0000000..7d937d3 --- /dev/null +++ b/Show-Crypto-Currency-Price-in-Graph/amol/public/assets/js/charts/google/other/geo.js @@ -0,0 +1,54 @@ +/* ------------------------------------------------------------------------------ + * + * # Google Visualization - geo chart + * + * Google Visualization geo chart demonstration + * + * Version: 1.0 + * Latest update: August 1, 2015 + * + * ---------------------------------------------------------------------------- */ + + +// Geo chart +// ------------------------------ + +// Initialize chart +google.load("visualization", "1", {packages:["geochart"]}); +google.setOnLoadCallback(drawRegionsMap); + + +// Chart settings +function drawRegionsMap() { + + // Data + var data = google.visualization.arrayToDataTable([ + ['Country', 'Popularity'], + ['Germany', 200], + ['United States', 300], + ['Brazil', 400], + ['Canada', 500], + ['France', 600], + ['RU', 700] + ]); + + + // Options + var options = { + fontName: 'Roboto', + height: 500, + width: "100%", + fontSize: 12, + tooltip: { + textStyle: { + fontName: 'Roboto', + fontSize: 13 + } + } + }; + + + // Draw chart + var chart = new google.visualization.GeoChart($('#google-geo-region')[0]); + chart.draw(data, options); +} diff --git a/Show-Crypto-Currency-Price-in-Graph/amol/public/assets/js/charts/google/other/sankey.js b/Show-Crypto-Currency-Price-in-Graph/amol/public/assets/js/charts/google/other/sankey.js new file mode 100644 index 0000000..9e14a26 --- /dev/null +++ b/Show-Crypto-Currency-Price-in-Graph/amol/public/assets/js/charts/google/other/sankey.js @@ -0,0 +1,119 @@ +/* ------------------------------------------------------------------------------ + * + * # Google Visualization - sankey diagram + * + * Google Visualization sankey diagram demonstration + * + * Version: 1.0 + * Latest update: August 1, 2015 + * + * ---------------------------------------------------------------------------- */ + + +// Sankey diagram +// ------------------------------ + +// Initialize chart +google.load("visualization", "1", {packages:["sankey"]}); +google.setOnLoadCallback(drawSankey); + + +// Chart settings +function drawSankey() { + + // Data + var data = new google.visualization.DataTable(); + data.addColumn('string', 'From'); + data.addColumn('string', 'To'); + data.addColumn('number', 'Weight'); + data.addRows([ + [ 'Brazil', 'Portugal', 4 ], + [ 'Brazil', 'France', 1 ], + [ 'Brazil', 'Spain', 1 ], + [ 'Brazil', 'England', 1 ], + [ 'Canada', 'Portugal', 1 ], + [ 'Canada', 'France', 4 ], + [ 'Canada', 'England', 1 ], + [ 'Mexico', 'Portugal', 1 ], + [ 'Mexico', 'France', 1 ], + [ 'Mexico', 'Spain', 4 ], + [ 'Mexico', 'England', 1 ], + [ 'USA', 'Portugal', 1 ], + [ 'USA', 'France', 1 ], + [ 'USA', 'Spain', 1 ], + [ 'USA', 'England', 4 ], + [ 'Portugal', 'Angola', 2 ], + [ 'Portugal', 'Senegal', 1 ], + [ 'Portugal', 'Morocco', 1 ], + [ 'Portugal', 'South Africa', 3 ], + [ 'France', 'Angola', 1 ], + [ 'France', 'Mali', 3 ], + [ 'France', 'Morocco', 3 ], + [ 'France', 'South Africa', 1 ], + [ 'Spain', 'Senegal', 1 ], + [ 'Spain', 'Morocco', 3 ], + [ 'Spain', 'South Africa', 1 ], + [ 'England', 'Angola', 1 ], + [ 'England', 'Senegal', 1 ], + [ 'England', 'Morocco', 2 ], + [ 'England', 'South Africa', 4 ], + [ 'South Africa', 'India', 1 ], + [ 'South Africa', 'Japan', 3 ], + [ 'Angola', 'China', 2 ], + [ 'Angola', 'India', 1 ], + [ 'Angola', 'Japan', 3 ], + [ 'Senegal', 'China', 2 ], + [ 'Senegal', 'India', 1 ], + [ 'Senegal', 'Japan', 3 ], + [ 'Mali', 'China', 2 ], + [ 'Mali', 'India', 1 ], + [ 'Mali', 'Japan', 3 ], + [ 'Morocco', 'China', 2 ], + [ 'Morocco', 'India', 1 ], + [ 'Morocco', 'Japan', 3 ], + [ 'Morocco', 'Senegal', 1 ] + ]); + + + // Options + var options = { + height: 600, + sankey: { + link: { + color: { + fill: '#eee', + fillOpacity: 0.3 + } + }, + node: { + width: 8, + nodePadding: 80, + label: { + fontName: 'Roboto', + fontSize: 13 + } + } + }, + }; + + + // Draw chart + var chart = new google.visualization.Sankey($('#google-sankey')[0]); + chart.draw(data, options); +} + + +// Resize chart +// ------------------------------ + +$(function () { + + // Resize chart on sidebar width change and window resize + $(window).on('resize', resize); + $(".sidebar-control").on('click', resize); + + // Resize function + function resize() { + drawSankey(); + } +}); diff --git a/Show-Crypto-Currency-Price-in-Graph/amol/public/assets/js/charts/google/other/trendline.js b/Show-Crypto-Currency-Price-in-Graph/amol/public/assets/js/charts/google/other/trendline.js new file mode 100644 index 0000000..51033d0 --- /dev/null +++ b/Show-Crypto-Currency-Price-in-Graph/amol/public/assets/js/charts/google/other/trendline.js @@ -0,0 +1,106 @@ +/* ------------------------------------------------------------------------------ + * + * # Google Visualization - trendlines + * + * Google Visualization trendline chart demonstration + * + * Version: 1.0 + * Latest update: August 1, 2015 + * + * ---------------------------------------------------------------------------- */ + + +// Trendline chart +// ------------------------------ + +// Initialize chart +google.load("visualization", "1", {packages:["corechart"]}); +google.setOnLoadCallback(drawTrendline); + + +// Chart settings +function drawTrendline() { + + // Data + var data = google.visualization.arrayToDataTable([ + ['Week', 'Bugs', 'Tests'], + [1, 175, 10], + [2, 159, 20], + [3, 126, 35], + [4, 129, 40], + [5, 108, 60], + [6, 92, 70], + [7, 55, 72], + [8, 50, 97] + ]); + + + // Options + var options = { + fontName: 'Roboto', + height: 400, + curveType: 'function', + fontSize: 12, + chartArea: { + left: '5%', + width: '92%', + height: 350 + }, + hAxis: { + format: '#', + viewWindow: {min: 0, max: 9}, + gridlines: {count: 10} + }, + vAxis: { + title: 'Bugs and tests', + titleTextStyle: { + fontSize: 13, + italic: false + }, + gridlines:{ + color: '#e5e5e5', + count: 10 + }, + minValue: 0 + }, + colors: ['#6D4C41', '#FB8C00'], + trendlines: { + 0: { + labelInLegend: 'Bug line', + visibleInLegend: true, + }, + 1: { + labelInLegend: 'Test line', + visibleInLegend: true, + } + }, + legend: { + position: 'top', + alignment: 'end', + textStyle: { + fontSize: 12 + } + } + }; + + + // Draw chart + var trendline = new google.visualization.ColumnChart($('#google-trendline')[0]); + trendline.draw(data, options); +} + + +// Resize chart +// ------------------------------ + +$(function () { + + // Resize chart on sidebar width change and window resize + $(window).on('resize', resize); + $(".sidebar-control").on('click', resize); + + // Resize function + function resize() { + drawTrendline(); + } +}); diff --git a/Show-Crypto-Currency-Price-in-Graph/amol/public/assets/js/charts/google/pies/3d_exploded.js b/Show-Crypto-Currency-Price-in-Graph/amol/public/assets/js/charts/google/pies/3d_exploded.js new file mode 100644 index 0000000..a55303f --- /dev/null +++ b/Show-Crypto-Currency-Price-in-Graph/amol/public/assets/js/charts/google/pies/3d_exploded.js @@ -0,0 +1,67 @@ +/* ------------------------------------------------------------------------------ + * + * # Google Visualization - sliced 3D donut + * + * Google Visualization sliced 3D donut chart demonstration + * + * Version: 1.0 + * Latest update: August 1, 2015 + * + * ---------------------------------------------------------------------------- */ + + +// Sliced 3D donut chart +// ------------------------------ + +// Initialize chart +google.load("visualization", "1", {packages:["corechart"]}); +google.setOnLoadCallback(drawExploded3d); + + +// Chart settings +function drawExploded3d() { + + // Data + var data = google.visualization.arrayToDataTable([ + ['Language', 'Speakers (in millions)'], + ['Assamese', 13], + ['Bengali', 83], + ['Gujarati', 46], + ['Hindi', 90], + ['Kannada', 38], + ['Maithili', 20], + ['Malayalam', 33], + ['Marathi', 72], + ['Oriya', 33], + ['Punjabi', 29], + ['Tamil', 61], + ['Telugu', 74], + ['Urdu', 52] + ]); + + + // Options + var options = { + fontName: 'Roboto', + height: 300, + width: 540, + chartArea: { + left: 50, + width: '95%', + height: '95%' + }, + is3D: true, + pieSliceText: 'label', + slices: { + 2: {offset: 0.15}, + 8: {offset: 0.1}, + 10: {offset: 0.15}, + 11: {offset: 0.1} + } + }; + + + // Instantiate and draw our chart, passing in some options. + var pie_3d_exploded = new google.visualization.PieChart($('#google-3d-exploded')[0]); + pie_3d_exploded.draw(data, options); +} \ No newline at end of file diff --git a/Show-Crypto-Currency-Price-in-Graph/amol/public/assets/js/charts/google/pies/donut.js b/Show-Crypto-Currency-Price-in-Graph/amol/public/assets/js/charts/google/pies/donut.js new file mode 100644 index 0000000..bbab7cf --- /dev/null +++ b/Show-Crypto-Currency-Price-in-Graph/amol/public/assets/js/charts/google/pies/donut.js @@ -0,0 +1,52 @@ +/* ------------------------------------------------------------------------------ + * + * # Google Visualization - donut chart + * + * Google Visualization donut chart demonstration + * + * Version: 1.0 + * Latest update: August 1, 2015 + * + * ---------------------------------------------------------------------------- */ + + +// Donut chart +// ------------------------------ + +// Initialize chart +google.load("visualization", "1", {packages:["corechart"]}); +google.setOnLoadCallback(drawDonut); + + +// Chart settings +function drawDonut() { + + // Data + var data = google.visualization.arrayToDataTable([ + ['Task', 'Hours per Day'], + ['Work', 11], + ['Eat', 2], + ['Commute', 2], + ['Watch TV', 2], + ['Sleep', 7] + ]); + + + // Options + var options_donut = { + fontName: 'Roboto', + pieHole: 0.55, + height: 300, + width: 500, + chartArea: { + left: 50, + width: '90%', + height: '90%' + } + }; + + + // Instantiate and draw our chart, passing in some options. + var donut = new google.visualization.PieChart($('#google-donut')[0]); + donut.draw(data, options_donut); +} \ No newline at end of file diff --git a/Show-Crypto-Currency-Price-in-Graph/amol/public/assets/js/charts/google/pies/donut_exploded.js b/Show-Crypto-Currency-Price-in-Graph/amol/public/assets/js/charts/google/pies/donut_exploded.js new file mode 100644 index 0000000..6ff4489 --- /dev/null +++ b/Show-Crypto-Currency-Price-in-Graph/amol/public/assets/js/charts/google/pies/donut_exploded.js @@ -0,0 +1,67 @@ +/* ------------------------------------------------------------------------------ + * + * # Google Visualization - sliced donut + * + * Google Visualization sliced donut chart demonstration + * + * Version: 1.0 + * Latest update: August 1, 2015 + * + * ---------------------------------------------------------------------------- */ + + +// Sliced donut chart +// ------------------------------ + +// Initialize chart +google.load("visualization", "1", {packages:["corechart"]}); +google.setOnLoadCallback(drawExplodedDonut); + + +// Chart settings +function drawExplodedDonut() { + + // Data + var data = google.visualization.arrayToDataTable([ + ['Language', 'Speakers (in millions)'], + ['Assamese', 13], + ['Bengali', 83], + ['Gujarati', 46], + ['Hindi', 90], + ['Kannada', 38], + ['Maithili', 20], + ['Malayalam', 33], + ['Marathi', 72], + ['Oriya', 33], + ['Punjabi', 29], + ['Tamil', 61], + ['Telugu', 74], + ['Urdu', 52] + ]); + + + // Options + var options_donut_exploded = { + fontName: 'Roboto', + height: 300, + width: 540, + chartArea: { + left: 50, + width: '90%', + height: '90%' + }, + pieHole: 0.5, + pieSliceText: 'label', + slices: { + 2: {offset: 0.15}, + 8: {offset: 0.1}, + 10: {offset: 0.15}, + 11: {offset: 0.1} + } + }; + + + // Instantiate and draw our chart, passing in some options. + var donut_exploded = new google.visualization.PieChart($('#google-donut-exploded')[0]); + donut_exploded.draw(data, options_donut_exploded); +} \ No newline at end of file diff --git a/Show-Crypto-Currency-Price-in-Graph/amol/public/assets/js/charts/google/pies/donut_rotate.js b/Show-Crypto-Currency-Price-in-Graph/amol/public/assets/js/charts/google/pies/donut_rotate.js new file mode 100644 index 0000000..24a3c0c --- /dev/null +++ b/Show-Crypto-Currency-Price-in-Graph/amol/public/assets/js/charts/google/pies/donut_rotate.js @@ -0,0 +1,53 @@ +/* ------------------------------------------------------------------------------ + * + * # Google Visualization - rotated donut + * + * Google Visualization rotated donut chart demonstration + * + * Version: 1.0 + * Latest update: August 1, 2015 + * + * ---------------------------------------------------------------------------- */ + + +// Rotated donut chart +// ------------------------------ + +// Initialize chart +google.load("visualization", "1", {packages:["corechart"]}); +google.setOnLoadCallback(drawDonutRotated); + + +// Chart settings +function drawDonutRotated() { + + // Data + var data = google.visualization.arrayToDataTable([ + ['Task', 'Hours per Day'], + ['Work', 11], + ['Eat', 2], + ['Commute', 2], + ['Watch TV', 2], + ['Sleep', 7] + ]); + + + // Options + var options_donut_rotate = { + fontName: 'Roboto', + pieHole: 0.55, + pieStartAngle: 180, + height: 300, + width: 500, + chartArea: { + left: 50, + width: '90%', + height: '90%' + } + }; + + + // Instantiate and draw our chart, passing in some options. + var donut_rotate = new google.visualization.PieChart($('#google-donut-rotate')[0]); + donut_rotate.draw(data, options_donut_rotate); +} \ No newline at end of file diff --git a/Show-Crypto-Currency-Price-in-Graph/amol/public/assets/js/charts/google/pies/pie.js b/Show-Crypto-Currency-Price-in-Graph/amol/public/assets/js/charts/google/pies/pie.js new file mode 100644 index 0000000..f32b54e --- /dev/null +++ b/Show-Crypto-Currency-Price-in-Graph/amol/public/assets/js/charts/google/pies/pie.js @@ -0,0 +1,50 @@ +/* ------------------------------------------------------------------------------ + * + * # Google Visualization - pie chart + * + * Google Visualization pie chart demonstration + * + * Version: 1.0 + * Latest update: August 1, 2015 + * + * ---------------------------------------------------------------------------- */ + + +// Pie chart +// ------------------------------ + +// Initialize chart +google.load("visualization", "1", {packages:["corechart"]}); +google.setOnLoadCallback(drawPie); + + +// Chart settings +function drawPie() { + + // Data + var data = google.visualization.arrayToDataTable([ + ['Task', 'Hours per Day'], + ['Work', 11], + ['Eat', 2], + ['Commute', 2], + ['Watch TV', 2], + ['Sleep', 7] + ]); + + // Options + var options_pie = { + fontName: 'Roboto', + height: 300, + width: 500, + chartArea: { + left: 50, + width: '90%', + height: '90%' + } + }; + + + // Instantiate and draw our chart, passing in some options. + var pie = new google.visualization.PieChart($('#google-pie')[0]); + pie.draw(data, options_pie); +} \ No newline at end of file diff --git a/Show-Crypto-Currency-Price-in-Graph/amol/public/assets/js/charts/google/pies/pie_3d.js b/Show-Crypto-Currency-Price-in-Graph/amol/public/assets/js/charts/google/pies/pie_3d.js new file mode 100644 index 0000000..5e28c06 --- /dev/null +++ b/Show-Crypto-Currency-Price-in-Graph/amol/public/assets/js/charts/google/pies/pie_3d.js @@ -0,0 +1,52 @@ +/* ------------------------------------------------------------------------------ + * + * # Google Visualization - 3D pie + * + * Google Visualization 3D pie chart demonstration + * + * Version: 1.0 + * Latest update: August 1, 2015 + * + * ---------------------------------------------------------------------------- */ + + +// 3D pie chart +// ------------------------------ + +// Initialize chart +google.load("visualization", "1", {packages:["corechart"]}); +google.setOnLoadCallback(drawPie3d); + + +// Chart settings +function drawPie3d() { + + // Data + var data = google.visualization.arrayToDataTable([ + ['Task', 'Hours per Day'], + ['Work', 11], + ['Eat', 2], + ['Commute', 2], + ['Watch TV', 2], + ['Sleep', 7] + ]); + + + // Options + var options_pie_3d = { + fontName: 'Roboto', + is3D: true, + height: 300, + width: 540, + chartArea: { + left: 50, + width: '95%', + height: '95%' + } + }; + + + // Instantiate and draw our chart, passing in some options. + var pie_3d = new google.visualization.PieChart($('#google-pie-3d')[0]); + pie_3d.draw(data, options_pie_3d); +} \ No newline at end of file diff --git a/Show-Crypto-Currency-Price-in-Graph/amol/public/assets/js/charts/google/pies/pie_diff_border.js b/Show-Crypto-Currency-Price-in-Graph/amol/public/assets/js/charts/google/pies/pie_diff_border.js new file mode 100644 index 0000000..4d9fceb --- /dev/null +++ b/Show-Crypto-Currency-Price-in-Graph/amol/public/assets/js/charts/google/pies/pie_diff_border.js @@ -0,0 +1,67 @@ +/* ------------------------------------------------------------------------------ + * + * # Google Visualization - diff pie + * + * Google Visualization diff pie chart with border factor demonstration + * + * Version: 1.0 + * Latest update: August 1, 2015 + * + * ---------------------------------------------------------------------------- */ + + +// Diff pie chart +// ------------------------------ + +// Initialize chart +google.load("visualization", '1.1', {packages:['corechart']}); +google.setOnLoadCallback(drawChart); + + +// Chart settings +function drawChart() { + + // Old data set + var oldData = google.visualization.arrayToDataTable([ + ['Major', 'Degrees'], + ['Business', 256070], ['Education', 108034], + ['Social Sciences & History', 127101], ['Health', 81863], + ['Psychology', 74194] + ]); + + // New data set + var newData = google.visualization.arrayToDataTable([ + ['Major', 'Degrees'], + ['Business', 358293], ['Education', 101265], + ['Social Sciences & History', 172780], ['Health', 129634], + ['Psychology', 97216] + ]); + + + // Options + var options = { + fontName: 'Roboto', + height: 300, + width: 500, + chartArea: { + left: 50, + width: '90%', + height: '90%' + }, + diff: { + innerCircle: { + borderFactor: 0.08 + } + } + }; + + + // Attach chart to the DOM element + var chartRadius = new google.visualization.PieChart($('#google-pie-diff-border')[0]); + + // Set data + var diffData = chartRadius.computeDiff(oldData, newData); + + // Draw our chart, passing in some options + chartRadius.draw(diffData, options); +} \ No newline at end of file diff --git a/Show-Crypto-Currency-Price-in-Graph/amol/public/assets/js/charts/google/pies/pie_diff_invert.js b/Show-Crypto-Currency-Price-in-Graph/amol/public/assets/js/charts/google/pies/pie_diff_invert.js new file mode 100644 index 0000000..49458e1 --- /dev/null +++ b/Show-Crypto-Currency-Price-in-Graph/amol/public/assets/js/charts/google/pies/pie_diff_invert.js @@ -0,0 +1,67 @@ +/* ------------------------------------------------------------------------------ + * + * # Google Visualization - diff pie + * + * Google Visualization diff pie chart with inverted behaviour demonstration + * + * Version: 1.0 + * Latest update: August 1, 2015 + * + * ---------------------------------------------------------------------------- */ + + +// Diff pie chart +// ------------------------------ + +// Initialize chart +google.load("visualization", '1.1', {packages:['corechart']}); +google.setOnLoadCallback(drawChart); + + +// Chart settings +function drawChart() { + + // Old data + var oldData = google.visualization.arrayToDataTable([ + ['Major', 'Degrees'], + ['Business', 256070], ['Education', 108034], + ['Social Sciences & History', 127101], ['Health', 81863], + ['Psychology', 74194] + ]); + + // New data + var newData = google.visualization.arrayToDataTable([ + ['Major', 'Degrees'], + ['Business', 358293], ['Education', 101265], + ['Social Sciences & History', 172780], ['Health', 129634], + ['Psychology', 97216] + ]); + + + // Options + var options = { + fontName: 'Roboto', + height: 300, + width: 500, + chartArea: { + left: 50, + width: '90%', + height: '90%' + }, + diff: { + oldData: { + inCenter: false + } + } + }; + + + // Attach chart to the DOM element + var chartRadius = new google.visualization.PieChart($('#google-pie-diff-invert')[0]); + + // Set data + var diffData = chartRadius.computeDiff(oldData, newData); + + // Draw our chart, passing in some options + chartRadius.draw(diffData, options); +} \ No newline at end of file diff --git a/Show-Crypto-Currency-Price-in-Graph/amol/public/assets/js/charts/google/pies/pie_diff_opacity.js b/Show-Crypto-Currency-Price-in-Graph/amol/public/assets/js/charts/google/pies/pie_diff_opacity.js new file mode 100644 index 0000000..92b9a23 --- /dev/null +++ b/Show-Crypto-Currency-Price-in-Graph/amol/public/assets/js/charts/google/pies/pie_diff_opacity.js @@ -0,0 +1,67 @@ +/* ------------------------------------------------------------------------------ + * + * # Google Visualization - diff pie + * + * Google Visualization diff pie chart with transparency demonstration + * + * Version: 1.0 + * Latest update: August 1, 2015 + * + * ---------------------------------------------------------------------------- */ + + +// Diff pie chart +// ------------------------------ + +// Initialize chart +google.load("visualization", '1.1', {packages:['corechart']}); +google.setOnLoadCallback(drawChart); + + +// Chart settings +function drawChart() { + + // Old data + var oldData = google.visualization.arrayToDataTable([ + ['Major', 'Degrees'], + ['Business', 256070], ['Education', 108034], + ['Social Sciences & History', 127101], ['Health', 81863], + ['Psychology', 74194] + ]); + + // New data + var newData = google.visualization.arrayToDataTable([ + ['Major', 'Degrees'], + ['Business', 358293], ['Education', 101265], + ['Social Sciences & History', 172780], ['Health', 129634], + ['Psychology', 97216] + ]); + + + // Options + var options = { + fontName: 'Roboto', + height: 300, + width: 500, + chartArea: { + left: 50, + width: '90%', + height: '90%' + }, + diff: { + oldData: { + opacity: 0.8 + } + } + }; + + + // Attach chart to the DOM element + var chartRadius = new google.visualization.PieChart($('#google-pie-diff-opacity')[0]); + + // Set data + var diffData = chartRadius.computeDiff(oldData, newData); + + // Draw our chart, passing in some options + chartRadius.draw(diffData, options); +} \ No newline at end of file diff --git a/Show-Crypto-Currency-Price-in-Graph/amol/public/assets/js/charts/google/pies/pie_diff_radius.js b/Show-Crypto-Currency-Price-in-Graph/amol/public/assets/js/charts/google/pies/pie_diff_radius.js new file mode 100644 index 0000000..eb2b186 --- /dev/null +++ b/Show-Crypto-Currency-Price-in-Graph/amol/public/assets/js/charts/google/pies/pie_diff_radius.js @@ -0,0 +1,67 @@ +/* ------------------------------------------------------------------------------ + * + * # Google Visualization - diff pie + * + * Google Visualization diff pie chart with radius factor demonstration + * + * Version: 1.0 + * Latest update: August 1, 2015 + * + * ---------------------------------------------------------------------------- */ + + +// Diff pie chart +// ------------------------------ + +// Initialize chart +google.load("visualization", '1.1', {packages:['corechart']}); +google.setOnLoadCallback(drawChart); + + +// Chart settings +function drawChart() { + + // Old data + var oldData = google.visualization.arrayToDataTable([ + ['Major', 'Degrees'], + ['Business', 256070], ['Education', 108034], + ['Social Sciences & History', 127101], ['Health', 81863], + ['Psychology', 74194] + ]); + + // New data + var newData = google.visualization.arrayToDataTable([ + ['Major', 'Degrees'], + ['Business', 358293], ['Education', 101265], + ['Social Sciences & History', 172780], ['Health', 129634], + ['Psychology', 97216] + ]); + + + // Options + var options = { + fontName: 'Roboto', + height: 300, + width: 500, + chartArea: { + left: 50, + width: '90%', + height: '90%' + }, + diff: { + innerCircle: { + radiusFactor: 0.8 + } + } + }; + + + // Attach chart to the DOM element + var chartRadius = new google.visualization.PieChart($('#google-pie-diff-radius')[0]); + + // Set data + var diffData = chartRadius.computeDiff(oldData, newData); + + // Draw our chart, passing in some options + chartRadius.draw(diffData, options); +} \ No newline at end of file diff --git a/Show-Crypto-Currency-Price-in-Graph/amol/public/assets/js/charts/google/pies/pie_exploded.js b/Show-Crypto-Currency-Price-in-Graph/amol/public/assets/js/charts/google/pies/pie_exploded.js new file mode 100644 index 0000000..b82fa51 --- /dev/null +++ b/Show-Crypto-Currency-Price-in-Graph/amol/public/assets/js/charts/google/pies/pie_exploded.js @@ -0,0 +1,66 @@ +/* ------------------------------------------------------------------------------ + * + * # Google Visualization - sliced pie + * + * Google Visualization sliced pie chart demonstration + * + * Version: 1.0 + * Latest update: August 1, 2015 + * + * ---------------------------------------------------------------------------- */ + + +// Sliced pie chart +// ------------------------------ + +// Initialize chart +google.load("visualization", "1", {packages:["corechart"]}); +google.setOnLoadCallback(drawExplodedPie); + + +// Chart settings +function drawExplodedPie() { + + // Data + var data = google.visualization.arrayToDataTable([ + ['Language', 'Speakers (in millions)'], + ['Assamese', 13], + ['Bengali', 83], + ['Gujarati', 46], + ['Hindi', 90], + ['Kannada', 38], + ['Maithili', 20], + ['Malayalam', 33], + ['Marathi', 72], + ['Oriya', 33], + ['Punjabi', 29], + ['Tamil', 61], + ['Telugu', 74], + ['Urdu', 52] + ]); + + + // Options + var options = { + fontName: 'Roboto', + height: 300, + width: 540, + chartArea: { + left: 50, + width: '90%', + height: '90%' + }, + pieSliceText: 'label', + slices: { + 2: {offset: 0.15}, + 8: {offset: 0.1}, + 10: {offset: 0.15}, + 11: {offset: 0.1} + } + }; + + + // Instantiate and draw our chart, passing in some options. + var pie_exploded = new google.visualization.PieChart($('#google-pie-exploded')[0]); + pie_exploded.draw(data, options); +} \ No newline at end of file diff --git a/Show-Crypto-Currency-Price-in-Graph/amol/public/assets/js/charts/google/pies/pie_rotate.js b/Show-Crypto-Currency-Price-in-Graph/amol/public/assets/js/charts/google/pies/pie_rotate.js new file mode 100644 index 0000000..179da96 --- /dev/null +++ b/Show-Crypto-Currency-Price-in-Graph/amol/public/assets/js/charts/google/pies/pie_rotate.js @@ -0,0 +1,52 @@ +/* ------------------------------------------------------------------------------ + * + * # Google Visualization - rotated pie + * + * Google Visualization rotated pie chart demonstration + * + * Version: 1.0 + * Latest update: August 1, 2015 + * + * ---------------------------------------------------------------------------- */ + + +// Rotated pie chart +// ------------------------------ + +// Initialize chart +google.load("visualization", "1", {packages:["corechart"]}); +google.setOnLoadCallback(drawPieRotated); + + +// Chart settings +function drawPieRotated() { + + // Data + var data = google.visualization.arrayToDataTable([ + ['Task', 'Hours per Day'], + ['Work', 11], + ['Eat', 2], + ['Commute', 2], + ['Watch TV', 2], + ['Sleep', 7] + ]); + + + // Options + var options_pie_rotate = { + fontName: 'Roboto', + pieStartAngle: 180, + height: 300, + width: 500, + chartArea: { + left: 50, + width: '90%', + height: '90%' + } + }; + + + // Instantiate and draw our chart, passing in some options. + var pie_rotate = new google.visualization.PieChart($('#google-pie-rotate')[0]); + pie_rotate.draw(data, options_pie_rotate); +} \ No newline at end of file diff --git a/Show-Crypto-Currency-Price-in-Graph/amol/public/assets/js/charts/google/scatter/scatter.js b/Show-Crypto-Currency-Price-in-Graph/amol/public/assets/js/charts/google/scatter/scatter.js new file mode 100644 index 0000000..14ed6fe --- /dev/null +++ b/Show-Crypto-Currency-Price-in-Graph/amol/public/assets/js/charts/google/scatter/scatter.js @@ -0,0 +1,102 @@ +/* ------------------------------------------------------------------------------ + * + * # Google Visualization - scatter + * + * Google Visualization scatter chart demonstration + * + * Version: 1.0 + * Latest update: August 1, 2015 + * + * ---------------------------------------------------------------------------- */ + + +// Scatter chart +// ------------------------------ + +// Initialize chart +google.load("visualization", "1", {packages:["corechart"]}); +google.setOnLoadCallback(drawScatter); + + +// Chart settings +function drawScatter() { + + // Data + var data = google.visualization.arrayToDataTable([ + ['Age', 'Weight'], + [ 8, 12], + [ 4, 6], + [ 11, 14], + [ 4, 5], + [ 3, 3.5], + [ 6.5, 7], + [ 7, 10], + [ 6.5, 12], + [ 6, 13], + [ 8, 16], + [ 12, 17], + [ 18, 8], + [ 18, 9], + [ 16, 12] + ]); + + + // Options + var options = { + fontName: 'Roboto', + height: 450, + fontSize: 12, + chartArea: { + left: '5%', + width: '90%', + height: 400 + }, + tooltip: { + textStyle: { + fontName: 'Roboto', + fontSize: 13 + } + }, + hAxis: { + minValue: 0, + maxValue: 15 + }, + vAxis: { + title: 'Weight', + titleTextStyle: { + fontSize: 13, + italic: false + }, + gridlines:{ + color: '#e5e5e5', + count: 10 + }, + minValue: 0, + maxValue: 15 + }, + legend: 'none', + pointSize: 10, + colors: ['#E53935'] + }; + + + // Draw chart + var scatter = new google.visualization.ScatterChart($('#google-scatter')[0]); + scatter.draw(data, options); +} + + +// Resize chart +// ------------------------------ + +$(function () { + + // Resize chart on sidebar width change and window resize + $(window).on('resize', resize); + $(".sidebar-control").on('click', resize); + + // Resize function + function resize() { + drawScatter(); + } +}); diff --git a/Show-Crypto-Currency-Price-in-Graph/amol/public/assets/js/charts/google/scatter/scatter_diff.js b/Show-Crypto-Currency-Price-in-Graph/amol/public/assets/js/charts/google/scatter/scatter_diff.js new file mode 100644 index 0000000..da151b6 --- /dev/null +++ b/Show-Crypto-Currency-Price-in-Graph/amol/public/assets/js/charts/google/scatter/scatter_diff.js @@ -0,0 +1,129 @@ +/* ------------------------------------------------------------------------------ + * + * # Google Visualization - diff scatter + * + * Google Visualization diff scatter chart demonstration + * + * Version: 1.0 + * Latest update: August 1, 2015 + * + * ---------------------------------------------------------------------------- */ + + +// Diff scatter chart +// ------------------------------ + +// Initialize chart +google.load("visualization", "1", {packages:["corechart"]}); +google.setOnLoadCallback(drawScatterDiff); + + +// Chart settings +function drawScatterDiff() { + + // Old data + var oldData = google.visualization.arrayToDataTable([ + ['', 'Medicine 1', 'Medicine 2'], + [23, null, 12], [9, null, 39], [15, null, 28], + [37, null, 30], [21, null, 14], [12, null, 18], + [29, null, 34], [ 8, null, 12], [38, null, 28], + [35, null, 12], [26, null, 10], [10, null, 29], + [11, null, 10], [27, null, 38], [39, null, 17], + [34, null, 20], [38, null, 5], [33, null, 27], + [23, null, 39], [12, null, 10], [ 8, 15, null], + [39, 15, null], [27, 31, null], [30, 24, null], + [31, 39, null], [35, 6, null], [ 5, 5, null], + [19, 39, null], [22, 8, null], [19, 23, null], + [27, 20, null], [11, 6, null], [34, 33, null], + [38, 8, null], [39, 29, null], [13, 23, null], + [13, 36, null], [39, 6, null], [14, 37, null], [13, 39, null] + ]); + + // New data + var newData = google.visualization.arrayToDataTable([ + ['', 'Medicine 1', 'Medicine 2'], + [22, null, 12], [7, null, 40], [14, null, 31], + [37, null, 30], [18, null, 17], [9, null, 20], + [26, null, 36], [5, null, 13], [36, null, 30], + [35, null, 15], [24, null, 12], [7, null, 31], + [10, null, 12], [24, null, 40], [37, null, 18], + [32, null, 21], [35, null, 7], [31, null, 30], + [21, null, 42], [12, null, 10], [10, 13, null], + [40, 12, null], [28, 29, null], [32, 22, null], + [31, 37, null], [38, 5, null], [6, 4, null], + [21, 36, null], [22, 8, null], [21, 22, null], + [28, 17, null], [12, 5, null], [37, 30, null], + [41, 7, null], [41, 27, null], [15, 20, null], + [14, 36, null], [42, 3, null], [14, 37, null], [15, 36, null] + ]); + + + // Options + var options = { + fontName: 'Roboto', + height: 450, + fontSize: 12, + chartArea: { + left: '5%', + width: '90%', + height: 400 + }, + tooltip: { + textStyle: { + fontName: 'Roboto', + fontSize: 13 + } + }, + hAxis: { + minValue: 0 + }, + vAxis: { + gridlines: { + color: '#e5e5e5', + count: 5 + }, + minValue: 0 + }, + legend: { + position: 'top', + alignment: 'center', + textStyle: { + fontSize: 12 + } + }, + pointSize: 10, + diff: { + oldData: { + opacity: 0.5 + } + }, + }; + + + // Attach chart to the DOM element + var chartOldOpacity = new google.visualization.ScatterChart($('#google-scatter-diff')[0]); + + // Set data + var diffData = chartOldOpacity.computeDiff(oldData, newData); + + // Draw our chart, passing in some options + chartOldOpacity.draw(diffData, options); +} + + +// Resize chart +// ------------------------------ + +$(function () { + + // Resize chart on sidebar width change and window resize + $(window).on('resize', resize); + $(".sidebar-control").on('click', resize); + + // Resize function + function resize() { + drawScatterDiff(); + } +}); + + diff --git a/Show-Crypto-Currency-Price-in-Graph/amol/public/assets/js/core/app.js b/Show-Crypto-Currency-Price-in-Graph/amol/public/assets/js/core/app.js new file mode 100644 index 0000000..ed907e1 --- /dev/null +++ b/Show-Crypto-Currency-Price-in-Graph/amol/public/assets/js/core/app.js @@ -0,0 +1,636 @@ +/* ------------------------------------------------------------------------------ +* +* # Template JS core +* +* Core JS file with default functionality configuration +* +* Version: 1.2 +* Latest update: Dec 11, 2015 +* +* ---------------------------------------------------------------------------- */ + + +// Allow CSS transitions when page is loaded +$(window).on('load', function() { + $('body').removeClass('no-transitions'); +}); + + +$(function() { + + // Disable CSS transitions on page load + $('body').addClass('no-transitions'); + + + + // ======================================== + // + // Content area height + // + // ======================================== + + + // Calculate min height + function containerHeight() { + var availableHeight = $(window).height() - $('.page-container').offset().top - $('.navbar-fixed-bottom').outerHeight(); + + $('.page-container').attr('style', 'min-height:' + availableHeight + 'px'); + } + + // Initialize + containerHeight(); + + + + + // ======================================== + // + // Heading elements + // + // ======================================== + + + // Heading elements toggler + // ------------------------- + + // Add control button toggler to page and panel headers if have heading elements + $('.panel-footer').has('> .heading-elements:not(.not-collapsible)').prepend(''); + $('.page-title, .panel-title').parent().has('> .heading-elements:not(.not-collapsible)').children('.page-title, .panel-title').append(''); + + + // Toggle visible state of heading elements + $('.page-title .heading-elements-toggle, .panel-title .heading-elements-toggle').on('click', function() { + $(this).parent().parent().toggleClass('has-visible-elements').children('.heading-elements').toggleClass('visible-elements'); + }); + $('.panel-footer .heading-elements-toggle').on('click', function() { + $(this).parent().toggleClass('has-visible-elements').children('.heading-elements').toggleClass('visible-elements'); + }); + + + + // Breadcrumb elements toggler + // ------------------------- + + // Add control button toggler to breadcrumbs if has elements + $('.breadcrumb-line').has('.breadcrumb-elements').prepend(''); + + + // Toggle visible state of breadcrumb elements + $('.breadcrumb-elements-toggle').on('click', function() { + $(this).parent().children('.breadcrumb-elements').toggleClass('visible-elements'); + }); + + + + + // ======================================== + // + // Navbar + // + // ======================================== + + + // Navbar navigation + // ------------------------- + + // Prevent dropdown from closing on click + $(document).on('click', '.dropdown-content', function (e) { + e.stopPropagation(); + }); + + // Disabled links + $('.navbar-nav .disabled a').on('click', function (e) { + e.preventDefault(); + e.stopPropagation(); + }); + + // Show tabs inside dropdowns + $('.dropdown-content a[data-toggle="tab"]').on('click', function (e) { + $(this).tab('show'); + }); + + + + + // ======================================== + // + // Element controls + // + // ======================================== + + + // Reload elements + // ------------------------- + + // Panels + $('.panel [data-action=reload]').click(function (e) { + e.preventDefault(); + var block = $(this).parent().parent().parent().parent().parent(); + $(block).block({ + message: '', + overlayCSS: { + backgroundColor: '#fff', + opacity: 0.8, + cursor: 'wait', + 'box-shadow': '0 0 0 1px #ddd' + }, + css: { + border: 0, + padding: 0, + backgroundColor: 'none' + } + }); + + // For demo purposes + window.setTimeout(function () { + $(block).unblock(); + }, 2000); + }); + + + // Sidebar categories + $('.category-title [data-action=reload]').click(function (e) { + e.preventDefault(); + var block = $(this).parent().parent().parent().parent(); + $(block).block({ + message: '', + overlayCSS: { + backgroundColor: '#000', + opacity: 0.5, + cursor: 'wait', + 'box-shadow': '0 0 0 1px #000' + }, + css: { + border: 0, + padding: 0, + backgroundColor: 'none', + color: '#fff' + } + }); + + // For demo purposes + window.setTimeout(function () { + $(block).unblock(); + }, 2000); + }); + + + // Light sidebar categories + $('.sidebar-default .category-title [data-action=reload]').click(function (e) { + e.preventDefault(); + var block = $(this).parent().parent().parent().parent(); + $(block).block({ + message: '', + overlayCSS: { + backgroundColor: '#fff', + opacity: 0.8, + cursor: 'wait', + 'box-shadow': '0 0 0 1px #ddd' + }, + css: { + border: 0, + padding: 0, + backgroundColor: 'none' + } + }); + + // For demo purposes + window.setTimeout(function () { + $(block).unblock(); + }, 2000); + }); + + + + // Collapse elements + // ------------------------- + + // + // Sidebar categories + // + + // Hide if collapsed by default + $('.category-collapsed').children('.category-content').hide(); + + + // Rotate icon if collapsed by default + $('.category-collapsed').find('[data-action=collapse]').addClass('rotate-180'); + + + // Collapse on click + $('.category-title [data-action=collapse]').click(function (e) { + e.preventDefault(); + var $categoryCollapse = $(this).parent().parent().parent().nextAll(); + $(this).parents('.category-title').toggleClass('category-collapsed'); + $(this).toggleClass('rotate-180'); + + containerHeight(); // adjust page height + + $categoryCollapse.slideToggle(150); + }); + + + // + // Panels + // + + // Hide if collapsed by default + $('.panel-collapsed').children('.panel-heading').nextAll().hide(); + + + // Rotate icon if collapsed by default + $('.panel-collapsed').find('[data-action=collapse]').addClass('rotate-180'); + + + // Collapse on click + $('.panel [data-action=collapse]').click(function (e) { + e.preventDefault(); + var $panelCollapse = $(this).parent().parent().parent().parent().nextAll(); + $(this).parents('.panel').toggleClass('panel-collapsed'); + $(this).toggleClass('rotate-180'); + + containerHeight(); // recalculate page height + + $panelCollapse.slideToggle(150); + }); + + + + // Remove elements + // ------------------------- + + // Panels + $('.panel [data-action=close]').click(function (e) { + e.preventDefault(); + var $panelClose = $(this).parent().parent().parent().parent().parent(); + + containerHeight(); // recalculate page height + + $panelClose.slideUp(150, function() { + $(this).remove(); + }); + }); + + + // Sidebar categories + $('.category-title [data-action=close]').click(function (e) { + e.preventDefault(); + var $categoryClose = $(this).parent().parent().parent().parent(); + + containerHeight(); // recalculate page height + + $categoryClose.slideUp(150, function() { + $(this).remove(); + }); + }); + + + + + // ======================================== + // + // Main navigation + // + // ======================================== + + + // Main navigation + // ------------------------- + + // Add 'active' class to parent list item in all levels + $('.navigation').find('li.active').parents('li').addClass('active'); + + // Hide all nested lists + $('.navigation').find('li').not('.active, .category-title').has('ul').children('ul').addClass('hidden-ul'); + + // Highlight children links + $('.navigation').find('li').has('ul').children('a').addClass('has-ul'); + + // Add active state to all dropdown parent levels + $('.dropdown-menu:not(.dropdown-content), .dropdown-menu:not(.dropdown-content) .dropdown-submenu').has('li.active').addClass('active').parents('.navbar-nav .dropdown:not(.language-switch), .navbar-nav .dropup:not(.language-switch)').addClass('active'); + + + + // Main navigation tooltips positioning + // ------------------------- + + // Left sidebar + $('.navigation-main > .navigation-header > i').tooltip({ + placement: 'right', + container: 'body' + }); + + + + // Collapsible functionality + // ------------------------- + + // Main navigation + $('.navigation-main').find('li').has('ul').children('a').on('click', function (e) { + e.preventDefault(); + + // Collapsible + $(this).parent('li').not('.disabled').not($('.sidebar-xs').not('.sidebar-xs-indicator').find('.navigation-main').children('li')).toggleClass('active').children('ul').slideToggle(250); + + // Accordion + if ($('.navigation-main').hasClass('navigation-accordion')) { + $(this).parent('li').not('.disabled').not($('.sidebar-xs').not('.sidebar-xs-indicator').find('.navigation-main').children('li')).siblings(':has(.has-ul)').removeClass('active').children('ul').slideUp(250); + } + }); + + + // Alternate navigation + $('.navigation-alt').find('li').has('ul').children('a').on('click', function (e) { + e.preventDefault(); + + // Collapsible + $(this).parent('li').not('.disabled').toggleClass('active').children('ul').slideToggle(200); + + // Accordion + if ($('.navigation-alt').hasClass('navigation-accordion')) { + $(this).parent('li').not('.disabled').siblings(':has(.has-ul)').removeClass('active').children('ul').slideUp(200); + } + }); + + + + + // ======================================== + // + // Sidebars + // + // ======================================== + + + // Mini sidebar + // ------------------------- + + // Toggle mini sidebar + $('.sidebar-main-toggle').on('click', function (e) { + e.preventDefault(); + + // Toggle min sidebar class + $('body').toggleClass('sidebar-xs'); + }); + + + + // Sidebar controls + // ------------------------- + + // Disable click in disabled navigation items + $(document).on('click', '.navigation .disabled a', function (e) { + e.preventDefault(); + }); + + + // Adjust page height on sidebar control button click + $(document).on('click', '.sidebar-control', function (e) { + containerHeight(); + }); + + + // Hide main sidebar in Dual Sidebar + $(document).on('click', '.sidebar-main-hide', function (e) { + e.preventDefault(); + $('body').toggleClass('sidebar-main-hidden'); + }); + + + // Toggle second sidebar in Dual Sidebar + $(document).on('click', '.sidebar-secondary-hide', function (e) { + e.preventDefault(); + $('body').toggleClass('sidebar-secondary-hidden'); + }); + + + // Hide detached sidebar + $(document).on('click', '.sidebar-detached-hide', function (e) { + e.preventDefault(); + $('body').toggleClass('sidebar-detached-hidden'); + }); + + + // Hide all sidebars + $(document).on('click', '.sidebar-all-hide', function (e) { + e.preventDefault(); + + $('body').toggleClass('sidebar-all-hidden'); + }); + + + + // + // Opposite sidebar + // + + // Collapse main sidebar if opposite sidebar is visible + $(document).on('click', '.sidebar-opposite-toggle', function (e) { + e.preventDefault(); + + // Opposite sidebar visibility + $('body').toggleClass('sidebar-opposite-visible'); + + // If visible + if ($('body').hasClass('sidebar-opposite-visible')) { + + // Make main sidebar mini + $('body').addClass('sidebar-xs'); + + // Hide children lists + $('.navigation-main').children('li').children('ul').css('display', ''); + } + else { + + // Make main sidebar default + $('body').removeClass('sidebar-xs'); + } + }); + + + // Hide main sidebar if opposite sidebar is shown + $(document).on('click', '.sidebar-opposite-main-hide', function (e) { + e.preventDefault(); + + // Opposite sidebar visibility + $('body').toggleClass('sidebar-opposite-visible'); + + // If visible + if ($('body').hasClass('sidebar-opposite-visible')) { + + // Hide main sidebar + $('body').addClass('sidebar-main-hidden'); + } + else { + + // Show main sidebar + $('body').removeClass('sidebar-main-hidden'); + } + }); + + + // Hide secondary sidebar if opposite sidebar is shown + $(document).on('click', '.sidebar-opposite-secondary-hide', function (e) { + e.preventDefault(); + + // Opposite sidebar visibility + $('body').toggleClass('sidebar-opposite-visible'); + + // If visible + if ($('body').hasClass('sidebar-opposite-visible')) { + + // Hide secondary + $('body').addClass('sidebar-secondary-hidden'); + + } + else { + + // Show secondary + $('body').removeClass('sidebar-secondary-hidden'); + } + }); + + + // Hide all sidebars if opposite sidebar is shown + $(document).on('click', '.sidebar-opposite-hide', function (e) { + e.preventDefault(); + + // Toggle sidebars visibility + $('body').toggleClass('sidebar-all-hidden'); + + // If hidden + if ($('body').hasClass('sidebar-all-hidden')) { + + // Show opposite + $('body').addClass('sidebar-opposite-visible'); + + // Hide children lists + $('.navigation-main').children('li').children('ul').css('display', ''); + } + else { + + // Hide opposite + $('body').removeClass('sidebar-opposite-visible'); + } + }); + + + // Keep the width of the main sidebar if opposite sidebar is visible + $(document).on('click', '.sidebar-opposite-fix', function (e) { + e.preventDefault(); + + // Toggle opposite sidebar visibility + $('body').toggleClass('sidebar-opposite-visible'); + }); + + + + // Mobile sidebar controls + // ------------------------- + + // Toggle main sidebar + $('.sidebar-mobile-main-toggle').on('click', function (e) { + e.preventDefault(); + $('body').toggleClass('sidebar-mobile-main').removeClass('sidebar-mobile-secondary sidebar-mobile-opposite sidebar-mobile-detached'); + }); + + + // Toggle secondary sidebar + $('.sidebar-mobile-secondary-toggle').on('click', function (e) { + e.preventDefault(); + $('body').toggleClass('sidebar-mobile-secondary').removeClass('sidebar-mobile-main sidebar-mobile-opposite sidebar-mobile-detached'); + }); + + + // Toggle opposite sidebar + $('.sidebar-mobile-opposite-toggle').on('click', function (e) { + e.preventDefault(); + $('body').toggleClass('sidebar-mobile-opposite').removeClass('sidebar-mobile-main sidebar-mobile-secondary sidebar-mobile-detached'); + }); + + + // Toggle detached sidebar + $('.sidebar-mobile-detached-toggle').on('click', function (e) { + e.preventDefault(); + $('body').toggleClass('sidebar-mobile-detached').removeClass('sidebar-mobile-main sidebar-mobile-secondary sidebar-mobile-opposite'); + }); + + + + // Mobile sidebar setup + // ------------------------- + + $(window).on('resize', function() { + setTimeout(function() { + containerHeight(); + + if($(window).width() <= 768) { + + // Add mini sidebar indicator + $('body').addClass('sidebar-xs-indicator'); + + // Place right sidebar before content + $('.sidebar-opposite').insertBefore('.content-wrapper'); + + // Place detached sidebar before content + $('.sidebar-detached').insertBefore('.content-wrapper'); + + // Add mouse events for dropdown submenus + $('.dropdown-submenu').on('mouseenter', function() { + $(this).children('.dropdown-menu').addClass('show'); + }).on('mouseleave', function() { + $(this).children('.dropdown-menu').removeClass('show'); + }); + } + else { + + // Remove mini sidebar indicator + $('body').removeClass('sidebar-xs-indicator'); + + // Revert back right sidebar + $('.sidebar-opposite').insertAfter('.content-wrapper'); + + // Remove all mobile sidebar classes + $('body').removeClass('sidebar-mobile-main sidebar-mobile-secondary sidebar-mobile-detached sidebar-mobile-opposite'); + + // Revert left detached position + if($('body').hasClass('has-detached-left')) { + $('.sidebar-detached').insertBefore('.container-detached'); + } + + // Revert right detached position + else if($('body').hasClass('has-detached-right')) { + $('.sidebar-detached').insertAfter('.container-detached'); + } + + // Remove visibility of heading elements on desktop + $('.page-header-content, .panel-heading, .panel-footer').removeClass('has-visible-elements'); + $('.heading-elements').removeClass('visible-elements'); + + // Disable appearance of dropdown submenus + $('.dropdown-submenu').children('.dropdown-menu').removeClass('show'); + } + }, 100); + }).resize(); + + + + + // ======================================== + // + // Other code + // + // ======================================== + + + // Plugins + // ------------------------- + + // Popover + $('[data-popup="popover"]').popover(); + + + // Tooltip + $('[data-popup="tooltip"]').tooltip(); + +}); diff --git a/Show-Crypto-Currency-Price-in-Graph/amol/public/assets/js/core/libraries/bootstrap.min.js b/Show-Crypto-Currency-Price-in-Graph/amol/public/assets/js/core/libraries/bootstrap.min.js new file mode 100644 index 0000000..41d5057 --- /dev/null +++ b/Show-Crypto-Currency-Price-in-Graph/amol/public/assets/js/core/libraries/bootstrap.min.js @@ -0,0 +1,7 @@ +/*! + * Bootstrap v3.3.7 (http://getbootstrap.com) + * Copyright 2011-2016 Twitter, Inc. + * Licensed under the MIT license + */ +if("undefined"==typeof jQuery)throw new Error("Bootstrap's JavaScript requires jQuery");+function(a){"use strict";var b=a.fn.jquery.split(" ")[0].split(".");if(b[0]<2&&b[1]<9||1==b[0]&&9==b[1]&&b[2]<1||b[0]>3)throw new Error("Bootstrap's JavaScript requires jQuery version 1.9.1 or higher, but lower than version 4")}(jQuery),+function(a){"use strict";function b(){var a=document.createElement("bootstrap"),b={WebkitTransition:"webkitTransitionEnd",MozTransition:"transitionend",OTransition:"oTransitionEnd otransitionend",transition:"transitionend"};for(var c in b)if(void 0!==a.style[c])return{end:b[c]};return!1}a.fn.emulateTransitionEnd=function(b){var c=!1,d=this;a(this).one("bsTransitionEnd",function(){c=!0});var e=function(){c||a(d).trigger(a.support.transition.end)};return setTimeout(e,b),this},a(function(){a.support.transition=b(),a.support.transition&&(a.event.special.bsTransitionEnd={bindType:a.support.transition.end,delegateType:a.support.transition.end,handle:function(b){if(a(b.target).is(this))return b.handleObj.handler.apply(this,arguments)}})})}(jQuery),+function(a){"use strict";function b(b){return this.each(function(){var c=a(this),e=c.data("bs.alert");e||c.data("bs.alert",e=new d(this)),"string"==typeof b&&e[b].call(c)})}var c='[data-dismiss="alert"]',d=function(b){a(b).on("click",c,this.close)};d.VERSION="3.3.7",d.TRANSITION_DURATION=150,d.prototype.close=function(b){function c(){g.detach().trigger("closed.bs.alert").remove()}var e=a(this),f=e.attr("data-target");f||(f=e.attr("href"),f=f&&f.replace(/.*(?=#[^\s]*$)/,""));var g=a("#"===f?[]:f);b&&b.preventDefault(),g.length||(g=e.closest(".alert")),g.trigger(b=a.Event("close.bs.alert")),b.isDefaultPrevented()||(g.removeClass("in"),a.support.transition&&g.hasClass("fade")?g.one("bsTransitionEnd",c).emulateTransitionEnd(d.TRANSITION_DURATION):c())};var e=a.fn.alert;a.fn.alert=b,a.fn.alert.Constructor=d,a.fn.alert.noConflict=function(){return a.fn.alert=e,this},a(document).on("click.bs.alert.data-api",c,d.prototype.close)}(jQuery),+function(a){"use strict";function b(b){return this.each(function(){var d=a(this),e=d.data("bs.button"),f="object"==typeof b&&b;e||d.data("bs.button",e=new c(this,f)),"toggle"==b?e.toggle():b&&e.setState(b)})}var c=function(b,d){this.$element=a(b),this.options=a.extend({},c.DEFAULTS,d),this.isLoading=!1};c.VERSION="3.3.7",c.DEFAULTS={loadingText:"loading..."},c.prototype.setState=function(b){var c="disabled",d=this.$element,e=d.is("input")?"val":"html",f=d.data();b+="Text",null==f.resetText&&d.data("resetText",d[e]()),setTimeout(a.proxy(function(){d[e](null==f[b]?this.options[b]:f[b]),"loadingText"==b?(this.isLoading=!0,d.addClass(c).attr(c,c).prop(c,!0)):this.isLoading&&(this.isLoading=!1,d.removeClass(c).removeAttr(c).prop(c,!1))},this),0)},c.prototype.toggle=function(){var a=!0,b=this.$element.closest('[data-toggle="buttons"]');if(b.length){var c=this.$element.find("input");"radio"==c.prop("type")?(c.prop("checked")&&(a=!1),b.find(".active").removeClass("active"),this.$element.addClass("active")):"checkbox"==c.prop("type")&&(c.prop("checked")!==this.$element.hasClass("active")&&(a=!1),this.$element.toggleClass("active")),c.prop("checked",this.$element.hasClass("active")),a&&c.trigger("change")}else this.$element.attr("aria-pressed",!this.$element.hasClass("active")),this.$element.toggleClass("active")};var d=a.fn.button;a.fn.button=b,a.fn.button.Constructor=c,a.fn.button.noConflict=function(){return a.fn.button=d,this},a(document).on("click.bs.button.data-api",'[data-toggle^="button"]',function(c){var d=a(c.target).closest(".btn");b.call(d,"toggle"),a(c.target).is('input[type="radio"], input[type="checkbox"]')||(c.preventDefault(),d.is("input,button")?d.trigger("focus"):d.find("input:visible,button:visible").first().trigger("focus"))}).on("focus.bs.button.data-api blur.bs.button.data-api",'[data-toggle^="button"]',function(b){a(b.target).closest(".btn").toggleClass("focus",/^focus(in)?$/.test(b.type))})}(jQuery),+function(a){"use strict";function b(b){return this.each(function(){var d=a(this),e=d.data("bs.carousel"),f=a.extend({},c.DEFAULTS,d.data(),"object"==typeof b&&b),g="string"==typeof b?b:f.slide;e||d.data("bs.carousel",e=new c(this,f)),"number"==typeof b?e.to(b):g?e[g]():f.interval&&e.pause().cycle()})}var c=function(b,c){this.$element=a(b),this.$indicators=this.$element.find(".carousel-indicators"),this.options=c,this.paused=null,this.sliding=null,this.interval=null,this.$active=null,this.$items=null,this.options.keyboard&&this.$element.on("keydown.bs.carousel",a.proxy(this.keydown,this)),"hover"==this.options.pause&&!("ontouchstart"in document.documentElement)&&this.$element.on("mouseenter.bs.carousel",a.proxy(this.pause,this)).on("mouseleave.bs.carousel",a.proxy(this.cycle,this))};c.VERSION="3.3.7",c.TRANSITION_DURATION=600,c.DEFAULTS={interval:5e3,pause:"hover",wrap:!0,keyboard:!0},c.prototype.keydown=function(a){if(!/input|textarea/i.test(a.target.tagName)){switch(a.which){case 37:this.prev();break;case 39:this.next();break;default:return}a.preventDefault()}},c.prototype.cycle=function(b){return b||(this.paused=!1),this.interval&&clearInterval(this.interval),this.options.interval&&!this.paused&&(this.interval=setInterval(a.proxy(this.next,this),this.options.interval)),this},c.prototype.getItemIndex=function(a){return this.$items=a.parent().children(".item"),this.$items.index(a||this.$active)},c.prototype.getItemForDirection=function(a,b){var c=this.getItemIndex(b),d="prev"==a&&0===c||"next"==a&&c==this.$items.length-1;if(d&&!this.options.wrap)return b;var e="prev"==a?-1:1,f=(c+e)%this.$items.length;return this.$items.eq(f)},c.prototype.to=function(a){var b=this,c=this.getItemIndex(this.$active=this.$element.find(".item.active"));if(!(a>this.$items.length-1||a<0))return this.sliding?this.$element.one("slid.bs.carousel",function(){b.to(a)}):c==a?this.pause().cycle():this.slide(a>c?"next":"prev",this.$items.eq(a))},c.prototype.pause=function(b){return b||(this.paused=!0),this.$element.find(".next, .prev").length&&a.support.transition&&(this.$element.trigger(a.support.transition.end),this.cycle(!0)),this.interval=clearInterval(this.interval),this},c.prototype.next=function(){if(!this.sliding)return this.slide("next")},c.prototype.prev=function(){if(!this.sliding)return this.slide("prev")},c.prototype.slide=function(b,d){var e=this.$element.find(".item.active"),f=d||this.getItemForDirection(b,e),g=this.interval,h="next"==b?"left":"right",i=this;if(f.hasClass("active"))return this.sliding=!1;var j=f[0],k=a.Event("slide.bs.carousel",{relatedTarget:j,direction:h});if(this.$element.trigger(k),!k.isDefaultPrevented()){if(this.sliding=!0,g&&this.pause(),this.$indicators.length){this.$indicators.find(".active").removeClass("active");var l=a(this.$indicators.children()[this.getItemIndex(f)]);l&&l.addClass("active")}var m=a.Event("slid.bs.carousel",{relatedTarget:j,direction:h});return a.support.transition&&this.$element.hasClass("slide")?(f.addClass(b),f[0].offsetWidth,e.addClass(h),f.addClass(h),e.one("bsTransitionEnd",function(){f.removeClass([b,h].join(" ")).addClass("active"),e.removeClass(["active",h].join(" ")),i.sliding=!1,setTimeout(function(){i.$element.trigger(m)},0)}).emulateTransitionEnd(c.TRANSITION_DURATION)):(e.removeClass("active"),f.addClass("active"),this.sliding=!1,this.$element.trigger(m)),g&&this.cycle(),this}};var d=a.fn.carousel;a.fn.carousel=b,a.fn.carousel.Constructor=c,a.fn.carousel.noConflict=function(){return a.fn.carousel=d,this};var e=function(c){var d,e=a(this),f=a(e.attr("data-target")||(d=e.attr("href"))&&d.replace(/.*(?=#[^\s]+$)/,""));if(f.hasClass("carousel")){var g=a.extend({},f.data(),e.data()),h=e.attr("data-slide-to");h&&(g.interval=!1),b.call(f,g),h&&f.data("bs.carousel").to(h),c.preventDefault()}};a(document).on("click.bs.carousel.data-api","[data-slide]",e).on("click.bs.carousel.data-api","[data-slide-to]",e),a(window).on("load",function(){a('[data-ride="carousel"]').each(function(){var c=a(this);b.call(c,c.data())})})}(jQuery),+function(a){"use strict";function b(b){var c,d=b.attr("data-target")||(c=b.attr("href"))&&c.replace(/.*(?=#[^\s]+$)/,"");return a(d)}function c(b){return this.each(function(){var c=a(this),e=c.data("bs.collapse"),f=a.extend({},d.DEFAULTS,c.data(),"object"==typeof b&&b);!e&&f.toggle&&/show|hide/.test(b)&&(f.toggle=!1),e||c.data("bs.collapse",e=new d(this,f)),"string"==typeof b&&e[b]()})}var d=function(b,c){this.$element=a(b),this.options=a.extend({},d.DEFAULTS,c),this.$trigger=a('[data-toggle="collapse"][href="#'+b.id+'"],[data-toggle="collapse"][data-target="#'+b.id+'"]'),this.transitioning=null,this.options.parent?this.$parent=this.getParent():this.addAriaAndCollapsedClass(this.$element,this.$trigger),this.options.toggle&&this.toggle()};d.VERSION="3.3.7",d.TRANSITION_DURATION=350,d.DEFAULTS={toggle:!0},d.prototype.dimension=function(){var a=this.$element.hasClass("width");return a?"width":"height"},d.prototype.show=function(){if(!this.transitioning&&!this.$element.hasClass("in")){var b,e=this.$parent&&this.$parent.children(".panel").children(".in, .collapsing");if(!(e&&e.length&&(b=e.data("bs.collapse"),b&&b.transitioning))){var f=a.Event("show.bs.collapse");if(this.$element.trigger(f),!f.isDefaultPrevented()){e&&e.length&&(c.call(e,"hide"),b||e.data("bs.collapse",null));var g=this.dimension();this.$element.removeClass("collapse").addClass("collapsing")[g](0).attr("aria-expanded",!0),this.$trigger.removeClass("collapsed").attr("aria-expanded",!0),this.transitioning=1;var h=function(){this.$element.removeClass("collapsing").addClass("collapse in")[g](""),this.transitioning=0,this.$element.trigger("shown.bs.collapse")};if(!a.support.transition)return h.call(this);var i=a.camelCase(["scroll",g].join("-"));this.$element.one("bsTransitionEnd",a.proxy(h,this)).emulateTransitionEnd(d.TRANSITION_DURATION)[g](this.$element[0][i])}}}},d.prototype.hide=function(){if(!this.transitioning&&this.$element.hasClass("in")){var b=a.Event("hide.bs.collapse");if(this.$element.trigger(b),!b.isDefaultPrevented()){var c=this.dimension();this.$element[c](this.$element[c]())[0].offsetHeight,this.$element.addClass("collapsing").removeClass("collapse in").attr("aria-expanded",!1),this.$trigger.addClass("collapsed").attr("aria-expanded",!1),this.transitioning=1;var e=function(){this.transitioning=0,this.$element.removeClass("collapsing").addClass("collapse").trigger("hidden.bs.collapse")};return a.support.transition?void this.$element[c](0).one("bsTransitionEnd",a.proxy(e,this)).emulateTransitionEnd(d.TRANSITION_DURATION):e.call(this)}}},d.prototype.toggle=function(){this[this.$element.hasClass("in")?"hide":"show"]()},d.prototype.getParent=function(){return a(this.options.parent).find('[data-toggle="collapse"][data-parent="'+this.options.parent+'"]').each(a.proxy(function(c,d){var e=a(d);this.addAriaAndCollapsedClass(b(e),e)},this)).end()},d.prototype.addAriaAndCollapsedClass=function(a,b){var c=a.hasClass("in");a.attr("aria-expanded",c),b.toggleClass("collapsed",!c).attr("aria-expanded",c)};var e=a.fn.collapse;a.fn.collapse=c,a.fn.collapse.Constructor=d,a.fn.collapse.noConflict=function(){return a.fn.collapse=e,this},a(document).on("click.bs.collapse.data-api",'[data-toggle="collapse"]',function(d){var e=a(this);e.attr("data-target")||d.preventDefault();var f=b(e),g=f.data("bs.collapse"),h=g?"toggle":e.data();c.call(f,h)})}(jQuery),+function(a){"use strict";function b(b){var c=b.attr("data-target");c||(c=b.attr("href"),c=c&&/#[A-Za-z]/.test(c)&&c.replace(/.*(?=#[^\s]*$)/,""));var d=c&&a(c);return d&&d.length?d:b.parent()}function c(c){c&&3===c.which||(a(e).remove(),a(f).each(function(){var d=a(this),e=b(d),f={relatedTarget:this};e.hasClass("open")&&(c&&"click"==c.type&&/input|textarea/i.test(c.target.tagName)&&a.contains(e[0],c.target)||(e.trigger(c=a.Event("hide.bs.dropdown",f)),c.isDefaultPrevented()||(d.attr("aria-expanded","false"),e.removeClass("open").trigger(a.Event("hidden.bs.dropdown",f)))))}))}function d(b){return this.each(function(){var c=a(this),d=c.data("bs.dropdown");d||c.data("bs.dropdown",d=new g(this)),"string"==typeof b&&d[b].call(c)})}var e=".dropdown-backdrop",f='[data-toggle="dropdown"]',g=function(b){a(b).on("click.bs.dropdown",this.toggle)};g.VERSION="3.3.7",g.prototype.toggle=function(d){var e=a(this);if(!e.is(".disabled, :disabled")){var f=b(e),g=f.hasClass("open");if(c(),!g){"ontouchstart"in document.documentElement&&!f.closest(".navbar-nav").length&&a(document.createElement("div")).addClass("dropdown-backdrop").insertAfter(a(this)).on("click",c);var h={relatedTarget:this};if(f.trigger(d=a.Event("show.bs.dropdown",h)),d.isDefaultPrevented())return;e.trigger("focus").attr("aria-expanded","true"),f.toggleClass("open").trigger(a.Event("shown.bs.dropdown",h))}return!1}},g.prototype.keydown=function(c){if(/(38|40|27|32)/.test(c.which)&&!/input|textarea/i.test(c.target.tagName)){var d=a(this);if(c.preventDefault(),c.stopPropagation(),!d.is(".disabled, :disabled")){var e=b(d),g=e.hasClass("open");if(!g&&27!=c.which||g&&27==c.which)return 27==c.which&&e.find(f).trigger("focus"),d.trigger("click");var h=" li:not(.disabled):visible a",i=e.find(".dropdown-menu"+h);if(i.length){var j=i.index(c.target);38==c.which&&j>0&&j--,40==c.which&&jdocument.documentElement.clientHeight;this.$element.css({paddingLeft:!this.bodyIsOverflowing&&a?this.scrollbarWidth:"",paddingRight:this.bodyIsOverflowing&&!a?this.scrollbarWidth:""})},c.prototype.resetAdjustments=function(){this.$element.css({paddingLeft:"",paddingRight:""})},c.prototype.checkScrollbar=function(){var a=window.innerWidth;if(!a){var b=document.documentElement.getBoundingClientRect();a=b.right-Math.abs(b.left)}this.bodyIsOverflowing=document.body.clientWidth',trigger:"hover focus",title:"",delay:0,html:!1,container:!1,viewport:{selector:"body",padding:0}},c.prototype.init=function(b,c,d){if(this.enabled=!0,this.type=b,this.$element=a(c),this.options=this.getOptions(d),this.$viewport=this.options.viewport&&a(a.isFunction(this.options.viewport)?this.options.viewport.call(this,this.$element):this.options.viewport.selector||this.options.viewport),this.inState={click:!1,hover:!1,focus:!1},this.$element[0]instanceof document.constructor&&!this.options.selector)throw new Error("`selector` option must be specified when initializing "+this.type+" on the window.document object!");for(var e=this.options.trigger.split(" "),f=e.length;f--;){var g=e[f];if("click"==g)this.$element.on("click."+this.type,this.options.selector,a.proxy(this.toggle,this));else if("manual"!=g){var h="hover"==g?"mouseenter":"focusin",i="hover"==g?"mouseleave":"focusout";this.$element.on(h+"."+this.type,this.options.selector,a.proxy(this.enter,this)),this.$element.on(i+"."+this.type,this.options.selector,a.proxy(this.leave,this))}}this.options.selector?this._options=a.extend({},this.options,{trigger:"manual",selector:""}):this.fixTitle()},c.prototype.getDefaults=function(){return c.DEFAULTS},c.prototype.getOptions=function(b){return b=a.extend({},this.getDefaults(),this.$element.data(),b),b.delay&&"number"==typeof b.delay&&(b.delay={show:b.delay,hide:b.delay}),b},c.prototype.getDelegateOptions=function(){var b={},c=this.getDefaults();return this._options&&a.each(this._options,function(a,d){c[a]!=d&&(b[a]=d)}),b},c.prototype.enter=function(b){var c=b instanceof this.constructor?b:a(b.currentTarget).data("bs."+this.type);return c||(c=new this.constructor(b.currentTarget,this.getDelegateOptions()),a(b.currentTarget).data("bs."+this.type,c)),b instanceof a.Event&&(c.inState["focusin"==b.type?"focus":"hover"]=!0),c.tip().hasClass("in")||"in"==c.hoverState?void(c.hoverState="in"):(clearTimeout(c.timeout),c.hoverState="in",c.options.delay&&c.options.delay.show?void(c.timeout=setTimeout(function(){"in"==c.hoverState&&c.show()},c.options.delay.show)):c.show())},c.prototype.isInStateTrue=function(){for(var a in this.inState)if(this.inState[a])return!0;return!1},c.prototype.leave=function(b){var c=b instanceof this.constructor?b:a(b.currentTarget).data("bs."+this.type);if(c||(c=new this.constructor(b.currentTarget,this.getDelegateOptions()),a(b.currentTarget).data("bs."+this.type,c)),b instanceof a.Event&&(c.inState["focusout"==b.type?"focus":"hover"]=!1),!c.isInStateTrue())return clearTimeout(c.timeout),c.hoverState="out",c.options.delay&&c.options.delay.hide?void(c.timeout=setTimeout(function(){"out"==c.hoverState&&c.hide()},c.options.delay.hide)):c.hide()},c.prototype.show=function(){var b=a.Event("show.bs."+this.type);if(this.hasContent()&&this.enabled){this.$element.trigger(b);var d=a.contains(this.$element[0].ownerDocument.documentElement,this.$element[0]);if(b.isDefaultPrevented()||!d)return;var e=this,f=this.tip(),g=this.getUID(this.type);this.setContent(),f.attr("id",g),this.$element.attr("aria-describedby",g),this.options.animation&&f.addClass("fade");var h="function"==typeof this.options.placement?this.options.placement.call(this,f[0],this.$element[0]):this.options.placement,i=/\s?auto?\s?/i,j=i.test(h);j&&(h=h.replace(i,"")||"top"),f.detach().css({top:0,left:0,display:"block"}).addClass(h).data("bs."+this.type,this),this.options.container?f.appendTo(this.options.container):f.insertAfter(this.$element),this.$element.trigger("inserted.bs."+this.type);var k=this.getPosition(),l=f[0].offsetWidth,m=f[0].offsetHeight;if(j){var n=h,o=this.getPosition(this.$viewport);h="bottom"==h&&k.bottom+m>o.bottom?"top":"top"==h&&k.top-mo.width?"left":"left"==h&&k.left-lg.top+g.height&&(e.top=g.top+g.height-i)}else{var j=b.left-f,k=b.left+f+c;jg.right&&(e.left=g.left+g.width-k)}return e},c.prototype.getTitle=function(){var a,b=this.$element,c=this.options;return a=b.attr("data-original-title")||("function"==typeof c.title?c.title.call(b[0]):c.title)},c.prototype.getUID=function(a){do a+=~~(1e6*Math.random());while(document.getElementById(a));return a},c.prototype.tip=function(){if(!this.$tip&&(this.$tip=a(this.options.template),1!=this.$tip.length))throw new Error(this.type+" `template` option must consist of exactly 1 top-level element!");return this.$tip},c.prototype.arrow=function(){return this.$arrow=this.$arrow||this.tip().find(".tooltip-arrow")},c.prototype.enable=function(){this.enabled=!0},c.prototype.disable=function(){this.enabled=!1},c.prototype.toggleEnabled=function(){this.enabled=!this.enabled},c.prototype.toggle=function(b){var c=this;b&&(c=a(b.currentTarget).data("bs."+this.type),c||(c=new this.constructor(b.currentTarget,this.getDelegateOptions()),a(b.currentTarget).data("bs."+this.type,c))),b?(c.inState.click=!c.inState.click,c.isInStateTrue()?c.enter(c):c.leave(c)):c.tip().hasClass("in")?c.leave(c):c.enter(c)},c.prototype.destroy=function(){var a=this;clearTimeout(this.timeout),this.hide(function(){a.$element.off("."+a.type).removeData("bs."+a.type),a.$tip&&a.$tip.detach(),a.$tip=null,a.$arrow=null,a.$viewport=null,a.$element=null})};var d=a.fn.tooltip;a.fn.tooltip=b,a.fn.tooltip.Constructor=c,a.fn.tooltip.noConflict=function(){return a.fn.tooltip=d,this}}(jQuery),+function(a){"use strict";function b(b){return this.each(function(){var d=a(this),e=d.data("bs.popover"),f="object"==typeof b&&b;!e&&/destroy|hide/.test(b)||(e||d.data("bs.popover",e=new c(this,f)),"string"==typeof b&&e[b]())})}var c=function(a,b){this.init("popover",a,b)};if(!a.fn.tooltip)throw new Error("Popover%20requires%20tooltip.html");c.VERSION="3.3.7",c.DEFAULTS=a.extend({},a.fn.tooltip.Constructor.DEFAULTS,{placement:"right",trigger:"click",content:"",template:''}),c.prototype=a.extend({},a.fn.tooltip.Constructor.prototype),c.prototype.constructor=c,c.prototype.getDefaults=function(){return c.DEFAULTS},c.prototype.setContent=function(){var a=this.tip(),b=this.getTitle(),c=this.getContent();a.find(".popover-title")[this.options.html?"html":"text"](b),a.find(".popover-content").children().detach().end()[this.options.html?"string"==typeof c?"html":"append":"text"](c),a.removeClass("fade top bottom left right in"),a.find(".popover-title").html()||a.find(".popover-title").hide()},c.prototype.hasContent=function(){return this.getTitle()||this.getContent()},c.prototype.getContent=function(){var a=this.$element,b=this.options;return a.attr("data-content")||("function"==typeof b.content?b.content.call(a[0]):b.content)},c.prototype.arrow=function(){return this.$arrow=this.$arrow||this.tip().find(".arrow")};var d=a.fn.popover;a.fn.popover=b,a.fn.popover.Constructor=c,a.fn.popover.noConflict=function(){return a.fn.popover=d,this}}(jQuery),+function(a){"use strict";function b(c,d){this.$body=a(document.body),this.$scrollElement=a(a(c).is(document.body)?window:c),this.options=a.extend({},b.DEFAULTS,d),this.selector=(this.options.target||"")+" .nav li > a",this.offsets=[],this.targets=[],this.activeTarget=null,this.scrollHeight=0,this.$scrollElement.on("scroll.bs.scrollspy",a.proxy(this.process,this)),this.refresh(),this.process()}function c(c){return this.each(function(){var d=a(this),e=d.data("bs.scrollspy"),f="object"==typeof c&&c;e||d.data("bs.scrollspy",e=new b(this,f)),"string"==typeof c&&e[c]()})}b.VERSION="3.3.7",b.DEFAULTS={offset:10},b.prototype.getScrollHeight=function(){return this.$scrollElement[0].scrollHeight||Math.max(this.$body[0].scrollHeight,document.documentElement.scrollHeight)},b.prototype.refresh=function(){var b=this,c="offset",d=0;this.offsets=[],this.targets=[],this.scrollHeight=this.getScrollHeight(),a.isWindow(this.$scrollElement[0])||(c="position",d=this.$scrollElement.scrollTop()),this.$body.find(this.selector).map(function(){var b=a(this),e=b.data("target")||b.attr("href"),f=/^#./.test(e)&&a(e);return f&&f.length&&f.is(":visible")&&[[f[c]().top+d,e]]||null}).sort(function(a,b){return a[0]-b[0]}).each(function(){b.offsets.push(this[0]),b.targets.push(this[1])})},b.prototype.process=function(){var a,b=this.$scrollElement.scrollTop()+this.options.offset,c=this.getScrollHeight(),d=this.options.offset+c-this.$scrollElement.height(),e=this.offsets,f=this.targets,g=this.activeTarget;if(this.scrollHeight!=c&&this.refresh(),b>=d)return g!=(a=f[f.length-1])&&this.activate(a);if(g&&b=e[a]&&(void 0===e[a+1]||b .dropdown-menu > .active").removeClass("active").end().find('[data-toggle="tab"]').attr("aria-expanded",!1),b.addClass("active").find('[data-toggle="tab"]').attr("aria-expanded",!0),h?(b[0].offsetWidth,b.addClass("in")):b.removeClass("fade"),b.parent(".dropdown-menu").length&&b.closest("li.dropdown").addClass("active").end().find('[data-toggle="tab"]').attr("aria-expanded",!0),e&&e()}var g=d.find("> .active"),h=e&&a.support.transition&&(g.length&&g.hasClass("fade")||!!d.find("> .fade").length);g.length&&h?g.one("bsTransitionEnd",f).emulateTransitionEnd(c.TRANSITION_DURATION):f(),g.removeClass("in")};var d=a.fn.tab;a.fn.tab=b,a.fn.tab.Constructor=c,a.fn.tab.noConflict=function(){return a.fn.tab=d,this};var e=function(c){c.preventDefault(),b.call(a(this),"show")};a(document).on("click.bs.tab.data-api",'[data-toggle="tab"]',e).on("click.bs.tab.data-api",'[data-toggle="pill"]',e)}(jQuery),+function(a){"use strict";function b(b){return this.each(function(){var d=a(this),e=d.data("bs.affix"),f="object"==typeof b&&b;e||d.data("bs.affix",e=new c(this,f)),"string"==typeof b&&e[b]()})}var c=function(b,d){this.options=a.extend({},c.DEFAULTS,d),this.$target=a(this.options.target).on("scroll.bs.affix.data-api",a.proxy(this.checkPosition,this)).on("click.bs.affix.data-api",a.proxy(this.checkPositionWithEventLoop,this)),this.$element=a(b),this.affixed=null,this.unpin=null,this.pinnedOffset=null,this.checkPosition()};c.VERSION="3.3.7",c.RESET="affix affix-top affix-bottom",c.DEFAULTS={offset:0,target:window},c.prototype.getState=function(a,b,c,d){var e=this.$target.scrollTop(),f=this.$element.offset(),g=this.$target.height();if(null!=c&&"top"==this.affixed)return e=a-d&&"bottom"},c.prototype.getPinnedOffset=function(){if(this.pinnedOffset)return this.pinnedOffset;this.$element.removeClass(c.RESET).addClass("affix");var a=this.$target.scrollTop(),b=this.$element.offset();return this.pinnedOffset=b.top-a},c.prototype.checkPositionWithEventLoop=function(){setTimeout(a.proxy(this.checkPosition,this),1)},c.prototype.checkPosition=function(){if(this.$element.is(":visible")){var b=this.$element.height(),d=this.options.offset,e=d.top,f=d.bottom,g=Math.max(a(document).height(),a(document.body).height());"object"!=typeof d&&(f=e=d),"function"==typeof e&&(e=d.top(this.$element)),"function"==typeof f&&(f=d.bottom(this.$element));var h=this.getState(g,b,e,f);if(this.affixed!=h){null!=this.unpin&&this.$element.css("top","");var i="affix"+(h?"-"+h:""),j=a.Event(i+".bs.affix");if(this.$element.trigger(j),j.isDefaultPrevented())return;this.affixed=h,this.unpin="bottom"==h?this.getPinnedOffset():null,this.$element.removeClass(c.RESET).addClass(i).trigger(i.replace("affix","affixed")+".bs.affix")}"bottom"==h&&this.$element.offset({top:g-b-f})}};var d=a.fn.affix;a.fn.affix=b,a.fn.affix.Constructor=c,a.fn.affix.noConflict=function(){return a.fn.affix=d,this},a(window).on("load",function(){a('[data-spy="affix"]').each(function(){var c=a(this),d=c.data();d.offset=d.offset||{},null!=d.offsetBottom&&(d.offset.bottom=d.offsetBottom),null!=d.offsetTop&&(d.offset.top=d.offsetTop),b.call(c,d)})})}(jQuery); \ No newline at end of file diff --git a/Show-Crypto-Currency-Price-in-Graph/amol/public/assets/js/core/libraries/jasny_bootstrap.min.js b/Show-Crypto-Currency-Price-in-Graph/amol/public/assets/js/core/libraries/jasny_bootstrap.min.js new file mode 100644 index 0000000..e87262f --- /dev/null +++ b/Show-Crypto-Currency-Price-in-Graph/amol/public/assets/js/core/libraries/jasny_bootstrap.min.js @@ -0,0 +1,6 @@ +/*! + * Jasny Bootstrap v3.1.3 (http://jasny.github.io/bootstrap) + * Copyright 2012-2014 Arnold Daniels + * Licensed under Apache-2.0 (https://github.com/jasny/bootstrap/blob/master/LICENSE) + */ +if("undefined"==typeof jQuery)throw new Error("Jasny Bootstrap's JavaScript requires jQuery");+function(a){"use strict";function b(){var a=document.createElement("bootstrap"),b={WebkitTransition:"webkitTransitionEnd",MozTransition:"transitionend",OTransition:"oTransitionEnd otransitionend",transition:"transitionend"};for(var c in b)if(void 0!==a.style[c])return{end:b[c]};return!1}void 0===a.support.transition&&(a.fn.emulateTransitionEnd=function(b){var c=!1,d=this;a(this).one(a.support.transition.end,function(){c=!0});var e=function(){c||a(d).trigger(a.support.transition.end)};return setTimeout(e,b),this},a(function(){a.support.transition=b()}))}(window.jQuery),+function(a){"use strict";var b=function(c,d){this.$element=a(c),this.options=a.extend({},b.DEFAULTS,d),this.state=null,this.placement=null,this.options.recalc&&(this.calcClone(),a(window).on("resize",a.proxy(this.recalc,this))),this.options.autohide&&a(document).on("click",a.proxy(this.autohide,this)),this.options.toggle&&this.toggle(),this.options.disablescrolling&&(this.options.disableScrolling=this.options.disablescrolling,delete this.options.disablescrolling)};b.DEFAULTS={toggle:!0,placement:"auto",autohide:!0,recalc:!0,disableScrolling:!0,modal:!1},b.prototype.offset=function(){switch(this.placement){case"left":case"right":return this.$element.outerWidth();case"top":case"bottom":return this.$element.outerHeight()}},b.prototype.calcPlacement=function(){function b(a,b){if("auto"===e.css(b))return a;if("auto"===e.css(a))return b;var c=parseInt(e.css(a),10),d=parseInt(e.css(b),10);return c>d?b:a}if("auto"!==this.options.placement)return void(this.placement=this.options.placement);this.$element.hasClass("in")||this.$element.css("visiblity","hidden !important").addClass("in");var c=a(window).width()/this.$element.width(),d=a(window).height()/this.$element.height(),e=this.$element;this.placement=c>=d?b("left","right"):b("top","bottom"),"hidden !important"===this.$element.css("visibility")&&this.$element.removeClass("in").css("visiblity","")},b.prototype.opposite=function(a){switch(a){case"top":return"bottom";case"left":return"right";case"bottom":return"top";case"right":return"left"}},b.prototype.getCanvasElements=function(){var b=this.options.canvas?a(this.options.canvas):this.$element,c=b.find("*").filter(function(){return"fixed"===a(this).css("position")}).not(this.options.exclude);return b.add(c)},b.prototype.slide=function(b,c,d){if(!a.support.transition){var e={};return e[this.placement]="+="+c,b.animate(e,350,d)}var f=this.placement,g=this.opposite(f);b.each(function(){"auto"!==a(this).css(f)&&a(this).css(f,(parseInt(a(this).css(f),10)||0)+c),"auto"!==a(this).css(g)&&a(this).css(g,(parseInt(a(this).css(g),10)||0)-c)}),this.$element.one(a.support.transition.end,d).emulateTransitionEnd(350)},b.prototype.disableScrolling=function(){var b=a("body").width(),c="padding-"+this.opposite(this.placement);if(void 0===a("body").data("offcanvas-style")&&a("body").data("offcanvas-style",a("body").attr("style")||""),a("body").css("overflow","hidden"),a("body").width()>b){var d=parseInt(a("body").css(c),10)+a("body").width()-b;setTimeout(function(){a("body").css(c,d)},1)}a("body").on("touchmove.bs",function(a){a.preventDefault()})},b.prototype.enableScrolling=function(){a("body").off("touchmove.bs")},b.prototype.show=function(){if(!this.state){var b=a.Event("show.bs.offcanvas");if(this.$element.trigger(b),!b.isDefaultPrevented()){this.state="slide-in",this.calcPlacement();var c=this.getCanvasElements(),d=this.placement,e=this.opposite(d),f=this.offset();-1!==c.index(this.$element)&&(a(this.$element).data("offcanvas-style",a(this.$element).attr("style")||""),this.$element.css(d,-1*f),this.$element.css(d)),c.addClass("canvas-sliding").each(function(){void 0===a(this).data("offcanvas-style")&&a(this).data("offcanvas-style",a(this).attr("style")||""),"static"===a(this).css("position")&&a(this).css("position","relative"),"auto"!==a(this).css(d)&&"0px"!==a(this).css(d)||"auto"!==a(this).css(e)&&"0px"!==a(this).css(e)||a(this).css(d,0)}),this.options.disableScrolling&&this.disableScrolling(),this.options.modal&&this.toggleBackdrop();var g=function(){"slide-in"==this.state&&(this.state="slid",c.removeClass("canvas-sliding").addClass("canvas-slid"),this.$element.trigger("shown.bs.offcanvas"))};setTimeout(a.proxy(function(){this.$element.addClass("in"),this.slide(c,f,a.proxy(g,this))},this),1)}}},b.prototype.hide=function(){if("slid"===this.state){var b=a.Event("hide.bs.offcanvas");if(this.$element.trigger(b),!b.isDefaultPrevented()){this.state="slide-out";var c=a(".canvas-slid"),d=(this.placement,-1*this.offset()),e=function(){"slide-out"==this.state&&(this.state=null,this.placement=null,this.$element.removeClass("in"),c.removeClass("canvas-sliding"),c.add(this.$element).add("body").each(function(){a(this).attr("style",a(this).data("offcanvas-style")).removeData("offcanvas-style")}),this.$element.trigger("hidden.bs.offcanvas"))};this.options.disableScrolling&&this.enableScrolling(),this.options.modal&&this.toggleBackdrop(),c.removeClass("canvas-slid").addClass("canvas-sliding"),setTimeout(a.proxy(function(){this.slide(c,d,a.proxy(e,this))},this),1)}}},b.prototype.toggle=function(){"slide-in"!==this.state&&"slide-out"!==this.state&&this["slid"===this.state?"hide":"show"]()},b.prototype.toggleBackdrop=function(b){if(b=b||a.noop,"slide-in"==this.state){var c=a.support.transition;this.$backdrop=a('').insertAfter(this.$element),c&&this.$backdrop[0].offsetWidth,this.$backdrop.addClass("in"),c?this.$backdrop.one(a.support.transition.end,b).emulateTransitionEnd(150):b()}else if("slide-out"==this.state&&this.$backdrop){this.$backdrop.removeClass("in"),a("body").off("touchmove.bs");var d=this;a.support.transition?this.$backdrop.one(a.support.transition.end,function(){d.$backdrop.remove(),b(),d.$backdrop=null}).emulateTransitionEnd(150):(this.$backdrop.remove(),this.$backdrop=null,b())}else b&&b()},b.prototype.calcClone=function(){this.$calcClone=this.$element.clone().html("").addClass("offcanvas-clone").removeClass("in").appendTo(a("body"))},b.prototype.recalc=function(){if("none"!==this.$calcClone.css("display")&&("slid"===this.state||"slide-in"===this.state)){this.state=null,this.placement=null;var b=this.getCanvasElements();this.$element.removeClass("in"),b.removeClass("canvas-slid"),b.add(this.$element).add("body").each(function(){a(this).attr("style",a(this).data("offcanvas-style")).removeData("offcanvas-style")})}},b.prototype.autohide=function(b){0===a(b.target).closest(this.$element).length&&this.hide()};var c=a.fn.offcanvas;a.fn.offcanvas=function(c){return this.each(function(){var d=a(this),e=d.data("bs.offcanvas"),f=a.extend({},b.DEFAULTS,d.data(),"object"==typeof c&&c);e||d.data("bs.offcanvas",e=new b(this,f)),"string"==typeof c&&e[c]()})},a.fn.offcanvas.Constructor=b,a.fn.offcanvas.noConflict=function(){return a.fn.offcanvas=c,this},a(document).on("click.bs.offcanvas.data-api","[data-toggle=offcanvas]",function(b){var c,d=a(this),e=d.attr("data-target")||b.preventDefault()||(c=d.attr("href"))&&c.replace(/.*(?=#[^\s]+$)/,""),f=a(e),g=f.data("bs.offcanvas"),h=g?"toggle":d.data();b.stopPropagation(),g?g.toggle():f.offcanvas(h)})}(window.jQuery),+function(a){"use strict";var b=function(c,d){this.$element=a(c),this.options=a.extend({},b.DEFAULTS,d),this.$element.on("click.bs.rowlink","td:not(.rowlink-skip)",a.proxy(this.click,this))};b.DEFAULTS={target:"a"},b.prototype.click=function(b){var c=a(b.currentTarget).closest("tr").find(this.options.target)[0];if(a(b.target)[0]!==c)if(b.preventDefault(),c.click)c.click();else if(document.createEvent){var d=document.createEvent("MouseEvents");d.initMouseEvent("click",!0,!0,window,0,0,0,0,0,!1,!1,!1,!1,0,null),c.dispatchEvent(d)}};var c=a.fn.rowlink;a.fn.rowlink=function(c){return this.each(function(){var d=a(this),e=d.data("bs.rowlink");e||d.data("bs.rowlink",e=new b(this,c))})},a.fn.rowlink.Constructor=b,a.fn.rowlink.noConflict=function(){return a.fn.rowlink=c,this},a(document).on("click.bs.rowlink.data-api",'[data-link="row"]',function(b){if(0===a(b.target).closest(".rowlink-skip").length){var c=a(this);c.data("bs.rowlink")||(c.rowlink(c.data()),a(b.target).trigger("click.bs.rowlink"))}})}(window.jQuery),+function(a){"use strict";var b=void 0!==window.orientation,c=navigator.userAgent.toLowerCase().indexOf("android")>-1,d="Microsoft Internet Explorer"==window.navigator.appName,e=function(b,d){c||(this.$element=a(b),this.options=a.extend({},e.DEFAULTS,d),this.mask=String(this.options.mask),this.init(),this.listen(),this.checkVal())};e.DEFAULTS={mask:"",placeholder:"_",definitions:{9:"[0-9]",a:"[A-Za-z]",w:"[A-Za-z0-9]","*":"."}},e.prototype.init=function(){var b=this.options.definitions,c=this.mask.length;this.tests=[],this.partialPosition=this.mask.length,this.firstNonMaskPos=null,a.each(this.mask.split(""),a.proxy(function(a,d){"?"==d?(c--,this.partialPosition=a):b[d]?(this.tests.push(new RegExp(b[d])),null===this.firstNonMaskPos&&(this.firstNonMaskPos=this.tests.length-1)):this.tests.push(null)},this)),this.buffer=a.map(this.mask.split(""),a.proxy(function(a){return"?"!=a?b[a]?this.options.placeholder:a:void 0},this)),this.focusText=this.$element.val(),this.$element.data("rawMaskFn",a.proxy(function(){return a.map(this.buffer,function(a,b){return this.tests[b]&&a!=this.options.placeholder?a:null}).join("")},this))},e.prototype.listen=function(){if(!this.$element.attr("readonly")){var b=(d?"paste":"input")+".bs.inputmask";this.$element.on("unmask.bs.inputmask",a.proxy(this.unmask,this)).on("focus.bs.inputmask",a.proxy(this.focusEvent,this)).on("blur.bs.inputmask",a.proxy(this.blurEvent,this)).on("keydown.bs.inputmask",a.proxy(this.keydownEvent,this)).on("keypress.bs.inputmask",a.proxy(this.keypressEvent,this)).on(b,a.proxy(this.pasteEvent,this))}},e.prototype.caret=function(a,b){if(0!==this.$element.length){if("number"==typeof a)return b="number"==typeof b?b:a,this.$element.each(function(){if(this.setSelectionRange)this.setSelectionRange(a,b);else if(this.createTextRange){var c=this.createTextRange();c.collapse(!0),c.moveEnd("character",b),c.moveStart("character",a),c.select()}});if(this.$element[0].setSelectionRange)a=this.$element[0].selectionStart,b=this.$element[0].selectionEnd;else if(document.selection&&document.selection.createRange){var c=document.selection.createRange();a=0-c.duplicate().moveStart("character",-1e5),b=a+c.text.length}return{begin:a,end:b}}},e.prototype.seekNext=function(a){for(var b=this.mask.length;++a<=b&&!this.tests[a];);return a},e.prototype.seekPrev=function(a){for(;--a>=0&&!this.tests[a];);return a},e.prototype.shiftL=function(a,b){var c=this.mask.length;if(!(0>a)){for(var d=a,e=this.seekNext(b);c>d;d++)if(this.tests[d]){if(!(c>e&&this.tests[d].test(this.buffer[e])))break;this.buffer[d]=this.buffer[e],this.buffer[e]=this.options.placeholder,e=this.seekNext(e)}this.writeBuffer(),this.caret(Math.max(this.firstNonMaskPos,a))}},e.prototype.shiftR=function(a){for(var b=this.mask.length,c=a,d=this.options.placeholder;b>c;c++)if(this.tests[c]){var e=this.seekNext(c),f=this.buffer[c];if(this.buffer[c]=d,!(b>e&&this.tests[e].test(f)))break;d=f}},e.prototype.unmask=function(){this.$element.unbind(".bs.inputmask").removeData("bs.inputmask")},e.prototype.focusEvent=function(){this.focusText=this.$element.val();var a=this.mask.length,b=this.checkVal();this.writeBuffer();var c=this,d=function(){b==a?c.caret(0,b):c.caret(b)};d(),setTimeout(d,50)},e.prototype.blurEvent=function(){this.checkVal(),this.$element.val()!==this.focusText&&(this.$element.trigger("change"),this.$element.trigger("input"))},e.prototype.keydownEvent=function(a){var c=a.which;if(8==c||46==c||b&&127==c){var d=this.caret(),e=d.begin,f=d.end;return f-e===0&&(e=46!=c?this.seekPrev(e):f=this.seekNext(e-1),f=46==c?this.seekNext(f):f),this.clearBuffer(e,f),this.shiftL(e,f-1),!1}return 27==c?(this.$element.val(this.focusText),this.caret(0,this.checkVal()),!1):void 0},e.prototype.keypressEvent=function(a){var b=this.mask.length,c=a.which,d=this.caret();if(a.ctrlKey||a.altKey||a.metaKey||32>c)return!0;if(c){d.end-d.begin!==0&&(this.clearBuffer(d.begin,d.end),this.shiftL(d.begin,d.end-1));var e=this.seekNext(d.begin-1);if(b>e){var f=String.fromCharCode(c);if(this.tests[e].test(f)){this.shiftR(e),this.buffer[e]=f,this.writeBuffer();var g=this.seekNext(e);this.caret(g)}}return!1}},e.prototype.pasteEvent=function(){var a=this;setTimeout(function(){a.caret(a.checkVal(!0))},0)},e.prototype.clearBuffer=function(a,b){for(var c=this.mask.length,d=a;b>d&&c>d;d++)this.tests[d]&&(this.buffer[d]=this.options.placeholder)},e.prototype.writeBuffer=function(){return this.$element.val(this.buffer.join("")).val()},e.prototype.checkVal=function(a){for(var b=this.mask.length,c=this.$element.val(),d=-1,e=0,f=0;b>e;e++)if(this.tests[e]){for(this.buffer[e]=this.options.placeholder;f++c.length)break}else this.buffer[e]==c.charAt(f)&&e!=this.partialPosition&&(f++,d=e);return!a&&d+1=this.partialPosition)&&(this.writeBuffer(),a||this.$element.val(this.$element.val().substring(0,d+1))),this.partialPosition?e:this.firstNonMaskPos};var f=a.fn.inputmask;a.fn.inputmask=function(b){return this.each(function(){var c=a(this),d=c.data("bs.inputmask");d||c.data("bs.inputmask",d=new e(this,b))})},a.fn.inputmask.Constructor=e,a.fn.inputmask.noConflict=function(){return a.fn.inputmask=f,this},a(document).on("focus.bs.inputmask.data-api","[data-mask]",function(){var b=a(this);b.data("bs.inputmask")||b.inputmask(b.data())})}(window.jQuery),+function(a){"use strict";var b="Microsoft Internet Explorer"==window.navigator.appName,c=function(b,c){if(this.$element=a(b),this.$input=this.$element.find(":file"),0!==this.$input.length){this.name=this.$input.attr("name")||c.name,this.$hidden=this.$element.find('input[type=hidden][name="'+this.name+'"]'),0===this.$hidden.length&&(this.$hidden=a('').insertBefore(this.$input)),this.$preview=this.$element.find(".fileinput-preview");var d=this.$preview.css("height");"inline"!==this.$preview.css("display")&&"0px"!==d&&"none"!==d&&this.$preview.css("line-height",d),this.original={exists:this.$element.hasClass("fileinput-exists"),preview:this.$preview.html(),hiddenVal:this.$hidden.val()},this.listen()}};c.prototype.listen=function(){this.$input.on("change.bs.fileinput",a.proxy(this.change,this)),a(this.$input[0].form).on("reset.bs.fileinput",a.proxy(this.reset,this)),this.$element.find('[data-trigger="fileinput"]').on("click.bs.fileinput",a.proxy(this.trigger,this)),this.$element.find('[data-dismiss="fileinput"]').on("click.bs.fileinput",a.proxy(this.clear,this))},c.prototype.change=function(b){var c=void 0===b.target.files?b.target&&b.target.value?[{name:b.target.value.replace(/^.+\\/,"")}]:[]:b.target.files;if(b.stopPropagation(),0===c.length)return void this.clear();this.$hidden.val(""),this.$hidden.attr("name",""),this.$input.attr("name",this.name);var d=c[0];if(this.$preview.length>0&&("undefined"!=typeof d.type?d.type.match(/^image\/(gif|png|jpeg)$/):d.name.match(/\.(gif|png|jpe?g)$/i))&&"undefined"!=typeof FileReader){var e=new FileReader,f=this.$preview,g=this.$element;e.onload=function(b){var e=a("");e[0].src=b.target.result,c[0].result=b.target.result,g.find(".fileinput-filename").text(d.name),"none"!=f.css("max-height")&&e.css("max-height",parseInt(f.css("max-height"),10)-parseInt(f.css("padding-top"),10)-parseInt(f.css("padding-bottom"),10)-parseInt(f.css("border-top"),10)-parseInt(f.css("border-bottom"),10)),f.html(e),g.addClass("fileinput-exists").removeClass("fileinput-new"),g.trigger("change.bs.fileinput",c)},e.readAsDataURL(d)}else this.$element.find(".fileinput-filename").text(d.name),this.$preview.text(d.name),this.$element.addClass("fileinput-exists").removeClass("fileinput-new"),this.$element.trigger("change.bs.fileinput")},c.prototype.clear=function(a){if(a&&a.preventDefault(),this.$hidden.val(""),this.$hidden.attr("name",this.name),this.$input.attr("name",""),b){var c=this.$input.clone(!0);this.$input.after(c),this.$input.remove(),this.$input=c}else this.$input.val("");this.$preview.html(""),this.$element.find(".fileinput-filename").text(""),this.$element.addClass("fileinput-new").removeClass("fileinput-exists"),void 0!==a&&(this.$input.trigger("change"),this.$element.trigger("clear.bs.fileinput"))},c.prototype.reset=function(){this.clear(),this.$hidden.val(this.original.hiddenVal),this.$preview.html(this.original.preview),this.$element.find(".fileinput-filename").text(""),this.original.exists?this.$element.addClass("fileinput-exists").removeClass("fileinput-new"):this.$element.addClass("fileinput-new").removeClass("fileinput-exists"),this.$element.trigger("reset.bs.fileinput")},c.prototype.trigger=function(a){this.$input.trigger("click"),a.preventDefault()};var d=a.fn.fileinput;a.fn.fileinput=function(b){return this.each(function(){var d=a(this),e=d.data("bs.fileinput");e||d.data("bs.fileinput",e=new c(this,b)),"string"==typeof b&&e[b]()})},a.fn.fileinput.Constructor=c,a.fn.fileinput.noConflict=function(){return a.fn.fileinput=d,this},a(document).on("click.fileinput.data-api",'[data-provides="fileinput"]',function(b){var c=a(this);if(!c.data("bs.fileinput")){c.fileinput(c.data());var d=a(b.target).closest('[data-dismiss="fileinput"],[data-trigger="fileinput"]');d.length>0&&(b.preventDefault(),d.trigger("click.bs.fileinput"))}})}(window.jQuery); diff --git a/Show-Crypto-Currency-Price-in-Graph/amol/public/assets/js/core/libraries/jquery.min.js b/Show-Crypto-Currency-Price-in-Graph/amol/public/assets/js/core/libraries/jquery.min.js new file mode 100644 index 0000000..49990d6 --- /dev/null +++ b/Show-Crypto-Currency-Price-in-Graph/amol/public/assets/js/core/libraries/jquery.min.js @@ -0,0 +1,4 @@ +/*! jQuery v2.1.4 | (c) 2005, 2015 jQuery Foundation, Inc. | jquery.org/license */ +!function(a,b){"object"==typeof module&&"object"==typeof module.exports?module.exports=a.document?b(a,!0):function(a){if(!a.document)throw new Error("jQuery requires a window with a document");return b(a)}:b(a)}("undefined"!=typeof window?window:this,function(a,b){var c=[],d=c.slice,e=c.concat,f=c.push,g=c.indexOf,h={},i=h.toString,j=h.hasOwnProperty,k={},l=a.document,m="2.1.4",n=function(a,b){return new n.fn.init(a,b)},o=/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,p=/^-ms-/,q=/-([\da-z])/gi,r=function(a,b){return b.toUpperCase()};n.fn=n.prototype={jquery:m,constructor:n,selector:"",length:0,toArray:function(){return d.call(this)},get:function(a){return null!=a?0>a?this[a+this.length]:this[a]:d.call(this)},pushStack:function(a){var b=n.merge(this.constructor(),a);return b.prevObject=this,b.context=this.context,b},each:function(a,b){return n.each(this,a,b)},map:function(a){return this.pushStack(n.map(this,function(b,c){return a.call(b,c,b)}))},slice:function(){return this.pushStack(d.apply(this,arguments))},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},eq:function(a){var b=this.length,c=+a+(0>a?b:0);return this.pushStack(c>=0&&b>c?[this[c]]:[])},end:function(){return this.prevObject||this.constructor(null)},push:f,sort:c.sort,splice:c.splice},n.extend=n.fn.extend=function(){var a,b,c,d,e,f,g=arguments[0]||{},h=1,i=arguments.length,j=!1;for("boolean"==typeof g&&(j=g,g=arguments[h]||{},h++),"object"==typeof g||n.isFunction(g)||(g={}),h===i&&(g=this,h--);i>h;h++)if(null!=(a=arguments[h]))for(b in a)c=g[b],d=a[b],g!==d&&(j&&d&&(n.isPlainObject(d)||(e=n.isArray(d)))?(e?(e=!1,f=c&&n.isArray(c)?c:[]):f=c&&n.isPlainObject(c)?c:{},g[b]=n.extend(j,f,d)):void 0!==d&&(g[b]=d));return g},n.extend({expando:"jQuery"+(m+Math.random()).replace(/\D/g,""),isReady:!0,error:function(a){throw new Error(a)},noop:function(){},isFunction:function(a){return"function"===n.type(a)},isArray:Array.isArray,isWindow:function(a){return null!=a&&a===a.window},isNumeric:function(a){return!n.isArray(a)&&a-parseFloat(a)+1>=0},isPlainObject:function(a){return"object"!==n.type(a)||a.nodeType||n.isWindow(a)?!1:a.constructor&&!j.call(a.constructor.prototype,"isPrototypeOf")?!1:!0},isEmptyObject:function(a){var b;for(b in a)return!1;return!0},type:function(a){return null==a?a+"":"object"==typeof a||"function"==typeof a?h[i.call(a)]||"object":typeof a},globalEval:function(a){var b,c=eval;a=n.trim(a),a&&(1===a.indexOf("use strict")?(b=l.createElement("script"),b.text=a,l.head.appendChild(b).parentNode.removeChild(b)):c(a))},camelCase:function(a){return a.replace(p,"ms-").replace(q,r)},nodeName:function(a,b){return a.nodeName&&a.nodeName.toLowerCase()===b.toLowerCase()},each:function(a,b,c){var d,e=0,f=a.length,g=s(a);if(c){if(g){for(;f>e;e++)if(d=b.apply(a[e],c),d===!1)break}else for(e in a)if(d=b.apply(a[e],c),d===!1)break}else if(g){for(;f>e;e++)if(d=b.call(a[e],e,a[e]),d===!1)break}else for(e in a)if(d=b.call(a[e],e,a[e]),d===!1)break;return a},trim:function(a){return null==a?"":(a+"").replace(o,"")},makeArray:function(a,b){var c=b||[];return null!=a&&(s(Object(a))?n.merge(c,"string"==typeof a?[a]:a):f.call(c,a)),c},inArray:function(a,b,c){return null==b?-1:g.call(b,a,c)},merge:function(a,b){for(var c=+b.length,d=0,e=a.length;c>d;d++)a[e++]=b[d];return a.length=e,a},grep:function(a,b,c){for(var d,e=[],f=0,g=a.length,h=!c;g>f;f++)d=!b(a[f],f),d!==h&&e.push(a[f]);return e},map:function(a,b,c){var d,f=0,g=a.length,h=s(a),i=[];if(h)for(;g>f;f++)d=b(a[f],f,c),null!=d&&i.push(d);else for(f in a)d=b(a[f],f,c),null!=d&&i.push(d);return e.apply([],i)},guid:1,proxy:function(a,b){var c,e,f;return"string"==typeof b&&(c=a[b],b=a,a=c),n.isFunction(a)?(e=d.call(arguments,2),f=function(){return a.apply(b||this,e.concat(d.call(arguments)))},f.guid=a.guid=a.guid||n.guid++,f):void 0},now:Date.now,support:k}),n.each("Boolean Number String Function Array Date RegExp Object Error".split(" "),function(a,b){h["[object "+b+"]"]=b.toLowerCase()});function s(a){var b="length"in a&&a.length,c=n.type(a);return"function"===c||n.isWindow(a)?!1:1===a.nodeType&&b?!0:"array"===c||0===b||"number"==typeof b&&b>0&&b-1 in a}var t=function(a){var b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u="sizzle"+1*new Date,v=a.document,w=0,x=0,y=ha(),z=ha(),A=ha(),B=function(a,b){return a===b&&(l=!0),0},C=1<<31,D={}.hasOwnProperty,E=[],F=E.pop,G=E.push,H=E.push,I=E.slice,J=function(a,b){for(var c=0,d=a.length;d>c;c++)if(a[c]===b)return c;return-1},K="checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped",L="[\\x20\\t\\r\\n\\f]",M="(?:\\\\.|[\\w-]|[^\\x00-\\xa0])+",N=M.replace("w","w#"),O="\\["+L+"*("+M+")(?:"+L+"*([*^$|!~]?=)"+L+"*(?:'((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\"|("+N+"))|)"+L+"*\\]",P=":("+M+")(?:\\((('((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\")|((?:\\\\.|[^\\\\()[\\]]|"+O+")*)|.*)\\)|)",Q=new RegExp(L+"+","g"),R=new RegExp("^"+L+"+|((?:^|[^\\\\])(?:\\\\.)*)"+L+"+$","g"),S=new RegExp("^"+L+"*,"+L+"*"),T=new RegExp("^"+L+"*([>+~]|"+L+")"+L+"*"),U=new RegExp("="+L+"*([^\\]'\"]*?)"+L+"*\\]","g"),V=new RegExp(P),W=new RegExp("^"+N+"$"),X={ID:new RegExp("^#("+M+")"),CLASS:new RegExp("^\\.("+M+")"),TAG:new RegExp("^("+M.replace("w","w*")+")"),ATTR:new RegExp("^"+O),PSEUDO:new RegExp("^"+P),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+L+"*(even|odd|(([+-]|)(\\d*)n|)"+L+"*(?:([+-]|)"+L+"*(\\d+)|))"+L+"*\\)|)","i"),bool:new RegExp("^(?:"+K+")$","i"),needsContext:new RegExp("^"+L+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+L+"*((?:-\\d)?\\d*)"+L+"*\\)|)(?=[^-]|$)","i")},Y=/^(?:input|select|textarea|button)$/i,Z=/^h\d$/i,$=/^[^{]+\{\s*\[native \w/,_=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,aa=/[+~]/,ba=/'|\\/g,ca=new RegExp("\\\\([\\da-f]{1,6}"+L+"?|("+L+")|.)","ig"),da=function(a,b,c){var d="0x"+b-65536;return d!==d||c?b:0>d?String.fromCharCode(d+65536):String.fromCharCode(d>>10|55296,1023&d|56320)},ea=function(){m()};try{H.apply(E=I.call(v.childNodes),v.childNodes),E[v.childNodes.length].nodeType}catch(fa){H={apply:E.length?function(a,b){G.apply(a,I.call(b))}:function(a,b){var c=a.length,d=0;while(a[c++]=b[d++]);a.length=c-1}}}function ga(a,b,d,e){var f,h,j,k,l,o,r,s,w,x;if((b?b.ownerDocument||b:v)!==n&&m(b),b=b||n,d=d||[],k=b.nodeType,"string"!=typeof a||!a||1!==k&&9!==k&&11!==k)return d;if(!e&&p){if(11!==k&&(f=_.exec(a)))if(j=f[1]){if(9===k){if(h=b.getElementById(j),!h||!h.parentNode)return d;if(h.id===j)return d.push(h),d}else if(b.ownerDocument&&(h=b.ownerDocument.getElementById(j))&&t(b,h)&&h.id===j)return d.push(h),d}else{if(f[2])return H.apply(d,b.getElementsByTagName(a)),d;if((j=f[3])&&c.getElementsByClassName)return H.apply(d,b.getElementsByClassName(j)),d}if(c.qsa&&(!q||!q.test(a))){if(s=r=u,w=b,x=1!==k&&a,1===k&&"object"!==b.nodeName.toLowerCase()){o=g(a),(r=b.getAttribute("id"))?s=r.replace(ba,"\\$&"):b.setAttribute("id",s),s="[id='"+s+"'] ",l=o.length;while(l--)o[l]=s+ra(o[l]);w=aa.test(a)&&pa(b.parentNode)||b,x=o.join(",")}if(x)try{return H.apply(d,w.querySelectorAll(x)),d}catch(y){}finally{r||b.removeAttribute("id")}}}return i(a.replace(R,"$1"),b,d,e)}function ha(){var a=[];function b(c,e){return a.push(c+" ")>d.cacheLength&&delete b[a.shift()],b[c+" "]=e}return b}function ia(a){return a[u]=!0,a}function ja(a){var b=n.createElement("div");try{return!!a(b)}catch(c){return!1}finally{b.parentNode&&b.parentNode.removeChild(b),b=null}}function ka(a,b){var c=a.split("|"),e=a.length;while(e--)d.attrHandle[c[e]]=b}function la(a,b){var c=b&&a,d=c&&1===a.nodeType&&1===b.nodeType&&(~b.sourceIndex||C)-(~a.sourceIndex||C);if(d)return d;if(c)while(c=c.nextSibling)if(c===b)return-1;return a?1:-1}function ma(a){return function(b){var c=b.nodeName.toLowerCase();return"input"===c&&b.type===a}}function na(a){return function(b){var c=b.nodeName.toLowerCase();return("input"===c||"button"===c)&&b.type===a}}function oa(a){return ia(function(b){return b=+b,ia(function(c,d){var e,f=a([],c.length,b),g=f.length;while(g--)c[e=f[g]]&&(c[e]=!(d[e]=c[e]))})})}function pa(a){return a&&"undefined"!=typeof a.getElementsByTagName&&a}c=ga.support={},f=ga.isXML=function(a){var b=a&&(a.ownerDocument||a).documentElement;return b?"HTML"!==b.nodeName:!1},m=ga.setDocument=function(a){var b,e,g=a?a.ownerDocument||a:v;return g!==n&&9===g.nodeType&&g.documentElement?(n=g,o=g.documentElement,e=g.defaultView,e&&e!==e.top&&(e.addEventListener?e.addEventListener("unload",ea,!1):e.attachEvent&&e.attachEvent("onunload",ea)),p=!f(g),c.attributes=ja(function(a){return a.className="i",!a.getAttribute("className")}),c.getElementsByTagName=ja(function(a){return a.appendChild(g.createComment("")),!a.getElementsByTagName("*").length}),c.getElementsByClassName=$.test(g.getElementsByClassName),c.getById=ja(function(a){return o.appendChild(a).id=u,!g.getElementsByName||!g.getElementsByName(u).length}),c.getById?(d.find.ID=function(a,b){if("undefined"!=typeof b.getElementById&&p){var c=b.getElementById(a);return c&&c.parentNode?[c]:[]}},d.filter.ID=function(a){var b=a.replace(ca,da);return function(a){return a.getAttribute("id")===b}}):(delete d.find.ID,d.filter.ID=function(a){var b=a.replace(ca,da);return function(a){var c="undefined"!=typeof a.getAttributeNode&&a.getAttributeNode("id");return c&&c.value===b}}),d.find.TAG=c.getElementsByTagName?function(a,b){return"undefined"!=typeof b.getElementsByTagName?b.getElementsByTagName(a):c.qsa?b.querySelectorAll(a):void 0}:function(a,b){var c,d=[],e=0,f=b.getElementsByTagName(a);if("*"===a){while(c=f[e++])1===c.nodeType&&d.push(c);return d}return f},d.find.CLASS=c.getElementsByClassName&&function(a,b){return p?b.getElementsByClassName(a):void 0},r=[],q=[],(c.qsa=$.test(g.querySelectorAll))&&(ja(function(a){o.appendChild(a).innerHTML="",a.querySelectorAll("[msallowcapture^='']").length&&q.push("[*^$]="+L+"*(?:''|\"\")"),a.querySelectorAll("[selected]").length||q.push("\\["+L+"*(?:value|"+K+")"),a.querySelectorAll("[id~="+u+"-]").length||q.push("~="),a.querySelectorAll(":checked").length||q.push(":checked"),a.querySelectorAll("a#"+u+"+*").length||q.push(".#.+[+~]")}),ja(function(a){var b=g.createElement("input");b.setAttribute("type","hidden"),a.appendChild(b).setAttribute("name","D"),a.querySelectorAll("[name=d]").length&&q.push("name"+L+"*[*^$|!~]?="),a.querySelectorAll(":enabled").length||q.push(":enabled",":disabled"),a.querySelectorAll("*,:x"),q.push(",.*:")})),(c.matchesSelector=$.test(s=o.matches||o.webkitMatchesSelector||o.mozMatchesSelector||o.oMatchesSelector||o.msMatchesSelector))&&ja(function(a){c.disconnectedMatch=s.call(a,"div"),s.call(a,"[s!='']:x"),r.push("!=",P)}),q=q.length&&new RegExp(q.join("|")),r=r.length&&new RegExp(r.join("|")),b=$.test(o.compareDocumentPosition),t=b||$.test(o.contains)?function(a,b){var c=9===a.nodeType?a.documentElement:a,d=b&&b.parentNode;return a===d||!(!d||1!==d.nodeType||!(c.contains?c.contains(d):a.compareDocumentPosition&&16&a.compareDocumentPosition(d)))}:function(a,b){if(b)while(b=b.parentNode)if(b===a)return!0;return!1},B=b?function(a,b){if(a===b)return l=!0,0;var d=!a.compareDocumentPosition-!b.compareDocumentPosition;return d?d:(d=(a.ownerDocument||a)===(b.ownerDocument||b)?a.compareDocumentPosition(b):1,1&d||!c.sortDetached&&b.compareDocumentPosition(a)===d?a===g||a.ownerDocument===v&&t(v,a)?-1:b===g||b.ownerDocument===v&&t(v,b)?1:k?J(k,a)-J(k,b):0:4&d?-1:1)}:function(a,b){if(a===b)return l=!0,0;var c,d=0,e=a.parentNode,f=b.parentNode,h=[a],i=[b];if(!e||!f)return a===g?-1:b===g?1:e?-1:f?1:k?J(k,a)-J(k,b):0;if(e===f)return la(a,b);c=a;while(c=c.parentNode)h.unshift(c);c=b;while(c=c.parentNode)i.unshift(c);while(h[d]===i[d])d++;return d?la(h[d],i[d]):h[d]===v?-1:i[d]===v?1:0},g):n},ga.matches=function(a,b){return ga(a,null,null,b)},ga.matchesSelector=function(a,b){if((a.ownerDocument||a)!==n&&m(a),b=b.replace(U,"='$1']"),!(!c.matchesSelector||!p||r&&r.test(b)||q&&q.test(b)))try{var d=s.call(a,b);if(d||c.disconnectedMatch||a.document&&11!==a.document.nodeType)return d}catch(e){}return ga(b,n,null,[a]).length>0},ga.contains=function(a,b){return(a.ownerDocument||a)!==n&&m(a),t(a,b)},ga.attr=function(a,b){(a.ownerDocument||a)!==n&&m(a);var e=d.attrHandle[b.toLowerCase()],f=e&&D.call(d.attrHandle,b.toLowerCase())?e(a,b,!p):void 0;return void 0!==f?f:c.attributes||!p?a.getAttribute(b):(f=a.getAttributeNode(b))&&f.specified?f.value:null},ga.error=function(a){throw new Error("Syntax error, unrecognized expression: "+a)},ga.uniqueSort=function(a){var b,d=[],e=0,f=0;if(l=!c.detectDuplicates,k=!c.sortStable&&a.slice(0),a.sort(B),l){while(b=a[f++])b===a[f]&&(e=d.push(f));while(e--)a.splice(d[e],1)}return k=null,a},e=ga.getText=function(a){var b,c="",d=0,f=a.nodeType;if(f){if(1===f||9===f||11===f){if("string"==typeof a.textContent)return a.textContent;for(a=a.firstChild;a;a=a.nextSibling)c+=e(a)}else if(3===f||4===f)return a.nodeValue}else while(b=a[d++])c+=e(b);return c},d=ga.selectors={cacheLength:50,createPseudo:ia,match:X,attrHandle:{},find:{},relative:{">":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(a){return a[1]=a[1].replace(ca,da),a[3]=(a[3]||a[4]||a[5]||"").replace(ca,da),"~="===a[2]&&(a[3]=" "+a[3]+" "),a.slice(0,4)},CHILD:function(a){return a[1]=a[1].toLowerCase(),"nth"===a[1].slice(0,3)?(a[3]||ga.error(a[0]),a[4]=+(a[4]?a[5]+(a[6]||1):2*("even"===a[3]||"odd"===a[3])),a[5]=+(a[7]+a[8]||"odd"===a[3])):a[3]&&ga.error(a[0]),a},PSEUDO:function(a){var b,c=!a[6]&&a[2];return X.CHILD.test(a[0])?null:(a[3]?a[2]=a[4]||a[5]||"":c&&V.test(c)&&(b=g(c,!0))&&(b=c.indexOf(")",c.length-b)-c.length)&&(a[0]=a[0].slice(0,b),a[2]=c.slice(0,b)),a.slice(0,3))}},filter:{TAG:function(a){var b=a.replace(ca,da).toLowerCase();return"*"===a?function(){return!0}:function(a){return a.nodeName&&a.nodeName.toLowerCase()===b}},CLASS:function(a){var b=y[a+" "];return b||(b=new RegExp("(^|"+L+")"+a+"("+L+"|$)"))&&y(a,function(a){return b.test("string"==typeof a.className&&a.className||"undefined"!=typeof a.getAttribute&&a.getAttribute("class")||"")})},ATTR:function(a,b,c){return function(d){var e=ga.attr(d,a);return null==e?"!="===b:b?(e+="","="===b?e===c:"!="===b?e!==c:"^="===b?c&&0===e.indexOf(c):"*="===b?c&&e.indexOf(c)>-1:"$="===b?c&&e.slice(-c.length)===c:"~="===b?(" "+e.replace(Q," ")+" ").indexOf(c)>-1:"|="===b?e===c||e.slice(0,c.length+1)===c+"-":!1):!0}},CHILD:function(a,b,c,d,e){var f="nth"!==a.slice(0,3),g="last"!==a.slice(-4),h="of-type"===b;return 1===d&&0===e?function(a){return!!a.parentNode}:function(b,c,i){var j,k,l,m,n,o,p=f!==g?"nextSibling":"previousSibling",q=b.parentNode,r=h&&b.nodeName.toLowerCase(),s=!i&&!h;if(q){if(f){while(p){l=b;while(l=l[p])if(h?l.nodeName.toLowerCase()===r:1===l.nodeType)return!1;o=p="only"===a&&!o&&"nextSibling"}return!0}if(o=[g?q.firstChild:q.lastChild],g&&s){k=q[u]||(q[u]={}),j=k[a]||[],n=j[0]===w&&j[1],m=j[0]===w&&j[2],l=n&&q.childNodes[n];while(l=++n&&l&&l[p]||(m=n=0)||o.pop())if(1===l.nodeType&&++m&&l===b){k[a]=[w,n,m];break}}else if(s&&(j=(b[u]||(b[u]={}))[a])&&j[0]===w)m=j[1];else while(l=++n&&l&&l[p]||(m=n=0)||o.pop())if((h?l.nodeName.toLowerCase()===r:1===l.nodeType)&&++m&&(s&&((l[u]||(l[u]={}))[a]=[w,m]),l===b))break;return m-=e,m===d||m%d===0&&m/d>=0}}},PSEUDO:function(a,b){var c,e=d.pseudos[a]||d.setFilters[a.toLowerCase()]||ga.error("unsupported pseudo: "+a);return e[u]?e(b):e.length>1?(c=[a,a,"",b],d.setFilters.hasOwnProperty(a.toLowerCase())?ia(function(a,c){var d,f=e(a,b),g=f.length;while(g--)d=J(a,f[g]),a[d]=!(c[d]=f[g])}):function(a){return e(a,0,c)}):e}},pseudos:{not:ia(function(a){var b=[],c=[],d=h(a.replace(R,"$1"));return d[u]?ia(function(a,b,c,e){var f,g=d(a,null,e,[]),h=a.length;while(h--)(f=g[h])&&(a[h]=!(b[h]=f))}):function(a,e,f){return b[0]=a,d(b,null,f,c),b[0]=null,!c.pop()}}),has:ia(function(a){return function(b){return ga(a,b).length>0}}),contains:ia(function(a){return a=a.replace(ca,da),function(b){return(b.textContent||b.innerText||e(b)).indexOf(a)>-1}}),lang:ia(function(a){return W.test(a||"")||ga.error("unsupported lang: "+a),a=a.replace(ca,da).toLowerCase(),function(b){var c;do if(c=p?b.lang:b.getAttribute("xml:lang")||b.getAttribute("lang"))return c=c.toLowerCase(),c===a||0===c.indexOf(a+"-");while((b=b.parentNode)&&1===b.nodeType);return!1}}),target:function(b){var c=a.location&&a.location.hash;return c&&c.slice(1)===b.id},root:function(a){return a===o},focus:function(a){return a===n.activeElement&&(!n.hasFocus||n.hasFocus())&&!!(a.type||a.href||~a.tabIndex)},enabled:function(a){return a.disabled===!1},disabled:function(a){return a.disabled===!0},checked:function(a){var b=a.nodeName.toLowerCase();return"input"===b&&!!a.checked||"option"===b&&!!a.selected},selected:function(a){return a.parentNode&&a.parentNode.selectedIndex,a.selected===!0},empty:function(a){for(a=a.firstChild;a;a=a.nextSibling)if(a.nodeType<6)return!1;return!0},parent:function(a){return!d.pseudos.empty(a)},header:function(a){return Z.test(a.nodeName)},input:function(a){return Y.test(a.nodeName)},button:function(a){var b=a.nodeName.toLowerCase();return"input"===b&&"button"===a.type||"button"===b},text:function(a){var b;return"input"===a.nodeName.toLowerCase()&&"text"===a.type&&(null==(b=a.getAttribute("type"))||"text"===b.toLowerCase())},first:oa(function(){return[0]}),last:oa(function(a,b){return[b-1]}),eq:oa(function(a,b,c){return[0>c?c+b:c]}),even:oa(function(a,b){for(var c=0;b>c;c+=2)a.push(c);return a}),odd:oa(function(a,b){for(var c=1;b>c;c+=2)a.push(c);return a}),lt:oa(function(a,b,c){for(var d=0>c?c+b:c;--d>=0;)a.push(d);return a}),gt:oa(function(a,b,c){for(var d=0>c?c+b:c;++db;b++)d+=a[b].value;return d}function sa(a,b,c){var d=b.dir,e=c&&"parentNode"===d,f=x++;return b.first?function(b,c,f){while(b=b[d])if(1===b.nodeType||e)return a(b,c,f)}:function(b,c,g){var h,i,j=[w,f];if(g){while(b=b[d])if((1===b.nodeType||e)&&a(b,c,g))return!0}else while(b=b[d])if(1===b.nodeType||e){if(i=b[u]||(b[u]={}),(h=i[d])&&h[0]===w&&h[1]===f)return j[2]=h[2];if(i[d]=j,j[2]=a(b,c,g))return!0}}}function ta(a){return a.length>1?function(b,c,d){var e=a.length;while(e--)if(!a[e](b,c,d))return!1;return!0}:a[0]}function ua(a,b,c){for(var d=0,e=b.length;e>d;d++)ga(a,b[d],c);return c}function va(a,b,c,d,e){for(var f,g=[],h=0,i=a.length,j=null!=b;i>h;h++)(f=a[h])&&(!c||c(f,d,e))&&(g.push(f),j&&b.push(h));return g}function wa(a,b,c,d,e,f){return d&&!d[u]&&(d=wa(d)),e&&!e[u]&&(e=wa(e,f)),ia(function(f,g,h,i){var j,k,l,m=[],n=[],o=g.length,p=f||ua(b||"*",h.nodeType?[h]:h,[]),q=!a||!f&&b?p:va(p,m,a,h,i),r=c?e||(f?a:o||d)?[]:g:q;if(c&&c(q,r,h,i),d){j=va(r,n),d(j,[],h,i),k=j.length;while(k--)(l=j[k])&&(r[n[k]]=!(q[n[k]]=l))}if(f){if(e||a){if(e){j=[],k=r.length;while(k--)(l=r[k])&&j.push(q[k]=l);e(null,r=[],j,i)}k=r.length;while(k--)(l=r[k])&&(j=e?J(f,l):m[k])>-1&&(f[j]=!(g[j]=l))}}else r=va(r===g?r.splice(o,r.length):r),e?e(null,g,r,i):H.apply(g,r)})}function xa(a){for(var b,c,e,f=a.length,g=d.relative[a[0].type],h=g||d.relative[" "],i=g?1:0,k=sa(function(a){return a===b},h,!0),l=sa(function(a){return J(b,a)>-1},h,!0),m=[function(a,c,d){var e=!g&&(d||c!==j)||((b=c).nodeType?k(a,c,d):l(a,c,d));return b=null,e}];f>i;i++)if(c=d.relative[a[i].type])m=[sa(ta(m),c)];else{if(c=d.filter[a[i].type].apply(null,a[i].matches),c[u]){for(e=++i;f>e;e++)if(d.relative[a[e].type])break;return wa(i>1&&ta(m),i>1&&ra(a.slice(0,i-1).concat({value:" "===a[i-2].type?"*":""})).replace(R,"$1"),c,e>i&&xa(a.slice(i,e)),f>e&&xa(a=a.slice(e)),f>e&&ra(a))}m.push(c)}return ta(m)}function ya(a,b){var c=b.length>0,e=a.length>0,f=function(f,g,h,i,k){var l,m,o,p=0,q="0",r=f&&[],s=[],t=j,u=f||e&&d.find.TAG("*",k),v=w+=null==t?1:Math.random()||.1,x=u.length;for(k&&(j=g!==n&&g);q!==x&&null!=(l=u[q]);q++){if(e&&l){m=0;while(o=a[m++])if(o(l,g,h)){i.push(l);break}k&&(w=v)}c&&((l=!o&&l)&&p--,f&&r.push(l))}if(p+=q,c&&q!==p){m=0;while(o=b[m++])o(r,s,g,h);if(f){if(p>0)while(q--)r[q]||s[q]||(s[q]=F.call(i));s=va(s)}H.apply(i,s),k&&!f&&s.length>0&&p+b.length>1&&ga.uniqueSort(i)}return k&&(w=v,j=t),r};return c?ia(f):f}return h=ga.compile=function(a,b){var c,d=[],e=[],f=A[a+" "];if(!f){b||(b=g(a)),c=b.length;while(c--)f=xa(b[c]),f[u]?d.push(f):e.push(f);f=A(a,ya(e,d)),f.selector=a}return f},i=ga.select=function(a,b,e,f){var i,j,k,l,m,n="function"==typeof a&&a,o=!f&&g(a=n.selector||a);if(e=e||[],1===o.length){if(j=o[0]=o[0].slice(0),j.length>2&&"ID"===(k=j[0]).type&&c.getById&&9===b.nodeType&&p&&d.relative[j[1].type]){if(b=(d.find.ID(k.matches[0].replace(ca,da),b)||[])[0],!b)return e;n&&(b=b.parentNode),a=a.slice(j.shift().value.length)}i=X.needsContext.test(a)?0:j.length;while(i--){if(k=j[i],d.relative[l=k.type])break;if((m=d.find[l])&&(f=m(k.matches[0].replace(ca,da),aa.test(j[0].type)&&pa(b.parentNode)||b))){if(j.splice(i,1),a=f.length&&ra(j),!a)return H.apply(e,f),e;break}}}return(n||h(a,o))(f,b,!p,e,aa.test(a)&&pa(b.parentNode)||b),e},c.sortStable=u.split("").sort(B).join("")===u,c.detectDuplicates=!!l,m(),c.sortDetached=ja(function(a){return 1&a.compareDocumentPosition(n.createElement("div"))}),ja(function(a){return a.innerHTML="","#"===a.firstChild.getAttribute("href")})||ka("type|href|height|width",function(a,b,c){return c?void 0:a.getAttribute(b,"type"===b.toLowerCase()?1:2)}),c.attributes&&ja(function(a){return a.innerHTML="",a.firstChild.setAttribute("value",""),""===a.firstChild.getAttribute("value")})||ka("value",function(a,b,c){return c||"input"!==a.nodeName.toLowerCase()?void 0:a.defaultValue}),ja(function(a){return null==a.getAttribute("disabled")})||ka(K,function(a,b,c){var d;return c?void 0:a[b]===!0?b.toLowerCase():(d=a.getAttributeNode(b))&&d.specified?d.value:null}),ga}(a);n.find=t,n.expr=t.selectors,n.expr[":"]=n.expr.pseudos,n.unique=t.uniqueSort,n.text=t.getText,n.isXMLDoc=t.isXML,n.contains=t.contains;var u=n.expr.match.needsContext,v=/^<(\w+)\s*\/?>(?:<\/\1>|)$/,w=/^.[^:#\[\.,]*$/;function x(a,b,c){if(n.isFunction(b))return n.grep(a,function(a,d){return!!b.call(a,d,a)!==c});if(b.nodeType)return n.grep(a,function(a){return a===b!==c});if("string"==typeof b){if(w.test(b))return n.filter(b,a,c);b=n.filter(b,a)}return n.grep(a,function(a){return g.call(b,a)>=0!==c})}n.filter=function(a,b,c){var d=b[0];return c&&(a=":not("+a+")"),1===b.length&&1===d.nodeType?n.find.matchesSelector(d,a)?[d]:[]:n.find.matches(a,n.grep(b,function(a){return 1===a.nodeType}))},n.fn.extend({find:function(a){var b,c=this.length,d=[],e=this;if("string"!=typeof a)return this.pushStack(n(a).filter(function(){for(b=0;c>b;b++)if(n.contains(e[b],this))return!0}));for(b=0;c>b;b++)n.find(a,e[b],d);return d=this.pushStack(c>1?n.unique(d):d),d.selector=this.selector?this.selector+" "+a:a,d},filter:function(a){return this.pushStack(x(this,a||[],!1))},not:function(a){return this.pushStack(x(this,a||[],!0))},is:function(a){return!!x(this,"string"==typeof a&&u.test(a)?n(a):a||[],!1).length}});var y,z=/^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]*))$/,A=n.fn.init=function(a,b){var c,d;if(!a)return this;if("string"==typeof a){if(c="<"===a[0]&&">"===a[a.length-1]&&a.length>=3?[null,a,null]:z.exec(a),!c||!c[1]&&b)return!b||b.jquery?(b||y).find(a):this.constructor(b).find(a);if(c[1]){if(b=b instanceof n?b[0]:b,n.merge(this,n.parseHTML(c[1],b&&b.nodeType?b.ownerDocument||b:l,!0)),v.test(c[1])&&n.isPlainObject(b))for(c in b)n.isFunction(this[c])?this[c](b[c]):this.attr(c,b[c]);return this}return d=l.getElementById(c[2]),d&&d.parentNode&&(this.length=1,this[0]=d),this.context=l,this.selector=a,this}return a.nodeType?(this.context=this[0]=a,this.length=1,this):n.isFunction(a)?"undefined"!=typeof y.ready?y.ready(a):a(n):(void 0!==a.selector&&(this.selector=a.selector,this.context=a.context),n.makeArray(a,this))};A.prototype=n.fn,y=n(l);var B=/^(?:parents|prev(?:Until|All))/,C={children:!0,contents:!0,next:!0,prev:!0};n.extend({dir:function(a,b,c){var d=[],e=void 0!==c;while((a=a[b])&&9!==a.nodeType)if(1===a.nodeType){if(e&&n(a).is(c))break;d.push(a)}return d},sibling:function(a,b){for(var c=[];a;a=a.nextSibling)1===a.nodeType&&a!==b&&c.push(a);return c}}),n.fn.extend({has:function(a){var b=n(a,this),c=b.length;return this.filter(function(){for(var a=0;c>a;a++)if(n.contains(this,b[a]))return!0})},closest:function(a,b){for(var c,d=0,e=this.length,f=[],g=u.test(a)||"string"!=typeof a?n(a,b||this.context):0;e>d;d++)for(c=this[d];c&&c!==b;c=c.parentNode)if(c.nodeType<11&&(g?g.index(c)>-1:1===c.nodeType&&n.find.matchesSelector(c,a))){f.push(c);break}return this.pushStack(f.length>1?n.unique(f):f)},index:function(a){return a?"string"==typeof a?g.call(n(a),this[0]):g.call(this,a.jquery?a[0]:a):this[0]&&this[0].parentNode?this.first().prevAll().length:-1},add:function(a,b){return this.pushStack(n.unique(n.merge(this.get(),n(a,b))))},addBack:function(a){return this.add(null==a?this.prevObject:this.prevObject.filter(a))}});function D(a,b){while((a=a[b])&&1!==a.nodeType);return a}n.each({parent:function(a){var b=a.parentNode;return b&&11!==b.nodeType?b:null},parents:function(a){return n.dir(a,"parentNode")},parentsUntil:function(a,b,c){return n.dir(a,"parentNode",c)},next:function(a){return D(a,"nextSibling")},prev:function(a){return D(a,"previousSibling")},nextAll:function(a){return n.dir(a,"nextSibling")},prevAll:function(a){return n.dir(a,"previousSibling")},nextUntil:function(a,b,c){return n.dir(a,"nextSibling",c)},prevUntil:function(a,b,c){return n.dir(a,"previousSibling",c)},siblings:function(a){return n.sibling((a.parentNode||{}).firstChild,a)},children:function(a){return n.sibling(a.firstChild)},contents:function(a){return a.contentDocument||n.merge([],a.childNodes)}},function(a,b){n.fn[a]=function(c,d){var e=n.map(this,b,c);return"Until"!==a.slice(-5)&&(d=c),d&&"string"==typeof d&&(e=n.filter(d,e)),this.length>1&&(C[a]||n.unique(e),B.test(a)&&e.reverse()),this.pushStack(e)}});var E=/\S+/g,F={};function G(a){var b=F[a]={};return n.each(a.match(E)||[],function(a,c){b[c]=!0}),b}n.Callbacks=function(a){a="string"==typeof a?F[a]||G(a):n.extend({},a);var b,c,d,e,f,g,h=[],i=!a.once&&[],j=function(l){for(b=a.memory&&l,c=!0,g=e||0,e=0,f=h.length,d=!0;h&&f>g;g++)if(h[g].apply(l[0],l[1])===!1&&a.stopOnFalse){b=!1;break}d=!1,h&&(i?i.length&&j(i.shift()):b?h=[]:k.disable())},k={add:function(){if(h){var c=h.length;!function g(b){n.each(b,function(b,c){var d=n.type(c);"function"===d?a.unique&&k.has(c)||h.push(c):c&&c.length&&"string"!==d&&g(c)})}(arguments),d?f=h.length:b&&(e=c,j(b))}return this},remove:function(){return h&&n.each(arguments,function(a,b){var c;while((c=n.inArray(b,h,c))>-1)h.splice(c,1),d&&(f>=c&&f--,g>=c&&g--)}),this},has:function(a){return a?n.inArray(a,h)>-1:!(!h||!h.length)},empty:function(){return h=[],f=0,this},disable:function(){return h=i=b=void 0,this},disabled:function(){return!h},lock:function(){return i=void 0,b||k.disable(),this},locked:function(){return!i},fireWith:function(a,b){return!h||c&&!i||(b=b||[],b=[a,b.slice?b.slice():b],d?i.push(b):j(b)),this},fire:function(){return k.fireWith(this,arguments),this},fired:function(){return!!c}};return k},n.extend({Deferred:function(a){var b=[["resolve","done",n.Callbacks("once memory"),"resolved"],["reject","fail",n.Callbacks("once memory"),"rejected"],["notify","progress",n.Callbacks("memory")]],c="pending",d={state:function(){return c},always:function(){return e.done(arguments).fail(arguments),this},then:function(){var a=arguments;return n.Deferred(function(c){n.each(b,function(b,f){var g=n.isFunction(a[b])&&a[b];e[f[1]](function(){var a=g&&g.apply(this,arguments);a&&n.isFunction(a.promise)?a.promise().done(c.resolve).fail(c.reject).progress(c.notify):c[f[0]+"With"](this===d?c.promise():this,g?[a]:arguments)})}),a=null}).promise()},promise:function(a){return null!=a?n.extend(a,d):d}},e={};return d.pipe=d.then,n.each(b,function(a,f){var g=f[2],h=f[3];d[f[1]]=g.add,h&&g.add(function(){c=h},b[1^a][2].disable,b[2][2].lock),e[f[0]]=function(){return e[f[0]+"With"](this===e?d:this,arguments),this},e[f[0]+"With"]=g.fireWith}),d.promise(e),a&&a.call(e,e),e},when:function(a){var b=0,c=d.call(arguments),e=c.length,f=1!==e||a&&n.isFunction(a.promise)?e:0,g=1===f?a:n.Deferred(),h=function(a,b,c){return function(e){b[a]=this,c[a]=arguments.length>1?d.call(arguments):e,c===i?g.notifyWith(b,c):--f||g.resolveWith(b,c)}},i,j,k;if(e>1)for(i=new Array(e),j=new Array(e),k=new Array(e);e>b;b++)c[b]&&n.isFunction(c[b].promise)?c[b].promise().done(h(b,k,c)).fail(g.reject).progress(h(b,j,i)):--f;return f||g.resolveWith(k,c),g.promise()}});var H;n.fn.ready=function(a){return n.ready.promise().done(a),this},n.extend({isReady:!1,readyWait:1,holdReady:function(a){a?n.readyWait++:n.ready(!0)},ready:function(a){(a===!0?--n.readyWait:n.isReady)||(n.isReady=!0,a!==!0&&--n.readyWait>0||(H.resolveWith(l,[n]),n.fn.triggerHandler&&(n(l).triggerHandler("ready"),n(l).off("ready"))))}});function I(){l.removeEventListener("DOMContentLoaded",I,!1),a.removeEventListener("load",I,!1),n.ready()}n.ready.promise=function(b){return H||(H=n.Deferred(),"complete"===l.readyState?setTimeout(n.ready):(l.addEventListener("DOMContentLoaded",I,!1),a.addEventListener("load",I,!1))),H.promise(b)},n.ready.promise();var J=n.access=function(a,b,c,d,e,f,g){var h=0,i=a.length,j=null==c;if("object"===n.type(c)){e=!0;for(h in c)n.access(a,b,h,c[h],!0,f,g)}else if(void 0!==d&&(e=!0,n.isFunction(d)||(g=!0),j&&(g?(b.call(a,d),b=null):(j=b,b=function(a,b,c){return j.call(n(a),c)})),b))for(;i>h;h++)b(a[h],c,g?d:d.call(a[h],h,b(a[h],c)));return e?a:j?b.call(a):i?b(a[0],c):f};n.acceptData=function(a){return 1===a.nodeType||9===a.nodeType||!+a.nodeType};function K(){Object.defineProperty(this.cache={},0,{get:function(){return{}}}),this.expando=n.expando+K.uid++}K.uid=1,K.accepts=n.acceptData,K.prototype={key:function(a){if(!K.accepts(a))return 0;var b={},c=a[this.expando];if(!c){c=K.uid++;try{b[this.expando]={value:c},Object.defineProperties(a,b)}catch(d){b[this.expando]=c,n.extend(a,b)}}return this.cache[c]||(this.cache[c]={}),c},set:function(a,b,c){var d,e=this.key(a),f=this.cache[e];if("string"==typeof b)f[b]=c;else if(n.isEmptyObject(f))n.extend(this.cache[e],b);else for(d in b)f[d]=b[d];return f},get:function(a,b){var c=this.cache[this.key(a)];return void 0===b?c:c[b]},access:function(a,b,c){var d;return void 0===b||b&&"string"==typeof b&&void 0===c?(d=this.get(a,b),void 0!==d?d:this.get(a,n.camelCase(b))):(this.set(a,b,c),void 0!==c?c:b)},remove:function(a,b){var c,d,e,f=this.key(a),g=this.cache[f];if(void 0===b)this.cache[f]={};else{n.isArray(b)?d=b.concat(b.map(n.camelCase)):(e=n.camelCase(b),b in g?d=[b,e]:(d=e,d=d in g?[d]:d.match(E)||[])),c=d.length;while(c--)delete g[d[c]]}},hasData:function(a){return!n.isEmptyObject(this.cache[a[this.expando]]||{})},discard:function(a){a[this.expando]&&delete this.cache[a[this.expando]]}};var L=new K,M=new K,N=/^(?:\{[\w\W]*\}|\[[\w\W]*\])$/,O=/([A-Z])/g;function P(a,b,c){var d;if(void 0===c&&1===a.nodeType)if(d="data-"+b.replace(O,"-$1").toLowerCase(),c=a.getAttribute(d),"string"==typeof c){try{c="true"===c?!0:"false"===c?!1:"null"===c?null:+c+""===c?+c:N.test(c)?n.parseJSON(c):c}catch(e){}M.set(a,b,c)}else c=void 0;return c}n.extend({hasData:function(a){return M.hasData(a)||L.hasData(a)},data:function(a,b,c){ +return M.access(a,b,c)},removeData:function(a,b){M.remove(a,b)},_data:function(a,b,c){return L.access(a,b,c)},_removeData:function(a,b){L.remove(a,b)}}),n.fn.extend({data:function(a,b){var c,d,e,f=this[0],g=f&&f.attributes;if(void 0===a){if(this.length&&(e=M.get(f),1===f.nodeType&&!L.get(f,"hasDataAttrs"))){c=g.length;while(c--)g[c]&&(d=g[c].name,0===d.indexOf("data-")&&(d=n.camelCase(d.slice(5)),P(f,d,e[d])));L.set(f,"hasDataAttrs",!0)}return e}return"object"==typeof a?this.each(function(){M.set(this,a)}):J(this,function(b){var c,d=n.camelCase(a);if(f&&void 0===b){if(c=M.get(f,a),void 0!==c)return c;if(c=M.get(f,d),void 0!==c)return c;if(c=P(f,d,void 0),void 0!==c)return c}else this.each(function(){var c=M.get(this,d);M.set(this,d,b),-1!==a.indexOf("-")&&void 0!==c&&M.set(this,a,b)})},null,b,arguments.length>1,null,!0)},removeData:function(a){return this.each(function(){M.remove(this,a)})}}),n.extend({queue:function(a,b,c){var d;return a?(b=(b||"fx")+"queue",d=L.get(a,b),c&&(!d||n.isArray(c)?d=L.access(a,b,n.makeArray(c)):d.push(c)),d||[]):void 0},dequeue:function(a,b){b=b||"fx";var c=n.queue(a,b),d=c.length,e=c.shift(),f=n._queueHooks(a,b),g=function(){n.dequeue(a,b)};"inprogress"===e&&(e=c.shift(),d--),e&&("fx"===b&&c.unshift("inprogress"),delete f.stop,e.call(a,g,f)),!d&&f&&f.empty.fire()},_queueHooks:function(a,b){var c=b+"queueHooks";return L.get(a,c)||L.access(a,c,{empty:n.Callbacks("once memory").add(function(){L.remove(a,[b+"queue",c])})})}}),n.fn.extend({queue:function(a,b){var c=2;return"string"!=typeof a&&(b=a,a="fx",c--),arguments.lengthx",k.noCloneChecked=!!b.cloneNode(!0).lastChild.defaultValue}();var U="undefined";k.focusinBubbles="onfocusin"in a;var V=/^key/,W=/^(?:mouse|pointer|contextmenu)|click/,X=/^(?:focusinfocus|focusoutblur)$/,Y=/^([^.]*)(?:\.(.+)|)$/;function Z(){return!0}function $(){return!1}function _(){try{return l.activeElement}catch(a){}}n.event={global:{},add:function(a,b,c,d,e){var f,g,h,i,j,k,l,m,o,p,q,r=L.get(a);if(r){c.handler&&(f=c,c=f.handler,e=f.selector),c.guid||(c.guid=n.guid++),(i=r.events)||(i=r.events={}),(g=r.handle)||(g=r.handle=function(b){return typeof n!==U&&n.event.triggered!==b.type?n.event.dispatch.apply(a,arguments):void 0}),b=(b||"").match(E)||[""],j=b.length;while(j--)h=Y.exec(b[j])||[],o=q=h[1],p=(h[2]||"").split(".").sort(),o&&(l=n.event.special[o]||{},o=(e?l.delegateType:l.bindType)||o,l=n.event.special[o]||{},k=n.extend({type:o,origType:q,data:d,handler:c,guid:c.guid,selector:e,needsContext:e&&n.expr.match.needsContext.test(e),namespace:p.join(".")},f),(m=i[o])||(m=i[o]=[],m.delegateCount=0,l.setup&&l.setup.call(a,d,p,g)!==!1||a.addEventListener&&a.addEventListener(o,g,!1)),l.add&&(l.add.call(a,k),k.handler.guid||(k.handler.guid=c.guid)),e?m.splice(m.delegateCount++,0,k):m.push(k),n.event.global[o]=!0)}},remove:function(a,b,c,d,e){var f,g,h,i,j,k,l,m,o,p,q,r=L.hasData(a)&&L.get(a);if(r&&(i=r.events)){b=(b||"").match(E)||[""],j=b.length;while(j--)if(h=Y.exec(b[j])||[],o=q=h[1],p=(h[2]||"").split(".").sort(),o){l=n.event.special[o]||{},o=(d?l.delegateType:l.bindType)||o,m=i[o]||[],h=h[2]&&new RegExp("(^|\\.)"+p.join("\\.(?:.*\\.|)")+"(\\.|$)"),g=f=m.length;while(f--)k=m[f],!e&&q!==k.origType||c&&c.guid!==k.guid||h&&!h.test(k.namespace)||d&&d!==k.selector&&("**"!==d||!k.selector)||(m.splice(f,1),k.selector&&m.delegateCount--,l.remove&&l.remove.call(a,k));g&&!m.length&&(l.teardown&&l.teardown.call(a,p,r.handle)!==!1||n.removeEvent(a,o,r.handle),delete i[o])}else for(o in i)n.event.remove(a,o+b[j],c,d,!0);n.isEmptyObject(i)&&(delete r.handle,L.remove(a,"events"))}},trigger:function(b,c,d,e){var f,g,h,i,k,m,o,p=[d||l],q=j.call(b,"type")?b.type:b,r=j.call(b,"namespace")?b.namespace.split("."):[];if(g=h=d=d||l,3!==d.nodeType&&8!==d.nodeType&&!X.test(q+n.event.triggered)&&(q.indexOf(".")>=0&&(r=q.split("."),q=r.shift(),r.sort()),k=q.indexOf(":")<0&&"on"+q,b=b[n.expando]?b:new n.Event(q,"object"==typeof b&&b),b.isTrigger=e?2:3,b.namespace=r.join("."),b.namespace_re=b.namespace?new RegExp("(^|\\.)"+r.join("\\.(?:.*\\.|)")+"(\\.|$)"):null,b.result=void 0,b.target||(b.target=d),c=null==c?[b]:n.makeArray(c,[b]),o=n.event.special[q]||{},e||!o.trigger||o.trigger.apply(d,c)!==!1)){if(!e&&!o.noBubble&&!n.isWindow(d)){for(i=o.delegateType||q,X.test(i+q)||(g=g.parentNode);g;g=g.parentNode)p.push(g),h=g;h===(d.ownerDocument||l)&&p.push(h.defaultView||h.parentWindow||a)}f=0;while((g=p[f++])&&!b.isPropagationStopped())b.type=f>1?i:o.bindType||q,m=(L.get(g,"events")||{})[b.type]&&L.get(g,"handle"),m&&m.apply(g,c),m=k&&g[k],m&&m.apply&&n.acceptData(g)&&(b.result=m.apply(g,c),b.result===!1&&b.preventDefault());return b.type=q,e||b.isDefaultPrevented()||o._default&&o._default.apply(p.pop(),c)!==!1||!n.acceptData(d)||k&&n.isFunction(d[q])&&!n.isWindow(d)&&(h=d[k],h&&(d[k]=null),n.event.triggered=q,d[q](),n.event.triggered=void 0,h&&(d[k]=h)),b.result}},dispatch:function(a){a=n.event.fix(a);var b,c,e,f,g,h=[],i=d.call(arguments),j=(L.get(this,"events")||{})[a.type]||[],k=n.event.special[a.type]||{};if(i[0]=a,a.delegateTarget=this,!k.preDispatch||k.preDispatch.call(this,a)!==!1){h=n.event.handlers.call(this,a,j),b=0;while((f=h[b++])&&!a.isPropagationStopped()){a.currentTarget=f.elem,c=0;while((g=f.handlers[c++])&&!a.isImmediatePropagationStopped())(!a.namespace_re||a.namespace_re.test(g.namespace))&&(a.handleObj=g,a.data=g.data,e=((n.event.special[g.origType]||{}).handle||g.handler).apply(f.elem,i),void 0!==e&&(a.result=e)===!1&&(a.preventDefault(),a.stopPropagation()))}return k.postDispatch&&k.postDispatch.call(this,a),a.result}},handlers:function(a,b){var c,d,e,f,g=[],h=b.delegateCount,i=a.target;if(h&&i.nodeType&&(!a.button||"click"!==a.type))for(;i!==this;i=i.parentNode||this)if(i.disabled!==!0||"click"!==a.type){for(d=[],c=0;h>c;c++)f=b[c],e=f.selector+" ",void 0===d[e]&&(d[e]=f.needsContext?n(e,this).index(i)>=0:n.find(e,this,null,[i]).length),d[e]&&d.push(f);d.length&&g.push({elem:i,handlers:d})}return h]*)\/>/gi,ba=/<([\w:]+)/,ca=/<|?\w+;/,da=/<(?:script|style|link)/i,ea=/checked\s*(?:[^=]|=\s*.checked.)/i,fa=/^$|\/(?:java|ecma)script/i,ga=/^true\/(.*)/,ha=/^\s*\s*$/g,ia={option:[1,"",""],thead:[1,"",""],col:[2,"",""],tr:[2,"",""],td:[3,"",""],_default:[0,"",""]};ia.optgroup=ia.option,ia.tbody=ia.tfoot=ia.colgroup=ia.caption=ia.thead,ia.th=ia.td;function ja(a,b){return n.nodeName(a,"table")&&n.nodeName(11!==b.nodeType?b:b.firstChild,"tr")?a.getElementsByTagName("tbody")[0]||a.appendChild(a.ownerDocument.createElement("tbody")):a}function ka(a){return a.type=(null!==a.getAttribute("type"))+"/"+a.type,a}function la(a){var b=ga.exec(a.type);return b?a.type=b[1]:a.removeAttribute("type"),a}function ma(a,b){for(var c=0,d=a.length;d>c;c++)L.set(a[c],"globalEval",!b||L.get(b[c],"globalEval"))}function na(a,b){var c,d,e,f,g,h,i,j;if(1===b.nodeType){if(L.hasData(a)&&(f=L.access(a),g=L.set(b,f),j=f.events)){delete g.handle,g.events={};for(e in j)for(c=0,d=j[e].length;d>c;c++)n.event.add(b,e,j[e][c])}M.hasData(a)&&(h=M.access(a),i=n.extend({},h),M.set(b,i))}}function oa(a,b){var c=a.getElementsByTagName?a.getElementsByTagName(b||"*"):a.querySelectorAll?a.querySelectorAll(b||"*"):[];return void 0===b||b&&n.nodeName(a,b)?n.merge([a],c):c}function pa(a,b){var c=b.nodeName.toLowerCase();"input"===c&&T.test(a.type)?b.checked=a.checked:("input"===c||"textarea"===c)&&(b.defaultValue=a.defaultValue)}n.extend({clone:function(a,b,c){var d,e,f,g,h=a.cloneNode(!0),i=n.contains(a.ownerDocument,a);if(!(k.noCloneChecked||1!==a.nodeType&&11!==a.nodeType||n.isXMLDoc(a)))for(g=oa(h),f=oa(a),d=0,e=f.length;e>d;d++)pa(f[d],g[d]);if(b)if(c)for(f=f||oa(a),g=g||oa(h),d=0,e=f.length;e>d;d++)na(f[d],g[d]);else na(a,h);return g=oa(h,"script"),g.length>0&&ma(g,!i&&oa(a,"script")),h},buildFragment:function(a,b,c,d){for(var e,f,g,h,i,j,k=b.createDocumentFragment(),l=[],m=0,o=a.length;o>m;m++)if(e=a[m],e||0===e)if("object"===n.type(e))n.merge(l,e.nodeType?[e]:e);else if(ca.test(e)){f=f||k.appendChild(b.createElement("div")),g=(ba.exec(e)||["",""])[1].toLowerCase(),h=ia[g]||ia._default,f.innerHTML=h[1]+e.replace(aa,"<$1>$2>")+h[2],j=h[0];while(j--)f=f.lastChild;n.merge(l,f.childNodes),f=k.firstChild,f.textContent=""}else l.push(b.createTextNode(e));k.textContent="",m=0;while(e=l[m++])if((!d||-1===n.inArray(e,d))&&(i=n.contains(e.ownerDocument,e),f=oa(k.appendChild(e),"script"),i&&ma(f),c)){j=0;while(e=f[j++])fa.test(e.type||"")&&c.push(e)}return k},cleanData:function(a){for(var b,c,d,e,f=n.event.special,g=0;void 0!==(c=a[g]);g++){if(n.acceptData(c)&&(e=c[L.expando],e&&(b=L.cache[e]))){if(b.events)for(d in b.events)f[d]?n.event.remove(c,d):n.removeEvent(c,d,b.handle);L.cache[e]&&delete L.cache[e]}delete M.cache[c[M.expando]]}}}),n.fn.extend({text:function(a){return J(this,function(a){return void 0===a?n.text(this):this.empty().each(function(){(1===this.nodeType||11===this.nodeType||9===this.nodeType)&&(this.textContent=a)})},null,a,arguments.length)},append:function(){return this.domManip(arguments,function(a){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var b=ja(this,a);b.appendChild(a)}})},prepend:function(){return this.domManip(arguments,function(a){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var b=ja(this,a);b.insertBefore(a,b.firstChild)}})},before:function(){return this.domManip(arguments,function(a){this.parentNode&&this.parentNode.insertBefore(a,this)})},after:function(){return this.domManip(arguments,function(a){this.parentNode&&this.parentNode.insertBefore(a,this.nextSibling)})},remove:function(a,b){for(var c,d=a?n.filter(a,this):this,e=0;null!=(c=d[e]);e++)b||1!==c.nodeType||n.cleanData(oa(c)),c.parentNode&&(b&&n.contains(c.ownerDocument,c)&&ma(oa(c,"script")),c.parentNode.removeChild(c));return this},empty:function(){for(var a,b=0;null!=(a=this[b]);b++)1===a.nodeType&&(n.cleanData(oa(a,!1)),a.textContent="");return this},clone:function(a,b){return a=null==a?!1:a,b=null==b?a:b,this.map(function(){return n.clone(this,a,b)})},html:function(a){return J(this,function(a){var b=this[0]||{},c=0,d=this.length;if(void 0===a&&1===b.nodeType)return b.innerHTML;if("string"==typeof a&&!da.test(a)&&!ia[(ba.exec(a)||["",""])[1].toLowerCase()]){a=a.replace(aa,"<$1>$2>");try{for(;d>c;c++)b=this[c]||{},1===b.nodeType&&(n.cleanData(oa(b,!1)),b.innerHTML=a);b=0}catch(e){}}b&&this.empty().append(a)},null,a,arguments.length)},replaceWith:function(){var a=arguments[0];return this.domManip(arguments,function(b){a=this.parentNode,n.cleanData(oa(this)),a&&a.replaceChild(b,this)}),a&&(a.length||a.nodeType)?this:this.remove()},detach:function(a){return this.remove(a,!0)},domManip:function(a,b){a=e.apply([],a);var c,d,f,g,h,i,j=0,l=this.length,m=this,o=l-1,p=a[0],q=n.isFunction(p);if(q||l>1&&"string"==typeof p&&!k.checkClone&&ea.test(p))return this.each(function(c){var d=m.eq(c);q&&(a[0]=p.call(this,c,d.html())),d.domManip(a,b)});if(l&&(c=n.buildFragment(a,this[0].ownerDocument,!1,this),d=c.firstChild,1===c.childNodes.length&&(c=d),d)){for(f=n.map(oa(c,"script"),ka),g=f.length;l>j;j++)h=c,j!==o&&(h=n.clone(h,!0,!0),g&&n.merge(f,oa(h,"script"))),b.call(this[j],h,j);if(g)for(i=f[f.length-1].ownerDocument,n.map(f,la),j=0;g>j;j++)h=f[j],fa.test(h.type||"")&&!L.access(h,"globalEval")&&n.contains(i,h)&&(h.src?n._evalUrl&&n._evalUrl(h.src):n.globalEval(h.textContent.replace(ha,"")))}return this}}),n.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(a,b){n.fn[a]=function(a){for(var c,d=[],e=n(a),g=e.length-1,h=0;g>=h;h++)c=h===g?this:this.clone(!0),n(e[h])[b](c),f.apply(d,c.get());return this.pushStack(d)}});var qa,ra={};function sa(b,c){var d,e=n(c.createElement(b)).appendTo(c.body),f=a.getDefaultComputedStyle&&(d=a.getDefaultComputedStyle(e[0]))?d.display:n.css(e[0],"display");return e.detach(),f}function ta(a){var b=l,c=ra[a];return c||(c=sa(a,b),"none"!==c&&c||(qa=(qa||n("")).appendTo(b.documentElement),b=qa[0].contentDocument,b.write(),b.close(),c=sa(a,b),qa.detach()),ra[a]=c),c}var ua=/^margin/,va=new RegExp("^("+Q+")(?!px)[a-z%]+$","i"),wa=function(b){return b.ownerDocument.defaultView.opener?b.ownerDocument.defaultView.getComputedStyle(b,null):a.getComputedStyle(b,null)};function xa(a,b,c){var d,e,f,g,h=a.style;return c=c||wa(a),c&&(g=c.getPropertyValue(b)||c[b]),c&&(""!==g||n.contains(a.ownerDocument,a)||(g=n.style(a,b)),va.test(g)&&ua.test(b)&&(d=h.width,e=h.minWidth,f=h.maxWidth,h.minWidth=h.maxWidth=h.width=g,g=c.width,h.width=d,h.minWidth=e,h.maxWidth=f)),void 0!==g?g+"":g}function ya(a,b){return{get:function(){return a()?void delete this.get:(this.get=b).apply(this,arguments)}}}!function(){var b,c,d=l.documentElement,e=l.createElement("div"),f=l.createElement("div");if(f.style){f.style.backgroundClip="content-box",f.cloneNode(!0).style.backgroundClip="",k.clearCloneStyle="content-box"===f.style.backgroundClip,e.style.cssText="border:0;width:0;height:0;top:0;left:-9999px;margin-top:1px;position:absolute",e.appendChild(f);function g(){f.style.cssText="-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;display:block;margin-top:1%;top:1%;border:1px;padding:1px;width:4px;position:absolute",f.innerHTML="",d.appendChild(e);var g=a.getComputedStyle(f,null);b="1%"!==g.top,c="4px"===g.width,d.removeChild(e)}a.getComputedStyle&&n.extend(k,{pixelPosition:function(){return g(),b},boxSizingReliable:function(){return null==c&&g(),c},reliableMarginRight:function(){var b,c=f.appendChild(l.createElement("div"));return c.style.cssText=f.style.cssText="-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box;display:block;margin:0;border:0;padding:0",c.style.marginRight=c.style.width="0",f.style.width="1px",d.appendChild(e),b=!parseFloat(a.getComputedStyle(c,null).marginRight),d.removeChild(e),f.removeChild(c),b}})}}(),n.swap=function(a,b,c,d){var e,f,g={};for(f in b)g[f]=a.style[f],a.style[f]=b[f];e=c.apply(a,d||[]);for(f in b)a.style[f]=g[f];return e};var za=/^(none|table(?!-c[ea]).+)/,Aa=new RegExp("^("+Q+")(.*)$","i"),Ba=new RegExp("^([+-])=("+Q+")","i"),Ca={position:"absolute",visibility:"hidden",display:"block"},Da={letterSpacing:"0",fontWeight:"400"},Ea=["Webkit","O","Moz","ms"];function Fa(a,b){if(b in a)return b;var c=b[0].toUpperCase()+b.slice(1),d=b,e=Ea.length;while(e--)if(b=Ea[e]+c,b in a)return b;return d}function Ga(a,b,c){var d=Aa.exec(b);return d?Math.max(0,d[1]-(c||0))+(d[2]||"px"):b}function Ha(a,b,c,d,e){for(var f=c===(d?"border":"content")?4:"width"===b?1:0,g=0;4>f;f+=2)"margin"===c&&(g+=n.css(a,c+R[f],!0,e)),d?("content"===c&&(g-=n.css(a,"padding"+R[f],!0,e)),"margin"!==c&&(g-=n.css(a,"border"+R[f]+"Width",!0,e))):(g+=n.css(a,"padding"+R[f],!0,e),"padding"!==c&&(g+=n.css(a,"border"+R[f]+"Width",!0,e)));return g}function Ia(a,b,c){var d=!0,e="width"===b?a.offsetWidth:a.offsetHeight,f=wa(a),g="border-box"===n.css(a,"boxSizing",!1,f);if(0>=e||null==e){if(e=xa(a,b,f),(0>e||null==e)&&(e=a.style[b]),va.test(e))return e;d=g&&(k.boxSizingReliable()||e===a.style[b]),e=parseFloat(e)||0}return e+Ha(a,b,c||(g?"border":"content"),d,f)+"px"}function Ja(a,b){for(var c,d,e,f=[],g=0,h=a.length;h>g;g++)d=a[g],d.style&&(f[g]=L.get(d,"olddisplay"),c=d.style.display,b?(f[g]||"none"!==c||(d.style.display=""),""===d.style.display&&S(d)&&(f[g]=L.access(d,"olddisplay",ta(d.nodeName)))):(e=S(d),"none"===c&&e||L.set(d,"olddisplay",e?c:n.css(d,"display"))));for(g=0;h>g;g++)d=a[g],d.style&&(b&&"none"!==d.style.display&&""!==d.style.display||(d.style.display=b?f[g]||"":"none"));return a}n.extend({cssHooks:{opacity:{get:function(a,b){if(b){var c=xa(a,"opacity");return""===c?"1":c}}}},cssNumber:{columnCount:!0,fillOpacity:!0,flexGrow:!0,flexShrink:!0,fontWeight:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,widows:!0,zIndex:!0,zoom:!0},cssProps:{"float":"cssFloat"},style:function(a,b,c,d){if(a&&3!==a.nodeType&&8!==a.nodeType&&a.style){var e,f,g,h=n.camelCase(b),i=a.style;return b=n.cssProps[h]||(n.cssProps[h]=Fa(i,h)),g=n.cssHooks[b]||n.cssHooks[h],void 0===c?g&&"get"in g&&void 0!==(e=g.get(a,!1,d))?e:i[b]:(f=typeof c,"string"===f&&(e=Ba.exec(c))&&(c=(e[1]+1)*e[2]+parseFloat(n.css(a,b)),f="number"),null!=c&&c===c&&("number"!==f||n.cssNumber[h]||(c+="px"),k.clearCloneStyle||""!==c||0!==b.indexOf("background")||(i[b]="inherit"),g&&"set"in g&&void 0===(c=g.set(a,c,d))||(i[b]=c)),void 0)}},css:function(a,b,c,d){var e,f,g,h=n.camelCase(b);return b=n.cssProps[h]||(n.cssProps[h]=Fa(a.style,h)),g=n.cssHooks[b]||n.cssHooks[h],g&&"get"in g&&(e=g.get(a,!0,c)),void 0===e&&(e=xa(a,b,d)),"normal"===e&&b in Da&&(e=Da[b]),""===c||c?(f=parseFloat(e),c===!0||n.isNumeric(f)?f||0:e):e}}),n.each(["height","width"],function(a,b){n.cssHooks[b]={get:function(a,c,d){return c?za.test(n.css(a,"display"))&&0===a.offsetWidth?n.swap(a,Ca,function(){return Ia(a,b,d)}):Ia(a,b,d):void 0},set:function(a,c,d){var e=d&&wa(a);return Ga(a,c,d?Ha(a,b,d,"border-box"===n.css(a,"boxSizing",!1,e),e):0)}}}),n.cssHooks.marginRight=ya(k.reliableMarginRight,function(a,b){return b?n.swap(a,{display:"inline-block"},xa,[a,"marginRight"]):void 0}),n.each({margin:"",padding:"",border:"Width"},function(a,b){n.cssHooks[a+b]={expand:function(c){for(var d=0,e={},f="string"==typeof c?c.split(" "):[c];4>d;d++)e[a+R[d]+b]=f[d]||f[d-2]||f[0];return e}},ua.test(a)||(n.cssHooks[a+b].set=Ga)}),n.fn.extend({css:function(a,b){return J(this,function(a,b,c){var d,e,f={},g=0;if(n.isArray(b)){for(d=wa(a),e=b.length;e>g;g++)f[b[g]]=n.css(a,b[g],!1,d);return f}return void 0!==c?n.style(a,b,c):n.css(a,b)},a,b,arguments.length>1)},show:function(){return Ja(this,!0)},hide:function(){return Ja(this)},toggle:function(a){return"boolean"==typeof a?a?this.show():this.hide():this.each(function(){S(this)?n(this).show():n(this).hide()})}});function Ka(a,b,c,d,e){return new Ka.prototype.init(a,b,c,d,e)}n.Tween=Ka,Ka.prototype={constructor:Ka,init:function(a,b,c,d,e,f){this.elem=a,this.prop=c,this.easing=e||"swing",this.options=b,this.start=this.now=this.cur(),this.end=d,this.unit=f||(n.cssNumber[c]?"":"px")},cur:function(){var a=Ka.propHooks[this.prop];return a&&a.get?a.get(this):Ka.propHooks._default.get(this)},run:function(a){var b,c=Ka.propHooks[this.prop];return this.options.duration?this.pos=b=n.easing[this.easing](a,this.options.duration*a,0,1,this.options.duration):this.pos=b=a,this.now=(this.end-this.start)*b+this.start,this.options.step&&this.options.step.call(this.elem,this.now,this),c&&c.set?c.set(this):Ka.propHooks._default.set(this),this}},Ka.prototype.init.prototype=Ka.prototype,Ka.propHooks={_default:{get:function(a){var b;return null==a.elem[a.prop]||a.elem.style&&null!=a.elem.style[a.prop]?(b=n.css(a.elem,a.prop,""),b&&"auto"!==b?b:0):a.elem[a.prop]},set:function(a){n.fx.step[a.prop]?n.fx.step[a.prop](a):a.elem.style&&(null!=a.elem.style[n.cssProps[a.prop]]||n.cssHooks[a.prop])?n.style(a.elem,a.prop,a.now+a.unit):a.elem[a.prop]=a.now}}},Ka.propHooks.scrollTop=Ka.propHooks.scrollLeft={set:function(a){a.elem.nodeType&&a.elem.parentNode&&(a.elem[a.prop]=a.now)}},n.easing={linear:function(a){return a},swing:function(a){return.5-Math.cos(a*Math.PI)/2}},n.fx=Ka.prototype.init,n.fx.step={};var La,Ma,Na=/^(?:toggle|show|hide)$/,Oa=new RegExp("^(?:([+-])=|)("+Q+")([a-z%]*)$","i"),Pa=/queueHooks$/,Qa=[Va],Ra={"*":[function(a,b){var c=this.createTween(a,b),d=c.cur(),e=Oa.exec(b),f=e&&e[3]||(n.cssNumber[a]?"":"px"),g=(n.cssNumber[a]||"px"!==f&&+d)&&Oa.exec(n.css(c.elem,a)),h=1,i=20;if(g&&g[3]!==f){f=f||g[3],e=e||[],g=+d||1;do h=h||".5",g/=h,n.style(c.elem,a,g+f);while(h!==(h=c.cur()/d)&&1!==h&&--i)}return e&&(g=c.start=+g||+d||0,c.unit=f,c.end=e[1]?g+(e[1]+1)*e[2]:+e[2]),c}]};function Sa(){return setTimeout(function(){La=void 0}),La=n.now()}function Ta(a,b){var c,d=0,e={height:a};for(b=b?1:0;4>d;d+=2-b)c=R[d],e["margin"+c]=e["padding"+c]=a;return b&&(e.opacity=e.width=a),e}function Ua(a,b,c){for(var d,e=(Ra[b]||[]).concat(Ra["*"]),f=0,g=e.length;g>f;f++)if(d=e[f].call(c,b,a))return d}function Va(a,b,c){var d,e,f,g,h,i,j,k,l=this,m={},o=a.style,p=a.nodeType&&S(a),q=L.get(a,"fxshow");c.queue||(h=n._queueHooks(a,"fx"),null==h.unqueued&&(h.unqueued=0,i=h.empty.fire,h.empty.fire=function(){h.unqueued||i()}),h.unqueued++,l.always(function(){l.always(function(){h.unqueued--,n.queue(a,"fx").length||h.empty.fire()})})),1===a.nodeType&&("height"in b||"width"in b)&&(c.overflow=[o.overflow,o.overflowX,o.overflowY],j=n.css(a,"display"),k="none"===j?L.get(a,"olddisplay")||ta(a.nodeName):j,"inline"===k&&"none"===n.css(a,"float")&&(o.display="inline-block")),c.overflow&&(o.overflow="hidden",l.always(function(){o.overflow=c.overflow[0],o.overflowX=c.overflow[1],o.overflowY=c.overflow[2]}));for(d in b)if(e=b[d],Na.exec(e)){if(delete b[d],f=f||"toggle"===e,e===(p?"hide":"show")){if("show"!==e||!q||void 0===q[d])continue;p=!0}m[d]=q&&q[d]||n.style(a,d)}else j=void 0;if(n.isEmptyObject(m))"inline"===("none"===j?ta(a.nodeName):j)&&(o.display=j);else{q?"hidden"in q&&(p=q.hidden):q=L.access(a,"fxshow",{}),f&&(q.hidden=!p),p?n(a).show():l.done(function(){n(a).hide()}),l.done(function(){var b;L.remove(a,"fxshow");for(b in m)n.style(a,b,m[b])});for(d in m)g=Ua(p?q[d]:0,d,l),d in q||(q[d]=g.start,p&&(g.end=g.start,g.start="width"===d||"height"===d?1:0))}}function Wa(a,b){var c,d,e,f,g;for(c in a)if(d=n.camelCase(c),e=b[d],f=a[c],n.isArray(f)&&(e=f[1],f=a[c]=f[0]),c!==d&&(a[d]=f,delete a[c]),g=n.cssHooks[d],g&&"expand"in g){f=g.expand(f),delete a[d];for(c in f)c in a||(a[c]=f[c],b[c]=e)}else b[d]=e}function Xa(a,b,c){var d,e,f=0,g=Qa.length,h=n.Deferred().always(function(){delete i.elem}),i=function(){if(e)return!1;for(var b=La||Sa(),c=Math.max(0,j.startTime+j.duration-b),d=c/j.duration||0,f=1-d,g=0,i=j.tweens.length;i>g;g++)j.tweens[g].run(f);return h.notifyWith(a,[j,f,c]),1>f&&i?c:(h.resolveWith(a,[j]),!1)},j=h.promise({elem:a,props:n.extend({},b),opts:n.extend(!0,{specialEasing:{}},c),originalProperties:b,originalOptions:c,startTime:La||Sa(),duration:c.duration,tweens:[],createTween:function(b,c){var d=n.Tween(a,j.opts,b,c,j.opts.specialEasing[b]||j.opts.easing);return j.tweens.push(d),d},stop:function(b){var c=0,d=b?j.tweens.length:0;if(e)return this;for(e=!0;d>c;c++)j.tweens[c].run(1);return b?h.resolveWith(a,[j,b]):h.rejectWith(a,[j,b]),this}}),k=j.props;for(Wa(k,j.opts.specialEasing);g>f;f++)if(d=Qa[f].call(j,a,k,j.opts))return d;return n.map(k,Ua,j),n.isFunction(j.opts.start)&&j.opts.start.call(a,j),n.fx.timer(n.extend(i,{elem:a,anim:j,queue:j.opts.queue})),j.progress(j.opts.progress).done(j.opts.done,j.opts.complete).fail(j.opts.fail).always(j.opts.always)}n.Animation=n.extend(Xa,{tweener:function(a,b){n.isFunction(a)?(b=a,a=["*"]):a=a.split(" ");for(var c,d=0,e=a.length;e>d;d++)c=a[d],Ra[c]=Ra[c]||[],Ra[c].unshift(b)},prefilter:function(a,b){b?Qa.unshift(a):Qa.push(a)}}),n.speed=function(a,b,c){var d=a&&"object"==typeof a?n.extend({},a):{complete:c||!c&&b||n.isFunction(a)&&a,duration:a,easing:c&&b||b&&!n.isFunction(b)&&b};return d.duration=n.fx.off?0:"number"==typeof d.duration?d.duration:d.duration in n.fx.speeds?n.fx.speeds[d.duration]:n.fx.speeds._default,(null==d.queue||d.queue===!0)&&(d.queue="fx"),d.old=d.complete,d.complete=function(){n.isFunction(d.old)&&d.old.call(this),d.queue&&n.dequeue(this,d.queue)},d},n.fn.extend({fadeTo:function(a,b,c,d){return this.filter(S).css("opacity",0).show().end().animate({opacity:b},a,c,d)},animate:function(a,b,c,d){var e=n.isEmptyObject(a),f=n.speed(b,c,d),g=function(){var b=Xa(this,n.extend({},a),f);(e||L.get(this,"finish"))&&b.stop(!0)};return g.finish=g,e||f.queue===!1?this.each(g):this.queue(f.queue,g)},stop:function(a,b,c){var d=function(a){var b=a.stop;delete a.stop,b(c)};return"string"!=typeof a&&(c=b,b=a,a=void 0),b&&a!==!1&&this.queue(a||"fx",[]),this.each(function(){var b=!0,e=null!=a&&a+"queueHooks",f=n.timers,g=L.get(this);if(e)g[e]&&g[e].stop&&d(g[e]);else for(e in g)g[e]&&g[e].stop&&Pa.test(e)&&d(g[e]);for(e=f.length;e--;)f[e].elem!==this||null!=a&&f[e].queue!==a||(f[e].anim.stop(c),b=!1,f.splice(e,1));(b||!c)&&n.dequeue(this,a)})},finish:function(a){return a!==!1&&(a=a||"fx"),this.each(function(){var b,c=L.get(this),d=c[a+"queue"],e=c[a+"queueHooks"],f=n.timers,g=d?d.length:0;for(c.finish=!0,n.queue(this,a,[]),e&&e.stop&&e.stop.call(this,!0),b=f.length;b--;)f[b].elem===this&&f[b].queue===a&&(f[b].anim.stop(!0),f.splice(b,1));for(b=0;g>b;b++)d[b]&&d[b].finish&&d[b].finish.call(this);delete c.finish})}}),n.each(["toggle","show","hide"],function(a,b){var c=n.fn[b];n.fn[b]=function(a,d,e){return null==a||"boolean"==typeof a?c.apply(this,arguments):this.animate(Ta(b,!0),a,d,e)}}),n.each({slideDown:Ta("show"),slideUp:Ta("hide"),slideToggle:Ta("toggle"),fadeIn:{opacity:"show"},fadeOut:{opacity:"hide"},fadeToggle:{opacity:"toggle"}},function(a,b){n.fn[a]=function(a,c,d){return this.animate(b,a,c,d)}}),n.timers=[],n.fx.tick=function(){var a,b=0,c=n.timers;for(La=n.now();b1)},removeAttr:function(a){return this.each(function(){n.removeAttr(this,a)})}}),n.extend({attr:function(a,b,c){var d,e,f=a.nodeType;if(a&&3!==f&&8!==f&&2!==f)return typeof a.getAttribute===U?n.prop(a,b,c):(1===f&&n.isXMLDoc(a)||(b=b.toLowerCase(),d=n.attrHooks[b]||(n.expr.match.bool.test(b)?Za:Ya)), +void 0===c?d&&"get"in d&&null!==(e=d.get(a,b))?e:(e=n.find.attr(a,b),null==e?void 0:e):null!==c?d&&"set"in d&&void 0!==(e=d.set(a,c,b))?e:(a.setAttribute(b,c+""),c):void n.removeAttr(a,b))},removeAttr:function(a,b){var c,d,e=0,f=b&&b.match(E);if(f&&1===a.nodeType)while(c=f[e++])d=n.propFix[c]||c,n.expr.match.bool.test(c)&&(a[d]=!1),a.removeAttribute(c)},attrHooks:{type:{set:function(a,b){if(!k.radioValue&&"radio"===b&&n.nodeName(a,"input")){var c=a.value;return a.setAttribute("type",b),c&&(a.value=c),b}}}}}),Za={set:function(a,b,c){return b===!1?n.removeAttr(a,c):a.setAttribute(c,c),c}},n.each(n.expr.match.bool.source.match(/\w+/g),function(a,b){var c=$a[b]||n.find.attr;$a[b]=function(a,b,d){var e,f;return d||(f=$a[b],$a[b]=e,e=null!=c(a,b,d)?b.toLowerCase():null,$a[b]=f),e}});var _a=/^(?:input|select|textarea|button)$/i;n.fn.extend({prop:function(a,b){return J(this,n.prop,a,b,arguments.length>1)},removeProp:function(a){return this.each(function(){delete this[n.propFix[a]||a]})}}),n.extend({propFix:{"for":"htmlFor","class":"className"},prop:function(a,b,c){var d,e,f,g=a.nodeType;if(a&&3!==g&&8!==g&&2!==g)return f=1!==g||!n.isXMLDoc(a),f&&(b=n.propFix[b]||b,e=n.propHooks[b]),void 0!==c?e&&"set"in e&&void 0!==(d=e.set(a,c,b))?d:a[b]=c:e&&"get"in e&&null!==(d=e.get(a,b))?d:a[b]},propHooks:{tabIndex:{get:function(a){return a.hasAttribute("tabindex")||_a.test(a.nodeName)||a.href?a.tabIndex:-1}}}}),k.optSelected||(n.propHooks.selected={get:function(a){var b=a.parentNode;return b&&b.parentNode&&b.parentNode.selectedIndex,null}}),n.each(["tabIndex","readOnly","maxLength","cellSpacing","cellPadding","rowSpan","colSpan","useMap","frameBorder","contentEditable"],function(){n.propFix[this.toLowerCase()]=this});var ab=/[\t\r\n\f]/g;n.fn.extend({addClass:function(a){var b,c,d,e,f,g,h="string"==typeof a&&a,i=0,j=this.length;if(n.isFunction(a))return this.each(function(b){n(this).addClass(a.call(this,b,this.className))});if(h)for(b=(a||"").match(E)||[];j>i;i++)if(c=this[i],d=1===c.nodeType&&(c.className?(" "+c.className+" ").replace(ab," "):" ")){f=0;while(e=b[f++])d.indexOf(" "+e+" ")<0&&(d+=e+" ");g=n.trim(d),c.className!==g&&(c.className=g)}return this},removeClass:function(a){var b,c,d,e,f,g,h=0===arguments.length||"string"==typeof a&&a,i=0,j=this.length;if(n.isFunction(a))return this.each(function(b){n(this).removeClass(a.call(this,b,this.className))});if(h)for(b=(a||"").match(E)||[];j>i;i++)if(c=this[i],d=1===c.nodeType&&(c.className?(" "+c.className+" ").replace(ab," "):"")){f=0;while(e=b[f++])while(d.indexOf(" "+e+" ")>=0)d=d.replace(" "+e+" "," ");g=a?n.trim(d):"",c.className!==g&&(c.className=g)}return this},toggleClass:function(a,b){var c=typeof a;return"boolean"==typeof b&&"string"===c?b?this.addClass(a):this.removeClass(a):this.each(n.isFunction(a)?function(c){n(this).toggleClass(a.call(this,c,this.className,b),b)}:function(){if("string"===c){var b,d=0,e=n(this),f=a.match(E)||[];while(b=f[d++])e.hasClass(b)?e.removeClass(b):e.addClass(b)}else(c===U||"boolean"===c)&&(this.className&&L.set(this,"__className__",this.className),this.className=this.className||a===!1?"":L.get(this,"__className__")||"")})},hasClass:function(a){for(var b=" "+a+" ",c=0,d=this.length;d>c;c++)if(1===this[c].nodeType&&(" "+this[c].className+" ").replace(ab," ").indexOf(b)>=0)return!0;return!1}});var bb=/\r/g;n.fn.extend({val:function(a){var b,c,d,e=this[0];{if(arguments.length)return d=n.isFunction(a),this.each(function(c){var e;1===this.nodeType&&(e=d?a.call(this,c,n(this).val()):a,null==e?e="":"number"==typeof e?e+="":n.isArray(e)&&(e=n.map(e,function(a){return null==a?"":a+""})),b=n.valHooks[this.type]||n.valHooks[this.nodeName.toLowerCase()],b&&"set"in b&&void 0!==b.set(this,e,"value")||(this.value=e))});if(e)return b=n.valHooks[e.type]||n.valHooks[e.nodeName.toLowerCase()],b&&"get"in b&&void 0!==(c=b.get(e,"value"))?c:(c=e.value,"string"==typeof c?c.replace(bb,""):null==c?"":c)}}}),n.extend({valHooks:{option:{get:function(a){var b=n.find.attr(a,"value");return null!=b?b:n.trim(n.text(a))}},select:{get:function(a){for(var b,c,d=a.options,e=a.selectedIndex,f="select-one"===a.type||0>e,g=f?null:[],h=f?e+1:d.length,i=0>e?h:f?e:0;h>i;i++)if(c=d[i],!(!c.selected&&i!==e||(k.optDisabled?c.disabled:null!==c.getAttribute("disabled"))||c.parentNode.disabled&&n.nodeName(c.parentNode,"optgroup"))){if(b=n(c).val(),f)return b;g.push(b)}return g},set:function(a,b){var c,d,e=a.options,f=n.makeArray(b),g=e.length;while(g--)d=e[g],(d.selected=n.inArray(d.value,f)>=0)&&(c=!0);return c||(a.selectedIndex=-1),f}}}}),n.each(["radio","checkbox"],function(){n.valHooks[this]={set:function(a,b){return n.isArray(b)?a.checked=n.inArray(n(a).val(),b)>=0:void 0}},k.checkOn||(n.valHooks[this].get=function(a){return null===a.getAttribute("value")?"on":a.value})}),n.each("blur focus focusin focusout load resize scroll unload click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup error contextmenu".split(" "),function(a,b){n.fn[b]=function(a,c){return arguments.length>0?this.on(b,null,a,c):this.trigger(b)}}),n.fn.extend({hover:function(a,b){return this.mouseenter(a).mouseleave(b||a)},bind:function(a,b,c){return this.on(a,null,b,c)},unbind:function(a,b){return this.off(a,null,b)},delegate:function(a,b,c,d){return this.on(b,a,c,d)},undelegate:function(a,b,c){return 1===arguments.length?this.off(a,"**"):this.off(b,a||"**",c)}});var cb=n.now(),db=/\?/;n.parseJSON=function(a){return JSON.parse(a+"")},n.parseXML=function(a){var b,c;if(!a||"string"!=typeof a)return null;try{c=new DOMParser,b=c.parseFromString(a,"text/xml")}catch(d){b=void 0}return(!b||b.getElementsByTagName("parsererror").length)&&n.error("Invalid XML: "+a),b};var eb=/#.*$/,fb=/([?&])_=[^&]*/,gb=/^(.*?):[ \t]*([^\r\n]*)$/gm,hb=/^(?:about|app|app-storage|.+-extension|file|res|widget):$/,ib=/^(?:GET|HEAD)$/,jb=/^\/\//,kb=/^([\w.+-]+:)(?:\/\/(?:[^\/?#]*@|)([^\/?#:]*)(?::(\d+)|)|)/,lb={},mb={},nb="*/".concat("*"),ob=a.location.href,pb=kb.exec(ob.toLowerCase())||[];function qb(a){return function(b,c){"string"!=typeof b&&(c=b,b="*");var d,e=0,f=b.toLowerCase().match(E)||[];if(n.isFunction(c))while(d=f[e++])"+"===d[0]?(d=d.slice(1)||"*",(a[d]=a[d]||[]).unshift(c)):(a[d]=a[d]||[]).push(c)}}function rb(a,b,c,d){var e={},f=a===mb;function g(h){var i;return e[h]=!0,n.each(a[h]||[],function(a,h){var j=h(b,c,d);return"string"!=typeof j||f||e[j]?f?!(i=j):void 0:(b.dataTypes.unshift(j),g(j),!1)}),i}return g(b.dataTypes[0])||!e["*"]&&g("*")}function sb(a,b){var c,d,e=n.ajaxSettings.flatOptions||{};for(c in b)void 0!==b[c]&&((e[c]?a:d||(d={}))[c]=b[c]);return d&&n.extend(!0,a,d),a}function tb(a,b,c){var d,e,f,g,h=a.contents,i=a.dataTypes;while("*"===i[0])i.shift(),void 0===d&&(d=a.mimeType||b.getResponseHeader("Content-Type"));if(d)for(e in h)if(h[e]&&h[e].test(d)){i.unshift(e);break}if(i[0]in c)f=i[0];else{for(e in c){if(!i[0]||a.converters[e+" "+i[0]]){f=e;break}g||(g=e)}f=f||g}return f?(f!==i[0]&&i.unshift(f),c[f]):void 0}function ub(a,b,c,d){var e,f,g,h,i,j={},k=a.dataTypes.slice();if(k[1])for(g in a.converters)j[g.toLowerCase()]=a.converters[g];f=k.shift();while(f)if(a.responseFields[f]&&(c[a.responseFields[f]]=b),!i&&d&&a.dataFilter&&(b=a.dataFilter(b,a.dataType)),i=f,f=k.shift())if("*"===f)f=i;else if("*"!==i&&i!==f){if(g=j[i+" "+f]||j["* "+f],!g)for(e in j)if(h=e.split(" "),h[1]===f&&(g=j[i+" "+h[0]]||j["* "+h[0]])){g===!0?g=j[e]:j[e]!==!0&&(f=h[0],k.unshift(h[1]));break}if(g!==!0)if(g&&a["throws"])b=g(b);else try{b=g(b)}catch(l){return{state:"parsererror",error:g?l:"No conversion from "+i+" to "+f}}}return{state:"success",data:b}}n.extend({active:0,lastModified:{},etag:{},ajaxSettings:{url:ob,type:"GET",isLocal:hb.test(pb[1]),global:!0,processData:!0,async:!0,contentType:"application/x-www-form-urlencoded; charset=UTF-8",accepts:{"*":nb,text:"text/plain",html:"text/html",xml:"application/xml, text/xml",json:"application/json, text/javascript"},contents:{xml:/xml/,html:/html/,json:/json/},responseFields:{xml:"responseXML",text:"responseText",json:"responseJSON"},converters:{"* text":String,"text html":!0,"text json":n.parseJSON,"text xml":n.parseXML},flatOptions:{url:!0,context:!0}},ajaxSetup:function(a,b){return b?sb(sb(a,n.ajaxSettings),b):sb(n.ajaxSettings,a)},ajaxPrefilter:qb(lb),ajaxTransport:qb(mb),ajax:function(a,b){"object"==typeof a&&(b=a,a=void 0),b=b||{};var c,d,e,f,g,h,i,j,k=n.ajaxSetup({},b),l=k.context||k,m=k.context&&(l.nodeType||l.jquery)?n(l):n.event,o=n.Deferred(),p=n.Callbacks("once memory"),q=k.statusCode||{},r={},s={},t=0,u="canceled",v={readyState:0,getResponseHeader:function(a){var b;if(2===t){if(!f){f={};while(b=gb.exec(e))f[b[1].toLowerCase()]=b[2]}b=f[a.toLowerCase()]}return null==b?null:b},getAllResponseHeaders:function(){return 2===t?e:null},setRequestHeader:function(a,b){var c=a.toLowerCase();return t||(a=s[c]=s[c]||a,r[a]=b),this},overrideMimeType:function(a){return t||(k.mimeType=a),this},statusCode:function(a){var b;if(a)if(2>t)for(b in a)q[b]=[q[b],a[b]];else v.always(a[v.status]);return this},abort:function(a){var b=a||u;return c&&c.abort(b),x(0,b),this}};if(o.promise(v).complete=p.add,v.success=v.done,v.error=v.fail,k.url=((a||k.url||ob)+"").replace(eb,"").replace(jb,pb[1]+"//"),k.type=b.method||b.type||k.method||k.type,k.dataTypes=n.trim(k.dataType||"*").toLowerCase().match(E)||[""],null==k.crossDomain&&(h=kb.exec(k.url.toLowerCase()),k.crossDomain=!(!h||h[1]===pb[1]&&h[2]===pb[2]&&(h[3]||("http:"===h[1]?"80":"443"))===(pb[3]||("http:"===pb[1]?"80":"443")))),k.data&&k.processData&&"string"!=typeof k.data&&(k.data=n.param(k.data,k.traditional)),rb(lb,k,b,v),2===t)return v;i=n.event&&k.global,i&&0===n.active++&&n.event.trigger("ajaxStart"),k.type=k.type.toUpperCase(),k.hasContent=!ib.test(k.type),d=k.url,k.hasContent||(k.data&&(d=k.url+=(db.test(d)?"&":"?")+k.data,delete k.data),k.cache===!1&&(k.url=fb.test(d)?d.replace(fb,"$1_="+cb++):d+(db.test(d)?"&":"?")+"_="+cb++)),k.ifModified&&(n.lastModified[d]&&v.setRequestHeader("If-Modified-Since",n.lastModified[d]),n.etag[d]&&v.setRequestHeader("If-None-Match",n.etag[d])),(k.data&&k.hasContent&&k.contentType!==!1||b.contentType)&&v.setRequestHeader("Content-Type",k.contentType),v.setRequestHeader("Accept",k.dataTypes[0]&&k.accepts[k.dataTypes[0]]?k.accepts[k.dataTypes[0]]+("*"!==k.dataTypes[0]?", "+nb+"; q=0.01":""):k.accepts["*"]);for(j in k.headers)v.setRequestHeader(j,k.headers[j]);if(k.beforeSend&&(k.beforeSend.call(l,v,k)===!1||2===t))return v.abort();u="abort";for(j in{success:1,error:1,complete:1})v[j](k[j]);if(c=rb(mb,k,b,v)){v.readyState=1,i&&m.trigger("ajaxSend",[v,k]),k.async&&k.timeout>0&&(g=setTimeout(function(){v.abort("timeout")},k.timeout));try{t=1,c.send(r,x)}catch(w){if(!(2>t))throw w;x(-1,w)}}else x(-1,"No Transport");function x(a,b,f,h){var j,r,s,u,w,x=b;2!==t&&(t=2,g&&clearTimeout(g),c=void 0,e=h||"",v.readyState=a>0?4:0,j=a>=200&&300>a||304===a,f&&(u=tb(k,v,f)),u=ub(k,u,v,j),j?(k.ifModified&&(w=v.getResponseHeader("Last-Modified"),w&&(n.lastModified[d]=w),w=v.getResponseHeader("etag"),w&&(n.etag[d]=w)),204===a||"HEAD"===k.type?x="nocontent":304===a?x="notmodified":(x=u.state,r=u.data,s=u.error,j=!s)):(s=x,(a||!x)&&(x="error",0>a&&(a=0))),v.status=a,v.statusText=(b||x)+"",j?o.resolveWith(l,[r,x,v]):o.rejectWith(l,[v,x,s]),v.statusCode(q),q=void 0,i&&m.trigger(j?"ajaxSuccess":"ajaxError",[v,k,j?r:s]),p.fireWith(l,[v,x]),i&&(m.trigger("ajaxComplete",[v,k]),--n.active||n.event.trigger("ajaxStop")))}return v},getJSON:function(a,b,c){return n.get(a,b,c,"json")},getScript:function(a,b){return n.get(a,void 0,b,"script")}}),n.each(["get","post"],function(a,b){n[b]=function(a,c,d,e){return n.isFunction(c)&&(e=e||d,d=c,c=void 0),n.ajax({url:a,type:b,dataType:e,data:c,success:d})}}),n._evalUrl=function(a){return n.ajax({url:a,type:"GET",dataType:"script",async:!1,global:!1,"throws":!0})},n.fn.extend({wrapAll:function(a){var b;return n.isFunction(a)?this.each(function(b){n(this).wrapAll(a.call(this,b))}):(this[0]&&(b=n(a,this[0].ownerDocument).eq(0).clone(!0),this[0].parentNode&&b.insertBefore(this[0]),b.map(function(){var a=this;while(a.firstElementChild)a=a.firstElementChild;return a}).append(this)),this)},wrapInner:function(a){return this.each(n.isFunction(a)?function(b){n(this).wrapInner(a.call(this,b))}:function(){var b=n(this),c=b.contents();c.length?c.wrapAll(a):b.append(a)})},wrap:function(a){var b=n.isFunction(a);return this.each(function(c){n(this).wrapAll(b?a.call(this,c):a)})},unwrap:function(){return this.parent().each(function(){n.nodeName(this,"body")||n(this).replaceWith(this.childNodes)}).end()}}),n.expr.filters.hidden=function(a){return a.offsetWidth<=0&&a.offsetHeight<=0},n.expr.filters.visible=function(a){return!n.expr.filters.hidden(a)};var vb=/%20/g,wb=/\[\]$/,xb=/\r?\n/g,yb=/^(?:submit|button|image|reset|file)$/i,zb=/^(?:input|select|textarea|keygen)/i;function Ab(a,b,c,d){var e;if(n.isArray(b))n.each(b,function(b,e){c||wb.test(a)?d(a,e):Ab(a+"["+("object"==typeof e?b:"")+"]",e,c,d)});else if(c||"object"!==n.type(b))d(a,b);else for(e in b)Ab(a+"["+e+"]",b[e],c,d)}n.param=function(a,b){var c,d=[],e=function(a,b){b=n.isFunction(b)?b():null==b?"":b,d[d.length]=encodeURIComponent(a)+"="+encodeURIComponent(b)};if(void 0===b&&(b=n.ajaxSettings&&n.ajaxSettings.traditional),n.isArray(a)||a.jquery&&!n.isPlainObject(a))n.each(a,function(){e(this.name,this.value)});else for(c in a)Ab(c,a[c],b,e);return d.join("&").replace(vb,"+")},n.fn.extend({serialize:function(){return n.param(this.serializeArray())},serializeArray:function(){return this.map(function(){var a=n.prop(this,"elements");return a?n.makeArray(a):this}).filter(function(){var a=this.type;return this.name&&!n(this).is(":disabled")&&zb.test(this.nodeName)&&!yb.test(a)&&(this.checked||!T.test(a))}).map(function(a,b){var c=n(this).val();return null==c?null:n.isArray(c)?n.map(c,function(a){return{name:b.name,value:a.replace(xb,"\r\n")}}):{name:b.name,value:c.replace(xb,"\r\n")}}).get()}}),n.ajaxSettings.xhr=function(){try{return new XMLHttpRequest}catch(a){}};var Bb=0,Cb={},Db={0:200,1223:204},Eb=n.ajaxSettings.xhr();a.attachEvent&&a.attachEvent("onunload",function(){for(var a in Cb)Cb[a]()}),k.cors=!!Eb&&"withCredentials"in Eb,k.ajax=Eb=!!Eb,n.ajaxTransport(function(a){var b;return k.cors||Eb&&!a.crossDomain?{send:function(c,d){var e,f=a.xhr(),g=++Bb;if(f.open(a.type,a.url,a.async,a.username,a.password),a.xhrFields)for(e in a.xhrFields)f[e]=a.xhrFields[e];a.mimeType&&f.overrideMimeType&&f.overrideMimeType(a.mimeType),a.crossDomain||c["X-Requested-With"]||(c["X-Requested-With"]="XMLHttpRequest");for(e in c)f.setRequestHeader(e,c[e]);b=function(a){return function(){b&&(delete Cb[g],b=f.onload=f.onerror=null,"abort"===a?f.abort():"error"===a?d(f.status,f.statusText):d(Db[f.status]||f.status,f.statusText,"string"==typeof f.responseText?{text:f.responseText}:void 0,f.getAllResponseHeaders()))}},f.onload=b(),f.onerror=b("error"),b=Cb[g]=b("abort");try{f.send(a.hasContent&&a.data||null)}catch(h){if(b)throw h}},abort:function(){b&&b()}}:void 0}),n.ajaxSetup({accepts:{script:"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},contents:{script:/(?:java|ecma)script/},converters:{"text script":function(a){return n.globalEval(a),a}}}),n.ajaxPrefilter("script",function(a){void 0===a.cache&&(a.cache=!1),a.crossDomain&&(a.type="GET")}),n.ajaxTransport("script",function(a){if(a.crossDomain){var b,c;return{send:function(d,e){b=n(" + * ... becomes ... + * foo + * + * foo + * ... becomes ... + * foo + * + * foo bar + * ... becomes ... + * foo bar + * + * hello + * ... becomes ... + * hello + * + * hello + * ... becomes ... + * hello + */ +var wysihtml5ParserRules = { + /** + * CSS Class white-list + * Following css classes won't be removed when parsed by the wysihtml5 html parser + */ + "classes": { + "*":1, + "wysiwyg-clear-both": 1, + "wysiwyg-clear-left": 1, + "wysiwyg-clear-right": 1, + "wysiwyg-color-aqua": 1, + "wysiwyg-color-black": 1, + "wysiwyg-color-blue": 1, + "wysiwyg-color-fuchsia": 1, + "wysiwyg-color-gray": 1, + "wysiwyg-color-green": 1, + "wysiwyg-color-lime": 1, + "wysiwyg-color-maroon": 1, + "wysiwyg-color-navy": 1, + "wysiwyg-color-olive": 1, + "wysiwyg-color-purple": 1, + "wysiwyg-color-red": 1, + "wysiwyg-color-silver": 1, + "wysiwyg-color-teal": 1, + "wysiwyg-color-white": 1, + "wysiwyg-color-yellow": 1, + "wysiwyg-float-left": 1, + "wysiwyg-float-right": 1, + "wysiwyg-font-size-large": 1, + "wysiwyg-font-size-larger": 1, + "wysiwyg-font-size-medium": 1, + "wysiwyg-font-size-small": 1, + "wysiwyg-font-size-smaller": 1, + "wysiwyg-font-size-x-large": 1, + "wysiwyg-font-size-x-small": 1, + "wysiwyg-font-size-xx-large": 1, + "wysiwyg-font-size-xx-small": 1, + "wysiwyg-text-align-center": 1, + "wysiwyg-text-align-justify": 1, + "wysiwyg-text-align-left": 1, + "wysiwyg-text-align-right": 1 + }, + /** + * Tag list + * + * Following options are available: + * + * - add_class: converts and deletes the given HTML4 attribute (align, clear, ...) via the given method to a css class + * The following methods are implemented in wysihtml5.dom.parse: + * - align_text: converts align attribute values (right/left/center/justify) to their corresponding css class "wysiwyg-text-align-*") + foo ... becomes ... class="wysiwyg-text-align-center">foo + * - clear_br: converts clear attribute values left/right/all/both to their corresponding css class "wysiwyg-clear-*" + * ... becomes ... + * - align_img: converts align attribute values (right/left) on to their corresponding css class "wysiwyg-float-*" + * + * - remove: removes the element and it's content + * + * - rename_tag: renames the element to the given tag + * + * - set_class: adds the given class to the element (note: make sure that the class is in the "classes" white list above) + * + * - set_attributes: sets/overrides the given attributes + * + * - check_attributes: checks the given HTML attribute via the given method + * - url: checks whether the given string is an url, deletes the attribute if not + * - alt: strips unwanted characters. if the attribute is not set, then it gets set (to ensure valid and compatible HTML) + * - numbers: ensures that the attribute only contains numeric characters + */ + "tags": { + "tr": { + "add_class": { + "align": "align_text" + } + }, + "strike": { + "remove": 1 + }, + "form": { + "rename_tag": "div" + }, + "rt": { + "rename_tag": "span" + }, + "code": {}, + "acronym": { + "rename_tag": "span" + }, + "br": { + "add_class": { + "clear": "clear_br" + } + }, + "details": { + "rename_tag": "div" + }, + "h4": { + "add_class": { + "align": "align_text" + } + }, + "em": {}, + "title": { + "remove": 1 + }, + "multicol": { + "rename_tag": "div" + }, + "figure": { + "rename_tag": "div" + }, + "xmp": { + "rename_tag": "span" + }, + "small": { + "rename_tag": "span", + "set_class": "wysiwyg-font-size-smaller" + }, + "area": { + "remove": 1 + }, + "time": { + "rename_tag": "span" + }, + "dir": { + "rename_tag": "ul" + }, + "bdi": { + "rename_tag": "span" + }, + "command": { + "remove": 1 + }, + "ul": {}, + "progress": { + "rename_tag": "span" + }, + "dfn": { + "rename_tag": "span" + }, + "iframe": { + "remove": 1 + }, + "figcaption": { + "rename_tag": "div" + }, + "a": { + "check_attributes": { + "href": "url" + }, + "set_attributes": { + "rel": "nofollow", + "target": "_blank" + } + }, + "img": { + "check_attributes": { + "width": "numbers", + "alt": "alt", + "src": "url", + "height": "numbers" + }, + "add_class": { + "align": "align_img" + } + }, + "rb": { + "rename_tag": "span" + }, + "footer": { + "rename_tag": "div" + }, + "noframes": { + "remove": 1 + }, + "abbr": { + "rename_tag": "span" + }, + "u": {}, + "bgsound": { + "remove": 1 + }, + "sup": { + "rename_tag": "span" + }, + "address": { + "rename_tag": "div" + }, + "basefont": { + "remove": 1 + }, + "nav": { + "rename_tag": "div" + }, + "h1": { + "add_class": { + "align": "align_text" + } + }, + "head": { + "remove": 1 + }, + "tbody": { + "add_class": { + "align": "align_text" + } + }, + "dd": { + "rename_tag": "div" + }, + "s": { + "rename_tag": "span" + }, + "li": {}, + "td": { + "check_attributes": { + "rowspan": "numbers", + "colspan": "numbers" + }, + "add_class": { + "align": "align_text" + } + }, + "object": { + "remove": 1 + }, + "div": { + "remove": 0, + "add_class": { + "align": "align_text" + } + }, + "option": { + "rename_tag": "span" + }, + "select": { + "rename_tag": "span" + }, + "i": {}, + "track": { + "remove": 1 + }, + "wbr": { + "remove": 1 + }, + "fieldset": { + "rename_tag": "div" + }, + "big": { + "rename_tag": "span", + "set_class": "wysiwyg-font-size-larger" + }, + "button": { + "rename_tag": "span" + }, + "noscript": { + "remove": 1 + }, + "svg": { + "remove": 1 + }, + "input": { + "remove": 1 + }, + "table": {}, + "keygen": { + "remove": 1 + }, + "h5": { + "add_class": { + "align": "align_text" + } + }, + "meta": { + "remove": 1 + }, + "map": { + "rename_tag": "div" + }, + "isindex": { + "remove": 1 + }, + "mark": { + "rename_tag": "span" + }, + "caption": { + "add_class": { + "align": "align_text" + } + }, + "tfoot": { + "add_class": { + "align": "align_text" + } + }, + "base": { + "remove": 1 + }, + "video": { + "remove": 1 + }, + "strong": {}, + "canvas": { + "remove": 1 + }, + "output": { + "rename_tag": "span" + }, + "marquee": { + "rename_tag": "span" + }, + "b": {}, + "q": { + "check_attributes": { + "cite": "url" + } + }, + "applet": { + "remove": 1 + }, + "span": {}, + "rp": { + "rename_tag": "span" + }, + "spacer": { + "remove": 1 + }, + "source": { + "remove": 1 + }, + "aside": { + "rename_tag": "div" + }, + "frame": { + "remove": 1 + }, + "section": { + "rename_tag": "div" + }, + "body": { + "rename_tag": "div" + }, + "ol": {}, + "nobr": { + "rename_tag": "span" + }, + "html": { + "rename_tag": "div" + }, + "summary": { + "rename_tag": "span" + }, + "var": { + "rename_tag": "span" + }, + "del": { + "remove": 1 + }, + "blockquote": { + "check_attributes": { + "cite": "url" + } + }, + "style": { + "remove": 1 + }, + "device": { + "remove": 1 + }, + "meter": { + "rename_tag": "span" + }, + "h3": { + "add_class": { + "align": "align_text" + } + }, + "textarea": { + "rename_tag": "span" + }, + "embed": { + "remove": 1 + }, + "hgroup": { + "rename_tag": "div" + }, + "font": { + "rename_tag": "span", + "add_class": { + "size": "size_font" + } + }, + "tt": { + "rename_tag": "span" + }, + "noembed": { + "remove": 1 + }, + "thead": { + "add_class": { + "align": "align_text" + } + }, + "blink": { + "rename_tag": "span" + }, + "plaintext": { + "rename_tag": "span" + }, + "xml": { + "remove": 1 + }, + "h6": { + "add_class": { + "align": "align_text" + } + }, + "param": { + "remove": 1 + }, + "th": { + "check_attributes": { + "rowspan": "numbers", + "colspan": "numbers" + }, + "add_class": { + "align": "align_text" + } + }, + "legend": { + "rename_tag": "span" + }, + "hr": {}, + "label": { + "rename_tag": "span" + }, + "dl": { + "rename_tag": "div" + }, + "kbd": { + "rename_tag": "span" + }, + "listing": { + "rename_tag": "div" + }, + "dt": { + "rename_tag": "span" + }, + "nextid": { + "remove": 1 + }, + "pre": {}, + "center": { + "rename_tag": "div", + "set_class": "wysiwyg-text-align-center" + }, + "audio": { + "remove": 1 + }, + "datalist": { + "rename_tag": "span" + }, + "samp": { + "rename_tag": "span" + }, + "col": { + "remove": 1 + }, + "article": { + "rename_tag": "div" + }, + "cite": {}, + "link": { + "remove": 1 + }, + "script": { + "remove": 1 + }, + "bdo": { + "rename_tag": "span" + }, + "menu": { + "rename_tag": "ul" + }, + "colgroup": { + "remove": 1 + }, + "ruby": { + "rename_tag": "span" + }, + "h2": { + "add_class": { + "align": "align_text" + } + }, + "ins": { + "rename_tag": "span" + }, + "p": { + "add_class": { + "align": "align_text" + } + }, + "sub": { + "rename_tag": "span" + }, + "comment": { + "remove": 1 + }, + "frameset": { + "remove": 1 + }, + "optgroup": { + "rename_tag": "span" + }, + "header": { + "rename_tag": "div" + } + } +}; \ No newline at end of file diff --git a/Show-Crypto-Currency-Price-in-Graph/amol/public/assets/js/plugins/editors/wysihtml5/toolbar.js b/Show-Crypto-Currency-Price-in-Graph/amol/public/assets/js/plugins/editors/wysihtml5/toolbar.js new file mode 100644 index 0000000..0b06115 --- /dev/null +++ b/Show-Crypto-Currency-Price-in-Graph/amol/public/assets/js/plugins/editors/wysihtml5/toolbar.js @@ -0,0 +1,501 @@ +!function($, wysi) { + "use strict"; + + var tpl = { + "font-styles": function(locale, options) { + var size = (options && options.size) ? ' btn-'+options.size : ''; + return "" + + "" + + " " + locale.font_styles.normal + " " + + "" + + "" + + "" + locale.font_styles.normal + "" + + "" + locale.font_styles.h1 + "" + + "" + locale.font_styles.h2 + "" + + "" + locale.font_styles.h3 + "" + + "" + locale.font_styles.h4 + "" + + "" + locale.font_styles.h5 + "" + + "" + locale.font_styles.h6 + "" + + "" + + ""; + }, + + "emphasis": function(locale, options) { + var size = (options && options.size) ? ' btn-'+options.size : ''; + return "" + + "" + + "" + + "" + + "" + + "" + + "" + + ""; + }, + + "lists": function(locale, options) { + var size = (options && options.size) ? ' btn-'+options.size : ''; + return "" + + "" + + "" + + "" + + "" + + "" + + "" + + ""; + }, + + "link": function(locale, options) { + var size = (options && options.size) ? ' btn-'+options.size : ''; + return "" + + "" + + "" + + "" + + "" + + "×" + + "" + " " + locale.link.insert + "" + + "" + + "" + + "" + + "" + + "" + locale.link.target + "" + "" + + "" + + "" + + "" + + "" + + "" + + "" + + "" + + ""; + }, + + "image": function(locale, options) { + var size = (options && options.size) ? ' btn-'+options.size : ''; + return "" + + "" + + "" + + "" + + "" + + "×" + + "" + " " + locale.image.insert + "" + + "" + + "" + + "" + + "" + + "" + + "" + + "" + + "" + + "" + + "" + + "" + + ""; + }, + + "html": function(locale, options) { + var size = (options && options.size) ? ' btn-'+options.size : ''; + return "" + + "" + + "" + + "" + + ""; + }, + + "alignment": function(locale, options) { + var size = (options && options.size) ? ' btn-'+options.size : ''; + return "" + + "" + + "" + + "" + + "" + + "" + + "" + + ""; + }, + + "action": function(locale, options) { + var size = (options && options.size) ? ' btn-'+options.size : ''; + return "" + + "" + + "" + + "" + + "" + + ""; + }, + + "color": function(locale, options) { + var size = (options && options.size) ? ' btn-'+options.size : ''; + return "" + + "" + + "" + locale.colours.black + " " + + "" + + "" + + "" + locale.colours.black + "" + + "" + locale.colours.silver + "" + + "" + locale.colours.gray + "" + + "" + locale.colours.maroon + "" + + "" + locale.colours.red + "" + + "" + locale.colours.purple + "" + + "" + locale.colours.green + "" + + "" + locale.colours.olive + "" + + "" + locale.colours.navy + "" + + "" + locale.colours.blue + "" + + "" + locale.colours.orange + "" + + "" + + ""; + } + }; + + var templates = function(key, locale, options) { + return tpl[key](locale, options); + }; + + + var Wysihtml5 = function(el, options) { + this.el = el; + var toolbarOpts = options || defaultOptions; + for(var t in toolbarOpts.customTemplates) { + tpl[t] = toolbarOpts.customTemplates[t]; + } + this.toolbar = this.createToolbar(el, toolbarOpts); + this.editor = this.createEditor(options); + + window.editor = this.editor; + + /*$('iframe.wysihtml5-sandbox').each(function(i, el){ + $(el.contentWindow).off('focus.wysihtml5').on({ + 'focus.wysihtml5' : function(){ + $('li.dropdown').removeClass('open'); + } + }); + });*/ + }; + + Wysihtml5.prototype = { + + constructor: Wysihtml5, + + createEditor: function(options) { + options = options || {}; + + // Add the toolbar to a clone of the options object so multiple instances + // of the WYISYWG don't break because "toolbar" is already defined + options = $.extend(true, {}, options); + options.toolbar = this.toolbar[0]; + + var editor = new wysi.Editor(this.el[0], options); + + if(options && options.events) { + for(var eventName in options.events) { + editor.on(eventName, options.events[eventName]); + } + } + return editor; + }, + + createToolbar: function(el, options) { + var self = this; + var toolbar = $("", { + 'class' : "wysihtml5-toolbar", + 'style': "display:none" + }); + var culture = options.locale || defaultOptions.locale || "en"; + for(var key in defaultOptions) { + var value = false; + + if(options[key] !== undefined) { + if(options[key] === true) { + value = true; + } + } else { + value = defaultOptions[key]; + } + + if(value === true) { + toolbar.append(templates(key, locale[culture], options)); + + if(key === "html") { + this.initHtml(toolbar); + } + + if(key === "link") { + this.initInsertLink(toolbar); + } + + if(key === "image") { + this.initInsertImage(toolbar); + } + } + } + + if(options.toolbar) { + for(key in options.toolbar) { + toolbar.append(options.toolbar[key]); + } + } + + toolbar.find("a[data-wysihtml5-command='formatBlock']").click(function(e) { + var target = e.target || e.srcElement; + var el = $(target); + self.toolbar.find('.current-font').text(el.html()); + }); + + toolbar.find("a[data-wysihtml5-command='foreColor']").click(function(e) { + var target = e.target || e.srcElement; + var el = $(target); + self.toolbar.find('.current-color').text(el.html()); + }); + + this.el.before(toolbar); + + return toolbar; + }, + + initHtml: function(toolbar) { + var changeViewSelector = "a[data-wysihtml5-action='change_view']"; + toolbar.find(changeViewSelector).click(function(e) { + toolbar.find('a.btn').not(changeViewSelector).toggleClass('disabled'); + }); + }, + + initInsertImage: function(toolbar) { + var self = this; + var insertImageModal = toolbar.find('.bootstrap-wysihtml5-insert-image-modal'); + var urlInput = insertImageModal.find('.bootstrap-wysihtml5-insert-image-url'); + var insertButton = insertImageModal.find('a.btn-primary'); + var initialValue = urlInput.val(); + var caretBookmark; + + var insertImage = function() { + var url = urlInput.val(); + urlInput.val(initialValue); + self.editor.currentView.element.focus(); + if (caretBookmark) { + self.editor.composer.selection.setBookmark(caretBookmark); + caretBookmark = null; + } + self.editor.composer.commands.exec("insertImage", url); + }; + + urlInput.keypress(function(e) { + if(e.which == 13) { + insertImage(); + insertImageModal.modal('hide'); + } + }); + + insertButton.click(insertImage); + + insertImageModal.on('shown.bs.modal', function() { + urlInput.focus(); + }); + + insertImageModal.on('hide.bs.modal', function() { + self.editor.currentView.element.focus(); + }); + + toolbar.find('a[data-wysihtml5-command=insertImage]').click(function() { + var activeButton = $(this).hasClass("wysihtml5-command-active"); + + if (!activeButton) { + self.editor.currentView.element.focus(false); + caretBookmark = self.editor.composer.selection.getBookmark(); + insertImageModal.appendTo('body').modal('show'); + insertImageModal.on('click.dismiss.modal', '[data-dismiss="modal"]', function(e) { + e.stopPropagation(); + }); + return false; + } + else { + return true; + } + }); + }, + + initInsertLink: function(toolbar) { + var self = this; + var insertLinkModal = toolbar.find('.bootstrap-wysihtml5-insert-link-modal'); + var urlInput = insertLinkModal.find('.bootstrap-wysihtml5-insert-link-url'); + var targetInput = insertLinkModal.find('.bootstrap-wysihtml5-insert-link-target'); + var insertButton = insertLinkModal.find('a.btn-primary'); + var initialValue = urlInput.val(); + var caretBookmark; + + var insertLink = function() { + var url = urlInput.val(); + urlInput.val(initialValue); + self.editor.currentView.element.focus(); + if (caretBookmark) { + self.editor.composer.selection.setBookmark(caretBookmark); + caretBookmark = null; + } + + var newWindow = targetInput.prop("checked"); + self.editor.composer.commands.exec("createLink", { + 'href' : url, + 'target' : (newWindow ? '_blank' : '_self'), + 'rel' : (newWindow ? 'nofollow' : '') + }); + }; + var pressedEnter = false; + + urlInput.keypress(function(e) { + if(e.which == 13) { + insertLink(); + insertLinkModal.modal('hide'); + } + }); + + insertButton.click(insertLink); + + insertLinkModal.on('shown', function() { + urlInput.focus(); + }); + + insertLinkModal.on('hide', function() { + self.editor.currentView.element.focus(); + }); + + toolbar.find('a[data-wysihtml5-command=createLink]').click(function() { + var activeButton = $(this).hasClass("wysihtml5-command-active"); + + if (!activeButton) { + self.editor.currentView.element.focus(false); + caretBookmark = self.editor.composer.selection.getBookmark(); + insertLinkModal.appendTo('body').modal('show'); + insertLinkModal.on('click.dismiss.modal', '[data-dismiss="modal"]', function(e) { + e.stopPropagation(); + }); + return false; + } + else { + return true; + } + }); + } + }; + + // these define our public api + var methods = { + resetDefaults: function() { + $.fn.wysihtml5.defaultOptions = $.extend(true, {}, $.fn.wysihtml5.defaultOptionsCache); + }, + bypassDefaults: function(options) { + return this.each(function () { + var $this = $(this); + $this.data('wysihtml5', new Wysihtml5($this, options)); + }); + }, + shallowExtend: function (options) { + var settings = $.extend({}, $.fn.wysihtml5.defaultOptions, options || {}, $(this).data()); + var that = this; + return methods.bypassDefaults.apply(that, [settings]); + }, + deepExtend: function(options) { + var settings = $.extend(true, {}, $.fn.wysihtml5.defaultOptions, options || {}); + var that = this; + return methods.bypassDefaults.apply(that, [settings]); + }, + init: function(options) { + var that = this; + return methods.shallowExtend.apply(that, [options]); + } + }; + + $.fn.wysihtml5 = function ( method ) { + if ( methods[method] ) { + return methods[method].apply( this, Array.prototype.slice.call( arguments, 1 )); + } else if ( typeof method === 'object' || ! method ) { + return methods.init.apply( this, arguments ); + } else { + $.error( 'Method ' + method + ' does not exist on jQuery.wysihtml5' ); + } + }; + + $.fn.wysihtml5.Constructor = Wysihtml5; + + var defaultOptions = $.fn.wysihtml5.defaultOptions = { + "font-styles": true, + "color": true, + "emphasis": true, + "alignment": true, + "lists": true, + "link": true, + "image": true, + "action": true, + "html": true, + events: {}, + locale: "en" + }; + + if (typeof $.fn.wysihtml5.defaultOptionsCache === 'undefined') { + $.fn.wysihtml5.defaultOptionsCache = $.extend(true, {}, $.fn.wysihtml5.defaultOptions); + } + + var locale = $.fn.wysihtml5.locale = { + en: { + font_styles: { + normal: "Normal text", + h1: "Heading 1", + h2: "Heading 2", + h3: "Heading 3", + h4: "Heading 4", + h5: "Heading 5", + h6: "Heading 6" + }, + emphasis: { + bold: "Bold", + italic: "Italic", + underline: "Underline", + strike: "Strike through" + }, + lists: { + unordered: "Unordered list", + ordered: "Ordered list", + outdent: "Outdent", + indent: "Indent" + }, + link: { + insert: "Insert link", + cancel: "Cancel", + target: "Open link in new window" + }, + image: { + insert: "Insert image", + cancel: "Cancel" + }, + action: { + undo: "Undo", + redo: "Redo" + }, + html: { + edit: "Edit HTML" + }, + alignment: { + left: "Align left", + right: "Align right", + center: "Align center", + full: "Justify" + }, + colours: { + black: "Black", + silver: "Silver", + gray: "Grey", + maroon: "Maroon", + red: "Red", + purple: "Purple", + green: "Green", + olive: "Olive", + navy: "Navy", + blue: "Blue", + orange: "Orange" + } + } + }; + +}(window.jQuery, window.wysihtml5); diff --git a/Show-Crypto-Currency-Price-in-Graph/amol/public/assets/js/plugins/editors/wysihtml5/wysihtml5.min.js b/Show-Crypto-Currency-Price-in-Graph/amol/public/assets/js/plugins/editors/wysihtml5/wysihtml5.min.js new file mode 100644 index 0000000..0989fda --- /dev/null +++ b/Show-Crypto-Currency-Price-in-Graph/amol/public/assets/js/plugins/editors/wysihtml5/wysihtml5.min.js @@ -0,0 +1,266 @@ +/* + wysihtml5 v0.4.0pre + https://github.com/xing/wysihtml5 + + Author: Christopher Blum (https://github.com/tiff) + + Copyright (C) 2012 XING AG + Licensed under the MIT license (MIT) + + Rangy, a cross-browser JavaScript range and selection library + http://code.google.com/p/rangy/ + + Copyright 2011, Tim Down + Licensed under the MIT license. + Version: 1.2.2 + Build date: 13 November 2011 +*/ +var wysihtml5={version:"0.4.0pre",commands:{},dom:{},quirks:{},toolbar:{},lang:{},selection:{},views:{},INVISIBLE_SPACE:"\ufeff",EMPTY_FUNCTION:function(){},ELEMENT_NODE:1,TEXT_NODE:3,BACKSPACE_KEY:8,ENTER_KEY:13,ESCAPE_KEY:27,SPACE_KEY:32,DELETE_KEY:46}; +window.rangy=function(){function b(a,b){var c=typeof a[b];return c==j||!!(c==g&&a[b])||"unknown"==c}function c(a,b){return!!(typeof a[b]==g&&a[b])}function a(a,b){return typeof a[b]!=k}function d(a){return function(b,c){for(var d=c.length;d--;)if(!a(b,c[d]))return!1;return!0}}function e(a){return a&&p(a,u)&&t(a,v)}function f(a){window.alert("Rangy not supported in your browser. Reason: "+a);q.initialized=!0;q.supported=!1}function h(){if(!q.initialized){var a,d=!1,g=!1;b(document,"createRange")&& +(a=document.createRange(),p(a,n)&&t(a,m)&&(d=!0),a.detach());if((a=c(document,"body")?document.body:document.getElementsByTagName("body")[0])&&b(a,"createTextRange"))a=a.createTextRange(),e(a)&&(g=!0);!d&&!g&&f("Neither Range nor TextRange are implemented");q.initialized=!0;q.features={implementsDomRange:d,implementsTextRange:g};d=A.concat(y);g=0;for(a=d.length;g["+a.childNodes.length+"]":a.nodeName}function j(a){this._next=this.root=a}function k(a,b){this.node=a;this.offset=b}function m(a){this.code=this[a];this.codeName=a;this.message="DOMException: "+this.codeName} +var n="undefined",v=b.util;v.areHostMethods(document,["createDocumentFragment","createElement","createTextNode"])||c.fail("document missing a Node creation method");v.isHostMethod(document,"getElementsByTagName")||c.fail("document missing getElementsByTagName method");var u=document.createElement("div");v.areHostMethods(u,["insertBefore","appendChild","cloneNode"])||c.fail("Incomplete Element implementation");v.isHostProperty(u,"innerHTML")||c.fail("Element is missing innerHTML property");u=document.createTextNode("test"); +v.areHostMethods(u,["splitText","deleteData","insertData","appendData","cloneNode"])||c.fail("Incomplete Text Node implementation");var p=function(a,b){for(var c=a.length;c--;)if(a[c]===b)return!0;return!1};j.prototype={_current:null,hasNext:function(){return!!this._next},next:function(){var a=this._current=this._next,b;if(this._current){b=a.firstChild;if(!b)for(b=null;a!==this.root&&!(b=a.nextSibling);)a=a.parentNode;this._next=b}return this._current},detach:function(){this._current=this._next=this.root= +null}};k.prototype={equals:function(a){return this.node===a.node&this.offset==a.offset},inspect:function(){return"[DomPosition("+g(this.node)+":"+this.offset+")]"}};m.prototype={INDEX_SIZE_ERR:1,HIERARCHY_REQUEST_ERR:3,WRONG_DOCUMENT_ERR:4,NO_MODIFICATION_ALLOWED_ERR:7,NOT_FOUND_ERR:8,NOT_SUPPORTED_ERR:9,INVALID_STATE_ERR:11};m.prototype.toString=function(){return this.message};b.dom={arrayContains:p,isHtmlNamespace:function(a){var b;return typeof a.namespaceURI==n||null===(b=a.namespaceURI)||"http://www.w3.org/1999/xhtml"== +b},parentElement:function(a){a=a.parentNode;return 1==a.nodeType?a:null},getNodeIndex:a,getNodeLength:function(a){var b;return f(a)?a.length:(b=a.childNodes)?b.length:0},getCommonAncestor:d,isAncestorOf:function(a,b,c){for(b=c?b:b.parentNode;b;){if(b===a)return!0;b=b.parentNode}return!1},getClosestAncestorIn:e,isCharacterDataNode:f,insertAfter:h,splitDataNode:function(a,b){var c=a.cloneNode(!1);c.deleteData(0,b);a.deleteData(b,a.length-b);h(c,a);return c},getDocument:i,getWindow:function(a){a=i(a); +if(typeof a.defaultView!=n)return a.defaultView;if(typeof a.parentWindow!=n)return a.parentWindow;throw Error("Cannot get a window object for node");},getIframeWindow:function(a){if(typeof a.contentWindow!=n)return a.contentWindow;if(typeof a.contentDocument!=n)return a.contentDocument.defaultView;throw Error("getIframeWindow: No Window object found for iframe element");},getIframeDocument:function(a){if(typeof a.contentDocument!=n)return a.contentDocument;if(typeof a.contentWindow!=n)return a.contentWindow.document; +throw Error("getIframeWindow: No Document object found for iframe element");},getBody:function(a){return v.isHostObject(a,"body")?a.body:a.getElementsByTagName("body")[0]},getRootContainer:function(a){for(var b;b=a.parentNode;)a=b;return a},comparePoints:function(b,c,g,j){var f;if(b==g)return c===j?0:c=b.childNodes.length?b.appendChild(a):b.insertBefore(a,b.childNodes[c]);return d}function i(b){for(var c,d,e=a(b.range).createDocumentFragment();d=b.next();){c=b.isPartiallySelectedSubtree();d=d.cloneNode(!c);c&&(c=b.getSubtreeIterator(),d.appendChild(i(c)),c.detach(!0));if(10==d.nodeType)throw new C("HIERARCHY_REQUEST_ERR");e.appendChild(d)}return e}function g(a,b,c){for(var d,e,c=c||{stop:!1};d=a.next();)if(a.isPartiallySelectedSubtree())if(!1=== +b(d)){c.stop=!0;break}else{if(d=a.getSubtreeIterator(),g(d,b,c),d.detach(!0),c.stop)break}else for(d=l.createIterator(d);e=d.next();)if(!1===b(e)){c.stop=!0;return}}function j(a){for(var b;a.next();)a.isPartiallySelectedSubtree()?(b=a.getSubtreeIterator(),j(b),b.detach(!0)):a.remove()}function k(b){for(var c,d=a(b.range).createDocumentFragment(),e;c=b.next();){b.isPartiallySelectedSubtree()?(c=c.cloneNode(!1),e=b.getSubtreeIterator(),c.appendChild(k(e)),e.detach(!0)):b.remove();if(10==c.nodeType)throw new C("HIERARCHY_REQUEST_ERR"); +d.appendChild(c)}return d}function m(a,b,c){var d=!(!b||!b.length),e,j=!!c;d&&(e=RegExp("^("+b.join("|")+")$"));var f=[];g(new v(a,!1),function(a){(!d||e.test(a.nodeType))&&(!j||c(a))&&f.push(a)});return f}function n(a){return"["+("undefined"==typeof a.getName?"Range":a.getName())+"("+l.inspectNode(a.startContainer)+":"+a.startOffset+", "+l.inspectNode(a.endContainer)+":"+a.endOffset+")]"}function v(a,b){this.range=a;this.clonePartiallySelectedTextNodes=b;if(!a.collapsed){this.sc=a.startContainer; +this.so=a.startOffset;this.ec=a.endContainer;this.eo=a.endOffset;var c=a.commonAncestorContainer;this.sc===this.ec&&l.isCharacterDataNode(this.sc)?(this.isSingleCharacterDataNode=!0,this._first=this._last=this._next=this.sc):(this._first=this._next=this.sc===c&&!l.isCharacterDataNode(this.sc)?this.sc.childNodes[this.so]:l.getClosestAncestorIn(this.sc,c,!0),this._last=this.ec===c&&!l.isCharacterDataNode(this.ec)?this.ec.childNodes[this.eo-1]:l.getClosestAncestorIn(this.ec,c,!0))}}function u(a){this.code= +this[a];this.codeName=a;this.message="RangeException: "+this.codeName}function p(a,b,c){this.nodes=m(a,b,c);this._next=this.nodes[0];this._position=0}function r(a){return function(b,c){for(var d,e=c?b:b.parentNode;e;){d=e.nodeType;if(l.arrayContains(a,d))return e;e=e.parentNode}return null}}function t(a,b){if(L(a,b))throw new u("INVALID_NODE_TYPE_ERR");}function q(a){if(!a.startContainer)throw new C("INVALID_STATE_ERR");}function y(a,b){if(!l.arrayContains(b,a.nodeType))throw new u("INVALID_NODE_TYPE_ERR"); +}function A(a,b){if(0>b||b>(l.isCharacterDataNode(a)?a.length:a.childNodes.length))throw new C("INDEX_SIZE_ERR");}function B(a,b){if(I(a,!0)!==I(b,!0))throw new C("WRONG_DOCUMENT_ERR");}function D(a){if(T(a,!0))throw new C("NO_MODIFICATION_ALLOWED_ERR");}function z(a,b){if(!a)throw new C(b);}function x(a){q(a);if(!l.arrayContains(M,a.startContainer.nodeType)&&!I(a.startContainer,!0)||!l.arrayContains(M,a.endContainer.nodeType)&&!I(a.endContainer,!0)||!(a.startOffset<=(l.isCharacterDataNode(a.startContainer)? +a.startContainer.length:a.startContainer.childNodes.length))||!(a.endOffset<=(l.isCharacterDataNode(a.endContainer)?a.endContainer.length:a.endContainer.childNodes.length)))throw Error("Range error: Range is no longer valid after DOM mutation ("+a.inspect()+")");}function G(){}function Q(a){a.START_TO_START=U;a.START_TO_END=Y;a.END_TO_END=ca;a.END_TO_START=Z;a.NODE_BEFORE=$;a.NODE_AFTER=aa;a.NODE_BEFORE_AND_AFTER=ba;a.NODE_INSIDE=V}function s(a){Q(a);Q(a.prototype)}function J(a,b){return function(){x(this); +var c=this.startContainer,d=this.startOffset,e=this.commonAncestorContainer,j=new v(this,!0);c!==e&&(c=l.getClosestAncestorIn(c,e,!0),d=f(c),c=d.node,d=d.offset);g(j,D);j.reset();e=a(j);j.detach();b(this,c,d,c,d);return e}}function N(a,d,g){function h(a,b){return function(c){q(this);y(c,E);y(K(c),M);c=(a?e:f)(c);(b?S:i)(this,c.node,c.offset)}}function S(a,b,c){var e=a.endContainer,g=a.endOffset;if(b!==a.startContainer||c!==a.startOffset){if(K(b)!=K(e)||1==l.comparePoints(b,c,e,g))e=b,g=c;d(a,b,c, +e,g)}}function i(a,b,c){var e=a.startContainer,g=a.startOffset;if(b!==a.endContainer||c!==a.endOffset){if(K(b)!=K(e)||-1==l.comparePoints(b,c,e,g))e=b,g=c;d(a,e,g,b,c)}}a.prototype=new G;b.util.extend(a.prototype,{setStart:function(a,b){q(this);t(a,!0);A(a,b);S(this,a,b)},setEnd:function(a,b){q(this);t(a,!0);A(a,b);i(this,a,b)},setStartBefore:h(!0,!0),setStartAfter:h(!1,!0),setEndBefore:h(!0,!1),setEndAfter:h(!1,!1),collapse:function(a){x(this);a?d(this,this.startContainer,this.startOffset,this.startContainer, +this.startOffset):d(this,this.endContainer,this.endOffset,this.endContainer,this.endOffset)},selectNodeContents:function(a){q(this);t(a,!0);d(this,a,0,a,l.getNodeLength(a))},selectNode:function(a){q(this);t(a,!1);y(a,E);var b=e(a),a=f(a);d(this,b.node,b.offset,a.node,a.offset)},extractContents:J(k,d),deleteContents:J(j,d),canSurroundContents:function(){x(this);D(this.startContainer);D(this.endContainer);var a=new v(this,!0),b=a._first&&c(a._first,this)||a._last&&c(a._last,this);a.detach();return!b}, +detach:function(){g(this)},splitBoundaries:function(){x(this);var a=this.startContainer,b=this.startOffset,c=this.endContainer,e=this.endOffset,g=a===c;l.isCharacterDataNode(c)&&(0=l.getNodeIndex(a)&&e++,b=0);d(this,a,b,c,e)},normalizeBoundaries:function(){x(this);var a=this.startContainer,b=this.startOffset,c=this.endContainer,e=this.endOffset,g=function(a){var b= +a.nextSibling;b&&b.nodeType==a.nodeType&&(c=a,e=a.length,a.appendData(b.data),b.parentNode.removeChild(b))},j=function(d){var g=d.previousSibling;if(g&&g.nodeType==d.nodeType){a=d;var j=d.length;b=g.length;d.insertData(0,g.data);g.parentNode.removeChild(g);a==c?(e+=b,c=a):c==d.parentNode&&(g=l.getNodeIndex(d),e==g?(c=d,e=j):e>g&&e--)}},f=!0;l.isCharacterDataNode(c)?c.length==e&&g(c):(0x",W=3==S.firstChild.nodeType}catch(da){}b.features.htmlParsingConforms=W;var X="startContainer startOffset endContainer endOffset collapsed commonAncestorContainer".split(" "),U=0,Y=1,ca=2,Z=3,$=0,aa=1,ba=2,V=3;G.prototype={attachListener:function(a,b){this._listeners[a].push(b)},compareBoundaryPoints:function(a,b){x(this); +B(this.startContainer,b.startContainer);var c=a==Z||a==U?"start":"end",d=a==Y||a==U?"start":"end";return l.comparePoints(this[c+"Container"],this[c+"Offset"],b[d+"Container"],b[d+"Offset"])},insertNode:function(a){x(this);y(a,F);D(this.startContainer);if(l.isAncestorOf(a,this.startContainer,!0))throw new C("HIERARCHY_REQUEST_ERR");a=h(a,this.startContainer,this.startOffset);this.setStartBefore(a)},cloneContents:function(){x(this);var b,c;if(this.collapsed)return a(this).createDocumentFragment();if(this.startContainer=== +this.endContainer&&l.isCharacterDataNode(this.startContainer))return b=this.startContainer.cloneNode(!0),b.data=b.data.slice(this.startOffset,this.endOffset),c=a(this).createDocumentFragment(),c.appendChild(b),c;c=new v(this,!0);b=i(c);c.detach();return b},canSurroundContents:function(){x(this);D(this.startContainer);D(this.endContainer);var a=new v(this,!0),b=a._first&&c(a._first,this)||a._last&&c(a._last,this);a.detach();return!b},surroundContents:function(a){y(a,P);if(!this.canSurroundContents())throw new u("BAD_BOUNDARYPOINTS_ERR"); +var b=this.extractContents();if(a.hasChildNodes())for(;a.lastChild;)a.removeChild(a.lastChild);h(a,this.startContainer,this.startOffset);a.appendChild(b);this.selectNode(a)},cloneRange:function(){x(this);for(var b=new w(a(this)),c=X.length,d;c--;)d=X[c],b[d]=this[d];return b},toString:function(){x(this);var a=this.startContainer;if(a===this.endContainer&&l.isCharacterDataNode(a))return 3==a.nodeType||4==a.nodeType?a.data.slice(this.startOffset,this.endOffset):"";var b=[],a=new v(this,!0);g(a,function(a){(3== +a.nodeType||4==a.nodeType)&&b.push(a.data)});a.detach();return b.join("")},compareNode:function(a){x(this);var b=a.parentNode,c=l.getNodeIndex(a);if(!b)throw new C("NOT_FOUND_ERR");a=this.comparePoint(b,c);b=this.comparePoint(b,c+1);return 0>a?0l.comparePoints(a,b,this.startContainer,this.startOffset)?-1:0=g&&0<=d:0>g&&0=l.comparePoints(a,b,this.endContainer,this.endOffset)},intersectsRange:function(b,c){x(this);if(a(b)!=a(this))throw new C("WRONG_DOCUMENT_ERR");var d=l.comparePoints(this.startContainer,this.startOffset,b.endContainer,b.endOffset),e=l.comparePoints(this.endContainer,this.endOffset,b.startContainer,b.startOffset);return c?0>=d&&0<=e:0>d&&0=this.comparePoint(a,l.getNodeLength(a))},containsRange:function(a){return this.intersection(a).equals(a)},containsNodeText:function(a){var b=this.cloneRange();b.selectNode(a);var c=b.getNodes([3]);return 012
foo
class="wysiwyg-text-align-center">foo