diff --git a/app/Dossier.php b/app/Dossier.php new file mode 100644 index 0000000..6db3403 --- /dev/null +++ b/app/Dossier.php @@ -0,0 +1,10 @@ +all(); // This will get all the request data. + + $type = $request->input('type'); + $url = $request->input('url'); + $message = $request->input('message'); + + if (Auth::check()) { + $user = auth()->user(); + Mail::to(env('MAIL_ADMIN_ADDRESS', "informatique.internet@ldc.fr"))->send(new contact($type, $url, $message, $user)); + } + return ""; + } + + /** + * page gestion des médias + * + * @return \Illuminate\Contracts\Support\Renderable + */ + public function media_manager() + { + return view('media_manager'); + } +} diff --git a/app/Http/Controllers/HomeController.php b/app/Http/Controllers/HomeController.php deleted file mode 100644 index 7cbc2c3..0000000 --- a/app/Http/Controllers/HomeController.php +++ /dev/null @@ -1,28 +0,0 @@ -middleware('auth'); - } - - /** - * Show the application dashboard. - * - * @return \Illuminate\Contracts\Support\Renderable - */ - public function index() - { - return view('home'); - } -} diff --git a/app/Http/Controllers/UserController.php b/app/Http/Controllers/UserController.php new file mode 100644 index 0000000..f03c8fb --- /dev/null +++ b/app/Http/Controllers/UserController.php @@ -0,0 +1,225 @@ +authorizeRoles(config('roles.const.ADMIN')); + $users = User::all(); + return view('users.index')->with(['users'=> $users]); + } + + /** + * Show the form for creating a new resource. + * + * @return \Illuminate\Http\Response + */ + public function create() + { + $roles = config('roles.label'); + $marques = Marque::all(); + $sujets = Sujet::all(); + return view('users.create')->with(['roles'=> $roles, 'marques'=> $marques, 'sujets'=> $sujets]); + } + + /** + * Store a newly created resource in storage. + * + * @param \Illuminate\Http\Request $request + * @return \Illuminate\Http\Response + */ + public function store(Request $request) + { + + $validatedData = $request->validate([ + 'matricule' => 'required', + 'firstname' => 'required', + 'lastname' => 'required', + 'email' => 'email', + 'role' => 'required' + ]); + + $user = User::where('matricule', $request->matricule)->first(); + if($user){ + session()->flash('error', "Ce matricule est déjà présent dans l'application. Ajout impossible."); + return redirect()->route('user.create'); + }else{ + // ---- L'utilisateur + $user = new User(); + $user->matricule = $request->matricule; + $user->firstname = $request->firstname; + $user->lastname = $request->lastname; + $user->email = $request->email; + $user->role = $request->role; + + if ($user->save()){ + + // ---- Les marques + $sMarques = $request->marques; + if($sMarques != ""){ + $marques = explode(",", $sMarques); + foreach($marques as $marqueId){ + $user->marques()->attach($marqueId); + } + } + + // ---- Les sujets + $sSujets = $request->sujets; + if($sSujets != ""){ + $sujets = explode(",", $sSujets); + foreach($sujets as $sujetId){ + $user->sujets()->attach($sujetId); + } + } + + session()->flash('message', "L'utilisateur à été enregistré"); + return redirect()->route('user.edit', ['user' => $user]); + }else{ + session()->flash('error', "Une erreur s'est produite, ajout impossible"); + return redirect()->route('user.create'); + } + } + } + + /** + * Check le matricule avant ajout de l'utilisateur + * + */ + public function checkMatricule(Request $request) + { + $response = array(); + $response["exist_bdd"] = false; + $response["exist_ldap"] = false; + + $data = $request->all(); // This will get all the request data. + $matricule = $request->input('matricule'); + + // ---- Ctrl de la présence du matricule en base + $user = User::where('matricule', $request->matricule)->first(); + if($user){ + $response["exist_bdd"] = true; + } + + $adldap = Adldap::getFacadeRoot(); + $results = $adldap->search()->where('uid', '=', $matricule)->first(); + + if($results){ + $response["exist_ldap"] = true; + $ldap_user = array(); + $ldap_user['firstname'] = $results->getAttribute('givenname')[0]; + $ldap_user['lastname'] = $results->getAttribute('sn')[0]; + $ldap_user['email'] = $results->getAttribute('mail')[0]; + $response["ldap_user"] = $ldap_user; + } + + return json_encode($response); + } + + /** + * Display the specified resource. + * + * @param \App\User $user + * @return \Illuminate\Http\Response + */ + public function show(User $user) + { + $roles = config('roles.label'); + $marques = $user->marques; + $sujets = $user->sujets; + return view('users.show')->with(['user'=> $user, 'roles'=> $roles, 'marques' => $marques, 'sujets' => $sujets]); + } + + /** + * Show the form for editing the specified resource. + * + * @param \App\User $user + * @return \Illuminate\Http\Response + */ + public function edit(User $user) + { + Auth::user()->authorizeRoles(config('roles.const.ADMIN')); + $roles = config('roles.label'); + $userMarques = $user->marques; + $marques = Marque::all(); + $userSujets = $user->sujets; + $sujets = Sujet::all(); + return view('users.edit')->with(['user'=> $user, 'roles'=> $roles, 'userMarques' => $userMarques, 'marques' => $marques, 'userSujets' => $userSujets, 'sujets'=> $sujets]); + } + + /** + * Update the specified resource in storage. + * + * @param \Illuminate\Http\Request $request + * @param \App\User $user + * @return \Illuminate\Http\Response + */ + public function update(Request $request, User $user) + { + $validatedData = $request->validate([ + 'firstname' => 'required', + 'lastname' => 'required', + 'email' => 'email', + 'role' => 'required' + ]); + + // ---- L'utilisateur + $user->firstname = $request->firstname; + $user->lastname = $request->lastname; + $user->email = $request->email; + $user->role = $request->role; + $user->save(); + + // ---- Les marques + $user->marques()->detach(); + $sMarques = $request->marques; + if($sMarques != ""){ + $marques = explode(",", $sMarques); + foreach($marques as $marqueId){ + $user->marques()->attach($marqueId); + } + } + + // ---- Les Sujets + $user->sujets()->detach(); + $sSujets = $request->sujets; + if($sSujets != ""){ + $sujets = explode(",", $sSujets); + foreach($sujets as $sujetId){ + $user->sujets()->attach($sujetId); + } + } + + session()->flash('message', "L'utilisateur à été mis à jour"); + return redirect()->route('user.edit', ['user' => $user]); + } + + /** + * Remove the specified resource from storage. + * + * @param \App\User $user + * @return \Illuminate\Http\Response + */ + public function destroy(User $user) + { + if ($user->delete()) { + return redirect(route('user.index')); + } else { + session()->flash('error', 'Erreur lors de la suppression'); + return redirect()->route('user.edit', ['user' => $user]); + } + } +} diff --git a/app/Mail/contact.php b/app/Mail/contact.php new file mode 100644 index 0000000..40438a6 --- /dev/null +++ b/app/Mail/contact.php @@ -0,0 +1,41 @@ +type = $type; + $this->url = $url; + $this->message = $message; + $this->user = $user; + } + + /** + * Build the message. + * + * @return $this + */ + public function build() + { + return $this->view('mails.contact')->with(['type' => $this->type, 'url' => $this->url, 'message' => $this->message, 'user' => $this->user]); + } +} diff --git a/app/Marque.php b/app/Marque.php new file mode 100644 index 0000000..4991664 --- /dev/null +++ b/app/Marque.php @@ -0,0 +1,25 @@ +belongsToMany('App\User', 'marques_users', 'marque_id', 'user_id'); + } + +} diff --git a/app/Sujet.php b/app/Sujet.php new file mode 100644 index 0000000..79d4c52 --- /dev/null +++ b/app/Sujet.php @@ -0,0 +1,24 @@ +belongsToMany('App\User', 'sujets_users', 'sujet_id', 'user_id'); + } +} diff --git a/app/User.php b/app/User.php index faa03c3..0f061a4 100644 --- a/app/User.php +++ b/app/User.php @@ -15,9 +15,9 @@ class User extends Authenticatable * * @var array */ - protected $fillable = [ - 'name', 'email', 'password', - ]; + // protected $fillable = [ + // 'name', 'email', 'password', + // ]; /** * The attributes that should be hidden for arrays. @@ -36,4 +36,48 @@ class User extends Authenticatable protected $casts = [ 'email_verified_at' => 'datetime', ]; + + /** + * @param string|array $roles + */ + public function authorizeRoles($roles){ + if (is_array($roles)) { + return in_array($this->role, $roles) || + abort(401, 'Cette action n\'est pas autorisée.'); + } + return $this->role == $roles || + abort(401, 'Cette action n\'est pas autorisée.'); + } + + /** + * Check one role + * @param string $role + */ + public function hasRole($role) { + return $this->role == $role; + } + + /** + * get one role label + * @param string $role + */ + public function getRoleLabel() { + return config('roles.label.'.$this->role); + } + + /** + * The marques that belong to the user. + */ + public function marques() + { + return $this->belongsToMany('App\Marque', 'marques_users', 'user_id', 'marque_id'); + } + + /** + * The sujet that belong to the user. + */ + public function sujets() + { + return $this->belongsToMany('App\Sujet', 'sujets_users', 'user_id', 'sujet_id'); + } } diff --git a/composer.json b/composer.json index a32c1ca..ad3a66a 100644 --- a/composer.json +++ b/composer.json @@ -12,7 +12,8 @@ "adldap2/adldap2-laravel": "^6.0", "fideloper/proxy": "^4.0", "laravel/framework": "5.8.*", - "laravel/tinker": "^1.0" + "laravel/tinker": "^1.0", + "laravelcollective/html": "^5.8" }, "require-dev": { "barryvdh/laravel-debugbar": "^3.2", diff --git a/composer.lock b/composer.lock index d1960ba..2c5e01f 100644 --- a/composer.lock +++ b/composer.lock @@ -4,7 +4,7 @@ "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies", "This file is @generated automatically" ], - "content-hash": "378ddb1a929005e1d5dddce83e5f5f6e", + "content-hash": "fa0af3ae376551c7f6bf0ef24731556a", "packages": [ { "name": "adldap2/adldap2", @@ -775,6 +775,74 @@ ], "time": "2018-10-12T19:39:35+00:00" }, + { + "name": "laravelcollective/html", + "version": "v5.8.0", + "source": { + "type": "git", + "url": "https://github.com/LaravelCollective/html.git", + "reference": "0e360143d3476fe4141d267a260c140569fa207b" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/LaravelCollective/html/zipball/0e360143d3476fe4141d267a260c140569fa207b", + "reference": "0e360143d3476fe4141d267a260c140569fa207b", + "shasum": "" + }, + "require": { + "illuminate/http": "5.8.*", + "illuminate/routing": "5.8.*", + "illuminate/session": "5.8.*", + "illuminate/support": "5.8.*", + "illuminate/view": "5.8.*", + "php": ">=7.1.3" + }, + "require-dev": { + "illuminate/database": "5.8.*", + "mockery/mockery": "~1.0", + "phpunit/phpunit": "~7.1" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "5.8-dev" + }, + "laravel": { + "providers": [ + "Collective\\Html\\HtmlServiceProvider" + ], + "aliases": { + "Form": "Collective\\Html\\FormFacade", + "Html": "Collective\\Html\\HtmlFacade" + } + } + }, + "autoload": { + "psr-4": { + "Collective\\Html\\": "src/" + }, + "files": [ + "src/helpers.php" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Taylor Otwell", + "email": "taylorotwell@gmail.com" + }, + { + "name": "Adam Engebretson", + "email": "adam@laravelcollective.com" + } + ], + "description": "HTML and Form Builders for the Laravel Framework", + "homepage": "https://laravelcollective.com", + "time": "2019-03-01T22:53:41+00:00" + }, { "name": "league/flysystem", "version": "1.0.50", diff --git a/config/app.php b/config/app.php index 9e618b1..4b322fe 100644 --- a/config/app.php +++ b/config/app.php @@ -80,7 +80,7 @@ return [ | */ - 'locale' => 'en', + 'locale' => 'fr', /* |-------------------------------------------------------------------------- @@ -161,6 +161,7 @@ return [ Illuminate\Translation\TranslationServiceProvider::class, Illuminate\Validation\ValidationServiceProvider::class, Illuminate\View\ViewServiceProvider::class, + Collective\Html\HtmlServiceProvider::class, /* * Package Service Providers... @@ -226,6 +227,8 @@ return [ 'Validator' => Illuminate\Support\Facades\Validator::class, 'View' => Illuminate\Support\Facades\View::class, 'Adldap' => Adldap\Laravel\Facades\Adldap::class, + 'Form' => Collective\Html\FormFacade::class, + 'Html' => Collective\Html\HtmlFacade::class, ], ]; diff --git a/config/roles.php b/config/roles.php new file mode 100644 index 0000000..802a2b6 --- /dev/null +++ b/config/roles.php @@ -0,0 +1,16 @@ + [ + 'ADMIN' => '1', + 'LECTEUR' => '2', + 'CONTRIBUTEUR' => '3', + 'REDACTEUR' => '4', + ], + 'label' => [ + '1' => 'Administrateur', + '2' => 'Lecteur', + '3' => 'Contributeur', + '4' => 'Rédacteur', + ], +]; diff --git a/database/migrations/2019_05_15_080601_create_marques_table.php b/database/migrations/2019_05_15_080601_create_marques_table.php new file mode 100644 index 0000000..d49eece --- /dev/null +++ b/database/migrations/2019_05_15_080601_create_marques_table.php @@ -0,0 +1,31 @@ +bigIncrements('id'); + $table->timestamps(); + }); + } + + /** + * Reverse the migrations. + * + * @return void + */ + public function down() + { + Schema::dropIfExists('marques'); + } +} diff --git a/public/css/app.css b/public/css/app.css index e69de29..f1d5dcf 100644 --- a/public/css/app.css +++ b/public/css/app.css @@ -0,0 +1,12706 @@ +@charset "UTF-8"; + +/* http://meyerweb.com/eric/tools/css/reset/ + v2.0 | 20110126 + License: none (public domain) +*/ + +html { + box-sizing: border-box; + height: 100%; +} + +html, +body, +div, +span, +applet, +object, +iframe, +h1, +h2, +h3, +h4, +h5, +h6, +p, +blockquote, +pre, +a, +abbr, +acronym, +address, +big, +cite, +code, +del, +dfn, +em, +img, +ins, +kbd, +q, +s, +samp, +small, +strike, +strong, +sub, +sup, +tt, +var, +b, +u, +i, +center, +dl, +dt, +dd, +ol, +ul, +li, +fieldset, +form, +label, +legend, +table, +caption, +tbody, +tfoot, +thead, +tr, +th, +td, +article, +aside, +canvas, +details, +embed, +figure, +figcaption, +footer, +header, +hgroup, +menu, +nav, +output, +ruby, +section, +summary, +time, +mark, +audio, +video { + margin: 0; + padding: 0; + border: 0; + font-size: 100%; + font: inherit; + vertical-align: baseline; +} + +/* HTML5 display-role reset for older browsers */ + +article, +aside, +details, +figcaption, +figure, +footer, +header, +hgroup, +menu, +nav, +section { + display: block; +} + +body { + line-height: 1; + background-image: linear-gradient(139deg, #3d3d3d 37.5%, #262626 37.5%, #262626 50%, #3d3d3d 50%, #3d3d3d 87.5%, #262626 87.5%, #262626 100%); + font-family: "Arial", sans-serif; + font-size: 13px; + color: #aaaaaa; + background-size: 6.1px 5.3px; + height: 100%; +} + +ol, +ul { + list-style: none; +} + +blockquote, +q { + quotes: none; +} + +blockquote:before, +blockquote:after, +q:before, +q:after { + content: ""; + content: none; +} + +table { + border-collapse: collapse; + border-spacing: 0; +} + +*, +*:before, +*:after { + box-sizing: inherit; +} + +/*! + * animate.css -http://daneden.me/animate + * Version - 3.7.0 + * Licensed under the MIT license - http://opensource.org/licenses/MIT + * + * Copyright (c) 2018 Daniel Eden + */ + +@-webkit-keyframes bounce { + from, 20%, 53%, 80%, to { + -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); + animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); + -webkit-transform: translate3d(0, 0, 0); + transform: translate3d(0, 0, 0); + } + + 40%, 43% { + -webkit-animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06); + animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06); + -webkit-transform: translate3d(0, -30px, 0); + transform: translate3d(0, -30px, 0); + } + + 70% { + -webkit-animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06); + animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06); + -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 { + from, 20%, 53%, 80%, to { + -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); + animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); + -webkit-transform: translate3d(0, 0, 0); + transform: translate3d(0, 0, 0); + } + + 40%, 43% { + -webkit-animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06); + animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06); + -webkit-transform: translate3d(0, -30px, 0); + transform: translate3d(0, -30px, 0); + } + + 70% { + -webkit-animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06); + animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06); + -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 { + from, 50%, to { + opacity: 1; + } + + 25%, 75% { + opacity: 0; + } +} + +@keyframes flash { + from, 50%, to { + opacity: 1; + } + + 25%, 75% { + opacity: 0; + } +} + +.flash { + -webkit-animation-name: flash; + animation-name: flash; +} + +/* originally authored by Nick Pettit - https://github.com/nickpettit/glide */ + +@-webkit-keyframes pulse { + 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); + } + + to { + -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); + } + + to { + -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, 0.75, 1); + transform: scale3d(1.25, 0.75, 1); + } + + 40% { + -webkit-transform: scale3d(0.75, 1.25, 1); + transform: scale3d(0.75, 1.25, 1); + } + + 50% { + -webkit-transform: scale3d(1.15, 0.85, 1); + transform: scale3d(1.15, 0.85, 1); + } + + 65% { + -webkit-transform: scale3d(0.95, 1.05, 1); + transform: scale3d(0.95, 1.05, 1); + } + + 75% { + -webkit-transform: scale3d(1.05, 0.95, 1); + transform: scale3d(1.05, 0.95, 1); + } + + to { + -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, 0.75, 1); + transform: scale3d(1.25, 0.75, 1); + } + + 40% { + -webkit-transform: scale3d(0.75, 1.25, 1); + transform: scale3d(0.75, 1.25, 1); + } + + 50% { + -webkit-transform: scale3d(1.15, 0.85, 1); + transform: scale3d(1.15, 0.85, 1); + } + + 65% { + -webkit-transform: scale3d(0.95, 1.05, 1); + transform: scale3d(0.95, 1.05, 1); + } + + 75% { + -webkit-transform: scale3d(1.05, 0.95, 1); + transform: scale3d(1.05, 0.95, 1); + } + + to { + -webkit-transform: scale3d(1, 1, 1); + transform: scale3d(1, 1, 1); + } +} + +.rubberBand { + -webkit-animation-name: rubberBand; + animation-name: rubberBand; +} + +@-webkit-keyframes shake { + from, to { + -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 { + from, to { + -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 headShake { + 0% { + -webkit-transform: translateX(0); + transform: translateX(0); + } + + 6.5% { + -webkit-transform: translateX(-6px) rotateY(-9deg); + transform: translateX(-6px) rotateY(-9deg); + } + + 18.5% { + -webkit-transform: translateX(5px) rotateY(7deg); + transform: translateX(5px) rotateY(7deg); + } + + 31.5% { + -webkit-transform: translateX(-3px) rotateY(-5deg); + transform: translateX(-3px) rotateY(-5deg); + } + + 43.5% { + -webkit-transform: translateX(2px) rotateY(3deg); + transform: translateX(2px) rotateY(3deg); + } + + 50% { + -webkit-transform: translateX(0); + transform: translateX(0); + } +} + +@keyframes headShake { + 0% { + -webkit-transform: translateX(0); + transform: translateX(0); + } + + 6.5% { + -webkit-transform: translateX(-6px) rotateY(-9deg); + transform: translateX(-6px) rotateY(-9deg); + } + + 18.5% { + -webkit-transform: translateX(5px) rotateY(7deg); + transform: translateX(5px) rotateY(7deg); + } + + 31.5% { + -webkit-transform: translateX(-3px) rotateY(-5deg); + transform: translateX(-3px) rotateY(-5deg); + } + + 43.5% { + -webkit-transform: translateX(2px) rotateY(3deg); + transform: translateX(2px) rotateY(3deg); + } + + 50% { + -webkit-transform: translateX(0); + transform: translateX(0); + } +} + +.headShake { + -webkit-animation-timing-function: ease-in-out; + animation-timing-function: ease-in-out; + -webkit-animation-name: headShake; + animation-name: headShake; +} + +@-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); + } + + to { + -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); + } + + to { + -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(0.9, 0.9, 0.9) rotate3d(0, 0, 1, -3deg); + transform: scale3d(0.9, 0.9, 0.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); + } + + to { + -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(0.9, 0.9, 0.9) rotate3d(0, 0, 1, -3deg); + transform: scale3d(0.9, 0.9, 0.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); + } + + to { + -webkit-transform: scale3d(1, 1, 1); + transform: scale3d(1, 1, 1); + } +} + +.tada { + -webkit-animation-name: tada; + animation-name: tada; +} + +/* originally authored by Nick Pettit - https://github.com/nickpettit/glide */ + +@-webkit-keyframes wobble { + from { + -webkit-transform: translate3d(0, 0, 0); + transform: translate3d(0, 0, 0); + } + + 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); + } + + to { + -webkit-transform: translate3d(0, 0, 0); + transform: translate3d(0, 0, 0); + } +} + +@keyframes wobble { + from { + -webkit-transform: translate3d(0, 0, 0); + transform: translate3d(0, 0, 0); + } + + 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); + } + + to { + -webkit-transform: translate3d(0, 0, 0); + transform: translate3d(0, 0, 0); + } +} + +.wobble { + -webkit-animation-name: wobble; + animation-name: wobble; +} + +@-webkit-keyframes jello { + from, 11.1%, to { + -webkit-transform: translate3d(0, 0, 0); + transform: translate3d(0, 0, 0); + } + + 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(-0.78125deg) skewY(-0.78125deg); + transform: skewX(-0.78125deg) skewY(-0.78125deg); + } + + 77.7% { + -webkit-transform: skewX(0.390625deg) skewY(0.390625deg); + transform: skewX(0.390625deg) skewY(0.390625deg); + } + + 88.8% { + -webkit-transform: skewX(-0.1953125deg) skewY(-0.1953125deg); + transform: skewX(-0.1953125deg) skewY(-0.1953125deg); + } +} + +@keyframes jello { + from, 11.1%, to { + -webkit-transform: translate3d(0, 0, 0); + transform: translate3d(0, 0, 0); + } + + 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(-0.78125deg) skewY(-0.78125deg); + transform: skewX(-0.78125deg) skewY(-0.78125deg); + } + + 77.7% { + -webkit-transform: skewX(0.390625deg) skewY(0.390625deg); + transform: skewX(0.390625deg) skewY(0.390625deg); + } + + 88.8% { + -webkit-transform: skewX(-0.1953125deg) skewY(-0.1953125deg); + transform: skewX(-0.1953125deg) skewY(-0.1953125deg); + } +} + +.jello { + -webkit-animation-name: jello; + animation-name: jello; + -webkit-transform-origin: center; + transform-origin: center; +} + +@-webkit-keyframes heartBeat { + 0% { + -webkit-transform: scale(1); + transform: scale(1); + } + + 14% { + -webkit-transform: scale(1.3); + transform: scale(1.3); + } + + 28% { + -webkit-transform: scale(1); + transform: scale(1); + } + + 42% { + -webkit-transform: scale(1.3); + transform: scale(1.3); + } + + 70% { + -webkit-transform: scale(1); + transform: scale(1); + } +} + +@keyframes heartBeat { + 0% { + -webkit-transform: scale(1); + transform: scale(1); + } + + 14% { + -webkit-transform: scale(1.3); + transform: scale(1.3); + } + + 28% { + -webkit-transform: scale(1); + transform: scale(1); + } + + 42% { + -webkit-transform: scale(1.3); + transform: scale(1.3); + } + + 70% { + -webkit-transform: scale(1); + transform: scale(1); + } +} + +.heartBeat { + -webkit-animation-name: heartBeat; + animation-name: heartBeat; + -webkit-animation-duration: 1.3s; + animation-duration: 1.3s; + -webkit-animation-timing-function: ease-in-out; + animation-timing-function: ease-in-out; +} + +@-webkit-keyframes bounceIn { + from, 20%, 40%, 60%, 80%, to { + -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); + animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); + } + + 0% { + opacity: 0; + -webkit-transform: scale3d(0.3, 0.3, 0.3); + transform: scale3d(0.3, 0.3, 0.3); + } + + 20% { + -webkit-transform: scale3d(1.1, 1.1, 1.1); + transform: scale3d(1.1, 1.1, 1.1); + } + + 40% { + -webkit-transform: scale3d(0.9, 0.9, 0.9); + transform: scale3d(0.9, 0.9, 0.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(0.97, 0.97, 0.97); + transform: scale3d(0.97, 0.97, 0.97); + } + + to { + opacity: 1; + -webkit-transform: scale3d(1, 1, 1); + transform: scale3d(1, 1, 1); + } +} + +@keyframes bounceIn { + from, 20%, 40%, 60%, 80%, to { + -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); + animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); + } + + 0% { + opacity: 0; + -webkit-transform: scale3d(0.3, 0.3, 0.3); + transform: scale3d(0.3, 0.3, 0.3); + } + + 20% { + -webkit-transform: scale3d(1.1, 1.1, 1.1); + transform: scale3d(1.1, 1.1, 1.1); + } + + 40% { + -webkit-transform: scale3d(0.9, 0.9, 0.9); + transform: scale3d(0.9, 0.9, 0.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(0.97, 0.97, 0.97); + transform: scale3d(0.97, 0.97, 0.97); + } + + to { + opacity: 1; + -webkit-transform: scale3d(1, 1, 1); + transform: scale3d(1, 1, 1); + } +} + +.bounceIn { + -webkit-animation-duration: 0.75s; + animation-duration: 0.75s; + -webkit-animation-name: bounceIn; + animation-name: bounceIn; +} + +@-webkit-keyframes bounceInDown { + from, 60%, 75%, 90%, to { + -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); + animation-timing-function: cubic-bezier(0.215, 0.61, 0.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); + } + + to { + -webkit-transform: translate3d(0, 0, 0); + transform: translate3d(0, 0, 0); + } +} + +@keyframes bounceInDown { + from, 60%, 75%, 90%, to { + -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); + animation-timing-function: cubic-bezier(0.215, 0.61, 0.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); + } + + to { + -webkit-transform: translate3d(0, 0, 0); + transform: translate3d(0, 0, 0); + } +} + +.bounceInDown { + -webkit-animation-name: bounceInDown; + animation-name: bounceInDown; +} + +@-webkit-keyframes bounceInLeft { + from, 60%, 75%, 90%, to { + -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); + animation-timing-function: cubic-bezier(0.215, 0.61, 0.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); + } + + to { + -webkit-transform: translate3d(0, 0, 0); + transform: translate3d(0, 0, 0); + } +} + +@keyframes bounceInLeft { + from, 60%, 75%, 90%, to { + -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); + animation-timing-function: cubic-bezier(0.215, 0.61, 0.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); + } + + to { + -webkit-transform: translate3d(0, 0, 0); + transform: translate3d(0, 0, 0); + } +} + +.bounceInLeft { + -webkit-animation-name: bounceInLeft; + animation-name: bounceInLeft; +} + +@-webkit-keyframes bounceInRight { + from, 60%, 75%, 90%, to { + -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); + animation-timing-function: cubic-bezier(0.215, 0.61, 0.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); + } + + to { + -webkit-transform: translate3d(0, 0, 0); + transform: translate3d(0, 0, 0); + } +} + +@keyframes bounceInRight { + from, 60%, 75%, 90%, to { + -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); + animation-timing-function: cubic-bezier(0.215, 0.61, 0.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); + } + + to { + -webkit-transform: translate3d(0, 0, 0); + transform: translate3d(0, 0, 0); + } +} + +.bounceInRight { + -webkit-animation-name: bounceInRight; + animation-name: bounceInRight; +} + +@-webkit-keyframes bounceInUp { + from, 60%, 75%, 90%, to { + -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); + animation-timing-function: cubic-bezier(0.215, 0.61, 0.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); + } + + to { + -webkit-transform: translate3d(0, 0, 0); + transform: translate3d(0, 0, 0); + } +} + +@keyframes bounceInUp { + from, 60%, 75%, 90%, to { + -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); + animation-timing-function: cubic-bezier(0.215, 0.61, 0.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); + } + + to { + -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(0.9, 0.9, 0.9); + transform: scale3d(0.9, 0.9, 0.9); + } + + 50%, 55% { + opacity: 1; + -webkit-transform: scale3d(1.1, 1.1, 1.1); + transform: scale3d(1.1, 1.1, 1.1); + } + + to { + opacity: 0; + -webkit-transform: scale3d(0.3, 0.3, 0.3); + transform: scale3d(0.3, 0.3, 0.3); + } +} + +@keyframes bounceOut { + 20% { + -webkit-transform: scale3d(0.9, 0.9, 0.9); + transform: scale3d(0.9, 0.9, 0.9); + } + + 50%, 55% { + opacity: 1; + -webkit-transform: scale3d(1.1, 1.1, 1.1); + transform: scale3d(1.1, 1.1, 1.1); + } + + to { + opacity: 0; + -webkit-transform: scale3d(0.3, 0.3, 0.3); + transform: scale3d(0.3, 0.3, 0.3); + } +} + +.bounceOut { + -webkit-animation-duration: 0.75s; + animation-duration: 0.75s; + -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); + } + + to { + 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); + } + + to { + 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); + } + + to { + 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); + } + + to { + 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); + } + + to { + 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); + } + + to { + 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); + } + + to { + 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); + } + + to { + 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; + } + + to { + opacity: 1; + } +} + +@keyframes fadeIn { + from { + opacity: 0; + } + + to { + 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); + } + + to { + opacity: 1; + -webkit-transform: translate3d(0, 0, 0); + transform: translate3d(0, 0, 0); + } +} + +@keyframes fadeInDown { + from { + opacity: 0; + -webkit-transform: translate3d(0, -100%, 0); + transform: translate3d(0, -100%, 0); + } + + to { + opacity: 1; + -webkit-transform: translate3d(0, 0, 0); + transform: translate3d(0, 0, 0); + } +} + +.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); + } + + to { + opacity: 1; + -webkit-transform: translate3d(0, 0, 0); + transform: translate3d(0, 0, 0); + } +} + +@keyframes fadeInDownBig { + from { + opacity: 0; + -webkit-transform: translate3d(0, -2000px, 0); + transform: translate3d(0, -2000px, 0); + } + + to { + opacity: 1; + -webkit-transform: translate3d(0, 0, 0); + transform: translate3d(0, 0, 0); + } +} + +.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); + } + + to { + opacity: 1; + -webkit-transform: translate3d(0, 0, 0); + transform: translate3d(0, 0, 0); + } +} + +@keyframes fadeInLeft { + from { + opacity: 0; + -webkit-transform: translate3d(-100%, 0, 0); + transform: translate3d(-100%, 0, 0); + } + + to { + opacity: 1; + -webkit-transform: translate3d(0, 0, 0); + transform: translate3d(0, 0, 0); + } +} + +.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); + } + + to { + opacity: 1; + -webkit-transform: translate3d(0, 0, 0); + transform: translate3d(0, 0, 0); + } +} + +@keyframes fadeInLeftBig { + from { + opacity: 0; + -webkit-transform: translate3d(-2000px, 0, 0); + transform: translate3d(-2000px, 0, 0); + } + + to { + opacity: 1; + -webkit-transform: translate3d(0, 0, 0); + transform: translate3d(0, 0, 0); + } +} + +.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); + } + + to { + opacity: 1; + -webkit-transform: translate3d(0, 0, 0); + transform: translate3d(0, 0, 0); + } +} + +@keyframes fadeInRight { + from { + opacity: 0; + -webkit-transform: translate3d(100%, 0, 0); + transform: translate3d(100%, 0, 0); + } + + to { + opacity: 1; + -webkit-transform: translate3d(0, 0, 0); + transform: translate3d(0, 0, 0); + } +} + +.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); + } + + to { + opacity: 1; + -webkit-transform: translate3d(0, 0, 0); + transform: translate3d(0, 0, 0); + } +} + +@keyframes fadeInRightBig { + from { + opacity: 0; + -webkit-transform: translate3d(2000px, 0, 0); + transform: translate3d(2000px, 0, 0); + } + + to { + opacity: 1; + -webkit-transform: translate3d(0, 0, 0); + transform: translate3d(0, 0, 0); + } +} + +.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); + } + + to { + opacity: 1; + -webkit-transform: translate3d(0, 0, 0); + transform: translate3d(0, 0, 0); + } +} + +@keyframes fadeInUp { + from { + opacity: 0; + -webkit-transform: translate3d(0, 100%, 0); + transform: translate3d(0, 100%, 0); + } + + to { + opacity: 1; + -webkit-transform: translate3d(0, 0, 0); + transform: translate3d(0, 0, 0); + } +} + +.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); + } + + to { + opacity: 1; + -webkit-transform: translate3d(0, 0, 0); + transform: translate3d(0, 0, 0); + } +} + +@keyframes fadeInUpBig { + from { + opacity: 0; + -webkit-transform: translate3d(0, 2000px, 0); + transform: translate3d(0, 2000px, 0); + } + + to { + opacity: 1; + -webkit-transform: translate3d(0, 0, 0); + transform: translate3d(0, 0, 0); + } +} + +.fadeInUpBig { + -webkit-animation-name: fadeInUpBig; + animation-name: fadeInUpBig; +} + +@-webkit-keyframes fadeOut { + from { + opacity: 1; + } + + to { + opacity: 0; + } +} + +@keyframes fadeOut { + from { + opacity: 1; + } + + to { + opacity: 0; + } +} + +.fadeOut { + -webkit-animation-name: fadeOut; + animation-name: fadeOut; +} + +@-webkit-keyframes fadeOutDown { + from { + opacity: 1; + } + + to { + opacity: 0; + -webkit-transform: translate3d(0, 100%, 0); + transform: translate3d(0, 100%, 0); + } +} + +@keyframes fadeOutDown { + from { + opacity: 1; + } + + to { + 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; + } + + to { + opacity: 0; + -webkit-transform: translate3d(0, 2000px, 0); + transform: translate3d(0, 2000px, 0); + } +} + +@keyframes fadeOutDownBig { + from { + opacity: 1; + } + + to { + 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; + } + + to { + opacity: 0; + -webkit-transform: translate3d(-100%, 0, 0); + transform: translate3d(-100%, 0, 0); + } +} + +@keyframes fadeOutLeft { + from { + opacity: 1; + } + + to { + 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; + } + + to { + opacity: 0; + -webkit-transform: translate3d(-2000px, 0, 0); + transform: translate3d(-2000px, 0, 0); + } +} + +@keyframes fadeOutLeftBig { + from { + opacity: 1; + } + + to { + 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; + } + + to { + opacity: 0; + -webkit-transform: translate3d(100%, 0, 0); + transform: translate3d(100%, 0, 0); + } +} + +@keyframes fadeOutRight { + from { + opacity: 1; + } + + to { + 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; + } + + to { + opacity: 0; + -webkit-transform: translate3d(2000px, 0, 0); + transform: translate3d(2000px, 0, 0); + } +} + +@keyframes fadeOutRightBig { + from { + opacity: 1; + } + + to { + 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; + } + + to { + opacity: 0; + -webkit-transform: translate3d(0, -100%, 0); + transform: translate3d(0, -100%, 0); + } +} + +@keyframes fadeOutUp { + from { + opacity: 1; + } + + to { + 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; + } + + to { + opacity: 0; + -webkit-transform: translate3d(0, -2000px, 0); + transform: translate3d(0, -2000px, 0); + } +} + +@keyframes fadeOutUpBig { + from { + opacity: 1; + } + + to { + 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) scale3d(1, 1, 1) translate3d(0, 0, 0) rotate3d(0, 1, 0, -360deg); + transform: perspective(400px) scale3d(1, 1, 1) translate3d(0, 0, 0) rotate3d(0, 1, 0, -360deg); + -webkit-animation-timing-function: ease-out; + animation-timing-function: ease-out; + } + + 40% { + -webkit-transform: perspective(400px) scale3d(1, 1, 1) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -190deg); + transform: perspective(400px) scale3d(1, 1, 1) 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) scale3d(1, 1, 1) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -170deg); + transform: perspective(400px) scale3d(1, 1, 1) 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(0.95, 0.95, 0.95) translate3d(0, 0, 0) rotate3d(0, 1, 0, 0deg); + transform: perspective(400px) scale3d(0.95, 0.95, 0.95) translate3d(0, 0, 0) rotate3d(0, 1, 0, 0deg); + -webkit-animation-timing-function: ease-in; + animation-timing-function: ease-in; + } + + to { + -webkit-transform: perspective(400px) scale3d(1, 1, 1) translate3d(0, 0, 0) rotate3d(0, 1, 0, 0deg); + transform: perspective(400px) scale3d(1, 1, 1) translate3d(0, 0, 0) rotate3d(0, 1, 0, 0deg); + -webkit-animation-timing-function: ease-in; + animation-timing-function: ease-in; + } +} + +@keyframes flip { + from { + -webkit-transform: perspective(400px) scale3d(1, 1, 1) translate3d(0, 0, 0) rotate3d(0, 1, 0, -360deg); + transform: perspective(400px) scale3d(1, 1, 1) translate3d(0, 0, 0) rotate3d(0, 1, 0, -360deg); + -webkit-animation-timing-function: ease-out; + animation-timing-function: ease-out; + } + + 40% { + -webkit-transform: perspective(400px) scale3d(1, 1, 1) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -190deg); + transform: perspective(400px) scale3d(1, 1, 1) 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) scale3d(1, 1, 1) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -170deg); + transform: perspective(400px) scale3d(1, 1, 1) 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(0.95, 0.95, 0.95) translate3d(0, 0, 0) rotate3d(0, 1, 0, 0deg); + transform: perspective(400px) scale3d(0.95, 0.95, 0.95) translate3d(0, 0, 0) rotate3d(0, 1, 0, 0deg); + -webkit-animation-timing-function: ease-in; + animation-timing-function: ease-in; + } + + to { + -webkit-transform: perspective(400px) scale3d(1, 1, 1) translate3d(0, 0, 0) rotate3d(0, 1, 0, 0deg); + transform: perspective(400px) scale3d(1, 1, 1) translate3d(0, 0, 0) rotate3d(0, 1, 0, 0deg); + -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); + } + + to { + -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); + } + + to { + -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); + } + + to { + -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); + } + + to { + -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; + } + + to { + -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; + } + + to { + -webkit-transform: perspective(400px) rotate3d(1, 0, 0, 90deg); + transform: perspective(400px) rotate3d(1, 0, 0, 90deg); + opacity: 0; + } +} + +.flipOutX { + -webkit-animation-duration: 0.75s; + animation-duration: 0.75s; + -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; + } + + to { + -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; + } + + to { + -webkit-transform: perspective(400px) rotate3d(0, 1, 0, 90deg); + transform: perspective(400px) rotate3d(0, 1, 0, 90deg); + opacity: 0; + } +} + +.flipOutY { + -webkit-animation-duration: 0.75s; + animation-duration: 0.75s; + -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); + } + + to { + -webkit-transform: translate3d(0, 0, 0); + transform: translate3d(0, 0, 0); + } +} + +@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); + } + + to { + -webkit-transform: translate3d(0, 0, 0); + transform: translate3d(0, 0, 0); + } +} + +.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; + } + + to { + -webkit-transform: translate3d(100%, 0, 0) skewX(30deg); + transform: translate3d(100%, 0, 0) skewX(30deg); + opacity: 0; + } +} + +@keyframes lightSpeedOut { + from { + opacity: 1; + } + + to { + -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; + } + + to { + -webkit-transform-origin: center; + transform-origin: center; + -webkit-transform: translate3d(0, 0, 0); + transform: translate3d(0, 0, 0); + 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; + } + + to { + -webkit-transform-origin: center; + transform-origin: center; + -webkit-transform: translate3d(0, 0, 0); + transform: translate3d(0, 0, 0); + 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; + } + + to { + -webkit-transform-origin: left bottom; + transform-origin: left bottom; + -webkit-transform: translate3d(0, 0, 0); + transform: translate3d(0, 0, 0); + 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; + } + + to { + -webkit-transform-origin: left bottom; + transform-origin: left bottom; + -webkit-transform: translate3d(0, 0, 0); + transform: translate3d(0, 0, 0); + 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; + } + + to { + -webkit-transform-origin: right bottom; + transform-origin: right bottom; + -webkit-transform: translate3d(0, 0, 0); + transform: translate3d(0, 0, 0); + 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; + } + + to { + -webkit-transform-origin: right bottom; + transform-origin: right bottom; + -webkit-transform: translate3d(0, 0, 0); + transform: translate3d(0, 0, 0); + 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; + } + + to { + -webkit-transform-origin: left bottom; + transform-origin: left bottom; + -webkit-transform: translate3d(0, 0, 0); + transform: translate3d(0, 0, 0); + 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; + } + + to { + -webkit-transform-origin: left bottom; + transform-origin: left bottom; + -webkit-transform: translate3d(0, 0, 0); + transform: translate3d(0, 0, 0); + 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; + } + + to { + -webkit-transform-origin: right bottom; + transform-origin: right bottom; + -webkit-transform: translate3d(0, 0, 0); + transform: translate3d(0, 0, 0); + 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; + } + + to { + -webkit-transform-origin: right bottom; + transform-origin: right bottom; + -webkit-transform: translate3d(0, 0, 0); + transform: translate3d(0, 0, 0); + opacity: 1; + } +} + +.rotateInUpRight { + -webkit-animation-name: rotateInUpRight; + animation-name: rotateInUpRight; +} + +@-webkit-keyframes rotateOut { + from { + -webkit-transform-origin: center; + transform-origin: center; + opacity: 1; + } + + to { + -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; + } + + to { + -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; + } + + to { + -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; + } + + to { + -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; + } + + to { + -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; + } + + to { + -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; + } + + to { + -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; + } + + to { + -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; + } + + to { + -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; + } + + to { + -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; + } + + to { + -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; + } + + to { + -webkit-transform: translate3d(0, 700px, 0); + transform: translate3d(0, 700px, 0); + opacity: 0; + } +} + +.hinge { + -webkit-animation-duration: 2s; + animation-duration: 2s; + -webkit-animation-name: hinge; + animation-name: hinge; +} + +@-webkit-keyframes jackInTheBox { + from { + opacity: 0; + -webkit-transform: scale(0.1) rotate(30deg); + transform: scale(0.1) rotate(30deg); + -webkit-transform-origin: center bottom; + transform-origin: center bottom; + } + + 50% { + -webkit-transform: rotate(-10deg); + transform: rotate(-10deg); + } + + 70% { + -webkit-transform: rotate(3deg); + transform: rotate(3deg); + } + + to { + opacity: 1; + -webkit-transform: scale(1); + transform: scale(1); + } +} + +@keyframes jackInTheBox { + from { + opacity: 0; + -webkit-transform: scale(0.1) rotate(30deg); + transform: scale(0.1) rotate(30deg); + -webkit-transform-origin: center bottom; + transform-origin: center bottom; + } + + 50% { + -webkit-transform: rotate(-10deg); + transform: rotate(-10deg); + } + + 70% { + -webkit-transform: rotate(3deg); + transform: rotate(3deg); + } + + to { + opacity: 1; + -webkit-transform: scale(1); + transform: scale(1); + } +} + +.jackInTheBox { + -webkit-animation-name: jackInTheBox; + animation-name: jackInTheBox; +} + +/* originally authored by Nick Pettit - https://github.com/nickpettit/glide */ + +@-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); + } + + to { + opacity: 1; + -webkit-transform: translate3d(0, 0, 0); + transform: translate3d(0, 0, 0); + } +} + +@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); + } + + to { + opacity: 1; + -webkit-transform: translate3d(0, 0, 0); + transform: translate3d(0, 0, 0); + } +} + +.rollIn { + -webkit-animation-name: rollIn; + animation-name: rollIn; +} + +/* originally authored by Nick Pettit - https://github.com/nickpettit/glide */ + +@-webkit-keyframes rollOut { + from { + opacity: 1; + } + + to { + 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; + } + + to { + 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(0.3, 0.3, 0.3); + transform: scale3d(0.3, 0.3, 0.3); + } + + 50% { + opacity: 1; + } +} + +@keyframes zoomIn { + from { + opacity: 0; + -webkit-transform: scale3d(0.3, 0.3, 0.3); + transform: scale3d(0.3, 0.3, 0.3); + } + + 50% { + opacity: 1; + } +} + +.zoomIn { + -webkit-animation-name: zoomIn; + animation-name: zoomIn; +} + +@-webkit-keyframes zoomInDown { + from { + opacity: 0; + -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(0, -1000px, 0); + transform: scale3d(0.1, 0.1, 0.1) translate3d(0, -1000px, 0); + -webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19); + animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19); + } + + 60% { + opacity: 1; + -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(0, 60px, 0); + transform: scale3d(0.475, 0.475, 0.475) translate3d(0, 60px, 0); + -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1); + animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1); + } +} + +@keyframes zoomInDown { + from { + opacity: 0; + -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(0, -1000px, 0); + transform: scale3d(0.1, 0.1, 0.1) translate3d(0, -1000px, 0); + -webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19); + animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19); + } + + 60% { + opacity: 1; + -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(0, 60px, 0); + transform: scale3d(0.475, 0.475, 0.475) translate3d(0, 60px, 0); + -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1); + animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1); + } +} + +.zoomInDown { + -webkit-animation-name: zoomInDown; + animation-name: zoomInDown; +} + +@-webkit-keyframes zoomInLeft { + from { + opacity: 0; + -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(-1000px, 0, 0); + transform: scale3d(0.1, 0.1, 0.1) translate3d(-1000px, 0, 0); + -webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19); + animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19); + } + + 60% { + opacity: 1; + -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(10px, 0, 0); + transform: scale3d(0.475, 0.475, 0.475) translate3d(10px, 0, 0); + -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1); + animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1); + } +} + +@keyframes zoomInLeft { + from { + opacity: 0; + -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(-1000px, 0, 0); + transform: scale3d(0.1, 0.1, 0.1) translate3d(-1000px, 0, 0); + -webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19); + animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19); + } + + 60% { + opacity: 1; + -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(10px, 0, 0); + transform: scale3d(0.475, 0.475, 0.475) translate3d(10px, 0, 0); + -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1); + animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1); + } +} + +.zoomInLeft { + -webkit-animation-name: zoomInLeft; + animation-name: zoomInLeft; +} + +@-webkit-keyframes zoomInRight { + from { + opacity: 0; + -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(1000px, 0, 0); + transform: scale3d(0.1, 0.1, 0.1) translate3d(1000px, 0, 0); + -webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19); + animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19); + } + + 60% { + opacity: 1; + -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(-10px, 0, 0); + transform: scale3d(0.475, 0.475, 0.475) translate3d(-10px, 0, 0); + -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1); + animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1); + } +} + +@keyframes zoomInRight { + from { + opacity: 0; + -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(1000px, 0, 0); + transform: scale3d(0.1, 0.1, 0.1) translate3d(1000px, 0, 0); + -webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19); + animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19); + } + + 60% { + opacity: 1; + -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(-10px, 0, 0); + transform: scale3d(0.475, 0.475, 0.475) translate3d(-10px, 0, 0); + -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1); + animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1); + } +} + +.zoomInRight { + -webkit-animation-name: zoomInRight; + animation-name: zoomInRight; +} + +@-webkit-keyframes zoomInUp { + from { + opacity: 0; + -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(0, 1000px, 0); + transform: scale3d(0.1, 0.1, 0.1) translate3d(0, 1000px, 0); + -webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19); + animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19); + } + + 60% { + opacity: 1; + -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(0, -60px, 0); + transform: scale3d(0.475, 0.475, 0.475) translate3d(0, -60px, 0); + -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1); + animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1); + } +} + +@keyframes zoomInUp { + from { + opacity: 0; + -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(0, 1000px, 0); + transform: scale3d(0.1, 0.1, 0.1) translate3d(0, 1000px, 0); + -webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19); + animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19); + } + + 60% { + opacity: 1; + -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(0, -60px, 0); + transform: scale3d(0.475, 0.475, 0.475) translate3d(0, -60px, 0); + -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1); + animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1); + } +} + +.zoomInUp { + -webkit-animation-name: zoomInUp; + animation-name: zoomInUp; +} + +@-webkit-keyframes zoomOut { + from { + opacity: 1; + } + + 50% { + opacity: 0; + -webkit-transform: scale3d(0.3, 0.3, 0.3); + transform: scale3d(0.3, 0.3, 0.3); + } + + to { + opacity: 0; + } +} + +@keyframes zoomOut { + from { + opacity: 1; + } + + 50% { + opacity: 0; + -webkit-transform: scale3d(0.3, 0.3, 0.3); + transform: scale3d(0.3, 0.3, 0.3); + } + + to { + opacity: 0; + } +} + +.zoomOut { + -webkit-animation-name: zoomOut; + animation-name: zoomOut; +} + +@-webkit-keyframes zoomOutDown { + 40% { + opacity: 1; + -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(0, -60px, 0); + transform: scale3d(0.475, 0.475, 0.475) translate3d(0, -60px, 0); + -webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19); + animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19); + } + + to { + opacity: 0; + -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(0, 2000px, 0); + transform: scale3d(0.1, 0.1, 0.1) translate3d(0, 2000px, 0); + -webkit-transform-origin: center bottom; + transform-origin: center bottom; + -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1); + animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1); + } +} + +@keyframes zoomOutDown { + 40% { + opacity: 1; + -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(0, -60px, 0); + transform: scale3d(0.475, 0.475, 0.475) translate3d(0, -60px, 0); + -webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19); + animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19); + } + + to { + opacity: 0; + -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(0, 2000px, 0); + transform: scale3d(0.1, 0.1, 0.1) translate3d(0, 2000px, 0); + -webkit-transform-origin: center bottom; + transform-origin: center bottom; + -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1); + animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1); + } +} + +.zoomOutDown { + -webkit-animation-name: zoomOutDown; + animation-name: zoomOutDown; +} + +@-webkit-keyframes zoomOutLeft { + 40% { + opacity: 1; + -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(42px, 0, 0); + transform: scale3d(0.475, 0.475, 0.475) translate3d(42px, 0, 0); + } + + to { + opacity: 0; + -webkit-transform: scale(0.1) translate3d(-2000px, 0, 0); + transform: scale(0.1) translate3d(-2000px, 0, 0); + -webkit-transform-origin: left center; + transform-origin: left center; + } +} + +@keyframes zoomOutLeft { + 40% { + opacity: 1; + -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(42px, 0, 0); + transform: scale3d(0.475, 0.475, 0.475) translate3d(42px, 0, 0); + } + + to { + opacity: 0; + -webkit-transform: scale(0.1) translate3d(-2000px, 0, 0); + transform: scale(0.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(0.475, 0.475, 0.475) translate3d(-42px, 0, 0); + transform: scale3d(0.475, 0.475, 0.475) translate3d(-42px, 0, 0); + } + + to { + opacity: 0; + -webkit-transform: scale(0.1) translate3d(2000px, 0, 0); + transform: scale(0.1) translate3d(2000px, 0, 0); + -webkit-transform-origin: right center; + transform-origin: right center; + } +} + +@keyframes zoomOutRight { + 40% { + opacity: 1; + -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(-42px, 0, 0); + transform: scale3d(0.475, 0.475, 0.475) translate3d(-42px, 0, 0); + } + + to { + opacity: 0; + -webkit-transform: scale(0.1) translate3d(2000px, 0, 0); + transform: scale(0.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(0.475, 0.475, 0.475) translate3d(0, 60px, 0); + transform: scale3d(0.475, 0.475, 0.475) translate3d(0, 60px, 0); + -webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19); + animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19); + } + + to { + opacity: 0; + -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(0, -2000px, 0); + transform: scale3d(0.1, 0.1, 0.1) translate3d(0, -2000px, 0); + -webkit-transform-origin: center bottom; + transform-origin: center bottom; + -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1); + animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1); + } +} + +@keyframes zoomOutUp { + 40% { + opacity: 1; + -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(0, 60px, 0); + transform: scale3d(0.475, 0.475, 0.475) translate3d(0, 60px, 0); + -webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19); + animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19); + } + + to { + opacity: 0; + -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(0, -2000px, 0); + transform: scale3d(0.1, 0.1, 0.1) translate3d(0, -2000px, 0); + -webkit-transform-origin: center bottom; + transform-origin: center bottom; + -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1); + animation-timing-function: cubic-bezier(0.175, 0.885, 0.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; + } + + to { + -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; + } + + to { + -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; + } + + to { + -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; + } + + to { + -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; + } + + to { + -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; + } + + to { + -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; + } + + to { + -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; + } + + to { + -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); + } + + to { + 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); + } + + to { + 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); + } + + to { + 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); + } + + to { + 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); + } + + to { + 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); + } + + to { + 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); + } + + to { + 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); + } + + to { + visibility: hidden; + -webkit-transform: translate3d(0, -100%, 0); + transform: translate3d(0, -100%, 0); + } +} + +.slideOutUp { + -webkit-animation-name: slideOutUp; + animation-name: slideOutUp; +} + +.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.delay-1s { + -webkit-animation-delay: 1s; + animation-delay: 1s; +} + +.animated.delay-2s { + -webkit-animation-delay: 2s; + animation-delay: 2s; +} + +.animated.delay-3s { + -webkit-animation-delay: 3s; + animation-delay: 3s; +} + +.animated.delay-4s { + -webkit-animation-delay: 4s; + animation-delay: 4s; +} + +.animated.delay-5s { + -webkit-animation-delay: 5s; + animation-delay: 5s; +} + +.animated.fast { + -webkit-animation-duration: 800ms; + animation-duration: 800ms; +} + +.animated.faster { + -webkit-animation-duration: 500ms; + animation-duration: 500ms; +} + +.animated.slow { + -webkit-animation-duration: 2s; + animation-duration: 2s; +} + +.animated.slower { + -webkit-animation-duration: 3s; + animation-duration: 3s; +} + +@media (print), (prefers-reduced-motion) { + .animated { + -webkit-animation: unset !important; + animation: unset !important; + transition: none !important; + } +} + +/*! + * Font Awesome Pro 5.8.1 by @fontawesome - https://fontawesome.com + * License - https://fontawesome.com/license (Commercial License) + */ + +.fa, +.fas, +.far, +.fal, +.fab { + -moz-osx-font-smoothing: grayscale; + -webkit-font-smoothing: antialiased; + display: inline-block; + font-style: normal; + font-variant: normal; + text-rendering: auto; + line-height: 1; +} + +.fa-lg { + font-size: 1.3333333333em; + line-height: 0.75em; + vertical-align: -0.0667em; +} + +.fa-xs { + font-size: 0.75em; +} + +.fa-sm { + font-size: 0.875em; +} + +.fa-1x { + font-size: 1em; +} + +.fa-2x { + font-size: 2em; +} + +.fa-3x { + font-size: 3em; +} + +.fa-4x { + font-size: 4em; +} + +.fa-5x { + font-size: 5em; +} + +.fa-6x { + font-size: 6em; +} + +.fa-7x { + font-size: 7em; +} + +.fa-8x { + font-size: 8em; +} + +.fa-9x { + font-size: 9em; +} + +.fa-10x { + font-size: 10em; +} + +.fa-fw { + text-align: center; + width: 1.25em; +} + +.fa-ul { + list-style-type: none; + margin-left: 2.5em; + padding-left: 0; +} + +.fa-ul > li { + position: relative; +} + +.fa-li { + left: -2em; + position: absolute; + text-align: center; + width: 2em; + line-height: inherit; +} + +.fa-border { + border: solid 0.08em #eee; + border-radius: 0.1em; + padding: 0.2em 0.25em 0.15em; +} + +.fa-pull-left { + float: left; +} + +.fa-pull-right { + float: right; +} + +.fa.fa-pull-left, +.fas.fa-pull-left, +.far.fa-pull-left, +.fal.fa-pull-left, +.fab.fa-pull-left { + margin-right: 0.3em; +} + +.fa.fa-pull-right, +.fas.fa-pull-right, +.far.fa-pull-right, +.fal.fa-pull-right, +.fab.fa-pull-right { + margin-left: 0.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(360deg); + transform: rotate(360deg); + } +} + +@keyframes fa-spin { + 0% { + -webkit-transform: rotate(0deg); + transform: rotate(0deg); + } + + 100% { + -webkit-transform: rotate(360deg); + transform: rotate(360deg); + } +} + +.fa-rotate-90 { + -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=1)"; + -webkit-transform: rotate(90deg); + transform: rotate(90deg); +} + +.fa-rotate-180 { + -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=2)"; + -webkit-transform: rotate(180deg); + transform: rotate(180deg); +} + +.fa-rotate-270 { + -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=3)"; + -webkit-transform: rotate(270deg); + transform: rotate(270deg); +} + +.fa-flip-horizontal { + -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=0, mirror=1)"; + -webkit-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); + transform: scale(1, -1); +} + +.fa-flip-both, +.fa-flip-horizontal.fa-flip-vertical { + -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1)"; + -webkit-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, +:root .fa-flip-both { + -webkit-filter: none; + filter: none; +} + +.fa-stack { + display: inline-block; + height: 2em; + line-height: 2em; + position: relative; + vertical-align: middle; + width: 2.5em; +} + +.fa-stack-1x, +.fa-stack-2x { + left: 0; + position: absolute; + text-align: center; + width: 100%; +} + +.fa-stack-1x { + line-height: inherit; +} + +.fa-stack-2x { + font-size: 2em; +} + +.fa-inverse { + color: #fff; +} + +/* Font Awesome uses the Unicode Private Use Area (PUA) to ensure screen +readers do not read off random characters that represent icons */ + +.fa-500px:before { + content: "\F26E"; +} + +.fa-abacus:before { + content: "\F640"; +} + +.fa-accessible-icon:before { + content: "\F368"; +} + +.fa-accusoft:before { + content: "\F369"; +} + +.fa-acorn:before { + content: "\F6AE"; +} + +.fa-acquisitions-incorporated:before { + content: "\F6AF"; +} + +.fa-ad:before { + content: "\F641"; +} + +.fa-address-book:before { + content: "\F2B9"; +} + +.fa-address-card:before { + content: "\F2BB"; +} + +.fa-adjust:before { + content: "\F042"; +} + +.fa-adn:before { + content: "\F170"; +} + +.fa-adobe:before { + content: "\F778"; +} + +.fa-adversal:before { + content: "\F36A"; +} + +.fa-affiliatetheme:before { + content: "\F36B"; +} + +.fa-air-freshener:before { + content: "\F5D0"; +} + +.fa-airbnb:before { + content: "\F834"; +} + +.fa-alarm-clock:before { + content: "\F34E"; +} + +.fa-algolia:before { + content: "\F36C"; +} + +.fa-alicorn:before { + content: "\F6B0"; +} + +.fa-align-center:before { + content: "\F037"; +} + +.fa-align-justify:before { + content: "\F039"; +} + +.fa-align-left:before { + content: "\F036"; +} + +.fa-align-right:before { + content: "\F038"; +} + +.fa-alipay:before { + content: "\F642"; +} + +.fa-allergies:before { + content: "\F461"; +} + +.fa-amazon:before { + content: "\F270"; +} + +.fa-amazon-pay:before { + content: "\F42C"; +} + +.fa-ambulance:before { + content: "\F0F9"; +} + +.fa-american-sign-language-interpreting:before { + content: "\F2A3"; +} + +.fa-amilia:before { + content: "\F36D"; +} + +.fa-analytics:before { + content: "\F643"; +} + +.fa-anchor:before { + content: "\F13D"; +} + +.fa-android:before { + content: "\F17B"; +} + +.fa-angel:before { + content: "\F779"; +} + +.fa-angellist:before { + content: "\F209"; +} + +.fa-angle-double-down:before { + content: "\F103"; +} + +.fa-angle-double-left:before { + content: "\F100"; +} + +.fa-angle-double-right:before { + content: "\F101"; +} + +.fa-angle-double-up:before { + content: "\F102"; +} + +.fa-angle-down:before { + content: "\F107"; +} + +.fa-angle-left:before { + content: "\F104"; +} + +.fa-angle-right:before { + content: "\F105"; +} + +.fa-angle-up:before { + content: "\F106"; +} + +.fa-angry:before { + content: "\F556"; +} + +.fa-angrycreative:before { + content: "\F36E"; +} + +.fa-angular:before { + content: "\F420"; +} + +.fa-ankh:before { + content: "\F644"; +} + +.fa-app-store:before { + content: "\F36F"; +} + +.fa-app-store-ios:before { + content: "\F370"; +} + +.fa-apper:before { + content: "\F371"; +} + +.fa-apple:before { + content: "\F179"; +} + +.fa-apple-alt:before { + content: "\F5D1"; +} + +.fa-apple-crate:before { + content: "\F6B1"; +} + +.fa-apple-pay:before { + content: "\F415"; +} + +.fa-archive:before { + content: "\F187"; +} + +.fa-archway:before { + content: "\F557"; +} + +.fa-arrow-alt-circle-down:before { + content: "\F358"; +} + +.fa-arrow-alt-circle-left:before { + content: "\F359"; +} + +.fa-arrow-alt-circle-right:before { + content: "\F35A"; +} + +.fa-arrow-alt-circle-up:before { + content: "\F35B"; +} + +.fa-arrow-alt-down:before { + content: "\F354"; +} + +.fa-arrow-alt-from-bottom:before { + content: "\F346"; +} + +.fa-arrow-alt-from-left:before { + content: "\F347"; +} + +.fa-arrow-alt-from-right:before { + content: "\F348"; +} + +.fa-arrow-alt-from-top:before { + content: "\F349"; +} + +.fa-arrow-alt-left:before { + content: "\F355"; +} + +.fa-arrow-alt-right:before { + content: "\F356"; +} + +.fa-arrow-alt-square-down:before { + content: "\F350"; +} + +.fa-arrow-alt-square-left:before { + content: "\F351"; +} + +.fa-arrow-alt-square-right:before { + content: "\F352"; +} + +.fa-arrow-alt-square-up:before { + content: "\F353"; +} + +.fa-arrow-alt-to-bottom:before { + content: "\F34A"; +} + +.fa-arrow-alt-to-left:before { + content: "\F34B"; +} + +.fa-arrow-alt-to-right:before { + content: "\F34C"; +} + +.fa-arrow-alt-to-top:before { + content: "\F34D"; +} + +.fa-arrow-alt-up:before { + content: "\F357"; +} + +.fa-arrow-circle-down:before { + content: "\F0AB"; +} + +.fa-arrow-circle-left:before { + content: "\F0A8"; +} + +.fa-arrow-circle-right:before { + content: "\F0A9"; +} + +.fa-arrow-circle-up:before { + content: "\F0AA"; +} + +.fa-arrow-down:before { + content: "\F063"; +} + +.fa-arrow-from-bottom:before { + content: "\F342"; +} + +.fa-arrow-from-left:before { + content: "\F343"; +} + +.fa-arrow-from-right:before { + content: "\F344"; +} + +.fa-arrow-from-top:before { + content: "\F345"; +} + +.fa-arrow-left:before { + content: "\F060"; +} + +.fa-arrow-right:before { + content: "\F061"; +} + +.fa-arrow-square-down:before { + content: "\F339"; +} + +.fa-arrow-square-left:before { + content: "\F33A"; +} + +.fa-arrow-square-right:before { + content: "\F33B"; +} + +.fa-arrow-square-up:before { + content: "\F33C"; +} + +.fa-arrow-to-bottom:before { + content: "\F33D"; +} + +.fa-arrow-to-left:before { + content: "\F33E"; +} + +.fa-arrow-to-right:before { + content: "\F340"; +} + +.fa-arrow-to-top:before { + content: "\F341"; +} + +.fa-arrow-up:before { + content: "\F062"; +} + +.fa-arrows:before { + content: "\F047"; +} + +.fa-arrows-alt:before { + content: "\F0B2"; +} + +.fa-arrows-alt-h:before { + content: "\F337"; +} + +.fa-arrows-alt-v:before { + content: "\F338"; +} + +.fa-arrows-h:before { + content: "\F07E"; +} + +.fa-arrows-v:before { + content: "\F07D"; +} + +.fa-artstation:before { + content: "\F77A"; +} + +.fa-assistive-listening-systems:before { + content: "\F2A2"; +} + +.fa-asterisk:before { + content: "\F069"; +} + +.fa-asymmetrik:before { + content: "\F372"; +} + +.fa-at:before { + content: "\F1FA"; +} + +.fa-atlas:before { + content: "\F558"; +} + +.fa-atlassian:before { + content: "\F77B"; +} + +.fa-atom:before { + content: "\F5D2"; +} + +.fa-atom-alt:before { + content: "\F5D3"; +} + +.fa-audible:before { + content: "\F373"; +} + +.fa-audio-description:before { + content: "\F29E"; +} + +.fa-autoprefixer:before { + content: "\F41C"; +} + +.fa-avianex:before { + content: "\F374"; +} + +.fa-aviato:before { + content: "\F421"; +} + +.fa-award:before { + content: "\F559"; +} + +.fa-aws:before { + content: "\F375"; +} + +.fa-axe:before { + content: "\F6B2"; +} + +.fa-axe-battle:before { + content: "\F6B3"; +} + +.fa-baby:before { + content: "\F77C"; +} + +.fa-baby-carriage:before { + content: "\F77D"; +} + +.fa-backpack:before { + content: "\F5D4"; +} + +.fa-backspace:before { + content: "\F55A"; +} + +.fa-backward:before { + content: "\F04A"; +} + +.fa-bacon:before { + content: "\F7E5"; +} + +.fa-badge:before { + content: "\F335"; +} + +.fa-badge-check:before { + content: "\F336"; +} + +.fa-badge-dollar:before { + content: "\F645"; +} + +.fa-badge-percent:before { + content: "\F646"; +} + +.fa-badger-honey:before { + content: "\F6B4"; +} + +.fa-balance-scale:before { + content: "\F24E"; +} + +.fa-balance-scale-left:before { + content: "\F515"; +} + +.fa-balance-scale-right:before { + content: "\F516"; +} + +.fa-ball-pile:before { + content: "\F77E"; +} + +.fa-ballot:before { + content: "\F732"; +} + +.fa-ballot-check:before { + content: "\F733"; +} + +.fa-ban:before { + content: "\F05E"; +} + +.fa-band-aid:before { + content: "\F462"; +} + +.fa-bandcamp:before { + content: "\F2D5"; +} + +.fa-barcode:before { + content: "\F02A"; +} + +.fa-barcode-alt:before { + content: "\F463"; +} + +.fa-barcode-read:before { + content: "\F464"; +} + +.fa-barcode-scan:before { + content: "\F465"; +} + +.fa-bars:before { + content: "\F0C9"; +} + +.fa-baseball:before { + content: "\F432"; +} + +.fa-baseball-ball:before { + content: "\F433"; +} + +.fa-basketball-ball:before { + content: "\F434"; +} + +.fa-basketball-hoop:before { + content: "\F435"; +} + +.fa-bat:before { + content: "\F6B5"; +} + +.fa-bath:before { + content: "\F2CD"; +} + +.fa-battery-bolt:before { + content: "\F376"; +} + +.fa-battery-empty:before { + content: "\F244"; +} + +.fa-battery-full:before { + content: "\F240"; +} + +.fa-battery-half:before { + content: "\F242"; +} + +.fa-battery-quarter:before { + content: "\F243"; +} + +.fa-battery-slash:before { + content: "\F377"; +} + +.fa-battery-three-quarters:before { + content: "\F241"; +} + +.fa-battle-net:before { + content: "\F835"; +} + +.fa-bed:before { + content: "\F236"; +} + +.fa-beer:before { + content: "\F0FC"; +} + +.fa-behance:before { + content: "\F1B4"; +} + +.fa-behance-square:before { + content: "\F1B5"; +} + +.fa-bell:before { + content: "\F0F3"; +} + +.fa-bell-school:before { + content: "\F5D5"; +} + +.fa-bell-school-slash:before { + content: "\F5D6"; +} + +.fa-bell-slash:before { + content: "\F1F6"; +} + +.fa-bells:before { + content: "\F77F"; +} + +.fa-bezier-curve:before { + content: "\F55B"; +} + +.fa-bible:before { + content: "\F647"; +} + +.fa-bicycle:before { + content: "\F206"; +} + +.fa-bimobject:before { + content: "\F378"; +} + +.fa-binoculars:before { + content: "\F1E5"; +} + +.fa-biohazard:before { + content: "\F780"; +} + +.fa-birthday-cake:before { + content: "\F1FD"; +} + +.fa-bitbucket:before { + content: "\F171"; +} + +.fa-bitcoin:before { + content: "\F379"; +} + +.fa-bity:before { + content: "\F37A"; +} + +.fa-black-tie:before { + content: "\F27E"; +} + +.fa-blackberry:before { + content: "\F37B"; +} + +.fa-blanket:before { + content: "\F498"; +} + +.fa-blender:before { + content: "\F517"; +} + +.fa-blender-phone:before { + content: "\F6B6"; +} + +.fa-blind:before { + content: "\F29D"; +} + +.fa-blog:before { + content: "\F781"; +} + +.fa-blogger:before { + content: "\F37C"; +} + +.fa-blogger-b:before { + content: "\F37D"; +} + +.fa-bluetooth:before { + content: "\F293"; +} + +.fa-bluetooth-b:before { + content: "\F294"; +} + +.fa-bold:before { + content: "\F032"; +} + +.fa-bolt:before { + content: "\F0E7"; +} + +.fa-bomb:before { + content: "\F1E2"; +} + +.fa-bone:before { + content: "\F5D7"; +} + +.fa-bone-break:before { + content: "\F5D8"; +} + +.fa-bong:before { + content: "\F55C"; +} + +.fa-book:before { + content: "\F02D"; +} + +.fa-book-alt:before { + content: "\F5D9"; +} + +.fa-book-dead:before { + content: "\F6B7"; +} + +.fa-book-heart:before { + content: "\F499"; +} + +.fa-book-medical:before { + content: "\F7E6"; +} + +.fa-book-open:before { + content: "\F518"; +} + +.fa-book-reader:before { + content: "\F5DA"; +} + +.fa-book-spells:before { + content: "\F6B8"; +} + +.fa-book-user:before { + content: "\F7E7"; +} + +.fa-bookmark:before { + content: "\F02E"; +} + +.fa-books:before { + content: "\F5DB"; +} + +.fa-books-medical:before { + content: "\F7E8"; +} + +.fa-boot:before { + content: "\F782"; +} + +.fa-booth-curtain:before { + content: "\F734"; +} + +.fa-bootstrap:before { + content: "\F836"; +} + +.fa-bow-arrow:before { + content: "\F6B9"; +} + +.fa-bowling-ball:before { + content: "\F436"; +} + +.fa-bowling-pins:before { + content: "\F437"; +} + +.fa-box:before { + content: "\F466"; +} + +.fa-box-alt:before { + content: "\F49A"; +} + +.fa-box-ballot:before { + content: "\F735"; +} + +.fa-box-check:before { + content: "\F467"; +} + +.fa-box-fragile:before { + content: "\F49B"; +} + +.fa-box-full:before { + content: "\F49C"; +} + +.fa-box-heart:before { + content: "\F49D"; +} + +.fa-box-open:before { + content: "\F49E"; +} + +.fa-box-up:before { + content: "\F49F"; +} + +.fa-box-usd:before { + content: "\F4A0"; +} + +.fa-boxes:before { + content: "\F468"; +} + +.fa-boxes-alt:before { + content: "\F4A1"; +} + +.fa-boxing-glove:before { + content: "\F438"; +} + +.fa-brackets:before { + content: "\F7E9"; +} + +.fa-brackets-curly:before { + content: "\F7EA"; +} + +.fa-braille:before { + content: "\F2A1"; +} + +.fa-brain:before { + content: "\F5DC"; +} + +.fa-bread-loaf:before { + content: "\F7EB"; +} + +.fa-bread-slice:before { + content: "\F7EC"; +} + +.fa-briefcase:before { + content: "\F0B1"; +} + +.fa-briefcase-medical:before { + content: "\F469"; +} + +.fa-broadcast-tower:before { + content: "\F519"; +} + +.fa-broom:before { + content: "\F51A"; +} + +.fa-browser:before { + content: "\F37E"; +} + +.fa-brush:before { + content: "\F55D"; +} + +.fa-btc:before { + content: "\F15A"; +} + +.fa-buffer:before { + content: "\F837"; +} + +.fa-bug:before { + content: "\F188"; +} + +.fa-building:before { + content: "\F1AD"; +} + +.fa-bullhorn:before { + content: "\F0A1"; +} + +.fa-bullseye:before { + content: "\F140"; +} + +.fa-bullseye-arrow:before { + content: "\F648"; +} + +.fa-bullseye-pointer:before { + content: "\F649"; +} + +.fa-burn:before { + content: "\F46A"; +} + +.fa-buromobelexperte:before { + content: "\F37F"; +} + +.fa-burrito:before { + content: "\F7ED"; +} + +.fa-bus:before { + content: "\F207"; +} + +.fa-bus-alt:before { + content: "\F55E"; +} + +.fa-bus-school:before { + content: "\F5DD"; +} + +.fa-business-time:before { + content: "\F64A"; +} + +.fa-buysellads:before { + content: "\F20D"; +} + +.fa-cabinet-filing:before { + content: "\F64B"; +} + +.fa-calculator:before { + content: "\F1EC"; +} + +.fa-calculator-alt:before { + content: "\F64C"; +} + +.fa-calendar:before { + content: "\F133"; +} + +.fa-calendar-alt:before { + content: "\F073"; +} + +.fa-calendar-check:before { + content: "\F274"; +} + +.fa-calendar-day:before { + content: "\F783"; +} + +.fa-calendar-edit:before { + content: "\F333"; +} + +.fa-calendar-exclamation:before { + content: "\F334"; +} + +.fa-calendar-minus:before { + content: "\F272"; +} + +.fa-calendar-plus:before { + content: "\F271"; +} + +.fa-calendar-star:before { + content: "\F736"; +} + +.fa-calendar-times:before { + content: "\F273"; +} + +.fa-calendar-week:before { + content: "\F784"; +} + +.fa-camera:before { + content: "\F030"; +} + +.fa-camera-alt:before { + content: "\F332"; +} + +.fa-camera-retro:before { + content: "\F083"; +} + +.fa-campfire:before { + content: "\F6BA"; +} + +.fa-campground:before { + content: "\F6BB"; +} + +.fa-canadian-maple-leaf:before { + content: "\F785"; +} + +.fa-candle-holder:before { + content: "\F6BC"; +} + +.fa-candy-cane:before { + content: "\F786"; +} + +.fa-candy-corn:before { + content: "\F6BD"; +} + +.fa-cannabis:before { + content: "\F55F"; +} + +.fa-capsules:before { + content: "\F46B"; +} + +.fa-car:before { + content: "\F1B9"; +} + +.fa-car-alt:before { + content: "\F5DE"; +} + +.fa-car-battery:before { + content: "\F5DF"; +} + +.fa-car-bump:before { + content: "\F5E0"; +} + +.fa-car-crash:before { + content: "\F5E1"; +} + +.fa-car-garage:before { + content: "\F5E2"; +} + +.fa-car-mechanic:before { + content: "\F5E3"; +} + +.fa-car-side:before { + content: "\F5E4"; +} + +.fa-car-tilt:before { + content: "\F5E5"; +} + +.fa-car-wash:before { + content: "\F5E6"; +} + +.fa-caret-circle-down:before { + content: "\F32D"; +} + +.fa-caret-circle-left:before { + content: "\F32E"; +} + +.fa-caret-circle-right:before { + content: "\F330"; +} + +.fa-caret-circle-up:before { + content: "\F331"; +} + +.fa-caret-down:before { + content: "\F0D7"; +} + +.fa-caret-left:before { + content: "\F0D9"; +} + +.fa-caret-right:before { + content: "\F0DA"; +} + +.fa-caret-square-down:before { + content: "\F150"; +} + +.fa-caret-square-left:before { + content: "\F191"; +} + +.fa-caret-square-right:before { + content: "\F152"; +} + +.fa-caret-square-up:before { + content: "\F151"; +} + +.fa-caret-up:before { + content: "\F0D8"; +} + +.fa-carrot:before { + content: "\F787"; +} + +.fa-cart-arrow-down:before { + content: "\F218"; +} + +.fa-cart-plus:before { + content: "\F217"; +} + +.fa-cash-register:before { + content: "\F788"; +} + +.fa-cat:before { + content: "\F6BE"; +} + +.fa-cauldron:before { + content: "\F6BF"; +} + +.fa-cc-amazon-pay:before { + content: "\F42D"; +} + +.fa-cc-amex:before { + content: "\F1F3"; +} + +.fa-cc-apple-pay:before { + content: "\F416"; +} + +.fa-cc-diners-club:before { + content: "\F24C"; +} + +.fa-cc-discover:before { + content: "\F1F2"; +} + +.fa-cc-jcb:before { + content: "\F24B"; +} + +.fa-cc-mastercard:before { + content: "\F1F1"; +} + +.fa-cc-paypal:before { + content: "\F1F4"; +} + +.fa-cc-stripe:before { + content: "\F1F5"; +} + +.fa-cc-visa:before { + content: "\F1F0"; +} + +.fa-centercode:before { + content: "\F380"; +} + +.fa-centos:before { + content: "\F789"; +} + +.fa-certificate:before { + content: "\F0A3"; +} + +.fa-chair:before { + content: "\F6C0"; +} + +.fa-chair-office:before { + content: "\F6C1"; +} + +.fa-chalkboard:before { + content: "\F51B"; +} + +.fa-chalkboard-teacher:before { + content: "\F51C"; +} + +.fa-charging-station:before { + content: "\F5E7"; +} + +.fa-chart-area:before { + content: "\F1FE"; +} + +.fa-chart-bar:before { + content: "\F080"; +} + +.fa-chart-line:before { + content: "\F201"; +} + +.fa-chart-line-down:before { + content: "\F64D"; +} + +.fa-chart-network:before { + content: "\F78A"; +} + +.fa-chart-pie:before { + content: "\F200"; +} + +.fa-chart-pie-alt:before { + content: "\F64E"; +} + +.fa-chart-scatter:before { + content: "\F7EE"; +} + +.fa-check:before { + content: "\F00C"; +} + +.fa-check-circle:before { + content: "\F058"; +} + +.fa-check-double:before { + content: "\F560"; +} + +.fa-check-square:before { + content: "\F14A"; +} + +.fa-cheese:before { + content: "\F7EF"; +} + +.fa-cheese-swiss:before { + content: "\F7F0"; +} + +.fa-cheeseburger:before { + content: "\F7F1"; +} + +.fa-chess:before { + content: "\F439"; +} + +.fa-chess-bishop:before { + content: "\F43A"; +} + +.fa-chess-bishop-alt:before { + content: "\F43B"; +} + +.fa-chess-board:before { + content: "\F43C"; +} + +.fa-chess-clock:before { + content: "\F43D"; +} + +.fa-chess-clock-alt:before { + content: "\F43E"; +} + +.fa-chess-king:before { + content: "\F43F"; +} + +.fa-chess-king-alt:before { + content: "\F440"; +} + +.fa-chess-knight:before { + content: "\F441"; +} + +.fa-chess-knight-alt:before { + content: "\F442"; +} + +.fa-chess-pawn:before { + content: "\F443"; +} + +.fa-chess-pawn-alt:before { + content: "\F444"; +} + +.fa-chess-queen:before { + content: "\F445"; +} + +.fa-chess-queen-alt:before { + content: "\F446"; +} + +.fa-chess-rook:before { + content: "\F447"; +} + +.fa-chess-rook-alt:before { + content: "\F448"; +} + +.fa-chevron-circle-down:before { + content: "\F13A"; +} + +.fa-chevron-circle-left:before { + content: "\F137"; +} + +.fa-chevron-circle-right:before { + content: "\F138"; +} + +.fa-chevron-circle-up:before { + content: "\F139"; +} + +.fa-chevron-double-down:before { + content: "\F322"; +} + +.fa-chevron-double-left:before { + content: "\F323"; +} + +.fa-chevron-double-right:before { + content: "\F324"; +} + +.fa-chevron-double-up:before { + content: "\F325"; +} + +.fa-chevron-down:before { + content: "\F078"; +} + +.fa-chevron-left:before { + content: "\F053"; +} + +.fa-chevron-right:before { + content: "\F054"; +} + +.fa-chevron-square-down:before { + content: "\F329"; +} + +.fa-chevron-square-left:before { + content: "\F32A"; +} + +.fa-chevron-square-right:before { + content: "\F32B"; +} + +.fa-chevron-square-up:before { + content: "\F32C"; +} + +.fa-chevron-up:before { + content: "\F077"; +} + +.fa-child:before { + content: "\F1AE"; +} + +.fa-chimney:before { + content: "\F78B"; +} + +.fa-chrome:before { + content: "\F268"; +} + +.fa-chromecast:before { + content: "\F838"; +} + +.fa-church:before { + content: "\F51D"; +} + +.fa-circle:before { + content: "\F111"; +} + +.fa-circle-notch:before { + content: "\F1CE"; +} + +.fa-city:before { + content: "\F64F"; +} + +.fa-claw-marks:before { + content: "\F6C2"; +} + +.fa-clinic-medical:before { + content: "\F7F2"; +} + +.fa-clipboard:before { + content: "\F328"; +} + +.fa-clipboard-check:before { + content: "\F46C"; +} + +.fa-clipboard-list:before { + content: "\F46D"; +} + +.fa-clipboard-list-check:before { + content: "\F737"; +} + +.fa-clipboard-prescription:before { + content: "\F5E8"; +} + +.fa-clipboard-user:before { + content: "\F7F3"; +} + +.fa-clock:before { + content: "\F017"; +} + +.fa-clone:before { + content: "\F24D"; +} + +.fa-closed-captioning:before { + content: "\F20A"; +} + +.fa-cloud:before { + content: "\F0C2"; +} + +.fa-cloud-download:before { + content: "\F0ED"; +} + +.fa-cloud-download-alt:before { + content: "\F381"; +} + +.fa-cloud-drizzle:before { + content: "\F738"; +} + +.fa-cloud-hail:before { + content: "\F739"; +} + +.fa-cloud-hail-mixed:before { + content: "\F73A"; +} + +.fa-cloud-meatball:before { + content: "\F73B"; +} + +.fa-cloud-moon:before { + content: "\F6C3"; +} + +.fa-cloud-moon-rain:before { + content: "\F73C"; +} + +.fa-cloud-rain:before { + content: "\F73D"; +} + +.fa-cloud-rainbow:before { + content: "\F73E"; +} + +.fa-cloud-showers:before { + content: "\F73F"; +} + +.fa-cloud-showers-heavy:before { + content: "\F740"; +} + +.fa-cloud-sleet:before { + content: "\F741"; +} + +.fa-cloud-snow:before { + content: "\F742"; +} + +.fa-cloud-sun:before { + content: "\F6C4"; +} + +.fa-cloud-sun-rain:before { + content: "\F743"; +} + +.fa-cloud-upload:before { + content: "\F0EE"; +} + +.fa-cloud-upload-alt:before { + content: "\F382"; +} + +.fa-clouds:before { + content: "\F744"; +} + +.fa-clouds-moon:before { + content: "\F745"; +} + +.fa-clouds-sun:before { + content: "\F746"; +} + +.fa-cloudscale:before { + content: "\F383"; +} + +.fa-cloudsmith:before { + content: "\F384"; +} + +.fa-cloudversify:before { + content: "\F385"; +} + +.fa-club:before { + content: "\F327"; +} + +.fa-cocktail:before { + content: "\F561"; +} + +.fa-code:before { + content: "\F121"; +} + +.fa-code-branch:before { + content: "\F126"; +} + +.fa-code-commit:before { + content: "\F386"; +} + +.fa-code-merge:before { + content: "\F387"; +} + +.fa-codepen:before { + content: "\F1CB"; +} + +.fa-codiepie:before { + content: "\F284"; +} + +.fa-coffee:before { + content: "\F0F4"; +} + +.fa-coffee-togo:before { + content: "\F6C5"; +} + +.fa-coffin:before { + content: "\F6C6"; +} + +.fa-cog:before { + content: "\F013"; +} + +.fa-cogs:before { + content: "\F085"; +} + +.fa-coins:before { + content: "\F51E"; +} + +.fa-columns:before { + content: "\F0DB"; +} + +.fa-comment:before { + content: "\F075"; +} + +.fa-comment-alt:before { + content: "\F27A"; +} + +.fa-comment-alt-check:before { + content: "\F4A2"; +} + +.fa-comment-alt-dollar:before { + content: "\F650"; +} + +.fa-comment-alt-dots:before { + content: "\F4A3"; +} + +.fa-comment-alt-edit:before { + content: "\F4A4"; +} + +.fa-comment-alt-exclamation:before { + content: "\F4A5"; +} + +.fa-comment-alt-lines:before { + content: "\F4A6"; +} + +.fa-comment-alt-medical:before { + content: "\F7F4"; +} + +.fa-comment-alt-minus:before { + content: "\F4A7"; +} + +.fa-comment-alt-plus:before { + content: "\F4A8"; +} + +.fa-comment-alt-slash:before { + content: "\F4A9"; +} + +.fa-comment-alt-smile:before { + content: "\F4AA"; +} + +.fa-comment-alt-times:before { + content: "\F4AB"; +} + +.fa-comment-check:before { + content: "\F4AC"; +} + +.fa-comment-dollar:before { + content: "\F651"; +} + +.fa-comment-dots:before { + content: "\F4AD"; +} + +.fa-comment-edit:before { + content: "\F4AE"; +} + +.fa-comment-exclamation:before { + content: "\F4AF"; +} + +.fa-comment-lines:before { + content: "\F4B0"; +} + +.fa-comment-medical:before { + content: "\F7F5"; +} + +.fa-comment-minus:before { + content: "\F4B1"; +} + +.fa-comment-plus:before { + content: "\F4B2"; +} + +.fa-comment-slash:before { + content: "\F4B3"; +} + +.fa-comment-smile:before { + content: "\F4B4"; +} + +.fa-comment-times:before { + content: "\F4B5"; +} + +.fa-comments:before { + content: "\F086"; +} + +.fa-comments-alt:before { + content: "\F4B6"; +} + +.fa-comments-alt-dollar:before { + content: "\F652"; +} + +.fa-comments-dollar:before { + content: "\F653"; +} + +.fa-compact-disc:before { + content: "\F51F"; +} + +.fa-compass:before { + content: "\F14E"; +} + +.fa-compass-slash:before { + content: "\F5E9"; +} + +.fa-compress:before { + content: "\F066"; +} + +.fa-compress-alt:before { + content: "\F422"; +} + +.fa-compress-arrows-alt:before { + content: "\F78C"; +} + +.fa-compress-wide:before { + content: "\F326"; +} + +.fa-concierge-bell:before { + content: "\F562"; +} + +.fa-confluence:before { + content: "\F78D"; +} + +.fa-connectdevelop:before { + content: "\F20E"; +} + +.fa-container-storage:before { + content: "\F4B7"; +} + +.fa-contao:before { + content: "\F26D"; +} + +.fa-conveyor-belt:before { + content: "\F46E"; +} + +.fa-conveyor-belt-alt:before { + content: "\F46F"; +} + +.fa-cookie:before { + content: "\F563"; +} + +.fa-cookie-bite:before { + content: "\F564"; +} + +.fa-copy:before { + content: "\F0C5"; +} + +.fa-copyright:before { + content: "\F1F9"; +} + +.fa-corn:before { + content: "\F6C7"; +} + +.fa-couch:before { + content: "\F4B8"; +} + +.fa-cow:before { + content: "\F6C8"; +} + +.fa-cpanel:before { + content: "\F388"; +} + +.fa-creative-commons:before { + content: "\F25E"; +} + +.fa-creative-commons-by:before { + content: "\F4E7"; +} + +.fa-creative-commons-nc:before { + content: "\F4E8"; +} + +.fa-creative-commons-nc-eu:before { + content: "\F4E9"; +} + +.fa-creative-commons-nc-jp:before { + content: "\F4EA"; +} + +.fa-creative-commons-nd:before { + content: "\F4EB"; +} + +.fa-creative-commons-pd:before { + content: "\F4EC"; +} + +.fa-creative-commons-pd-alt:before { + content: "\F4ED"; +} + +.fa-creative-commons-remix:before { + content: "\F4EE"; +} + +.fa-creative-commons-sa:before { + content: "\F4EF"; +} + +.fa-creative-commons-sampling:before { + content: "\F4F0"; +} + +.fa-creative-commons-sampling-plus:before { + content: "\F4F1"; +} + +.fa-creative-commons-share:before { + content: "\F4F2"; +} + +.fa-creative-commons-zero:before { + content: "\F4F3"; +} + +.fa-credit-card:before { + content: "\F09D"; +} + +.fa-credit-card-blank:before { + content: "\F389"; +} + +.fa-credit-card-front:before { + content: "\F38A"; +} + +.fa-cricket:before { + content: "\F449"; +} + +.fa-critical-role:before { + content: "\F6C9"; +} + +.fa-croissant:before { + content: "\F7F6"; +} + +.fa-crop:before { + content: "\F125"; +} + +.fa-crop-alt:before { + content: "\F565"; +} + +.fa-cross:before { + content: "\F654"; +} + +.fa-crosshairs:before { + content: "\F05B"; +} + +.fa-crow:before { + content: "\F520"; +} + +.fa-crown:before { + content: "\F521"; +} + +.fa-crutch:before { + content: "\F7F7"; +} + +.fa-crutches:before { + content: "\F7F8"; +} + +.fa-css3:before { + content: "\F13C"; +} + +.fa-css3-alt:before { + content: "\F38B"; +} + +.fa-cube:before { + content: "\F1B2"; +} + +.fa-cubes:before { + content: "\F1B3"; +} + +.fa-curling:before { + content: "\F44A"; +} + +.fa-cut:before { + content: "\F0C4"; +} + +.fa-cuttlefish:before { + content: "\F38C"; +} + +.fa-d-and-d:before { + content: "\F38D"; +} + +.fa-d-and-d-beyond:before { + content: "\F6CA"; +} + +.fa-dagger:before { + content: "\F6CB"; +} + +.fa-dashcube:before { + content: "\F210"; +} + +.fa-database:before { + content: "\F1C0"; +} + +.fa-deaf:before { + content: "\F2A4"; +} + +.fa-debug:before { + content: "\F7F9"; +} + +.fa-deer:before { + content: "\F78E"; +} + +.fa-deer-rudolph:before { + content: "\F78F"; +} + +.fa-delicious:before { + content: "\F1A5"; +} + +.fa-democrat:before { + content: "\F747"; +} + +.fa-deploydog:before { + content: "\F38E"; +} + +.fa-deskpro:before { + content: "\F38F"; +} + +.fa-desktop:before { + content: "\F108"; +} + +.fa-desktop-alt:before { + content: "\F390"; +} + +.fa-dev:before { + content: "\F6CC"; +} + +.fa-deviantart:before { + content: "\F1BD"; +} + +.fa-dewpoint:before { + content: "\F748"; +} + +.fa-dharmachakra:before { + content: "\F655"; +} + +.fa-dhl:before { + content: "\F790"; +} + +.fa-diagnoses:before { + content: "\F470"; +} + +.fa-diamond:before { + content: "\F219"; +} + +.fa-diaspora:before { + content: "\F791"; +} + +.fa-dice:before { + content: "\F522"; +} + +.fa-dice-d10:before { + content: "\F6CD"; +} + +.fa-dice-d12:before { + content: "\F6CE"; +} + +.fa-dice-d20:before { + content: "\F6CF"; +} + +.fa-dice-d4:before { + content: "\F6D0"; +} + +.fa-dice-d6:before { + content: "\F6D1"; +} + +.fa-dice-d8:before { + content: "\F6D2"; +} + +.fa-dice-five:before { + content: "\F523"; +} + +.fa-dice-four:before { + content: "\F524"; +} + +.fa-dice-one:before { + content: "\F525"; +} + +.fa-dice-six:before { + content: "\F526"; +} + +.fa-dice-three:before { + content: "\F527"; +} + +.fa-dice-two:before { + content: "\F528"; +} + +.fa-digg:before { + content: "\F1A6"; +} + +.fa-digital-ocean:before { + content: "\F391"; +} + +.fa-digital-tachograph:before { + content: "\F566"; +} + +.fa-diploma:before { + content: "\F5EA"; +} + +.fa-directions:before { + content: "\F5EB"; +} + +.fa-discord:before { + content: "\F392"; +} + +.fa-discourse:before { + content: "\F393"; +} + +.fa-disease:before { + content: "\F7FA"; +} + +.fa-divide:before { + content: "\F529"; +} + +.fa-dizzy:before { + content: "\F567"; +} + +.fa-dna:before { + content: "\F471"; +} + +.fa-do-not-enter:before { + content: "\F5EC"; +} + +.fa-dochub:before { + content: "\F394"; +} + +.fa-docker:before { + content: "\F395"; +} + +.fa-dog:before { + content: "\F6D3"; +} + +.fa-dog-leashed:before { + content: "\F6D4"; +} + +.fa-dollar-sign:before { + content: "\F155"; +} + +.fa-dolly:before { + content: "\F472"; +} + +.fa-dolly-empty:before { + content: "\F473"; +} + +.fa-dolly-flatbed:before { + content: "\F474"; +} + +.fa-dolly-flatbed-alt:before { + content: "\F475"; +} + +.fa-dolly-flatbed-empty:before { + content: "\F476"; +} + +.fa-donate:before { + content: "\F4B9"; +} + +.fa-door-closed:before { + content: "\F52A"; +} + +.fa-door-open:before { + content: "\F52B"; +} + +.fa-dot-circle:before { + content: "\F192"; +} + +.fa-dove:before { + content: "\F4BA"; +} + +.fa-download:before { + content: "\F019"; +} + +.fa-draft2digital:before { + content: "\F396"; +} + +.fa-drafting-compass:before { + content: "\F568"; +} + +.fa-dragon:before { + content: "\F6D5"; +} + +.fa-draw-circle:before { + content: "\F5ED"; +} + +.fa-draw-polygon:before { + content: "\F5EE"; +} + +.fa-draw-square:before { + content: "\F5EF"; +} + +.fa-dreidel:before { + content: "\F792"; +} + +.fa-dribbble:before { + content: "\F17D"; +} + +.fa-dribbble-square:before { + content: "\F397"; +} + +.fa-dropbox:before { + content: "\F16B"; +} + +.fa-drum:before { + content: "\F569"; +} + +.fa-drum-steelpan:before { + content: "\F56A"; +} + +.fa-drumstick:before { + content: "\F6D6"; +} + +.fa-drumstick-bite:before { + content: "\F6D7"; +} + +.fa-drupal:before { + content: "\F1A9"; +} + +.fa-duck:before { + content: "\F6D8"; +} + +.fa-dumbbell:before { + content: "\F44B"; +} + +.fa-dumpster:before { + content: "\F793"; +} + +.fa-dumpster-fire:before { + content: "\F794"; +} + +.fa-dungeon:before { + content: "\F6D9"; +} + +.fa-dyalog:before { + content: "\F399"; +} + +.fa-ear:before { + content: "\F5F0"; +} + +.fa-ear-muffs:before { + content: "\F795"; +} + +.fa-earlybirds:before { + content: "\F39A"; +} + +.fa-ebay:before { + content: "\F4F4"; +} + +.fa-eclipse:before { + content: "\F749"; +} + +.fa-eclipse-alt:before { + content: "\F74A"; +} + +.fa-edge:before { + content: "\F282"; +} + +.fa-edit:before { + content: "\F044"; +} + +.fa-egg:before { + content: "\F7FB"; +} + +.fa-egg-fried:before { + content: "\F7FC"; +} + +.fa-eject:before { + content: "\F052"; +} + +.fa-elementor:before { + content: "\F430"; +} + +.fa-elephant:before { + content: "\F6DA"; +} + +.fa-ellipsis-h:before { + content: "\F141"; +} + +.fa-ellipsis-h-alt:before { + content: "\F39B"; +} + +.fa-ellipsis-v:before { + content: "\F142"; +} + +.fa-ellipsis-v-alt:before { + content: "\F39C"; +} + +.fa-ello:before { + content: "\F5F1"; +} + +.fa-ember:before { + content: "\F423"; +} + +.fa-empire:before { + content: "\F1D1"; +} + +.fa-empty-set:before { + content: "\F656"; +} + +.fa-engine-warning:before { + content: "\F5F2"; +} + +.fa-envelope:before { + content: "\F0E0"; +} + +.fa-envelope-open:before { + content: "\F2B6"; +} + +.fa-envelope-open-dollar:before { + content: "\F657"; +} + +.fa-envelope-open-text:before { + content: "\F658"; +} + +.fa-envelope-square:before { + content: "\F199"; +} + +.fa-envira:before { + content: "\F299"; +} + +.fa-equals:before { + content: "\F52C"; +} + +.fa-eraser:before { + content: "\F12D"; +} + +.fa-erlang:before { + content: "\F39D"; +} + +.fa-ethereum:before { + content: "\F42E"; +} + +.fa-ethernet:before { + content: "\F796"; +} + +.fa-etsy:before { + content: "\F2D7"; +} + +.fa-euro-sign:before { + content: "\F153"; +} + +.fa-evernote:before { + content: "\F839"; +} + +.fa-exchange:before { + content: "\F0EC"; +} + +.fa-exchange-alt:before { + content: "\F362"; +} + +.fa-exclamation:before { + content: "\F12A"; +} + +.fa-exclamation-circle:before { + content: "\F06A"; +} + +.fa-exclamation-square:before { + content: "\F321"; +} + +.fa-exclamation-triangle:before { + content: "\F071"; +} + +.fa-expand:before { + content: "\F065"; +} + +.fa-expand-alt:before { + content: "\F424"; +} + +.fa-expand-arrows:before { + content: "\F31D"; +} + +.fa-expand-arrows-alt:before { + content: "\F31E"; +} + +.fa-expand-wide:before { + content: "\F320"; +} + +.fa-expeditedssl:before { + content: "\F23E"; +} + +.fa-external-link:before { + content: "\F08E"; +} + +.fa-external-link-alt:before { + content: "\F35D"; +} + +.fa-external-link-square:before { + content: "\F14C"; +} + +.fa-external-link-square-alt:before { + content: "\F360"; +} + +.fa-eye:before { + content: "\F06E"; +} + +.fa-eye-dropper:before { + content: "\F1FB"; +} + +.fa-eye-evil:before { + content: "\F6DB"; +} + +.fa-eye-slash:before { + content: "\F070"; +} + +.fa-facebook:before { + content: "\F09A"; +} + +.fa-facebook-f:before { + content: "\F39E"; +} + +.fa-facebook-messenger:before { + content: "\F39F"; +} + +.fa-facebook-square:before { + content: "\F082"; +} + +.fa-fantasy-flight-games:before { + content: "\F6DC"; +} + +.fa-fast-backward:before { + content: "\F049"; +} + +.fa-fast-forward:before { + content: "\F050"; +} + +.fa-fax:before { + content: "\F1AC"; +} + +.fa-feather:before { + content: "\F52D"; +} + +.fa-feather-alt:before { + content: "\F56B"; +} + +.fa-fedex:before { + content: "\F797"; +} + +.fa-fedora:before { + content: "\F798"; +} + +.fa-female:before { + content: "\F182"; +} + +.fa-field-hockey:before { + content: "\F44C"; +} + +.fa-fighter-jet:before { + content: "\F0FB"; +} + +.fa-figma:before { + content: "\F799"; +} + +.fa-file:before { + content: "\F15B"; +} + +.fa-file-alt:before { + content: "\F15C"; +} + +.fa-file-archive:before { + content: "\F1C6"; +} + +.fa-file-audio:before { + content: "\F1C7"; +} + +.fa-file-certificate:before { + content: "\F5F3"; +} + +.fa-file-chart-line:before { + content: "\F659"; +} + +.fa-file-chart-pie:before { + content: "\F65A"; +} + +.fa-file-check:before { + content: "\F316"; +} + +.fa-file-code:before { + content: "\F1C9"; +} + +.fa-file-contract:before { + content: "\F56C"; +} + +.fa-file-csv:before { + content: "\F6DD"; +} + +.fa-file-download:before { + content: "\F56D"; +} + +.fa-file-edit:before { + content: "\F31C"; +} + +.fa-file-excel:before { + content: "\F1C3"; +} + +.fa-file-exclamation:before { + content: "\F31A"; +} + +.fa-file-export:before { + content: "\F56E"; +} + +.fa-file-image:before { + content: "\F1C5"; +} + +.fa-file-import:before { + content: "\F56F"; +} + +.fa-file-invoice:before { + content: "\F570"; +} + +.fa-file-invoice-dollar:before { + content: "\F571"; +} + +.fa-file-medical:before { + content: "\F477"; +} + +.fa-file-medical-alt:before { + content: "\F478"; +} + +.fa-file-minus:before { + content: "\F318"; +} + +.fa-file-pdf:before { + content: "\F1C1"; +} + +.fa-file-plus:before { + content: "\F319"; +} + +.fa-file-powerpoint:before { + content: "\F1C4"; +} + +.fa-file-prescription:before { + content: "\F572"; +} + +.fa-file-signature:before { + content: "\F573"; +} + +.fa-file-spreadsheet:before { + content: "\F65B"; +} + +.fa-file-times:before { + content: "\F317"; +} + +.fa-file-upload:before { + content: "\F574"; +} + +.fa-file-user:before { + content: "\F65C"; +} + +.fa-file-video:before { + content: "\F1C8"; +} + +.fa-file-word:before { + content: "\F1C2"; +} + +.fa-files-medical:before { + content: "\F7FD"; +} + +.fa-fill:before { + content: "\F575"; +} + +.fa-fill-drip:before { + content: "\F576"; +} + +.fa-film:before { + content: "\F008"; +} + +.fa-film-alt:before { + content: "\F3A0"; +} + +.fa-filter:before { + content: "\F0B0"; +} + +.fa-fingerprint:before { + content: "\F577"; +} + +.fa-fire:before { + content: "\F06D"; +} + +.fa-fire-alt:before { + content: "\F7E4"; +} + +.fa-fire-extinguisher:before { + content: "\F134"; +} + +.fa-fire-smoke:before { + content: "\F74B"; +} + +.fa-firefox:before { + content: "\F269"; +} + +.fa-fireplace:before { + content: "\F79A"; +} + +.fa-first-aid:before { + content: "\F479"; +} + +.fa-first-order:before { + content: "\F2B0"; +} + +.fa-first-order-alt:before { + content: "\F50A"; +} + +.fa-firstdraft:before { + content: "\F3A1"; +} + +.fa-fish:before { + content: "\F578"; +} + +.fa-fish-cooked:before { + content: "\F7FE"; +} + +.fa-fist-raised:before { + content: "\F6DE"; +} + +.fa-flag:before { + content: "\F024"; +} + +.fa-flag-alt:before { + content: "\F74C"; +} + +.fa-flag-checkered:before { + content: "\F11E"; +} + +.fa-flag-usa:before { + content: "\F74D"; +} + +.fa-flame:before { + content: "\F6DF"; +} + +.fa-flask:before { + content: "\F0C3"; +} + +.fa-flask-poison:before { + content: "\F6E0"; +} + +.fa-flask-potion:before { + content: "\F6E1"; +} + +.fa-flickr:before { + content: "\F16E"; +} + +.fa-flipboard:before { + content: "\F44D"; +} + +.fa-flower:before { + content: "\F7FF"; +} + +.fa-flower-daffodil:before { + content: "\F800"; +} + +.fa-flower-tulip:before { + content: "\F801"; +} + +.fa-flushed:before { + content: "\F579"; +} + +.fa-fly:before { + content: "\F417"; +} + +.fa-fog:before { + content: "\F74E"; +} + +.fa-folder:before { + content: "\F07B"; +} + +.fa-folder-minus:before { + content: "\F65D"; +} + +.fa-folder-open:before { + content: "\F07C"; +} + +.fa-folder-plus:before { + content: "\F65E"; +} + +.fa-folder-times:before { + content: "\F65F"; +} + +.fa-folder-tree:before { + content: "\F802"; +} + +.fa-folders:before { + content: "\F660"; +} + +.fa-font:before { + content: "\F031"; +} + +.fa-font-awesome:before { + content: "\F2B4"; +} + +.fa-font-awesome-alt:before { + content: "\F35C"; +} + +.fa-font-awesome-flag:before { + content: "\F425"; +} + +.fa-font-awesome-logo-full:before { + content: "\F4E6"; +} + +.fa-fonticons:before { + content: "\F280"; +} + +.fa-fonticons-fi:before { + content: "\F3A2"; +} + +.fa-football-ball:before { + content: "\F44E"; +} + +.fa-football-helmet:before { + content: "\F44F"; +} + +.fa-forklift:before { + content: "\F47A"; +} + +.fa-fort-awesome:before { + content: "\F286"; +} + +.fa-fort-awesome-alt:before { + content: "\F3A3"; +} + +.fa-forumbee:before { + content: "\F211"; +} + +.fa-forward:before { + content: "\F04E"; +} + +.fa-foursquare:before { + content: "\F180"; +} + +.fa-fragile:before { + content: "\F4BB"; +} + +.fa-free-code-camp:before { + content: "\F2C5"; +} + +.fa-freebsd:before { + content: "\F3A4"; +} + +.fa-french-fries:before { + content: "\F803"; +} + +.fa-frog:before { + content: "\F52E"; +} + +.fa-frosty-head:before { + content: "\F79B"; +} + +.fa-frown:before { + content: "\F119"; +} + +.fa-frown-open:before { + content: "\F57A"; +} + +.fa-fulcrum:before { + content: "\F50B"; +} + +.fa-function:before { + content: "\F661"; +} + +.fa-funnel-dollar:before { + content: "\F662"; +} + +.fa-futbol:before { + content: "\F1E3"; +} + +.fa-galactic-republic:before { + content: "\F50C"; +} + +.fa-galactic-senate:before { + content: "\F50D"; +} + +.fa-gamepad:before { + content: "\F11B"; +} + +.fa-gas-pump:before { + content: "\F52F"; +} + +.fa-gas-pump-slash:before { + content: "\F5F4"; +} + +.fa-gavel:before { + content: "\F0E3"; +} + +.fa-gem:before { + content: "\F3A5"; +} + +.fa-genderless:before { + content: "\F22D"; +} + +.fa-get-pocket:before { + content: "\F265"; +} + +.fa-gg:before { + content: "\F260"; +} + +.fa-gg-circle:before { + content: "\F261"; +} + +.fa-ghost:before { + content: "\F6E2"; +} + +.fa-gift:before { + content: "\F06B"; +} + +.fa-gift-card:before { + content: "\F663"; +} + +.fa-gifts:before { + content: "\F79C"; +} + +.fa-gingerbread-man:before { + content: "\F79D"; +} + +.fa-git:before { + content: "\F1D3"; +} + +.fa-git-square:before { + content: "\F1D2"; +} + +.fa-github:before { + content: "\F09B"; +} + +.fa-github-alt:before { + content: "\F113"; +} + +.fa-github-square:before { + content: "\F092"; +} + +.fa-gitkraken:before { + content: "\F3A6"; +} + +.fa-gitlab:before { + content: "\F296"; +} + +.fa-gitter:before { + content: "\F426"; +} + +.fa-glass:before { + content: "\F804"; +} + +.fa-glass-champagne:before { + content: "\F79E"; +} + +.fa-glass-cheers:before { + content: "\F79F"; +} + +.fa-glass-martini:before { + content: "\F000"; +} + +.fa-glass-martini-alt:before { + content: "\F57B"; +} + +.fa-glass-whiskey:before { + content: "\F7A0"; +} + +.fa-glass-whiskey-rocks:before { + content: "\F7A1"; +} + +.fa-glasses:before { + content: "\F530"; +} + +.fa-glasses-alt:before { + content: "\F5F5"; +} + +.fa-glide:before { + content: "\F2A5"; +} + +.fa-glide-g:before { + content: "\F2A6"; +} + +.fa-globe:before { + content: "\F0AC"; +} + +.fa-globe-africa:before { + content: "\F57C"; +} + +.fa-globe-americas:before { + content: "\F57D"; +} + +.fa-globe-asia:before { + content: "\F57E"; +} + +.fa-globe-europe:before { + content: "\F7A2"; +} + +.fa-globe-snow:before { + content: "\F7A3"; +} + +.fa-globe-stand:before { + content: "\F5F6"; +} + +.fa-gofore:before { + content: "\F3A7"; +} + +.fa-golf-ball:before { + content: "\F450"; +} + +.fa-golf-club:before { + content: "\F451"; +} + +.fa-goodreads:before { + content: "\F3A8"; +} + +.fa-goodreads-g:before { + content: "\F3A9"; +} + +.fa-google:before { + content: "\F1A0"; +} + +.fa-google-drive:before { + content: "\F3AA"; +} + +.fa-google-play:before { + content: "\F3AB"; +} + +.fa-google-plus:before { + content: "\F2B3"; +} + +.fa-google-plus-g:before { + content: "\F0D5"; +} + +.fa-google-plus-square:before { + content: "\F0D4"; +} + +.fa-google-wallet:before { + content: "\F1EE"; +} + +.fa-gopuram:before { + content: "\F664"; +} + +.fa-graduation-cap:before { + content: "\F19D"; +} + +.fa-gratipay:before { + content: "\F184"; +} + +.fa-grav:before { + content: "\F2D6"; +} + +.fa-greater-than:before { + content: "\F531"; +} + +.fa-greater-than-equal:before { + content: "\F532"; +} + +.fa-grimace:before { + content: "\F57F"; +} + +.fa-grin:before { + content: "\F580"; +} + +.fa-grin-alt:before { + content: "\F581"; +} + +.fa-grin-beam:before { + content: "\F582"; +} + +.fa-grin-beam-sweat:before { + content: "\F583"; +} + +.fa-grin-hearts:before { + content: "\F584"; +} + +.fa-grin-squint:before { + content: "\F585"; +} + +.fa-grin-squint-tears:before { + content: "\F586"; +} + +.fa-grin-stars:before { + content: "\F587"; +} + +.fa-grin-tears:before { + content: "\F588"; +} + +.fa-grin-tongue:before { + content: "\F589"; +} + +.fa-grin-tongue-squint:before { + content: "\F58A"; +} + +.fa-grin-tongue-wink:before { + content: "\F58B"; +} + +.fa-grin-wink:before { + content: "\F58C"; +} + +.fa-grip-horizontal:before { + content: "\F58D"; +} + +.fa-grip-lines:before { + content: "\F7A4"; +} + +.fa-grip-lines-vertical:before { + content: "\F7A5"; +} + +.fa-grip-vertical:before { + content: "\F58E"; +} + +.fa-gripfire:before { + content: "\F3AC"; +} + +.fa-grunt:before { + content: "\F3AD"; +} + +.fa-guitar:before { + content: "\F7A6"; +} + +.fa-gulp:before { + content: "\F3AE"; +} + +.fa-h-square:before { + content: "\F0FD"; +} + +.fa-h1:before { + content: "\F313"; +} + +.fa-h2:before { + content: "\F314"; +} + +.fa-h3:before { + content: "\F315"; +} + +.fa-hacker-news:before { + content: "\F1D4"; +} + +.fa-hacker-news-square:before { + content: "\F3AF"; +} + +.fa-hackerrank:before { + content: "\F5F7"; +} + +.fa-hamburger:before { + content: "\F805"; +} + +.fa-hammer:before { + content: "\F6E3"; +} + +.fa-hammer-war:before { + content: "\F6E4"; +} + +.fa-hamsa:before { + content: "\F665"; +} + +.fa-hand-heart:before { + content: "\F4BC"; +} + +.fa-hand-holding:before { + content: "\F4BD"; +} + +.fa-hand-holding-box:before { + content: "\F47B"; +} + +.fa-hand-holding-heart:before { + content: "\F4BE"; +} + +.fa-hand-holding-magic:before { + content: "\F6E5"; +} + +.fa-hand-holding-seedling:before { + content: "\F4BF"; +} + +.fa-hand-holding-usd:before { + content: "\F4C0"; +} + +.fa-hand-holding-water:before { + content: "\F4C1"; +} + +.fa-hand-lizard:before { + content: "\F258"; +} + +.fa-hand-middle-finger:before { + content: "\F806"; +} + +.fa-hand-paper:before { + content: "\F256"; +} + +.fa-hand-peace:before { + content: "\F25B"; +} + +.fa-hand-point-down:before { + content: "\F0A7"; +} + +.fa-hand-point-left:before { + content: "\F0A5"; +} + +.fa-hand-point-right:before { + content: "\F0A4"; +} + +.fa-hand-point-up:before { + content: "\F0A6"; +} + +.fa-hand-pointer:before { + content: "\F25A"; +} + +.fa-hand-receiving:before { + content: "\F47C"; +} + +.fa-hand-rock:before { + content: "\F255"; +} + +.fa-hand-scissors:before { + content: "\F257"; +} + +.fa-hand-spock:before { + content: "\F259"; +} + +.fa-hands:before { + content: "\F4C2"; +} + +.fa-hands-heart:before { + content: "\F4C3"; +} + +.fa-hands-helping:before { + content: "\F4C4"; +} + +.fa-hands-usd:before { + content: "\F4C5"; +} + +.fa-handshake:before { + content: "\F2B5"; +} + +.fa-handshake-alt:before { + content: "\F4C6"; +} + +.fa-hanukiah:before { + content: "\F6E6"; +} + +.fa-hard-hat:before { + content: "\F807"; +} + +.fa-hashtag:before { + content: "\F292"; +} + +.fa-hat-santa:before { + content: "\F7A7"; +} + +.fa-hat-winter:before { + content: "\F7A8"; +} + +.fa-hat-witch:before { + content: "\F6E7"; +} + +.fa-hat-wizard:before { + content: "\F6E8"; +} + +.fa-haykal:before { + content: "\F666"; +} + +.fa-hdd:before { + content: "\F0A0"; +} + +.fa-head-side:before { + content: "\F6E9"; +} + +.fa-head-side-brain:before { + content: "\F808"; +} + +.fa-head-side-medical:before { + content: "\F809"; +} + +.fa-head-vr:before { + content: "\F6EA"; +} + +.fa-heading:before { + content: "\F1DC"; +} + +.fa-headphones:before { + content: "\F025"; +} + +.fa-headphones-alt:before { + content: "\F58F"; +} + +.fa-headset:before { + content: "\F590"; +} + +.fa-heart:before { + content: "\F004"; +} + +.fa-heart-broken:before { + content: "\F7A9"; +} + +.fa-heart-circle:before { + content: "\F4C7"; +} + +.fa-heart-rate:before { + content: "\F5F8"; +} + +.fa-heart-square:before { + content: "\F4C8"; +} + +.fa-heartbeat:before { + content: "\F21E"; +} + +.fa-helicopter:before { + content: "\F533"; +} + +.fa-helmet-battle:before { + content: "\F6EB"; +} + +.fa-hexagon:before { + content: "\F312"; +} + +.fa-highlighter:before { + content: "\F591"; +} + +.fa-hiking:before { + content: "\F6EC"; +} + +.fa-hippo:before { + content: "\F6ED"; +} + +.fa-hips:before { + content: "\F452"; +} + +.fa-hire-a-helper:before { + content: "\F3B0"; +} + +.fa-history:before { + content: "\F1DA"; +} + +.fa-hockey-mask:before { + content: "\F6EE"; +} + +.fa-hockey-puck:before { + content: "\F453"; +} + +.fa-hockey-sticks:before { + content: "\F454"; +} + +.fa-holly-berry:before { + content: "\F7AA"; +} + +.fa-home:before { + content: "\F015"; +} + +.fa-home-alt:before { + content: "\F80A"; +} + +.fa-home-heart:before { + content: "\F4C9"; +} + +.fa-home-lg:before { + content: "\F80B"; +} + +.fa-home-lg-alt:before { + content: "\F80C"; +} + +.fa-hood-cloak:before { + content: "\F6EF"; +} + +.fa-hooli:before { + content: "\F427"; +} + +.fa-hornbill:before { + content: "\F592"; +} + +.fa-horse:before { + content: "\F6F0"; +} + +.fa-horse-head:before { + content: "\F7AB"; +} + +.fa-hospital:before { + content: "\F0F8"; +} + +.fa-hospital-alt:before { + content: "\F47D"; +} + +.fa-hospital-symbol:before { + content: "\F47E"; +} + +.fa-hospital-user:before { + content: "\F80D"; +} + +.fa-hospitals:before { + content: "\F80E"; +} + +.fa-hot-tub:before { + content: "\F593"; +} + +.fa-hotdog:before { + content: "\F80F"; +} + +.fa-hotel:before { + content: "\F594"; +} + +.fa-hotjar:before { + content: "\F3B1"; +} + +.fa-hourglass:before { + content: "\F254"; +} + +.fa-hourglass-end:before { + content: "\F253"; +} + +.fa-hourglass-half:before { + content: "\F252"; +} + +.fa-hourglass-start:before { + content: "\F251"; +} + +.fa-house-damage:before { + content: "\F6F1"; +} + +.fa-house-flood:before { + content: "\F74F"; +} + +.fa-houzz:before { + content: "\F27C"; +} + +.fa-hryvnia:before { + content: "\F6F2"; +} + +.fa-html5:before { + content: "\F13B"; +} + +.fa-hubspot:before { + content: "\F3B2"; +} + +.fa-humidity:before { + content: "\F750"; +} + +.fa-hurricane:before { + content: "\F751"; +} + +.fa-i-cursor:before { + content: "\F246"; +} + +.fa-ice-cream:before { + content: "\F810"; +} + +.fa-ice-skate:before { + content: "\F7AC"; +} + +.fa-icicles:before { + content: "\F7AD"; +} + +.fa-id-badge:before { + content: "\F2C1"; +} + +.fa-id-card:before { + content: "\F2C2"; +} + +.fa-id-card-alt:before { + content: "\F47F"; +} + +.fa-igloo:before { + content: "\F7AE"; +} + +.fa-image:before { + content: "\F03E"; +} + +.fa-images:before { + content: "\F302"; +} + +.fa-imdb:before { + content: "\F2D8"; +} + +.fa-inbox:before { + content: "\F01C"; +} + +.fa-inbox-in:before { + content: "\F310"; +} + +.fa-inbox-out:before { + content: "\F311"; +} + +.fa-indent:before { + content: "\F03C"; +} + +.fa-industry:before { + content: "\F275"; +} + +.fa-industry-alt:before { + content: "\F3B3"; +} + +.fa-infinity:before { + content: "\F534"; +} + +.fa-info:before { + content: "\F129"; +} + +.fa-info-circle:before { + content: "\F05A"; +} + +.fa-info-square:before { + content: "\F30F"; +} + +.fa-inhaler:before { + content: "\F5F9"; +} + +.fa-instagram:before { + content: "\F16D"; +} + +.fa-integral:before { + content: "\F667"; +} + +.fa-intercom:before { + content: "\F7AF"; +} + +.fa-internet-explorer:before { + content: "\F26B"; +} + +.fa-intersection:before { + content: "\F668"; +} + +.fa-inventory:before { + content: "\F480"; +} + +.fa-invision:before { + content: "\F7B0"; +} + +.fa-ioxhost:before { + content: "\F208"; +} + +.fa-island-tropical:before { + content: "\F811"; +} + +.fa-italic:before { + content: "\F033"; +} + +.fa-itch-io:before { + content: "\F83A"; +} + +.fa-itunes:before { + content: "\F3B4"; +} + +.fa-itunes-note:before { + content: "\F3B5"; +} + +.fa-jack-o-lantern:before { + content: "\F30E"; +} + +.fa-java:before { + content: "\F4E4"; +} + +.fa-jedi:before { + content: "\F669"; +} + +.fa-jedi-order:before { + content: "\F50E"; +} + +.fa-jenkins:before { + content: "\F3B6"; +} + +.fa-jira:before { + content: "\F7B1"; +} + +.fa-joget:before { + content: "\F3B7"; +} + +.fa-joint:before { + content: "\F595"; +} + +.fa-joomla:before { + content: "\F1AA"; +} + +.fa-journal-whills:before { + content: "\F66A"; +} + +.fa-js:before { + content: "\F3B8"; +} + +.fa-js-square:before { + content: "\F3B9"; +} + +.fa-jsfiddle:before { + content: "\F1CC"; +} + +.fa-kaaba:before { + content: "\F66B"; +} + +.fa-kaggle:before { + content: "\F5FA"; +} + +.fa-key:before { + content: "\F084"; +} + +.fa-key-skeleton:before { + content: "\F6F3"; +} + +.fa-keybase:before { + content: "\F4F5"; +} + +.fa-keyboard:before { + content: "\F11C"; +} + +.fa-keycdn:before { + content: "\F3BA"; +} + +.fa-keynote:before { + content: "\F66C"; +} + +.fa-khanda:before { + content: "\F66D"; +} + +.fa-kickstarter:before { + content: "\F3BB"; +} + +.fa-kickstarter-k:before { + content: "\F3BC"; +} + +.fa-kidneys:before { + content: "\F5FB"; +} + +.fa-kiss:before { + content: "\F596"; +} + +.fa-kiss-beam:before { + content: "\F597"; +} + +.fa-kiss-wink-heart:before { + content: "\F598"; +} + +.fa-kite:before { + content: "\F6F4"; +} + +.fa-kiwi-bird:before { + content: "\F535"; +} + +.fa-knife-kitchen:before { + content: "\F6F5"; +} + +.fa-korvue:before { + content: "\F42F"; +} + +.fa-lambda:before { + content: "\F66E"; +} + +.fa-lamp:before { + content: "\F4CA"; +} + +.fa-landmark:before { + content: "\F66F"; +} + +.fa-landmark-alt:before { + content: "\F752"; +} + +.fa-language:before { + content: "\F1AB"; +} + +.fa-laptop:before { + content: "\F109"; +} + +.fa-laptop-code:before { + content: "\F5FC"; +} + +.fa-laptop-medical:before { + content: "\F812"; +} + +.fa-laravel:before { + content: "\F3BD"; +} + +.fa-lastfm:before { + content: "\F202"; +} + +.fa-lastfm-square:before { + content: "\F203"; +} + +.fa-laugh:before { + content: "\F599"; +} + +.fa-laugh-beam:before { + content: "\F59A"; +} + +.fa-laugh-squint:before { + content: "\F59B"; +} + +.fa-laugh-wink:before { + content: "\F59C"; +} + +.fa-layer-group:before { + content: "\F5FD"; +} + +.fa-layer-minus:before { + content: "\F5FE"; +} + +.fa-layer-plus:before { + content: "\F5FF"; +} + +.fa-leaf:before { + content: "\F06C"; +} + +.fa-leaf-heart:before { + content: "\F4CB"; +} + +.fa-leaf-maple:before { + content: "\F6F6"; +} + +.fa-leaf-oak:before { + content: "\F6F7"; +} + +.fa-leanpub:before { + content: "\F212"; +} + +.fa-lemon:before { + content: "\F094"; +} + +.fa-less:before { + content: "\F41D"; +} + +.fa-less-than:before { + content: "\F536"; +} + +.fa-less-than-equal:before { + content: "\F537"; +} + +.fa-level-down:before { + content: "\F149"; +} + +.fa-level-down-alt:before { + content: "\F3BE"; +} + +.fa-level-up:before { + content: "\F148"; +} + +.fa-level-up-alt:before { + content: "\F3BF"; +} + +.fa-life-ring:before { + content: "\F1CD"; +} + +.fa-lightbulb:before { + content: "\F0EB"; +} + +.fa-lightbulb-dollar:before { + content: "\F670"; +} + +.fa-lightbulb-exclamation:before { + content: "\F671"; +} + +.fa-lightbulb-on:before { + content: "\F672"; +} + +.fa-lightbulb-slash:before { + content: "\F673"; +} + +.fa-lights-holiday:before { + content: "\F7B2"; +} + +.fa-line:before { + content: "\F3C0"; +} + +.fa-link:before { + content: "\F0C1"; +} + +.fa-linkedin:before { + content: "\F08C"; +} + +.fa-linkedin-in:before { + content: "\F0E1"; +} + +.fa-linode:before { + content: "\F2B8"; +} + +.fa-linux:before { + content: "\F17C"; +} + +.fa-lips:before { + content: "\F600"; +} + +.fa-lira-sign:before { + content: "\F195"; +} + +.fa-list:before { + content: "\F03A"; +} + +.fa-list-alt:before { + content: "\F022"; +} + +.fa-list-ol:before { + content: "\F0CB"; +} + +.fa-list-ul:before { + content: "\F0CA"; +} + +.fa-location:before { + content: "\F601"; +} + +.fa-location-arrow:before { + content: "\F124"; +} + +.fa-location-circle:before { + content: "\F602"; +} + +.fa-location-slash:before { + content: "\F603"; +} + +.fa-lock:before { + content: "\F023"; +} + +.fa-lock-alt:before { + content: "\F30D"; +} + +.fa-lock-open:before { + content: "\F3C1"; +} + +.fa-lock-open-alt:before { + content: "\F3C2"; +} + +.fa-long-arrow-alt-down:before { + content: "\F309"; +} + +.fa-long-arrow-alt-left:before { + content: "\F30A"; +} + +.fa-long-arrow-alt-right:before { + content: "\F30B"; +} + +.fa-long-arrow-alt-up:before { + content: "\F30C"; +} + +.fa-long-arrow-down:before { + content: "\F175"; +} + +.fa-long-arrow-left:before { + content: "\F177"; +} + +.fa-long-arrow-right:before { + content: "\F178"; +} + +.fa-long-arrow-up:before { + content: "\F176"; +} + +.fa-loveseat:before { + content: "\F4CC"; +} + +.fa-low-vision:before { + content: "\F2A8"; +} + +.fa-luchador:before { + content: "\F455"; +} + +.fa-luggage-cart:before { + content: "\F59D"; +} + +.fa-lungs:before { + content: "\F604"; +} + +.fa-lyft:before { + content: "\F3C3"; +} + +.fa-mace:before { + content: "\F6F8"; +} + +.fa-magento:before { + content: "\F3C4"; +} + +.fa-magic:before { + content: "\F0D0"; +} + +.fa-magnet:before { + content: "\F076"; +} + +.fa-mail-bulk:before { + content: "\F674"; +} + +.fa-mailbox:before { + content: "\F813"; +} + +.fa-mailchimp:before { + content: "\F59E"; +} + +.fa-male:before { + content: "\F183"; +} + +.fa-mandalorian:before { + content: "\F50F"; +} + +.fa-mandolin:before { + content: "\F6F9"; +} + +.fa-map:before { + content: "\F279"; +} + +.fa-map-marked:before { + content: "\F59F"; +} + +.fa-map-marked-alt:before { + content: "\F5A0"; +} + +.fa-map-marker:before { + content: "\F041"; +} + +.fa-map-marker-alt:before { + content: "\F3C5"; +} + +.fa-map-marker-alt-slash:before { + content: "\F605"; +} + +.fa-map-marker-check:before { + content: "\F606"; +} + +.fa-map-marker-edit:before { + content: "\F607"; +} + +.fa-map-marker-exclamation:before { + content: "\F608"; +} + +.fa-map-marker-minus:before { + content: "\F609"; +} + +.fa-map-marker-plus:before { + content: "\F60A"; +} + +.fa-map-marker-question:before { + content: "\F60B"; +} + +.fa-map-marker-slash:before { + content: "\F60C"; +} + +.fa-map-marker-smile:before { + content: "\F60D"; +} + +.fa-map-marker-times:before { + content: "\F60E"; +} + +.fa-map-pin:before { + content: "\F276"; +} + +.fa-map-signs:before { + content: "\F277"; +} + +.fa-markdown:before { + content: "\F60F"; +} + +.fa-marker:before { + content: "\F5A1"; +} + +.fa-mars:before { + content: "\F222"; +} + +.fa-mars-double:before { + content: "\F227"; +} + +.fa-mars-stroke:before { + content: "\F229"; +} + +.fa-mars-stroke-h:before { + content: "\F22B"; +} + +.fa-mars-stroke-v:before { + content: "\F22A"; +} + +.fa-mask:before { + content: "\F6FA"; +} + +.fa-mastodon:before { + content: "\F4F6"; +} + +.fa-maxcdn:before { + content: "\F136"; +} + +.fa-meat:before { + content: "\F814"; +} + +.fa-medal:before { + content: "\F5A2"; +} + +.fa-medapps:before { + content: "\F3C6"; +} + +.fa-medium:before { + content: "\F23A"; +} + +.fa-medium-m:before { + content: "\F3C7"; +} + +.fa-medkit:before { + content: "\F0FA"; +} + +.fa-medrt:before { + content: "\F3C8"; +} + +.fa-meetup:before { + content: "\F2E0"; +} + +.fa-megaphone:before { + content: "\F675"; +} + +.fa-megaport:before { + content: "\F5A3"; +} + +.fa-meh:before { + content: "\F11A"; +} + +.fa-meh-blank:before { + content: "\F5A4"; +} + +.fa-meh-rolling-eyes:before { + content: "\F5A5"; +} + +.fa-memory:before { + content: "\F538"; +} + +.fa-mendeley:before { + content: "\F7B3"; +} + +.fa-menorah:before { + content: "\F676"; +} + +.fa-mercury:before { + content: "\F223"; +} + +.fa-meteor:before { + content: "\F753"; +} + +.fa-microchip:before { + content: "\F2DB"; +} + +.fa-microphone:before { + content: "\F130"; +} + +.fa-microphone-alt:before { + content: "\F3C9"; +} + +.fa-microphone-alt-slash:before { + content: "\F539"; +} + +.fa-microphone-slash:before { + content: "\F131"; +} + +.fa-microscope:before { + content: "\F610"; +} + +.fa-microsoft:before { + content: "\F3CA"; +} + +.fa-mind-share:before { + content: "\F677"; +} + +.fa-minus:before { + content: "\F068"; +} + +.fa-minus-circle:before { + content: "\F056"; +} + +.fa-minus-hexagon:before { + content: "\F307"; +} + +.fa-minus-octagon:before { + content: "\F308"; +} + +.fa-minus-square:before { + content: "\F146"; +} + +.fa-mistletoe:before { + content: "\F7B4"; +} + +.fa-mitten:before { + content: "\F7B5"; +} + +.fa-mix:before { + content: "\F3CB"; +} + +.fa-mixcloud:before { + content: "\F289"; +} + +.fa-mizuni:before { + content: "\F3CC"; +} + +.fa-mobile:before { + content: "\F10B"; +} + +.fa-mobile-alt:before { + content: "\F3CD"; +} + +.fa-mobile-android:before { + content: "\F3CE"; +} + +.fa-mobile-android-alt:before { + content: "\F3CF"; +} + +.fa-modx:before { + content: "\F285"; +} + +.fa-monero:before { + content: "\F3D0"; +} + +.fa-money-bill:before { + content: "\F0D6"; +} + +.fa-money-bill-alt:before { + content: "\F3D1"; +} + +.fa-money-bill-wave:before { + content: "\F53A"; +} + +.fa-money-bill-wave-alt:before { + content: "\F53B"; +} + +.fa-money-check:before { + content: "\F53C"; +} + +.fa-money-check-alt:before { + content: "\F53D"; +} + +.fa-monitor-heart-rate:before { + content: "\F611"; +} + +.fa-monkey:before { + content: "\F6FB"; +} + +.fa-monument:before { + content: "\F5A6"; +} + +.fa-moon:before { + content: "\F186"; +} + +.fa-moon-cloud:before { + content: "\F754"; +} + +.fa-moon-stars:before { + content: "\F755"; +} + +.fa-mortar-pestle:before { + content: "\F5A7"; +} + +.fa-mosque:before { + content: "\F678"; +} + +.fa-motorcycle:before { + content: "\F21C"; +} + +.fa-mountain:before { + content: "\F6FC"; +} + +.fa-mountains:before { + content: "\F6FD"; +} + +.fa-mouse-pointer:before { + content: "\F245"; +} + +.fa-mug-hot:before { + content: "\F7B6"; +} + +.fa-mug-marshmallows:before { + content: "\F7B7"; +} + +.fa-music:before { + content: "\F001"; +} + +.fa-napster:before { + content: "\F3D2"; +} + +.fa-narwhal:before { + content: "\F6FE"; +} + +.fa-neos:before { + content: "\F612"; +} + +.fa-network-wired:before { + content: "\F6FF"; +} + +.fa-neuter:before { + content: "\F22C"; +} + +.fa-newspaper:before { + content: "\F1EA"; +} + +.fa-nimblr:before { + content: "\F5A8"; +} + +.fa-nintendo-switch:before { + content: "\F418"; +} + +.fa-node:before { + content: "\F419"; +} + +.fa-node-js:before { + content: "\F3D3"; +} + +.fa-not-equal:before { + content: "\F53E"; +} + +.fa-notes-medical:before { + content: "\F481"; +} + +.fa-npm:before { + content: "\F3D4"; +} + +.fa-ns8:before { + content: "\F3D5"; +} + +.fa-nutritionix:before { + content: "\F3D6"; +} + +.fa-object-group:before { + content: "\F247"; +} + +.fa-object-ungroup:before { + content: "\F248"; +} + +.fa-octagon:before { + content: "\F306"; +} + +.fa-odnoklassniki:before { + content: "\F263"; +} + +.fa-odnoklassniki-square:before { + content: "\F264"; +} + +.fa-oil-can:before { + content: "\F613"; +} + +.fa-oil-temp:before { + content: "\F614"; +} + +.fa-old-republic:before { + content: "\F510"; +} + +.fa-om:before { + content: "\F679"; +} + +.fa-omega:before { + content: "\F67A"; +} + +.fa-opencart:before { + content: "\F23D"; +} + +.fa-openid:before { + content: "\F19B"; +} + +.fa-opera:before { + content: "\F26A"; +} + +.fa-optin-monster:before { + content: "\F23C"; +} + +.fa-ornament:before { + content: "\F7B8"; +} + +.fa-osi:before { + content: "\F41A"; +} + +.fa-otter:before { + content: "\F700"; +} + +.fa-outdent:before { + content: "\F03B"; +} + +.fa-page4:before { + content: "\F3D7"; +} + +.fa-pagelines:before { + content: "\F18C"; +} + +.fa-pager:before { + content: "\F815"; +} + +.fa-paint-brush:before { + content: "\F1FC"; +} + +.fa-paint-brush-alt:before { + content: "\F5A9"; +} + +.fa-paint-roller:before { + content: "\F5AA"; +} + +.fa-palette:before { + content: "\F53F"; +} + +.fa-palfed:before { + content: "\F3D8"; +} + +.fa-pallet:before { + content: "\F482"; +} + +.fa-pallet-alt:before { + content: "\F483"; +} + +.fa-paper-plane:before { + content: "\F1D8"; +} + +.fa-paperclip:before { + content: "\F0C6"; +} + +.fa-parachute-box:before { + content: "\F4CD"; +} + +.fa-paragraph:before { + content: "\F1DD"; +} + +.fa-parking:before { + content: "\F540"; +} + +.fa-parking-circle:before { + content: "\F615"; +} + +.fa-parking-circle-slash:before { + content: "\F616"; +} + +.fa-parking-slash:before { + content: "\F617"; +} + +.fa-passport:before { + content: "\F5AB"; +} + +.fa-pastafarianism:before { + content: "\F67B"; +} + +.fa-paste:before { + content: "\F0EA"; +} + +.fa-patreon:before { + content: "\F3D9"; +} + +.fa-pause:before { + content: "\F04C"; +} + +.fa-pause-circle:before { + content: "\F28B"; +} + +.fa-paw:before { + content: "\F1B0"; +} + +.fa-paw-alt:before { + content: "\F701"; +} + +.fa-paw-claws:before { + content: "\F702"; +} + +.fa-paypal:before { + content: "\F1ED"; +} + +.fa-peace:before { + content: "\F67C"; +} + +.fa-pegasus:before { + content: "\F703"; +} + +.fa-pen:before { + content: "\F304"; +} + +.fa-pen-alt:before { + content: "\F305"; +} + +.fa-pen-fancy:before { + content: "\F5AC"; +} + +.fa-pen-nib:before { + content: "\F5AD"; +} + +.fa-pen-square:before { + content: "\F14B"; +} + +.fa-pencil:before { + content: "\F040"; +} + +.fa-pencil-alt:before { + content: "\F303"; +} + +.fa-pencil-paintbrush:before { + content: "\F618"; +} + +.fa-pencil-ruler:before { + content: "\F5AE"; +} + +.fa-pennant:before { + content: "\F456"; +} + +.fa-penny-arcade:before { + content: "\F704"; +} + +.fa-people-carry:before { + content: "\F4CE"; +} + +.fa-pepper-hot:before { + content: "\F816"; +} + +.fa-percent:before { + content: "\F295"; +} + +.fa-percentage:before { + content: "\F541"; +} + +.fa-periscope:before { + content: "\F3DA"; +} + +.fa-person-booth:before { + content: "\F756"; +} + +.fa-person-carry:before { + content: "\F4CF"; +} + +.fa-person-dolly:before { + content: "\F4D0"; +} + +.fa-person-dolly-empty:before { + content: "\F4D1"; +} + +.fa-person-sign:before { + content: "\F757"; +} + +.fa-phabricator:before { + content: "\F3DB"; +} + +.fa-phoenix-framework:before { + content: "\F3DC"; +} + +.fa-phoenix-squadron:before { + content: "\F511"; +} + +.fa-phone:before { + content: "\F095"; +} + +.fa-phone-office:before { + content: "\F67D"; +} + +.fa-phone-plus:before { + content: "\F4D2"; +} + +.fa-phone-slash:before { + content: "\F3DD"; +} + +.fa-phone-square:before { + content: "\F098"; +} + +.fa-phone-volume:before { + content: "\F2A0"; +} + +.fa-php:before { + content: "\F457"; +} + +.fa-pi:before { + content: "\F67E"; +} + +.fa-pie:before { + content: "\F705"; +} + +.fa-pied-piper:before { + content: "\F2AE"; +} + +.fa-pied-piper-alt:before { + content: "\F1A8"; +} + +.fa-pied-piper-hat:before { + content: "\F4E5"; +} + +.fa-pied-piper-pp:before { + content: "\F1A7"; +} + +.fa-pig:before { + content: "\F706"; +} + +.fa-piggy-bank:before { + content: "\F4D3"; +} + +.fa-pills:before { + content: "\F484"; +} + +.fa-pinterest:before { + content: "\F0D2"; +} + +.fa-pinterest-p:before { + content: "\F231"; +} + +.fa-pinterest-square:before { + content: "\F0D3"; +} + +.fa-pizza:before { + content: "\F817"; +} + +.fa-pizza-slice:before { + content: "\F818"; +} + +.fa-place-of-worship:before { + content: "\F67F"; +} + +.fa-plane:before { + content: "\F072"; +} + +.fa-plane-alt:before { + content: "\F3DE"; +} + +.fa-plane-arrival:before { + content: "\F5AF"; +} + +.fa-plane-departure:before { + content: "\F5B0"; +} + +.fa-play:before { + content: "\F04B"; +} + +.fa-play-circle:before { + content: "\F144"; +} + +.fa-playstation:before { + content: "\F3DF"; +} + +.fa-plug:before { + content: "\F1E6"; +} + +.fa-plus:before { + content: "\F067"; +} + +.fa-plus-circle:before { + content: "\F055"; +} + +.fa-plus-hexagon:before { + content: "\F300"; +} + +.fa-plus-octagon:before { + content: "\F301"; +} + +.fa-plus-square:before { + content: "\F0FE"; +} + +.fa-podcast:before { + content: "\F2CE"; +} + +.fa-podium:before { + content: "\F680"; +} + +.fa-podium-star:before { + content: "\F758"; +} + +.fa-poll:before { + content: "\F681"; +} + +.fa-poll-h:before { + content: "\F682"; +} + +.fa-poll-people:before { + content: "\F759"; +} + +.fa-poo:before { + content: "\F2FE"; +} + +.fa-poo-storm:before { + content: "\F75A"; +} + +.fa-poop:before { + content: "\F619"; +} + +.fa-popcorn:before { + content: "\F819"; +} + +.fa-portrait:before { + content: "\F3E0"; +} + +.fa-pound-sign:before { + content: "\F154"; +} + +.fa-power-off:before { + content: "\F011"; +} + +.fa-pray:before { + content: "\F683"; +} + +.fa-praying-hands:before { + content: "\F684"; +} + +.fa-prescription:before { + content: "\F5B1"; +} + +.fa-prescription-bottle:before { + content: "\F485"; +} + +.fa-prescription-bottle-alt:before { + content: "\F486"; +} + +.fa-presentation:before { + content: "\F685"; +} + +.fa-print:before { + content: "\F02F"; +} + +.fa-print-search:before { + content: "\F81A"; +} + +.fa-print-slash:before { + content: "\F686"; +} + +.fa-procedures:before { + content: "\F487"; +} + +.fa-product-hunt:before { + content: "\F288"; +} + +.fa-project-diagram:before { + content: "\F542"; +} + +.fa-pumpkin:before { + content: "\F707"; +} + +.fa-pushed:before { + content: "\F3E1"; +} + +.fa-puzzle-piece:before { + content: "\F12E"; +} + +.fa-python:before { + content: "\F3E2"; +} + +.fa-qq:before { + content: "\F1D6"; +} + +.fa-qrcode:before { + content: "\F029"; +} + +.fa-question:before { + content: "\F128"; +} + +.fa-question-circle:before { + content: "\F059"; +} + +.fa-question-square:before { + content: "\F2FD"; +} + +.fa-quidditch:before { + content: "\F458"; +} + +.fa-quinscape:before { + content: "\F459"; +} + +.fa-quora:before { + content: "\F2C4"; +} + +.fa-quote-left:before { + content: "\F10D"; +} + +.fa-quote-right:before { + content: "\F10E"; +} + +.fa-quran:before { + content: "\F687"; +} + +.fa-r-project:before { + content: "\F4F7"; +} + +.fa-rabbit:before { + content: "\F708"; +} + +.fa-rabbit-fast:before { + content: "\F709"; +} + +.fa-racquet:before { + content: "\F45A"; +} + +.fa-radiation:before { + content: "\F7B9"; +} + +.fa-radiation-alt:before { + content: "\F7BA"; +} + +.fa-rainbow:before { + content: "\F75B"; +} + +.fa-raindrops:before { + content: "\F75C"; +} + +.fa-ram:before { + content: "\F70A"; +} + +.fa-ramp-loading:before { + content: "\F4D4"; +} + +.fa-random:before { + content: "\F074"; +} + +.fa-raspberry-pi:before { + content: "\F7BB"; +} + +.fa-ravelry:before { + content: "\F2D9"; +} + +.fa-react:before { + content: "\F41B"; +} + +.fa-reacteurope:before { + content: "\F75D"; +} + +.fa-readme:before { + content: "\F4D5"; +} + +.fa-rebel:before { + content: "\F1D0"; +} + +.fa-receipt:before { + content: "\F543"; +} + +.fa-rectangle-landscape:before { + content: "\F2FA"; +} + +.fa-rectangle-portrait:before { + content: "\F2FB"; +} + +.fa-rectangle-wide:before { + content: "\F2FC"; +} + +.fa-recycle:before { + content: "\F1B8"; +} + +.fa-red-river:before { + content: "\F3E3"; +} + +.fa-reddit:before { + content: "\F1A1"; +} + +.fa-reddit-alien:before { + content: "\F281"; +} + +.fa-reddit-square:before { + content: "\F1A2"; +} + +.fa-redhat:before { + content: "\F7BC"; +} + +.fa-redo:before { + content: "\F01E"; +} + +.fa-redo-alt:before { + content: "\F2F9"; +} + +.fa-registered:before { + content: "\F25D"; +} + +.fa-renren:before { + content: "\F18B"; +} + +.fa-repeat:before { + content: "\F363"; +} + +.fa-repeat-1:before { + content: "\F365"; +} + +.fa-repeat-1-alt:before { + content: "\F366"; +} + +.fa-repeat-alt:before { + content: "\F364"; +} + +.fa-reply:before { + content: "\F3E5"; +} + +.fa-reply-all:before { + content: "\F122"; +} + +.fa-replyd:before { + content: "\F3E6"; +} + +.fa-republican:before { + content: "\F75E"; +} + +.fa-researchgate:before { + content: "\F4F8"; +} + +.fa-resolving:before { + content: "\F3E7"; +} + +.fa-restroom:before { + content: "\F7BD"; +} + +.fa-retweet:before { + content: "\F079"; +} + +.fa-retweet-alt:before { + content: "\F361"; +} + +.fa-rev:before { + content: "\F5B2"; +} + +.fa-ribbon:before { + content: "\F4D6"; +} + +.fa-ring:before { + content: "\F70B"; +} + +.fa-rings-wedding:before { + content: "\F81B"; +} + +.fa-road:before { + content: "\F018"; +} + +.fa-robot:before { + content: "\F544"; +} + +.fa-rocket:before { + content: "\F135"; +} + +.fa-rocketchat:before { + content: "\F3E8"; +} + +.fa-rockrms:before { + content: "\F3E9"; +} + +.fa-route:before { + content: "\F4D7"; +} + +.fa-route-highway:before { + content: "\F61A"; +} + +.fa-route-interstate:before { + content: "\F61B"; +} + +.fa-rss:before { + content: "\F09E"; +} + +.fa-rss-square:before { + content: "\F143"; +} + +.fa-ruble-sign:before { + content: "\F158"; +} + +.fa-ruler:before { + content: "\F545"; +} + +.fa-ruler-combined:before { + content: "\F546"; +} + +.fa-ruler-horizontal:before { + content: "\F547"; +} + +.fa-ruler-triangle:before { + content: "\F61C"; +} + +.fa-ruler-vertical:before { + content: "\F548"; +} + +.fa-running:before { + content: "\F70C"; +} + +.fa-rupee-sign:before { + content: "\F156"; +} + +.fa-rv:before { + content: "\F7BE"; +} + +.fa-sack:before { + content: "\F81C"; +} + +.fa-sack-dollar:before { + content: "\F81D"; +} + +.fa-sad-cry:before { + content: "\F5B3"; +} + +.fa-sad-tear:before { + content: "\F5B4"; +} + +.fa-safari:before { + content: "\F267"; +} + +.fa-salad:before { + content: "\F81E"; +} + +.fa-salesforce:before { + content: "\F83B"; +} + +.fa-sandwich:before { + content: "\F81F"; +} + +.fa-sass:before { + content: "\F41E"; +} + +.fa-satellite:before { + content: "\F7BF"; +} + +.fa-satellite-dish:before { + content: "\F7C0"; +} + +.fa-sausage:before { + content: "\F820"; +} + +.fa-save:before { + content: "\F0C7"; +} + +.fa-scalpel:before { + content: "\F61D"; +} + +.fa-scalpel-path:before { + content: "\F61E"; +} + +.fa-scanner:before { + content: "\F488"; +} + +.fa-scanner-keyboard:before { + content: "\F489"; +} + +.fa-scanner-touchscreen:before { + content: "\F48A"; +} + +.fa-scarecrow:before { + content: "\F70D"; +} + +.fa-scarf:before { + content: "\F7C1"; +} + +.fa-schlix:before { + content: "\F3EA"; +} + +.fa-school:before { + content: "\F549"; +} + +.fa-screwdriver:before { + content: "\F54A"; +} + +.fa-scribd:before { + content: "\F28A"; +} + +.fa-scroll:before { + content: "\F70E"; +} + +.fa-scroll-old:before { + content: "\F70F"; +} + +.fa-scrubber:before { + content: "\F2F8"; +} + +.fa-scythe:before { + content: "\F710"; +} + +.fa-sd-card:before { + content: "\F7C2"; +} + +.fa-search:before { + content: "\F002"; +} + +.fa-search-dollar:before { + content: "\F688"; +} + +.fa-search-location:before { + content: "\F689"; +} + +.fa-search-minus:before { + content: "\F010"; +} + +.fa-search-plus:before { + content: "\F00E"; +} + +.fa-searchengin:before { + content: "\F3EB"; +} + +.fa-seedling:before { + content: "\F4D8"; +} + +.fa-sellcast:before { + content: "\F2DA"; +} + +.fa-sellsy:before { + content: "\F213"; +} + +.fa-server:before { + content: "\F233"; +} + +.fa-servicestack:before { + content: "\F3EC"; +} + +.fa-shapes:before { + content: "\F61F"; +} + +.fa-share:before { + content: "\F064"; +} + +.fa-share-all:before { + content: "\F367"; +} + +.fa-share-alt:before { + content: "\F1E0"; +} + +.fa-share-alt-square:before { + content: "\F1E1"; +} + +.fa-share-square:before { + content: "\F14D"; +} + +.fa-sheep:before { + content: "\F711"; +} + +.fa-shekel-sign:before { + content: "\F20B"; +} + +.fa-shield:before { + content: "\F132"; +} + +.fa-shield-alt:before { + content: "\F3ED"; +} + +.fa-shield-check:before { + content: "\F2F7"; +} + +.fa-shield-cross:before { + content: "\F712"; +} + +.fa-ship:before { + content: "\F21A"; +} + +.fa-shipping-fast:before { + content: "\F48B"; +} + +.fa-shipping-timed:before { + content: "\F48C"; +} + +.fa-shirtsinbulk:before { + content: "\F214"; +} + +.fa-shish-kebab:before { + content: "\F821"; +} + +.fa-shoe-prints:before { + content: "\F54B"; +} + +.fa-shopping-bag:before { + content: "\F290"; +} + +.fa-shopping-basket:before { + content: "\F291"; +} + +.fa-shopping-cart:before { + content: "\F07A"; +} + +.fa-shopware:before { + content: "\F5B5"; +} + +.fa-shovel:before { + content: "\F713"; +} + +.fa-shovel-snow:before { + content: "\F7C3"; +} + +.fa-shower:before { + content: "\F2CC"; +} + +.fa-shredder:before { + content: "\F68A"; +} + +.fa-shuttle-van:before { + content: "\F5B6"; +} + +.fa-shuttlecock:before { + content: "\F45B"; +} + +.fa-sickle:before { + content: "\F822"; +} + +.fa-sigma:before { + content: "\F68B"; +} + +.fa-sign:before { + content: "\F4D9"; +} + +.fa-sign-in:before { + content: "\F090"; +} + +.fa-sign-in-alt:before { + content: "\F2F6"; +} + +.fa-sign-language:before { + content: "\F2A7"; +} + +.fa-sign-out:before { + content: "\F08B"; +} + +.fa-sign-out-alt:before { + content: "\F2F5"; +} + +.fa-signal:before { + content: "\F012"; +} + +.fa-signal-1:before { + content: "\F68C"; +} + +.fa-signal-2:before { + content: "\F68D"; +} + +.fa-signal-3:before { + content: "\F68E"; +} + +.fa-signal-4:before { + content: "\F68F"; +} + +.fa-signal-alt:before { + content: "\F690"; +} + +.fa-signal-alt-1:before { + content: "\F691"; +} + +.fa-signal-alt-2:before { + content: "\F692"; +} + +.fa-signal-alt-3:before { + content: "\F693"; +} + +.fa-signal-alt-slash:before { + content: "\F694"; +} + +.fa-signal-slash:before { + content: "\F695"; +} + +.fa-signature:before { + content: "\F5B7"; +} + +.fa-sim-card:before { + content: "\F7C4"; +} + +.fa-simplybuilt:before { + content: "\F215"; +} + +.fa-sistrix:before { + content: "\F3EE"; +} + +.fa-sitemap:before { + content: "\F0E8"; +} + +.fa-sith:before { + content: "\F512"; +} + +.fa-skating:before { + content: "\F7C5"; +} + +.fa-skeleton:before { + content: "\F620"; +} + +.fa-sketch:before { + content: "\F7C6"; +} + +.fa-ski-jump:before { + content: "\F7C7"; +} + +.fa-ski-lift:before { + content: "\F7C8"; +} + +.fa-skiing:before { + content: "\F7C9"; +} + +.fa-skiing-nordic:before { + content: "\F7CA"; +} + +.fa-skull:before { + content: "\F54C"; +} + +.fa-skull-crossbones:before { + content: "\F714"; +} + +.fa-skyatlas:before { + content: "\F216"; +} + +.fa-skype:before { + content: "\F17E"; +} + +.fa-slack:before { + content: "\F198"; +} + +.fa-slack-hash:before { + content: "\F3EF"; +} + +.fa-slash:before { + content: "\F715"; +} + +.fa-sledding:before { + content: "\F7CB"; +} + +.fa-sleigh:before { + content: "\F7CC"; +} + +.fa-sliders-h:before { + content: "\F1DE"; +} + +.fa-sliders-h-square:before { + content: "\F3F0"; +} + +.fa-sliders-v:before { + content: "\F3F1"; +} + +.fa-sliders-v-square:before { + content: "\F3F2"; +} + +.fa-slideshare:before { + content: "\F1E7"; +} + +.fa-smile:before { + content: "\F118"; +} + +.fa-smile-beam:before { + content: "\F5B8"; +} + +.fa-smile-plus:before { + content: "\F5B9"; +} + +.fa-smile-wink:before { + content: "\F4DA"; +} + +.fa-smog:before { + content: "\F75F"; +} + +.fa-smoke:before { + content: "\F760"; +} + +.fa-smoking:before { + content: "\F48D"; +} + +.fa-smoking-ban:before { + content: "\F54D"; +} + +.fa-sms:before { + content: "\F7CD"; +} + +.fa-snake:before { + content: "\F716"; +} + +.fa-snapchat:before { + content: "\F2AB"; +} + +.fa-snapchat-ghost:before { + content: "\F2AC"; +} + +.fa-snapchat-square:before { + content: "\F2AD"; +} + +.fa-snow-blowing:before { + content: "\F761"; +} + +.fa-snowboarding:before { + content: "\F7CE"; +} + +.fa-snowflake:before { + content: "\F2DC"; +} + +.fa-snowflakes:before { + content: "\F7CF"; +} + +.fa-snowman:before { + content: "\F7D0"; +} + +.fa-snowmobile:before { + content: "\F7D1"; +} + +.fa-snowplow:before { + content: "\F7D2"; +} + +.fa-socks:before { + content: "\F696"; +} + +.fa-solar-panel:before { + content: "\F5BA"; +} + +.fa-sort:before { + content: "\F0DC"; +} + +.fa-sort-alpha-down:before { + content: "\F15D"; +} + +.fa-sort-alpha-up:before { + content: "\F15E"; +} + +.fa-sort-amount-down:before { + content: "\F160"; +} + +.fa-sort-amount-up:before { + content: "\F161"; +} + +.fa-sort-down:before { + content: "\F0DD"; +} + +.fa-sort-numeric-down:before { + content: "\F162"; +} + +.fa-sort-numeric-up:before { + content: "\F163"; +} + +.fa-sort-up:before { + content: "\F0DE"; +} + +.fa-soundcloud:before { + content: "\F1BE"; +} + +.fa-soup:before { + content: "\F823"; +} + +.fa-sourcetree:before { + content: "\F7D3"; +} + +.fa-spa:before { + content: "\F5BB"; +} + +.fa-space-shuttle:before { + content: "\F197"; +} + +.fa-spade:before { + content: "\F2F4"; +} + +.fa-speakap:before { + content: "\F3F3"; +} + +.fa-speaker-deck:before { + content: "\F83C"; +} + +.fa-spider:before { + content: "\F717"; +} + +.fa-spider-black-widow:before { + content: "\F718"; +} + +.fa-spider-web:before { + content: "\F719"; +} + +.fa-spinner:before { + content: "\F110"; +} + +.fa-spinner-third:before { + content: "\F3F4"; +} + +.fa-splotch:before { + content: "\F5BC"; +} + +.fa-spotify:before { + content: "\F1BC"; +} + +.fa-spray-can:before { + content: "\F5BD"; +} + +.fa-square:before { + content: "\F0C8"; +} + +.fa-square-full:before { + content: "\F45C"; +} + +.fa-square-root:before { + content: "\F697"; +} + +.fa-square-root-alt:before { + content: "\F698"; +} + +.fa-squarespace:before { + content: "\F5BE"; +} + +.fa-squirrel:before { + content: "\F71A"; +} + +.fa-stack-exchange:before { + content: "\F18D"; +} + +.fa-stack-overflow:before { + content: "\F16C"; +} + +.fa-staff:before { + content: "\F71B"; +} + +.fa-stamp:before { + content: "\F5BF"; +} + +.fa-star:before { + content: "\F005"; +} + +.fa-star-and-crescent:before { + content: "\F699"; +} + +.fa-star-christmas:before { + content: "\F7D4"; +} + +.fa-star-exclamation:before { + content: "\F2F3"; +} + +.fa-star-half:before { + content: "\F089"; +} + +.fa-star-half-alt:before { + content: "\F5C0"; +} + +.fa-star-of-david:before { + content: "\F69A"; +} + +.fa-star-of-life:before { + content: "\F621"; +} + +.fa-stars:before { + content: "\F762"; +} + +.fa-staylinked:before { + content: "\F3F5"; +} + +.fa-steak:before { + content: "\F824"; +} + +.fa-steam:before { + content: "\F1B6"; +} + +.fa-steam-square:before { + content: "\F1B7"; +} + +.fa-steam-symbol:before { + content: "\F3F6"; +} + +.fa-steering-wheel:before { + content: "\F622"; +} + +.fa-step-backward:before { + content: "\F048"; +} + +.fa-step-forward:before { + content: "\F051"; +} + +.fa-stethoscope:before { + content: "\F0F1"; +} + +.fa-sticker-mule:before { + content: "\F3F7"; +} + +.fa-sticky-note:before { + content: "\F249"; +} + +.fa-stocking:before { + content: "\F7D5"; +} + +.fa-stomach:before { + content: "\F623"; +} + +.fa-stop:before { + content: "\F04D"; +} + +.fa-stop-circle:before { + content: "\F28D"; +} + +.fa-stopwatch:before { + content: "\F2F2"; +} + +.fa-store:before { + content: "\F54E"; +} + +.fa-store-alt:before { + content: "\F54F"; +} + +.fa-strava:before { + content: "\F428"; +} + +.fa-stream:before { + content: "\F550"; +} + +.fa-street-view:before { + content: "\F21D"; +} + +.fa-stretcher:before { + content: "\F825"; +} + +.fa-strikethrough:before { + content: "\F0CC"; +} + +.fa-stripe:before { + content: "\F429"; +} + +.fa-stripe-s:before { + content: "\F42A"; +} + +.fa-stroopwafel:before { + content: "\F551"; +} + +.fa-studiovinari:before { + content: "\F3F8"; +} + +.fa-stumbleupon:before { + content: "\F1A4"; +} + +.fa-stumbleupon-circle:before { + content: "\F1A3"; +} + +.fa-subscript:before { + content: "\F12C"; +} + +.fa-subway:before { + content: "\F239"; +} + +.fa-suitcase:before { + content: "\F0F2"; +} + +.fa-suitcase-rolling:before { + content: "\F5C1"; +} + +.fa-sun:before { + content: "\F185"; +} + +.fa-sun-cloud:before { + content: "\F763"; +} + +.fa-sun-dust:before { + content: "\F764"; +} + +.fa-sun-haze:before { + content: "\F765"; +} + +.fa-sunrise:before { + content: "\F766"; +} + +.fa-sunset:before { + content: "\F767"; +} + +.fa-superpowers:before { + content: "\F2DD"; +} + +.fa-superscript:before { + content: "\F12B"; +} + +.fa-supple:before { + content: "\F3F9"; +} + +.fa-surprise:before { + content: "\F5C2"; +} + +.fa-suse:before { + content: "\F7D6"; +} + +.fa-swatchbook:before { + content: "\F5C3"; +} + +.fa-swimmer:before { + content: "\F5C4"; +} + +.fa-swimming-pool:before { + content: "\F5C5"; +} + +.fa-sword:before { + content: "\F71C"; +} + +.fa-swords:before { + content: "\F71D"; +} + +.fa-symfony:before { + content: "\F83D"; +} + +.fa-synagogue:before { + content: "\F69B"; +} + +.fa-sync:before { + content: "\F021"; +} + +.fa-sync-alt:before { + content: "\F2F1"; +} + +.fa-syringe:before { + content: "\F48E"; +} + +.fa-table:before { + content: "\F0CE"; +} + +.fa-table-tennis:before { + content: "\F45D"; +} + +.fa-tablet:before { + content: "\F10A"; +} + +.fa-tablet-alt:before { + content: "\F3FA"; +} + +.fa-tablet-android:before { + content: "\F3FB"; +} + +.fa-tablet-android-alt:before { + content: "\F3FC"; +} + +.fa-tablet-rugged:before { + content: "\F48F"; +} + +.fa-tablets:before { + content: "\F490"; +} + +.fa-tachometer:before { + content: "\F0E4"; +} + +.fa-tachometer-alt:before { + content: "\F3FD"; +} + +.fa-tachometer-alt-average:before { + content: "\F624"; +} + +.fa-tachometer-alt-fast:before { + content: "\F625"; +} + +.fa-tachometer-alt-fastest:before { + content: "\F626"; +} + +.fa-tachometer-alt-slow:before { + content: "\F627"; +} + +.fa-tachometer-alt-slowest:before { + content: "\F628"; +} + +.fa-tachometer-average:before { + content: "\F629"; +} + +.fa-tachometer-fast:before { + content: "\F62A"; +} + +.fa-tachometer-fastest:before { + content: "\F62B"; +} + +.fa-tachometer-slow:before { + content: "\F62C"; +} + +.fa-tachometer-slowest:before { + content: "\F62D"; +} + +.fa-taco:before { + content: "\F826"; +} + +.fa-tag:before { + content: "\F02B"; +} + +.fa-tags:before { + content: "\F02C"; +} + +.fa-tally:before { + content: "\F69C"; +} + +.fa-tanakh:before { + content: "\F827"; +} + +.fa-tape:before { + content: "\F4DB"; +} + +.fa-tasks:before { + content: "\F0AE"; +} + +.fa-tasks-alt:before { + content: "\F828"; +} + +.fa-taxi:before { + content: "\F1BA"; +} + +.fa-teamspeak:before { + content: "\F4F9"; +} + +.fa-teeth:before { + content: "\F62E"; +} + +.fa-teeth-open:before { + content: "\F62F"; +} + +.fa-telegram:before { + content: "\F2C6"; +} + +.fa-telegram-plane:before { + content: "\F3FE"; +} + +.fa-temperature-frigid:before { + content: "\F768"; +} + +.fa-temperature-high:before { + content: "\F769"; +} + +.fa-temperature-hot:before { + content: "\F76A"; +} + +.fa-temperature-low:before { + content: "\F76B"; +} + +.fa-tencent-weibo:before { + content: "\F1D5"; +} + +.fa-tenge:before { + content: "\F7D7"; +} + +.fa-tennis-ball:before { + content: "\F45E"; +} + +.fa-terminal:before { + content: "\F120"; +} + +.fa-text-height:before { + content: "\F034"; +} + +.fa-text-width:before { + content: "\F035"; +} + +.fa-th:before { + content: "\F00A"; +} + +.fa-th-large:before { + content: "\F009"; +} + +.fa-th-list:before { + content: "\F00B"; +} + +.fa-the-red-yeti:before { + content: "\F69D"; +} + +.fa-theater-masks:before { + content: "\F630"; +} + +.fa-themeco:before { + content: "\F5C6"; +} + +.fa-themeisle:before { + content: "\F2B2"; +} + +.fa-thermometer:before { + content: "\F491"; +} + +.fa-thermometer-empty:before { + content: "\F2CB"; +} + +.fa-thermometer-full:before { + content: "\F2C7"; +} + +.fa-thermometer-half:before { + content: "\F2C9"; +} + +.fa-thermometer-quarter:before { + content: "\F2CA"; +} + +.fa-thermometer-three-quarters:before { + content: "\F2C8"; +} + +.fa-theta:before { + content: "\F69E"; +} + +.fa-think-peaks:before { + content: "\F731"; +} + +.fa-thumbs-down:before { + content: "\F165"; +} + +.fa-thumbs-up:before { + content: "\F164"; +} + +.fa-thumbtack:before { + content: "\F08D"; +} + +.fa-thunderstorm:before { + content: "\F76C"; +} + +.fa-thunderstorm-moon:before { + content: "\F76D"; +} + +.fa-thunderstorm-sun:before { + content: "\F76E"; +} + +.fa-ticket:before { + content: "\F145"; +} + +.fa-ticket-alt:before { + content: "\F3FF"; +} + +.fa-tilde:before { + content: "\F69F"; +} + +.fa-times:before { + content: "\F00D"; +} + +.fa-times-circle:before { + content: "\F057"; +} + +.fa-times-hexagon:before { + content: "\F2EE"; +} + +.fa-times-octagon:before { + content: "\F2F0"; +} + +.fa-times-square:before { + content: "\F2D3"; +} + +.fa-tint:before { + content: "\F043"; +} + +.fa-tint-slash:before { + content: "\F5C7"; +} + +.fa-tire:before { + content: "\F631"; +} + +.fa-tire-flat:before { + content: "\F632"; +} + +.fa-tire-pressure-warning:before { + content: "\F633"; +} + +.fa-tire-rugged:before { + content: "\F634"; +} + +.fa-tired:before { + content: "\F5C8"; +} + +.fa-toggle-off:before { + content: "\F204"; +} + +.fa-toggle-on:before { + content: "\F205"; +} + +.fa-toilet:before { + content: "\F7D8"; +} + +.fa-toilet-paper:before { + content: "\F71E"; +} + +.fa-toilet-paper-alt:before { + content: "\F71F"; +} + +.fa-tombstone:before { + content: "\F720"; +} + +.fa-tombstone-alt:before { + content: "\F721"; +} + +.fa-toolbox:before { + content: "\F552"; +} + +.fa-tools:before { + content: "\F7D9"; +} + +.fa-tooth:before { + content: "\F5C9"; +} + +.fa-toothbrush:before { + content: "\F635"; +} + +.fa-torah:before { + content: "\F6A0"; +} + +.fa-torii-gate:before { + content: "\F6A1"; +} + +.fa-tornado:before { + content: "\F76F"; +} + +.fa-tractor:before { + content: "\F722"; +} + +.fa-trade-federation:before { + content: "\F513"; +} + +.fa-trademark:before { + content: "\F25C"; +} + +.fa-traffic-cone:before { + content: "\F636"; +} + +.fa-traffic-light:before { + content: "\F637"; +} + +.fa-traffic-light-go:before { + content: "\F638"; +} + +.fa-traffic-light-slow:before { + content: "\F639"; +} + +.fa-traffic-light-stop:before { + content: "\F63A"; +} + +.fa-train:before { + content: "\F238"; +} + +.fa-tram:before { + content: "\F7DA"; +} + +.fa-transgender:before { + content: "\F224"; +} + +.fa-transgender-alt:before { + content: "\F225"; +} + +.fa-trash:before { + content: "\F1F8"; +} + +.fa-trash-alt:before { + content: "\F2ED"; +} + +.fa-trash-restore:before { + content: "\F829"; +} + +.fa-trash-restore-alt:before { + content: "\F82A"; +} + +.fa-treasure-chest:before { + content: "\F723"; +} + +.fa-tree:before { + content: "\F1BB"; +} + +.fa-tree-alt:before { + content: "\F400"; +} + +.fa-tree-christmas:before { + content: "\F7DB"; +} + +.fa-tree-decorated:before { + content: "\F7DC"; +} + +.fa-tree-large:before { + content: "\F7DD"; +} + +.fa-tree-palm:before { + content: "\F82B"; +} + +.fa-trees:before { + content: "\F724"; +} + +.fa-trello:before { + content: "\F181"; +} + +.fa-triangle:before { + content: "\F2EC"; +} + +.fa-tripadvisor:before { + content: "\F262"; +} + +.fa-trophy:before { + content: "\F091"; +} + +.fa-trophy-alt:before { + content: "\F2EB"; +} + +.fa-truck:before { + content: "\F0D1"; +} + +.fa-truck-container:before { + content: "\F4DC"; +} + +.fa-truck-couch:before { + content: "\F4DD"; +} + +.fa-truck-loading:before { + content: "\F4DE"; +} + +.fa-truck-monster:before { + content: "\F63B"; +} + +.fa-truck-moving:before { + content: "\F4DF"; +} + +.fa-truck-pickup:before { + content: "\F63C"; +} + +.fa-truck-plow:before { + content: "\F7DE"; +} + +.fa-truck-ramp:before { + content: "\F4E0"; +} + +.fa-tshirt:before { + content: "\F553"; +} + +.fa-tty:before { + content: "\F1E4"; +} + +.fa-tumblr:before { + content: "\F173"; +} + +.fa-tumblr-square:before { + content: "\F174"; +} + +.fa-turkey:before { + content: "\F725"; +} + +.fa-turtle:before { + content: "\F726"; +} + +.fa-tv:before { + content: "\F26C"; +} + +.fa-tv-retro:before { + content: "\F401"; +} + +.fa-twitch:before { + content: "\F1E8"; +} + +.fa-twitter:before { + content: "\F099"; +} + +.fa-twitter-square:before { + content: "\F081"; +} + +.fa-typo3:before { + content: "\F42B"; +} + +.fa-uber:before { + content: "\F402"; +} + +.fa-ubuntu:before { + content: "\F7DF"; +} + +.fa-uikit:before { + content: "\F403"; +} + +.fa-umbrella:before { + content: "\F0E9"; +} + +.fa-umbrella-beach:before { + content: "\F5CA"; +} + +.fa-underline:before { + content: "\F0CD"; +} + +.fa-undo:before { + content: "\F0E2"; +} + +.fa-undo-alt:before { + content: "\F2EA"; +} + +.fa-unicorn:before { + content: "\F727"; +} + +.fa-union:before { + content: "\F6A2"; +} + +.fa-uniregistry:before { + content: "\F404"; +} + +.fa-universal-access:before { + content: "\F29A"; +} + +.fa-university:before { + content: "\F19C"; +} + +.fa-unlink:before { + content: "\F127"; +} + +.fa-unlock:before { + content: "\F09C"; +} + +.fa-unlock-alt:before { + content: "\F13E"; +} + +.fa-untappd:before { + content: "\F405"; +} + +.fa-upload:before { + content: "\F093"; +} + +.fa-ups:before { + content: "\F7E0"; +} + +.fa-usb:before { + content: "\F287"; +} + +.fa-usd-circle:before { + content: "\F2E8"; +} + +.fa-usd-square:before { + content: "\F2E9"; +} + +.fa-user:before { + content: "\F007"; +} + +.fa-user-alt:before { + content: "\F406"; +} + +.fa-user-alt-slash:before { + content: "\F4FA"; +} + +.fa-user-astronaut:before { + content: "\F4FB"; +} + +.fa-user-chart:before { + content: "\F6A3"; +} + +.fa-user-check:before { + content: "\F4FC"; +} + +.fa-user-circle:before { + content: "\F2BD"; +} + +.fa-user-clock:before { + content: "\F4FD"; +} + +.fa-user-cog:before { + content: "\F4FE"; +} + +.fa-user-crown:before { + content: "\F6A4"; +} + +.fa-user-edit:before { + content: "\F4FF"; +} + +.fa-user-friends:before { + content: "\F500"; +} + +.fa-user-graduate:before { + content: "\F501"; +} + +.fa-user-hard-hat:before { + content: "\F82C"; +} + +.fa-user-headset:before { + content: "\F82D"; +} + +.fa-user-injured:before { + content: "\F728"; +} + +.fa-user-lock:before { + content: "\F502"; +} + +.fa-user-md:before { + content: "\F0F0"; +} + +.fa-user-md-chat:before { + content: "\F82E"; +} + +.fa-user-minus:before { + content: "\F503"; +} + +.fa-user-ninja:before { + content: "\F504"; +} + +.fa-user-nurse:before { + content: "\F82F"; +} + +.fa-user-plus:before { + content: "\F234"; +} + +.fa-user-secret:before { + content: "\F21B"; +} + +.fa-user-shield:before { + content: "\F505"; +} + +.fa-user-slash:before { + content: "\F506"; +} + +.fa-user-tag:before { + content: "\F507"; +} + +.fa-user-tie:before { + content: "\F508"; +} + +.fa-user-times:before { + content: "\F235"; +} + +.fa-users:before { + content: "\F0C0"; +} + +.fa-users-class:before { + content: "\F63D"; +} + +.fa-users-cog:before { + content: "\F509"; +} + +.fa-users-crown:before { + content: "\F6A5"; +} + +.fa-users-medical:before { + content: "\F830"; +} + +.fa-usps:before { + content: "\F7E1"; +} + +.fa-ussunnah:before { + content: "\F407"; +} + +.fa-utensil-fork:before { + content: "\F2E3"; +} + +.fa-utensil-knife:before { + content: "\F2E4"; +} + +.fa-utensil-spoon:before { + content: "\F2E5"; +} + +.fa-utensils:before { + content: "\F2E7"; +} + +.fa-utensils-alt:before { + content: "\F2E6"; +} + +.fa-vaadin:before { + content: "\F408"; +} + +.fa-value-absolute:before { + content: "\F6A6"; +} + +.fa-vector-square:before { + content: "\F5CB"; +} + +.fa-venus:before { + content: "\F221"; +} + +.fa-venus-double:before { + content: "\F226"; +} + +.fa-venus-mars:before { + content: "\F228"; +} + +.fa-viacoin:before { + content: "\F237"; +} + +.fa-viadeo:before { + content: "\F2A9"; +} + +.fa-viadeo-square:before { + content: "\F2AA"; +} + +.fa-vial:before { + content: "\F492"; +} + +.fa-vials:before { + content: "\F493"; +} + +.fa-viber:before { + content: "\F409"; +} + +.fa-video:before { + content: "\F03D"; +} + +.fa-video-plus:before { + content: "\F4E1"; +} + +.fa-video-slash:before { + content: "\F4E2"; +} + +.fa-vihara:before { + content: "\F6A7"; +} + +.fa-vimeo:before { + content: "\F40A"; +} + +.fa-vimeo-square:before { + content: "\F194"; +} + +.fa-vimeo-v:before { + content: "\F27D"; +} + +.fa-vine:before { + content: "\F1CA"; +} + +.fa-vk:before { + content: "\F189"; +} + +.fa-vnv:before { + content: "\F40B"; +} + +.fa-volcano:before { + content: "\F770"; +} + +.fa-volleyball-ball:before { + content: "\F45F"; +} + +.fa-volume:before { + content: "\F6A8"; +} + +.fa-volume-down:before { + content: "\F027"; +} + +.fa-volume-mute:before { + content: "\F6A9"; +} + +.fa-volume-off:before { + content: "\F026"; +} + +.fa-volume-slash:before { + content: "\F2E2"; +} + +.fa-volume-up:before { + content: "\F028"; +} + +.fa-vote-nay:before { + content: "\F771"; +} + +.fa-vote-yea:before { + content: "\F772"; +} + +.fa-vr-cardboard:before { + content: "\F729"; +} + +.fa-vuejs:before { + content: "\F41F"; +} + +.fa-walker:before { + content: "\F831"; +} + +.fa-walking:before { + content: "\F554"; +} + +.fa-wallet:before { + content: "\F555"; +} + +.fa-wand:before { + content: "\F72A"; +} + +.fa-wand-magic:before { + content: "\F72B"; +} + +.fa-warehouse:before { + content: "\F494"; +} + +.fa-warehouse-alt:before { + content: "\F495"; +} + +.fa-watch:before { + content: "\F2E1"; +} + +.fa-watch-fitness:before { + content: "\F63E"; +} + +.fa-water:before { + content: "\F773"; +} + +.fa-water-lower:before { + content: "\F774"; +} + +.fa-water-rise:before { + content: "\F775"; +} + +.fa-wave-square:before { + content: "\F83E"; +} + +.fa-waze:before { + content: "\F83F"; +} + +.fa-webcam:before { + content: "\F832"; +} + +.fa-webcam-slash:before { + content: "\F833"; +} + +.fa-weebly:before { + content: "\F5CC"; +} + +.fa-weibo:before { + content: "\F18A"; +} + +.fa-weight:before { + content: "\F496"; +} + +.fa-weight-hanging:before { + content: "\F5CD"; +} + +.fa-weixin:before { + content: "\F1D7"; +} + +.fa-whale:before { + content: "\F72C"; +} + +.fa-whatsapp:before { + content: "\F232"; +} + +.fa-whatsapp-square:before { + content: "\F40C"; +} + +.fa-wheat:before { + content: "\F72D"; +} + +.fa-wheelchair:before { + content: "\F193"; +} + +.fa-whistle:before { + content: "\F460"; +} + +.fa-whmcs:before { + content: "\F40D"; +} + +.fa-wifi:before { + content: "\F1EB"; +} + +.fa-wifi-1:before { + content: "\F6AA"; +} + +.fa-wifi-2:before { + content: "\F6AB"; +} + +.fa-wifi-slash:before { + content: "\F6AC"; +} + +.fa-wikipedia-w:before { + content: "\F266"; +} + +.fa-wind:before { + content: "\F72E"; +} + +.fa-wind-warning:before { + content: "\F776"; +} + +.fa-window:before { + content: "\F40E"; +} + +.fa-window-alt:before { + content: "\F40F"; +} + +.fa-window-close:before { + content: "\F410"; +} + +.fa-window-maximize:before { + content: "\F2D0"; +} + +.fa-window-minimize:before { + content: "\F2D1"; +} + +.fa-window-restore:before { + content: "\F2D2"; +} + +.fa-windows:before { + content: "\F17A"; +} + +.fa-windsock:before { + content: "\F777"; +} + +.fa-wine-bottle:before { + content: "\F72F"; +} + +.fa-wine-glass:before { + content: "\F4E3"; +} + +.fa-wine-glass-alt:before { + content: "\F5CE"; +} + +.fa-wix:before { + content: "\F5CF"; +} + +.fa-wizards-of-the-coast:before { + content: "\F730"; +} + +.fa-wolf-pack-battalion:before { + content: "\F514"; +} + +.fa-won-sign:before { + content: "\F159"; +} + +.fa-wordpress:before { + content: "\F19A"; +} + +.fa-wordpress-simple:before { + content: "\F411"; +} + +.fa-wpbeginner:before { + content: "\F297"; +} + +.fa-wpexplorer:before { + content: "\F2DE"; +} + +.fa-wpforms:before { + content: "\F298"; +} + +.fa-wpressr:before { + content: "\F3E4"; +} + +.fa-wreath:before { + content: "\F7E2"; +} + +.fa-wrench:before { + content: "\F0AD"; +} + +.fa-x-ray:before { + content: "\F497"; +} + +.fa-xbox:before { + content: "\F412"; +} + +.fa-xing:before { + content: "\F168"; +} + +.fa-xing-square:before { + content: "\F169"; +} + +.fa-y-combinator:before { + content: "\F23B"; +} + +.fa-yahoo:before { + content: "\F19E"; +} + +.fa-yammer:before { + content: "\F840"; +} + +.fa-yandex:before { + content: "\F413"; +} + +.fa-yandex-international:before { + content: "\F414"; +} + +.fa-yarn:before { + content: "\F7E3"; +} + +.fa-yelp:before { + content: "\F1E9"; +} + +.fa-yen-sign:before { + content: "\F157"; +} + +.fa-yin-yang:before { + content: "\F6AD"; +} + +.fa-yoast:before { + content: "\F2B1"; +} + +.fa-youtube:before { + content: "\F167"; +} + +.fa-youtube-square:before { + content: "\F431"; +} + +.fa-zhihu:before { + content: "\F63F"; +} + +.sr-only { + border: 0; + clip: rect(0, 0, 0, 0); + height: 1px; + margin: -1px; + overflow: hidden; + padding: 0; + position: absolute; + width: 1px; +} + +.sr-only-focusable:active, +.sr-only-focusable:focus { + clip: auto; + height: auto; + margin: 0; + overflow: visible; + position: static; + width: auto; +} + +/*! + * Font Awesome Pro 5.8.1 by @fontawesome - https://fontawesome.com + * License - https://fontawesome.com/license (Commercial License) + */ + +@font-face { + font-family: "Font Awesome 5 Pro"; + font-style: normal; + font-weight: 900; + font-display: auto; + src: url(/fonts/fa-solid-900.eot?11823289c2cdeaf2415c76be9c5e4a09); + src: url(/fonts/fa-solid-900.eot?11823289c2cdeaf2415c76be9c5e4a09?#iefix) format("embedded-opentype"), url(/fonts/fa-solid-900.woff2?e57324a466c24a207fd9ad0f5f5e3c9c) format("woff2"), url(/fonts/fa-solid-900.woff?6a9e75ccf66ab99b14f2873840cfc01d) format("woff"), url(/fonts/fa-solid-900.ttf?ff4aabff5dc839470245d1e5043bdd51) format("truetype"), url(/fonts/fa-solid-900.svg?506bcfeaad71580149d11c8fb36af219#fontawesome) format("svg"); +} + +.fa, +.fas { + font-family: "Font Awesome 5 Pro"; + font-weight: 900; +} + +/*! + * Font Awesome Pro 5.8.1 by @fontawesome - https://fontawesome.com + * License - https://fontawesome.com/license (Commercial License) + */ + +@font-face { + font-family: "Font Awesome 5 Pro"; + font-style: normal; + font-weight: 400; + font-display: auto; + src: url(/fonts/fa-regular-400.eot?df3024c0f2d296c59947567afffb0a3b); + src: url(/fonts/fa-regular-400.eot?df3024c0f2d296c59947567afffb0a3b?#iefix) format("embedded-opentype"), url(/fonts/fa-regular-400.woff2?8cfe82e8c97df9ab3f52ac86af21230d) format("woff2"), url(/fonts/fa-regular-400.woff?239abe3e583864d4ab3d27c34ac37cc6) format("woff"), url(/fonts/fa-regular-400.ttf?bd86e53df8c36e22fbba9d4e60e3c632) format("truetype"), url(/fonts/fa-regular-400.svg?416d58293e221c2b4b8f34c1531d5dfd#fontawesome) format("svg"); +} + +.far { + font-family: "Font Awesome 5 Pro"; + font-weight: 400; +} + +/*! + * Font Awesome Pro 5.8.1 by @fontawesome - https://fontawesome.com + * License - https://fontawesome.com/license (Commercial License) + */ + +@font-face { + font-family: "Font Awesome 5 Pro"; + font-style: normal; + font-weight: 300; + font-display: auto; + src: url(/fonts/fa-light-300.eot?a06baf702fb4e2a21830fa7dfa71c0dc); + src: url(/fonts/fa-light-300.eot?a06baf702fb4e2a21830fa7dfa71c0dc?#iefix) format("embedded-opentype"), url(/fonts/fa-light-300.woff2?20bbccf14518922fa95a440f4c217d9e) format("woff2"), url(/fonts/fa-light-300.woff?1008b6dd09c8b71b65e7c449bf881d90) format("woff"), url(/fonts/fa-light-300.ttf?7f384302d16d8bf29d1549de26d0153d) format("truetype"), url(/fonts/fa-light-300.svg?9969a9da0ab8636ad1a428b3838757d4#fontawesome) format("svg"); +} + +.fal { + font-family: "Font Awesome 5 Pro"; + font-weight: 300; +} + +/*! + * Font Awesome Pro 5.8.1 by @fontawesome - https://fontawesome.com + * License - https://fontawesome.com/license (Commercial License) + */ + +@font-face { + font-family: "Font Awesome 5 Brands"; + font-style: normal; + font-weight: normal; + font-display: auto; + src: url(/fonts/fa-brands-400.eot?72721167aea128f7ddac301c15dab835); + src: url(/fonts/fa-brands-400.eot?72721167aea128f7ddac301c15dab835?#iefix) format("embedded-opentype"), url(/fonts/fa-brands-400.woff2?68c177c286c34e1b7b975807dd5d9ed0) format("woff2"), url(/fonts/fa-brands-400.woff?fb481cb3c3d44b2d16d38e93ef118f9a) format("woff"), url(/fonts/fa-brands-400.ttf?29e1f75381d3efde65c48168ebe5c403) format("truetype"), url(/fonts/fa-brands-400.svg?f77645622015337d638b8a3d6266fe43#fontawesome) format("svg"); +} + +.fab { + font-family: "Font Awesome 5 Brands"; +} + +/****************************************** + HEADER +******************************************/ + +.mainheader { + background-color: #3b3b3b; + height: 48px; + width: 100%; + position: relative; + z-index: 2; +} + +.mainheader nav a { + font-size: 14px; + padding: 13px; + display: inline-block; + position: relative; + transition: color 100ms ease-in; +} + +.mainheader nav a:hover { + color: #ffffff; +} + +.mainheader nav a i { + font-size: 19px; + margin-right: 5px; +} + +.mainheader nav a:first-child i { + font-size: 23px; + margin-right: 0; +} + +.mainheader nav a.active { + color: #ffffff; + background-color: #333333; +} + +.mainheader nav a.active:after { + content: ""; + position: absolute; + width: 100%; + height: 3px; + background-color: #0a6fb7; + bottom: 0; + left: 0; +} + +.mainheader .userbar { + position: absolute; + cursor: pointer; + right: 0; + top: 0; + font-size: 14px; + color: #ffffff; + display: flex; + align-items: center; + padding: 10px 15px; +} + +.mainheader .userbar i.fa-user-circle { + font-size: 28px; + margin-right: 10px; +} + +.mainheader .userbar i.fa-caret-down { + margin-left: 10px; +} + +.mainheader .userbar .submenu { + background-color: #333333; + position: absolute; + top: 48px; + width: 205px; + right: 0; + z-index: 2; + display: none; +} + +.mainheader .userbar .submenu a { + padding: 15px; + border-bottom: 1px solid #505050; + display: block; + font-size: 13px; + transition: background-color 200ms ease-in; +} + +.mainheader .userbar .submenu a:last-of-type { + border: none; +} + +.mainheader .userbar .submenu a:hover { + background-color: #505050; +} + +/****************************************** + FANCYBOX +******************************************/ + +.fancybox-active { + height: inherit; +} + +.fancybox-content { + background-color: #24272e; + max-width: 700px; + border-radius: 5px; +} + +.fc-content { + padding: 30px; +} + +.fc-content h3 { + font-size: 14px; + margin-bottom: 12px; + font-weight: bold; + color: #ffffff; +} + +.fc-content hr { + color: #24272e; + border-bottom: 1px solid #2c2f36; + margin-bottom: 12px; +} + +.fc-content i { + display: block; + color: #0a6fb7; + font-size: 71px; + margin-bottom: 20px; +} + +.fc-content p { + color: white; + margin: 37px; + font-weight: bold; + font-size: 12px; +} + +.fc-content p.button_bar { + text-align: right; + margin: 0; +} + +.fc-content.info .fa-exclamation-triangle { + display: none; +} + +.fc-content.info .fa-info-circle { + display: block; +} + +.fc-content.error .fa-exclamation-triangle { + display: block; + color: #e3342f; +} + +.fc-content.error .fa-info-circle { + display: none; +} + +#form_contact { + padding: 30px; +} + +#form_contact h3 { + font-size: 14px; + margin-bottom: 12px; + font-weight: bold; + color: #ffffff; +} + +#form_contact hr { + color: #24272e; + border-bottom: 1px solid #2c2f36; + margin-bottom: 20px; +} + +#form_contact .desc { + text-align: justify; + margin-bottom: 20px; +} + +#form_contact p.button_bar { + text-align: right; + margin: 0; +} + +#form_contact select, +#form_contact input, +#form_contact textarea { + width: 100%; +} + +#form_contact textarea { + margin-bottom: 20px; +} + +#form_contact .btn { + margin-right: 10px; +} + +#form_contact .form_contact_send .fa-spinner-third { + display: none; +} + +#form_contact .form_contact_send.loading .fa-spinner-third { + display: inline-block; +} + +#form_contact .form_contact_send.loading .fa-share { + display: none; +} + +#form_contact .form_contact_ok { + display: none; + background-color: #38c172; + padding: 15px; + color: #ffffff; + font-size: 15px; +} + +#form_contact .form_contact_ok i { + font-size: 22px; + margin-right: 10px; + vertical-align: middle; +} + +#form_contact .form_contact_ko, +#form_contact .form_contact_check_ko { + display: none; + background-color: #e3342f; + padding: 15px; + color: #ffffff; + font-size: 15px; +} + +#form_contact .form_contact_ko i, +#form_contact .form_contact_check_ko i { + font-size: 22px; + margin-right: 10px; + vertical-align: middle; +} + +/****************************************** + TEMPLATE +******************************************/ + +.template_2col { + display: flex; + flex-direction: row; + min-height: calc(100% - 48px); +} + +.template_2col .main_content { + padding: 15px 30px; + width: 100%; +} + +/****************************************** + SIDE MENU +******************************************/ + +.side_menu { + background-color: #1a1a1a; + width: 300px; + min-height: calc(100% - 48px); +} + +.side_menu a { + padding: 20px 15px; + border-bottom: 1px solid #505050; + display: block; + font-size: 14px; + transition: background-color 200ms ease-in; +} + +.side_menu a:last-of-type { + border: none; +} + +.side_menu a:hover { + background-color: #272626; +} + +.side_menu a i { + float: right; + font-size: 18px; +} + +.side_menu a.active { + background-color: #0a6fb7; + color: white; +} + +/****************************************** + HOME +******************************************/ + +.home .search { + background: url("/images/home_bg.jpg"); + background-size: cover; + width: 100%; + height: 380px; + position: relative; +} + +.home .search .container { + left: 50%; + top: 50%; + -webkit-transform: translate(-50%, -50%); + transform: translate(-50%, -50%); + position: absolute; + text-align: center; + width: 560px; +} + +.home .search .container h1 { + color: #ffffff; + font-size: 71px; +} + +.home .search .container .input_search { + margin-top: 20px; + position: relative; +} + +.home .search .container .input_search input { + width: 100%; + font-size: 17px; + padding: 12px 48px 12px 14px; +} + +.home .search .container .input_search button { + border: none; + position: absolute; + right: 0; + background-color: transparent; + color: #aaaaaa; + font-size: 25px; + padding: 8px 15px 8px 8px; + cursor: pointer; +} + +/****************************************** + FORM +******************************************/ + +p { + color: #aaaaaa; + margin-bottom: 10px; +} + +input[type=text], +input[type=password], +input[type=email], +input[type=url], +select { + border-radius: 3px; + padding: 5px 10px; + border: none; +} + +input[type=text].is-invalid, +input[type=password].is-invalid, +input[type=email].is-invalid, +input[type=url].is-invalid, +select.is-invalid { + border: 1px solid #D50C0C; +} + +textarea { + font-family: "Arial", sans-serif; + border-radius: 3px; + padding: 8px 10px; + font-size: 13px; + border: none; +} + +textarea.is-invalid { + border: 1px solid #D50C0C; +} + +input[type=submit].btn, +button.btn, +a.btn { + border-radius: 17px; + padding: 9px 19px; + border: none; + color: #ffffff; + background-color: #0a6fb7; + transition: background-color 200ms ease-in; + cursor: pointer; +} + +input[type=submit].btn:hover, +button.btn:hover, +a.btn:hover { + background-color: #2489D1; +} + +input[type=submit].btn.btn-black, +button.btn.btn-black, +a.btn.btn-black { + background-color: #1a1a1a; +} + +input[type=submit].btn.btn-black:hover, +button.btn.btn-black:hover, +a.btn.btn-black:hover { + background-color: #272626; +} + +input[type=submit].btn.btn-red, +button.btn.btn-red, +a.btn.btn-red { + background-color: #e3342f; +} + +input[type=submit].btn.btn-red:hover, +button.btn.btn-red:hover, +a.btn.btn-red:hover { + background-color: #e3342f; +} + +input[type=submit].btn.btn-square, +button.btn.btn-square, +a.btn.btn-square { + border-radius: 2px; + padding: 8px 14px; + font-weight: bold; + font-size: 12px; +} + +.ml-10 { + margin-left: 10px; +} + +.mr-10 { + margin-right: 10px; +} + +.floatr { + float: right; +} + +.floatl { + float: left; +} + +.tright { + text-align: right; +} + +.tleft { + text-align: left; +} + +.tcenter { + text-align: center; +} + +.alert { + color: #ffffff; + padding: 10px; + margin-bottom: 10px; + display: flex; + align-items: center; +} + +.alert i { + font-size: 26px; + margin-right: 18px; +} + +.alert.alert-danger { + background-color: #e3342f; +} + +.alert.alert-ok { + background-color: #38c172; +} + +.invalid-feedback { + color: #e3342f; + margin: 7px 0; + display: block; +} + +a { + color: #aaaaaa; + text-decoration: none; +} + +.heading { + margin-bottom: 30px; +} + +.heading a { + margin-left: 10px; +} + +h1 { + color: #ffffff; + font-size: 24px; + display: inline-block; +} + +.group:after { + content: ""; + display: table; + clear: both; +} + +.filter_row { + margin-bottom: 10px; +} + +.filter_row .right_col { + float: right; +} + +.filter_row .left_col { + float: left; +} + +.filter_row a { + margin-left: 10px; +} + +table { + width: 100%; + background-color: #1a1a1a; +} + +table th { + background-color: #272626; + font-weight: bold; + color: #ffffff; +} + +table td, +table th { + padding: 15px 7px; + text-align: left; +} + +table td a, +table th a { + color: #2489D1; + text-decoration: underline; +} + +table tr { + border-bottom: 1px solid #505050; +} + +table tr:hover { + background-color: #272626; +} + +table tfoot tr { + background-color: #272626; + border: none; +} + +.dataform .form-field { + display: flex; + flex-direction: row; + align-items: center; + flex-wrap: wrap; + margin-top: 10px; + width: 600px; + position: relative; +} + +.dataform .form-field i.loader { + position: relative; + right: 24px; + color: #0a6fb7; + font-size: 19px; +} + +.dataform .form-field input, +.dataform .form-field select, +.dataform .form-field textarea { + width: 255px; +} + +.dataform .form-field label { + min-width: 123px; +} + +.dataform .form-section { + margin-top: 20px; +} + +.dataform .form-section label { + font-size: 16px; +} + +.dataform .selector_form { + width: 100%; +} + +.dataform .selector_form .selector_filter { + width: 100%; + border: #DFDFDF solid 1px; + border-radius: 0; + padding: 12px 11px; + font-size: 14px; +} + +.dataform .selector_form .selector_list { + display: flex; + border: #DFDFDF solid 1px; +} + +.dataform .selector_form .selector_list .selector_choices { + border-right: #DFDFDF solid 1px; +} + +.dataform .selector_form .selector_list .selector_values li:hover:after { + content: "\F056"; + font-family: "Font Awesome 5 Pro"; + font-weight: 900; + position: absolute; + right: 15px; + font-size: 15px; +} + +.dataform .selector_form .selector_list .selector_values, +.dataform .selector_form .selector_list .selector_choices { + background-color: #ffffff; + width: 50%; + height: 152px; + overflow-y: auto; +} + +.dataform .selector_form .selector_list .selector_values li, +.dataform .selector_form .selector_list .selector_choices li { + cursor: pointer; + position: relative; + padding: 6px 5px; + color: #000000; + background-color: #ffffff; +} + +.dataform .selector_form .selector_list .selector_values li:hover, +.dataform .selector_form .selector_list .selector_choices li:hover { + background-color: #0a6fb7; + color: #ffffff; +} + +.dataform .selector_form .selector_list .selector_values li.selected, +.dataform .selector_form .selector_list .selector_choices li.selected { + color: #aaaaaa; +} + +.dataform .selector_form .selector_list .selector_values li.selected:hover, +.dataform .selector_form .selector_list .selector_choices li.selected:hover { + color: #aaaaaa; + background-color: #ffffff; +} + +.dataform .button-row { + border-top: 1px solid #505050; + padding: 15px; + width: 100%; + margin-top: 25px; +} + +/****************************************** + PAGE LOGIN +******************************************/ + +.login_container { + width: 100%; + max-width: 795px; + min-height: 460px; + display: flex; + flex-direction: row; + left: 50%; + top: 50%; + -webkit-transform: translate(-50%, -50%); + transform: translate(-50%, -50%); + position: absolute; + background-color: #3b3b3b; +} + +@media screen and (max-width: 790px) { + .login_container { + flex-direction: column; + min-height: auto; + } +} + +.login_container .col { + width: 50%; +} + +@media screen and (max-width: 790px) { + .login_container .col { + width: 100%; + } +} + +.login_container .col h1 { + font-size: 32px; + color: #ffffff; + margin-bottom: 15px; +} + +.login_container .col p { + margin-bottom: 17px; +} + +.login_container .col:first-child { + background: url("/images/login_bg.jpg"); + background-size: cover; + text-align: center; +} + +@media screen and (max-width: 790px) { + .login_container .col:first-child { + padding: 20px 0; + } +} + +.login_container .col:first-child h2 { + font-size: 25px; + color: #ffffff; +} + +@media screen and (max-width: 790px) { + .login_container .col:first-child h2 { + font-size: 20px; + } +} + +.login_container .col:first-child img { + margin-top: 120px; + margin-bottom: 10px; +} + +@media screen and (max-width: 790px) { + .login_container .col:first-child img { + margin-top: 0px; + width: 80px; + } +} + +.login_container .col:last-child { + padding: 10% 7% 0 7%; +} + +.login_container .col:last-child input[type=text], +.login_container .col:last-child input[type=password] { + width: 100%; + padding: 8px 10px; +} + +.login_container .col:last-child .admin_link { + margin-top: 86px; +} + +.login_container .col:last-child a { + color: #0a6fb7; + text-decoration: underline; +} + diff --git a/public/css/jquery.fancybox.min.css b/public/css/jquery.fancybox.min.css new file mode 100644 index 0000000..5f943d6 --- /dev/null +++ b/public/css/jquery.fancybox.min.css @@ -0,0 +1 @@ +body.compensate-for-scrollbar{overflow:hidden}.fancybox-active{height:auto}.fancybox-is-hidden{left:-9999px;margin:0;position:absolute!important;top:-9999px;visibility:hidden}.fancybox-container{-webkit-backface-visibility:hidden;height:100%;left:0;outline:none;position:fixed;-webkit-tap-highlight-color:transparent;top:0;-ms-touch-action:manipulation;touch-action:manipulation;-webkit-transform:translateZ(0);transform:translateZ(0);width:100%;z-index:99992}.fancybox-container *{box-sizing:border-box}.fancybox-bg,.fancybox-inner,.fancybox-outer,.fancybox-stage{bottom:0;left:0;position:absolute;right:0;top:0}.fancybox-outer{-webkit-overflow-scrolling:touch;overflow-y:auto}.fancybox-bg{background:#1e1e1e;opacity:0;transition-duration:inherit;transition-property:opacity;transition-timing-function:cubic-bezier(.47,0,.74,.71)}.fancybox-is-open .fancybox-bg{opacity:.9;transition-timing-function:cubic-bezier(.22,.61,.36,1)}.fancybox-caption,.fancybox-infobar,.fancybox-navigation .fancybox-button,.fancybox-toolbar{direction:ltr;opacity:0;position:absolute;transition:opacity .25s ease,visibility 0s ease .25s;visibility:hidden;z-index:99997}.fancybox-show-caption .fancybox-caption,.fancybox-show-infobar .fancybox-infobar,.fancybox-show-nav .fancybox-navigation .fancybox-button,.fancybox-show-toolbar .fancybox-toolbar{opacity:1;transition:opacity .25s ease 0s,visibility 0s ease 0s;visibility:visible}.fancybox-infobar{color:#ccc;font-size:13px;-webkit-font-smoothing:subpixel-antialiased;height:44px;left:0;line-height:44px;min-width:44px;mix-blend-mode:difference;padding:0 10px;pointer-events:none;top:0;-webkit-touch-callout:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.fancybox-toolbar{right:0;top:0}.fancybox-stage{direction:ltr;overflow:visible;-webkit-transform:translateZ(0);transform:translateZ(0);z-index:99994}.fancybox-is-open .fancybox-stage{overflow:hidden}.fancybox-slide{-webkit-backface-visibility:hidden;display:none;height:100%;left:0;outline:none;overflow:auto;-webkit-overflow-scrolling:touch;padding:44px;position:absolute;text-align:center;top:0;transition-property:opacity,-webkit-transform;transition-property:transform,opacity;transition-property:transform,opacity,-webkit-transform;white-space:normal;width:100%;z-index:99994}.fancybox-slide:before{content:"";display:inline-block;font-size:0;height:100%;vertical-align:middle;width:0}.fancybox-is-sliding .fancybox-slide,.fancybox-slide--current,.fancybox-slide--next,.fancybox-slide--previous{display:block}.fancybox-slide--image{overflow:hidden;padding:44px 0}.fancybox-slide--image:before{display:none}.fancybox-slide--html{padding:6px}.fancybox-content{background:#fff;display:inline-block;margin:0;max-width:100%;overflow:auto;-webkit-overflow-scrolling:touch;padding:44px;position:relative;text-align:left;vertical-align:middle}.fancybox-slide--image .fancybox-content{-webkit-animation-timing-function:cubic-bezier(.5,0,.14,1);animation-timing-function:cubic-bezier(.5,0,.14,1);-webkit-backface-visibility:hidden;background:transparent;background-repeat:no-repeat;background-size:100% 100%;left:0;max-width:none;overflow:visible;padding:0;position:absolute;top:0;-webkit-transform-origin:top left;transform-origin:top left;transition-property:opacity,-webkit-transform;transition-property:transform,opacity;transition-property:transform,opacity,-webkit-transform;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;z-index:99995}.fancybox-can-zoomOut .fancybox-content{cursor:zoom-out}.fancybox-can-zoomIn .fancybox-content{cursor:zoom-in}.fancybox-can-pan .fancybox-content,.fancybox-can-swipe .fancybox-content{cursor:-webkit-grab;cursor:grab}.fancybox-is-grabbing .fancybox-content{cursor:-webkit-grabbing;cursor:grabbing}.fancybox-container [data-selectable=true]{cursor:text}.fancybox-image,.fancybox-spaceball{background:transparent;border:0;height:100%;left:0;margin:0;max-height:none;max-width:none;padding:0;position:absolute;top:0;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;width:100%}.fancybox-spaceball{z-index:1}.fancybox-slide--iframe .fancybox-content,.fancybox-slide--map .fancybox-content,.fancybox-slide--pdf .fancybox-content,.fancybox-slide--video .fancybox-content{height:100%;overflow:visible;padding:0;width:100%}.fancybox-slide--video .fancybox-content{background:#000}.fancybox-slide--map .fancybox-content{background:#e5e3df}.fancybox-slide--iframe .fancybox-content{background:#fff}.fancybox-iframe,.fancybox-video{background:transparent;border:0;display:block;height:100%;margin:0;overflow:hidden;padding:0;width:100%}.fancybox-iframe{left:0;position:absolute;top:0}.fancybox-error{background:#fff;cursor:default;max-width:400px;padding:40px;width:100%}.fancybox-error p{color:#444;font-size:16px;line-height:20px;margin:0;padding:0}.fancybox-button{background:rgba(30,30,30,.6);border:0;border-radius:0;box-shadow:none;cursor:pointer;display:inline-block;height:44px;margin:0;padding:10px;position:relative;transition:color .2s;vertical-align:top;visibility:inherit;width:44px}.fancybox-button,.fancybox-button:link,.fancybox-button:visited{color:#ccc}.fancybox-button:hover{color:#fff}.fancybox-button:focus{outline:none}.fancybox-button.fancybox-focus{outline:1px dotted}.fancybox-button[disabled],.fancybox-button[disabled]:hover{color:#888;cursor:default;outline:none}.fancybox-button div{height:100%}.fancybox-button svg{display:block;height:100%;overflow:visible;position:relative;width:100%}.fancybox-button svg path{fill:currentColor;stroke-width:0}.fancybox-button--fsenter svg:nth-child(2),.fancybox-button--fsexit svg:nth-child(1),.fancybox-button--pause svg:nth-child(1),.fancybox-button--play svg:nth-child(2){display:none}.fancybox-progress{background:#ff5268;height:2px;left:0;position:absolute;right:0;top:0;-webkit-transform:scaleX(0);transform:scaleX(0);-webkit-transform-origin:0;transform-origin:0;transition-property:-webkit-transform;transition-property:transform;transition-property:transform,-webkit-transform;transition-timing-function:linear;z-index:99998}.fancybox-close-small{background:transparent;border:0;border-radius:0;color:#ccc;cursor:pointer;opacity:.8;padding:8px;position:absolute;right:-12px;top:-44px;z-index:401}.fancybox-close-small:hover{color:#fff;opacity:1}.fancybox-slide--html .fancybox-close-small{color:currentColor;padding:10px;right:0;top:0}.fancybox-slide--image.fancybox-is-scaling .fancybox-content{overflow:hidden}.fancybox-is-scaling .fancybox-close-small,.fancybox-is-zoomable.fancybox-can-pan .fancybox-close-small{display:none}.fancybox-navigation .fancybox-button{background-clip:content-box;height:100px;opacity:0;position:absolute;top:calc(50% - 50px);width:70px}.fancybox-navigation .fancybox-button div{padding:7px}.fancybox-navigation .fancybox-button--arrow_left{left:0;padding:31px 26px 31px 6px}.fancybox-navigation .fancybox-button--arrow_right{padding:31px 6px 31px 26px;right:0}.fancybox-caption{bottom:0;color:#eee;font-size:14px;font-weight:400;left:0;line-height:1.5;padding:25px 44px;right:0;text-align:center;z-index:99996}.fancybox-caption:before{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAD6CAQAAADKSeXYAAAAYklEQVQoz42RwQ3AMAgDjfcfup8WoRykfBAK5mQHKSz5rbXJPis1hjiV3CIqgG0hLZPkVkA4p4x5oR1bVeDrdCLrW2Q0D5bcwY3TGMHbdw3mPRuOtaspYP1w//G1OIcW148H0DMCqI/3mMMAAAAASUVORK5CYII=);background-repeat:repeat-x;background-size:contain;bottom:0;content:"";display:block;left:0;pointer-events:none;position:absolute;right:0;top:-44px;z-index:-1}.fancybox-caption a,.fancybox-caption a:link,.fancybox-caption a:visited{color:#ccc;text-decoration:none}.fancybox-caption a:hover{color:#fff;text-decoration:underline}.fancybox-loading{-webkit-animation:a 1s linear infinite;animation:a 1s linear infinite;background:transparent;border:4px solid #888;border-bottom-color:#fff;border-radius:50%;height:50px;left:50%;margin:-25px 0 0 -25px;opacity:.7;padding:0;position:absolute;top:50%;width:50px;z-index:99999}@-webkit-keyframes a{to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}@keyframes a{to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}.fancybox-animated{transition-timing-function:cubic-bezier(0,0,.25,1)}.fancybox-fx-slide.fancybox-slide--previous{opacity:0;-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0)}.fancybox-fx-slide.fancybox-slide--next{opacity:0;-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0)}.fancybox-fx-slide.fancybox-slide--current{opacity:1;-webkit-transform:translateZ(0);transform:translateZ(0)}.fancybox-fx-fade.fancybox-slide--next,.fancybox-fx-fade.fancybox-slide--previous{opacity:0;transition-timing-function:cubic-bezier(.19,1,.22,1)}.fancybox-fx-fade.fancybox-slide--current{opacity:1}.fancybox-fx-zoom-in-out.fancybox-slide--previous{opacity:0;-webkit-transform:scale3d(1.5,1.5,1.5);transform:scale3d(1.5,1.5,1.5)}.fancybox-fx-zoom-in-out.fancybox-slide--next{opacity:0;-webkit-transform:scale3d(.5,.5,.5);transform:scale3d(.5,.5,.5)}.fancybox-fx-zoom-in-out.fancybox-slide--current{opacity:1;-webkit-transform:scaleX(1);transform:scaleX(1)}.fancybox-fx-rotate.fancybox-slide--previous{opacity:0;-webkit-transform:rotate(-1turn);transform:rotate(-1turn)}.fancybox-fx-rotate.fancybox-slide--next{opacity:0;-webkit-transform:rotate(1turn);transform:rotate(1turn)}.fancybox-fx-rotate.fancybox-slide--current{opacity:1;-webkit-transform:rotate(0deg);transform:rotate(0deg)}.fancybox-fx-circular.fancybox-slide--previous{opacity:0;-webkit-transform:scale3d(0,0,0) translate3d(-100%,0,0);transform:scale3d(0,0,0) translate3d(-100%,0,0)}.fancybox-fx-circular.fancybox-slide--next{opacity:0;-webkit-transform:scale3d(0,0,0) translate3d(100%,0,0);transform:scale3d(0,0,0) translate3d(100%,0,0)}.fancybox-fx-circular.fancybox-slide--current{opacity:1;-webkit-transform:scaleX(1) translateZ(0);transform:scaleX(1) translateZ(0)}.fancybox-fx-tube.fancybox-slide--previous{-webkit-transform:translate3d(-100%,0,0) scale(.1) skew(-10deg);transform:translate3d(-100%,0,0) scale(.1) skew(-10deg)}.fancybox-fx-tube.fancybox-slide--next{-webkit-transform:translate3d(100%,0,0) scale(.1) skew(10deg);transform:translate3d(100%,0,0) scale(.1) skew(10deg)}.fancybox-fx-tube.fancybox-slide--current{-webkit-transform:translateZ(0) scale(1);transform:translateZ(0) scale(1)}@media (max-height:576px){.fancybox-caption{padding:12px}.fancybox-slide{padding-left:6px;padding-right:6px}.fancybox-slide--image{padding:6px 0}.fancybox-close-small{right:-6px}.fancybox-slide--image .fancybox-close-small{background:#4e4e4e;color:#f2f4f6;height:36px;opacity:1;padding:6px;right:0;top:0;width:36px}}.fancybox-share{background:#f4f4f4;border-radius:3px;max-width:90%;padding:30px;text-align:center}.fancybox-share h1{color:#222;font-size:35px;font-weight:700;margin:0 0 20px}.fancybox-share p{margin:0;padding:0}.fancybox-share__button{border:0;border-radius:3px;display:inline-block;font-size:14px;font-weight:700;line-height:40px;margin:0 5px 10px;min-width:130px;padding:0 15px;text-decoration:none;transition:all .2s;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;white-space:nowrap}.fancybox-share__button:link,.fancybox-share__button:visited{color:#fff}.fancybox-share__button:hover{text-decoration:none}.fancybox-share__button--fb{background:#3b5998}.fancybox-share__button--fb:hover{background:#344e86}.fancybox-share__button--pt{background:#bd081d}.fancybox-share__button--pt:hover{background:#aa0719}.fancybox-share__button--tw{background:#1da1f2}.fancybox-share__button--tw:hover{background:#0d95e8}.fancybox-share__button svg{height:25px;margin-right:7px;position:relative;top:-1px;vertical-align:middle;width:25px}.fancybox-share__button svg path{fill:#fff}.fancybox-share__input{background:transparent;border:0;border-bottom:1px solid #d7d7d7;border-radius:0;color:#5d5b5b;font-size:14px;margin:10px 0 0;outline:none;padding:10px 15px;width:100%}.fancybox-thumbs{background:#ddd;bottom:0;display:none;margin:0;-webkit-overflow-scrolling:touch;-ms-overflow-style:-ms-autohiding-scrollbar;padding:2px 2px 4px;position:absolute;right:0;-webkit-tap-highlight-color:transparent;top:0;width:212px;z-index:99995}.fancybox-thumbs-x{overflow-x:auto;overflow-y:hidden}.fancybox-show-thumbs .fancybox-thumbs{display:block}.fancybox-show-thumbs .fancybox-inner{right:212px}.fancybox-thumbs__list{font-size:0;height:100%;list-style:none;margin:0;overflow-x:hidden;overflow-y:auto;padding:0;position:absolute;position:relative;white-space:nowrap;width:100%}.fancybox-thumbs-x .fancybox-thumbs__list{overflow:hidden}.fancybox-thumbs-y .fancybox-thumbs__list::-webkit-scrollbar{width:7px}.fancybox-thumbs-y .fancybox-thumbs__list::-webkit-scrollbar-track{background:#fff;border-radius:10px;box-shadow:inset 0 0 6px rgba(0,0,0,.3)}.fancybox-thumbs-y .fancybox-thumbs__list::-webkit-scrollbar-thumb{background:#2a2a2a;border-radius:10px}.fancybox-thumbs__list a{-webkit-backface-visibility:hidden;backface-visibility:hidden;background-color:rgba(0,0,0,.1);background-position:50%;background-repeat:no-repeat;background-size:cover;cursor:pointer;float:left;height:75px;margin:2px;max-height:calc(100% - 8px);max-width:calc(50% - 4px);outline:none;overflow:hidden;padding:0;position:relative;-webkit-tap-highlight-color:transparent;width:100px}.fancybox-thumbs__list a:before{border:6px solid #ff5268;bottom:0;content:"";left:0;opacity:0;position:absolute;right:0;top:0;transition:all .2s cubic-bezier(.25,.46,.45,.94);z-index:99991}.fancybox-thumbs__list a:focus:before{opacity:.5}.fancybox-thumbs__list a.fancybox-thumbs-active:before{opacity:1}@media (max-width:576px){.fancybox-thumbs{width:110px}.fancybox-show-thumbs .fancybox-inner{right:110px}.fancybox-thumbs__list a{max-width:calc(100% - 10px)}} \ No newline at end of file diff --git a/public/fonts/fa-brands-400.eot b/public/fonts/fa-brands-400.eot new file mode 100644 index 0000000..dbe1285 Binary files /dev/null and b/public/fonts/fa-brands-400.eot differ diff --git a/public/fonts/fa-brands-400.svg b/public/fonts/fa-brands-400.svg new file mode 100644 index 0000000..6ebda62 --- /dev/null +++ b/public/fonts/fa-brands-400.svg @@ -0,0 +1,3459 @@ + + + + + +Created by FontForge 20190112 at Thu Mar 21 16:18:36 2019 + By Robert Madole +Copyright (c) Font Awesome + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/public/fonts/fa-brands-400.ttf b/public/fonts/fa-brands-400.ttf new file mode 100644 index 0000000..e29bccb Binary files /dev/null and b/public/fonts/fa-brands-400.ttf differ diff --git a/public/fonts/fa-brands-400.woff b/public/fonts/fa-brands-400.woff new file mode 100644 index 0000000..0ba7ae3 Binary files /dev/null and b/public/fonts/fa-brands-400.woff differ diff --git a/public/fonts/fa-brands-400.woff2 b/public/fonts/fa-brands-400.woff2 new file mode 100644 index 0000000..5f5017d Binary files /dev/null and b/public/fonts/fa-brands-400.woff2 differ diff --git a/public/fonts/fa-light-300.eot b/public/fonts/fa-light-300.eot new file mode 100644 index 0000000..93b5d83 Binary files /dev/null and b/public/fonts/fa-light-300.eot differ diff --git a/public/fonts/fa-light-300.svg b/public/fonts/fa-light-300.svg new file mode 100644 index 0000000..47dd800 --- /dev/null +++ b/public/fonts/fa-light-300.svg @@ -0,0 +1,9901 @@ + + + + + +Created by FontForge 20190112 at Thu Mar 21 16:18:36 2019 + By Robert Madole +Copyright (c) Font Awesome + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/public/fonts/fa-light-300.ttf b/public/fonts/fa-light-300.ttf new file mode 100644 index 0000000..f1dcc5e Binary files /dev/null and b/public/fonts/fa-light-300.ttf differ diff --git a/public/fonts/fa-light-300.woff b/public/fonts/fa-light-300.woff new file mode 100644 index 0000000..9b395f6 Binary files /dev/null and b/public/fonts/fa-light-300.woff differ diff --git a/public/fonts/fa-light-300.woff2 b/public/fonts/fa-light-300.woff2 new file mode 100644 index 0000000..96bc16b Binary files /dev/null and b/public/fonts/fa-light-300.woff2 differ diff --git a/public/fonts/fa-regular-400.eot b/public/fonts/fa-regular-400.eot new file mode 100644 index 0000000..0fd1245 Binary files /dev/null and b/public/fonts/fa-regular-400.eot differ diff --git a/public/fonts/fa-regular-400.svg b/public/fonts/fa-regular-400.svg new file mode 100644 index 0000000..73e673a --- /dev/null +++ b/public/fonts/fa-regular-400.svg @@ -0,0 +1,9103 @@ + + + + + +Created by FontForge 20190112 at Thu Mar 21 16:18:36 2019 + By Robert Madole +Copyright (c) Font Awesome + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/public/fonts/fa-regular-400.ttf b/public/fonts/fa-regular-400.ttf new file mode 100644 index 0000000..18abf92 Binary files /dev/null and b/public/fonts/fa-regular-400.ttf differ diff --git a/public/fonts/fa-regular-400.woff b/public/fonts/fa-regular-400.woff new file mode 100644 index 0000000..0f56619 Binary files /dev/null and b/public/fonts/fa-regular-400.woff differ diff --git a/public/fonts/fa-regular-400.woff2 b/public/fonts/fa-regular-400.woff2 new file mode 100644 index 0000000..6280751 Binary files /dev/null and b/public/fonts/fa-regular-400.woff2 differ diff --git a/public/fonts/fa-solid-900.eot b/public/fonts/fa-solid-900.eot new file mode 100644 index 0000000..eada548 Binary files /dev/null and b/public/fonts/fa-solid-900.eot differ diff --git a/public/fonts/fa-solid-900.svg b/public/fonts/fa-solid-900.svg new file mode 100644 index 0000000..71bbeff --- /dev/null +++ b/public/fonts/fa-solid-900.svg @@ -0,0 +1,7709 @@ + + + + + +Created by FontForge 20190112 at Thu Mar 21 16:18:36 2019 + By Robert Madole +Copyright (c) Font Awesome + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/public/fonts/fa-solid-900.ttf b/public/fonts/fa-solid-900.ttf new file mode 100644 index 0000000..d28c647 Binary files /dev/null and b/public/fonts/fa-solid-900.ttf differ diff --git a/public/fonts/fa-solid-900.woff b/public/fonts/fa-solid-900.woff new file mode 100644 index 0000000..9f59a85 Binary files /dev/null and b/public/fonts/fa-solid-900.woff differ diff --git a/public/fonts/fa-solid-900.woff2 b/public/fonts/fa-solid-900.woff2 new file mode 100644 index 0000000..6d40484 Binary files /dev/null and b/public/fonts/fa-solid-900.woff2 differ diff --git a/public/images/home_bg.jpg b/public/images/home_bg.jpg new file mode 100644 index 0000000..c83d31a Binary files /dev/null and b/public/images/home_bg.jpg differ diff --git a/public/images/ldc-logo.png b/public/images/ldc-logo.png new file mode 100644 index 0000000..9558626 Binary files /dev/null and b/public/images/ldc-logo.png differ diff --git a/public/images/login_bg.jpg b/public/images/login_bg.jpg new file mode 100644 index 0000000..3f98b90 Binary files /dev/null and b/public/images/login_bg.jpg differ diff --git a/public/js/app.js b/public/js/app.js index e1b3684..e76f08f 100644 --- a/public/js/app.js +++ b/public/js/app.js @@ -86,6184 +86,6 @@ /************************************************************************/ /******/ ({ -/***/ "./node_modules/axios/index.js": -/*!*************************************!*\ - !*** ./node_modules/axios/index.js ***! - \*************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -module.exports = __webpack_require__(/*! ./lib/axios */ "./node_modules/axios/lib/axios.js"); - -/***/ }), - -/***/ "./node_modules/axios/lib/adapters/xhr.js": -/*!************************************************!*\ - !*** ./node_modules/axios/lib/adapters/xhr.js ***! - \************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -var utils = __webpack_require__(/*! ./../utils */ "./node_modules/axios/lib/utils.js"); -var settle = __webpack_require__(/*! ./../core/settle */ "./node_modules/axios/lib/core/settle.js"); -var buildURL = __webpack_require__(/*! ./../helpers/buildURL */ "./node_modules/axios/lib/helpers/buildURL.js"); -var parseHeaders = __webpack_require__(/*! ./../helpers/parseHeaders */ "./node_modules/axios/lib/helpers/parseHeaders.js"); -var isURLSameOrigin = __webpack_require__(/*! ./../helpers/isURLSameOrigin */ "./node_modules/axios/lib/helpers/isURLSameOrigin.js"); -var createError = __webpack_require__(/*! ../core/createError */ "./node_modules/axios/lib/core/createError.js"); -var btoa = (typeof window !== 'undefined' && window.btoa && window.btoa.bind(window)) || __webpack_require__(/*! ./../helpers/btoa */ "./node_modules/axios/lib/helpers/btoa.js"); - -module.exports = function xhrAdapter(config) { - return new Promise(function dispatchXhrRequest(resolve, reject) { - var requestData = config.data; - var requestHeaders = config.headers; - - if (utils.isFormData(requestData)) { - delete requestHeaders['Content-Type']; // Let the browser set it - } - - var request = new XMLHttpRequest(); - var loadEvent = 'onreadystatechange'; - var xDomain = false; - - // For IE 8/9 CORS support - // Only supports POST and GET calls and doesn't returns the response headers. - // DON'T do this for testing b/c XMLHttpRequest is mocked, not XDomainRequest. - if ( true && - typeof window !== 'undefined' && - window.XDomainRequest && !('withCredentials' in request) && - !isURLSameOrigin(config.url)) { - request = new window.XDomainRequest(); - loadEvent = 'onload'; - xDomain = true; - request.onprogress = function handleProgress() {}; - request.ontimeout = function handleTimeout() {}; - } - - // HTTP basic authentication - if (config.auth) { - var username = config.auth.username || ''; - var password = config.auth.password || ''; - requestHeaders.Authorization = 'Basic ' + btoa(username + ':' + password); - } - - request.open(config.method.toUpperCase(), buildURL(config.url, config.params, config.paramsSerializer), true); - - // Set the request timeout in MS - request.timeout = config.timeout; - - // Listen for ready state - request[loadEvent] = function handleLoad() { - if (!request || (request.readyState !== 4 && !xDomain)) { - return; - } - - // The request errored out and we didn't get a response, this will be - // handled by onerror instead - // With one exception: request that using file: protocol, most browsers - // will return status as 0 even though it's a successful request - if (request.status === 0 && !(request.responseURL && request.responseURL.indexOf('file:') === 0)) { - return; - } - - // Prepare the response - var responseHeaders = 'getAllResponseHeaders' in request ? parseHeaders(request.getAllResponseHeaders()) : null; - var responseData = !config.responseType || config.responseType === 'text' ? request.responseText : request.response; - var response = { - data: responseData, - // IE sends 1223 instead of 204 (https://github.com/axios/axios/issues/201) - status: request.status === 1223 ? 204 : request.status, - statusText: request.status === 1223 ? 'No Content' : request.statusText, - headers: responseHeaders, - config: config, - request: request - }; - - settle(resolve, reject, response); - - // Clean up request - request = null; - }; - - // Handle low level network errors - request.onerror = function handleError() { - // Real errors are hidden from us by the browser - // onerror should only fire if it's a network error - reject(createError('Network Error', config, null, request)); - - // Clean up request - request = null; - }; - - // Handle timeout - request.ontimeout = function handleTimeout() { - reject(createError('timeout of ' + config.timeout + 'ms exceeded', config, 'ECONNABORTED', - request)); - - // Clean up request - request = null; - }; - - // Add xsrf header - // This is only done if running in a standard browser environment. - // Specifically not if we're in a web worker, or react-native. - if (utils.isStandardBrowserEnv()) { - var cookies = __webpack_require__(/*! ./../helpers/cookies */ "./node_modules/axios/lib/helpers/cookies.js"); - - // Add xsrf header - var xsrfValue = (config.withCredentials || isURLSameOrigin(config.url)) && config.xsrfCookieName ? - cookies.read(config.xsrfCookieName) : - undefined; - - if (xsrfValue) { - requestHeaders[config.xsrfHeaderName] = xsrfValue; - } - } - - // Add headers to the request - if ('setRequestHeader' in request) { - utils.forEach(requestHeaders, function setRequestHeader(val, key) { - if (typeof requestData === 'undefined' && key.toLowerCase() === 'content-type') { - // Remove Content-Type if data is undefined - delete requestHeaders[key]; - } else { - // Otherwise add header to the request - request.setRequestHeader(key, val); - } - }); - } - - // Add withCredentials to request if needed - if (config.withCredentials) { - request.withCredentials = true; - } - - // Add responseType to request if needed - if (config.responseType) { - try { - request.responseType = config.responseType; - } catch (e) { - // Expected DOMException thrown by browsers not compatible XMLHttpRequest Level 2. - // But, this can be suppressed for 'json' type as it can be parsed by default 'transformResponse' function. - if (config.responseType !== 'json') { - throw e; - } - } - } - - // Handle progress if needed - if (typeof config.onDownloadProgress === 'function') { - request.addEventListener('progress', config.onDownloadProgress); - } - - // Not all browsers support upload events - if (typeof config.onUploadProgress === 'function' && request.upload) { - request.upload.addEventListener('progress', config.onUploadProgress); - } - - if (config.cancelToken) { - // Handle cancellation - config.cancelToken.promise.then(function onCanceled(cancel) { - if (!request) { - return; - } - - request.abort(); - reject(cancel); - // Clean up request - request = null; - }); - } - - if (requestData === undefined) { - requestData = null; - } - - // Send the request - request.send(requestData); - }); -}; - - -/***/ }), - -/***/ "./node_modules/axios/lib/axios.js": -/*!*****************************************!*\ - !*** ./node_modules/axios/lib/axios.js ***! - \*****************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -var utils = __webpack_require__(/*! ./utils */ "./node_modules/axios/lib/utils.js"); -var bind = __webpack_require__(/*! ./helpers/bind */ "./node_modules/axios/lib/helpers/bind.js"); -var Axios = __webpack_require__(/*! ./core/Axios */ "./node_modules/axios/lib/core/Axios.js"); -var defaults = __webpack_require__(/*! ./defaults */ "./node_modules/axios/lib/defaults.js"); - -/** - * Create an instance of Axios - * - * @param {Object} defaultConfig The default config for the instance - * @return {Axios} A new instance of Axios - */ -function createInstance(defaultConfig) { - var context = new Axios(defaultConfig); - var instance = bind(Axios.prototype.request, context); - - // Copy axios.prototype to instance - utils.extend(instance, Axios.prototype, context); - - // Copy context to instance - utils.extend(instance, context); - - return instance; -} - -// Create the default instance to be exported -var axios = createInstance(defaults); - -// Expose Axios class to allow class inheritance -axios.Axios = Axios; - -// Factory for creating new instances -axios.create = function create(instanceConfig) { - return createInstance(utils.merge(defaults, instanceConfig)); -}; - -// Expose Cancel & CancelToken -axios.Cancel = __webpack_require__(/*! ./cancel/Cancel */ "./node_modules/axios/lib/cancel/Cancel.js"); -axios.CancelToken = __webpack_require__(/*! ./cancel/CancelToken */ "./node_modules/axios/lib/cancel/CancelToken.js"); -axios.isCancel = __webpack_require__(/*! ./cancel/isCancel */ "./node_modules/axios/lib/cancel/isCancel.js"); - -// Expose all/spread -axios.all = function all(promises) { - return Promise.all(promises); -}; -axios.spread = __webpack_require__(/*! ./helpers/spread */ "./node_modules/axios/lib/helpers/spread.js"); - -module.exports = axios; - -// Allow use of default import syntax in TypeScript -module.exports.default = axios; - - -/***/ }), - -/***/ "./node_modules/axios/lib/cancel/Cancel.js": -/*!*************************************************!*\ - !*** ./node_modules/axios/lib/cancel/Cancel.js ***! - \*************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -/** - * A `Cancel` is an object that is thrown when an operation is canceled. - * - * @class - * @param {string=} message The message. - */ -function Cancel(message) { - this.message = message; -} - -Cancel.prototype.toString = function toString() { - return 'Cancel' + (this.message ? ': ' + this.message : ''); -}; - -Cancel.prototype.__CANCEL__ = true; - -module.exports = Cancel; - - -/***/ }), - -/***/ "./node_modules/axios/lib/cancel/CancelToken.js": -/*!******************************************************!*\ - !*** ./node_modules/axios/lib/cancel/CancelToken.js ***! - \******************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -var Cancel = __webpack_require__(/*! ./Cancel */ "./node_modules/axios/lib/cancel/Cancel.js"); - -/** - * A `CancelToken` is an object that can be used to request cancellation of an operation. - * - * @class - * @param {Function} executor The executor function. - */ -function CancelToken(executor) { - if (typeof executor !== 'function') { - throw new TypeError('executor must be a function.'); - } - - var resolvePromise; - this.promise = new Promise(function promiseExecutor(resolve) { - resolvePromise = resolve; - }); - - var token = this; - executor(function cancel(message) { - if (token.reason) { - // Cancellation has already been requested - return; - } - - token.reason = new Cancel(message); - resolvePromise(token.reason); - }); -} - -/** - * Throws a `Cancel` if cancellation has been requested. - */ -CancelToken.prototype.throwIfRequested = function throwIfRequested() { - if (this.reason) { - throw this.reason; - } -}; - -/** - * Returns an object that contains a new `CancelToken` and a function that, when called, - * cancels the `CancelToken`. - */ -CancelToken.source = function source() { - var cancel; - var token = new CancelToken(function executor(c) { - cancel = c; - }); - return { - token: token, - cancel: cancel - }; -}; - -module.exports = CancelToken; - - -/***/ }), - -/***/ "./node_modules/axios/lib/cancel/isCancel.js": -/*!***************************************************!*\ - !*** ./node_modules/axios/lib/cancel/isCancel.js ***! - \***************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -module.exports = function isCancel(value) { - return !!(value && value.__CANCEL__); -}; - - -/***/ }), - -/***/ "./node_modules/axios/lib/core/Axios.js": -/*!**********************************************!*\ - !*** ./node_modules/axios/lib/core/Axios.js ***! - \**********************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -var defaults = __webpack_require__(/*! ./../defaults */ "./node_modules/axios/lib/defaults.js"); -var utils = __webpack_require__(/*! ./../utils */ "./node_modules/axios/lib/utils.js"); -var InterceptorManager = __webpack_require__(/*! ./InterceptorManager */ "./node_modules/axios/lib/core/InterceptorManager.js"); -var dispatchRequest = __webpack_require__(/*! ./dispatchRequest */ "./node_modules/axios/lib/core/dispatchRequest.js"); - -/** - * Create a new instance of Axios - * - * @param {Object} instanceConfig The default config for the instance - */ -function Axios(instanceConfig) { - this.defaults = instanceConfig; - this.interceptors = { - request: new InterceptorManager(), - response: new InterceptorManager() - }; -} - -/** - * Dispatch a request - * - * @param {Object} config The config specific for this request (merged with this.defaults) - */ -Axios.prototype.request = function request(config) { - /*eslint no-param-reassign:0*/ - // Allow for axios('example/url'[, config]) a la fetch API - if (typeof config === 'string') { - config = utils.merge({ - url: arguments[0] - }, arguments[1]); - } - - config = utils.merge(defaults, {method: 'get'}, this.defaults, config); - config.method = config.method.toLowerCase(); - - // Hook up interceptors middleware - var chain = [dispatchRequest, undefined]; - var promise = Promise.resolve(config); - - this.interceptors.request.forEach(function unshiftRequestInterceptors(interceptor) { - chain.unshift(interceptor.fulfilled, interceptor.rejected); - }); - - this.interceptors.response.forEach(function pushResponseInterceptors(interceptor) { - chain.push(interceptor.fulfilled, interceptor.rejected); - }); - - while (chain.length) { - promise = promise.then(chain.shift(), chain.shift()); - } - - return promise; -}; - -// Provide aliases for supported request methods -utils.forEach(['delete', 'get', 'head', 'options'], function forEachMethodNoData(method) { - /*eslint func-names:0*/ - Axios.prototype[method] = function(url, config) { - return this.request(utils.merge(config || {}, { - method: method, - url: url - })); - }; -}); - -utils.forEach(['post', 'put', 'patch'], function forEachMethodWithData(method) { - /*eslint func-names:0*/ - Axios.prototype[method] = function(url, data, config) { - return this.request(utils.merge(config || {}, { - method: method, - url: url, - data: data - })); - }; -}); - -module.exports = Axios; - - -/***/ }), - -/***/ "./node_modules/axios/lib/core/InterceptorManager.js": -/*!***********************************************************!*\ - !*** ./node_modules/axios/lib/core/InterceptorManager.js ***! - \***********************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -var utils = __webpack_require__(/*! ./../utils */ "./node_modules/axios/lib/utils.js"); - -function InterceptorManager() { - this.handlers = []; -} - -/** - * Add a new interceptor to the stack - * - * @param {Function} fulfilled The function to handle `then` for a `Promise` - * @param {Function} rejected The function to handle `reject` for a `Promise` - * - * @return {Number} An ID used to remove interceptor later - */ -InterceptorManager.prototype.use = function use(fulfilled, rejected) { - this.handlers.push({ - fulfilled: fulfilled, - rejected: rejected - }); - return this.handlers.length - 1; -}; - -/** - * Remove an interceptor from the stack - * - * @param {Number} id The ID that was returned by `use` - */ -InterceptorManager.prototype.eject = function eject(id) { - if (this.handlers[id]) { - this.handlers[id] = null; - } -}; - -/** - * Iterate over all the registered interceptors - * - * This method is particularly useful for skipping over any - * interceptors that may have become `null` calling `eject`. - * - * @param {Function} fn The function to call for each interceptor - */ -InterceptorManager.prototype.forEach = function forEach(fn) { - utils.forEach(this.handlers, function forEachHandler(h) { - if (h !== null) { - fn(h); - } - }); -}; - -module.exports = InterceptorManager; - - -/***/ }), - -/***/ "./node_modules/axios/lib/core/createError.js": -/*!****************************************************!*\ - !*** ./node_modules/axios/lib/core/createError.js ***! - \****************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -var enhanceError = __webpack_require__(/*! ./enhanceError */ "./node_modules/axios/lib/core/enhanceError.js"); - -/** - * Create an Error with the specified message, config, error code, request and response. - * - * @param {string} message The error message. - * @param {Object} config The config. - * @param {string} [code] The error code (for example, 'ECONNABORTED'). - * @param {Object} [request] The request. - * @param {Object} [response] The response. - * @returns {Error} The created error. - */ -module.exports = function createError(message, config, code, request, response) { - var error = new Error(message); - return enhanceError(error, config, code, request, response); -}; - - -/***/ }), - -/***/ "./node_modules/axios/lib/core/dispatchRequest.js": -/*!********************************************************!*\ - !*** ./node_modules/axios/lib/core/dispatchRequest.js ***! - \********************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -var utils = __webpack_require__(/*! ./../utils */ "./node_modules/axios/lib/utils.js"); -var transformData = __webpack_require__(/*! ./transformData */ "./node_modules/axios/lib/core/transformData.js"); -var isCancel = __webpack_require__(/*! ../cancel/isCancel */ "./node_modules/axios/lib/cancel/isCancel.js"); -var defaults = __webpack_require__(/*! ../defaults */ "./node_modules/axios/lib/defaults.js"); -var isAbsoluteURL = __webpack_require__(/*! ./../helpers/isAbsoluteURL */ "./node_modules/axios/lib/helpers/isAbsoluteURL.js"); -var combineURLs = __webpack_require__(/*! ./../helpers/combineURLs */ "./node_modules/axios/lib/helpers/combineURLs.js"); - -/** - * Throws a `Cancel` if cancellation has been requested. - */ -function throwIfCancellationRequested(config) { - if (config.cancelToken) { - config.cancelToken.throwIfRequested(); - } -} - -/** - * Dispatch a request to the server using the configured adapter. - * - * @param {object} config The config that is to be used for the request - * @returns {Promise} The Promise to be fulfilled - */ -module.exports = function dispatchRequest(config) { - throwIfCancellationRequested(config); - - // Support baseURL config - if (config.baseURL && !isAbsoluteURL(config.url)) { - config.url = combineURLs(config.baseURL, config.url); - } - - // Ensure headers exist - config.headers = config.headers || {}; - - // Transform request data - config.data = transformData( - config.data, - config.headers, - config.transformRequest - ); - - // Flatten headers - config.headers = utils.merge( - config.headers.common || {}, - config.headers[config.method] || {}, - config.headers || {} - ); - - utils.forEach( - ['delete', 'get', 'head', 'post', 'put', 'patch', 'common'], - function cleanHeaderConfig(method) { - delete config.headers[method]; - } - ); - - var adapter = config.adapter || defaults.adapter; - - return adapter(config).then(function onAdapterResolution(response) { - throwIfCancellationRequested(config); - - // Transform response data - response.data = transformData( - response.data, - response.headers, - config.transformResponse - ); - - return response; - }, function onAdapterRejection(reason) { - if (!isCancel(reason)) { - throwIfCancellationRequested(config); - - // Transform response data - if (reason && reason.response) { - reason.response.data = transformData( - reason.response.data, - reason.response.headers, - config.transformResponse - ); - } - } - - return Promise.reject(reason); - }); -}; - - -/***/ }), - -/***/ "./node_modules/axios/lib/core/enhanceError.js": -/*!*****************************************************!*\ - !*** ./node_modules/axios/lib/core/enhanceError.js ***! - \*****************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -/** - * Update an Error with the specified config, error code, and response. - * - * @param {Error} error The error to update. - * @param {Object} config The config. - * @param {string} [code] The error code (for example, 'ECONNABORTED'). - * @param {Object} [request] The request. - * @param {Object} [response] The response. - * @returns {Error} The error. - */ -module.exports = function enhanceError(error, config, code, request, response) { - error.config = config; - if (code) { - error.code = code; - } - error.request = request; - error.response = response; - return error; -}; - - -/***/ }), - -/***/ "./node_modules/axios/lib/core/settle.js": -/*!***********************************************!*\ - !*** ./node_modules/axios/lib/core/settle.js ***! - \***********************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -var createError = __webpack_require__(/*! ./createError */ "./node_modules/axios/lib/core/createError.js"); - -/** - * Resolve or reject a Promise based on response status. - * - * @param {Function} resolve A function that resolves the promise. - * @param {Function} reject A function that rejects the promise. - * @param {object} response The response. - */ -module.exports = function settle(resolve, reject, response) { - var validateStatus = response.config.validateStatus; - // Note: status is not exposed by XDomainRequest - if (!response.status || !validateStatus || validateStatus(response.status)) { - resolve(response); - } else { - reject(createError( - 'Request failed with status code ' + response.status, - response.config, - null, - response.request, - response - )); - } -}; - - -/***/ }), - -/***/ "./node_modules/axios/lib/core/transformData.js": -/*!******************************************************!*\ - !*** ./node_modules/axios/lib/core/transformData.js ***! - \******************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -var utils = __webpack_require__(/*! ./../utils */ "./node_modules/axios/lib/utils.js"); - -/** - * Transform the data for a request or a response - * - * @param {Object|String} data The data to be transformed - * @param {Array} headers The headers for the request or response - * @param {Array|Function} fns A single function or Array of functions - * @returns {*} The resulting transformed data - */ -module.exports = function transformData(data, headers, fns) { - /*eslint no-param-reassign:0*/ - utils.forEach(fns, function transform(fn) { - data = fn(data, headers); - }); - - return data; -}; - - -/***/ }), - -/***/ "./node_modules/axios/lib/defaults.js": -/*!********************************************!*\ - !*** ./node_modules/axios/lib/defaults.js ***! - \********************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -/* WEBPACK VAR INJECTION */(function(process) { - -var utils = __webpack_require__(/*! ./utils */ "./node_modules/axios/lib/utils.js"); -var normalizeHeaderName = __webpack_require__(/*! ./helpers/normalizeHeaderName */ "./node_modules/axios/lib/helpers/normalizeHeaderName.js"); - -var DEFAULT_CONTENT_TYPE = { - 'Content-Type': 'application/x-www-form-urlencoded' -}; - -function setContentTypeIfUnset(headers, value) { - if (!utils.isUndefined(headers) && utils.isUndefined(headers['Content-Type'])) { - headers['Content-Type'] = value; - } -} - -function getDefaultAdapter() { - var adapter; - if (typeof XMLHttpRequest !== 'undefined') { - // For browsers use XHR adapter - adapter = __webpack_require__(/*! ./adapters/xhr */ "./node_modules/axios/lib/adapters/xhr.js"); - } else if (typeof process !== 'undefined') { - // For node use HTTP adapter - adapter = __webpack_require__(/*! ./adapters/http */ "./node_modules/axios/lib/adapters/xhr.js"); - } - return adapter; -} - -var defaults = { - adapter: getDefaultAdapter(), - - transformRequest: [function transformRequest(data, headers) { - normalizeHeaderName(headers, 'Content-Type'); - if (utils.isFormData(data) || - utils.isArrayBuffer(data) || - utils.isBuffer(data) || - utils.isStream(data) || - utils.isFile(data) || - utils.isBlob(data) - ) { - return data; - } - if (utils.isArrayBufferView(data)) { - return data.buffer; - } - if (utils.isURLSearchParams(data)) { - setContentTypeIfUnset(headers, 'application/x-www-form-urlencoded;charset=utf-8'); - return data.toString(); - } - if (utils.isObject(data)) { - setContentTypeIfUnset(headers, 'application/json;charset=utf-8'); - return JSON.stringify(data); - } - return data; - }], - - transformResponse: [function transformResponse(data) { - /*eslint no-param-reassign:0*/ - if (typeof data === 'string') { - try { - data = JSON.parse(data); - } catch (e) { /* Ignore */ } - } - return data; - }], - - /** - * A timeout in milliseconds to abort a request. If set to 0 (default) a - * timeout is not created. - */ - timeout: 0, - - xsrfCookieName: 'XSRF-TOKEN', - xsrfHeaderName: 'X-XSRF-TOKEN', - - maxContentLength: -1, - - validateStatus: function validateStatus(status) { - return status >= 200 && status < 300; - } -}; - -defaults.headers = { - common: { - 'Accept': 'application/json, text/plain, */*' - } -}; - -utils.forEach(['delete', 'get', 'head'], function forEachMethodNoData(method) { - defaults.headers[method] = {}; -}); - -utils.forEach(['post', 'put', 'patch'], function forEachMethodWithData(method) { - defaults.headers[method] = utils.merge(DEFAULT_CONTENT_TYPE); -}); - -module.exports = defaults; - -/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./../../process/browser.js */ "./node_modules/process/browser.js"))) - -/***/ }), - -/***/ "./node_modules/axios/lib/helpers/bind.js": -/*!************************************************!*\ - !*** ./node_modules/axios/lib/helpers/bind.js ***! - \************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -module.exports = function bind(fn, thisArg) { - return function wrap() { - var args = new Array(arguments.length); - for (var i = 0; i < args.length; i++) { - args[i] = arguments[i]; - } - return fn.apply(thisArg, args); - }; -}; - - -/***/ }), - -/***/ "./node_modules/axios/lib/helpers/btoa.js": -/*!************************************************!*\ - !*** ./node_modules/axios/lib/helpers/btoa.js ***! - \************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -// btoa polyfill for IE<10 courtesy https://github.com/davidchambers/Base64.js - -var chars = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/='; - -function E() { - this.message = 'String contains an invalid character'; -} -E.prototype = new Error; -E.prototype.code = 5; -E.prototype.name = 'InvalidCharacterError'; - -function btoa(input) { - var str = String(input); - var output = ''; - for ( - // initialize result and counter - var block, charCode, idx = 0, map = chars; - // if the next str index does not exist: - // change the mapping table to "=" - // check if d has no fractional digits - str.charAt(idx | 0) || (map = '=', idx % 1); - // "8 - idx % 1 * 8" generates the sequence 2, 4, 6, 8 - output += map.charAt(63 & block >> 8 - idx % 1 * 8) - ) { - charCode = str.charCodeAt(idx += 3 / 4); - if (charCode > 0xFF) { - throw new E(); - } - block = block << 8 | charCode; - } - return output; -} - -module.exports = btoa; - - -/***/ }), - -/***/ "./node_modules/axios/lib/helpers/buildURL.js": -/*!****************************************************!*\ - !*** ./node_modules/axios/lib/helpers/buildURL.js ***! - \****************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -var utils = __webpack_require__(/*! ./../utils */ "./node_modules/axios/lib/utils.js"); - -function encode(val) { - return encodeURIComponent(val). - replace(/%40/gi, '@'). - replace(/%3A/gi, ':'). - replace(/%24/g, '$'). - replace(/%2C/gi, ','). - replace(/%20/g, '+'). - replace(/%5B/gi, '['). - replace(/%5D/gi, ']'); -} - -/** - * Build a URL by appending params to the end - * - * @param {string} url The base of the url (e.g., http://www.google.com) - * @param {object} [params] The params to be appended - * @returns {string} The formatted url - */ -module.exports = function buildURL(url, params, paramsSerializer) { - /*eslint no-param-reassign:0*/ - if (!params) { - return url; - } - - var serializedParams; - if (paramsSerializer) { - serializedParams = paramsSerializer(params); - } else if (utils.isURLSearchParams(params)) { - serializedParams = params.toString(); - } else { - var parts = []; - - utils.forEach(params, function serialize(val, key) { - if (val === null || typeof val === 'undefined') { - return; - } - - if (utils.isArray(val)) { - key = key + '[]'; - } else { - val = [val]; - } - - utils.forEach(val, function parseValue(v) { - if (utils.isDate(v)) { - v = v.toISOString(); - } else if (utils.isObject(v)) { - v = JSON.stringify(v); - } - parts.push(encode(key) + '=' + encode(v)); - }); - }); - - serializedParams = parts.join('&'); - } - - if (serializedParams) { - url += (url.indexOf('?') === -1 ? '?' : '&') + serializedParams; - } - - return url; -}; - - -/***/ }), - -/***/ "./node_modules/axios/lib/helpers/combineURLs.js": -/*!*******************************************************!*\ - !*** ./node_modules/axios/lib/helpers/combineURLs.js ***! - \*******************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -/** - * Creates a new URL by combining the specified URLs - * - * @param {string} baseURL The base URL - * @param {string} relativeURL The relative URL - * @returns {string} The combined URL - */ -module.exports = function combineURLs(baseURL, relativeURL) { - return relativeURL - ? baseURL.replace(/\/+$/, '') + '/' + relativeURL.replace(/^\/+/, '') - : baseURL; -}; - - -/***/ }), - -/***/ "./node_modules/axios/lib/helpers/cookies.js": -/*!***************************************************!*\ - !*** ./node_modules/axios/lib/helpers/cookies.js ***! - \***************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -var utils = __webpack_require__(/*! ./../utils */ "./node_modules/axios/lib/utils.js"); - -module.exports = ( - utils.isStandardBrowserEnv() ? - - // Standard browser envs support document.cookie - (function standardBrowserEnv() { - return { - write: function write(name, value, expires, path, domain, secure) { - var cookie = []; - cookie.push(name + '=' + encodeURIComponent(value)); - - if (utils.isNumber(expires)) { - cookie.push('expires=' + new Date(expires).toGMTString()); - } - - if (utils.isString(path)) { - cookie.push('path=' + path); - } - - if (utils.isString(domain)) { - cookie.push('domain=' + domain); - } - - if (secure === true) { - cookie.push('secure'); - } - - document.cookie = cookie.join('; '); - }, - - read: function read(name) { - var match = document.cookie.match(new RegExp('(^|;\\s*)(' + name + ')=([^;]*)')); - return (match ? decodeURIComponent(match[3]) : null); - }, - - remove: function remove(name) { - this.write(name, '', Date.now() - 86400000); - } - }; - })() : - - // Non standard browser env (web workers, react-native) lack needed support. - (function nonStandardBrowserEnv() { - return { - write: function write() {}, - read: function read() { return null; }, - remove: function remove() {} - }; - })() -); - - -/***/ }), - -/***/ "./node_modules/axios/lib/helpers/isAbsoluteURL.js": -/*!*********************************************************!*\ - !*** ./node_modules/axios/lib/helpers/isAbsoluteURL.js ***! - \*********************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -/** - * Determines whether the specified URL is absolute - * - * @param {string} url The URL to test - * @returns {boolean} True if the specified URL is absolute, otherwise false - */ -module.exports = function isAbsoluteURL(url) { - // A URL is considered absolute if it begins with "://" or "//" (protocol-relative URL). - // RFC 3986 defines scheme name as a sequence of characters beginning with a letter and followed - // by any combination of letters, digits, plus, period, or hyphen. - return /^([a-z][a-z\d\+\-\.]*:)?\/\//i.test(url); -}; - - -/***/ }), - -/***/ "./node_modules/axios/lib/helpers/isURLSameOrigin.js": -/*!***********************************************************!*\ - !*** ./node_modules/axios/lib/helpers/isURLSameOrigin.js ***! - \***********************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -var utils = __webpack_require__(/*! ./../utils */ "./node_modules/axios/lib/utils.js"); - -module.exports = ( - utils.isStandardBrowserEnv() ? - - // Standard browser envs have full support of the APIs needed to test - // whether the request URL is of the same origin as current location. - (function standardBrowserEnv() { - var msie = /(msie|trident)/i.test(navigator.userAgent); - var urlParsingNode = document.createElement('a'); - var originURL; - - /** - * Parse a URL to discover it's components - * - * @param {String} url The URL to be parsed - * @returns {Object} - */ - function resolveURL(url) { - var href = url; - - if (msie) { - // IE needs attribute set twice to normalize properties - urlParsingNode.setAttribute('href', href); - href = urlParsingNode.href; - } - - urlParsingNode.setAttribute('href', href); - - // urlParsingNode provides the UrlUtils interface - http://url.spec.whatwg.org/#urlutils - return { - href: urlParsingNode.href, - protocol: urlParsingNode.protocol ? urlParsingNode.protocol.replace(/:$/, '') : '', - host: urlParsingNode.host, - search: urlParsingNode.search ? urlParsingNode.search.replace(/^\?/, '') : '', - hash: urlParsingNode.hash ? urlParsingNode.hash.replace(/^#/, '') : '', - hostname: urlParsingNode.hostname, - port: urlParsingNode.port, - pathname: (urlParsingNode.pathname.charAt(0) === '/') ? - urlParsingNode.pathname : - '/' + urlParsingNode.pathname - }; - } - - originURL = resolveURL(window.location.href); - - /** - * Determine if a URL shares the same origin as the current location - * - * @param {String} requestURL The URL to test - * @returns {boolean} True if URL shares the same origin, otherwise false - */ - return function isURLSameOrigin(requestURL) { - var parsed = (utils.isString(requestURL)) ? resolveURL(requestURL) : requestURL; - return (parsed.protocol === originURL.protocol && - parsed.host === originURL.host); - }; - })() : - - // Non standard browser envs (web workers, react-native) lack needed support. - (function nonStandardBrowserEnv() { - return function isURLSameOrigin() { - return true; - }; - })() -); - - -/***/ }), - -/***/ "./node_modules/axios/lib/helpers/normalizeHeaderName.js": -/*!***************************************************************!*\ - !*** ./node_modules/axios/lib/helpers/normalizeHeaderName.js ***! - \***************************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -var utils = __webpack_require__(/*! ../utils */ "./node_modules/axios/lib/utils.js"); - -module.exports = function normalizeHeaderName(headers, normalizedName) { - utils.forEach(headers, function processHeader(value, name) { - if (name !== normalizedName && name.toUpperCase() === normalizedName.toUpperCase()) { - headers[normalizedName] = value; - delete headers[name]; - } - }); -}; - - -/***/ }), - -/***/ "./node_modules/axios/lib/helpers/parseHeaders.js": -/*!********************************************************!*\ - !*** ./node_modules/axios/lib/helpers/parseHeaders.js ***! - \********************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -var utils = __webpack_require__(/*! ./../utils */ "./node_modules/axios/lib/utils.js"); - -// Headers whose duplicates are ignored by node -// c.f. https://nodejs.org/api/http.html#http_message_headers -var ignoreDuplicateOf = [ - 'age', 'authorization', 'content-length', 'content-type', 'etag', - 'expires', 'from', 'host', 'if-modified-since', 'if-unmodified-since', - 'last-modified', 'location', 'max-forwards', 'proxy-authorization', - 'referer', 'retry-after', 'user-agent' -]; - -/** - * Parse headers into an object - * - * ``` - * Date: Wed, 27 Aug 2014 08:58:49 GMT - * Content-Type: application/json - * Connection: keep-alive - * Transfer-Encoding: chunked - * ``` - * - * @param {String} headers Headers needing to be parsed - * @returns {Object} Headers parsed into an object - */ -module.exports = function parseHeaders(headers) { - var parsed = {}; - var key; - var val; - var i; - - if (!headers) { return parsed; } - - utils.forEach(headers.split('\n'), function parser(line) { - i = line.indexOf(':'); - key = utils.trim(line.substr(0, i)).toLowerCase(); - val = utils.trim(line.substr(i + 1)); - - if (key) { - if (parsed[key] && ignoreDuplicateOf.indexOf(key) >= 0) { - return; - } - if (key === 'set-cookie') { - parsed[key] = (parsed[key] ? parsed[key] : []).concat([val]); - } else { - parsed[key] = parsed[key] ? parsed[key] + ', ' + val : val; - } - } - }); - - return parsed; -}; - - -/***/ }), - -/***/ "./node_modules/axios/lib/helpers/spread.js": -/*!**************************************************!*\ - !*** ./node_modules/axios/lib/helpers/spread.js ***! - \**************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -/** - * Syntactic sugar for invoking a function and expanding an array for arguments. - * - * Common use case would be to use `Function.prototype.apply`. - * - * ```js - * function f(x, y, z) {} - * var args = [1, 2, 3]; - * f.apply(null, args); - * ``` - * - * With `spread` this example can be re-written. - * - * ```js - * spread(function(x, y, z) {})([1, 2, 3]); - * ``` - * - * @param {Function} callback - * @returns {Function} - */ -module.exports = function spread(callback) { - return function wrap(arr) { - return callback.apply(null, arr); - }; -}; - - -/***/ }), - -/***/ "./node_modules/axios/lib/utils.js": -/*!*****************************************!*\ - !*** ./node_modules/axios/lib/utils.js ***! - \*****************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -var bind = __webpack_require__(/*! ./helpers/bind */ "./node_modules/axios/lib/helpers/bind.js"); -var isBuffer = __webpack_require__(/*! is-buffer */ "./node_modules/is-buffer/index.js"); - -/*global toString:true*/ - -// utils is a library of generic helper functions non-specific to axios - -var toString = Object.prototype.toString; - -/** - * Determine if a value is an Array - * - * @param {Object} val The value to test - * @returns {boolean} True if value is an Array, otherwise false - */ -function isArray(val) { - return toString.call(val) === '[object Array]'; -} - -/** - * Determine if a value is an ArrayBuffer - * - * @param {Object} val The value to test - * @returns {boolean} True if value is an ArrayBuffer, otherwise false - */ -function isArrayBuffer(val) { - return toString.call(val) === '[object ArrayBuffer]'; -} - -/** - * Determine if a value is a FormData - * - * @param {Object} val The value to test - * @returns {boolean} True if value is an FormData, otherwise false - */ -function isFormData(val) { - return (typeof FormData !== 'undefined') && (val instanceof FormData); -} - -/** - * Determine if a value is a view on an ArrayBuffer - * - * @param {Object} val The value to test - * @returns {boolean} True if value is a view on an ArrayBuffer, otherwise false - */ -function isArrayBufferView(val) { - var result; - if ((typeof ArrayBuffer !== 'undefined') && (ArrayBuffer.isView)) { - result = ArrayBuffer.isView(val); - } else { - result = (val) && (val.buffer) && (val.buffer instanceof ArrayBuffer); - } - return result; -} - -/** - * Determine if a value is a String - * - * @param {Object} val The value to test - * @returns {boolean} True if value is a String, otherwise false - */ -function isString(val) { - return typeof val === 'string'; -} - -/** - * Determine if a value is a Number - * - * @param {Object} val The value to test - * @returns {boolean} True if value is a Number, otherwise false - */ -function isNumber(val) { - return typeof val === 'number'; -} - -/** - * Determine if a value is undefined - * - * @param {Object} val The value to test - * @returns {boolean} True if the value is undefined, otherwise false - */ -function isUndefined(val) { - return typeof val === 'undefined'; -} - -/** - * Determine if a value is an Object - * - * @param {Object} val The value to test - * @returns {boolean} True if value is an Object, otherwise false - */ -function isObject(val) { - return val !== null && typeof val === 'object'; -} - -/** - * Determine if a value is a Date - * - * @param {Object} val The value to test - * @returns {boolean} True if value is a Date, otherwise false - */ -function isDate(val) { - return toString.call(val) === '[object Date]'; -} - -/** - * Determine if a value is a File - * - * @param {Object} val The value to test - * @returns {boolean} True if value is a File, otherwise false - */ -function isFile(val) { - return toString.call(val) === '[object File]'; -} - -/** - * Determine if a value is a Blob - * - * @param {Object} val The value to test - * @returns {boolean} True if value is a Blob, otherwise false - */ -function isBlob(val) { - return toString.call(val) === '[object Blob]'; -} - -/** - * Determine if a value is a Function - * - * @param {Object} val The value to test - * @returns {boolean} True if value is a Function, otherwise false - */ -function isFunction(val) { - return toString.call(val) === '[object Function]'; -} - -/** - * Determine if a value is a Stream - * - * @param {Object} val The value to test - * @returns {boolean} True if value is a Stream, otherwise false - */ -function isStream(val) { - return isObject(val) && isFunction(val.pipe); -} - -/** - * Determine if a value is a URLSearchParams object - * - * @param {Object} val The value to test - * @returns {boolean} True if value is a URLSearchParams object, otherwise false - */ -function isURLSearchParams(val) { - return typeof URLSearchParams !== 'undefined' && val instanceof URLSearchParams; -} - -/** - * Trim excess whitespace off the beginning and end of a string - * - * @param {String} str The String to trim - * @returns {String} The String freed of excess whitespace - */ -function trim(str) { - return str.replace(/^\s*/, '').replace(/\s*$/, ''); -} - -/** - * Determine if we're running in a standard browser environment - * - * This allows axios to run in a web worker, and react-native. - * Both environments support XMLHttpRequest, but not fully standard globals. - * - * web workers: - * typeof window -> undefined - * typeof document -> undefined - * - * react-native: - * navigator.product -> 'ReactNative' - */ -function isStandardBrowserEnv() { - if (typeof navigator !== 'undefined' && navigator.product === 'ReactNative') { - return false; - } - return ( - typeof window !== 'undefined' && - typeof document !== 'undefined' - ); -} - -/** - * Iterate over an Array or an Object invoking a function for each item. - * - * If `obj` is an Array callback will be called passing - * the value, index, and complete array for each item. - * - * If 'obj' is an Object callback will be called passing - * the value, key, and complete object for each property. - * - * @param {Object|Array} obj The object to iterate - * @param {Function} fn The callback to invoke for each item - */ -function forEach(obj, fn) { - // Don't bother if no value provided - if (obj === null || typeof obj === 'undefined') { - return; - } - - // Force an array if not already something iterable - if (typeof obj !== 'object') { - /*eslint no-param-reassign:0*/ - obj = [obj]; - } - - if (isArray(obj)) { - // Iterate over array values - for (var i = 0, l = obj.length; i < l; i++) { - fn.call(null, obj[i], i, obj); - } - } else { - // Iterate over object keys - for (var key in obj) { - if (Object.prototype.hasOwnProperty.call(obj, key)) { - fn.call(null, obj[key], key, obj); - } - } - } -} - -/** - * Accepts varargs expecting each argument to be an object, then - * immutably merges the properties of each object and returns result. - * - * When multiple objects contain the same key the later object in - * the arguments list will take precedence. - * - * Example: - * - * ```js - * var result = merge({foo: 123}, {foo: 456}); - * console.log(result.foo); // outputs 456 - * ``` - * - * @param {Object} obj1 Object to merge - * @returns {Object} Result of all merge properties - */ -function merge(/* obj1, obj2, obj3, ... */) { - var result = {}; - function assignValue(val, key) { - if (typeof result[key] === 'object' && typeof val === 'object') { - result[key] = merge(result[key], val); - } else { - result[key] = val; - } - } - - for (var i = 0, l = arguments.length; i < l; i++) { - forEach(arguments[i], assignValue); - } - return result; -} - -/** - * Extends object a by mutably adding to it the properties of object b. - * - * @param {Object} a The object to be extended - * @param {Object} b The object to copy properties from - * @param {Object} thisArg The object to bind function to - * @return {Object} The resulting value of object a - */ -function extend(a, b, thisArg) { - forEach(b, function assignValue(val, key) { - if (thisArg && typeof val === 'function') { - a[key] = bind(val, thisArg); - } else { - a[key] = val; - } - }); - return a; -} - -module.exports = { - isArray: isArray, - isArrayBuffer: isArrayBuffer, - isBuffer: isBuffer, - isFormData: isFormData, - isArrayBufferView: isArrayBufferView, - isString: isString, - isNumber: isNumber, - isObject: isObject, - isUndefined: isUndefined, - isDate: isDate, - isFile: isFile, - isBlob: isBlob, - isFunction: isFunction, - isStream: isStream, - isURLSearchParams: isURLSearchParams, - isStandardBrowserEnv: isStandardBrowserEnv, - forEach: forEach, - merge: merge, - extend: extend, - trim: trim -}; - - -/***/ }), - -/***/ "./node_modules/babel-loader/lib/index.js?!./node_modules/vue-loader/lib/index.js?!./resources/js/components/ExampleComponent.vue?vue&type=script&lang=js&": -/*!***************************************************************************************************************************************************************************!*\ - !*** ./node_modules/babel-loader/lib??ref--4-0!./node_modules/vue-loader/lib??vue-loader-options!./resources/js/components/ExampleComponent.vue?vue&type=script&lang=js& ***! - \***************************************************************************************************************************************************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -// -// -// -// -// -// -// -// -// -// -// -// -// -// -// -// -/* harmony default export */ __webpack_exports__["default"] = ({ - mounted: function mounted() { - console.log('Component mounted.'); - } -}); - -/***/ }), - -/***/ "./node_modules/bootstrap/dist/js/bootstrap.js": -/*!*****************************************************!*\ - !*** ./node_modules/bootstrap/dist/js/bootstrap.js ***! - \*****************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -/*! - * Bootstrap v4.3.1 (https://getbootstrap.com/) - * Copyright 2011-2019 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors) - * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) - */ -(function (global, factory) { - true ? factory(exports, __webpack_require__(/*! jquery */ "./node_modules/jquery/dist/jquery.js"), __webpack_require__(/*! popper.js */ "./node_modules/popper.js/dist/esm/popper.js")) : - undefined; -}(this, function (exports, $, Popper) { 'use strict'; - - $ = $ && $.hasOwnProperty('default') ? $['default'] : $; - Popper = Popper && Popper.hasOwnProperty('default') ? Popper['default'] : Popper; - - function _defineProperties(target, props) { - for (var i = 0; i < props.length; i++) { - var descriptor = props[i]; - descriptor.enumerable = descriptor.enumerable || false; - descriptor.configurable = true; - if ("value" in descriptor) descriptor.writable = true; - Object.defineProperty(target, descriptor.key, descriptor); - } - } - - function _createClass(Constructor, protoProps, staticProps) { - if (protoProps) _defineProperties(Constructor.prototype, protoProps); - if (staticProps) _defineProperties(Constructor, staticProps); - return Constructor; - } - - function _defineProperty(obj, key, value) { - if (key in obj) { - Object.defineProperty(obj, key, { - value: value, - enumerable: true, - configurable: true, - writable: true - }); - } else { - obj[key] = value; - } - - return obj; - } - - function _objectSpread(target) { - for (var i = 1; i < arguments.length; i++) { - var source = arguments[i] != null ? arguments[i] : {}; - var ownKeys = Object.keys(source); - - if (typeof Object.getOwnPropertySymbols === 'function') { - ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { - return Object.getOwnPropertyDescriptor(source, sym).enumerable; - })); - } - - ownKeys.forEach(function (key) { - _defineProperty(target, key, source[key]); - }); - } - - return target; - } - - function _inheritsLoose(subClass, superClass) { - subClass.prototype = Object.create(superClass.prototype); - subClass.prototype.constructor = subClass; - subClass.__proto__ = superClass; - } - - /** - * -------------------------------------------------------------------------- - * Bootstrap (v4.3.1): util.js - * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) - * -------------------------------------------------------------------------- - */ - /** - * ------------------------------------------------------------------------ - * Private TransitionEnd Helpers - * ------------------------------------------------------------------------ - */ - - var TRANSITION_END = 'transitionend'; - var MAX_UID = 1000000; - var MILLISECONDS_MULTIPLIER = 1000; // Shoutout AngusCroll (https://goo.gl/pxwQGp) - - function toType(obj) { - return {}.toString.call(obj).match(/\s([a-z]+)/i)[1].toLowerCase(); - } - - function getSpecialTransitionEndEvent() { - return { - bindType: TRANSITION_END, - delegateType: TRANSITION_END, - handle: function handle(event) { - if ($(event.target).is(this)) { - return event.handleObj.handler.apply(this, arguments); // eslint-disable-line prefer-rest-params - } - - return undefined; // eslint-disable-line no-undefined - } - }; - } - - function transitionEndEmulator(duration) { - var _this = this; - - var called = false; - $(this).one(Util.TRANSITION_END, function () { - called = true; - }); - setTimeout(function () { - if (!called) { - Util.triggerTransitionEnd(_this); - } - }, duration); - return this; - } - - function setTransitionEndSupport() { - $.fn.emulateTransitionEnd = transitionEndEmulator; - $.event.special[Util.TRANSITION_END] = getSpecialTransitionEndEvent(); - } - /** - * -------------------------------------------------------------------------- - * Public Util Api - * -------------------------------------------------------------------------- - */ - - - var Util = { - TRANSITION_END: 'bsTransitionEnd', - getUID: function getUID(prefix) { - do { - // eslint-disable-next-line no-bitwise - prefix += ~~(Math.random() * MAX_UID); // "~~" acts like a faster Math.floor() here - } while (document.getElementById(prefix)); - - return prefix; - }, - getSelectorFromElement: function getSelectorFromElement(element) { - var selector = element.getAttribute('data-target'); - - if (!selector || selector === '#') { - var hrefAttr = element.getAttribute('href'); - selector = hrefAttr && hrefAttr !== '#' ? hrefAttr.trim() : ''; - } - - try { - return document.querySelector(selector) ? selector : null; - } catch (err) { - return null; - } - }, - getTransitionDurationFromElement: function getTransitionDurationFromElement(element) { - if (!element) { - return 0; - } // Get transition-duration of the element - - - var transitionDuration = $(element).css('transition-duration'); - var transitionDelay = $(element).css('transition-delay'); - var floatTransitionDuration = parseFloat(transitionDuration); - var floatTransitionDelay = parseFloat(transitionDelay); // Return 0 if element or transition duration is not found - - if (!floatTransitionDuration && !floatTransitionDelay) { - return 0; - } // If multiple durations are defined, take the first - - - transitionDuration = transitionDuration.split(',')[0]; - transitionDelay = transitionDelay.split(',')[0]; - return (parseFloat(transitionDuration) + parseFloat(transitionDelay)) * MILLISECONDS_MULTIPLIER; - }, - reflow: function reflow(element) { - return element.offsetHeight; - }, - triggerTransitionEnd: function triggerTransitionEnd(element) { - $(element).trigger(TRANSITION_END); - }, - // TODO: Remove in v5 - supportsTransitionEnd: function supportsTransitionEnd() { - return Boolean(TRANSITION_END); - }, - isElement: function isElement(obj) { - return (obj[0] || obj).nodeType; - }, - typeCheckConfig: function typeCheckConfig(componentName, config, configTypes) { - for (var property in configTypes) { - if (Object.prototype.hasOwnProperty.call(configTypes, property)) { - var expectedTypes = configTypes[property]; - var value = config[property]; - var valueType = value && Util.isElement(value) ? 'element' : toType(value); - - if (!new RegExp(expectedTypes).test(valueType)) { - throw new Error(componentName.toUpperCase() + ": " + ("Option \"" + property + "\" provided type \"" + valueType + "\" ") + ("but expected type \"" + expectedTypes + "\".")); - } - } - } - }, - findShadowRoot: function findShadowRoot(element) { - if (!document.documentElement.attachShadow) { - return null; - } // Can find the shadow root otherwise it'll return the document - - - if (typeof element.getRootNode === 'function') { - var root = element.getRootNode(); - return root instanceof ShadowRoot ? root : null; - } - - if (element instanceof ShadowRoot) { - return element; - } // when we don't find a shadow root - - - if (!element.parentNode) { - return null; - } - - return Util.findShadowRoot(element.parentNode); - } - }; - setTransitionEndSupport(); - - /** - * ------------------------------------------------------------------------ - * Constants - * ------------------------------------------------------------------------ - */ - - var NAME = 'alert'; - var VERSION = '4.3.1'; - var DATA_KEY = 'bs.alert'; - var EVENT_KEY = "." + DATA_KEY; - var DATA_API_KEY = '.data-api'; - var JQUERY_NO_CONFLICT = $.fn[NAME]; - var Selector = { - DISMISS: '[data-dismiss="alert"]' - }; - var Event = { - CLOSE: "close" + EVENT_KEY, - CLOSED: "closed" + EVENT_KEY, - CLICK_DATA_API: "click" + EVENT_KEY + DATA_API_KEY - }; - var ClassName = { - ALERT: 'alert', - FADE: 'fade', - SHOW: 'show' - /** - * ------------------------------------------------------------------------ - * Class Definition - * ------------------------------------------------------------------------ - */ - - }; - - var Alert = - /*#__PURE__*/ - function () { - function Alert(element) { - this._element = element; - } // Getters - - - var _proto = Alert.prototype; - - // Public - _proto.close = function close(element) { - var rootElement = this._element; - - if (element) { - rootElement = this._getRootElement(element); - } - - var customEvent = this._triggerCloseEvent(rootElement); - - if (customEvent.isDefaultPrevented()) { - return; - } - - this._removeElement(rootElement); - }; - - _proto.dispose = function dispose() { - $.removeData(this._element, DATA_KEY); - this._element = null; - } // Private - ; - - _proto._getRootElement = function _getRootElement(element) { - var selector = Util.getSelectorFromElement(element); - var parent = false; - - if (selector) { - parent = document.querySelector(selector); - } - - if (!parent) { - parent = $(element).closest("." + ClassName.ALERT)[0]; - } - - return parent; - }; - - _proto._triggerCloseEvent = function _triggerCloseEvent(element) { - var closeEvent = $.Event(Event.CLOSE); - $(element).trigger(closeEvent); - return closeEvent; - }; - - _proto._removeElement = function _removeElement(element) { - var _this = this; - - $(element).removeClass(ClassName.SHOW); - - if (!$(element).hasClass(ClassName.FADE)) { - this._destroyElement(element); - - return; - } - - var transitionDuration = Util.getTransitionDurationFromElement(element); - $(element).one(Util.TRANSITION_END, function (event) { - return _this._destroyElement(element, event); - }).emulateTransitionEnd(transitionDuration); - }; - - _proto._destroyElement = function _destroyElement(element) { - $(element).detach().trigger(Event.CLOSED).remove(); - } // Static - ; - - Alert._jQueryInterface = function _jQueryInterface(config) { - return this.each(function () { - var $element = $(this); - var data = $element.data(DATA_KEY); - - if (!data) { - data = new Alert(this); - $element.data(DATA_KEY, data); - } - - if (config === 'close') { - data[config](this); - } - }); - }; - - Alert._handleDismiss = function _handleDismiss(alertInstance) { - return function (event) { - if (event) { - event.preventDefault(); - } - - alertInstance.close(this); - }; - }; - - _createClass(Alert, null, [{ - key: "VERSION", - get: function get() { - return VERSION; - } - }]); - - return Alert; - }(); - /** - * ------------------------------------------------------------------------ - * Data Api implementation - * ------------------------------------------------------------------------ - */ - - - $(document).on(Event.CLICK_DATA_API, Selector.DISMISS, Alert._handleDismiss(new Alert())); - /** - * ------------------------------------------------------------------------ - * jQuery - * ------------------------------------------------------------------------ - */ - - $.fn[NAME] = Alert._jQueryInterface; - $.fn[NAME].Constructor = Alert; - - $.fn[NAME].noConflict = function () { - $.fn[NAME] = JQUERY_NO_CONFLICT; - return Alert._jQueryInterface; - }; - - /** - * ------------------------------------------------------------------------ - * Constants - * ------------------------------------------------------------------------ - */ - - var NAME$1 = 'button'; - var VERSION$1 = '4.3.1'; - var DATA_KEY$1 = 'bs.button'; - var EVENT_KEY$1 = "." + DATA_KEY$1; - var DATA_API_KEY$1 = '.data-api'; - var JQUERY_NO_CONFLICT$1 = $.fn[NAME$1]; - var ClassName$1 = { - ACTIVE: 'active', - BUTTON: 'btn', - FOCUS: 'focus' - }; - var Selector$1 = { - DATA_TOGGLE_CARROT: '[data-toggle^="button"]', - DATA_TOGGLE: '[data-toggle="buttons"]', - INPUT: 'input:not([type="hidden"])', - ACTIVE: '.active', - BUTTON: '.btn' - }; - var Event$1 = { - CLICK_DATA_API: "click" + EVENT_KEY$1 + DATA_API_KEY$1, - FOCUS_BLUR_DATA_API: "focus" + EVENT_KEY$1 + DATA_API_KEY$1 + " " + ("blur" + EVENT_KEY$1 + DATA_API_KEY$1) - /** - * ------------------------------------------------------------------------ - * Class Definition - * ------------------------------------------------------------------------ - */ - - }; - - var Button = - /*#__PURE__*/ - function () { - function Button(element) { - this._element = element; - } // Getters - - - var _proto = Button.prototype; - - // Public - _proto.toggle = function toggle() { - var triggerChangeEvent = true; - var addAriaPressed = true; - var rootElement = $(this._element).closest(Selector$1.DATA_TOGGLE)[0]; - - if (rootElement) { - var input = this._element.querySelector(Selector$1.INPUT); - - if (input) { - if (input.type === 'radio') { - if (input.checked && this._element.classList.contains(ClassName$1.ACTIVE)) { - triggerChangeEvent = false; - } else { - var activeElement = rootElement.querySelector(Selector$1.ACTIVE); - - if (activeElement) { - $(activeElement).removeClass(ClassName$1.ACTIVE); - } - } - } - - if (triggerChangeEvent) { - if (input.hasAttribute('disabled') || rootElement.hasAttribute('disabled') || input.classList.contains('disabled') || rootElement.classList.contains('disabled')) { - return; - } - - input.checked = !this._element.classList.contains(ClassName$1.ACTIVE); - $(input).trigger('change'); - } - - input.focus(); - addAriaPressed = false; - } - } - - if (addAriaPressed) { - this._element.setAttribute('aria-pressed', !this._element.classList.contains(ClassName$1.ACTIVE)); - } - - if (triggerChangeEvent) { - $(this._element).toggleClass(ClassName$1.ACTIVE); - } - }; - - _proto.dispose = function dispose() { - $.removeData(this._element, DATA_KEY$1); - this._element = null; - } // Static - ; - - Button._jQueryInterface = function _jQueryInterface(config) { - return this.each(function () { - var data = $(this).data(DATA_KEY$1); - - if (!data) { - data = new Button(this); - $(this).data(DATA_KEY$1, data); - } - - if (config === 'toggle') { - data[config](); - } - }); - }; - - _createClass(Button, null, [{ - key: "VERSION", - get: function get() { - return VERSION$1; - } - }]); - - return Button; - }(); - /** - * ------------------------------------------------------------------------ - * Data Api implementation - * ------------------------------------------------------------------------ - */ - - - $(document).on(Event$1.CLICK_DATA_API, Selector$1.DATA_TOGGLE_CARROT, function (event) { - event.preventDefault(); - var button = event.target; - - if (!$(button).hasClass(ClassName$1.BUTTON)) { - button = $(button).closest(Selector$1.BUTTON); - } - - Button._jQueryInterface.call($(button), 'toggle'); - }).on(Event$1.FOCUS_BLUR_DATA_API, Selector$1.DATA_TOGGLE_CARROT, function (event) { - var button = $(event.target).closest(Selector$1.BUTTON)[0]; - $(button).toggleClass(ClassName$1.FOCUS, /^focus(in)?$/.test(event.type)); - }); - /** - * ------------------------------------------------------------------------ - * jQuery - * ------------------------------------------------------------------------ - */ - - $.fn[NAME$1] = Button._jQueryInterface; - $.fn[NAME$1].Constructor = Button; - - $.fn[NAME$1].noConflict = function () { - $.fn[NAME$1] = JQUERY_NO_CONFLICT$1; - return Button._jQueryInterface; - }; - - /** - * ------------------------------------------------------------------------ - * Constants - * ------------------------------------------------------------------------ - */ - - var NAME$2 = 'carousel'; - var VERSION$2 = '4.3.1'; - var DATA_KEY$2 = 'bs.carousel'; - var EVENT_KEY$2 = "." + DATA_KEY$2; - var DATA_API_KEY$2 = '.data-api'; - var JQUERY_NO_CONFLICT$2 = $.fn[NAME$2]; - var ARROW_LEFT_KEYCODE = 37; // KeyboardEvent.which value for left arrow key - - var ARROW_RIGHT_KEYCODE = 39; // KeyboardEvent.which value for right arrow key - - var TOUCHEVENT_COMPAT_WAIT = 500; // Time for mouse compat events to fire after touch - - var SWIPE_THRESHOLD = 40; - var Default = { - interval: 5000, - keyboard: true, - slide: false, - pause: 'hover', - wrap: true, - touch: true - }; - var DefaultType = { - interval: '(number|boolean)', - keyboard: 'boolean', - slide: '(boolean|string)', - pause: '(string|boolean)', - wrap: 'boolean', - touch: 'boolean' - }; - var Direction = { - NEXT: 'next', - PREV: 'prev', - LEFT: 'left', - RIGHT: 'right' - }; - var Event$2 = { - SLIDE: "slide" + EVENT_KEY$2, - SLID: "slid" + EVENT_KEY$2, - KEYDOWN: "keydown" + EVENT_KEY$2, - MOUSEENTER: "mouseenter" + EVENT_KEY$2, - MOUSELEAVE: "mouseleave" + EVENT_KEY$2, - TOUCHSTART: "touchstart" + EVENT_KEY$2, - TOUCHMOVE: "touchmove" + EVENT_KEY$2, - TOUCHEND: "touchend" + EVENT_KEY$2, - POINTERDOWN: "pointerdown" + EVENT_KEY$2, - POINTERUP: "pointerup" + EVENT_KEY$2, - DRAG_START: "dragstart" + EVENT_KEY$2, - LOAD_DATA_API: "load" + EVENT_KEY$2 + DATA_API_KEY$2, - CLICK_DATA_API: "click" + EVENT_KEY$2 + DATA_API_KEY$2 - }; - var ClassName$2 = { - CAROUSEL: 'carousel', - ACTIVE: 'active', - SLIDE: 'slide', - RIGHT: 'carousel-item-right', - LEFT: 'carousel-item-left', - NEXT: 'carousel-item-next', - PREV: 'carousel-item-prev', - ITEM: 'carousel-item', - POINTER_EVENT: 'pointer-event' - }; - var Selector$2 = { - ACTIVE: '.active', - ACTIVE_ITEM: '.active.carousel-item', - ITEM: '.carousel-item', - ITEM_IMG: '.carousel-item img', - NEXT_PREV: '.carousel-item-next, .carousel-item-prev', - INDICATORS: '.carousel-indicators', - DATA_SLIDE: '[data-slide], [data-slide-to]', - DATA_RIDE: '[data-ride="carousel"]' - }; - var PointerType = { - TOUCH: 'touch', - PEN: 'pen' - /** - * ------------------------------------------------------------------------ - * Class Definition - * ------------------------------------------------------------------------ - */ - - }; - - var Carousel = - /*#__PURE__*/ - function () { - function Carousel(element, config) { - this._items = null; - this._interval = null; - this._activeElement = null; - this._isPaused = false; - this._isSliding = false; - this.touchTimeout = null; - this.touchStartX = 0; - this.touchDeltaX = 0; - this._config = this._getConfig(config); - this._element = element; - this._indicatorsElement = this._element.querySelector(Selector$2.INDICATORS); - this._touchSupported = 'ontouchstart' in document.documentElement || navigator.maxTouchPoints > 0; - this._pointerEvent = Boolean(window.PointerEvent || window.MSPointerEvent); - - this._addEventListeners(); - } // Getters - - - var _proto = Carousel.prototype; - - // Public - _proto.next = function next() { - if (!this._isSliding) { - this._slide(Direction.NEXT); - } - }; - - _proto.nextWhenVisible = function nextWhenVisible() { - // Don't call next when the page isn't visible - // or the carousel or its parent isn't visible - if (!document.hidden && $(this._element).is(':visible') && $(this._element).css('visibility') !== 'hidden') { - this.next(); - } - }; - - _proto.prev = function prev() { - if (!this._isSliding) { - this._slide(Direction.PREV); - } - }; - - _proto.pause = function pause(event) { - if (!event) { - this._isPaused = true; - } - - if (this._element.querySelector(Selector$2.NEXT_PREV)) { - Util.triggerTransitionEnd(this._element); - this.cycle(true); - } - - clearInterval(this._interval); - this._interval = null; - }; - - _proto.cycle = function cycle(event) { - if (!event) { - this._isPaused = false; - } - - if (this._interval) { - clearInterval(this._interval); - this._interval = null; - } - - if (this._config.interval && !this._isPaused) { - this._interval = setInterval((document.visibilityState ? this.nextWhenVisible : this.next).bind(this), this._config.interval); - } - }; - - _proto.to = function to(index) { - var _this = this; - - this._activeElement = this._element.querySelector(Selector$2.ACTIVE_ITEM); - - var activeIndex = this._getItemIndex(this._activeElement); - - if (index > this._items.length - 1 || index < 0) { - return; - } - - if (this._isSliding) { - $(this._element).one(Event$2.SLID, function () { - return _this.to(index); - }); - return; - } - - if (activeIndex === index) { - this.pause(); - this.cycle(); - return; - } - - var direction = index > activeIndex ? Direction.NEXT : Direction.PREV; - - this._slide(direction, this._items[index]); - }; - - _proto.dispose = function dispose() { - $(this._element).off(EVENT_KEY$2); - $.removeData(this._element, DATA_KEY$2); - this._items = null; - this._config = null; - this._element = null; - this._interval = null; - this._isPaused = null; - this._isSliding = null; - this._activeElement = null; - this._indicatorsElement = null; - } // Private - ; - - _proto._getConfig = function _getConfig(config) { - config = _objectSpread({}, Default, config); - Util.typeCheckConfig(NAME$2, config, DefaultType); - return config; - }; - - _proto._handleSwipe = function _handleSwipe() { - var absDeltax = Math.abs(this.touchDeltaX); - - if (absDeltax <= SWIPE_THRESHOLD) { - return; - } - - var direction = absDeltax / this.touchDeltaX; // swipe left - - if (direction > 0) { - this.prev(); - } // swipe right - - - if (direction < 0) { - this.next(); - } - }; - - _proto._addEventListeners = function _addEventListeners() { - var _this2 = this; - - if (this._config.keyboard) { - $(this._element).on(Event$2.KEYDOWN, function (event) { - return _this2._keydown(event); - }); - } - - if (this._config.pause === 'hover') { - $(this._element).on(Event$2.MOUSEENTER, function (event) { - return _this2.pause(event); - }).on(Event$2.MOUSELEAVE, function (event) { - return _this2.cycle(event); - }); - } - - if (this._config.touch) { - this._addTouchEventListeners(); - } - }; - - _proto._addTouchEventListeners = function _addTouchEventListeners() { - var _this3 = this; - - if (!this._touchSupported) { - return; - } - - var start = function start(event) { - if (_this3._pointerEvent && PointerType[event.originalEvent.pointerType.toUpperCase()]) { - _this3.touchStartX = event.originalEvent.clientX; - } else if (!_this3._pointerEvent) { - _this3.touchStartX = event.originalEvent.touches[0].clientX; - } - }; - - var move = function move(event) { - // ensure swiping with one touch and not pinching - if (event.originalEvent.touches && event.originalEvent.touches.length > 1) { - _this3.touchDeltaX = 0; - } else { - _this3.touchDeltaX = event.originalEvent.touches[0].clientX - _this3.touchStartX; - } - }; - - var end = function end(event) { - if (_this3._pointerEvent && PointerType[event.originalEvent.pointerType.toUpperCase()]) { - _this3.touchDeltaX = event.originalEvent.clientX - _this3.touchStartX; - } - - _this3._handleSwipe(); - - if (_this3._config.pause === 'hover') { - // If it's a touch-enabled device, mouseenter/leave are fired as - // part of the mouse compatibility events on first tap - the carousel - // would stop cycling until user tapped out of it; - // here, we listen for touchend, explicitly pause the carousel - // (as if it's the second time we tap on it, mouseenter compat event - // is NOT fired) and after a timeout (to allow for mouse compatibility - // events to fire) we explicitly restart cycling - _this3.pause(); - - if (_this3.touchTimeout) { - clearTimeout(_this3.touchTimeout); - } - - _this3.touchTimeout = setTimeout(function (event) { - return _this3.cycle(event); - }, TOUCHEVENT_COMPAT_WAIT + _this3._config.interval); - } - }; - - $(this._element.querySelectorAll(Selector$2.ITEM_IMG)).on(Event$2.DRAG_START, function (e) { - return e.preventDefault(); - }); - - if (this._pointerEvent) { - $(this._element).on(Event$2.POINTERDOWN, function (event) { - return start(event); - }); - $(this._element).on(Event$2.POINTERUP, function (event) { - return end(event); - }); - - this._element.classList.add(ClassName$2.POINTER_EVENT); - } else { - $(this._element).on(Event$2.TOUCHSTART, function (event) { - return start(event); - }); - $(this._element).on(Event$2.TOUCHMOVE, function (event) { - return move(event); - }); - $(this._element).on(Event$2.TOUCHEND, function (event) { - return end(event); - }); - } - }; - - _proto._keydown = function _keydown(event) { - if (/input|textarea/i.test(event.target.tagName)) { - return; - } - - switch (event.which) { - case ARROW_LEFT_KEYCODE: - event.preventDefault(); - this.prev(); - break; - - case ARROW_RIGHT_KEYCODE: - event.preventDefault(); - this.next(); - break; - - default: - } - }; - - _proto._getItemIndex = function _getItemIndex(element) { - this._items = element && element.parentNode ? [].slice.call(element.parentNode.querySelectorAll(Selector$2.ITEM)) : []; - return this._items.indexOf(element); - }; - - _proto._getItemByDirection = function _getItemByDirection(direction, activeElement) { - var isNextDirection = direction === Direction.NEXT; - var isPrevDirection = direction === Direction.PREV; - - var activeIndex = this._getItemIndex(activeElement); - - var lastItemIndex = this._items.length - 1; - var isGoingToWrap = isPrevDirection && activeIndex === 0 || isNextDirection && activeIndex === lastItemIndex; - - if (isGoingToWrap && !this._config.wrap) { - return activeElement; - } - - var delta = direction === Direction.PREV ? -1 : 1; - var itemIndex = (activeIndex + delta) % this._items.length; - return itemIndex === -1 ? this._items[this._items.length - 1] : this._items[itemIndex]; - }; - - _proto._triggerSlideEvent = function _triggerSlideEvent(relatedTarget, eventDirectionName) { - var targetIndex = this._getItemIndex(relatedTarget); - - var fromIndex = this._getItemIndex(this._element.querySelector(Selector$2.ACTIVE_ITEM)); - - var slideEvent = $.Event(Event$2.SLIDE, { - relatedTarget: relatedTarget, - direction: eventDirectionName, - from: fromIndex, - to: targetIndex - }); - $(this._element).trigger(slideEvent); - return slideEvent; - }; - - _proto._setActiveIndicatorElement = function _setActiveIndicatorElement(element) { - if (this._indicatorsElement) { - var indicators = [].slice.call(this._indicatorsElement.querySelectorAll(Selector$2.ACTIVE)); - $(indicators).removeClass(ClassName$2.ACTIVE); - - var nextIndicator = this._indicatorsElement.children[this._getItemIndex(element)]; - - if (nextIndicator) { - $(nextIndicator).addClass(ClassName$2.ACTIVE); - } - } - }; - - _proto._slide = function _slide(direction, element) { - var _this4 = this; - - var activeElement = this._element.querySelector(Selector$2.ACTIVE_ITEM); - - var activeElementIndex = this._getItemIndex(activeElement); - - var nextElement = element || activeElement && this._getItemByDirection(direction, activeElement); - - var nextElementIndex = this._getItemIndex(nextElement); - - var isCycling = Boolean(this._interval); - var directionalClassName; - var orderClassName; - var eventDirectionName; - - if (direction === Direction.NEXT) { - directionalClassName = ClassName$2.LEFT; - orderClassName = ClassName$2.NEXT; - eventDirectionName = Direction.LEFT; - } else { - directionalClassName = ClassName$2.RIGHT; - orderClassName = ClassName$2.PREV; - eventDirectionName = Direction.RIGHT; - } - - if (nextElement && $(nextElement).hasClass(ClassName$2.ACTIVE)) { - this._isSliding = false; - return; - } - - var slideEvent = this._triggerSlideEvent(nextElement, eventDirectionName); - - if (slideEvent.isDefaultPrevented()) { - return; - } - - if (!activeElement || !nextElement) { - // Some weirdness is happening, so we bail - return; - } - - this._isSliding = true; - - if (isCycling) { - this.pause(); - } - - this._setActiveIndicatorElement(nextElement); - - var slidEvent = $.Event(Event$2.SLID, { - relatedTarget: nextElement, - direction: eventDirectionName, - from: activeElementIndex, - to: nextElementIndex - }); - - if ($(this._element).hasClass(ClassName$2.SLIDE)) { - $(nextElement).addClass(orderClassName); - Util.reflow(nextElement); - $(activeElement).addClass(directionalClassName); - $(nextElement).addClass(directionalClassName); - var nextElementInterval = parseInt(nextElement.getAttribute('data-interval'), 10); - - if (nextElementInterval) { - this._config.defaultInterval = this._config.defaultInterval || this._config.interval; - this._config.interval = nextElementInterval; - } else { - this._config.interval = this._config.defaultInterval || this._config.interval; - } - - var transitionDuration = Util.getTransitionDurationFromElement(activeElement); - $(activeElement).one(Util.TRANSITION_END, function () { - $(nextElement).removeClass(directionalClassName + " " + orderClassName).addClass(ClassName$2.ACTIVE); - $(activeElement).removeClass(ClassName$2.ACTIVE + " " + orderClassName + " " + directionalClassName); - _this4._isSliding = false; - setTimeout(function () { - return $(_this4._element).trigger(slidEvent); - }, 0); - }).emulateTransitionEnd(transitionDuration); - } else { - $(activeElement).removeClass(ClassName$2.ACTIVE); - $(nextElement).addClass(ClassName$2.ACTIVE); - this._isSliding = false; - $(this._element).trigger(slidEvent); - } - - if (isCycling) { - this.cycle(); - } - } // Static - ; - - Carousel._jQueryInterface = function _jQueryInterface(config) { - return this.each(function () { - var data = $(this).data(DATA_KEY$2); - - var _config = _objectSpread({}, Default, $(this).data()); - - if (typeof config === 'object') { - _config = _objectSpread({}, _config, config); - } - - var action = typeof config === 'string' ? config : _config.slide; - - if (!data) { - data = new Carousel(this, _config); - $(this).data(DATA_KEY$2, data); - } - - if (typeof config === 'number') { - data.to(config); - } else if (typeof action === 'string') { - if (typeof data[action] === 'undefined') { - throw new TypeError("No method named \"" + action + "\""); - } - - data[action](); - } else if (_config.interval && _config.ride) { - data.pause(); - data.cycle(); - } - }); - }; - - Carousel._dataApiClickHandler = function _dataApiClickHandler(event) { - var selector = Util.getSelectorFromElement(this); - - if (!selector) { - return; - } - - var target = $(selector)[0]; - - if (!target || !$(target).hasClass(ClassName$2.CAROUSEL)) { - return; - } - - var config = _objectSpread({}, $(target).data(), $(this).data()); - - var slideIndex = this.getAttribute('data-slide-to'); - - if (slideIndex) { - config.interval = false; - } - - Carousel._jQueryInterface.call($(target), config); - - if (slideIndex) { - $(target).data(DATA_KEY$2).to(slideIndex); - } - - event.preventDefault(); - }; - - _createClass(Carousel, null, [{ - key: "VERSION", - get: function get() { - return VERSION$2; - } - }, { - key: "Default", - get: function get() { - return Default; - } - }]); - - return Carousel; - }(); - /** - * ------------------------------------------------------------------------ - * Data Api implementation - * ------------------------------------------------------------------------ - */ - - - $(document).on(Event$2.CLICK_DATA_API, Selector$2.DATA_SLIDE, Carousel._dataApiClickHandler); - $(window).on(Event$2.LOAD_DATA_API, function () { - var carousels = [].slice.call(document.querySelectorAll(Selector$2.DATA_RIDE)); - - for (var i = 0, len = carousels.length; i < len; i++) { - var $carousel = $(carousels[i]); - - Carousel._jQueryInterface.call($carousel, $carousel.data()); - } - }); - /** - * ------------------------------------------------------------------------ - * jQuery - * ------------------------------------------------------------------------ - */ - - $.fn[NAME$2] = Carousel._jQueryInterface; - $.fn[NAME$2].Constructor = Carousel; - - $.fn[NAME$2].noConflict = function () { - $.fn[NAME$2] = JQUERY_NO_CONFLICT$2; - return Carousel._jQueryInterface; - }; - - /** - * ------------------------------------------------------------------------ - * Constants - * ------------------------------------------------------------------------ - */ - - var NAME$3 = 'collapse'; - var VERSION$3 = '4.3.1'; - var DATA_KEY$3 = 'bs.collapse'; - var EVENT_KEY$3 = "." + DATA_KEY$3; - var DATA_API_KEY$3 = '.data-api'; - var JQUERY_NO_CONFLICT$3 = $.fn[NAME$3]; - var Default$1 = { - toggle: true, - parent: '' - }; - var DefaultType$1 = { - toggle: 'boolean', - parent: '(string|element)' - }; - var Event$3 = { - SHOW: "show" + EVENT_KEY$3, - SHOWN: "shown" + EVENT_KEY$3, - HIDE: "hide" + EVENT_KEY$3, - HIDDEN: "hidden" + EVENT_KEY$3, - CLICK_DATA_API: "click" + EVENT_KEY$3 + DATA_API_KEY$3 - }; - var ClassName$3 = { - SHOW: 'show', - COLLAPSE: 'collapse', - COLLAPSING: 'collapsing', - COLLAPSED: 'collapsed' - }; - var Dimension = { - WIDTH: 'width', - HEIGHT: 'height' - }; - var Selector$3 = { - ACTIVES: '.show, .collapsing', - DATA_TOGGLE: '[data-toggle="collapse"]' - /** - * ------------------------------------------------------------------------ - * Class Definition - * ------------------------------------------------------------------------ - */ - - }; - - var Collapse = - /*#__PURE__*/ - function () { - function Collapse(element, config) { - this._isTransitioning = false; - this._element = element; - this._config = this._getConfig(config); - this._triggerArray = [].slice.call(document.querySelectorAll("[data-toggle=\"collapse\"][href=\"#" + element.id + "\"]," + ("[data-toggle=\"collapse\"][data-target=\"#" + element.id + "\"]"))); - var toggleList = [].slice.call(document.querySelectorAll(Selector$3.DATA_TOGGLE)); - - for (var i = 0, len = toggleList.length; i < len; i++) { - var elem = toggleList[i]; - var selector = Util.getSelectorFromElement(elem); - var filterElement = [].slice.call(document.querySelectorAll(selector)).filter(function (foundElem) { - return foundElem === element; - }); - - if (selector !== null && filterElement.length > 0) { - this._selector = selector; - - this._triggerArray.push(elem); - } - } - - this._parent = this._config.parent ? this._getParent() : null; - - if (!this._config.parent) { - this._addAriaAndCollapsedClass(this._element, this._triggerArray); - } - - if (this._config.toggle) { - this.toggle(); - } - } // Getters - - - var _proto = Collapse.prototype; - - // Public - _proto.toggle = function toggle() { - if ($(this._element).hasClass(ClassName$3.SHOW)) { - this.hide(); - } else { - this.show(); - } - }; - - _proto.show = function show() { - var _this = this; - - if (this._isTransitioning || $(this._element).hasClass(ClassName$3.SHOW)) { - return; - } - - var actives; - var activesData; - - if (this._parent) { - actives = [].slice.call(this._parent.querySelectorAll(Selector$3.ACTIVES)).filter(function (elem) { - if (typeof _this._config.parent === 'string') { - return elem.getAttribute('data-parent') === _this._config.parent; - } - - return elem.classList.contains(ClassName$3.COLLAPSE); - }); - - if (actives.length === 0) { - actives = null; - } - } - - if (actives) { - activesData = $(actives).not(this._selector).data(DATA_KEY$3); - - if (activesData && activesData._isTransitioning) { - return; - } - } - - var startEvent = $.Event(Event$3.SHOW); - $(this._element).trigger(startEvent); - - if (startEvent.isDefaultPrevented()) { - return; - } - - if (actives) { - Collapse._jQueryInterface.call($(actives).not(this._selector), 'hide'); - - if (!activesData) { - $(actives).data(DATA_KEY$3, null); - } - } - - var dimension = this._getDimension(); - - $(this._element).removeClass(ClassName$3.COLLAPSE).addClass(ClassName$3.COLLAPSING); - this._element.style[dimension] = 0; - - if (this._triggerArray.length) { - $(this._triggerArray).removeClass(ClassName$3.COLLAPSED).attr('aria-expanded', true); - } - - this.setTransitioning(true); - - var complete = function complete() { - $(_this._element).removeClass(ClassName$3.COLLAPSING).addClass(ClassName$3.COLLAPSE).addClass(ClassName$3.SHOW); - _this._element.style[dimension] = ''; - - _this.setTransitioning(false); - - $(_this._element).trigger(Event$3.SHOWN); - }; - - var capitalizedDimension = dimension[0].toUpperCase() + dimension.slice(1); - var scrollSize = "scroll" + capitalizedDimension; - var transitionDuration = Util.getTransitionDurationFromElement(this._element); - $(this._element).one(Util.TRANSITION_END, complete).emulateTransitionEnd(transitionDuration); - this._element.style[dimension] = this._element[scrollSize] + "px"; - }; - - _proto.hide = function hide() { - var _this2 = this; - - if (this._isTransitioning || !$(this._element).hasClass(ClassName$3.SHOW)) { - return; - } - - var startEvent = $.Event(Event$3.HIDE); - $(this._element).trigger(startEvent); - - if (startEvent.isDefaultPrevented()) { - return; - } - - var dimension = this._getDimension(); - - this._element.style[dimension] = this._element.getBoundingClientRect()[dimension] + "px"; - Util.reflow(this._element); - $(this._element).addClass(ClassName$3.COLLAPSING).removeClass(ClassName$3.COLLAPSE).removeClass(ClassName$3.SHOW); - var triggerArrayLength = this._triggerArray.length; - - if (triggerArrayLength > 0) { - for (var i = 0; i < triggerArrayLength; i++) { - var trigger = this._triggerArray[i]; - var selector = Util.getSelectorFromElement(trigger); - - if (selector !== null) { - var $elem = $([].slice.call(document.querySelectorAll(selector))); - - if (!$elem.hasClass(ClassName$3.SHOW)) { - $(trigger).addClass(ClassName$3.COLLAPSED).attr('aria-expanded', false); - } - } - } - } - - this.setTransitioning(true); - - var complete = function complete() { - _this2.setTransitioning(false); - - $(_this2._element).removeClass(ClassName$3.COLLAPSING).addClass(ClassName$3.COLLAPSE).trigger(Event$3.HIDDEN); - }; - - this._element.style[dimension] = ''; - var transitionDuration = Util.getTransitionDurationFromElement(this._element); - $(this._element).one(Util.TRANSITION_END, complete).emulateTransitionEnd(transitionDuration); - }; - - _proto.setTransitioning = function setTransitioning(isTransitioning) { - this._isTransitioning = isTransitioning; - }; - - _proto.dispose = function dispose() { - $.removeData(this._element, DATA_KEY$3); - this._config = null; - this._parent = null; - this._element = null; - this._triggerArray = null; - this._isTransitioning = null; - } // Private - ; - - _proto._getConfig = function _getConfig(config) { - config = _objectSpread({}, Default$1, config); - config.toggle = Boolean(config.toggle); // Coerce string values - - Util.typeCheckConfig(NAME$3, config, DefaultType$1); - return config; - }; - - _proto._getDimension = function _getDimension() { - var hasWidth = $(this._element).hasClass(Dimension.WIDTH); - return hasWidth ? Dimension.WIDTH : Dimension.HEIGHT; - }; - - _proto._getParent = function _getParent() { - var _this3 = this; - - var parent; - - if (Util.isElement(this._config.parent)) { - parent = this._config.parent; // It's a jQuery object - - if (typeof this._config.parent.jquery !== 'undefined') { - parent = this._config.parent[0]; - } - } else { - parent = document.querySelector(this._config.parent); - } - - var selector = "[data-toggle=\"collapse\"][data-parent=\"" + this._config.parent + "\"]"; - var children = [].slice.call(parent.querySelectorAll(selector)); - $(children).each(function (i, element) { - _this3._addAriaAndCollapsedClass(Collapse._getTargetFromElement(element), [element]); - }); - return parent; - }; - - _proto._addAriaAndCollapsedClass = function _addAriaAndCollapsedClass(element, triggerArray) { - var isOpen = $(element).hasClass(ClassName$3.SHOW); - - if (triggerArray.length) { - $(triggerArray).toggleClass(ClassName$3.COLLAPSED, !isOpen).attr('aria-expanded', isOpen); - } - } // Static - ; - - Collapse._getTargetFromElement = function _getTargetFromElement(element) { - var selector = Util.getSelectorFromElement(element); - return selector ? document.querySelector(selector) : null; - }; - - Collapse._jQueryInterface = function _jQueryInterface(config) { - return this.each(function () { - var $this = $(this); - var data = $this.data(DATA_KEY$3); - - var _config = _objectSpread({}, Default$1, $this.data(), typeof config === 'object' && config ? config : {}); - - if (!data && _config.toggle && /show|hide/.test(config)) { - _config.toggle = false; - } - - if (!data) { - data = new Collapse(this, _config); - $this.data(DATA_KEY$3, data); - } - - if (typeof config === 'string') { - if (typeof data[config] === 'undefined') { - throw new TypeError("No method named \"" + config + "\""); - } - - data[config](); - } - }); - }; - - _createClass(Collapse, null, [{ - key: "VERSION", - get: function get() { - return VERSION$3; - } - }, { - key: "Default", - get: function get() { - return Default$1; - } - }]); - - return Collapse; - }(); - /** - * ------------------------------------------------------------------------ - * Data Api implementation - * ------------------------------------------------------------------------ - */ - - - $(document).on(Event$3.CLICK_DATA_API, Selector$3.DATA_TOGGLE, function (event) { - // preventDefault only for elements (which change the URL) not inside the collapsible element - if (event.currentTarget.tagName === 'A') { - event.preventDefault(); - } - - var $trigger = $(this); - var selector = Util.getSelectorFromElement(this); - var selectors = [].slice.call(document.querySelectorAll(selector)); - $(selectors).each(function () { - var $target = $(this); - var data = $target.data(DATA_KEY$3); - var config = data ? 'toggle' : $trigger.data(); - - Collapse._jQueryInterface.call($target, config); - }); - }); - /** - * ------------------------------------------------------------------------ - * jQuery - * ------------------------------------------------------------------------ - */ - - $.fn[NAME$3] = Collapse._jQueryInterface; - $.fn[NAME$3].Constructor = Collapse; - - $.fn[NAME$3].noConflict = function () { - $.fn[NAME$3] = JQUERY_NO_CONFLICT$3; - return Collapse._jQueryInterface; - }; - - /** - * ------------------------------------------------------------------------ - * Constants - * ------------------------------------------------------------------------ - */ - - var NAME$4 = 'dropdown'; - var VERSION$4 = '4.3.1'; - var DATA_KEY$4 = 'bs.dropdown'; - var EVENT_KEY$4 = "." + DATA_KEY$4; - var DATA_API_KEY$4 = '.data-api'; - var JQUERY_NO_CONFLICT$4 = $.fn[NAME$4]; - var ESCAPE_KEYCODE = 27; // KeyboardEvent.which value for Escape (Esc) key - - var SPACE_KEYCODE = 32; // KeyboardEvent.which value for space key - - var TAB_KEYCODE = 9; // KeyboardEvent.which value for tab key - - var ARROW_UP_KEYCODE = 38; // KeyboardEvent.which value for up arrow key - - var ARROW_DOWN_KEYCODE = 40; // KeyboardEvent.which value for down arrow key - - var RIGHT_MOUSE_BUTTON_WHICH = 3; // MouseEvent.which value for the right button (assuming a right-handed mouse) - - var REGEXP_KEYDOWN = new RegExp(ARROW_UP_KEYCODE + "|" + ARROW_DOWN_KEYCODE + "|" + ESCAPE_KEYCODE); - var Event$4 = { - HIDE: "hide" + EVENT_KEY$4, - HIDDEN: "hidden" + EVENT_KEY$4, - SHOW: "show" + EVENT_KEY$4, - SHOWN: "shown" + EVENT_KEY$4, - CLICK: "click" + EVENT_KEY$4, - CLICK_DATA_API: "click" + EVENT_KEY$4 + DATA_API_KEY$4, - KEYDOWN_DATA_API: "keydown" + EVENT_KEY$4 + DATA_API_KEY$4, - KEYUP_DATA_API: "keyup" + EVENT_KEY$4 + DATA_API_KEY$4 - }; - var ClassName$4 = { - DISABLED: 'disabled', - SHOW: 'show', - DROPUP: 'dropup', - DROPRIGHT: 'dropright', - DROPLEFT: 'dropleft', - MENURIGHT: 'dropdown-menu-right', - MENULEFT: 'dropdown-menu-left', - POSITION_STATIC: 'position-static' - }; - var Selector$4 = { - DATA_TOGGLE: '[data-toggle="dropdown"]', - FORM_CHILD: '.dropdown form', - MENU: '.dropdown-menu', - NAVBAR_NAV: '.navbar-nav', - VISIBLE_ITEMS: '.dropdown-menu .dropdown-item:not(.disabled):not(:disabled)' - }; - var AttachmentMap = { - TOP: 'top-start', - TOPEND: 'top-end', - BOTTOM: 'bottom-start', - BOTTOMEND: 'bottom-end', - RIGHT: 'right-start', - RIGHTEND: 'right-end', - LEFT: 'left-start', - LEFTEND: 'left-end' - }; - var Default$2 = { - offset: 0, - flip: true, - boundary: 'scrollParent', - reference: 'toggle', - display: 'dynamic' - }; - var DefaultType$2 = { - offset: '(number|string|function)', - flip: 'boolean', - boundary: '(string|element)', - reference: '(string|element)', - display: 'string' - /** - * ------------------------------------------------------------------------ - * Class Definition - * ------------------------------------------------------------------------ - */ - - }; - - var Dropdown = - /*#__PURE__*/ - function () { - function Dropdown(element, config) { - this._element = element; - this._popper = null; - this._config = this._getConfig(config); - this._menu = this._getMenuElement(); - this._inNavbar = this._detectNavbar(); - - this._addEventListeners(); - } // Getters - - - var _proto = Dropdown.prototype; - - // Public - _proto.toggle = function toggle() { - if (this._element.disabled || $(this._element).hasClass(ClassName$4.DISABLED)) { - return; - } - - var parent = Dropdown._getParentFromElement(this._element); - - var isActive = $(this._menu).hasClass(ClassName$4.SHOW); - - Dropdown._clearMenus(); - - if (isActive) { - return; - } - - var relatedTarget = { - relatedTarget: this._element - }; - var showEvent = $.Event(Event$4.SHOW, relatedTarget); - $(parent).trigger(showEvent); - - if (showEvent.isDefaultPrevented()) { - return; - } // Disable totally Popper.js for Dropdown in Navbar - - - if (!this._inNavbar) { - /** - * Check for Popper dependency - * Popper - https://popper.js.org - */ - if (typeof Popper === 'undefined') { - throw new TypeError('Bootstrap\'s dropdowns require Popper.js (https://popper.js.org/)'); - } - - var referenceElement = this._element; - - if (this._config.reference === 'parent') { - referenceElement = parent; - } else if (Util.isElement(this._config.reference)) { - referenceElement = this._config.reference; // Check if it's jQuery element - - if (typeof this._config.reference.jquery !== 'undefined') { - referenceElement = this._config.reference[0]; - } - } // If boundary is not `scrollParent`, then set position to `static` - // to allow the menu to "escape" the scroll parent's boundaries - // https://github.com/twbs/bootstrap/issues/24251 - - - if (this._config.boundary !== 'scrollParent') { - $(parent).addClass(ClassName$4.POSITION_STATIC); - } - - this._popper = new Popper(referenceElement, this._menu, this._getPopperConfig()); - } // If this is a touch-enabled device we add extra - // empty mouseover listeners to the body's immediate children; - // only needed because of broken event delegation on iOS - // https://www.quirksmode.org/blog/archives/2014/02/mouse_event_bub.html - - - if ('ontouchstart' in document.documentElement && $(parent).closest(Selector$4.NAVBAR_NAV).length === 0) { - $(document.body).children().on('mouseover', null, $.noop); - } - - this._element.focus(); - - this._element.setAttribute('aria-expanded', true); - - $(this._menu).toggleClass(ClassName$4.SHOW); - $(parent).toggleClass(ClassName$4.SHOW).trigger($.Event(Event$4.SHOWN, relatedTarget)); - }; - - _proto.show = function show() { - if (this._element.disabled || $(this._element).hasClass(ClassName$4.DISABLED) || $(this._menu).hasClass(ClassName$4.SHOW)) { - return; - } - - var relatedTarget = { - relatedTarget: this._element - }; - var showEvent = $.Event(Event$4.SHOW, relatedTarget); - - var parent = Dropdown._getParentFromElement(this._element); - - $(parent).trigger(showEvent); - - if (showEvent.isDefaultPrevented()) { - return; - } - - $(this._menu).toggleClass(ClassName$4.SHOW); - $(parent).toggleClass(ClassName$4.SHOW).trigger($.Event(Event$4.SHOWN, relatedTarget)); - }; - - _proto.hide = function hide() { - if (this._element.disabled || $(this._element).hasClass(ClassName$4.DISABLED) || !$(this._menu).hasClass(ClassName$4.SHOW)) { - return; - } - - var relatedTarget = { - relatedTarget: this._element - }; - var hideEvent = $.Event(Event$4.HIDE, relatedTarget); - - var parent = Dropdown._getParentFromElement(this._element); - - $(parent).trigger(hideEvent); - - if (hideEvent.isDefaultPrevented()) { - return; - } - - $(this._menu).toggleClass(ClassName$4.SHOW); - $(parent).toggleClass(ClassName$4.SHOW).trigger($.Event(Event$4.HIDDEN, relatedTarget)); - }; - - _proto.dispose = function dispose() { - $.removeData(this._element, DATA_KEY$4); - $(this._element).off(EVENT_KEY$4); - this._element = null; - this._menu = null; - - if (this._popper !== null) { - this._popper.destroy(); - - this._popper = null; - } - }; - - _proto.update = function update() { - this._inNavbar = this._detectNavbar(); - - if (this._popper !== null) { - this._popper.scheduleUpdate(); - } - } // Private - ; - - _proto._addEventListeners = function _addEventListeners() { - var _this = this; - - $(this._element).on(Event$4.CLICK, function (event) { - event.preventDefault(); - event.stopPropagation(); - - _this.toggle(); - }); - }; - - _proto._getConfig = function _getConfig(config) { - config = _objectSpread({}, this.constructor.Default, $(this._element).data(), config); - Util.typeCheckConfig(NAME$4, config, this.constructor.DefaultType); - return config; - }; - - _proto._getMenuElement = function _getMenuElement() { - if (!this._menu) { - var parent = Dropdown._getParentFromElement(this._element); - - if (parent) { - this._menu = parent.querySelector(Selector$4.MENU); - } - } - - return this._menu; - }; - - _proto._getPlacement = function _getPlacement() { - var $parentDropdown = $(this._element.parentNode); - var placement = AttachmentMap.BOTTOM; // Handle dropup - - if ($parentDropdown.hasClass(ClassName$4.DROPUP)) { - placement = AttachmentMap.TOP; - - if ($(this._menu).hasClass(ClassName$4.MENURIGHT)) { - placement = AttachmentMap.TOPEND; - } - } else if ($parentDropdown.hasClass(ClassName$4.DROPRIGHT)) { - placement = AttachmentMap.RIGHT; - } else if ($parentDropdown.hasClass(ClassName$4.DROPLEFT)) { - placement = AttachmentMap.LEFT; - } else if ($(this._menu).hasClass(ClassName$4.MENURIGHT)) { - placement = AttachmentMap.BOTTOMEND; - } - - return placement; - }; - - _proto._detectNavbar = function _detectNavbar() { - return $(this._element).closest('.navbar').length > 0; - }; - - _proto._getOffset = function _getOffset() { - var _this2 = this; - - var offset = {}; - - if (typeof this._config.offset === 'function') { - offset.fn = function (data) { - data.offsets = _objectSpread({}, data.offsets, _this2._config.offset(data.offsets, _this2._element) || {}); - return data; - }; - } else { - offset.offset = this._config.offset; - } - - return offset; - }; - - _proto._getPopperConfig = function _getPopperConfig() { - var popperConfig = { - placement: this._getPlacement(), - modifiers: { - offset: this._getOffset(), - flip: { - enabled: this._config.flip - }, - preventOverflow: { - boundariesElement: this._config.boundary - } - } // Disable Popper.js if we have a static display - - }; - - if (this._config.display === 'static') { - popperConfig.modifiers.applyStyle = { - enabled: false - }; - } - - return popperConfig; - } // Static - ; - - Dropdown._jQueryInterface = function _jQueryInterface(config) { - return this.each(function () { - var data = $(this).data(DATA_KEY$4); - - var _config = typeof config === 'object' ? config : null; - - if (!data) { - data = new Dropdown(this, _config); - $(this).data(DATA_KEY$4, data); - } - - if (typeof config === 'string') { - if (typeof data[config] === 'undefined') { - throw new TypeError("No method named \"" + config + "\""); - } - - data[config](); - } - }); - }; - - Dropdown._clearMenus = function _clearMenus(event) { - if (event && (event.which === RIGHT_MOUSE_BUTTON_WHICH || event.type === 'keyup' && event.which !== TAB_KEYCODE)) { - return; - } - - var toggles = [].slice.call(document.querySelectorAll(Selector$4.DATA_TOGGLE)); - - for (var i = 0, len = toggles.length; i < len; i++) { - var parent = Dropdown._getParentFromElement(toggles[i]); - - var context = $(toggles[i]).data(DATA_KEY$4); - var relatedTarget = { - relatedTarget: toggles[i] - }; - - if (event && event.type === 'click') { - relatedTarget.clickEvent = event; - } - - if (!context) { - continue; - } - - var dropdownMenu = context._menu; - - if (!$(parent).hasClass(ClassName$4.SHOW)) { - continue; - } - - if (event && (event.type === 'click' && /input|textarea/i.test(event.target.tagName) || event.type === 'keyup' && event.which === TAB_KEYCODE) && $.contains(parent, event.target)) { - continue; - } - - var hideEvent = $.Event(Event$4.HIDE, relatedTarget); - $(parent).trigger(hideEvent); - - if (hideEvent.isDefaultPrevented()) { - continue; - } // If this is a touch-enabled device we remove the extra - // empty mouseover listeners we added for iOS support - - - if ('ontouchstart' in document.documentElement) { - $(document.body).children().off('mouseover', null, $.noop); - } - - toggles[i].setAttribute('aria-expanded', 'false'); - $(dropdownMenu).removeClass(ClassName$4.SHOW); - $(parent).removeClass(ClassName$4.SHOW).trigger($.Event(Event$4.HIDDEN, relatedTarget)); - } - }; - - Dropdown._getParentFromElement = function _getParentFromElement(element) { - var parent; - var selector = Util.getSelectorFromElement(element); - - if (selector) { - parent = document.querySelector(selector); - } - - return parent || element.parentNode; - } // eslint-disable-next-line complexity - ; - - Dropdown._dataApiKeydownHandler = function _dataApiKeydownHandler(event) { - // If not input/textarea: - // - And not a key in REGEXP_KEYDOWN => not a dropdown command - // If input/textarea: - // - If space key => not a dropdown command - // - If key is other than escape - // - If key is not up or down => not a dropdown command - // - If trigger inside the menu => not a dropdown command - if (/input|textarea/i.test(event.target.tagName) ? event.which === SPACE_KEYCODE || event.which !== ESCAPE_KEYCODE && (event.which !== ARROW_DOWN_KEYCODE && event.which !== ARROW_UP_KEYCODE || $(event.target).closest(Selector$4.MENU).length) : !REGEXP_KEYDOWN.test(event.which)) { - return; - } - - event.preventDefault(); - event.stopPropagation(); - - if (this.disabled || $(this).hasClass(ClassName$4.DISABLED)) { - return; - } - - var parent = Dropdown._getParentFromElement(this); - - var isActive = $(parent).hasClass(ClassName$4.SHOW); - - if (!isActive || isActive && (event.which === ESCAPE_KEYCODE || event.which === SPACE_KEYCODE)) { - if (event.which === ESCAPE_KEYCODE) { - var toggle = parent.querySelector(Selector$4.DATA_TOGGLE); - $(toggle).trigger('focus'); - } - - $(this).trigger('click'); - return; - } - - var items = [].slice.call(parent.querySelectorAll(Selector$4.VISIBLE_ITEMS)); - - if (items.length === 0) { - return; - } - - var index = items.indexOf(event.target); - - if (event.which === ARROW_UP_KEYCODE && index > 0) { - // Up - index--; - } - - if (event.which === ARROW_DOWN_KEYCODE && index < items.length - 1) { - // Down - index++; - } - - if (index < 0) { - index = 0; - } - - items[index].focus(); - }; - - _createClass(Dropdown, null, [{ - key: "VERSION", - get: function get() { - return VERSION$4; - } - }, { - key: "Default", - get: function get() { - return Default$2; - } - }, { - key: "DefaultType", - get: function get() { - return DefaultType$2; - } - }]); - - return Dropdown; - }(); - /** - * ------------------------------------------------------------------------ - * Data Api implementation - * ------------------------------------------------------------------------ - */ - - - $(document).on(Event$4.KEYDOWN_DATA_API, Selector$4.DATA_TOGGLE, Dropdown._dataApiKeydownHandler).on(Event$4.KEYDOWN_DATA_API, Selector$4.MENU, Dropdown._dataApiKeydownHandler).on(Event$4.CLICK_DATA_API + " " + Event$4.KEYUP_DATA_API, Dropdown._clearMenus).on(Event$4.CLICK_DATA_API, Selector$4.DATA_TOGGLE, function (event) { - event.preventDefault(); - event.stopPropagation(); - - Dropdown._jQueryInterface.call($(this), 'toggle'); - }).on(Event$4.CLICK_DATA_API, Selector$4.FORM_CHILD, function (e) { - e.stopPropagation(); - }); - /** - * ------------------------------------------------------------------------ - * jQuery - * ------------------------------------------------------------------------ - */ - - $.fn[NAME$4] = Dropdown._jQueryInterface; - $.fn[NAME$4].Constructor = Dropdown; - - $.fn[NAME$4].noConflict = function () { - $.fn[NAME$4] = JQUERY_NO_CONFLICT$4; - return Dropdown._jQueryInterface; - }; - - /** - * ------------------------------------------------------------------------ - * Constants - * ------------------------------------------------------------------------ - */ - - var NAME$5 = 'modal'; - var VERSION$5 = '4.3.1'; - var DATA_KEY$5 = 'bs.modal'; - var EVENT_KEY$5 = "." + DATA_KEY$5; - var DATA_API_KEY$5 = '.data-api'; - var JQUERY_NO_CONFLICT$5 = $.fn[NAME$5]; - var ESCAPE_KEYCODE$1 = 27; // KeyboardEvent.which value for Escape (Esc) key - - var Default$3 = { - backdrop: true, - keyboard: true, - focus: true, - show: true - }; - var DefaultType$3 = { - backdrop: '(boolean|string)', - keyboard: 'boolean', - focus: 'boolean', - show: 'boolean' - }; - var Event$5 = { - HIDE: "hide" + EVENT_KEY$5, - HIDDEN: "hidden" + EVENT_KEY$5, - SHOW: "show" + EVENT_KEY$5, - SHOWN: "shown" + EVENT_KEY$5, - FOCUSIN: "focusin" + EVENT_KEY$5, - RESIZE: "resize" + EVENT_KEY$5, - CLICK_DISMISS: "click.dismiss" + EVENT_KEY$5, - KEYDOWN_DISMISS: "keydown.dismiss" + EVENT_KEY$5, - MOUSEUP_DISMISS: "mouseup.dismiss" + EVENT_KEY$5, - MOUSEDOWN_DISMISS: "mousedown.dismiss" + EVENT_KEY$5, - CLICK_DATA_API: "click" + EVENT_KEY$5 + DATA_API_KEY$5 - }; - var ClassName$5 = { - SCROLLABLE: 'modal-dialog-scrollable', - SCROLLBAR_MEASURER: 'modal-scrollbar-measure', - BACKDROP: 'modal-backdrop', - OPEN: 'modal-open', - FADE: 'fade', - SHOW: 'show' - }; - var Selector$5 = { - DIALOG: '.modal-dialog', - MODAL_BODY: '.modal-body', - DATA_TOGGLE: '[data-toggle="modal"]', - DATA_DISMISS: '[data-dismiss="modal"]', - FIXED_CONTENT: '.fixed-top, .fixed-bottom, .is-fixed, .sticky-top', - STICKY_CONTENT: '.sticky-top' - /** - * ------------------------------------------------------------------------ - * Class Definition - * ------------------------------------------------------------------------ - */ - - }; - - var Modal = - /*#__PURE__*/ - function () { - function Modal(element, config) { - this._config = this._getConfig(config); - this._element = element; - this._dialog = element.querySelector(Selector$5.DIALOG); - this._backdrop = null; - this._isShown = false; - this._isBodyOverflowing = false; - this._ignoreBackdropClick = false; - this._isTransitioning = false; - this._scrollbarWidth = 0; - } // Getters - - - var _proto = Modal.prototype; - - // Public - _proto.toggle = function toggle(relatedTarget) { - return this._isShown ? this.hide() : this.show(relatedTarget); - }; - - _proto.show = function show(relatedTarget) { - var _this = this; - - if (this._isShown || this._isTransitioning) { - return; - } - - if ($(this._element).hasClass(ClassName$5.FADE)) { - this._isTransitioning = true; - } - - var showEvent = $.Event(Event$5.SHOW, { - relatedTarget: relatedTarget - }); - $(this._element).trigger(showEvent); - - if (this._isShown || showEvent.isDefaultPrevented()) { - return; - } - - this._isShown = true; - - this._checkScrollbar(); - - this._setScrollbar(); - - this._adjustDialog(); - - this._setEscapeEvent(); - - this._setResizeEvent(); - - $(this._element).on(Event$5.CLICK_DISMISS, Selector$5.DATA_DISMISS, function (event) { - return _this.hide(event); - }); - $(this._dialog).on(Event$5.MOUSEDOWN_DISMISS, function () { - $(_this._element).one(Event$5.MOUSEUP_DISMISS, function (event) { - if ($(event.target).is(_this._element)) { - _this._ignoreBackdropClick = true; - } - }); - }); - - this._showBackdrop(function () { - return _this._showElement(relatedTarget); - }); - }; - - _proto.hide = function hide(event) { - var _this2 = this; - - if (event) { - event.preventDefault(); - } - - if (!this._isShown || this._isTransitioning) { - return; - } - - var hideEvent = $.Event(Event$5.HIDE); - $(this._element).trigger(hideEvent); - - if (!this._isShown || hideEvent.isDefaultPrevented()) { - return; - } - - this._isShown = false; - var transition = $(this._element).hasClass(ClassName$5.FADE); - - if (transition) { - this._isTransitioning = true; - } - - this._setEscapeEvent(); - - this._setResizeEvent(); - - $(document).off(Event$5.FOCUSIN); - $(this._element).removeClass(ClassName$5.SHOW); - $(this._element).off(Event$5.CLICK_DISMISS); - $(this._dialog).off(Event$5.MOUSEDOWN_DISMISS); - - if (transition) { - var transitionDuration = Util.getTransitionDurationFromElement(this._element); - $(this._element).one(Util.TRANSITION_END, function (event) { - return _this2._hideModal(event); - }).emulateTransitionEnd(transitionDuration); - } else { - this._hideModal(); - } - }; - - _proto.dispose = function dispose() { - [window, this._element, this._dialog].forEach(function (htmlElement) { - return $(htmlElement).off(EVENT_KEY$5); - }); - /** - * `document` has 2 events `Event.FOCUSIN` and `Event.CLICK_DATA_API` - * Do not move `document` in `htmlElements` array - * It will remove `Event.CLICK_DATA_API` event that should remain - */ - - $(document).off(Event$5.FOCUSIN); - $.removeData(this._element, DATA_KEY$5); - this._config = null; - this._element = null; - this._dialog = null; - this._backdrop = null; - this._isShown = null; - this._isBodyOverflowing = null; - this._ignoreBackdropClick = null; - this._isTransitioning = null; - this._scrollbarWidth = null; - }; - - _proto.handleUpdate = function handleUpdate() { - this._adjustDialog(); - } // Private - ; - - _proto._getConfig = function _getConfig(config) { - config = _objectSpread({}, Default$3, config); - Util.typeCheckConfig(NAME$5, config, DefaultType$3); - return config; - }; - - _proto._showElement = function _showElement(relatedTarget) { - var _this3 = this; - - var transition = $(this._element).hasClass(ClassName$5.FADE); - - if (!this._element.parentNode || this._element.parentNode.nodeType !== Node.ELEMENT_NODE) { - // Don't move modal's DOM position - document.body.appendChild(this._element); - } - - this._element.style.display = 'block'; - - this._element.removeAttribute('aria-hidden'); - - this._element.setAttribute('aria-modal', true); - - if ($(this._dialog).hasClass(ClassName$5.SCROLLABLE)) { - this._dialog.querySelector(Selector$5.MODAL_BODY).scrollTop = 0; - } else { - this._element.scrollTop = 0; - } - - if (transition) { - Util.reflow(this._element); - } - - $(this._element).addClass(ClassName$5.SHOW); - - if (this._config.focus) { - this._enforceFocus(); - } - - var shownEvent = $.Event(Event$5.SHOWN, { - relatedTarget: relatedTarget - }); - - var transitionComplete = function transitionComplete() { - if (_this3._config.focus) { - _this3._element.focus(); - } - - _this3._isTransitioning = false; - $(_this3._element).trigger(shownEvent); - }; - - if (transition) { - var transitionDuration = Util.getTransitionDurationFromElement(this._dialog); - $(this._dialog).one(Util.TRANSITION_END, transitionComplete).emulateTransitionEnd(transitionDuration); - } else { - transitionComplete(); - } - }; - - _proto._enforceFocus = function _enforceFocus() { - var _this4 = this; - - $(document).off(Event$5.FOCUSIN) // Guard against infinite focus loop - .on(Event$5.FOCUSIN, function (event) { - if (document !== event.target && _this4._element !== event.target && $(_this4._element).has(event.target).length === 0) { - _this4._element.focus(); - } - }); - }; - - _proto._setEscapeEvent = function _setEscapeEvent() { - var _this5 = this; - - if (this._isShown && this._config.keyboard) { - $(this._element).on(Event$5.KEYDOWN_DISMISS, function (event) { - if (event.which === ESCAPE_KEYCODE$1) { - event.preventDefault(); - - _this5.hide(); - } - }); - } else if (!this._isShown) { - $(this._element).off(Event$5.KEYDOWN_DISMISS); - } - }; - - _proto._setResizeEvent = function _setResizeEvent() { - var _this6 = this; - - if (this._isShown) { - $(window).on(Event$5.RESIZE, function (event) { - return _this6.handleUpdate(event); - }); - } else { - $(window).off(Event$5.RESIZE); - } - }; - - _proto._hideModal = function _hideModal() { - var _this7 = this; - - this._element.style.display = 'none'; - - this._element.setAttribute('aria-hidden', true); - - this._element.removeAttribute('aria-modal'); - - this._isTransitioning = false; - - this._showBackdrop(function () { - $(document.body).removeClass(ClassName$5.OPEN); - - _this7._resetAdjustments(); - - _this7._resetScrollbar(); - - $(_this7._element).trigger(Event$5.HIDDEN); - }); - }; - - _proto._removeBackdrop = function _removeBackdrop() { - if (this._backdrop) { - $(this._backdrop).remove(); - this._backdrop = null; - } - }; - - _proto._showBackdrop = function _showBackdrop(callback) { - var _this8 = this; - - var animate = $(this._element).hasClass(ClassName$5.FADE) ? ClassName$5.FADE : ''; - - if (this._isShown && this._config.backdrop) { - this._backdrop = document.createElement('div'); - this._backdrop.className = ClassName$5.BACKDROP; - - if (animate) { - this._backdrop.classList.add(animate); - } - - $(this._backdrop).appendTo(document.body); - $(this._element).on(Event$5.CLICK_DISMISS, function (event) { - if (_this8._ignoreBackdropClick) { - _this8._ignoreBackdropClick = false; - return; - } - - if (event.target !== event.currentTarget) { - return; - } - - if (_this8._config.backdrop === 'static') { - _this8._element.focus(); - } else { - _this8.hide(); - } - }); - - if (animate) { - Util.reflow(this._backdrop); - } - - $(this._backdrop).addClass(ClassName$5.SHOW); - - if (!callback) { - return; - } - - if (!animate) { - callback(); - return; - } - - var backdropTransitionDuration = Util.getTransitionDurationFromElement(this._backdrop); - $(this._backdrop).one(Util.TRANSITION_END, callback).emulateTransitionEnd(backdropTransitionDuration); - } else if (!this._isShown && this._backdrop) { - $(this._backdrop).removeClass(ClassName$5.SHOW); - - var callbackRemove = function callbackRemove() { - _this8._removeBackdrop(); - - if (callback) { - callback(); - } - }; - - if ($(this._element).hasClass(ClassName$5.FADE)) { - var _backdropTransitionDuration = Util.getTransitionDurationFromElement(this._backdrop); - - $(this._backdrop).one(Util.TRANSITION_END, callbackRemove).emulateTransitionEnd(_backdropTransitionDuration); - } else { - callbackRemove(); - } - } else if (callback) { - callback(); - } - } // ---------------------------------------------------------------------- - // the following methods are used to handle overflowing modals - // todo (fat): these should probably be refactored out of modal.js - // ---------------------------------------------------------------------- - ; - - _proto._adjustDialog = function _adjustDialog() { - var isModalOverflowing = this._element.scrollHeight > document.documentElement.clientHeight; - - if (!this._isBodyOverflowing && isModalOverflowing) { - this._element.style.paddingLeft = this._scrollbarWidth + "px"; - } - - if (this._isBodyOverflowing && !isModalOverflowing) { - this._element.style.paddingRight = this._scrollbarWidth + "px"; - } - }; - - _proto._resetAdjustments = function _resetAdjustments() { - this._element.style.paddingLeft = ''; - this._element.style.paddingRight = ''; - }; - - _proto._checkScrollbar = function _checkScrollbar() { - var rect = document.body.getBoundingClientRect(); - this._isBodyOverflowing = rect.left + rect.right < window.innerWidth; - this._scrollbarWidth = this._getScrollbarWidth(); - }; - - _proto._setScrollbar = function _setScrollbar() { - var _this9 = this; - - if (this._isBodyOverflowing) { - // Note: DOMNode.style.paddingRight returns the actual value or '' if not set - // while $(DOMNode).css('padding-right') returns the calculated value or 0 if not set - var fixedContent = [].slice.call(document.querySelectorAll(Selector$5.FIXED_CONTENT)); - var stickyContent = [].slice.call(document.querySelectorAll(Selector$5.STICKY_CONTENT)); // Adjust fixed content padding - - $(fixedContent).each(function (index, element) { - var actualPadding = element.style.paddingRight; - var calculatedPadding = $(element).css('padding-right'); - $(element).data('padding-right', actualPadding).css('padding-right', parseFloat(calculatedPadding) + _this9._scrollbarWidth + "px"); - }); // Adjust sticky content margin - - $(stickyContent).each(function (index, element) { - var actualMargin = element.style.marginRight; - var calculatedMargin = $(element).css('margin-right'); - $(element).data('margin-right', actualMargin).css('margin-right', parseFloat(calculatedMargin) - _this9._scrollbarWidth + "px"); - }); // Adjust body padding - - var actualPadding = document.body.style.paddingRight; - var calculatedPadding = $(document.body).css('padding-right'); - $(document.body).data('padding-right', actualPadding).css('padding-right', parseFloat(calculatedPadding) + this._scrollbarWidth + "px"); - } - - $(document.body).addClass(ClassName$5.OPEN); - }; - - _proto._resetScrollbar = function _resetScrollbar() { - // Restore fixed content padding - var fixedContent = [].slice.call(document.querySelectorAll(Selector$5.FIXED_CONTENT)); - $(fixedContent).each(function (index, element) { - var padding = $(element).data('padding-right'); - $(element).removeData('padding-right'); - element.style.paddingRight = padding ? padding : ''; - }); // Restore sticky content - - var elements = [].slice.call(document.querySelectorAll("" + Selector$5.STICKY_CONTENT)); - $(elements).each(function (index, element) { - var margin = $(element).data('margin-right'); - - if (typeof margin !== 'undefined') { - $(element).css('margin-right', margin).removeData('margin-right'); - } - }); // Restore body padding - - var padding = $(document.body).data('padding-right'); - $(document.body).removeData('padding-right'); - document.body.style.paddingRight = padding ? padding : ''; - }; - - _proto._getScrollbarWidth = function _getScrollbarWidth() { - // thx d.walsh - var scrollDiv = document.createElement('div'); - scrollDiv.className = ClassName$5.SCROLLBAR_MEASURER; - document.body.appendChild(scrollDiv); - var scrollbarWidth = scrollDiv.getBoundingClientRect().width - scrollDiv.clientWidth; - document.body.removeChild(scrollDiv); - return scrollbarWidth; - } // Static - ; - - Modal._jQueryInterface = function _jQueryInterface(config, relatedTarget) { - return this.each(function () { - var data = $(this).data(DATA_KEY$5); - - var _config = _objectSpread({}, Default$3, $(this).data(), typeof config === 'object' && config ? config : {}); - - if (!data) { - data = new Modal(this, _config); - $(this).data(DATA_KEY$5, data); - } - - if (typeof config === 'string') { - if (typeof data[config] === 'undefined') { - throw new TypeError("No method named \"" + config + "\""); - } - - data[config](relatedTarget); - } else if (_config.show) { - data.show(relatedTarget); - } - }); - }; - - _createClass(Modal, null, [{ - key: "VERSION", - get: function get() { - return VERSION$5; - } - }, { - key: "Default", - get: function get() { - return Default$3; - } - }]); - - return Modal; - }(); - /** - * ------------------------------------------------------------------------ - * Data Api implementation - * ------------------------------------------------------------------------ - */ - - - $(document).on(Event$5.CLICK_DATA_API, Selector$5.DATA_TOGGLE, function (event) { - var _this10 = this; - - var target; - var selector = Util.getSelectorFromElement(this); - - if (selector) { - target = document.querySelector(selector); - } - - var config = $(target).data(DATA_KEY$5) ? 'toggle' : _objectSpread({}, $(target).data(), $(this).data()); - - if (this.tagName === 'A' || this.tagName === 'AREA') { - event.preventDefault(); - } - - var $target = $(target).one(Event$5.SHOW, function (showEvent) { - if (showEvent.isDefaultPrevented()) { - // Only register focus restorer if modal will actually get shown - return; - } - - $target.one(Event$5.HIDDEN, function () { - if ($(_this10).is(':visible')) { - _this10.focus(); - } - }); - }); - - Modal._jQueryInterface.call($(target), config, this); - }); - /** - * ------------------------------------------------------------------------ - * jQuery - * ------------------------------------------------------------------------ - */ - - $.fn[NAME$5] = Modal._jQueryInterface; - $.fn[NAME$5].Constructor = Modal; - - $.fn[NAME$5].noConflict = function () { - $.fn[NAME$5] = JQUERY_NO_CONFLICT$5; - return Modal._jQueryInterface; - }; - - /** - * -------------------------------------------------------------------------- - * Bootstrap (v4.3.1): tools/sanitizer.js - * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) - * -------------------------------------------------------------------------- - */ - var uriAttrs = ['background', 'cite', 'href', 'itemtype', 'longdesc', 'poster', 'src', 'xlink:href']; - var ARIA_ATTRIBUTE_PATTERN = /^aria-[\w-]*$/i; - var DefaultWhitelist = { - // Global attributes allowed on any supplied element below. - '*': ['class', 'dir', 'id', 'lang', 'role', ARIA_ATTRIBUTE_PATTERN], - a: ['target', 'href', 'title', 'rel'], - area: [], - b: [], - br: [], - col: [], - code: [], - div: [], - em: [], - hr: [], - h1: [], - h2: [], - h3: [], - h4: [], - h5: [], - h6: [], - i: [], - img: ['src', 'alt', 'title', 'width', 'height'], - li: [], - ol: [], - p: [], - pre: [], - s: [], - small: [], - span: [], - sub: [], - sup: [], - strong: [], - u: [], - ul: [] - /** - * A pattern that recognizes a commonly useful subset of URLs that are safe. - * - * Shoutout to Angular 7 https://github.com/angular/angular/blob/7.2.4/packages/core/src/sanitization/url_sanitizer.ts - */ - - }; - var SAFE_URL_PATTERN = /^(?:(?:https?|mailto|ftp|tel|file):|[^&:/?#]*(?:[/?#]|$))/gi; - /** - * A pattern that matches safe data URLs. Only matches image, video and audio types. - * - * Shoutout to Angular 7 https://github.com/angular/angular/blob/7.2.4/packages/core/src/sanitization/url_sanitizer.ts - */ - - var DATA_URL_PATTERN = /^data:(?:image\/(?:bmp|gif|jpeg|jpg|png|tiff|webp)|video\/(?:mpeg|mp4|ogg|webm)|audio\/(?:mp3|oga|ogg|opus));base64,[a-z0-9+/]+=*$/i; - - function allowedAttribute(attr, allowedAttributeList) { - var attrName = attr.nodeName.toLowerCase(); - - if (allowedAttributeList.indexOf(attrName) !== -1) { - if (uriAttrs.indexOf(attrName) !== -1) { - return Boolean(attr.nodeValue.match(SAFE_URL_PATTERN) || attr.nodeValue.match(DATA_URL_PATTERN)); - } - - return true; - } - - var regExp = allowedAttributeList.filter(function (attrRegex) { - return attrRegex instanceof RegExp; - }); // Check if a regular expression validates the attribute. - - for (var i = 0, l = regExp.length; i < l; i++) { - if (attrName.match(regExp[i])) { - return true; - } - } - - return false; - } - - function sanitizeHtml(unsafeHtml, whiteList, sanitizeFn) { - if (unsafeHtml.length === 0) { - return unsafeHtml; - } - - if (sanitizeFn && typeof sanitizeFn === 'function') { - return sanitizeFn(unsafeHtml); - } - - var domParser = new window.DOMParser(); - var createdDocument = domParser.parseFromString(unsafeHtml, 'text/html'); - var whitelistKeys = Object.keys(whiteList); - var elements = [].slice.call(createdDocument.body.querySelectorAll('*')); - - var _loop = function _loop(i, len) { - var el = elements[i]; - var elName = el.nodeName.toLowerCase(); - - if (whitelistKeys.indexOf(el.nodeName.toLowerCase()) === -1) { - el.parentNode.removeChild(el); - return "continue"; - } - - var attributeList = [].slice.call(el.attributes); - var whitelistedAttributes = [].concat(whiteList['*'] || [], whiteList[elName] || []); - attributeList.forEach(function (attr) { - if (!allowedAttribute(attr, whitelistedAttributes)) { - el.removeAttribute(attr.nodeName); - } - }); - }; - - for (var i = 0, len = elements.length; i < len; i++) { - var _ret = _loop(i, len); - - if (_ret === "continue") continue; - } - - return createdDocument.body.innerHTML; - } - - /** - * ------------------------------------------------------------------------ - * Constants - * ------------------------------------------------------------------------ - */ - - var NAME$6 = 'tooltip'; - var VERSION$6 = '4.3.1'; - var DATA_KEY$6 = 'bs.tooltip'; - var EVENT_KEY$6 = "." + DATA_KEY$6; - var JQUERY_NO_CONFLICT$6 = $.fn[NAME$6]; - var CLASS_PREFIX = 'bs-tooltip'; - var BSCLS_PREFIX_REGEX = new RegExp("(^|\\s)" + CLASS_PREFIX + "\\S+", 'g'); - var DISALLOWED_ATTRIBUTES = ['sanitize', 'whiteList', 'sanitizeFn']; - var DefaultType$4 = { - animation: 'boolean', - template: 'string', - title: '(string|element|function)', - trigger: 'string', - delay: '(number|object)', - html: 'boolean', - selector: '(string|boolean)', - placement: '(string|function)', - offset: '(number|string|function)', - container: '(string|element|boolean)', - fallbackPlacement: '(string|array)', - boundary: '(string|element)', - sanitize: 'boolean', - sanitizeFn: '(null|function)', - whiteList: 'object' - }; - var AttachmentMap$1 = { - AUTO: 'auto', - TOP: 'top', - RIGHT: 'right', - BOTTOM: 'bottom', - LEFT: 'left' - }; - var Default$4 = { - animation: true, - template: '', - trigger: 'hover focus', - title: '', - delay: 0, - html: false, - selector: false, - placement: 'top', - offset: 0, - container: false, - fallbackPlacement: 'flip', - boundary: 'scrollParent', - sanitize: true, - sanitizeFn: null, - whiteList: DefaultWhitelist - }; - var HoverState = { - SHOW: 'show', - OUT: 'out' - }; - var Event$6 = { - HIDE: "hide" + EVENT_KEY$6, - HIDDEN: "hidden" + EVENT_KEY$6, - SHOW: "show" + EVENT_KEY$6, - SHOWN: "shown" + EVENT_KEY$6, - INSERTED: "inserted" + EVENT_KEY$6, - CLICK: "click" + EVENT_KEY$6, - FOCUSIN: "focusin" + EVENT_KEY$6, - FOCUSOUT: "focusout" + EVENT_KEY$6, - MOUSEENTER: "mouseenter" + EVENT_KEY$6, - MOUSELEAVE: "mouseleave" + EVENT_KEY$6 - }; - var ClassName$6 = { - FADE: 'fade', - SHOW: 'show' - }; - var Selector$6 = { - TOOLTIP: '.tooltip', - TOOLTIP_INNER: '.tooltip-inner', - ARROW: '.arrow' - }; - var Trigger = { - HOVER: 'hover', - FOCUS: 'focus', - CLICK: 'click', - MANUAL: 'manual' - /** - * ------------------------------------------------------------------------ - * Class Definition - * ------------------------------------------------------------------------ - */ - - }; - - var Tooltip = - /*#__PURE__*/ - function () { - function Tooltip(element, config) { - /** - * Check for Popper dependency - * Popper - https://popper.js.org - */ - if (typeof Popper === 'undefined') { - throw new TypeError('Bootstrap\'s tooltips require Popper.js (https://popper.js.org/)'); - } // private - - - this._isEnabled = true; - this._timeout = 0; - this._hoverState = ''; - this._activeTrigger = {}; - this._popper = null; // Protected - - this.element = element; - this.config = this._getConfig(config); - this.tip = null; - - this._setListeners(); - } // Getters - - - var _proto = Tooltip.prototype; - - // Public - _proto.enable = function enable() { - this._isEnabled = true; - }; - - _proto.disable = function disable() { - this._isEnabled = false; - }; - - _proto.toggleEnabled = function toggleEnabled() { - this._isEnabled = !this._isEnabled; - }; - - _proto.toggle = function toggle(event) { - if (!this._isEnabled) { - return; - } - - if (event) { - var dataKey = this.constructor.DATA_KEY; - var context = $(event.currentTarget).data(dataKey); - - if (!context) { - context = new this.constructor(event.currentTarget, this._getDelegateConfig()); - $(event.currentTarget).data(dataKey, context); - } - - context._activeTrigger.click = !context._activeTrigger.click; - - if (context._isWithActiveTrigger()) { - context._enter(null, context); - } else { - context._leave(null, context); - } - } else { - if ($(this.getTipElement()).hasClass(ClassName$6.SHOW)) { - this._leave(null, this); - - return; - } - - this._enter(null, this); - } - }; - - _proto.dispose = function dispose() { - clearTimeout(this._timeout); - $.removeData(this.element, this.constructor.DATA_KEY); - $(this.element).off(this.constructor.EVENT_KEY); - $(this.element).closest('.modal').off('hide.bs.modal'); - - if (this.tip) { - $(this.tip).remove(); - } - - this._isEnabled = null; - this._timeout = null; - this._hoverState = null; - this._activeTrigger = null; - - if (this._popper !== null) { - this._popper.destroy(); - } - - this._popper = null; - this.element = null; - this.config = null; - this.tip = null; - }; - - _proto.show = function show() { - var _this = this; - - if ($(this.element).css('display') === 'none') { - throw new Error('Please use show on visible elements'); - } - - var showEvent = $.Event(this.constructor.Event.SHOW); - - if (this.isWithContent() && this._isEnabled) { - $(this.element).trigger(showEvent); - var shadowRoot = Util.findShadowRoot(this.element); - var isInTheDom = $.contains(shadowRoot !== null ? shadowRoot : this.element.ownerDocument.documentElement, this.element); - - if (showEvent.isDefaultPrevented() || !isInTheDom) { - return; - } - - var tip = this.getTipElement(); - var tipId = Util.getUID(this.constructor.NAME); - tip.setAttribute('id', tipId); - this.element.setAttribute('aria-describedby', tipId); - this.setContent(); - - if (this.config.animation) { - $(tip).addClass(ClassName$6.FADE); - } - - var placement = typeof this.config.placement === 'function' ? this.config.placement.call(this, tip, this.element) : this.config.placement; - - var attachment = this._getAttachment(placement); - - this.addAttachmentClass(attachment); - - var container = this._getContainer(); - - $(tip).data(this.constructor.DATA_KEY, this); - - if (!$.contains(this.element.ownerDocument.documentElement, this.tip)) { - $(tip).appendTo(container); - } - - $(this.element).trigger(this.constructor.Event.INSERTED); - this._popper = new Popper(this.element, tip, { - placement: attachment, - modifiers: { - offset: this._getOffset(), - flip: { - behavior: this.config.fallbackPlacement - }, - arrow: { - element: Selector$6.ARROW - }, - preventOverflow: { - boundariesElement: this.config.boundary - } - }, - onCreate: function onCreate(data) { - if (data.originalPlacement !== data.placement) { - _this._handlePopperPlacementChange(data); - } - }, - onUpdate: function onUpdate(data) { - return _this._handlePopperPlacementChange(data); - } - }); - $(tip).addClass(ClassName$6.SHOW); // If this is a touch-enabled device we add extra - // empty mouseover listeners to the body's immediate children; - // only needed because of broken event delegation on iOS - // https://www.quirksmode.org/blog/archives/2014/02/mouse_event_bub.html - - if ('ontouchstart' in document.documentElement) { - $(document.body).children().on('mouseover', null, $.noop); - } - - var complete = function complete() { - if (_this.config.animation) { - _this._fixTransition(); - } - - var prevHoverState = _this._hoverState; - _this._hoverState = null; - $(_this.element).trigger(_this.constructor.Event.SHOWN); - - if (prevHoverState === HoverState.OUT) { - _this._leave(null, _this); - } - }; - - if ($(this.tip).hasClass(ClassName$6.FADE)) { - var transitionDuration = Util.getTransitionDurationFromElement(this.tip); - $(this.tip).one(Util.TRANSITION_END, complete).emulateTransitionEnd(transitionDuration); - } else { - complete(); - } - } - }; - - _proto.hide = function hide(callback) { - var _this2 = this; - - var tip = this.getTipElement(); - var hideEvent = $.Event(this.constructor.Event.HIDE); - - var complete = function complete() { - if (_this2._hoverState !== HoverState.SHOW && tip.parentNode) { - tip.parentNode.removeChild(tip); - } - - _this2._cleanTipClass(); - - _this2.element.removeAttribute('aria-describedby'); - - $(_this2.element).trigger(_this2.constructor.Event.HIDDEN); - - if (_this2._popper !== null) { - _this2._popper.destroy(); - } - - if (callback) { - callback(); - } - }; - - $(this.element).trigger(hideEvent); - - if (hideEvent.isDefaultPrevented()) { - return; - } - - $(tip).removeClass(ClassName$6.SHOW); // If this is a touch-enabled device we remove the extra - // empty mouseover listeners we added for iOS support - - if ('ontouchstart' in document.documentElement) { - $(document.body).children().off('mouseover', null, $.noop); - } - - this._activeTrigger[Trigger.CLICK] = false; - this._activeTrigger[Trigger.FOCUS] = false; - this._activeTrigger[Trigger.HOVER] = false; - - if ($(this.tip).hasClass(ClassName$6.FADE)) { - var transitionDuration = Util.getTransitionDurationFromElement(tip); - $(tip).one(Util.TRANSITION_END, complete).emulateTransitionEnd(transitionDuration); - } else { - complete(); - } - - this._hoverState = ''; - }; - - _proto.update = function update() { - if (this._popper !== null) { - this._popper.scheduleUpdate(); - } - } // Protected - ; - - _proto.isWithContent = function isWithContent() { - return Boolean(this.getTitle()); - }; - - _proto.addAttachmentClass = function addAttachmentClass(attachment) { - $(this.getTipElement()).addClass(CLASS_PREFIX + "-" + attachment); - }; - - _proto.getTipElement = function getTipElement() { - this.tip = this.tip || $(this.config.template)[0]; - return this.tip; - }; - - _proto.setContent = function setContent() { - var tip = this.getTipElement(); - this.setElementContent($(tip.querySelectorAll(Selector$6.TOOLTIP_INNER)), this.getTitle()); - $(tip).removeClass(ClassName$6.FADE + " " + ClassName$6.SHOW); - }; - - _proto.setElementContent = function setElementContent($element, content) { - if (typeof content === 'object' && (content.nodeType || content.jquery)) { - // Content is a DOM node or a jQuery - if (this.config.html) { - if (!$(content).parent().is($element)) { - $element.empty().append(content); - } - } else { - $element.text($(content).text()); - } - - return; - } - - if (this.config.html) { - if (this.config.sanitize) { - content = sanitizeHtml(content, this.config.whiteList, this.config.sanitizeFn); - } - - $element.html(content); - } else { - $element.text(content); - } - }; - - _proto.getTitle = function getTitle() { - var title = this.element.getAttribute('data-original-title'); - - if (!title) { - title = typeof this.config.title === 'function' ? this.config.title.call(this.element) : this.config.title; - } - - return title; - } // Private - ; - - _proto._getOffset = function _getOffset() { - var _this3 = this; - - var offset = {}; - - if (typeof this.config.offset === 'function') { - offset.fn = function (data) { - data.offsets = _objectSpread({}, data.offsets, _this3.config.offset(data.offsets, _this3.element) || {}); - return data; - }; - } else { - offset.offset = this.config.offset; - } - - return offset; - }; - - _proto._getContainer = function _getContainer() { - if (this.config.container === false) { - return document.body; - } - - if (Util.isElement(this.config.container)) { - return $(this.config.container); - } - - return $(document).find(this.config.container); - }; - - _proto._getAttachment = function _getAttachment(placement) { - return AttachmentMap$1[placement.toUpperCase()]; - }; - - _proto._setListeners = function _setListeners() { - var _this4 = this; - - var triggers = this.config.trigger.split(' '); - triggers.forEach(function (trigger) { - if (trigger === 'click') { - $(_this4.element).on(_this4.constructor.Event.CLICK, _this4.config.selector, function (event) { - return _this4.toggle(event); - }); - } else if (trigger !== Trigger.MANUAL) { - var eventIn = trigger === Trigger.HOVER ? _this4.constructor.Event.MOUSEENTER : _this4.constructor.Event.FOCUSIN; - var eventOut = trigger === Trigger.HOVER ? _this4.constructor.Event.MOUSELEAVE : _this4.constructor.Event.FOCUSOUT; - $(_this4.element).on(eventIn, _this4.config.selector, function (event) { - return _this4._enter(event); - }).on(eventOut, _this4.config.selector, function (event) { - return _this4._leave(event); - }); - } - }); - $(this.element).closest('.modal').on('hide.bs.modal', function () { - if (_this4.element) { - _this4.hide(); - } - }); - - if (this.config.selector) { - this.config = _objectSpread({}, this.config, { - trigger: 'manual', - selector: '' - }); - } else { - this._fixTitle(); - } - }; - - _proto._fixTitle = function _fixTitle() { - var titleType = typeof this.element.getAttribute('data-original-title'); - - if (this.element.getAttribute('title') || titleType !== 'string') { - this.element.setAttribute('data-original-title', this.element.getAttribute('title') || ''); - this.element.setAttribute('title', ''); - } - }; - - _proto._enter = function _enter(event, context) { - var dataKey = this.constructor.DATA_KEY; - context = context || $(event.currentTarget).data(dataKey); - - if (!context) { - context = new this.constructor(event.currentTarget, this._getDelegateConfig()); - $(event.currentTarget).data(dataKey, context); - } - - if (event) { - context._activeTrigger[event.type === 'focusin' ? Trigger.FOCUS : Trigger.HOVER] = true; - } - - if ($(context.getTipElement()).hasClass(ClassName$6.SHOW) || context._hoverState === HoverState.SHOW) { - context._hoverState = HoverState.SHOW; - return; - } - - clearTimeout(context._timeout); - context._hoverState = HoverState.SHOW; - - if (!context.config.delay || !context.config.delay.show) { - context.show(); - return; - } - - context._timeout = setTimeout(function () { - if (context._hoverState === HoverState.SHOW) { - context.show(); - } - }, context.config.delay.show); - }; - - _proto._leave = function _leave(event, context) { - var dataKey = this.constructor.DATA_KEY; - context = context || $(event.currentTarget).data(dataKey); - - if (!context) { - context = new this.constructor(event.currentTarget, this._getDelegateConfig()); - $(event.currentTarget).data(dataKey, context); - } - - if (event) { - context._activeTrigger[event.type === 'focusout' ? Trigger.FOCUS : Trigger.HOVER] = false; - } - - if (context._isWithActiveTrigger()) { - return; - } - - clearTimeout(context._timeout); - context._hoverState = HoverState.OUT; - - if (!context.config.delay || !context.config.delay.hide) { - context.hide(); - return; - } - - context._timeout = setTimeout(function () { - if (context._hoverState === HoverState.OUT) { - context.hide(); - } - }, context.config.delay.hide); - }; - - _proto._isWithActiveTrigger = function _isWithActiveTrigger() { - for (var trigger in this._activeTrigger) { - if (this._activeTrigger[trigger]) { - return true; - } - } - - return false; - }; - - _proto._getConfig = function _getConfig(config) { - var dataAttributes = $(this.element).data(); - Object.keys(dataAttributes).forEach(function (dataAttr) { - if (DISALLOWED_ATTRIBUTES.indexOf(dataAttr) !== -1) { - delete dataAttributes[dataAttr]; - } - }); - config = _objectSpread({}, this.constructor.Default, dataAttributes, typeof config === 'object' && config ? config : {}); - - if (typeof config.delay === 'number') { - config.delay = { - show: config.delay, - hide: config.delay - }; - } - - if (typeof config.title === 'number') { - config.title = config.title.toString(); - } - - if (typeof config.content === 'number') { - config.content = config.content.toString(); - } - - Util.typeCheckConfig(NAME$6, config, this.constructor.DefaultType); - - if (config.sanitize) { - config.template = sanitizeHtml(config.template, config.whiteList, config.sanitizeFn); - } - - return config; - }; - - _proto._getDelegateConfig = function _getDelegateConfig() { - var config = {}; - - if (this.config) { - for (var key in this.config) { - if (this.constructor.Default[key] !== this.config[key]) { - config[key] = this.config[key]; - } - } - } - - return config; - }; - - _proto._cleanTipClass = function _cleanTipClass() { - var $tip = $(this.getTipElement()); - var tabClass = $tip.attr('class').match(BSCLS_PREFIX_REGEX); - - if (tabClass !== null && tabClass.length) { - $tip.removeClass(tabClass.join('')); - } - }; - - _proto._handlePopperPlacementChange = function _handlePopperPlacementChange(popperData) { - var popperInstance = popperData.instance; - this.tip = popperInstance.popper; - - this._cleanTipClass(); - - this.addAttachmentClass(this._getAttachment(popperData.placement)); - }; - - _proto._fixTransition = function _fixTransition() { - var tip = this.getTipElement(); - var initConfigAnimation = this.config.animation; - - if (tip.getAttribute('x-placement') !== null) { - return; - } - - $(tip).removeClass(ClassName$6.FADE); - this.config.animation = false; - this.hide(); - this.show(); - this.config.animation = initConfigAnimation; - } // Static - ; - - Tooltip._jQueryInterface = function _jQueryInterface(config) { - return this.each(function () { - var data = $(this).data(DATA_KEY$6); - - var _config = typeof config === 'object' && config; - - if (!data && /dispose|hide/.test(config)) { - return; - } - - if (!data) { - data = new Tooltip(this, _config); - $(this).data(DATA_KEY$6, data); - } - - if (typeof config === 'string') { - if (typeof data[config] === 'undefined') { - throw new TypeError("No method named \"" + config + "\""); - } - - data[config](); - } - }); - }; - - _createClass(Tooltip, null, [{ - key: "VERSION", - get: function get() { - return VERSION$6; - } - }, { - key: "Default", - get: function get() { - return Default$4; - } - }, { - key: "NAME", - get: function get() { - return NAME$6; - } - }, { - key: "DATA_KEY", - get: function get() { - return DATA_KEY$6; - } - }, { - key: "Event", - get: function get() { - return Event$6; - } - }, { - key: "EVENT_KEY", - get: function get() { - return EVENT_KEY$6; - } - }, { - key: "DefaultType", - get: function get() { - return DefaultType$4; - } - }]); - - return Tooltip; - }(); - /** - * ------------------------------------------------------------------------ - * jQuery - * ------------------------------------------------------------------------ - */ - - - $.fn[NAME$6] = Tooltip._jQueryInterface; - $.fn[NAME$6].Constructor = Tooltip; - - $.fn[NAME$6].noConflict = function () { - $.fn[NAME$6] = JQUERY_NO_CONFLICT$6; - return Tooltip._jQueryInterface; - }; - - /** - * ------------------------------------------------------------------------ - * Constants - * ------------------------------------------------------------------------ - */ - - var NAME$7 = 'popover'; - var VERSION$7 = '4.3.1'; - var DATA_KEY$7 = 'bs.popover'; - var EVENT_KEY$7 = "." + DATA_KEY$7; - var JQUERY_NO_CONFLICT$7 = $.fn[NAME$7]; - var CLASS_PREFIX$1 = 'bs-popover'; - var BSCLS_PREFIX_REGEX$1 = new RegExp("(^|\\s)" + CLASS_PREFIX$1 + "\\S+", 'g'); - - var Default$5 = _objectSpread({}, Tooltip.Default, { - placement: 'right', - trigger: 'click', - content: '', - template: '' - }); - - var DefaultType$5 = _objectSpread({}, Tooltip.DefaultType, { - content: '(string|element|function)' - }); - - var ClassName$7 = { - FADE: 'fade', - SHOW: 'show' - }; - var Selector$7 = { - TITLE: '.popover-header', - CONTENT: '.popover-body' - }; - var Event$7 = { - HIDE: "hide" + EVENT_KEY$7, - HIDDEN: "hidden" + EVENT_KEY$7, - SHOW: "show" + EVENT_KEY$7, - SHOWN: "shown" + EVENT_KEY$7, - INSERTED: "inserted" + EVENT_KEY$7, - CLICK: "click" + EVENT_KEY$7, - FOCUSIN: "focusin" + EVENT_KEY$7, - FOCUSOUT: "focusout" + EVENT_KEY$7, - MOUSEENTER: "mouseenter" + EVENT_KEY$7, - MOUSELEAVE: "mouseleave" + EVENT_KEY$7 - /** - * ------------------------------------------------------------------------ - * Class Definition - * ------------------------------------------------------------------------ - */ - - }; - - var Popover = - /*#__PURE__*/ - function (_Tooltip) { - _inheritsLoose(Popover, _Tooltip); - - function Popover() { - return _Tooltip.apply(this, arguments) || this; - } - - var _proto = Popover.prototype; - - // Overrides - _proto.isWithContent = function isWithContent() { - return this.getTitle() || this._getContent(); - }; - - _proto.addAttachmentClass = function addAttachmentClass(attachment) { - $(this.getTipElement()).addClass(CLASS_PREFIX$1 + "-" + attachment); - }; - - _proto.getTipElement = function getTipElement() { - this.tip = this.tip || $(this.config.template)[0]; - return this.tip; - }; - - _proto.setContent = function setContent() { - var $tip = $(this.getTipElement()); // We use append for html objects to maintain js events - - this.setElementContent($tip.find(Selector$7.TITLE), this.getTitle()); - - var content = this._getContent(); - - if (typeof content === 'function') { - content = content.call(this.element); - } - - this.setElementContent($tip.find(Selector$7.CONTENT), content); - $tip.removeClass(ClassName$7.FADE + " " + ClassName$7.SHOW); - } // Private - ; - - _proto._getContent = function _getContent() { - return this.element.getAttribute('data-content') || this.config.content; - }; - - _proto._cleanTipClass = function _cleanTipClass() { - var $tip = $(this.getTipElement()); - var tabClass = $tip.attr('class').match(BSCLS_PREFIX_REGEX$1); - - if (tabClass !== null && tabClass.length > 0) { - $tip.removeClass(tabClass.join('')); - } - } // Static - ; - - Popover._jQueryInterface = function _jQueryInterface(config) { - return this.each(function () { - var data = $(this).data(DATA_KEY$7); - - var _config = typeof config === 'object' ? config : null; - - if (!data && /dispose|hide/.test(config)) { - return; - } - - if (!data) { - data = new Popover(this, _config); - $(this).data(DATA_KEY$7, data); - } - - if (typeof config === 'string') { - if (typeof data[config] === 'undefined') { - throw new TypeError("No method named \"" + config + "\""); - } - - data[config](); - } - }); - }; - - _createClass(Popover, null, [{ - key: "VERSION", - // Getters - get: function get() { - return VERSION$7; - } - }, { - key: "Default", - get: function get() { - return Default$5; - } - }, { - key: "NAME", - get: function get() { - return NAME$7; - } - }, { - key: "DATA_KEY", - get: function get() { - return DATA_KEY$7; - } - }, { - key: "Event", - get: function get() { - return Event$7; - } - }, { - key: "EVENT_KEY", - get: function get() { - return EVENT_KEY$7; - } - }, { - key: "DefaultType", - get: function get() { - return DefaultType$5; - } - }]); - - return Popover; - }(Tooltip); - /** - * ------------------------------------------------------------------------ - * jQuery - * ------------------------------------------------------------------------ - */ - - - $.fn[NAME$7] = Popover._jQueryInterface; - $.fn[NAME$7].Constructor = Popover; - - $.fn[NAME$7].noConflict = function () { - $.fn[NAME$7] = JQUERY_NO_CONFLICT$7; - return Popover._jQueryInterface; - }; - - /** - * ------------------------------------------------------------------------ - * Constants - * ------------------------------------------------------------------------ - */ - - var NAME$8 = 'scrollspy'; - var VERSION$8 = '4.3.1'; - var DATA_KEY$8 = 'bs.scrollspy'; - var EVENT_KEY$8 = "." + DATA_KEY$8; - var DATA_API_KEY$6 = '.data-api'; - var JQUERY_NO_CONFLICT$8 = $.fn[NAME$8]; - var Default$6 = { - offset: 10, - method: 'auto', - target: '' - }; - var DefaultType$6 = { - offset: 'number', - method: 'string', - target: '(string|element)' - }; - var Event$8 = { - ACTIVATE: "activate" + EVENT_KEY$8, - SCROLL: "scroll" + EVENT_KEY$8, - LOAD_DATA_API: "load" + EVENT_KEY$8 + DATA_API_KEY$6 - }; - var ClassName$8 = { - DROPDOWN_ITEM: 'dropdown-item', - DROPDOWN_MENU: 'dropdown-menu', - ACTIVE: 'active' - }; - var Selector$8 = { - DATA_SPY: '[data-spy="scroll"]', - ACTIVE: '.active', - NAV_LIST_GROUP: '.nav, .list-group', - NAV_LINKS: '.nav-link', - NAV_ITEMS: '.nav-item', - LIST_ITEMS: '.list-group-item', - DROPDOWN: '.dropdown', - DROPDOWN_ITEMS: '.dropdown-item', - DROPDOWN_TOGGLE: '.dropdown-toggle' - }; - var OffsetMethod = { - OFFSET: 'offset', - POSITION: 'position' - /** - * ------------------------------------------------------------------------ - * Class Definition - * ------------------------------------------------------------------------ - */ - - }; - - var ScrollSpy = - /*#__PURE__*/ - function () { - function ScrollSpy(element, config) { - var _this = this; - - this._element = element; - this._scrollElement = element.tagName === 'BODY' ? window : element; - this._config = this._getConfig(config); - this._selector = this._config.target + " " + Selector$8.NAV_LINKS + "," + (this._config.target + " " + Selector$8.LIST_ITEMS + ",") + (this._config.target + " " + Selector$8.DROPDOWN_ITEMS); - this._offsets = []; - this._targets = []; - this._activeTarget = null; - this._scrollHeight = 0; - $(this._scrollElement).on(Event$8.SCROLL, function (event) { - return _this._process(event); - }); - this.refresh(); - - this._process(); - } // Getters - - - var _proto = ScrollSpy.prototype; - - // Public - _proto.refresh = function refresh() { - var _this2 = this; - - var autoMethod = this._scrollElement === this._scrollElement.window ? OffsetMethod.OFFSET : OffsetMethod.POSITION; - var offsetMethod = this._config.method === 'auto' ? autoMethod : this._config.method; - var offsetBase = offsetMethod === OffsetMethod.POSITION ? this._getScrollTop() : 0; - this._offsets = []; - this._targets = []; - this._scrollHeight = this._getScrollHeight(); - var targets = [].slice.call(document.querySelectorAll(this._selector)); - targets.map(function (element) { - var target; - var targetSelector = Util.getSelectorFromElement(element); - - if (targetSelector) { - target = document.querySelector(targetSelector); - } - - if (target) { - var targetBCR = target.getBoundingClientRect(); - - if (targetBCR.width || targetBCR.height) { - // TODO (fat): remove sketch reliance on jQuery position/offset - return [$(target)[offsetMethod]().top + offsetBase, targetSelector]; - } - } - - return null; - }).filter(function (item) { - return item; - }).sort(function (a, b) { - return a[0] - b[0]; - }).forEach(function (item) { - _this2._offsets.push(item[0]); - - _this2._targets.push(item[1]); - }); - }; - - _proto.dispose = function dispose() { - $.removeData(this._element, DATA_KEY$8); - $(this._scrollElement).off(EVENT_KEY$8); - this._element = null; - this._scrollElement = null; - this._config = null; - this._selector = null; - this._offsets = null; - this._targets = null; - this._activeTarget = null; - this._scrollHeight = null; - } // Private - ; - - _proto._getConfig = function _getConfig(config) { - config = _objectSpread({}, Default$6, typeof config === 'object' && config ? config : {}); - - if (typeof config.target !== 'string') { - var id = $(config.target).attr('id'); - - if (!id) { - id = Util.getUID(NAME$8); - $(config.target).attr('id', id); - } - - config.target = "#" + id; - } - - Util.typeCheckConfig(NAME$8, config, DefaultType$6); - return config; - }; - - _proto._getScrollTop = function _getScrollTop() { - return this._scrollElement === window ? this._scrollElement.pageYOffset : this._scrollElement.scrollTop; - }; - - _proto._getScrollHeight = function _getScrollHeight() { - return this._scrollElement.scrollHeight || Math.max(document.body.scrollHeight, document.documentElement.scrollHeight); - }; - - _proto._getOffsetHeight = function _getOffsetHeight() { - return this._scrollElement === window ? window.innerHeight : this._scrollElement.getBoundingClientRect().height; - }; - - _proto._process = function _process() { - var scrollTop = this._getScrollTop() + this._config.offset; - - var scrollHeight = this._getScrollHeight(); - - var maxScroll = this._config.offset + scrollHeight - this._getOffsetHeight(); - - if (this._scrollHeight !== scrollHeight) { - this.refresh(); - } - - if (scrollTop >= maxScroll) { - var target = this._targets[this._targets.length - 1]; - - if (this._activeTarget !== target) { - this._activate(target); - } - - return; - } - - if (this._activeTarget && scrollTop < this._offsets[0] && this._offsets[0] > 0) { - this._activeTarget = null; - - this._clear(); - - return; - } - - var offsetLength = this._offsets.length; - - for (var i = offsetLength; i--;) { - var isActiveTarget = this._activeTarget !== this._targets[i] && scrollTop >= this._offsets[i] && (typeof this._offsets[i + 1] === 'undefined' || scrollTop < this._offsets[i + 1]); - - if (isActiveTarget) { - this._activate(this._targets[i]); - } - } - }; - - _proto._activate = function _activate(target) { - this._activeTarget = target; - - this._clear(); - - var queries = this._selector.split(',').map(function (selector) { - return selector + "[data-target=\"" + target + "\"]," + selector + "[href=\"" + target + "\"]"; - }); - - var $link = $([].slice.call(document.querySelectorAll(queries.join(',')))); - - if ($link.hasClass(ClassName$8.DROPDOWN_ITEM)) { - $link.closest(Selector$8.DROPDOWN).find(Selector$8.DROPDOWN_TOGGLE).addClass(ClassName$8.ACTIVE); - $link.addClass(ClassName$8.ACTIVE); - } else { - // Set triggered link as active - $link.addClass(ClassName$8.ACTIVE); // Set triggered links parents as active - // With both