From fbcb8bc5bf929d07e76234c7bbb28040c238930d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=A9r=C3=A9my=20Munsch?= Date: Tue, 15 Mar 2022 16:27:41 +0100 Subject: [PATCH] Customer and User separation --- app/Console/Commands/CreateAdmin.php | 51 +- .../Commands/DeleteNotConfirmedCustomer.php | 39 + .../Commands/DeleteNotConfirmedUser.php | 39 - app/Enums/ContentPageType.php | 41 + app/Enums/UserRole.php | 7 +- app/Exceptions/Handler.php | 20 + .../Controllers/Bo/BannedIpController.php | 39 +- app/Http/Controllers/Bo/CodesController.php | 6 +- app/Http/Controllers/Bo/ContentController.php | 38 +- .../Controllers/Bo/DashboardController.php | 24 +- .../Controllers/Bo/ProductsController.php | 10 +- app/Http/Controllers/Bo/RangeController.php | 4 +- .../Controllers/Bo/WinnersListController.php | 44 +- app/Http/Controllers/CustomerController.php | 7 + .../{ => Fo}/EndPageController.php | 8 +- .../{ => Fo}/EnterCodeController.php | 106 +- .../Controllers/{ => Fo}/FAQController.php | 8 +- .../Controllers/{ => Fo}/GainsController.php | 9 +- app/Http/Controllers/Fo/HomeController.php | 18 + .../{ => Fo}/HowToPlayController.php | 9 +- app/Http/Controllers/Fo/LoginController.php | 383 + .../{ => Fo}/ProduitsController.php | 8 +- .../{ => Fo}/RegisterController.php | 109 +- .../Controllers/{ => Fo}/TeaserController.php | 8 +- .../Controllers/Fo/ViewContentController.php | 43 + .../Controllers/Fo/WinningProofController.php | 123 + app/Http/Controllers/HomeController.php | 11 - app/Http/Controllers/LoginController.php | 286 - .../Controllers/ViewContentController.php | 26 - .../Controllers/WinningProofController.php | 132 - app/Http/Middleware/IsAdmin.php | 7 +- app/Http/Middleware/IsSuperAdmin.php | 5 +- .../Middleware/RedirectIfAuthenticated.php | 6 +- .../Requests/{ => Bo}/CodeSearchRequest.php | 6 +- .../Requests/{ => Bo}/ExportCodesRequest.php | 6 +- .../{ => Bo}/GenerateCodesRequest.php | 6 +- .../Requests/{ => Bo}/StoreProductRequest.php | 4 +- .../Requests/{ => Bo}/StoreRangeRequest.php | 4 +- app/Http/Requests/Bo/UpdateContentRequest.php | 30 + .../{ => Bo}/UpdateProductRequest.php | 8 +- .../Requests/{ => Bo}/UpdateRangeRequest.php | 4 +- .../Requests/Bo/UpdateSettingsRequest.php | 4 +- app/Http/Requests/Fo/AuthenticateRequest.php | 37 + .../Requests/{ => Fo}/ParticipateRequest.php | 26 +- app/Http/Requests/Fo/RegisterRequest.php | 40 + app/Http/Requests/Fo/SubmitWinningProof.php | 40 + .../Requests/Fo/UpdatePasswordRequest.php | 30 + app/Http/Requests/SaveBannedIpListRequest.php | 34 + app/Lib/ToolboxHelper.php | 34 + app/Mail/CourrierArcadiaError.php | 18 +- app/Mail/PasswordReset.php | 27 +- app/Mail/PrizeWon.php | 31 +- app/Mail/ReductionWon.php | 26 +- app/Mail/VerifyEmail.php | 14 +- app/Mail/WinningProof.php | 48 - app/Mail/WinningProofMail.php | 92 + app/Models/CodeEan.php | 7 + app/Models/Content.php | 8 + app/Models/Customer.php | 97 + app/Models/FaqQuestion.php | 26 +- app/Models/FaqTheme.php | 7 + app/Models/GainView.php | 7 + app/Models/InstantWin.php | 2 + app/Models/Participation.php | 8 +- app/Models/User.php | 25 +- app/Providers/AppServiceProvider.php | 13 +- composer.lock | 54 +- config/auth.php | 16 +- .../2014_10_12_000000_create_users_table.php | 16 +- ...20_10_11_094307_create_customers_table.php | 47 + .../2020_10_23_094235_create_banned_ips.php | 3 +- ...020_10_28_091935_create_participations.php | 2 +- database/seeders/PrizeSeeder.php | 2 +- public/css/app.css | 10941 +- public/js/app.js | 103205 ++++++++++++++- resources/js/components/BannedIP.vue | 44 +- resources/lang/en/{enum.php => enums.php} | 0 resources/lang/fr/{enum.php => enums.php} | 0 resources/views/bo/content/manage.blade.php | 2 +- resources/views/bo/dashboard/index.blade.php | 2 +- .../views/bo/winners-list/arcadia.blade.php | 2 +- .../views/bo/winners-list/index.blade.php | 26 +- .../views/front/basic_example/home.blade.php | 4 +- .../front/basic_example/layout.blade.php | 4 +- .../notif-win-admin-email.blade.php | 12 +- .../winning-proof-email.blade.php | 12 +- .../basic_example/winning-proof.blade.php | 14 +- resources/views/layouts/app.blade.php | 4 +- resources/views/layouts/bo.blade.php | 10 +- resources/views/welcome.blade.php | 100 - routes/api.php | 11 - routes/channels.php | 17 - routes/console.php | 18 - routes/web-bo.php | 6 +- routes/web.php | 49 +- 95 files changed, 115954 insertions(+), 1112 deletions(-) create mode 100644 app/Console/Commands/DeleteNotConfirmedCustomer.php delete mode 100644 app/Console/Commands/DeleteNotConfirmedUser.php create mode 100644 app/Enums/ContentPageType.php create mode 100644 app/Http/Controllers/CustomerController.php rename app/Http/Controllers/{ => Fo}/EndPageController.php (71%) rename app/Http/Controllers/{ => Fo}/EnterCodeController.php (75%) rename app/Http/Controllers/{ => Fo}/FAQController.php (64%) rename app/Http/Controllers/{ => Fo}/GainsController.php (51%) create mode 100644 app/Http/Controllers/Fo/HomeController.php rename app/Http/Controllers/{ => Fo}/HowToPlayController.php (52%) create mode 100644 app/Http/Controllers/Fo/LoginController.php rename app/Http/Controllers/{ => Fo}/ProduitsController.php (60%) rename app/Http/Controllers/{ => Fo}/RegisterController.php (68%) rename app/Http/Controllers/{ => Fo}/TeaserController.php (63%) create mode 100644 app/Http/Controllers/Fo/ViewContentController.php create mode 100644 app/Http/Controllers/Fo/WinningProofController.php delete mode 100644 app/Http/Controllers/HomeController.php delete mode 100644 app/Http/Controllers/LoginController.php delete mode 100644 app/Http/Controllers/ViewContentController.php delete mode 100644 app/Http/Controllers/WinningProofController.php rename app/Http/Requests/{ => Bo}/CodeSearchRequest.php (81%) rename app/Http/Requests/{ => Bo}/ExportCodesRequest.php (92%) rename app/Http/Requests/{ => Bo}/GenerateCodesRequest.php (82%) rename app/Http/Requests/{ => Bo}/StoreProductRequest.php (92%) rename app/Http/Requests/{ => Bo}/StoreRangeRequest.php (92%) create mode 100644 app/Http/Requests/Bo/UpdateContentRequest.php rename app/Http/Requests/{ => Bo}/UpdateProductRequest.php (77%) rename app/Http/Requests/{ => Bo}/UpdateRangeRequest.php (92%) create mode 100644 app/Http/Requests/Fo/AuthenticateRequest.php rename app/Http/Requests/{ => Fo}/ParticipateRequest.php (85%) create mode 100644 app/Http/Requests/Fo/RegisterRequest.php create mode 100644 app/Http/Requests/Fo/SubmitWinningProof.php create mode 100644 app/Http/Requests/Fo/UpdatePasswordRequest.php create mode 100644 app/Http/Requests/SaveBannedIpListRequest.php create mode 100644 app/Lib/ToolboxHelper.php delete mode 100644 app/Mail/WinningProof.php create mode 100644 app/Mail/WinningProofMail.php create mode 100644 app/Models/Customer.php create mode 100644 database/migrations/2020_10_11_094307_create_customers_table.php rename resources/lang/en/{enum.php => enums.php} (100%) rename resources/lang/fr/{enum.php => enums.php} (100%) delete mode 100644 resources/views/welcome.blade.php diff --git a/app/Console/Commands/CreateAdmin.php b/app/Console/Commands/CreateAdmin.php index 7c9a06b..b3ef3cc 100644 --- a/app/Console/Commands/CreateAdmin.php +++ b/app/Console/Commands/CreateAdmin.php @@ -33,36 +33,18 @@ class CreateAdmin extends Command */ public function handle() { - $firstname = null; - while (is_null($firstname)) { + $name = null; + while (is_null($name)) { try { - $tmp = $this->ask('What is the firstname?', 'Informatique'); - $validator = Validator::make(['firstname' => $tmp], [ - 'firstname' => 'required|min:5,max:255' + $tmp = $this->ask('What is the name?', 'Equipe Web'); + $validator = Validator::make(['name' => $tmp], [ + 'name' => 'required|min:5,max:255' ]); $validator->validate(); - $firstname = $tmp; + $name = $tmp; } catch (ValidationException $e) { $this->error(sprintf( - 'Please provide a valid firstname %s', - \implode(',', collect($e->errors())->flatten()->all()) - )); - continue; - } - } - - $lastname = null; - while (is_null($lastname)) { - try { - $tmp = $this->ask('What is the lastname?', 'Internet'); - $validator = Validator::make(['lastname' => $tmp], [ - 'lastname' => 'required|min:5,max:255' - ]); - $validator->validate(); - $lastname = $tmp; - } catch (ValidationException $e) { - $this->error(sprintf( - 'Please provide a valid lastname %s', + 'Please provide a valid name %s', \implode(',', collect($e->errors())->flatten()->all()) )); continue; @@ -116,20 +98,11 @@ class CreateAdmin extends Command $password = $this->secret('What is the password?'); - $user = new User(); - $user->firstname = $firstname; - $user->lastname = $lastname; - $user->birth_date = now(); - $user->email = $email; - $user->password = Hash::make($password); - $user->address = "-"; - $user->town = "Le Mans"; - $user->postal_code = "72000"; - $user->country = "France"; - $user->email_verify_token = "-"; - $user->email_verified = true; - $user->role = $role; - + $user = new User(); + $user->name = $name; + $user->email = $email; + $user->password = Hash::make($password); + $user->role = $role; $user->saveOrFail(); $this->info('User created.'); diff --git a/app/Console/Commands/DeleteNotConfirmedCustomer.php b/app/Console/Commands/DeleteNotConfirmedCustomer.php new file mode 100644 index 0000000..c05ee80 --- /dev/null +++ b/app/Console/Commands/DeleteNotConfirmedCustomer.php @@ -0,0 +1,39 @@ +subDay()]])->get(); + foreach ($customers as $customer) { + $customers->delete(); + } + + return 0; + } +} diff --git a/app/Console/Commands/DeleteNotConfirmedUser.php b/app/Console/Commands/DeleteNotConfirmedUser.php deleted file mode 100644 index b009a3a..0000000 --- a/app/Console/Commands/DeleteNotConfirmedUser.php +++ /dev/null @@ -1,39 +0,0 @@ -subDay()]])->get(); - foreach ($users as $user) { - $user->delete(); - } - - return 0; - } -} diff --git a/app/Enums/ContentPageType.php b/app/Enums/ContentPageType.php new file mode 100644 index 0000000..e83ac3a --- /dev/null +++ b/app/Enums/ContentPageType.php @@ -0,0 +1,41 @@ + 1, + 'charte' => 2, + 'reglement' => 3 + ]; + } + + /** + * Enum values + * + * @return array + */ + protected static function labels(): array + { + return [ + 'legals' => trans('Mentions légales'), + 'charte' => trans('Charte'), + 'reglement' => trans('Règlement') + ]; + } +} diff --git a/app/Enums/UserRole.php b/app/Enums/UserRole.php index 8500a0b..6659fd8 100644 --- a/app/Enums/UserRole.php +++ b/app/Enums/UserRole.php @@ -7,7 +7,6 @@ use Kwaadpepper\Enum\BaseEnumRoutable; /** * @method static self admin() * @method static self brand() - * @method static self customer() */ final class UserRole extends BaseEnumRoutable { @@ -20,8 +19,7 @@ final class UserRole extends BaseEnumRoutable { return [ 'admin' => 0, - 'brand' => 1, - 'customer' => 2 + 'brand' => 1 ]; } @@ -34,8 +32,7 @@ final class UserRole extends BaseEnumRoutable { return [ 'admin' => trans('enums.admin'), - 'brand' => trans('enums.brand'), - 'customer' => trans('enums.customer') + 'brand' => trans('enums.brand') ]; } } diff --git a/app/Exceptions/Handler.php b/app/Exceptions/Handler.php index bf6a0bd..e032917 100644 --- a/app/Exceptions/Handler.php +++ b/app/Exceptions/Handler.php @@ -2,7 +2,9 @@ namespace App\Exceptions; +use Illuminate\Session\TokenMismatchException; use Kwaadpepper\ExceptionHandler\Exceptions\ExceptionHandler; +use Throwable; class Handler extends ExceptionHandler { @@ -24,4 +26,22 @@ class Handler extends ExceptionHandler 'password', 'password_confirmation', ]; + + /** + * Report or log an exception. + * + * @param \Throwable $e + * @return void + * + * @throws \Exception . + */ + public function report(Throwable $e) + { + if (\get_class($e) === TokenMismatchException::class) { + abort(\request()->routeIs('bo.*') ? + response()->redirectToRoute('bo.dashboard') : + response()->redirectToRoute('home')); + } + parent::report($e); + } } diff --git a/app/Http/Controllers/Bo/BannedIpController.php b/app/Http/Controllers/Bo/BannedIpController.php index 88ee797..3b84c83 100644 --- a/app/Http/Controllers/Bo/BannedIpController.php +++ b/app/Http/Controllers/Bo/BannedIpController.php @@ -3,33 +3,50 @@ namespace App\Http\Controllers\Bo; use App\Http\Controllers\Controller; +use App\Http\Requests\SaveBannedIpListRequest; use App\Models\BannedIp; use Illuminate\Http\Request; class BannedIpController extends Controller { + /** + * Show banned ips list + * + * @return \Illuminate\Contracts\View\View|\Illuminate\Contracts\View\Factory + */ public function index() { $ips = BannedIp::all(); return view('bo.banned-ip.index', compact('ips')); } - public function saveDatas(Request $request) + /** + * Ajax save data banned ips + * + * @param SaveBannedIpListRequest $request + * @return array + */ + public function saveDatas(SaveBannedIpListRequest $request) { - $ips = $request->ips; + /** @var \Illuminate\Support\Collection $ips */ + $ips = \collect($request->ips); - for ($i = 0; $i < count($ips); $i++) { - if (!empty($ips[$i]["ip"])) { - $ip = BannedIp::updateOrCreate(['ip' => $ips[$i]["ip"]]); - } else { - unset($ips[$i]); - $i--; - } - } + // * Delete all + BannedIp::query()->delete(); - return $ips; + $ips->map(function (string $ip) { + (new BannedIp(['ip' => $ip]))->saveOrFail(); + }); + + return \response()->json(BannedIp::all()); } + /** + * Ajax destroy ip + * + * @param Request $request + * @return string + */ public function destroy(Request $request) { $ip = BannedIp::where("ip", $request->ip); diff --git a/app/Http/Controllers/Bo/CodesController.php b/app/Http/Controllers/Bo/CodesController.php index dfc7b83..b061a88 100644 --- a/app/Http/Controllers/Bo/CodesController.php +++ b/app/Http/Controllers/Bo/CodesController.php @@ -3,9 +3,9 @@ namespace App\Http\Controllers\Bo; use App\Http\Controllers\Controller; -use App\Http\Requests\CodeSearchRequest; -use App\Http\Requests\ExportCodesRequest; -use App\Http\Requests\GenerateCodesRequest; +use App\Http\Requests\Bo\CodeSearchRequest; +use App\Http\Requests\Bo\ExportCodesRequest; +use App\Http\Requests\Bo\GenerateCodesRequest; use App\Jobs\ProcessExportCodesUniques; use App\Jobs\ProcessUniqueCode; use App\Models\Code; diff --git a/app/Http/Controllers/Bo/ContentController.php b/app/Http/Controllers/Bo/ContentController.php index 3dcf5d9..18eaf86 100644 --- a/app/Http/Controllers/Bo/ContentController.php +++ b/app/Http/Controllers/Bo/ContentController.php @@ -3,23 +3,37 @@ namespace App\Http\Controllers\Bo; use App\Http\Controllers\Controller; +use App\Http\Requests\Bo\UpdateContentRequest; use App\Models\Content; -use Illuminate\Http\Request; class ContentController extends Controller { - public function manage($id, Request $request) + /** + * Manage content + * + * @param Content $content + * @return \Illuminate\Http\RedirectResponse|\Illuminate\Contracts\View\View|\Illuminate\Contracts\View\Factory + * @phpcs:disable Generic.CodeAnalysis.UnusedFunctionParameter.FoundInExtendedClass + */ + public function manage(Content $content) { - $content = Content::findOrFail($id); - - if ($_SERVER['REQUEST_METHOD'] === 'POST') { - $value = $request->value; - $content->value = $value; - $content->save(); - - return redirect()->route('bo.content', $content->id)->with('success', 'Enregistré !'); - } - return view('bo.content.manage', compact('content')); } + + /** + * Content update + * + * @param UpdateContentRequest $request + * @param Content $content + * @return \Illuminate\Http\RedirectResponse + */ + public function manageSubmit(UpdateContentRequest $request, Content $content) + { + $content->fill($request->validated()); + if ($content->saveOrFail()) { + return redirect()->route('bo.contents.manage', $content) + ->with('success', 'Enregistré !'); + } + return back(); + } } diff --git a/app/Http/Controllers/Bo/DashboardController.php b/app/Http/Controllers/Bo/DashboardController.php index 9e0d5c0..0991f50 100644 --- a/app/Http/Controllers/Bo/DashboardController.php +++ b/app/Http/Controllers/Bo/DashboardController.php @@ -10,28 +10,34 @@ use Illuminate\Support\Facades\DB; class DashboardController extends Controller { + /** + * Show dashboard page + * + * @return \Illuminate\Contracts\View\View|\Illuminate\Contracts\View\Factory + */ public function index() { // Pour les stats. - $settings = app(Settings::class); - $participations = Participation::selectRaw("COUNT(*) AS count, DATE(created_at) AS date") + $settings = app(Settings::class); + $participations = Participation::selectRaw("COUNT(*) AS count, DATE(created_at) AS date") ->groupByRaw("DATE(created_at)")->get(); - $participationsUniquePerDay = Participation::selectRaw("DISTINCT user_id AS user, COUNT(*) AS count, DATE(created_at) AS date") - ->groupByRaw("DATE(created_at), user")->get(); + //phpcs:ignore Generic.Files.LineLength.TooLong + $participationsUniquePerDay = Participation::selectRaw("DISTINCT customer_id AS customer, COUNT(*) AS count, DATE(created_at) AS date") + ->groupByRaw("DATE(created_at), customer")->get(); $statsUnique = []; foreach ($participationsUniquePerDay as $participationPerDay) { $dateUnique = Carbon::parse($participationPerDay->date)->format('d/m/Y'); $statsUnique[$dateUnique] = isset($statsUnique[$dateUnique]) ? $statsUnique[$dateUnique] + 1 : 1; } - $participationsUnique = Participation::selectRaw("DISTINCT user_id AS user, COUNT(*) AS count") - ->groupBy("user")->orderBy("user")->get(); + $participationsUnique = Participation::selectRaw("DISTINCT customer_id AS customer, COUNT(*) AS count") + ->groupBy("customer")->orderBy("customer")->get(); // Données calculées à afficher. $totalParticipation = Participation::count(); if (count($participationsUnique) > 0) { - $avgParticipUser = round($totalParticipation / count($participationsUnique), 1); + $avgParticipCustomer = round($totalParticipation / count($participationsUnique), 1); } else { - $avgParticipUser = 0; + $avgParticipCustomer = 0; } // Tableau des dates comprises dans la table participation. @@ -65,7 +71,7 @@ class DashboardController extends Controller 'count', 'countUnique', 'totalParticipation', - 'avgParticipUser', + 'avgParticipCustomer', 'codesEan', 'settings' )); diff --git a/app/Http/Controllers/Bo/ProductsController.php b/app/Http/Controllers/Bo/ProductsController.php index 958bf54..d961078 100644 --- a/app/Http/Controllers/Bo/ProductsController.php +++ b/app/Http/Controllers/Bo/ProductsController.php @@ -3,8 +3,8 @@ namespace App\Http\Controllers\Bo; use App\Http\Controllers\Controller; -use App\Http\Requests\StoreProductRequest; -use App\Http\Requests\UpdateProductRequest; +use App\Http\Requests\Bo\StoreProductRequest; +use App\Http\Requests\Bo\UpdateProductRequest; use App\Models\Product; use App\Models\Range; use Illuminate\Support\Str; @@ -43,7 +43,7 @@ class ProductsController extends Controller /** * Store a newly created resource in storage. * - * @param \App\Http\Requests\StoreProductRequest $request + * @param \App\Http\Requests\Bo\StoreProductRequest $request * @return \Illuminate\Http\Response */ public function store(StoreProductRequest $request) @@ -104,8 +104,8 @@ class ProductsController extends Controller /** * Update the specified resource in storage. * - * @param \App\Http\Requests\UpdateProductRequest $request - * @param integer $id + * @param \App\Http\Requests\Bo\UpdateProductRequest $request + * @param integer $id * @return \Illuminate\Http\Response */ public function update(UpdateProductRequest $request, $id) diff --git a/app/Http/Controllers/Bo/RangeController.php b/app/Http/Controllers/Bo/RangeController.php index 65685a3..f520345 100644 --- a/app/Http/Controllers/Bo/RangeController.php +++ b/app/Http/Controllers/Bo/RangeController.php @@ -3,8 +3,8 @@ namespace App\Http\Controllers\Bo; use App\Http\Controllers\Controller; -use App\Http\Requests\StoreRangeRequest; -use App\Http\Requests\UpdateRangeRequest; +use App\Http\Requests\Bo\StoreRangeRequest; +use App\Http\Requests\Bo\UpdateRangeRequest; use App\Models\Range; use Illuminate\Support\Str; diff --git a/app/Http/Controllers/Bo/WinnersListController.php b/app/Http/Controllers/Bo/WinnersListController.php index 0ba283b..6701c33 100644 --- a/app/Http/Controllers/Bo/WinnersListController.php +++ b/app/Http/Controllers/Bo/WinnersListController.php @@ -6,18 +6,30 @@ use App\Http\Controllers\Controller; use App\Mail\CourrierArcadiaError; use App\Models\Participation; use App\Models\Settings; -use Illuminate\Http\Request; use Illuminate\Support\Facades\Mail; class WinnersListController extends Controller { + /** + * crm Api + * + * @var \LDCCRM\ApiV1 + */ private $apiCrm; + /** + * WinnersListController + */ public function __construct() { $this->apiCrm = new \LDCCRM\ApiV1(config('crm.endpoint'), config('crm.token')); } + /** + * Show Instant win list + * + * @return \Illuminate\Contracts\View\View|\Illuminate\Contracts\View\Factory + */ public function index() { $winnersList = Participation::has('instantWin')->get(); @@ -25,17 +37,27 @@ class WinnersListController extends Controller return view('bo.winners-list.index', compact('winnersList', 'settings')); } + /** + * Crete and show courrier arcadia + * + * @param mixed $id + * @return \Illuminate\Contracts\View\View|\Illuminate\Contracts\View\Factory + */ public function courrierArcadia($id) { + /** @var \App\Models\Participation $participation */ $participation = Participation::findOrFail($id); - $crmUser = $this->apiCrm->getCustomer($participation->user->crm_id); + /** @var \App\Models\Customer $customer */ + $customer = $participation->customer; + + $crmUser = $this->apiCrm->getCustomer($customer->crm_id); if ($crmUser->status === 'NOK') { return back()->withErrors("Erreur lors de la récupération de l'utilisateur dans la CRM : Code : " . $crmUser->code . " Message : " . $crmUser->message); } - $crmId = $participation->user->crm_id; + $crmId = $customer->crm_id; $crmUser = $crmUser->user; @@ -48,6 +70,7 @@ class WinnersListController extends Controller $corps .= "\t" . 'firstname) . ']]>' . "\n"; $corps .= "\t" . 'lastname) . ']]>' . "\n"; $corps .= "\t" . 'address) . ']]>' . "\n"; + // phpcs:ignore Generic.Files.LineLength.TooLong $corps .= "\t" . 'address2) . ']]>' . "\n"; $corps .= "\t" . 'postcode) . ']]>' . "\n"; $corps .= "\t" . 'city) . ']]>' . "\n"; @@ -63,11 +86,20 @@ class WinnersListController extends Controller return view('bo.winners-list.arcadia', compact('participation', 'corps', 'crmId')); } - public function createCourrierArcadia(Request $request, $id) + /** + * Send Arcadia mail + * + * @param mixed $id + * @return \Illuminate\Http\RedirectResponse + */ + public function createCourrierArcadia($id) { $participation = Participation::findOrFail($id); $instantWin = $participation->instantWin; + /** @var \App\Models\Customer $customer */ + $customer = $participation->customer; + if ($instantWin->prize->arcadia_operation_code !== 0 && $instantWin->prize->arcadia_support_code !== 0) { $fields = [ 'root' => [ @@ -105,9 +137,9 @@ class WinnersListController extends Controller ]; } - $arcadiaMail = $this->apiCrm->ArcadiaOutgoingMail($participation->user->crm_id, $fields, 'game'); + $arcadiaMail = $this->apiCrm->ArcadiaOutgoingMail($customer->crm_id, $fields, 'game'); if ($arcadiaMail->status === 'NOK') { - Mail::to(config('mail.MAIL_ADMIN'))->send(new CourrierArcadiaError($participation->user)); + Mail::to(config('mail.MAIL_ADMIN'))->send(new CourrierArcadiaError($customer)); return back()->withErrors("Erreur lors de l'envoi du courrier Arcadia. Code : " . $arcadiaMail->code . " Message : " . $arcadiaMail->message); } diff --git a/app/Http/Controllers/CustomerController.php b/app/Http/Controllers/CustomerController.php new file mode 100644 index 0000000..e5d0917 --- /dev/null +++ b/app/Http/Controllers/CustomerController.php @@ -0,0 +1,7 @@ +id)->count(); + /** @var \App\Models\Customer|null $customer */ + $customer = auth('customer')->user(); + + // * Only auth customer can access + if (!auth('customer')->check()) { + return redirect()->route('home'); + } + + $nbParticipations = Participation::whereHas('customer', function ($q) use ($customer) { + $q->whereId($customer->id); + })->count(); $settings = app(Settings::class)->select('use_ean_codes', 'nb_participation_player')->first(); if ($nbParticipations >= $settings->nb_participation_player) { return view('front.basic.participation-exhausted', compact('settings')); @@ -61,6 +72,9 @@ class EnterCodeController extends Controller /** @var \App\Models\Settings $settings */ $settings = app(Settings::class); + /** @var \App\Models\Customer $customer */ + $customer = auth('customer')->user(); + // * Cas IP bannie. $ipBanned = BannedIp::where('ip', app('clientIp'))->first() === null ? 0 : 1; if ($ipBanned) { @@ -68,28 +82,30 @@ class EnterCodeController extends Controller } // * Cas nombre de participation maximale atteint. - $nbParticipations = Participation::where('user_id', auth()->user()->id)->count(); + $nbParticipations = Participation::whereHas('customer', function ($q) use ($customer) { + $q->whereId($customer->id); + })->count(); if ($nbParticipations >= $settings->nb_participation_player) { return view('front.basic.participation-exhausted', compact('settings')); } // * Tous les cas "bloquants" sont passé, l'utilisateur participe à partir d'ici. $participation = new Participation(); - $participation->user_id = auth()->user()->id; $participation->code_unique_id = $request->code->id; $participation->code_ean_id = $request->code_ean ? $request->code_ean->id : null; $participation->ip = app('clientIp'); + $participation->customer()->associate($customer); $participation->save(); // * Gestion des instants gagnants. $userAlreadyWon = Participation::has('instantWin') - ->whereHas('user', function ($q) { - $q->whereId(auth()->user()->id); + ->whereHas('customer', function ($q) use ($customer) { + $q->whereId($customer->id); })->first(); // * Si l'utilisateur actuel à déjà gagné un gros lot, pas d'instant gagnant. if ($userAlreadyWon) { - return $this->serveCouponWin($settings, $participation); + return $this->serveCouponWin($settings, $participation, $customer); } $instantWin = InstantWin::where([['appear_date', '<', now()], ['won', 0]]) @@ -98,14 +114,18 @@ class EnterCodeController extends Controller // Ici si fail car unique dupliqué catch. try { // Gain d'un gros lot. - return $this->instantWin($settings, $request, $participation, $instantWin); + return $this->instantWin($settings, $request, $participation, $customer, $instantWin); } catch (\ErrorException $e) { // Unbind instant gagnant. $participation->instantWin()->delete(); - // TODO: si erreur il faut envoyer un mail à equipe.web@ldc.fr + // TODO: si erreur il faut envoyer un mail à equipe.web@ldc.fr. } //end try } - return $this->serveCouponWin($settings, $participation); + return $this->serveCouponWin( + $settings, + $participation, + $customer + ); } /** @@ -114,11 +134,17 @@ class EnterCodeController extends Controller * @param Settings $settings * @param Request $request * @param Participation $participation + * @param Customer $customer * @param InstantWin|null $instantWin * @return \Illuminate\Contracts\View\View|\Illuminate\Contracts\View\Factory */ - private function instantWin(Settings $settings, Request $request, Participation &$participation, $instantWin) - { + private function instantWin( + Settings $settings, + Request $request, + Participation &$participation, + Customer $customer, + $instantWin + ) { $instantWin->won = true; // Should save now to prevent next player win on the same winning moment. $instantWin->save(); @@ -128,7 +154,7 @@ class EnterCodeController extends Controller $instantWin->prize->arcadia_operation_code !== 0 && $instantWin->prize->arcadia_support_code !== 0 ) { - $crmId = auth()->user()->crm_id; + $crmId = $customer->crm_id; $fields = [ 'root' => [ @@ -167,11 +193,11 @@ class EnterCodeController extends Controller $arcadiaMail = $this->apiCrm->ArcadiaOutgoingMail($crmId, $fields, 'game'); if ($arcadiaMail->status === 'KO') { - Mail::to(config('mail.MAIL_ADMIN'))->send(new CourrierArcadiaError(auth()->user())); + Mail::to(config('mail.MAIL_ADMIN'))->send(new CourrierArcadiaError($customer)); } } //end if - Mail::to(auth()->user()->email)->send(new PrizeWon(auth()->user(), $instantWin->prize, $settings)); + Mail::to($customer->email)->send(new PrizeWon($customer, $instantWin->prize, $settings)); $mails = collect($settings->notification_emails); foreach ($mails as $mail) { Mail::to($mail)->send(new NotifWinAdmin($settings, $participation)); @@ -187,19 +213,23 @@ class EnterCodeController extends Controller * * @param Settings $settings * @param Participation $participation + * @param Customer $customer * @return \Illuminate\Contracts\View\View|\Illuminate\Contracts\View\Factory */ - private function serveCouponWin(Settings $settings, Participation $participation) + private function serveCouponWin(Settings $settings, Participation $participation, Customer $customer) { // Si le jeu est 100% gagnant. if ($settings->reductions_activated) { - $coupon = $this->getRandomCoupon($settings); - $crmCoupon = $this->updateCoupon($settings, $coupon->web_coupon_identifiant, $participation); + if (!($coupon = $this->getRandomCoupon($settings))) { + throw new \ErrorException('No web coupons are available'); + } + // ! FIXME: repair this !! + $crmCoupon = $this->updateCoupon($settings, $coupon->web_coupon_identifiant, $participation, $customer); if (!$crmCoupon) { $participation->delete(); return back()->withErrors("Une erreur est survenue, merci de réessayez ultérieurement."); } - Mail::to(Auth::user()->email)->send(new ReductionWon(Auth::user(), $coupon, $settings, $crmCoupon)); + Mail::to(auth('customer')->user()->email)->send(new ReductionWon($customer, $coupon, $settings, $crmCoupon)); return view('front.basic.reduction', compact('crmCoupon', 'coupon')); } else { return view('front.basic.loose'); @@ -210,9 +240,9 @@ class EnterCodeController extends Controller * Get a random coupon * * @param Settings $settings - * @return mixed + * @return string|null */ - private function getRandomCoupon(Settings $settings) + private function getRandomCoupon(Settings $settings): ?string { $webCoupons = $settings->web_coupons; if (count($webCoupons) > 1) { @@ -228,7 +258,7 @@ class EnterCodeController extends Controller shuffle($tmp); return $tmp[0]; } else { - return $webCoupons[0]; + return $webCoupons[0] ?? null; } } @@ -238,14 +268,19 @@ class EnterCodeController extends Controller * @param Settings $settings * @param mixed $coupon * @param Participation $participation + * @param Customer $customer * @return \App\Models\Reduction|null */ - private function updateCoupon(Settings $settings, $coupon, Participation $participation) - { + private function updateCoupon( + Settings $settings, + $coupon, + Participation $participation, + Customer $customer + ) { $reduction = null; $mesBR = new MesBR(config('mesbr.endpoint'), $settings->reductions_site, $settings->reductions_campaign); - $crmUser = $this->apiCrm->getCustomer(Auth::user()->crm_id); + $crmUser = $this->apiCrm->getCustomer($customer->crm_id); if ($crmUser->status === 'OK') { $mesBR->updateContact($crmUser->user); $result = $mesBR->updatePanier($crmUser->user, $coupon); @@ -270,18 +305,27 @@ class EnterCodeController extends Controller } /** - * Undocumented function + * Show Wining proof form * * @return \Illuminate\Http\Response */ public function formWinningProof() { - $participation = Participation::where([ - ['user_id', Auth::user()->id], + /** @var \App\Models\Customer|null $customer */ + $customer = auth('customer')->user(); + + // * Only auth customer can access + if (!auth('customer')->check() or \get_class($customer) === Customer::class) { + return redirect()->route('home'); + } + + $participation = Participation::whereHas('customer', function ($q) use ($customer) { + $q->whereId($customer->id); + })->whereHas('instantWin')->where([ ['sticker', null], ['ticket', null], ['barcode', null] - ])->has('instantWin')->first(); + ])->first(); if ($participation) { return view('front.basic.winning-proof', compact('participation')); } diff --git a/app/Http/Controllers/FAQController.php b/app/Http/Controllers/Fo/FAQController.php similarity index 64% rename from app/Http/Controllers/FAQController.php rename to app/Http/Controllers/Fo/FAQController.php index c67f497..63e6f09 100644 --- a/app/Http/Controllers/FAQController.php +++ b/app/Http/Controllers/Fo/FAQController.php @@ -1,12 +1,18 @@ exists('front.basic.gains')) { diff --git a/app/Http/Controllers/Fo/HomeController.php b/app/Http/Controllers/Fo/HomeController.php new file mode 100644 index 0000000..33d42ec --- /dev/null +++ b/app/Http/Controllers/Fo/HomeController.php @@ -0,0 +1,18 @@ +exists('front.basic.how-to-play')) { diff --git a/app/Http/Controllers/Fo/LoginController.php b/app/Http/Controllers/Fo/LoginController.php new file mode 100644 index 0000000..c4ea16b --- /dev/null +++ b/app/Http/Controllers/Fo/LoginController.php @@ -0,0 +1,383 @@ +apiCrm = new \LDCCRM\ApiV1(config('crm.endpoint'), config('crm.token')); + } + + /** + * Show login form + * + * @return \Illuminate\Contracts\View\View|\Illuminate\Contracts\View\Factory + */ + public function loginForm() + { + if (!ToolboxHelper::isLoginAccessAllowed()) { + abort(\response()->redirectToRoute('home')); + } + return view('front.basic.login'); + } + + /** + * Authenticate user + * + * @param AuthenticateRequest $request + * @return \Illuminate\Http\RedirectResponse + */ + public function loginFormSubmit(AuthenticateRequest $request) + { + $this->authenticateUser($request); + $this->authenticateCustomer($request); + + return back()->withInput($request->except('password')) + ->withErrors('Les identifiants entrés sont incorrects.'); + } + + /** + * Try Login User if exists (email) + * + * Does nothing if email does not exists in users table. + * + * @param AuthenticateRequest $request + * @return void + * @throws \Symfony\Component\HttpKernel\Exception\HttpException If user is logged in. + * @throws \Symfony\Component\HttpKernel\Exception\NotFoundHttpException If redirect route is not found. + */ + private function authenticateUser(AuthenticateRequest $request) + { + if ( + User::whereEmail($request->email)->exists() and + \auth('web')->attempt([ + 'email' => $request->email, + 'password' => $request->password + ], $request->remember) + ) { + abort(redirect()->route('bo.dashboard')); + } + } + + /** + * Try Login Customer if exists (email) + * + * Does nothing if email does not exists in customers table. + * + * @param AuthenticateRequest $request + * @return void + * @throws \Symfony\Component\HttpKernel\Exception\HttpException If user is logged in. + * @throws \Symfony\Component\HttpKernel\Exception\NotFoundHttpException If redirect route is not found. + */ + private function authenticateCustomer(AuthenticateRequest $request) + { + /** @var \App\Models\Customer|null $customerLocal */ + $customerLocal = Customer::where('email', $request->email)->first(); + + $connect = $this->apiCrm->loginCustomer($request->email, $request->password); + + if (\optional($connect)->code === 500) { + abort(back()->withInput($request->except("password")) + ->withErrors("La connexion est impossible pour le moment, veuillez réessayer plus tard.")); + } + + // * Compte existant mais non activé. + if (\optional($connect)->code === 116) { + /** @var \App\Models\Customer $customerLocal */ + $customerLocal = Customer::create([ + 'crm_id' => $connect->user->crm_id, + 'firstname' => $connect->user->firstname, + 'lastname' => $connect->user->lastname, + 'birth_date' => $connect->user->birth_date, + 'email' => $request->email, + // TODO : MOTDEPASSE ???. + 'password' => Hash::make("MOTDEPASSE"), + 'address' => $connect->user->address, + 'address2' => $connect->user->address2, + 'town' => $connect->user->city, + 'postal_code' => $connect->user->postcode, + 'country' => $connect->user->country + ]); + + $customerLocal->email_verify_token = Str::uuid(); + $customerLocal->saveOrFail(); + Mail::to($request->email)->send(new VerifyEmail($customerLocal)); + abort(back()->withInput($request->except("password")) + // phpcs:ignore Generic.Files.LineLength.TooLong + ->withErrors("Votre compte existe mais votre email n'est pas confirmé, merci de vérifier vos emails.")); + } //end if + + // * Connexion OK + if (!$customerLocal and $connect->status === 'OK') { + /** @var \App\Models\Customer $customerLocal */ + $customerLocal = Customer::create([ + 'crm_id' => $connect->user->crm_id, + 'firstname' => $connect->user->firstname, + 'lastname' => $connect->user->lastname, + 'birth_date' => $connect->user->birth_date, + 'email' => $request->email, + // TODO : MOTDEPASSE ???. + 'password' => Hash::make("MOTDEPASSE"), + 'address' => $connect->user->address, + 'address2' => $connect->user->address2, + 'town' => $connect->user->city, + 'postal_code' => $connect->user->postcode, + 'country' => $connect->user->country, + 'email_verified' => true + ]); + } //end if + + // * Pas de customer (non trouvé ou mot de pass invalide) + if (!$customerLocal or \optional($connect)->code === 117) { + abort(back()->withInput($request->except("password")) + ->withErrors("Email ou mot de passe incorrect.")); + } + + if ($connect->status !== 'OK') { + abort(back()->withInput($request->except("password")) + ->withErrors('Une erreur est survenue')); + } + + // * Enregistrer Customer is besoin + $customerLocal->saveOrFail(); + + // * Email non vérifié + if (!$customerLocal->email_verified) { + $customerLocal->email_verify_token = Str::uuid(); + $customerLocal->saveOrFail(); + Mail::to($request->email)->send(new VerifyEmail($customerLocal)); + abort(back()->withInput($request->except("password")) + ->withErrors( + 'Votre compte existe mais votre email n\'est pas confirmé, merci de vérifier vos emails.' + )); + } //end if + + + // ??? Pas sûr. + $tmpPwd = "MOTDEPASSE"; + if ($customerLocal and $customerLocal->isLocal()) { + $tmpPwd = $request->password; + } + + // * Authentification locale + if (auth('customer')->attempt(["email" => $request->email, "password" => $tmpPwd], $request->remember)) { + abort(redirect()->route('saisir-code')); + } + } + + /** + * Log out + * + * @return \Illuminate\Routing\Redirector|\Illuminate\Http\RedirectResponse + */ + public function logout() + { + auth('web')->logout(); + auth('customer')->logout(); + return redirect()->route('home'); + } + + /** + * Confirm Email + * + * @param mixed $verifyToken + * @return \Illuminate\Contracts\View\View|\Illuminate\Contracts\View\Factory + */ + public function confirmEmail($verifyToken) + { + $result = false; + /** @var \App\Models\Customer $customer */ + $customer = Customer::where('email_verify_token', $verifyToken)->first(); + if (!$customer) { + return view('front.basic.confirm-email', compact('result')); + } + + $activation = $this->apiCrm->activateCustomer($customer->crm_id); + + if ($activation->status === 'OK') { + $customer->email_verified = true; + $customer->email_verify_token = null; + $customer->saveOrFail(); + $result = true; + } else { + // User already active. + if ($activation->code === 110) { + $customer->email_verified = true; + $customer->email_verify_token = null; + $customer->saveOrFail(); + $result = true; + } + } + + return view('front.basic.confirm-email', compact('result')); + } + + /** + * Forgot Password form + * + * @param Request $request + * @return \Illuminate\Contracts\View\View|\Illuminate\Contracts\View\Factory + */ + public function forgotPassword(Request $request) + { + if ($request->tokenValid && $request->token) { + $tokenValid = $request->tokenValid; + $token = $request->token; + return view('front.basic.forgot-password', compact('tokenValid', 'token')); + } + return view('front.basic.forgot-password'); + } + + /** + * Send password reset mail + * + * @param Request $request + * @return \Illuminate\Http\RedirectResponse + */ + public function mailPassword(Request $request) + { + $email = filter_var($request->email, FILTER_SANITIZE_STRING); + + /** @var \App\Models\Customer $customer */ + $customer = Customer::where('email', $email)->first(); + + if (!$customer) { + $userCrm = $this->apiCrm->getCustomerByEmail($email); + if ($userCrm->status === 'OK') { + /** @var \App\Models\Customer $customer */ + $customer = Customer::create([ + 'crm_id' => $userCrm->user->crm_id, + 'firstname' => $userCrm->user->firstname, + 'lastname' => $userCrm->user->lastname, + 'birth_date' => $userCrm->user->birth_date, + 'email' => $email, + // TODO : MOTDEPASSE ??? + 'password' => Hash::make("MOTDEPASSE"), + 'address' => $userCrm->user->address, + 'address2' => $userCrm->user->address2, + 'town' => $userCrm->user->city, + 'postal_code' => $userCrm->user->postcode, + 'country' => $userCrm->user->country, + 'email_verified' => true + ]); + + if ($userCrm->user->status === 0) { + $customer->email_verified = false; + $customer->email_verify_token = Str::uuid(); + $customer->saveOrFail(); + Mail::to($email)->send(new VerifyEmail($customer)); + return back()->withInput($request->except("password")) + // phpcs:ignore Generic.Files.LineLength.TooLong + ->withErrors("Votre compte existe mais votre email n'est pas confirmé, merci de vérifier vos emails."); + } + } else { + if ($userCrm->code === 101) { + return back()->withInput($request->only('email')) + ->withErrors("Le mail que vous avez entré n'est pas enregistré dans nos services."); + } else { + return back()->withErrors("Une erreur est survenue, veuillez réessayer plus tard."); + } + } //end if + } //end if + + $customer->password_token = Str::uuid(); + $customer->saveOrFail(); + + /** @var \App\Models\Settings $settings */ + $settings = app(Settings::class); + + Mail::to($email)->send(new PasswordReset($customer, $settings)); + + return redirect()->route('login') + ->with('success', 'Un mail de réinitialisation de votre mot de passe vous a été envoyé(e).'); + } + + /** + * Forgot password form show + * + * @param Request $request + * @param mixed $token + * @return \Illuminate\Http\RedirectResponse + */ + public function forgotPasswordReset(Request $request, $token) + { + if (!$request->hasValidSignature(false)) { + return redirect()->route('login') + ->withErrors("Le lien de changement de votre mot de passe n'est plus valide, veuillez réessayer."); + } + + $tokenValid = false; + + if (!Customer::where('password_token', $token)->exists()) { + return redirect()->route('forgot-password', compact('tokenValid')) + ->withErrors('Le lien de changement du mot de passe est incorrect.'); + } + + $tokenValid = true; + return redirect()->route('forgot-password', compact('tokenValid', 'token')); + } + + /** + * Change password form submit + * + * @param UpdatePasswordRequest $request + * @return \Illuminate\Http\RedirectResponse + */ + public function changePassword(UpdatePasswordRequest $request) + { + /** @var \App\Models\Customer $customer */ + $customer = Customer::where( + 'password_token', + filter_var($request->token, FILTER_SANITIZE_STRING) + )->first(); + + if (!$customer) { + return back()->withErrors('Le lien de changement de votre mot de passe est incorrect, veuillez réessayer.'); + } + + // TODO : Ajouter controle du contenu du mot de passe. + $newPassword = $request->password; + + $update = $this->apiCrm->changePwdCustomer($customer->crm_id, $newPassword); + + if ($update->status === 'OK') { + $customer->password_token = null; + $customer->saveOrFail(); + return redirect()->route('login') + ->with('success', 'Vous pouvez désormais vous connecter avec votre nouveau mot de passe.'); + } else { + if ($update->code === 123) { + return back() + // phpcs:ignore Generic.Files.LineLength.TooLong + ->withErrors("Il semblerait que vous ayez déjà utilisé ce mot de passe pour votre compte. Veuillez réessayer en changeant de mot de passe."); + } else { + return back()->withErrors("Une erreur est survenue, veuillez réessayer plus tard."); + } + } + } +} diff --git a/app/Http/Controllers/ProduitsController.php b/app/Http/Controllers/Fo/ProduitsController.php similarity index 60% rename from app/Http/Controllers/ProduitsController.php rename to app/Http/Controllers/Fo/ProduitsController.php index 13c9528..493db39 100644 --- a/app/Http/Controllers/ProduitsController.php +++ b/app/Http/Controllers/Fo/ProduitsController.php @@ -1,11 +1,17 @@ orderBy('id')->get(); diff --git a/app/Http/Controllers/RegisterController.php b/app/Http/Controllers/Fo/RegisterController.php similarity index 68% rename from app/Http/Controllers/RegisterController.php rename to app/Http/Controllers/Fo/RegisterController.php index b28a8fc..5f2973d 100644 --- a/app/Http/Controllers/RegisterController.php +++ b/app/Http/Controllers/Fo/RegisterController.php @@ -1,13 +1,14 @@ middleware('guest'); $this->apiCrm = new \LDCCRM\ApiV1(config('crm.endpoint'), config('crm.token')); } - public function index() + /** + * Register form + * + * @return \Illuminate\Contracts\View\View|\Illuminate\Contracts\View\Factory + */ + public function register() { return view('front.basic.register-crm'); } - public function register(Request $request) + /** + * Register form submit + * + * @param RegisterRequest $request + * @return \Illuminate\Http\RedirectResponse + */ + public function registerSubmit(RegisterRequest $request) { - - $request->validate([ - 'lastname' => 'required|string|max:255', - 'firstname' => 'required|string|max:255', - 'birth_date' => 'required|string|max:10', - 'email' => 'required|string|email|max:255|unique:users|confirmed', - 'password' => 'required|string|min:8|confirmed', - 'address' => 'required|string|max:255', - 'address2' => 'max:255', - 'town' => 'required|string|max:255', - 'postal_code' => 'required|string|max:255', - 'country' => 'required|string|max:255', - 'reglement' => 'accepted', - ]); - $lastname = filter_var($request->lastname, FILTER_SANITIZE_STRING); $firstname = filter_var($request->firstname, FILTER_SANITIZE_STRING); $birthdate = $request->birth_date; @@ -64,7 +66,7 @@ class RegisterController extends Controller $MJ = Carbon::now()->subYears(18); - if ($this->isSQLDate($birthdate)) { + if ($this->isSqlDate($birthdate)) { $d = Carbon::createFromFormat('Y-m-d', $birthdate); if (!$d->lessThanOrEqualTo($MJ)) { return back() @@ -75,8 +77,8 @@ class RegisterController extends Controller $d = Carbon::createFromFormat('d/m/Y', $birthdate); if (!$d->lessThanOrEqualTo($MJ)) { return back() - ->withInput($request->except('password')) - ->withErrors("Vous devez être majeur pour vous inscrire au jeu."); + ->withInput($request->except('password')) + ->withErrors("Vous devez être majeur pour vous inscrire au jeu."); } $birthdate = $d->toDateString(); @@ -84,19 +86,32 @@ class RegisterController extends Controller return back() ->withInput($request->except('password')) ->withErrors("Erreur sur le champs : date de naissance."); - }//end if + } //end if - $crmUser = $this->apiCrm->createCustomer($email, $password, $firstname, $lastname, $optin, $birthdate, null, $address, $address2, $town, $postcode, ucfirst($country)); + $crmUser = $this->apiCrm->createCustomer( + $email, + $password, + $firstname, + $lastname, + $optin, + $birthdate, + null, + $address, + $address2, + $town, + $postcode, + ucfirst($country) + ); if ($crmUser->status === 'OK') { - $user = User::create([ + $customer = Customer::create([ 'crm_id' => $crmUser->user->crm_id, 'firstname' => $firstname, 'lastname' => $lastname, 'birth_date' => $birthdate, 'email' => $email, 'password' => Hash::make("MOTDEPASSE"), -// TODO : ??? + // TODO : ??? 'address' => $address, 'address2' => $address2, 'town' => $town, @@ -105,7 +120,7 @@ class RegisterController extends Controller 'email_verify_token' => $tokenMail, ]); - Mail::to($email)->send(new VerifyEmail($user)); + Mail::to($email)->send(new VerifyEmail($customer)); return redirect()->route('login') ->with('success', "Pour finaliser votre inscription, merci de cliquer sur le lien qui vient de vous être envoyé par email
" . @@ -113,20 +128,26 @@ class RegisterController extends Controller "- Vérifiez vos spams : l'email de confirmation s'y trouve peut-être
" . "- Attention : le mail peut parfois mettre quelques minutes à vous parvenir
" . "- L'activation de votre compte doit se faire dans les 24 heures qui suivent la demande de création."); - } else { - if ($crmUser->code === 103) { - return back() - ->withInput($request->except('password')) - ->withErrors("Un compte utilisateur est déjà associé à votre email."); - } else { - return back() - ->withInput($request->except('password')) - ->withErrors("Une erreur est survenue, merci de recommencer."); - } - }//end if + } //end if + + if ($crmUser->code === 103) { + return back() + ->withInput($request->except('password')) + ->withErrors("Un compte utilisateur est déjà associé à votre email."); + } + + return back() + ->withInput($request->except('password')) + ->withErrors("Une erreur est survenue, merci de recommencer."); } - private function isSQLDate($date) + /** + * Regex is SQL date + * + * @param mixed $date + * @return boolean + */ + private function isSqlDate($date) { if (preg_match("/^[0-9]{4}-(0[1-9]|1[0-2])-(0[1-9]|[1-2][0-9]|3[0-1])$/", $date)) { return true; @@ -134,6 +155,12 @@ class RegisterController extends Controller return false; } + /** + * Regex is form date + * + * @param mixed $date + * @return boolean + */ private function isFormDate($date) { if (preg_match("/^(0[1-9]|[1-2][0-9]|3[0-1])\/(0[1-9]|1[0-2])\/[0-9]{4}$/", $date)) { diff --git a/app/Http/Controllers/TeaserController.php b/app/Http/Controllers/Fo/TeaserController.php similarity index 63% rename from app/Http/Controllers/TeaserController.php rename to app/Http/Controllers/Fo/TeaserController.php index 0650a32..15bdf3b 100644 --- a/app/Http/Controllers/TeaserController.php +++ b/app/Http/Controllers/Fo/TeaserController.php @@ -1,11 +1,17 @@ value); + return view('front.basic.reglement', compact('content')); + } + + /** + * Charte page + * + * @return \Illuminate\Contracts\View\View|\Illuminate\Contracts\View\Factory + */ + public function charte() + { + $content = Content::findOrFail(ContentPageType::charte()->value); + return view('front.basic.charte', compact('content')); + } + + /** + * Legals page + * + * @return \Illuminate\Contracts\View\View|\Illuminate\Contracts\View\Factory + */ + public function legals() + { + $content = Content::findOrFail(ContentPageType::legals()->value); + return view('front.basic.legals', compact('content')); + } +} diff --git a/app/Http/Controllers/Fo/WinningProofController.php b/app/Http/Controllers/Fo/WinningProofController.php new file mode 100644 index 0000000..d2c6e39 --- /dev/null +++ b/app/Http/Controllers/Fo/WinningProofController.php @@ -0,0 +1,123 @@ +apiCrm = new \LDCCRM\ApiV1(config('crm.endpoint'), config('crm.token')); + } + + /** + * Submit Winning proof + * + * @param SubmitWinningProof $request + * @return \Illuminate\Contracts\View\View|\Illuminate\Contracts\View\Factory + */ + public function sendWinningProof(SubmitWinningProof $request) + { + /** @var \App\Models\Customer $customer */ + $customer = auth('customer')->user(); + + // On récupère la participation gagnante en attente des infos. + /** @var \App\Models\Participation|null $participation */ + $participation = Participation::whereHas('customer', function ($q) use ($customer) { + $q->whereId($customer->id); + })->whereHas('instantWin')->where([ + ['sticker', null], + ['ticket', null], + ['barcode', null] + ])->first(); + + if (!$participation) { + return redirect()->route('home'); + } + + /** @var \Illuminate\Http\UploadedFile $sticker */ + $sticker = $request->sticker; + /** @var \Illuminate\Http\UploadedFile $ticket */ + $ticket = $request->ticket; + /** @var \Illuminate\Http\UploadedFile $barcode */ + $barcode = $request->barcode; + + // * Mise à jour de l'utilisateur en local. + /** @var \App\Models\Customer $customer */ + $customer->fill($request->validated()); + $customer->saveOrFail(); + + // Mise à jour utilisateur dans la CRM. + $update = $this->apiCrm->updateCustomer( + $customer->crm_id, + $customer->firstname, + $customer->lastname, + null, + null, + $customer->phone, + $customer->address, + $customer->address2, + $customer->town, + $customer->postal_code, + ucfirst($request->country) + ); + if ($update->status !== 'OK') { + Log::warning('Erreur lors de la mise a jour du user (crm_id : ' . $customer->crm_id . + ') - code : ' . $update->code . ' - message : ' . $update->message); + Mail::to(config('mail.MAIL_ADMIN'))->send(new NotifAdmin( + 'CRM : Erreur lors de la mise a jour du user (crm_id : ' . + $customer->crm_id . ') - code : ' . $update->code . ' - message : ' . $update->message + )); + } + + $participationId = $participation->id; + $stickerFileName = $participationId . '-sticker.' . $sticker->extension(); + $sticker->move(public_path('fichiers/preuve-de-gain/' . $participationId . '/'), $stickerFileName); + $stickerPath = public_path() . '/fichiers/preuve-de-gain/' . $participationId . '/' . $stickerFileName; + + $ticketFileName = $participationId . '-ticket.' . $ticket->extension(); + $ticket->move(public_path('fichiers/preuve-de-gain/' . $participationId . '/'), $ticketFileName); + $ticketPath = public_path() . '/fichiers/preuve-de-gain/' . $participationId . '/' . $ticketFileName; + + $barcodeFileName = $participationId . '-code-barre.' . $barcode->extension(); + $barcode->move(public_path('fichiers/preuve-de-gain/' . $participationId . '/'), $barcodeFileName); + $barcodePath = public_path() . '/fichiers/preuve-de-gain/' . $participationId . '/' . $barcodeFileName; + + $participation->sticker = $stickerFileName; + $participation->ticket = $ticketFileName; + $participation->barcode = $barcodeFileName; + $participation->saveOrFail(); + + /** @var \App\Models\Settings $settings */ + $settings = app(Settings::class); + $mails = \collect($settings->notification_emails); + foreach ($mails as $mail) { + Mail::to($mail)->send(new WinningProofMail( + $stickerPath, + $ticketPath, + $barcodePath, + $participation, + $customer, + $settings + )); + } + + return view('front.basic.replay'); + } +} diff --git a/app/Http/Controllers/HomeController.php b/app/Http/Controllers/HomeController.php deleted file mode 100644 index fc20c85..0000000 --- a/app/Http/Controllers/HomeController.php +++ /dev/null @@ -1,11 +0,0 @@ -middleware('guest')->except('logout'); - $this->apiCrm = new \LDCCRM\ApiV1(config('crm.endpoint'), config('crm.token')); - } - - public function index() - { - return view('front.basic.login'); - } - - /** - * Authenticate user - * - * @param Request $request - * @return \Illuminate\Http\RedirectResponse - */ - public function authenticate(Request $request) - { - $request->validate([ - 'email' => 'required|email', - 'password' => 'required', - ]); - - $email = filter_var($request->email, FILTER_SANITIZE_EMAIL); - $password = $request->password; - $remember = $request->remember !== null ? true : false; - - /** @var \App\Models\User|null $userLocal */ - $userLocal = User::where('email', $email)->first(); - - if ($userLocal) { - if ($userLocal->email_verified === 1) { - if (!$userLocal->isLocal()) { - $connect = $this->apiCrm->loginCustomer($email, $password); - - if ($connect->status === 'KO') { - if ($connect->code === 500) { - return back()->withInput($request->except("password")) - ->withErrors("La connexion est impossible pour le moment, veuillez réessayer plus tard."); - } else { - return back()->withInput($request->except("password")) - ->withErrors("Email ou mot de passe incorrect."); - } - } - } - } else { - $userLocal->email_verify_token = Str::uuid(); - $userLocal->saveOrFail(); - Mail::to($email)->send(new VerifyEmail($userLocal)); - return back()->withInput($request->except("password")) - ->withErrors( - 'Votre compte existe mais votre email n\'est pas confirmé, merci de vérifier vos emails.' - ); - }//end if - } else { - $connect = $this->apiCrm->loginCustomer($email, $password); - - if ($connect->status === 'OK ') { - /** @var \App\Models\User $userLocal */ - $userLocal = User::create([ - 'crm_id' => $connect->user->crm_id, - 'firstname' => $connect->user->firstname, - 'lastname' => $connect->user->lastname, - 'birth_date' => $connect->user->birth_date, - 'email' => $email, - // TODO : MOTDEPASSE ???. - 'password' => Hash::make("MOTDEPASSE"), - 'address' => $connect->user->address, - 'address2' => $connect->user->address2, - 'town' => $connect->user->city, - 'postal_code' => $connect->user->postcode, - 'country' => $connect->user->country, - 'email_verified ' => 1 - ]); - } else { - // Compte existant mais non activé. - if ($connect->code === 116) { - /** @var \App\Models\User $userLocal */ - $userLocal = User::create([ - 'crm_id' => $connect->user->crm_id, - 'firstname' => $connect->user->firstname, - 'lastname' => $connect->user->lastname, - 'birth_date' => $connect->user->birth_date, - 'email' => $email, - // TODO : MOTDEPASSE ???. - 'password' => Hash::make("MOTDEPASSE"), - 'address' => $connect->user->address, - 'address2' => $connect->user->address2, - 'town' => $connect->user->city, - 'postal_code' => $connect->user->postcode, - 'country ' => $connect->user->country - ]); - - $userLocal->email_verify_token = Str::uuid(); - $userLocal->saveOrFail(); - Mail::to($email)->send(new VerifyEmail($userLocal)); - return back()->withInput($request->except("password")) - ->withErrors("Votre compte existe mais votre email n'est pas confirmé, merci de vérifier vos emails."); - } elseif ($connect->code === 500) { - return back()->withInput($request->except("password")) - ->withErrors("La connexion est impossible pour le moment, veuillez réessayer plus tard."); - } else { - return back()->withInput($request->except("password")) - ->withErrors("Email ou mot de passe incorrect."); - } //end if - } //end if - }//end if - - // TODO : Modifier avec separation guard. - $tmpPwd = "MOTDEPASSE"; - if ($userLocal and $userLocal->isLocal()) { - $tmpPwd = $password; - } - - if (Auth::attempt(["email" => $email, "password" => $tmpPwd], $remember)) { - if ($userLocal and $userLocal->isLocal()) { - return redirect()->route('bo.dashboard'); - } - return redirect()->route('saisir-code'); - } else { - return back()->withInput($request->except('password')) - ->withErrors('Les identifiants entrés sont incorrects.'); - } - } - - public function logout() - { - Auth::logout(); - return redirect()->route('home'); - } - - public function confirmEmail($verifyToken) - { - $result = false; - $user = User::where('email_verify_token', $verifyToken)->first(); - if (!$user) { - return view('front.basic.confirm-email', compact('result')); - } - - $activation = $this->apiCrm->activateCustomer($user->crm_id); - - if ($activation->status === 'OK') { - $user->email_verified = 1; - $user->email_verify_token = null; - $user->save(); - $result = true; - } else { - // User already active. - if ($activation->code === 110) { - $user->email_verified = 1; - $user->email_verify_token = null; - $user->save(); - $result = true; - } - } - - return view('front.basic.confirm-email', compact('result')); - } - - public function forgotPassword(Request $request) - { - if ($request->tokenValid && $request->token) { - $tokenValid = $request->tokenValid; - $token = $request->token; - return view('front.basic.forgot-password', compact('tokenValid', 'token')); - } - return view('front.basic.forgot-password'); - } - - public function forgotPasswordReset(Request $request, $token) - { - if (!$request->hasValidSignature(false)) { - return redirect()->route('login') - ->withErrors("Le lien de changement de votre mot de passe n'est plus valide, veuillez réessayer."); - } - $tokenValid = false; - $user = User::where('password_token', $token)->first(); - if (!$user) { - return redirect()->route('forgot-password', compact('tokenValid')) - ->withErrors('Le lien de changement du mot de passe est incorrect.'); - } - $tokenValid = true; - return redirect()->route('forgot-password', compact('tokenValid', 'token')); - } - - public function mailPassword(Request $request) - { - $email = filter_var($request->email, FILTER_SANITIZE_STRING); - $user = User::where('email', $email)->first(); - - if (!$user) { - $userCrm = $this->apiCrm->getCustomerByEmail($email); - if ($userCrm->status === 'OK') { - $user = User::create([ - 'crm_id' => $userCrm->user->crm_id, - 'firstname' => $userCrm->user->firstname, - 'lastname' => $userCrm->user->lastname, - 'birth_date' => $userCrm->user->birth_date, - 'email' => $email, - // TODO : MOTDEPASSE ??? - 'password' => Hash::make("MOTDEPASSE"), - 'address' => $userCrm->user->address, - 'address2' => $userCrm->user->address2, - 'town' => $userCrm->user->city, - 'postal_code' => $userCrm->user->postcode, - 'country' => $userCrm->user->country, - 'email_verified' => 1 - ]); - - if ($userCrm->user->status === 0) { - $user->email_verified = 0; - $user->email_verify_token = Str::uuid(); - $user->save(); - Mail::to($email)->send(new VerifyEmail($user)); - return back()->withInput($request->except("password")) - ->withErrors("Votre compte existe mais votre email n'est pas confirmé, merci de vérifier vos emails."); - } - } else { - if ($userCrm->code === 101) { - return back()->withInput($request->only('email')) - ->withErrors("Le mail que vous avez entré n'est pas enregistré dans nos services."); - } else { - return back()->withErrors("Une erreur est survenue, veuillez réessayer plus tard."); - } - } //end if - }//end if - - $user->password_token = Str::uuid(); - $user->save(); - /** @var \App\Models\Settings $settings */ - $settings = app(Settings::class); - Mail::to($email)->send(new PasswordReset($user, $settings)); - return redirect()->route('login') - ->with('success', 'Un mail de réinitialisation de votre mot de passe vous a été envoyé(e).'); - } - - public function changePassword(Request $request) - { - $request->validate([ - 'password' => 'required|min:8|confirmed', - ]); - - $user = User::where('password_token', filter_var($request->token, FILTER_SANITIZE_STRING))->first(); - if (!$user) { - return back()->withErrors('Le lien de changement de votre mot de passe est incorrect, veuillez réessayer.'); - } - - // TODO : Ajouter controle du contenu du mot de passe. - $newPassword = $request->password; - - $update = $this->apiCrm->changePwdCustomer($user->crm_id, $newPassword); - - if ($update->status === 'OK') { - $user->password_token = null; - $user->save(); - return redirect()->route('login') - ->with('success', 'Vous pouvez désormais vous connecter avec votre nouveau mot de passe.'); - } else { - if ($update->code === 123) { - return back() - ->withErrors("Il semblerait que vous ayez déjà utilisé ce mot de passe pour votre compte. Veuillez réessayer en changeant de mot de passe."); - } else { - return back()->withErrors("Une erreur est survenue, veuillez réessayer plus tard."); - } - } - } -} diff --git a/app/Http/Controllers/ViewContentController.php b/app/Http/Controllers/ViewContentController.php deleted file mode 100644 index 0252344..0000000 --- a/app/Http/Controllers/ViewContentController.php +++ /dev/null @@ -1,26 +0,0 @@ -apiCrm = new \LDCCRM\ApiV1(config('crm.endpoint'), config('crm.token')); - } - - public function sendWinningProof(Request $request) - { - // On récupère la participation gagnante en attente des infos - $participation = Participation::where([ - ['user_id', Auth::user()->id], - ['sticker', null], - ['ticket', null], - ['barcode', null] - ])->has('instantWin')->first(); - if (!$participation) { - return redirect()->route('home'); - } - - $request->validate([ - 'lastname' => 'required|string|max:255', - 'firstname' => 'required|string|max:255', - 'address' => 'required|string|max:255', - 'address2' => 'max:255', - 'town' => 'required|string|max:255', - 'postal_code' => 'required|max:255', - 'country' => 'required|string|max:255', - 'phone' => 'required|string|max:50', - 'sticker' => 'required|mimes:jpeg,png,jpg,pdf|max:2048', - 'ticket' => 'required|mimes:jpeg,png,jpg,pdf|max:2048', - 'barcode' => 'required|mimes:jpeg,png,jpg,pdf|max:2048', - ]); - - $lastname = filter_var($request->lastname, FILTER_SANITIZE_STRING); - $firstname = filter_var($request->firstname, FILTER_SANITIZE_STRING); - $address = filter_var($request->address, FILTER_SANITIZE_STRING); - $address2 = $request->address2 !== null ? filter_var($request->address2, FILTER_SANITIZE_STRING) : null; - $town = filter_var($request->town, FILTER_SANITIZE_STRING); - $postalCode = filter_var($request->postal_code, FILTER_SANITIZE_STRING); - $country = filter_var($request->country, FILTER_SANITIZE_STRING); - $phone = filter_var($request->phone, FILTER_SANITIZE_STRING); - $sticker = $request->sticker; - $ticket = $request->ticket; - $barcode = $request->barcode; - - // Mise à jour de l'utilisateur en local. - $user = User::find(Auth::user()->id); - $user->lastname = $lastname; - $user->firstname = $firstname; - $user->address = $address; - $user->address2 = $address2; - $user->town = $town; - $user->postal_code = $postalCode; - $user->country = $country; - $user->phone = $phone; - $user->save(); - - // Mise à jour utilisateur dans la CRM. - $update = $this->apiCrm->updateCustomer( - $user->crm_id, - $firstname, - $lastname, - null, - null, - $phone, - $address, - $address2, - $town, - $postalCode, - ucfirst($country) - ); - if ($update->status !== 'OK') { - Log::warning('Erreur lors de la mise a jour du user (crm_id : ' . $user->crm_id . - ') - code : ' . $update->code . ' - message : ' . $update->message); - Mail::to(config('mail.MAIL_ADMIN'))->send(new NotifAdmin( - 'CRM : Erreur lors de la mise a jour du user (crm_id : ' . - $user->crm_id . ') - code : ' . $update->code . ' - message : ' . $update->message - )); - } - - $participationId = $participation->id; - $stickerFileName = $participationId . '-sticker.' . $sticker->extension(); - $sticker->move(public_path('fichiers/preuve-de-gain/' . $participationId . '/'), $stickerFileName); - $stickerPath = public_path() . '/fichiers/preuve-de-gain/' . $participationId . '/' . $stickerFileName; - - $ticketFileName = $participationId . '-ticket.' . $ticket->extension(); - $ticket->move(public_path('fichiers/preuve-de-gain/' . $participationId . '/'), $ticketFileName); - $ticketPath = public_path() . '/fichiers/preuve-de-gain/' . $participationId . '/' . $ticketFileName; - - $barcodeFileName = $participationId . '-code-barre.' . $barcode->extension(); - $barcode->move(public_path('fichiers/preuve-de-gain/' . $participationId . '/'), $barcodeFileName); - $barcodePath = public_path() . '/fichiers/preuve-de-gain/' . $participationId . '/' . $barcodeFileName; - - $participation->sticker = $stickerFileName; - $participation->ticket = $ticketFileName; - $participation->barcode = $barcodeFileName; - $participation->save(); - - /** @var \App\Models\Settings $settings */ - $settings = app(Settings::class); - $mails = \collect($settings->notification_emails); - foreach ($mails as $mail) { - Mail::to($mail)->send(new WinningProof( - $stickerPath, - $ticketPath, - $barcodePath, - $participation, - $user, - $settings - )); - } - - return view('front.basic.replay'); - } -} diff --git a/app/Http/Middleware/IsAdmin.php b/app/Http/Middleware/IsAdmin.php index ebc5553..0f113b8 100644 --- a/app/Http/Middleware/IsAdmin.php +++ b/app/Http/Middleware/IsAdmin.php @@ -3,7 +3,6 @@ namespace App\Http\Middleware; use Closure; -use Illuminate\Support\Facades\Auth; class IsAdmin { @@ -16,11 +15,11 @@ class IsAdmin */ public function handle($request, Closure $next) { - /** @var \App\Models\User|null $user */ - $user = Auth::user(); + /** @var \App\Models\User|\App\Models\Customer|null $user */ + $user = auth('web')->user() ?? auth('customer')->user(); if ($user and $user->isLocal()) { return $next($request); } - abort(404, "Cette page n'existe pas."); + abort(404); } } diff --git a/app/Http/Middleware/IsSuperAdmin.php b/app/Http/Middleware/IsSuperAdmin.php index 0ff4827..281e291 100644 --- a/app/Http/Middleware/IsSuperAdmin.php +++ b/app/Http/Middleware/IsSuperAdmin.php @@ -3,7 +3,6 @@ namespace App\Http\Middleware; use Closure; -use Illuminate\Support\Facades\Auth; class IsSuperAdmin { @@ -16,8 +15,8 @@ class IsSuperAdmin */ public function handle($request, Closure $next) { - /** @var \App\Models\User|null $user */ - $user = Auth::user(); + /** @var \App\Models\User|\App\Models\Customer|null $user */ + $user = auth('web')->user() ?? auth('customer')->user(); if ($user and $user->isAdmin()) { return $next($request); } diff --git a/app/Http/Middleware/RedirectIfAuthenticated.php b/app/Http/Middleware/RedirectIfAuthenticated.php index c076008..5fcb3b2 100644 --- a/app/Http/Middleware/RedirectIfAuthenticated.php +++ b/app/Http/Middleware/RedirectIfAuthenticated.php @@ -2,8 +2,8 @@ namespace App\Http\Middleware; -use App\Providers\RouteServiceProvider; use Closure; +use Illuminate\Http\Request; use Illuminate\Support\Facades\Auth; class RedirectIfAuthenticated @@ -16,10 +16,10 @@ class RedirectIfAuthenticated * @param string|null $guard * @return mixed */ - public function handle($request, Closure $next, $guard = null) + public function handle(Request $request, Closure $next, $guard = null) { if (Auth::guard($guard)->check()) { - return redirect(RouteServiceProvider::HOME); + return \redirect()->route('login'); } return $next($request); diff --git a/app/Http/Requests/CodeSearchRequest.php b/app/Http/Requests/Bo/CodeSearchRequest.php similarity index 81% rename from app/Http/Requests/CodeSearchRequest.php rename to app/Http/Requests/Bo/CodeSearchRequest.php index 6b0b06e..a7eef67 100644 --- a/app/Http/Requests/CodeSearchRequest.php +++ b/app/Http/Requests/Bo/CodeSearchRequest.php @@ -1,6 +1,6 @@ user(); - return auth()->check() and $user->isAdmin(); + $user = auth('web')->user(); + return auth('web')->check() and $user->isAdmin(); } /** diff --git a/app/Http/Requests/ExportCodesRequest.php b/app/Http/Requests/Bo/ExportCodesRequest.php similarity index 92% rename from app/Http/Requests/ExportCodesRequest.php rename to app/Http/Requests/Bo/ExportCodesRequest.php index 42de501..b68d4ee 100644 --- a/app/Http/Requests/ExportCodesRequest.php +++ b/app/Http/Requests/Bo/ExportCodesRequest.php @@ -1,6 +1,6 @@ user(); - return auth()->check() and $user->isAdmin() and $this->json(); + $user = auth('web')->user(); + return auth('web')->check() and $user->isAdmin() and $this->json(); } /** diff --git a/app/Http/Requests/GenerateCodesRequest.php b/app/Http/Requests/Bo/GenerateCodesRequest.php similarity index 82% rename from app/Http/Requests/GenerateCodesRequest.php rename to app/Http/Requests/Bo/GenerateCodesRequest.php index 998c46a..7975823 100644 --- a/app/Http/Requests/GenerateCodesRequest.php +++ b/app/Http/Requests/Bo/GenerateCodesRequest.php @@ -1,6 +1,6 @@ user(); - return auth()->check() and $user->isAdmin(); + $user = auth('web')->user(); + return auth('web')->check() and $user->isAdmin(); } /** diff --git a/app/Http/Requests/StoreProductRequest.php b/app/Http/Requests/Bo/StoreProductRequest.php similarity index 92% rename from app/Http/Requests/StoreProductRequest.php rename to app/Http/Requests/Bo/StoreProductRequest.php index 1f6a3e8..195e875 100644 --- a/app/Http/Requests/StoreProductRequest.php +++ b/app/Http/Requests/Bo/StoreProductRequest.php @@ -1,6 +1,6 @@ check(); + return auth('web')->check(); } /** diff --git a/app/Http/Requests/StoreRangeRequest.php b/app/Http/Requests/Bo/StoreRangeRequest.php similarity index 92% rename from app/Http/Requests/StoreRangeRequest.php rename to app/Http/Requests/Bo/StoreRangeRequest.php index 921aa63..b6debd0 100644 --- a/app/Http/Requests/StoreRangeRequest.php +++ b/app/Http/Requests/Bo/StoreRangeRequest.php @@ -1,6 +1,6 @@ check(); + return auth('web')->check(); } /** diff --git a/app/Http/Requests/Bo/UpdateContentRequest.php b/app/Http/Requests/Bo/UpdateContentRequest.php new file mode 100644 index 0000000..ec71c26 --- /dev/null +++ b/app/Http/Requests/Bo/UpdateContentRequest.php @@ -0,0 +1,30 @@ +check(); + } + + /** + * Get the validation rules that apply to the request. + * + * @return array + */ + public function rules() + { + return [ + 'value' => 'required|min:5' + ]; + } +} diff --git a/app/Http/Requests/UpdateProductRequest.php b/app/Http/Requests/Bo/UpdateProductRequest.php similarity index 77% rename from app/Http/Requests/UpdateProductRequest.php rename to app/Http/Requests/Bo/UpdateProductRequest.php index 1870421..77eec63 100644 --- a/app/Http/Requests/UpdateProductRequest.php +++ b/app/Http/Requests/Bo/UpdateProductRequest.php @@ -1,6 +1,6 @@ check(); + return auth('web')->check(); } /** @@ -31,8 +31,8 @@ class UpdateProductRequest extends FormRequest 'mimes:jpeg,png,jpg', 'max:2048', Rule::dimensions() - ->maxWidth(config('theme.product_image_maxwidth')) - ->maxHeight(config('theme.product_image_maxheight')) + ->maxWidth(config('theme.product_image_maxwidth')) + ->maxHeight(config('theme.product_image_maxheight')) ], 'range_id' => 'exists:ranges,id' ]; diff --git a/app/Http/Requests/UpdateRangeRequest.php b/app/Http/Requests/Bo/UpdateRangeRequest.php similarity index 92% rename from app/Http/Requests/UpdateRangeRequest.php rename to app/Http/Requests/Bo/UpdateRangeRequest.php index 5398e11..f19c37e 100644 --- a/app/Http/Requests/UpdateRangeRequest.php +++ b/app/Http/Requests/Bo/UpdateRangeRequest.php @@ -1,6 +1,6 @@ check(); + return auth('web')->check(); } /** diff --git a/app/Http/Requests/Bo/UpdateSettingsRequest.php b/app/Http/Requests/Bo/UpdateSettingsRequest.php index 160db4a..a584865 100644 --- a/app/Http/Requests/Bo/UpdateSettingsRequest.php +++ b/app/Http/Requests/Bo/UpdateSettingsRequest.php @@ -24,8 +24,8 @@ class UpdateSettingsRequest extends FormRequest 'web_coupons' => collect(\json_decode($this->web_coupons, true))->toArray(), ]); /** @var \App\Models\User $user */ - $user = auth()->user(); - return auth()->check() and $user->isAdmin(); + $user = auth('web')->user(); + return auth('web')->check() and $user->isAdmin(); } /** diff --git a/app/Http/Requests/Fo/AuthenticateRequest.php b/app/Http/Requests/Fo/AuthenticateRequest.php new file mode 100644 index 0000000..6852ef3 --- /dev/null +++ b/app/Http/Requests/Fo/AuthenticateRequest.php @@ -0,0 +1,37 @@ +merge([ + 'remember' => $this->remember ? true : false + ]); + + return ToolboxHelper::isLoginAccessAllowed(); + } + + /** + * Get the validation rules that apply to the request. + * + * @return array + */ + public function rules() + { + return [ + 'email' => 'required|email:rfc,dns,spoof,filter', + 'password' => 'required', + 'remember' => 'required|boolean' + ]; + } +} diff --git a/app/Http/Requests/ParticipateRequest.php b/app/Http/Requests/Fo/ParticipateRequest.php similarity index 85% rename from app/Http/Requests/ParticipateRequest.php rename to app/Http/Requests/Fo/ParticipateRequest.php index 0a98982..e23146d 100644 --- a/app/Http/Requests/ParticipateRequest.php +++ b/app/Http/Requests/Fo/ParticipateRequest.php @@ -1,6 +1,6 @@ check(); + return auth('customer')->check(); } /** @@ -61,7 +61,9 @@ class ParticipateRequest extends FormRequest */ public function rules() { - $rules = [ + /** @var \App\Models\Customer $customer */ + $customer = auth('customer')->user(); + $rules = [ 'accept_rules' => [ 'required', 'boolean', // phpcs:ignore Generic.CodeAnalysis.UnusedFunctionParameter.FoundInExtendedClassBeforeLastUsed @@ -74,7 +76,7 @@ class ParticipateRequest extends FormRequest 'code' => [ 'required', // phpcs:ignore Generic.CodeAnalysis.UnusedFunctionParameter.FoundInExtendedClassBeforeLastUsed - function ($attribute, $value, $fail) { + function ($attribute, $value, $fail) use ($customer) { if ( $value === false or !\is_object($value) or @@ -88,10 +90,11 @@ class ParticipateRequest extends FormRequest } // * Check si l'utilisateur n'a pas déjà utilisé ce code. - $query = Participation::where([ - ['code_unique_id', $this->code->id], - ['user_id', auth()->user()->id] - ]); + $query = Participation::whereHas('customer', function ($q) use ($customer) { + $q->whereId($customer->id); + })->whereHas('code', function ($q) { + $q->whereId($this->code->id); + }); if ($query->exists()) { $fail('Vous avez déjà utilisé ce code.'); } @@ -99,8 +102,9 @@ class ParticipateRequest extends FormRequest /** @var \App\Models\Settings $settings */ $settings = app(Settings::class); - $codeNbUsage = Participation::where('code_unique_id', $this->code->id) - ->count(); + $codeNbUsage = Participation::whereHas('code', function ($q) { + $q->whereId($this->code->id); + })->count(); // * Gestion du nombre d'utilisation d'un code. if ($codeNbUsage >= $settings->nb_unique_code_use) { @@ -111,7 +115,7 @@ class ParticipateRequest extends FormRequest $this->code->code_used = 1; } } - $this->code->save(); + $this->code->saveOrFail(); } ] ]; diff --git a/app/Http/Requests/Fo/RegisterRequest.php b/app/Http/Requests/Fo/RegisterRequest.php new file mode 100644 index 0000000..181f8f7 --- /dev/null +++ b/app/Http/Requests/Fo/RegisterRequest.php @@ -0,0 +1,40 @@ +guest(); + } + + /** + * Get the validation rules that apply to the request. + * + * @return array + */ + public function rules() + { + return [ + 'lastname' => 'required|string|max:255', + 'firstname' => 'required|string|max:255', + 'birth_date' => 'required|string|max:10', + 'email' => 'required|string|email:spoof,rfc,filter,dns|max:255|unique:users|confirmed', + 'password' => 'required|string|min:8|confirmed', + 'address' => 'required|string|max:255', + 'address2' => 'max:255', + 'town' => 'required|string|max:255', + 'postal_code' => 'required|string|max:255', + 'country' => 'required|string|max:255', + 'reglement' => 'accepted', + ]; + } +} diff --git a/app/Http/Requests/Fo/SubmitWinningProof.php b/app/Http/Requests/Fo/SubmitWinningProof.php new file mode 100644 index 0000000..37a20c6 --- /dev/null +++ b/app/Http/Requests/Fo/SubmitWinningProof.php @@ -0,0 +1,40 @@ +check(); + } + + /** + * Get the validation rules that apply to the request. + * + * @return array + */ + public function rules() + { + return [ + 'lastname' => 'required|string|max:255', + 'firstname' => 'required|string|max:255', + 'address' => 'required|string|max:255', + 'address2' => 'nullable|string|max:255', + 'town' => 'required|string|max:255', + 'postal_code' => 'required|max:255', + 'country' => 'required|string|max:255', + 'phone' => 'required|string|max:50', + 'sticker' => 'required|mimes:jpeg,png,jpg,pdf|max:2048', + 'ticket' => 'required|mimes:jpeg,png,jpg,pdf|max:2048', + 'barcode' => 'required|mimes:jpeg,png,jpg,pdf|max:2048', + ]; + } +} diff --git a/app/Http/Requests/Fo/UpdatePasswordRequest.php b/app/Http/Requests/Fo/UpdatePasswordRequest.php new file mode 100644 index 0000000..7c5ecff --- /dev/null +++ b/app/Http/Requests/Fo/UpdatePasswordRequest.php @@ -0,0 +1,30 @@ + 'required|min:8|confirmed' + ]; + } +} diff --git a/app/Http/Requests/SaveBannedIpListRequest.php b/app/Http/Requests/SaveBannedIpListRequest.php new file mode 100644 index 0000000..ac5d41c --- /dev/null +++ b/app/Http/Requests/SaveBannedIpListRequest.php @@ -0,0 +1,34 @@ +merge([ + 'ips' => \is_array($this->ips) ? $this->ips : [] + ]); + return auth('web')->check(); + } + + /** + * Get the validation rules that apply to the request. + * + * @return array + */ + public function rules() + { + return [ + 'ips' => 'required|array', + 'ips.*' => 'required|ip' + ]; + } +} diff --git a/app/Lib/ToolboxHelper.php b/app/Lib/ToolboxHelper.php new file mode 100644 index 0000000..e72405f --- /dev/null +++ b/app/Lib/ToolboxHelper.php @@ -0,0 +1,34 @@ +get('url.intended', url('/')), \PHP_URL_PATH); + + collect(Route::getRoutes()->getRoutes()) + ->map(function (RoutingRoute $route) use (&$isBo, $path) { + if (trim($path, '/') === $route->uri() and trim($route->getPrefix(), '/') === 'bo') { + $isBo = true; + } + }); + return $isBo ? auth('web')->guest() : auth('customer')->guest(); + } +} diff --git a/app/Mail/CourrierArcadiaError.php b/app/Mail/CourrierArcadiaError.php index e2d85af..54ee51d 100644 --- a/app/Mail/CourrierArcadiaError.php +++ b/app/Mail/CourrierArcadiaError.php @@ -2,7 +2,7 @@ namespace App\Mail; -use App\Models\User; +use App\Models\Customer; use Illuminate\Bus\Queueable; use Illuminate\Contracts\Queue\ShouldQueue; use Illuminate\Mail\Mailable; @@ -14,21 +14,21 @@ class CourrierArcadiaError extends Mailable implements ShouldQueue use SerializesModels; /** - * User + * Customer * - * @var \App\Models\User + * @var \App\Models\Customer */ - private $user; + private $customer; /** * Create a new message instance. * - * @param \App\Models\User $user + * @param \App\Models\Customer $customer * @return void */ - public function __construct(User $user) + public function __construct(Customer $customer) { - $this->user = $user; + $this->customer = $customer; } /** @@ -38,8 +38,8 @@ class CourrierArcadiaError extends Mailable implements ShouldQueue */ public function build() { - $user = $this->user; + $customer = $this->customer; return $this->subject("Erreur envoi courrier arcadia") - ->view('front.basic.error-arcadia-email', compact('user')); + ->view('front.basic.error-arcadia-email', compact('customer')); } } diff --git a/app/Mail/PasswordReset.php b/app/Mail/PasswordReset.php index 459b85c..09343d8 100644 --- a/app/Mail/PasswordReset.php +++ b/app/Mail/PasswordReset.php @@ -2,6 +2,8 @@ namespace App\Mail; +use App\Models\Customer; +use App\Models\Settings; use Illuminate\Bus\Queueable; use Illuminate\Contracts\Queue\ShouldQueue; use Illuminate\Mail\Mailable; @@ -12,16 +14,29 @@ class PasswordReset extends Mailable implements ShouldQueue use Queueable; use SerializesModels; - protected $user, $settings; + /** + * Customer + * + * @var Customer + */ + protected $customer; + + /** + * Settings + * + * @var Settings + */ + protected $settings; /** * Create a new message instance. * - * @return void + * @param Customer $customer + * @param Settings $settings */ - public function __construct($user, $settings) + public function __construct(Customer $customer, Settings $settings) { - $this->user = $user; + $this->customer = $customer; $this->settings = $settings; } @@ -32,6 +47,8 @@ class PasswordReset extends Mailable implements ShouldQueue */ public function build() { - return $this->subject('Changement de votre mot de passe')->view('front.basic.password-email')->with(['user' => $this->user, 'settings' => $this->settings]); + return $this->subject('Changement de votre mot de passe') + ->view('front.basic.password-email') + ->with(['customer' => $this->customer, 'settings' => $this->settings]); } } diff --git a/app/Mail/PrizeWon.php b/app/Mail/PrizeWon.php index 1b07c70..45eef77 100644 --- a/app/Mail/PrizeWon.php +++ b/app/Mail/PrizeWon.php @@ -2,6 +2,9 @@ namespace App\Mail; +use App\Models\Customer; +use App\Models\Prize; +use App\Models\Settings; use Illuminate\Bus\Queueable; use Illuminate\Contracts\Queue\ShouldQueue; use Illuminate\Mail\Mailable; @@ -12,16 +15,28 @@ class PrizeWon extends Mailable implements ShouldQueue use Queueable; use SerializesModels; - private $user, $prize, $settings; + /** @var \App\Models\User $user */ + private $user; + + /** @var \App\Models\Prize $prize */ + private $prize; + + /** @var \App\Models\Settings $settings */ + private $settings; /** * Create a new message instance. * - * @return void + * @param Customer $customer + * @param Prize $prize + * @param Settings $settings */ - public function __construct($user, $prize, $settings) - { - $this->user = $user; + public function __construct( + Customer $customer, + Prize $prize, + Settings $settings + ) { + $this->customer = $customer; $this->prize = $prize; $this->settings = $settings; } @@ -33,7 +48,9 @@ class PrizeWon extends Mailable implements ShouldQueue */ public function build() { - return $this->subject("Félicitations " . $this->user->firstname . ", vous avez remporté 1 " . $this->prize->label_one . " !")->view('front.basic.prize-mail') - ->with(['user' => $this->user, 'prize' => $this->prize, 'settings' => $this->settings]); + return $this->subject("Félicitations " . $this->customer->firstname . + ", vous avez remporté 1 " . $this->prize->label_one . " !") + ->view('front.basic.prize-mail') + ->with(['customer' => $this->customer, 'prize' => $this->prize, 'settings' => $this->settings]); } } diff --git a/app/Mail/ReductionWon.php b/app/Mail/ReductionWon.php index f2a5935..f67811b 100644 --- a/app/Mail/ReductionWon.php +++ b/app/Mail/ReductionWon.php @@ -2,6 +2,7 @@ namespace App\Mail; +use App\Models\Customer; use Illuminate\Bus\Queueable; use Illuminate\Contracts\Queue\ShouldQueue; use Illuminate\Mail\Mailable; @@ -12,16 +13,25 @@ class ReductionWon extends Mailable implements ShouldQueue use Queueable; use SerializesModels; - private $user, $coupon, $settings, $crmCoupon; + /** + * Customer + * + * @var Customer + */ + private $customer; + + private $coupon, + private $settings, + private $crmCoupon; /** * Create a new message instance. * * @return void */ - public function __construct($user, $coupon, $settings, $crmCoupon) + public function __construct(Customer $customer, $coupon, $settings, $crmCoupon) { - $this->user = $user; + $this->customer = $customer; $this->coupon = $coupon; $this->settings = $settings; $this->crmCoupon = $crmCoupon; @@ -34,7 +44,13 @@ class ReductionWon extends Mailable implements ShouldQueue */ public function build() { - return $this->subject($this->user->firstname . ", n'attendez plus pour imprimer votre bon d'achat " . $this->settings->name . " !")->view('front.basic.reduction-mail') - ->with(['user' => $this->user, 'coupon' => $this->coupon, 'settings' => $this->settings, 'crmCoupon' => $this->crmCoupon]); + return $this->subject($this->customer->firstname . ", n'attendez plus pour imprimer votre bon d'achat " . + $this->settings->name . " !")->view('front.basic.reduction-mail') + ->with([ + 'customer' => $this->customer, + 'coupon' => $this->coupon, + 'settings' => $this->settings, + 'crmCoupon' => $this->crmCoupon + ]); } } diff --git a/app/Mail/VerifyEmail.php b/app/Mail/VerifyEmail.php index 5448704..dcf31a5 100644 --- a/app/Mail/VerifyEmail.php +++ b/app/Mail/VerifyEmail.php @@ -2,6 +2,7 @@ namespace App\Mail; +use App\Models\Customer; use Illuminate\Bus\Queueable; use Illuminate\Contracts\Queue\ShouldQueue; use Illuminate\Mail\Mailable; @@ -12,16 +13,17 @@ class VerifyEmail extends Mailable implements ShouldQueue use Queueable; use SerializesModels; - protected $user; + /** @var \App\Models\Customer $customer */ + protected $customer; /** * Create a new message instance. * - * @return void + * @param Customer $customer */ - public function __construct($user) + public function __construct(Customer $customer) { - $this->user = $user; + $this->customer = $customer; } /** @@ -31,6 +33,8 @@ class VerifyEmail extends Mailable implements ShouldQueue */ public function build() { - return $this->subject("Activation du compte")->view('front.basic.verifyemail')->with('user', $this->user); + return $this->subject("Activation du compte") + ->view('front.basic.verifyemail') + ->with('customer', $this->customer); } } diff --git a/app/Mail/WinningProof.php b/app/Mail/WinningProof.php deleted file mode 100644 index 42d1b3b..0000000 --- a/app/Mail/WinningProof.php +++ /dev/null @@ -1,48 +0,0 @@ -sticker = $sticker; - $this->ticket = $ticket; - $this->barcode = $barcode; - $this->participation = $participation; - $this->user = $user; - $this->settings = $settings; - } - - /** - * Build the message. - * - * @return $this - */ - public function build() - { - $participation = $this->participation; - $user = $this->user; - return $this->subject( - $this->settings->name . " : Preuves de gain de " . $this->user->lastname . " " . $this->user->firstname - )->view( - 'front.basic.winning-proof-email', - compact('participation', 'user') - )->attach($this->sticker)->attach($this->ticket)->attach($this->barcode); - } -} diff --git a/app/Mail/WinningProofMail.php b/app/Mail/WinningProofMail.php new file mode 100644 index 0000000..379d7c8 --- /dev/null +++ b/app/Mail/WinningProofMail.php @@ -0,0 +1,92 @@ +stickerPath = $stickerPath; + $this->ticketPath = $ticketPath; + $this->barcodePath = $barcodePath; + $this->participation = $participation; + $this->customer = $customer; + $this->settings = $settings; + } + + /** + * Build the message. + * + * @return $this + */ + public function build() + { + $participation = $this->participation; + $customer = $this->customer; + return $this->subject( + $this->settings->name . " : Preuves de gain de " . + $customer->lastname . " " . $customer->firstname + )->view( + 'front.basic.winning-proof-email', + compact('participation', 'customer') + )->attach($this->stickerPath)->attach($this->ticketPath) + ->attach($this->barcodePath); + } +} diff --git a/app/Models/CodeEan.php b/app/Models/CodeEan.php index 41f3a71..00ca63b 100644 --- a/app/Models/CodeEan.php +++ b/app/Models/CodeEan.php @@ -20,6 +20,13 @@ class CodeEan extends Model */ public $timestamps = false; + // * RELATIONSHIPS + + /** + * Has Many Participation relationship + * + * @return \Illuminate\Database\Eloquent\Relations\HasMany + */ public function participations() { return $this->hasMany(Participation::class); diff --git a/app/Models/Content.php b/app/Models/Content.php index c75f4f1..ec2c399 100644 --- a/app/Models/Content.php +++ b/app/Models/Content.php @@ -6,4 +6,12 @@ use Illuminate\Database\Eloquent\Model; class Content extends Model { + /** + * The attributes that are mass assignable. + * + * @var array + */ + public $fillable = [ + 'value' + ]; } diff --git a/app/Models/Customer.php b/app/Models/Customer.php new file mode 100644 index 0000000..809db24 --- /dev/null +++ b/app/Models/Customer.php @@ -0,0 +1,97 @@ + 'boolean', + 'email_verified_at' => 'datetime', + ]; + + /** + * Map attribute names to enum classes. + * + * @var array + */ + protected $enumCasts = [ + 'role' => UserRole::class + ]; + + // * RELATIONSHIPS + + /** + * Has Many Participation relation + * + * @return \Illuminate\Database\Eloquent\Relations\HasMany + */ + public function participations() + { + return $this->hasMany(Participation::class, 'customer_id'); + } + + // * METHODS + + /** + * Check if user is admin. + * ! Not local CRM ! + * + * @return boolean + */ + public function isAdmin(): bool + { + return false; + } + + /** + * Check if user is local. + * ! Not local CRM ! + * + * @return boolean + */ + public function isLocal(): bool + { + return false; + } +} diff --git a/app/Models/FaqQuestion.php b/app/Models/FaqQuestion.php index be32475..de88993 100644 --- a/app/Models/FaqQuestion.php +++ b/app/Models/FaqQuestion.php @@ -16,18 +16,36 @@ class FaqQuestion extends Model 'negative_vote', 'theme_id' ]; + // * RELATIONSHIPS + + /** + * Belongs To FaqTheme relationship + * + * @return \Illuminate\Database\Eloquent\Relations\BelongsTo + */ public function theme() { return $this->belongsTo(FaqTheme::class, 'theme_id'); } - public function getUtilityAttribute() + /** + * Get utility attribute + * + * @return float + */ + public function getUtilityAttribute(): float { + /** @var float */ $pourcent = 0; - if ($this->positive_vote !== null && $this->negative_vote !== null && $this->positive_vote >= $this->negative_vote && $this->positive_vote > 0 && $this->negative_vote > 0) { - $ratio = $this->negative_vote / $this->positive_vote; - $pourcent = ceil((1 - $ratio) * 100); + if ( + $this->positive_vote !== null && + $this->negative_vote !== null && + $this->positive_vote >= $this->negative_vote && + $this->positive_vote > 0 && $this->negative_vote > 0 + ) { + $ratio = \floatval($this->negative_vote / $this->positive_vote); + $pourcent = \floatval(ceil((1 - $ratio) * 100)); } return $pourcent; diff --git a/app/Models/FaqTheme.php b/app/Models/FaqTheme.php index 20cd541..e680b01 100644 --- a/app/Models/FaqTheme.php +++ b/app/Models/FaqTheme.php @@ -20,6 +20,13 @@ class FaqTheme extends Model */ protected $with = ['questions']; + // * RELATIONSHIPS + + /** + * Has many FaqQuestion relationship + * + * @return \Illuminate\Database\Eloquent\Relations\HasMany + */ public function questions() { return $this->hasMany(FaqQuestion::class, 'theme_id'); diff --git a/app/Models/GainView.php b/app/Models/GainView.php index 9a87f34..3426c48 100644 --- a/app/Models/GainView.php +++ b/app/Models/GainView.php @@ -13,6 +13,13 @@ class GainView extends Model */ protected $fillable = ['name', 'file_name']; + // * RELATIONSHIPS + + /** + * Has many Prize relationship + * + * @return \Illuminate\Database\Eloquent\Relations\HasMany + */ public function prizes() { return $this->hasMany(Prize::class, 'gain_view_id'); diff --git a/app/Models/InstantWin.php b/app/Models/InstantWin.php index a36c4af..9924fe8 100644 --- a/app/Models/InstantWin.php +++ b/app/Models/InstantWin.php @@ -30,6 +30,8 @@ class InstantWin extends Model 'appear_date' => 'datetime' ]; + // * RELATIONSHIPS + /** * BelongsTo Prize relation * diff --git a/app/Models/Participation.php b/app/Models/Participation.php index 6919406..62880ae 100644 --- a/app/Models/Participation.php +++ b/app/Models/Participation.php @@ -6,14 +6,16 @@ use Illuminate\Database\Eloquent\Model; class Participation extends Model { + // * RELATIONSHIPS + /** - * BelongsTo User relation + * BelongsTo Customer relation * * @return \Illuminate\Database\Eloquent\Relations\BelongsTo */ - public function user() + public function customer() { - return $this->belongsTo(User::class); + return $this->belongsTo(Customer::class); } /** diff --git a/app/Models/User.php b/app/Models/User.php index 913557e..13a38cb 100644 --- a/app/Models/User.php +++ b/app/Models/User.php @@ -18,18 +18,9 @@ class User extends Authenticatable * @var array */ protected $fillable = [ - 'crm_id', - 'civility', - 'firstname', - 'lastname', - 'birth_date', + 'name', 'email', 'password', - 'address', - 'address2', - 'town', - 'postal_code', - 'country', 'email_verify_token', 'email_verified' ]; @@ -61,16 +52,6 @@ class User extends Authenticatable 'role' => UserRole::class ]; - /** - * Has Many Participation relation - * - * @return \Illuminate\Database\Eloquent\Relations\HasMany - */ - public function participations() - { - return $this->hasMany(Participation::class, 'user_id'); - } - /** * Check if user is admin. * @@ -83,12 +64,12 @@ class User extends Authenticatable /** * Check if user is local. + * ! IS local no CRM ! * * @return boolean */ public function isLocal(): bool { - return $this->role->equals(UserRole::admin()) or - $this->role->equals(UserRole::brand()); + return true; } } diff --git a/app/Providers/AppServiceProvider.php b/app/Providers/AppServiceProvider.php index 5f0f6b4..7d85bde 100644 --- a/app/Providers/AppServiceProvider.php +++ b/app/Providers/AppServiceProvider.php @@ -68,17 +68,14 @@ class AppServiceProvider extends ServiceProvider View::share('settingsGlobal', $settingsGlobal); // On ramène aussi tout les prix car on en a besoin sur le header. - $prizesGlobal = Cache::get('prizesGlobal'); - if (!$prizesGlobal) { - $prizesGlobal = Prize::all(); - Cache::put('prizesGlobal', $prizesGlobal); - } - View::share('prizesGlobal', $prizesGlobal); + View::share('prizesGlobal', Cache::remember('prizesGlobal', 60, function () { + return Prize::all(); + })); Blade::if('superadmin', function () { - /** @var \App\Models\User $user */ - $user = auth()->user(); + /** @var \App\Models\User|null $user */ + $user = auth('web')->user(); return $user and $user->isAdmin(); }); }//end if diff --git a/composer.lock b/composer.lock index bcde89f..6e0d0c7 100644 --- a/composer.lock +++ b/composer.lock @@ -1107,16 +1107,16 @@ }, { "name": "laravel/framework", - "version": "v8.83.4", + "version": "v8.83.5", "source": { "type": "git", "url": "https://github.com/laravel/framework.git", - "reference": "97a549f1a83cfb32dab1eecab4c4d40a984a72b5" + "reference": "33b1b981266e3a19fbc826b60c4a6847e311ac95" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/laravel/framework/zipball/97a549f1a83cfb32dab1eecab4c4d40a984a72b5", - "reference": "97a549f1a83cfb32dab1eecab4c4d40a984a72b5", + "url": "https://api.github.com/repos/laravel/framework/zipball/33b1b981266e3a19fbc826b60c4a6847e311ac95", + "reference": "33b1b981266e3a19fbc826b60c4a6847e311ac95", "shasum": "" }, "require": { @@ -1276,7 +1276,7 @@ "issues": "https://github.com/laravel/framework/issues", "source": "https://github.com/laravel/framework" }, - "time": "2022-03-08T16:12:54+00:00" + "time": "2022-03-15T13:37:44+00:00" }, { "name": "laravel/serializable-closure", @@ -1711,16 +1711,16 @@ }, { "name": "monolog/monolog", - "version": "2.3.5", + "version": "2.4.0", "source": { "type": "git", "url": "https://github.com/Seldaek/monolog.git", - "reference": "fd4380d6fc37626e2f799f29d91195040137eba9" + "reference": "d7fd7450628561ba697b7097d86db72662f54aef" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/Seldaek/monolog/zipball/fd4380d6fc37626e2f799f29d91195040137eba9", - "reference": "fd4380d6fc37626e2f799f29d91195040137eba9", + "url": "https://api.github.com/repos/Seldaek/monolog/zipball/d7fd7450628561ba697b7097d86db72662f54aef", + "reference": "d7fd7450628561ba697b7097d86db72662f54aef", "shasum": "" }, "require": { @@ -1742,7 +1742,7 @@ "phpstan/phpstan": "^0.12.91", "phpunit/phpunit": "^8.5", "predis/predis": "^1.1", - "rollbar/rollbar": "^1.3", + "rollbar/rollbar": "^1.3 || ^2 || ^3", "ruflin/elastica": ">=0.90@dev", "swiftmailer/swiftmailer": "^5.3|^6.0" }, @@ -1794,7 +1794,7 @@ ], "support": { "issues": "https://github.com/Seldaek/monolog/issues", - "source": "https://github.com/Seldaek/monolog/tree/2.3.5" + "source": "https://github.com/Seldaek/monolog/tree/2.4.0" }, "funding": [ { @@ -1806,7 +1806,7 @@ "type": "tidelift" } ], - "time": "2021-10-01T21:08:31+00:00" + "time": "2022-03-14T12:44:37+00:00" }, { "name": "nesbot/carbon", @@ -7085,16 +7085,16 @@ }, { "name": "phpunit/phpunit", - "version": "9.5.18", + "version": "9.5.19", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/phpunit.git", - "reference": "1b5856028273bfd855e60a887278857d872ec67a" + "reference": "35ea4b7f3acabb26f4bb640f8c30866c401da807" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/1b5856028273bfd855e60a887278857d872ec67a", - "reference": "1b5856028273bfd855e60a887278857d872ec67a", + "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/35ea4b7f3acabb26f4bb640f8c30866c401da807", + "reference": "35ea4b7f3acabb26f4bb640f8c30866c401da807", "shasum": "" }, "require": { @@ -7124,7 +7124,7 @@ "sebastian/global-state": "^5.0.1", "sebastian/object-enumerator": "^4.0.3", "sebastian/resource-operations": "^3.0.3", - "sebastian/type": "^2.3.4", + "sebastian/type": "^3.0", "sebastian/version": "^3.0.2" }, "require-dev": { @@ -7172,7 +7172,7 @@ ], "support": { "issues": "https://github.com/sebastianbergmann/phpunit/issues", - "source": "https://github.com/sebastianbergmann/phpunit/tree/9.5.18" + "source": "https://github.com/sebastianbergmann/phpunit/tree/9.5.19" }, "funding": [ { @@ -7184,7 +7184,7 @@ "type": "github" } ], - "time": "2022-03-08T06:52:28+00:00" + "time": "2022-03-15T09:57:31+00:00" }, { "name": "sebastian/cli-parser", @@ -8043,28 +8043,28 @@ }, { "name": "sebastian/type", - "version": "2.3.4", + "version": "3.0.0", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/type.git", - "reference": "b8cd8a1c753c90bc1a0f5372170e3e489136f914" + "reference": "b233b84bc4465aff7b57cf1c4bc75c86d00d6dad" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/type/zipball/b8cd8a1c753c90bc1a0f5372170e3e489136f914", - "reference": "b8cd8a1c753c90bc1a0f5372170e3e489136f914", + "url": "https://api.github.com/repos/sebastianbergmann/type/zipball/b233b84bc4465aff7b57cf1c4bc75c86d00d6dad", + "reference": "b233b84bc4465aff7b57cf1c4bc75c86d00d6dad", "shasum": "" }, "require": { "php": ">=7.3" }, "require-dev": { - "phpunit/phpunit": "^9.3" + "phpunit/phpunit": "^9.5" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "2.3-dev" + "dev-master": "3.0-dev" } }, "autoload": { @@ -8087,7 +8087,7 @@ "homepage": "https://github.com/sebastianbergmann/type", "support": { "issues": "https://github.com/sebastianbergmann/type/issues", - "source": "https://github.com/sebastianbergmann/type/tree/2.3.4" + "source": "https://github.com/sebastianbergmann/type/tree/3.0.0" }, "funding": [ { @@ -8095,7 +8095,7 @@ "type": "github" } ], - "time": "2021-06-15T12:49:02+00:00" + "time": "2022-03-15T09:54:48+00:00" }, { "name": "sebastian/version", diff --git a/config/auth.php b/config/auth.php index c30fc9c..068f6e1 100644 --- a/config/auth.php +++ b/config/auth.php @@ -41,11 +41,10 @@ return [ 'provider' => 'users', ], - 'api' => [ - 'driver' => 'token', - 'provider' => 'users', - 'hash' => false, - ], + 'customer' => [ + 'driver' => 'session', + 'provider' => 'customers', + ] ], /* @@ -70,6 +69,11 @@ return [ 'driver' => 'eloquent', 'model' => App\Models\User::class, ], + + 'customers' => [ + 'driver' => 'eloquent', + 'model' => App\Models\Customer::class, + ] ], /* @@ -89,7 +93,7 @@ return [ 'passwords' => [ 'users' => [ - 'provider' => 'users', + 'provider' => 'customers', 'table' => 'password_resets', 'expire' => 60, 'throttle' => 60, diff --git a/database/migrations/2014_10_12_000000_create_users_table.php b/database/migrations/2014_10_12_000000_create_users_table.php index 9f73828..a292f3d 100644 --- a/database/migrations/2014_10_12_000000_create_users_table.php +++ b/database/migrations/2014_10_12_000000_create_users_table.php @@ -15,22 +15,10 @@ class CreateUsersTable extends Migration { Schema::create('users', function (Blueprint $table) { $table->id(); - $table->integer('crm_id')->nullable(); - $table->string('firstname'); - $table->string('lastname'); - $table->date('birth_date')->nullable(); + $table->string('name'); $table->string('email')->unique(); $table->string('password'); - $table->string('address')->nullable(); - $table->string('address2')->nullable(); - $table->string('town')->nullable(); - $table->string('postal_code')->nullable(); - $table->string('country')->nullable(); - $table->string('phone')->nullable(); - $table->string('email_verify_token')->nullable(); - $table->boolean('email_verified')->default(0); - $table->string('password_token')->nullable(); - $table->integer('role')->default(3); + $table->integer('role')->default(2); $table->rememberToken(); $table->timestamps(); }); diff --git a/database/migrations/2020_10_11_094307_create_customers_table.php b/database/migrations/2020_10_11_094307_create_customers_table.php new file mode 100644 index 0000000..37c5e61 --- /dev/null +++ b/database/migrations/2020_10_11_094307_create_customers_table.php @@ -0,0 +1,47 @@ +id(); + $table->string('firstname'); + $table->string('lastname'); + $table->date('birth_date')->nullable(); + $table->string('email')->unique(); + $table->string('password'); + $table->string('address')->nullable(); + $table->string('address2')->nullable(); + $table->string('town')->nullable(); + $table->string('postal_code')->nullable(); + $table->string('country')->nullable(); + $table->string('phone')->nullable(); + $table->string('email_verify_token')->nullable(); + $table->boolean('email_verified')->default(0); + $table->string('password_token')->nullable(); + $table->integer('crm_id')->nullable(); + $table->rememberToken(); + $table->timestamps(); + }); + } + + /** + * Reverse the migrations. + * + * @return void + */ + public function down() + { + Schema::dropIfExists('customers'); + } +} diff --git a/database/migrations/2020_10_23_094235_create_banned_ips.php b/database/migrations/2020_10_23_094235_create_banned_ips.php index 152e2aa..375752b 100644 --- a/database/migrations/2020_10_23_094235_create_banned_ips.php +++ b/database/migrations/2020_10_23_094235_create_banned_ips.php @@ -15,8 +15,7 @@ class CreateBannedIps extends Migration { Schema::create('banned_ips', function (Blueprint $table) { $table->id(); - $table->string('ip'); - $table->unique('ip'); + $table->string('ip')->unique(); }); } diff --git a/database/migrations/2020_10_28_091935_create_participations.php b/database/migrations/2020_10_28_091935_create_participations.php index fff21fe..fd83496 100644 --- a/database/migrations/2020_10_28_091935_create_participations.php +++ b/database/migrations/2020_10_28_091935_create_participations.php @@ -19,7 +19,7 @@ class CreateParticipations extends Migration $table->string('sticker')->nullable(); $table->string('ticket')->nullable(); $table->string('barcode')->nullable(); - $table->foreignId('user_id')->constrained('users'); + $table->foreignId('customer_id')->constrained('customers'); $table->foreignId('code_unique_id')->constrained('codes'); $table->foreignId('code_ean_id')->nullable()->constrained('code_eans'); $table->foreignId('reduction_id')->nullable()->constrained('reductions'); diff --git a/database/seeders/PrizeSeeder.php b/database/seeders/PrizeSeeder.php index c67bd78..4d415b8 100644 --- a/database/seeders/PrizeSeeder.php +++ b/database/seeders/PrizeSeeder.php @@ -34,7 +34,7 @@ class PrizeSeeder extends Seeder $gainview->save(); $prize = new Prize(); - $prize->arcadia_id = 0; + $prize->arcadia_id = 1; $prize->label_one = 'Lot '; $prize->label_many = 'Lots 2'; $prize->quantity = 2; diff --git a/public/css/app.css b/public/css/app.css index c75c4cf..2fb1b80 100644 --- a/public/css/app.css +++ b/public/css/app.css @@ -1,2 +1,10941 @@ @import url(https://fonts.googleapis.com/css?family=Nunito); -@charset "UTF-8";:root{--blue:#3490dc;--indigo:#6574cd;--purple:#9561e2;--pink:#f66d9b;--red:#e3342f;--orange:#f6993f;--yellow:#ffed4a;--green:#38c172;--teal:#4dc0b5;--cyan:#6cb2eb;--white:#fff;--gray:#6c757d;--gray-dark:#343a40;--primary:#3490dc;--secondary:#6c757d;--success:#38c172;--info:#6cb2eb;--warning:#ffed4a;--danger:#e3342f;--light:#f8f9fa;--dark:#343a40;--breakpoint-xs:0;--breakpoint-sm:576px;--breakpoint-md:768px;--breakpoint-lg:992px;--breakpoint-xl:1200px;--font-family-sans-serif:"Nunito",sans-serif;--font-family-monospace:SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace}*,:after,:before{box-sizing:border-box}html{-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:rgba(0,0,0,0);font-family:sans-serif;line-height:1.15}article,aside,figcaption,figure,footer,header,hgroup,main,nav,section{display:block}body{background-color:#f8fafc;color:#212529;font-family:Nunito,sans-serif;font-size:.9rem;font-weight:400;line-height:1.6;margin:0;text-align:left}[tabindex="-1"]:focus:not(:focus-visible){outline:0!important}hr{box-sizing:content-box;height:0;overflow:visible}h1,h2,h3,h4,h5,h6{margin-bottom:.5rem;margin-top:0}p{margin-bottom:1rem;margin-top:0}abbr[data-original-title],abbr[title]{border-bottom:0;cursor:help;text-decoration:underline;-webkit-text-decoration:underline dotted;text-decoration:underline dotted;-webkit-text-decoration-skip-ink:none;text-decoration-skip-ink:none}address{font-style:normal;line-height:inherit}address,dl,ol,ul{margin-bottom:1rem}dl,ol,ul{margin-top:0}ol ol,ol ul,ul ol,ul ul{margin-bottom:0}dt{font-weight:700}dd{margin-bottom:.5rem;margin-left:0}blockquote{margin:0 0 1rem}b,strong{font-weight:bolder}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}a{background-color:transparent;color:#3490dc;text-decoration:none}a:hover{color:#1d68a7;text-decoration:underline}a:not([href]):not([class]),a:not([href]):not([class]):hover{color:inherit;text-decoration:none}code,kbd,pre,samp{font-family:SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:1em}pre{-ms-overflow-style:scrollbar;margin-bottom:1rem;margin-top:0;overflow:auto}figure{margin:0 0 1rem}img{border-style:none}img,svg{vertical-align:middle}svg{overflow:hidden}table{border-collapse:collapse}caption{caption-side:bottom;color:#6c757d;padding-bottom:.75rem;padding-top:.75rem;text-align:left}th{text-align:inherit;text-align:-webkit-match-parent}label{display:inline-block;margin-bottom:.5rem}button{border-radius:0}button:focus:not(:focus-visible){outline:0}button,input,optgroup,select,textarea{font-family:inherit;font-size:inherit;line-height:inherit;margin:0}button,input{overflow:visible}button,select{text-transform:none}[role=button]{cursor:pointer}select{word-wrap:normal}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button}[type=button]:not(:disabled),[type=reset]:not(:disabled),[type=submit]:not(:disabled),button:not(:disabled){cursor:pointer}[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner,button::-moz-focus-inner{border-style:none;padding:0}input[type=checkbox],input[type=radio]{box-sizing:border-box;padding:0}textarea{overflow:auto;resize:vertical}fieldset{border:0;margin:0;min-width:0;padding:0}legend{color:inherit;display:block;font-size:1.5rem;line-height:inherit;margin-bottom:.5rem;max-width:100%;padding:0;white-space:normal;width:100%}progress{vertical-align:baseline}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:none;outline-offset:-2px}[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}output{display:inline-block}summary{cursor:pointer;display:list-item}template{display:none}[hidden]{display:none!important}.h1,.h2,.h3,.h4,.h5,.h6,h1,h2,h3,h4,h5,h6{font-weight:500;line-height:1.2;margin-bottom:.5rem}.h1,h1{font-size:2.25rem}.h2,h2{font-size:1.8rem}.h3,h3{font-size:1.575rem}.h4,h4{font-size:1.35rem}.h5,h5{font-size:1.125rem}.h6,h6{font-size:.9rem}.lead{font-size:1.125rem;font-weight:300}.display-1{font-size:6rem}.display-1,.display-2{font-weight:300;line-height:1.2}.display-2{font-size:5.5rem}.display-3{font-size:4.5rem}.display-3,.display-4{font-weight:300;line-height:1.2}.display-4{font-size:3.5rem}hr{border:0;border-top:1px solid rgba(0,0,0,.1);margin-bottom:1rem;margin-top:1rem}.small,small{font-size:80%;font-weight:400}.mark,mark{background-color:#fcf8e3;padding:.2em}.list-inline,.list-unstyled{list-style:none;padding-left:0}.list-inline-item{display:inline-block}.list-inline-item:not(:last-child){margin-right:.5rem}.initialism{font-size:90%;text-transform:uppercase}.blockquote{font-size:1.125rem;margin-bottom:1rem}.blockquote-footer{color:#6c757d;display:block;font-size:80%}.blockquote-footer:before{content:"— "}.img-fluid,.img-thumbnail{height:auto;max-width:100%}.img-thumbnail{background-color:#f8fafc;border:1px solid #dee2e6;border-radius:.25rem;padding:.25rem}.figure{display:inline-block}.figure-img{line-height:1;margin-bottom:.5rem}.figure-caption{color:#6c757d;font-size:90%}code{word-wrap:break-word;color:#f66d9b;font-size:87.5%}a>code{color:inherit}kbd{background-color:#212529;border-radius:.2rem;color:#fff;font-size:87.5%;padding:.2rem .4rem}kbd kbd{font-size:100%;font-weight:700;padding:0}pre{color:#212529;display:block;font-size:87.5%}pre code{color:inherit;font-size:inherit;word-break:normal}.pre-scrollable{max-height:340px;overflow-y:scroll}.container,.container-fluid,.container-lg,.container-md,.container-sm,.container-xl{margin-left:auto;margin-right:auto;padding-left:15px;padding-right:15px;width:100%}@media (min-width:576px){.container,.container-sm{max-width:540px}}@media (min-width:768px){.container,.container-md,.container-sm{max-width:720px}}@media (min-width:992px){.container,.container-lg,.container-md,.container-sm{max-width:960px}}@media (min-width:1200px){.container,.container-lg,.container-md,.container-sm,.container-xl{max-width:1140px}}.row{display:flex;flex-wrap:wrap;margin-left:-15px;margin-right:-15px}.no-gutters{margin-left:0;margin-right:0}.no-gutters>.col,.no-gutters>[class*=col-]{padding-left:0;padding-right:0}.col,.col-1,.col-2,.col-3,.col-4,.col-5,.col-6,.col-7,.col-8,.col-9,.col-10,.col-11,.col-12,.col-auto,.col-lg,.col-lg-1,.col-lg-2,.col-lg-3,.col-lg-4,.col-lg-5,.col-lg-6,.col-lg-7,.col-lg-8,.col-lg-9,.col-lg-10,.col-lg-11,.col-lg-12,.col-lg-auto,.col-md,.col-md-1,.col-md-2,.col-md-3,.col-md-4,.col-md-5,.col-md-6,.col-md-7,.col-md-8,.col-md-9,.col-md-10,.col-md-11,.col-md-12,.col-md-auto,.col-sm,.col-sm-1,.col-sm-2,.col-sm-3,.col-sm-4,.col-sm-5,.col-sm-6,.col-sm-7,.col-sm-8,.col-sm-9,.col-sm-10,.col-sm-11,.col-sm-12,.col-sm-auto,.col-xl,.col-xl-1,.col-xl-2,.col-xl-3,.col-xl-4,.col-xl-5,.col-xl-6,.col-xl-7,.col-xl-8,.col-xl-9,.col-xl-10,.col-xl-11,.col-xl-12,.col-xl-auto{padding-left:15px;padding-right:15px;position:relative;width:100%}.col{flex-basis:0;flex-grow:1;max-width:100%}.row-cols-1>*{flex:0 0 100%;max-width:100%}.row-cols-2>*{flex:0 0 50%;max-width:50%}.row-cols-3>*{flex:0 0 33.3333333333%;max-width:33.3333333333%}.row-cols-4>*{flex:0 0 25%;max-width:25%}.row-cols-5>*{flex:0 0 20%;max-width:20%}.row-cols-6>*{flex:0 0 16.6666666667%;max-width:16.6666666667%}.col-auto{flex:0 0 auto;max-width:100%;width:auto}.col-1{flex:0 0 8.33333333%;max-width:8.33333333%}.col-2{flex:0 0 16.66666667%;max-width:16.66666667%}.col-3{flex:0 0 25%;max-width:25%}.col-4{flex:0 0 33.33333333%;max-width:33.33333333%}.col-5{flex:0 0 41.66666667%;max-width:41.66666667%}.col-6{flex:0 0 50%;max-width:50%}.col-7{flex:0 0 58.33333333%;max-width:58.33333333%}.col-8{flex:0 0 66.66666667%;max-width:66.66666667%}.col-9{flex:0 0 75%;max-width:75%}.col-10{flex:0 0 83.33333333%;max-width:83.33333333%}.col-11{flex:0 0 91.66666667%;max-width:91.66666667%}.col-12{flex:0 0 100%;max-width:100%}.order-first{order:-1}.order-last{order:13}.order-0{order:0}.order-1{order:1}.order-2{order:2}.order-3{order:3}.order-4{order:4}.order-5{order:5}.order-6{order:6}.order-7{order:7}.order-8{order:8}.order-9{order:9}.order-10{order:10}.order-11{order:11}.order-12{order:12}.offset-1{margin-left:8.33333333%}.offset-2{margin-left:16.66666667%}.offset-3{margin-left:25%}.offset-4{margin-left:33.33333333%}.offset-5{margin-left:41.66666667%}.offset-6{margin-left:50%}.offset-7{margin-left:58.33333333%}.offset-8{margin-left:66.66666667%}.offset-9{margin-left:75%}.offset-10{margin-left:83.33333333%}.offset-11{margin-left:91.66666667%}@media (min-width:576px){.col-sm{flex-basis:0;flex-grow:1;max-width:100%}.row-cols-sm-1>*{flex:0 0 100%;max-width:100%}.row-cols-sm-2>*{flex:0 0 50%;max-width:50%}.row-cols-sm-3>*{flex:0 0 33.3333333333%;max-width:33.3333333333%}.row-cols-sm-4>*{flex:0 0 25%;max-width:25%}.row-cols-sm-5>*{flex:0 0 20%;max-width:20%}.row-cols-sm-6>*{flex:0 0 16.6666666667%;max-width:16.6666666667%}.col-sm-auto{flex:0 0 auto;max-width:100%;width:auto}.col-sm-1{flex:0 0 8.33333333%;max-width:8.33333333%}.col-sm-2{flex:0 0 16.66666667%;max-width:16.66666667%}.col-sm-3{flex:0 0 25%;max-width:25%}.col-sm-4{flex:0 0 33.33333333%;max-width:33.33333333%}.col-sm-5{flex:0 0 41.66666667%;max-width:41.66666667%}.col-sm-6{flex:0 0 50%;max-width:50%}.col-sm-7{flex:0 0 58.33333333%;max-width:58.33333333%}.col-sm-8{flex:0 0 66.66666667%;max-width:66.66666667%}.col-sm-9{flex:0 0 75%;max-width:75%}.col-sm-10{flex:0 0 83.33333333%;max-width:83.33333333%}.col-sm-11{flex:0 0 91.66666667%;max-width:91.66666667%}.col-sm-12{flex:0 0 100%;max-width:100%}.order-sm-first{order:-1}.order-sm-last{order:13}.order-sm-0{order:0}.order-sm-1{order:1}.order-sm-2{order:2}.order-sm-3{order:3}.order-sm-4{order:4}.order-sm-5{order:5}.order-sm-6{order:6}.order-sm-7{order:7}.order-sm-8{order:8}.order-sm-9{order:9}.order-sm-10{order:10}.order-sm-11{order:11}.order-sm-12{order:12}.offset-sm-0{margin-left:0}.offset-sm-1{margin-left:8.33333333%}.offset-sm-2{margin-left:16.66666667%}.offset-sm-3{margin-left:25%}.offset-sm-4{margin-left:33.33333333%}.offset-sm-5{margin-left:41.66666667%}.offset-sm-6{margin-left:50%}.offset-sm-7{margin-left:58.33333333%}.offset-sm-8{margin-left:66.66666667%}.offset-sm-9{margin-left:75%}.offset-sm-10{margin-left:83.33333333%}.offset-sm-11{margin-left:91.66666667%}}@media (min-width:768px){.col-md{flex-basis:0;flex-grow:1;max-width:100%}.row-cols-md-1>*{flex:0 0 100%;max-width:100%}.row-cols-md-2>*{flex:0 0 50%;max-width:50%}.row-cols-md-3>*{flex:0 0 33.3333333333%;max-width:33.3333333333%}.row-cols-md-4>*{flex:0 0 25%;max-width:25%}.row-cols-md-5>*{flex:0 0 20%;max-width:20%}.row-cols-md-6>*{flex:0 0 16.6666666667%;max-width:16.6666666667%}.col-md-auto{flex:0 0 auto;max-width:100%;width:auto}.col-md-1{flex:0 0 8.33333333%;max-width:8.33333333%}.col-md-2{flex:0 0 16.66666667%;max-width:16.66666667%}.col-md-3{flex:0 0 25%;max-width:25%}.col-md-4{flex:0 0 33.33333333%;max-width:33.33333333%}.col-md-5{flex:0 0 41.66666667%;max-width:41.66666667%}.col-md-6{flex:0 0 50%;max-width:50%}.col-md-7{flex:0 0 58.33333333%;max-width:58.33333333%}.col-md-8{flex:0 0 66.66666667%;max-width:66.66666667%}.col-md-9{flex:0 0 75%;max-width:75%}.col-md-10{flex:0 0 83.33333333%;max-width:83.33333333%}.col-md-11{flex:0 0 91.66666667%;max-width:91.66666667%}.col-md-12{flex:0 0 100%;max-width:100%}.order-md-first{order:-1}.order-md-last{order:13}.order-md-0{order:0}.order-md-1{order:1}.order-md-2{order:2}.order-md-3{order:3}.order-md-4{order:4}.order-md-5{order:5}.order-md-6{order:6}.order-md-7{order:7}.order-md-8{order:8}.order-md-9{order:9}.order-md-10{order:10}.order-md-11{order:11}.order-md-12{order:12}.offset-md-0{margin-left:0}.offset-md-1{margin-left:8.33333333%}.offset-md-2{margin-left:16.66666667%}.offset-md-3{margin-left:25%}.offset-md-4{margin-left:33.33333333%}.offset-md-5{margin-left:41.66666667%}.offset-md-6{margin-left:50%}.offset-md-7{margin-left:58.33333333%}.offset-md-8{margin-left:66.66666667%}.offset-md-9{margin-left:75%}.offset-md-10{margin-left:83.33333333%}.offset-md-11{margin-left:91.66666667%}}@media (min-width:992px){.col-lg{flex-basis:0;flex-grow:1;max-width:100%}.row-cols-lg-1>*{flex:0 0 100%;max-width:100%}.row-cols-lg-2>*{flex:0 0 50%;max-width:50%}.row-cols-lg-3>*{flex:0 0 33.3333333333%;max-width:33.3333333333%}.row-cols-lg-4>*{flex:0 0 25%;max-width:25%}.row-cols-lg-5>*{flex:0 0 20%;max-width:20%}.row-cols-lg-6>*{flex:0 0 16.6666666667%;max-width:16.6666666667%}.col-lg-auto{flex:0 0 auto;max-width:100%;width:auto}.col-lg-1{flex:0 0 8.33333333%;max-width:8.33333333%}.col-lg-2{flex:0 0 16.66666667%;max-width:16.66666667%}.col-lg-3{flex:0 0 25%;max-width:25%}.col-lg-4{flex:0 0 33.33333333%;max-width:33.33333333%}.col-lg-5{flex:0 0 41.66666667%;max-width:41.66666667%}.col-lg-6{flex:0 0 50%;max-width:50%}.col-lg-7{flex:0 0 58.33333333%;max-width:58.33333333%}.col-lg-8{flex:0 0 66.66666667%;max-width:66.66666667%}.col-lg-9{flex:0 0 75%;max-width:75%}.col-lg-10{flex:0 0 83.33333333%;max-width:83.33333333%}.col-lg-11{flex:0 0 91.66666667%;max-width:91.66666667%}.col-lg-12{flex:0 0 100%;max-width:100%}.order-lg-first{order:-1}.order-lg-last{order:13}.order-lg-0{order:0}.order-lg-1{order:1}.order-lg-2{order:2}.order-lg-3{order:3}.order-lg-4{order:4}.order-lg-5{order:5}.order-lg-6{order:6}.order-lg-7{order:7}.order-lg-8{order:8}.order-lg-9{order:9}.order-lg-10{order:10}.order-lg-11{order:11}.order-lg-12{order:12}.offset-lg-0{margin-left:0}.offset-lg-1{margin-left:8.33333333%}.offset-lg-2{margin-left:16.66666667%}.offset-lg-3{margin-left:25%}.offset-lg-4{margin-left:33.33333333%}.offset-lg-5{margin-left:41.66666667%}.offset-lg-6{margin-left:50%}.offset-lg-7{margin-left:58.33333333%}.offset-lg-8{margin-left:66.66666667%}.offset-lg-9{margin-left:75%}.offset-lg-10{margin-left:83.33333333%}.offset-lg-11{margin-left:91.66666667%}}@media (min-width:1200px){.col-xl{flex-basis:0;flex-grow:1;max-width:100%}.row-cols-xl-1>*{flex:0 0 100%;max-width:100%}.row-cols-xl-2>*{flex:0 0 50%;max-width:50%}.row-cols-xl-3>*{flex:0 0 33.3333333333%;max-width:33.3333333333%}.row-cols-xl-4>*{flex:0 0 25%;max-width:25%}.row-cols-xl-5>*{flex:0 0 20%;max-width:20%}.row-cols-xl-6>*{flex:0 0 16.6666666667%;max-width:16.6666666667%}.col-xl-auto{flex:0 0 auto;max-width:100%;width:auto}.col-xl-1{flex:0 0 8.33333333%;max-width:8.33333333%}.col-xl-2{flex:0 0 16.66666667%;max-width:16.66666667%}.col-xl-3{flex:0 0 25%;max-width:25%}.col-xl-4{flex:0 0 33.33333333%;max-width:33.33333333%}.col-xl-5{flex:0 0 41.66666667%;max-width:41.66666667%}.col-xl-6{flex:0 0 50%;max-width:50%}.col-xl-7{flex:0 0 58.33333333%;max-width:58.33333333%}.col-xl-8{flex:0 0 66.66666667%;max-width:66.66666667%}.col-xl-9{flex:0 0 75%;max-width:75%}.col-xl-10{flex:0 0 83.33333333%;max-width:83.33333333%}.col-xl-11{flex:0 0 91.66666667%;max-width:91.66666667%}.col-xl-12{flex:0 0 100%;max-width:100%}.order-xl-first{order:-1}.order-xl-last{order:13}.order-xl-0{order:0}.order-xl-1{order:1}.order-xl-2{order:2}.order-xl-3{order:3}.order-xl-4{order:4}.order-xl-5{order:5}.order-xl-6{order:6}.order-xl-7{order:7}.order-xl-8{order:8}.order-xl-9{order:9}.order-xl-10{order:10}.order-xl-11{order:11}.order-xl-12{order:12}.offset-xl-0{margin-left:0}.offset-xl-1{margin-left:8.33333333%}.offset-xl-2{margin-left:16.66666667%}.offset-xl-3{margin-left:25%}.offset-xl-4{margin-left:33.33333333%}.offset-xl-5{margin-left:41.66666667%}.offset-xl-6{margin-left:50%}.offset-xl-7{margin-left:58.33333333%}.offset-xl-8{margin-left:66.66666667%}.offset-xl-9{margin-left:75%}.offset-xl-10{margin-left:83.33333333%}.offset-xl-11{margin-left:91.66666667%}}.table{color:#212529;margin-bottom:1rem;width:100%}.table td,.table th{border-top:1px solid #dee2e6;padding:.75rem;vertical-align:top}.table thead th{border-bottom:2px solid #dee2e6;vertical-align:bottom}.table tbody+tbody{border-top:2px solid #dee2e6}.table-sm td,.table-sm th{padding:.3rem}.table-bordered,.table-bordered td,.table-bordered th{border:1px solid #dee2e6}.table-bordered thead td,.table-bordered thead th{border-bottom-width:2px}.table-borderless tbody+tbody,.table-borderless td,.table-borderless th,.table-borderless thead th{border:0}.table-striped tbody tr:nth-of-type(odd){background-color:rgba(0,0,0,.05)}.table-hover tbody tr:hover{background-color:rgba(0,0,0,.075);color:#212529}.table-primary,.table-primary>td,.table-primary>th{background-color:#c6e0f5}.table-primary tbody+tbody,.table-primary td,.table-primary th,.table-primary thead th{border-color:#95c5ed}.table-hover .table-primary:hover,.table-hover .table-primary:hover>td,.table-hover .table-primary:hover>th{background-color:#b0d4f1}.table-secondary,.table-secondary>td,.table-secondary>th{background-color:#d6d8db}.table-secondary tbody+tbody,.table-secondary td,.table-secondary th,.table-secondary thead th{border-color:#b3b7bb}.table-hover .table-secondary:hover,.table-hover .table-secondary:hover>td,.table-hover .table-secondary:hover>th{background-color:#c8cbcf}.table-success,.table-success>td,.table-success>th{background-color:#c7eed8}.table-success tbody+tbody,.table-success td,.table-success th,.table-success thead th{border-color:#98dfb6}.table-hover .table-success:hover,.table-hover .table-success:hover>td,.table-hover .table-success:hover>th{background-color:#b3e8ca}.table-info,.table-info>td,.table-info>th{background-color:#d6e9f9}.table-info tbody+tbody,.table-info td,.table-info th,.table-info thead th{border-color:#b3d7f5}.table-hover .table-info:hover,.table-hover .table-info:hover>td,.table-hover .table-info:hover>th{background-color:#c0ddf6}.table-warning,.table-warning>td,.table-warning>th{background-color:#fffacc}.table-warning tbody+tbody,.table-warning td,.table-warning th,.table-warning thead th{border-color:#fff6a1}.table-hover .table-warning:hover,.table-hover .table-warning:hover>td,.table-hover .table-warning:hover>th{background-color:#fff8b3}.table-danger,.table-danger>td,.table-danger>th{background-color:#f7c6c5}.table-danger tbody+tbody,.table-danger td,.table-danger th,.table-danger thead th{border-color:#f09593}.table-hover .table-danger:hover,.table-hover .table-danger:hover>td,.table-hover .table-danger:hover>th{background-color:#f4b0af}.table-light,.table-light>td,.table-light>th{background-color:#fdfdfe}.table-light tbody+tbody,.table-light td,.table-light th,.table-light thead th{border-color:#fbfcfc}.table-hover .table-light:hover,.table-hover .table-light:hover>td,.table-hover .table-light:hover>th{background-color:#ececf6}.table-dark,.table-dark>td,.table-dark>th{background-color:#c6c8ca}.table-dark tbody+tbody,.table-dark td,.table-dark th,.table-dark thead th{border-color:#95999c}.table-hover .table-dark:hover,.table-hover .table-dark:hover>td,.table-hover .table-dark:hover>th{background-color:#b9bbbe}.table-active,.table-active>td,.table-active>th,.table-hover .table-active:hover,.table-hover .table-active:hover>td,.table-hover .table-active:hover>th{background-color:rgba(0,0,0,.075)}.table .thead-dark th{background-color:#343a40;border-color:#454d55;color:#fff}.table .thead-light th{background-color:#e9ecef;border-color:#dee2e6;color:#495057}.table-dark{background-color:#343a40;color:#fff}.table-dark td,.table-dark th,.table-dark thead th{border-color:#454d55}.table-dark.table-bordered{border:0}.table-dark.table-striped tbody tr:nth-of-type(odd){background-color:hsla(0,0%,100%,.05)}.table-dark.table-hover tbody tr:hover{background-color:hsla(0,0%,100%,.075);color:#fff}@media (max-width:575.98px){.table-responsive-sm{-webkit-overflow-scrolling:touch;display:block;overflow-x:auto;width:100%}.table-responsive-sm>.table-bordered{border:0}}@media (max-width:767.98px){.table-responsive-md{-webkit-overflow-scrolling:touch;display:block;overflow-x:auto;width:100%}.table-responsive-md>.table-bordered{border:0}}@media (max-width:991.98px){.table-responsive-lg{-webkit-overflow-scrolling:touch;display:block;overflow-x:auto;width:100%}.table-responsive-lg>.table-bordered{border:0}}@media (max-width:1199.98px){.table-responsive-xl{-webkit-overflow-scrolling:touch;display:block;overflow-x:auto;width:100%}.table-responsive-xl>.table-bordered{border:0}}.table-responsive{-webkit-overflow-scrolling:touch;display:block;overflow-x:auto;width:100%}.table-responsive>.table-bordered{border:0}.form-control{background-clip:padding-box;background-color:#fff;border:1px solid #ced4da;border-radius:.25rem;color:#495057;display:block;font-size:.9rem;font-weight:400;height:calc(1.6em + .75rem + 2px);line-height:1.6;padding:.375rem .75rem;transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out;width:100%}@media (prefers-reduced-motion:reduce){.form-control{transition:none}}.form-control::-ms-expand{background-color:transparent;border:0}.form-control:focus{background-color:#fff;border-color:#a1cbef;box-shadow:0 0 0 .2rem rgba(52,144,220,.25);color:#495057;outline:0}.form-control::-moz-placeholder{color:#6c757d;opacity:1}.form-control:-ms-input-placeholder{color:#6c757d;opacity:1}.form-control::placeholder{color:#6c757d;opacity:1}.form-control:disabled,.form-control[readonly]{background-color:#e9ecef;opacity:1}input[type=date].form-control,input[type=datetime-local].form-control,input[type=month].form-control,input[type=time].form-control{-webkit-appearance:none;-moz-appearance:none;appearance:none}select.form-control:-moz-focusring{color:transparent;text-shadow:0 0 0 #495057}select.form-control:focus::-ms-value{background-color:#fff;color:#495057}.form-control-file,.form-control-range{display:block;width:100%}.col-form-label{font-size:inherit;line-height:1.6;margin-bottom:0;padding-bottom:calc(.375rem + 1px);padding-top:calc(.375rem + 1px)}.col-form-label-lg{font-size:1.125rem;line-height:1.5;padding-bottom:calc(.5rem + 1px);padding-top:calc(.5rem + 1px)}.col-form-label-sm{font-size:.7875rem;line-height:1.5;padding-bottom:calc(.25rem + 1px);padding-top:calc(.25rem + 1px)}.form-control-plaintext{background-color:transparent;border:solid transparent;border-width:1px 0;color:#212529;display:block;font-size:.9rem;line-height:1.6;margin-bottom:0;padding:.375rem 0;width:100%}.form-control-plaintext.form-control-lg,.form-control-plaintext.form-control-sm{padding-left:0;padding-right:0}.form-control-sm{border-radius:.2rem;font-size:.7875rem;height:calc(1.5em + .5rem + 2px);line-height:1.5;padding:.25rem .5rem}.form-control-lg{border-radius:.3rem;font-size:1.125rem;height:calc(1.5em + 1rem + 2px);line-height:1.5;padding:.5rem 1rem}select.form-control[multiple],select.form-control[size],textarea.form-control{height:auto}.form-group{margin-bottom:1rem}.form-text{display:block;margin-top:.25rem}.form-row{display:flex;flex-wrap:wrap;margin-left:-5px;margin-right:-5px}.form-row>.col,.form-row>[class*=col-]{padding-left:5px;padding-right:5px}.form-check{display:block;padding-left:1.25rem;position:relative}.form-check-input{margin-left:-1.25rem;margin-top:.3rem;position:absolute}.form-check-input:disabled~.form-check-label,.form-check-input[disabled]~.form-check-label{color:#6c757d}.form-check-label{margin-bottom:0}.form-check-inline{align-items:center;display:inline-flex;margin-right:.75rem;padding-left:0}.form-check-inline .form-check-input{margin-left:0;margin-right:.3125rem;margin-top:0;position:static}.valid-feedback{color:#38c172;display:none;font-size:80%;margin-top:.25rem;width:100%}.valid-tooltip{background-color:rgba(56,193,114,.9);border-radius:.25rem;color:#fff;display:none;font-size:.7875rem;left:0;line-height:1.6;margin-top:.1rem;max-width:100%;padding:.25rem .5rem;position:absolute;top:100%;z-index:5}.form-row>.col>.valid-tooltip,.form-row>[class*=col-]>.valid-tooltip{left:5px}.is-valid~.valid-feedback,.is-valid~.valid-tooltip,.was-validated :valid~.valid-feedback,.was-validated :valid~.valid-tooltip{display:block}.form-control.is-valid,.was-validated .form-control:valid{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='8' height='8'%3E%3Cpath fill='%2338c172' d='M2.3 6.73.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3E%3C/svg%3E");background-position:right calc(.4em + .1875rem) center;background-repeat:no-repeat;background-size:calc(.8em + .375rem) calc(.8em + .375rem);border-color:#38c172;padding-right:calc(1.6em + .75rem)!important}.form-control.is-valid:focus,.was-validated .form-control:valid:focus{border-color:#38c172;box-shadow:0 0 0 .2rem rgba(56,193,114,.25)}.was-validated select.form-control:valid,select.form-control.is-valid{background-position:right 1.5rem center;padding-right:3rem!important}.was-validated textarea.form-control:valid,textarea.form-control.is-valid{background-position:top calc(.4em + .1875rem) right calc(.4em + .1875rem);padding-right:calc(1.6em + .75rem)}.custom-select.is-valid,.was-validated .custom-select:valid{background:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='4' height='5'%3E%3Cpath fill='%23343a40' d='M2 0 0 2h4zm0 5L0 3h4z'/%3E%3C/svg%3E") right .75rem center/8px 10px no-repeat,#fff url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='8' height='8'%3E%3Cpath fill='%2338c172' d='M2.3 6.73.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3E%3C/svg%3E") center right 1.75rem/calc(.8em + .375rem) calc(.8em + .375rem) no-repeat;border-color:#38c172;padding-right:calc(.75em + 2.3125rem)!important}.custom-select.is-valid:focus,.was-validated .custom-select:valid:focus{border-color:#38c172;box-shadow:0 0 0 .2rem rgba(56,193,114,.25)}.form-check-input.is-valid~.form-check-label,.was-validated .form-check-input:valid~.form-check-label{color:#38c172}.form-check-input.is-valid~.valid-feedback,.form-check-input.is-valid~.valid-tooltip,.was-validated .form-check-input:valid~.valid-feedback,.was-validated .form-check-input:valid~.valid-tooltip{display:block}.custom-control-input.is-valid~.custom-control-label,.was-validated .custom-control-input:valid~.custom-control-label{color:#38c172}.custom-control-input.is-valid~.custom-control-label:before,.was-validated .custom-control-input:valid~.custom-control-label:before{border-color:#38c172}.custom-control-input.is-valid:checked~.custom-control-label:before,.was-validated .custom-control-input:valid:checked~.custom-control-label:before{background-color:#5cd08d;border-color:#5cd08d}.custom-control-input.is-valid:focus~.custom-control-label:before,.was-validated .custom-control-input:valid:focus~.custom-control-label:before{box-shadow:0 0 0 .2rem rgba(56,193,114,.25)}.custom-control-input.is-valid:focus:not(:checked)~.custom-control-label:before,.was-validated .custom-control-input:valid:focus:not(:checked)~.custom-control-label:before{border-color:#38c172}.custom-file-input.is-valid~.custom-file-label,.was-validated .custom-file-input:valid~.custom-file-label{border-color:#38c172}.custom-file-input.is-valid:focus~.custom-file-label,.was-validated .custom-file-input:valid:focus~.custom-file-label{border-color:#38c172;box-shadow:0 0 0 .2rem rgba(56,193,114,.25)}.invalid-feedback{color:#e3342f;display:none;font-size:80%;margin-top:.25rem;width:100%}.invalid-tooltip{background-color:rgba(227,52,47,.9);border-radius:.25rem;color:#fff;display:none;font-size:.7875rem;left:0;line-height:1.6;margin-top:.1rem;max-width:100%;padding:.25rem .5rem;position:absolute;top:100%;z-index:5}.form-row>.col>.invalid-tooltip,.form-row>[class*=col-]>.invalid-tooltip{left:5px}.is-invalid~.invalid-feedback,.is-invalid~.invalid-tooltip,.was-validated :invalid~.invalid-feedback,.was-validated :invalid~.invalid-tooltip{display:block}.form-control.is-invalid,.was-validated .form-control:invalid{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='none' stroke='%23e3342f'%3E%3Ccircle cx='6' cy='6' r='4.5'/%3E%3Cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3E%3Ccircle cx='6' cy='8.2' r='.6' fill='%23e3342f' stroke='none'/%3E%3C/svg%3E");background-position:right calc(.4em + .1875rem) center;background-repeat:no-repeat;background-size:calc(.8em + .375rem) calc(.8em + .375rem);border-color:#e3342f;padding-right:calc(1.6em + .75rem)!important}.form-control.is-invalid:focus,.was-validated .form-control:invalid:focus{border-color:#e3342f;box-shadow:0 0 0 .2rem rgba(227,52,47,.25)}.was-validated select.form-control:invalid,select.form-control.is-invalid{background-position:right 1.5rem center;padding-right:3rem!important}.was-validated textarea.form-control:invalid,textarea.form-control.is-invalid{background-position:top calc(.4em + .1875rem) right calc(.4em + .1875rem);padding-right:calc(1.6em + .75rem)}.custom-select.is-invalid,.was-validated .custom-select:invalid{background:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='4' height='5'%3E%3Cpath fill='%23343a40' d='M2 0 0 2h4zm0 5L0 3h4z'/%3E%3C/svg%3E") right .75rem center/8px 10px no-repeat,#fff url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='none' stroke='%23e3342f'%3E%3Ccircle cx='6' cy='6' r='4.5'/%3E%3Cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3E%3Ccircle cx='6' cy='8.2' r='.6' fill='%23e3342f' stroke='none'/%3E%3C/svg%3E") center right 1.75rem/calc(.8em + .375rem) calc(.8em + .375rem) no-repeat;border-color:#e3342f;padding-right:calc(.75em + 2.3125rem)!important}.custom-select.is-invalid:focus,.was-validated .custom-select:invalid:focus{border-color:#e3342f;box-shadow:0 0 0 .2rem rgba(227,52,47,.25)}.form-check-input.is-invalid~.form-check-label,.was-validated .form-check-input:invalid~.form-check-label{color:#e3342f}.form-check-input.is-invalid~.invalid-feedback,.form-check-input.is-invalid~.invalid-tooltip,.was-validated .form-check-input:invalid~.invalid-feedback,.was-validated .form-check-input:invalid~.invalid-tooltip{display:block}.custom-control-input.is-invalid~.custom-control-label,.was-validated .custom-control-input:invalid~.custom-control-label{color:#e3342f}.custom-control-input.is-invalid~.custom-control-label:before,.was-validated .custom-control-input:invalid~.custom-control-label:before{border-color:#e3342f}.custom-control-input.is-invalid:checked~.custom-control-label:before,.was-validated .custom-control-input:invalid:checked~.custom-control-label:before{background-color:#e9605c;border-color:#e9605c}.custom-control-input.is-invalid:focus~.custom-control-label:before,.was-validated .custom-control-input:invalid:focus~.custom-control-label:before{box-shadow:0 0 0 .2rem rgba(227,52,47,.25)}.custom-control-input.is-invalid:focus:not(:checked)~.custom-control-label:before,.was-validated .custom-control-input:invalid:focus:not(:checked)~.custom-control-label:before{border-color:#e3342f}.custom-file-input.is-invalid~.custom-file-label,.was-validated .custom-file-input:invalid~.custom-file-label{border-color:#e3342f}.custom-file-input.is-invalid:focus~.custom-file-label,.was-validated .custom-file-input:invalid:focus~.custom-file-label{border-color:#e3342f;box-shadow:0 0 0 .2rem rgba(227,52,47,.25)}.form-inline{align-items:center;display:flex;flex-flow:row wrap}.form-inline .form-check{width:100%}@media (min-width:576px){.form-inline label{justify-content:center}.form-inline .form-group,.form-inline label{align-items:center;display:flex;margin-bottom:0}.form-inline .form-group{flex:0 0 auto;flex-flow:row wrap}.form-inline .form-control{display:inline-block;vertical-align:middle;width:auto}.form-inline .form-control-plaintext{display:inline-block}.form-inline .custom-select,.form-inline .input-group{width:auto}.form-inline .form-check{align-items:center;display:flex;justify-content:center;padding-left:0;width:auto}.form-inline .form-check-input{flex-shrink:0;margin-left:0;margin-right:.25rem;margin-top:0;position:relative}.form-inline .custom-control{align-items:center;justify-content:center}.form-inline .custom-control-label{margin-bottom:0}}.btn{background-color:transparent;border:1px solid transparent;border-radius:.25rem;color:#212529;display:inline-block;font-size:.9rem;font-weight:400;line-height:1.6;padding:.375rem .75rem;text-align:center;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;vertical-align:middle}@media (prefers-reduced-motion:reduce){.btn{transition:none}}.btn:hover{color:#212529;text-decoration:none}.btn.focus,.btn:focus{box-shadow:0 0 0 .2rem rgba(52,144,220,.25);outline:0}.btn.disabled,.btn:disabled{opacity:.65}.btn:not(:disabled):not(.disabled){cursor:pointer}a.btn.disabled,fieldset:disabled a.btn{pointer-events:none}.btn-primary{background-color:#3490dc;border-color:#3490dc;color:#fff}.btn-primary.focus,.btn-primary:focus,.btn-primary:hover{background-color:#227dc7;border-color:#2176bd;color:#fff}.btn-primary.focus,.btn-primary:focus{box-shadow:0 0 0 .2rem rgba(82,161,225,.5)}.btn-primary.disabled,.btn-primary:disabled{background-color:#3490dc;border-color:#3490dc;color:#fff}.btn-primary:not(:disabled):not(.disabled).active,.btn-primary:not(:disabled):not(.disabled):active,.show>.btn-primary.dropdown-toggle{background-color:#2176bd;border-color:#1f6fb2;color:#fff}.btn-primary:not(:disabled):not(.disabled).active:focus,.btn-primary:not(:disabled):not(.disabled):active:focus,.show>.btn-primary.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(82,161,225,.5)}.btn-secondary{background-color:#6c757d;border-color:#6c757d;color:#fff}.btn-secondary.focus,.btn-secondary:focus,.btn-secondary:hover{background-color:#5a6268;border-color:#545b62;color:#fff}.btn-secondary.focus,.btn-secondary:focus{box-shadow:0 0 0 .2rem hsla(208,6%,54%,.5)}.btn-secondary.disabled,.btn-secondary:disabled{background-color:#6c757d;border-color:#6c757d;color:#fff}.btn-secondary:not(:disabled):not(.disabled).active,.btn-secondary:not(:disabled):not(.disabled):active,.show>.btn-secondary.dropdown-toggle{background-color:#545b62;border-color:#4e555b;color:#fff}.btn-secondary:not(:disabled):not(.disabled).active:focus,.btn-secondary:not(:disabled):not(.disabled):active:focus,.show>.btn-secondary.dropdown-toggle:focus{box-shadow:0 0 0 .2rem hsla(208,6%,54%,.5)}.btn-success{background-color:#38c172;border-color:#38c172;color:#fff}.btn-success.focus,.btn-success:focus,.btn-success:hover{background-color:#2fa360;border-color:#2d995b;color:#fff}.btn-success.focus,.btn-success:focus{box-shadow:0 0 0 .2rem rgba(86,202,135,.5)}.btn-success.disabled,.btn-success:disabled{background-color:#38c172;border-color:#38c172;color:#fff}.btn-success:not(:disabled):not(.disabled).active,.btn-success:not(:disabled):not(.disabled):active,.show>.btn-success.dropdown-toggle{background-color:#2d995b;border-color:#2a9055;color:#fff}.btn-success:not(:disabled):not(.disabled).active:focus,.btn-success:not(:disabled):not(.disabled):active:focus,.show>.btn-success.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(86,202,135,.5)}.btn-info{background-color:#6cb2eb;border-color:#6cb2eb;color:#212529}.btn-info.focus,.btn-info:focus,.btn-info:hover{background-color:#4aa0e6;border-color:#3f9ae5;color:#fff}.btn-info.focus,.btn-info:focus{box-shadow:0 0 0 .2rem rgba(97,157,206,.5)}.btn-info.disabled,.btn-info:disabled{background-color:#6cb2eb;border-color:#6cb2eb;color:#212529}.btn-info:not(:disabled):not(.disabled).active,.btn-info:not(:disabled):not(.disabled):active,.show>.btn-info.dropdown-toggle{background-color:#3f9ae5;border-color:#3495e3;color:#fff}.btn-info:not(:disabled):not(.disabled).active:focus,.btn-info:not(:disabled):not(.disabled):active:focus,.show>.btn-info.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(97,157,206,.5)}.btn-warning{background-color:#ffed4a;border-color:#ffed4a;color:#212529}.btn-warning.focus,.btn-warning:focus,.btn-warning:hover{background-color:#ffe924;border-color:#ffe817;color:#212529}.btn-warning.focus,.btn-warning:focus{box-shadow:0 0 0 .2rem rgba(222,207,69,.5)}.btn-warning.disabled,.btn-warning:disabled{background-color:#ffed4a;border-color:#ffed4a;color:#212529}.btn-warning:not(:disabled):not(.disabled).active,.btn-warning:not(:disabled):not(.disabled):active,.show>.btn-warning.dropdown-toggle{background-color:#ffe817;border-color:#ffe70a;color:#212529}.btn-warning:not(:disabled):not(.disabled).active:focus,.btn-warning:not(:disabled):not(.disabled):active:focus,.show>.btn-warning.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(222,207,69,.5)}.btn-danger{background-color:#e3342f;border-color:#e3342f;color:#fff}.btn-danger.focus,.btn-danger:focus,.btn-danger:hover{background-color:#d0211c;border-color:#c51f1a;color:#fff}.btn-danger.focus,.btn-danger:focus{box-shadow:0 0 0 .2rem rgba(231,82,78,.5)}.btn-danger.disabled,.btn-danger:disabled{background-color:#e3342f;border-color:#e3342f;color:#fff}.btn-danger:not(:disabled):not(.disabled).active,.btn-danger:not(:disabled):not(.disabled):active,.show>.btn-danger.dropdown-toggle{background-color:#c51f1a;border-color:#b91d19;color:#fff}.btn-danger:not(:disabled):not(.disabled).active:focus,.btn-danger:not(:disabled):not(.disabled):active:focus,.show>.btn-danger.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(231,82,78,.5)}.btn-light{background-color:#f8f9fa;border-color:#f8f9fa;color:#212529}.btn-light.focus,.btn-light:focus,.btn-light:hover{background-color:#e2e6ea;border-color:#dae0e5;color:#212529}.btn-light.focus,.btn-light:focus{box-shadow:0 0 0 .2rem hsla(220,4%,85%,.5)}.btn-light.disabled,.btn-light:disabled{background-color:#f8f9fa;border-color:#f8f9fa;color:#212529}.btn-light:not(:disabled):not(.disabled).active,.btn-light:not(:disabled):not(.disabled):active,.show>.btn-light.dropdown-toggle{background-color:#dae0e5;border-color:#d3d9df;color:#212529}.btn-light:not(:disabled):not(.disabled).active:focus,.btn-light:not(:disabled):not(.disabled):active:focus,.show>.btn-light.dropdown-toggle:focus{box-shadow:0 0 0 .2rem hsla(220,4%,85%,.5)}.btn-dark{background-color:#343a40;border-color:#343a40;color:#fff}.btn-dark.focus,.btn-dark:focus,.btn-dark:hover{background-color:#23272b;border-color:#1d2124;color:#fff}.btn-dark.focus,.btn-dark:focus{box-shadow:0 0 0 .2rem rgba(82,88,93,.5)}.btn-dark.disabled,.btn-dark:disabled{background-color:#343a40;border-color:#343a40;color:#fff}.btn-dark:not(:disabled):not(.disabled).active,.btn-dark:not(:disabled):not(.disabled):active,.show>.btn-dark.dropdown-toggle{background-color:#1d2124;border-color:#171a1d;color:#fff}.btn-dark:not(:disabled):not(.disabled).active:focus,.btn-dark:not(:disabled):not(.disabled):active:focus,.show>.btn-dark.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(82,88,93,.5)}.btn-outline-primary{border-color:#3490dc;color:#3490dc}.btn-outline-primary:hover{background-color:#3490dc;border-color:#3490dc;color:#fff}.btn-outline-primary.focus,.btn-outline-primary:focus{box-shadow:0 0 0 .2rem rgba(52,144,220,.5)}.btn-outline-primary.disabled,.btn-outline-primary:disabled{background-color:transparent;color:#3490dc}.btn-outline-primary:not(:disabled):not(.disabled).active,.btn-outline-primary:not(:disabled):not(.disabled):active,.show>.btn-outline-primary.dropdown-toggle{background-color:#3490dc;border-color:#3490dc;color:#fff}.btn-outline-primary:not(:disabled):not(.disabled).active:focus,.btn-outline-primary:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-primary.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(52,144,220,.5)}.btn-outline-secondary{border-color:#6c757d;color:#6c757d}.btn-outline-secondary:hover{background-color:#6c757d;border-color:#6c757d;color:#fff}.btn-outline-secondary.focus,.btn-outline-secondary:focus{box-shadow:0 0 0 .2rem hsla(208,7%,46%,.5)}.btn-outline-secondary.disabled,.btn-outline-secondary:disabled{background-color:transparent;color:#6c757d}.btn-outline-secondary:not(:disabled):not(.disabled).active,.btn-outline-secondary:not(:disabled):not(.disabled):active,.show>.btn-outline-secondary.dropdown-toggle{background-color:#6c757d;border-color:#6c757d;color:#fff}.btn-outline-secondary:not(:disabled):not(.disabled).active:focus,.btn-outline-secondary:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-secondary.dropdown-toggle:focus{box-shadow:0 0 0 .2rem hsla(208,7%,46%,.5)}.btn-outline-success{border-color:#38c172;color:#38c172}.btn-outline-success:hover{background-color:#38c172;border-color:#38c172;color:#fff}.btn-outline-success.focus,.btn-outline-success:focus{box-shadow:0 0 0 .2rem rgba(56,193,114,.5)}.btn-outline-success.disabled,.btn-outline-success:disabled{background-color:transparent;color:#38c172}.btn-outline-success:not(:disabled):not(.disabled).active,.btn-outline-success:not(:disabled):not(.disabled):active,.show>.btn-outline-success.dropdown-toggle{background-color:#38c172;border-color:#38c172;color:#fff}.btn-outline-success:not(:disabled):not(.disabled).active:focus,.btn-outline-success:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-success.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(56,193,114,.5)}.btn-outline-info{border-color:#6cb2eb;color:#6cb2eb}.btn-outline-info:hover{background-color:#6cb2eb;border-color:#6cb2eb;color:#212529}.btn-outline-info.focus,.btn-outline-info:focus{box-shadow:0 0 0 .2rem rgba(108,178,235,.5)}.btn-outline-info.disabled,.btn-outline-info:disabled{background-color:transparent;color:#6cb2eb}.btn-outline-info:not(:disabled):not(.disabled).active,.btn-outline-info:not(:disabled):not(.disabled):active,.show>.btn-outline-info.dropdown-toggle{background-color:#6cb2eb;border-color:#6cb2eb;color:#212529}.btn-outline-info:not(:disabled):not(.disabled).active:focus,.btn-outline-info:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-info.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(108,178,235,.5)}.btn-outline-warning{border-color:#ffed4a;color:#ffed4a}.btn-outline-warning:hover{background-color:#ffed4a;border-color:#ffed4a;color:#212529}.btn-outline-warning.focus,.btn-outline-warning:focus{box-shadow:0 0 0 .2rem rgba(255,237,74,.5)}.btn-outline-warning.disabled,.btn-outline-warning:disabled{background-color:transparent;color:#ffed4a}.btn-outline-warning:not(:disabled):not(.disabled).active,.btn-outline-warning:not(:disabled):not(.disabled):active,.show>.btn-outline-warning.dropdown-toggle{background-color:#ffed4a;border-color:#ffed4a;color:#212529}.btn-outline-warning:not(:disabled):not(.disabled).active:focus,.btn-outline-warning:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-warning.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(255,237,74,.5)}.btn-outline-danger{border-color:#e3342f;color:#e3342f}.btn-outline-danger:hover{background-color:#e3342f;border-color:#e3342f;color:#fff}.btn-outline-danger.focus,.btn-outline-danger:focus{box-shadow:0 0 0 .2rem rgba(227,52,47,.5)}.btn-outline-danger.disabled,.btn-outline-danger:disabled{background-color:transparent;color:#e3342f}.btn-outline-danger:not(:disabled):not(.disabled).active,.btn-outline-danger:not(:disabled):not(.disabled):active,.show>.btn-outline-danger.dropdown-toggle{background-color:#e3342f;border-color:#e3342f;color:#fff}.btn-outline-danger:not(:disabled):not(.disabled).active:focus,.btn-outline-danger:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-danger.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(227,52,47,.5)}.btn-outline-light{border-color:#f8f9fa;color:#f8f9fa}.btn-outline-light:hover{background-color:#f8f9fa;border-color:#f8f9fa;color:#212529}.btn-outline-light.focus,.btn-outline-light:focus{box-shadow:0 0 0 .2rem rgba(248,249,250,.5)}.btn-outline-light.disabled,.btn-outline-light:disabled{background-color:transparent;color:#f8f9fa}.btn-outline-light:not(:disabled):not(.disabled).active,.btn-outline-light:not(:disabled):not(.disabled):active,.show>.btn-outline-light.dropdown-toggle{background-color:#f8f9fa;border-color:#f8f9fa;color:#212529}.btn-outline-light:not(:disabled):not(.disabled).active:focus,.btn-outline-light:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-light.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(248,249,250,.5)}.btn-outline-dark{border-color:#343a40;color:#343a40}.btn-outline-dark:hover{background-color:#343a40;border-color:#343a40;color:#fff}.btn-outline-dark.focus,.btn-outline-dark:focus{box-shadow:0 0 0 .2rem rgba(52,58,64,.5)}.btn-outline-dark.disabled,.btn-outline-dark:disabled{background-color:transparent;color:#343a40}.btn-outline-dark:not(:disabled):not(.disabled).active,.btn-outline-dark:not(:disabled):not(.disabled):active,.show>.btn-outline-dark.dropdown-toggle{background-color:#343a40;border-color:#343a40;color:#fff}.btn-outline-dark:not(:disabled):not(.disabled).active:focus,.btn-outline-dark:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-dark.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(52,58,64,.5)}.btn-link{color:#3490dc;font-weight:400;text-decoration:none}.btn-link:hover{color:#1d68a7}.btn-link.focus,.btn-link:focus,.btn-link:hover{text-decoration:underline}.btn-link.disabled,.btn-link:disabled{color:#6c757d;pointer-events:none}.btn-group-lg>.btn,.btn-lg{border-radius:.3rem;font-size:1.125rem;line-height:1.5;padding:.5rem 1rem}.btn-group-sm>.btn,.btn-sm{border-radius:.2rem;font-size:.7875rem;line-height:1.5;padding:.25rem .5rem}.btn-block{display:block;width:100%}.btn-block+.btn-block{margin-top:.5rem}input[type=button].btn-block,input[type=reset].btn-block,input[type=submit].btn-block{width:100%}.fade{transition:opacity .15s linear}@media (prefers-reduced-motion:reduce){.fade{transition:none}}.fade:not(.show){opacity:0}.collapse:not(.show){display:none}.collapsing{height:0;overflow:hidden;position:relative;transition:height .35s ease}@media (prefers-reduced-motion:reduce){.collapsing{transition:none}}.dropdown,.dropleft,.dropright,.dropup{position:relative}.dropdown-toggle{white-space:nowrap}.dropdown-toggle:after{border-bottom:0;border-left:.3em solid transparent;border-right:.3em solid transparent;border-top:.3em solid;content:"";display:inline-block;margin-left:.255em;vertical-align:.255em}.dropdown-toggle:empty:after{margin-left:0}.dropdown-menu{background-clip:padding-box;background-color:#fff;border:1px solid rgba(0,0,0,.15);border-radius:.25rem;color:#212529;display:none;float:left;font-size:.9rem;left:0;list-style:none;margin:.125rem 0 0;min-width:10rem;padding:.5rem 0;position:absolute;text-align:left;top:100%;z-index:1000}.dropdown-menu-left{left:0;right:auto}.dropdown-menu-right{left:auto;right:0}@media (min-width:576px){.dropdown-menu-sm-left{left:0;right:auto}.dropdown-menu-sm-right{left:auto;right:0}}@media (min-width:768px){.dropdown-menu-md-left{left:0;right:auto}.dropdown-menu-md-right{left:auto;right:0}}@media (min-width:992px){.dropdown-menu-lg-left{left:0;right:auto}.dropdown-menu-lg-right{left:auto;right:0}}@media (min-width:1200px){.dropdown-menu-xl-left{left:0;right:auto}.dropdown-menu-xl-right{left:auto;right:0}}.dropup .dropdown-menu{bottom:100%;margin-bottom:.125rem;margin-top:0;top:auto}.dropup .dropdown-toggle:after{border-bottom:.3em solid;border-left:.3em solid transparent;border-right:.3em solid transparent;border-top:0;content:"";display:inline-block;margin-left:.255em;vertical-align:.255em}.dropup .dropdown-toggle:empty:after{margin-left:0}.dropright .dropdown-menu{left:100%;margin-left:.125rem;margin-top:0;right:auto;top:0}.dropright .dropdown-toggle:after{border-bottom:.3em solid transparent;border-left:.3em solid;border-right:0;border-top:.3em solid transparent;content:"";display:inline-block;margin-left:.255em;vertical-align:.255em}.dropright .dropdown-toggle:empty:after{margin-left:0}.dropright .dropdown-toggle:after{vertical-align:0}.dropleft .dropdown-menu{left:auto;margin-right:.125rem;margin-top:0;right:100%;top:0}.dropleft .dropdown-toggle:after{content:"";display:inline-block;display:none;margin-left:.255em;vertical-align:.255em}.dropleft .dropdown-toggle:before{border-bottom:.3em solid transparent;border-right:.3em solid;border-top:.3em solid transparent;content:"";display:inline-block;margin-right:.255em;vertical-align:.255em}.dropleft .dropdown-toggle:empty:after{margin-left:0}.dropleft .dropdown-toggle:before{vertical-align:0}.dropdown-menu[x-placement^=bottom],.dropdown-menu[x-placement^=left],.dropdown-menu[x-placement^=right],.dropdown-menu[x-placement^=top]{bottom:auto;right:auto}.dropdown-divider{border-top:1px solid #e9ecef;height:0;margin:.5rem 0;overflow:hidden}.dropdown-item{background-color:transparent;border:0;clear:both;color:#212529;display:block;font-weight:400;padding:.25rem 1.5rem;text-align:inherit;white-space:nowrap;width:100%}.dropdown-item:focus,.dropdown-item:hover{background-color:#e9ecef;color:#16181b;text-decoration:none}.dropdown-item.active,.dropdown-item:active{background-color:#3490dc;color:#fff;text-decoration:none}.dropdown-item.disabled,.dropdown-item:disabled{background-color:transparent;color:#adb5bd;pointer-events:none}.dropdown-menu.show{display:block}.dropdown-header{color:#6c757d;display:block;font-size:.7875rem;margin-bottom:0;padding:.5rem 1.5rem;white-space:nowrap}.dropdown-item-text{color:#212529;display:block;padding:.25rem 1.5rem}.btn-group,.btn-group-vertical{display:inline-flex;position:relative;vertical-align:middle}.btn-group-vertical>.btn,.btn-group>.btn{flex:1 1 auto;position:relative}.btn-group-vertical>.btn.active,.btn-group-vertical>.btn:active,.btn-group-vertical>.btn:focus,.btn-group-vertical>.btn:hover,.btn-group>.btn.active,.btn-group>.btn:active,.btn-group>.btn:focus,.btn-group>.btn:hover{z-index:1}.btn-toolbar{display:flex;flex-wrap:wrap;justify-content:flex-start}.btn-toolbar .input-group{width:auto}.btn-group>.btn-group:not(:first-child),.btn-group>.btn:not(:first-child){margin-left:-1px}.btn-group>.btn-group:not(:last-child)>.btn,.btn-group>.btn:not(:last-child):not(.dropdown-toggle){border-bottom-right-radius:0;border-top-right-radius:0}.btn-group>.btn-group:not(:first-child)>.btn,.btn-group>.btn:not(:first-child){border-bottom-left-radius:0;border-top-left-radius:0}.dropdown-toggle-split{padding-left:.5625rem;padding-right:.5625rem}.dropdown-toggle-split:after,.dropright .dropdown-toggle-split:after,.dropup .dropdown-toggle-split:after{margin-left:0}.dropleft .dropdown-toggle-split:before{margin-right:0}.btn-group-sm>.btn+.dropdown-toggle-split,.btn-sm+.dropdown-toggle-split{padding-left:.375rem;padding-right:.375rem}.btn-group-lg>.btn+.dropdown-toggle-split,.btn-lg+.dropdown-toggle-split{padding-left:.75rem;padding-right:.75rem}.btn-group-vertical{align-items:flex-start;flex-direction:column;justify-content:center}.btn-group-vertical>.btn,.btn-group-vertical>.btn-group{width:100%}.btn-group-vertical>.btn-group:not(:first-child),.btn-group-vertical>.btn:not(:first-child){margin-top:-1px}.btn-group-vertical>.btn-group:not(:last-child)>.btn,.btn-group-vertical>.btn:not(:last-child):not(.dropdown-toggle){border-bottom-left-radius:0;border-bottom-right-radius:0}.btn-group-vertical>.btn-group:not(:first-child)>.btn,.btn-group-vertical>.btn:not(:first-child){border-top-left-radius:0;border-top-right-radius:0}.btn-group-toggle>.btn,.btn-group-toggle>.btn-group>.btn{margin-bottom:0}.btn-group-toggle>.btn-group>.btn input[type=checkbox],.btn-group-toggle>.btn-group>.btn input[type=radio],.btn-group-toggle>.btn input[type=checkbox],.btn-group-toggle>.btn input[type=radio]{clip:rect(0,0,0,0);pointer-events:none;position:absolute}.input-group{align-items:stretch;display:flex;flex-wrap:wrap;position:relative;width:100%}.input-group>.custom-file,.input-group>.custom-select,.input-group>.form-control,.input-group>.form-control-plaintext{flex:1 1 auto;margin-bottom:0;min-width:0;position:relative;width:1%}.input-group>.custom-file+.custom-file,.input-group>.custom-file+.custom-select,.input-group>.custom-file+.form-control,.input-group>.custom-select+.custom-file,.input-group>.custom-select+.custom-select,.input-group>.custom-select+.form-control,.input-group>.form-control+.custom-file,.input-group>.form-control+.custom-select,.input-group>.form-control+.form-control,.input-group>.form-control-plaintext+.custom-file,.input-group>.form-control-plaintext+.custom-select,.input-group>.form-control-plaintext+.form-control{margin-left:-1px}.input-group>.custom-file .custom-file-input:focus~.custom-file-label,.input-group>.custom-select:focus,.input-group>.form-control:focus{z-index:3}.input-group>.custom-file .custom-file-input:focus{z-index:4}.input-group>.custom-select:not(:first-child),.input-group>.form-control:not(:first-child){border-bottom-left-radius:0;border-top-left-radius:0}.input-group>.custom-file{align-items:center;display:flex}.input-group>.custom-file:not(:last-child) .custom-file-label,.input-group>.custom-file:not(:last-child) .custom-file-label:after{border-bottom-right-radius:0;border-top-right-radius:0}.input-group>.custom-file:not(:first-child) .custom-file-label{border-bottom-left-radius:0;border-top-left-radius:0}.input-group.has-validation>.custom-file:nth-last-child(n+3) .custom-file-label,.input-group.has-validation>.custom-file:nth-last-child(n+3) .custom-file-label:after,.input-group.has-validation>.custom-select:nth-last-child(n+3),.input-group.has-validation>.form-control:nth-last-child(n+3),.input-group:not(.has-validation)>.custom-file:not(:last-child) .custom-file-label,.input-group:not(.has-validation)>.custom-file:not(:last-child) .custom-file-label:after,.input-group:not(.has-validation)>.custom-select:not(:last-child),.input-group:not(.has-validation)>.form-control:not(:last-child){border-bottom-right-radius:0;border-top-right-radius:0}.input-group-append,.input-group-prepend{display:flex}.input-group-append .btn,.input-group-prepend .btn{position:relative;z-index:2}.input-group-append .btn:focus,.input-group-prepend .btn:focus{z-index:3}.input-group-append .btn+.btn,.input-group-append .btn+.input-group-text,.input-group-append .input-group-text+.btn,.input-group-append .input-group-text+.input-group-text,.input-group-prepend .btn+.btn,.input-group-prepend .btn+.input-group-text,.input-group-prepend .input-group-text+.btn,.input-group-prepend .input-group-text+.input-group-text{margin-left:-1px}.input-group-prepend{margin-right:-1px}.input-group-append{margin-left:-1px}.input-group-text{align-items:center;background-color:#e9ecef;border:1px solid #ced4da;border-radius:.25rem;color:#495057;display:flex;font-size:.9rem;font-weight:400;line-height:1.6;margin-bottom:0;padding:.375rem .75rem;text-align:center;white-space:nowrap}.input-group-text input[type=checkbox],.input-group-text input[type=radio]{margin-top:0}.input-group-lg>.custom-select,.input-group-lg>.form-control:not(textarea){height:calc(1.5em + 1rem + 2px)}.input-group-lg>.custom-select,.input-group-lg>.form-control,.input-group-lg>.input-group-append>.btn,.input-group-lg>.input-group-append>.input-group-text,.input-group-lg>.input-group-prepend>.btn,.input-group-lg>.input-group-prepend>.input-group-text{border-radius:.3rem;font-size:1.125rem;line-height:1.5;padding:.5rem 1rem}.input-group-sm>.custom-select,.input-group-sm>.form-control:not(textarea){height:calc(1.5em + .5rem + 2px)}.input-group-sm>.custom-select,.input-group-sm>.form-control,.input-group-sm>.input-group-append>.btn,.input-group-sm>.input-group-append>.input-group-text,.input-group-sm>.input-group-prepend>.btn,.input-group-sm>.input-group-prepend>.input-group-text{border-radius:.2rem;font-size:.7875rem;line-height:1.5;padding:.25rem .5rem}.input-group-lg>.custom-select,.input-group-sm>.custom-select{padding-right:1.75rem}.input-group.has-validation>.input-group-append:nth-last-child(n+3)>.btn,.input-group.has-validation>.input-group-append:nth-last-child(n+3)>.input-group-text,.input-group:not(.has-validation)>.input-group-append:not(:last-child)>.btn,.input-group:not(.has-validation)>.input-group-append:not(:last-child)>.input-group-text,.input-group>.input-group-append:last-child>.btn:not(:last-child):not(.dropdown-toggle),.input-group>.input-group-append:last-child>.input-group-text:not(:last-child),.input-group>.input-group-prepend>.btn,.input-group>.input-group-prepend>.input-group-text{border-bottom-right-radius:0;border-top-right-radius:0}.input-group>.input-group-append>.btn,.input-group>.input-group-append>.input-group-text,.input-group>.input-group-prepend:first-child>.btn:not(:first-child),.input-group>.input-group-prepend:first-child>.input-group-text:not(:first-child),.input-group>.input-group-prepend:not(:first-child)>.btn,.input-group>.input-group-prepend:not(:first-child)>.input-group-text{border-bottom-left-radius:0;border-top-left-radius:0}.custom-control{-webkit-print-color-adjust:exact;color-adjust:exact;display:block;min-height:1.44rem;padding-left:1.5rem;position:relative;z-index:1}.custom-control-inline{display:inline-flex;margin-right:1rem}.custom-control-input{height:1.22rem;left:0;opacity:0;position:absolute;width:1rem;z-index:-1}.custom-control-input:checked~.custom-control-label:before{background-color:#3490dc;border-color:#3490dc;color:#fff}.custom-control-input:focus~.custom-control-label:before{box-shadow:0 0 0 .2rem rgba(52,144,220,.25)}.custom-control-input:focus:not(:checked)~.custom-control-label:before{border-color:#a1cbef}.custom-control-input:not(:disabled):active~.custom-control-label:before{background-color:#cce3f6;border-color:#cce3f6;color:#fff}.custom-control-input:disabled~.custom-control-label,.custom-control-input[disabled]~.custom-control-label{color:#6c757d}.custom-control-input:disabled~.custom-control-label:before,.custom-control-input[disabled]~.custom-control-label:before{background-color:#e9ecef}.custom-control-label{margin-bottom:0;position:relative;vertical-align:top}.custom-control-label:before{background-color:#fff;border:1px solid #adb5bd;pointer-events:none}.custom-control-label:after,.custom-control-label:before{content:"";display:block;height:1rem;left:-1.5rem;position:absolute;top:.22rem;width:1rem}.custom-control-label:after{background:50%/50% 50% no-repeat}.custom-checkbox .custom-control-label:before{border-radius:.25rem}.custom-checkbox .custom-control-input:checked~.custom-control-label:after{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='8' height='8'%3E%3Cpath fill='%23fff' d='m6.564.75-3.59 3.612-1.538-1.55L0 4.26l2.974 2.99L8 2.193z'/%3E%3C/svg%3E")}.custom-checkbox .custom-control-input:indeterminate~.custom-control-label:before{background-color:#3490dc;border-color:#3490dc}.custom-checkbox .custom-control-input:indeterminate~.custom-control-label:after{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='4' height='4'%3E%3Cpath stroke='%23fff' d='M0 2h4'/%3E%3C/svg%3E")}.custom-checkbox .custom-control-input:disabled:checked~.custom-control-label:before{background-color:rgba(52,144,220,.5)}.custom-checkbox .custom-control-input:disabled:indeterminate~.custom-control-label:before{background-color:rgba(52,144,220,.5)}.custom-radio .custom-control-label:before{border-radius:50%}.custom-radio .custom-control-input:checked~.custom-control-label:after{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='-4 -4 8 8'%3E%3Ccircle r='3' fill='%23fff'/%3E%3C/svg%3E")}.custom-radio .custom-control-input:disabled:checked~.custom-control-label:before{background-color:rgba(52,144,220,.5)}.custom-switch{padding-left:2.25rem}.custom-switch .custom-control-label:before{border-radius:.5rem;left:-2.25rem;pointer-events:all;width:1.75rem}.custom-switch .custom-control-label:after{background-color:#adb5bd;border-radius:.5rem;height:calc(1rem - 4px);left:calc(-2.25rem + 2px);top:calc(.22rem + 2px);transition:transform .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;width:calc(1rem - 4px)}@media (prefers-reduced-motion:reduce){.custom-switch .custom-control-label:after{transition:none}}.custom-switch .custom-control-input:checked~.custom-control-label:after{background-color:#fff;transform:translateX(.75rem)}.custom-switch .custom-control-input:disabled:checked~.custom-control-label:before{background-color:rgba(52,144,220,.5)}.custom-select{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:#fff url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='4' height='5'%3E%3Cpath fill='%23343a40' d='M2 0 0 2h4zm0 5L0 3h4z'/%3E%3C/svg%3E") right .75rem center/8px 10px no-repeat;border:1px solid #ced4da;border-radius:.25rem;color:#495057;display:inline-block;font-size:.9rem;font-weight:400;height:calc(1.6em + .75rem + 2px);line-height:1.6;padding:.375rem 1.75rem .375rem .75rem;vertical-align:middle;width:100%}.custom-select:focus{border-color:#a1cbef;box-shadow:0 0 0 .2rem rgba(52,144,220,.25);outline:0}.custom-select:focus::-ms-value{background-color:#fff;color:#495057}.custom-select[multiple],.custom-select[size]:not([size="1"]){background-image:none;height:auto;padding-right:.75rem}.custom-select:disabled{background-color:#e9ecef;color:#6c757d}.custom-select::-ms-expand{display:none}.custom-select:-moz-focusring{color:transparent;text-shadow:0 0 0 #495057}.custom-select-sm{font-size:.7875rem;height:calc(1.5em + .5rem + 2px);padding-bottom:.25rem;padding-left:.5rem;padding-top:.25rem}.custom-select-lg{font-size:1.125rem;height:calc(1.5em + 1rem + 2px);padding-bottom:.5rem;padding-left:1rem;padding-top:.5rem}.custom-file{display:inline-block;margin-bottom:0}.custom-file,.custom-file-input{height:calc(1.6em + .75rem + 2px);position:relative;width:100%}.custom-file-input{margin:0;opacity:0;overflow:hidden;z-index:2}.custom-file-input:focus~.custom-file-label{border-color:#a1cbef;box-shadow:0 0 0 .2rem rgba(52,144,220,.25)}.custom-file-input:disabled~.custom-file-label,.custom-file-input[disabled]~.custom-file-label{background-color:#e9ecef}.custom-file-input:lang(en)~.custom-file-label:after{content:"Browse"}.custom-file-input~.custom-file-label[data-browse]:after{content:attr(data-browse)}.custom-file-label{background-color:#fff;border:1px solid #ced4da;border-radius:.25rem;font-weight:400;height:calc(1.6em + .75rem + 2px);left:0;overflow:hidden;z-index:1}.custom-file-label,.custom-file-label:after{color:#495057;line-height:1.6;padding:.375rem .75rem;position:absolute;right:0;top:0}.custom-file-label:after{background-color:#e9ecef;border-left:inherit;border-radius:0 .25rem .25rem 0;bottom:0;content:"Browse";display:block;height:calc(1.6em + .75rem);z-index:3}.custom-range{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:transparent;height:1.4rem;padding:0;width:100%}.custom-range:focus{outline:0}.custom-range:focus::-webkit-slider-thumb{box-shadow:0 0 0 1px #f8fafc,0 0 0 .2rem rgba(52,144,220,.25)}.custom-range:focus::-moz-range-thumb{box-shadow:0 0 0 1px #f8fafc,0 0 0 .2rem rgba(52,144,220,.25)}.custom-range:focus::-ms-thumb{box-shadow:0 0 0 1px #f8fafc,0 0 0 .2rem rgba(52,144,220,.25)}.custom-range::-moz-focus-outer{border:0}.custom-range::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;background-color:#3490dc;border:0;border-radius:1rem;height:1rem;margin-top:-.25rem;-webkit-transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;width:1rem}@media (prefers-reduced-motion:reduce){.custom-range::-webkit-slider-thumb{-webkit-transition:none;transition:none}}.custom-range::-webkit-slider-thumb:active{background-color:#cce3f6}.custom-range::-webkit-slider-runnable-track{background-color:#dee2e6;border-color:transparent;border-radius:1rem;color:transparent;cursor:pointer;height:.5rem;width:100%}.custom-range::-moz-range-thumb{-moz-appearance:none;appearance:none;background-color:#3490dc;border:0;border-radius:1rem;height:1rem;-moz-transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;width:1rem}@media (prefers-reduced-motion:reduce){.custom-range::-moz-range-thumb{-moz-transition:none;transition:none}}.custom-range::-moz-range-thumb:active{background-color:#cce3f6}.custom-range::-moz-range-track{background-color:#dee2e6;border-color:transparent;border-radius:1rem;color:transparent;cursor:pointer;height:.5rem;width:100%}.custom-range::-ms-thumb{appearance:none;background-color:#3490dc;border:0;border-radius:1rem;height:1rem;margin-left:.2rem;margin-right:.2rem;margin-top:0;-ms-transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;width:1rem}@media (prefers-reduced-motion:reduce){.custom-range::-ms-thumb{-ms-transition:none;transition:none}}.custom-range::-ms-thumb:active{background-color:#cce3f6}.custom-range::-ms-track{background-color:transparent;border-color:transparent;border-width:.5rem;color:transparent;cursor:pointer;height:.5rem;width:100%}.custom-range::-ms-fill-lower,.custom-range::-ms-fill-upper{background-color:#dee2e6;border-radius:1rem}.custom-range::-ms-fill-upper{margin-right:15px}.custom-range:disabled::-webkit-slider-thumb{background-color:#adb5bd}.custom-range:disabled::-webkit-slider-runnable-track{cursor:default}.custom-range:disabled::-moz-range-thumb{background-color:#adb5bd}.custom-range:disabled::-moz-range-track{cursor:default}.custom-range:disabled::-ms-thumb{background-color:#adb5bd}.custom-control-label:before,.custom-file-label,.custom-select{transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.custom-control-label:before,.custom-file-label,.custom-select{transition:none}}.nav{display:flex;flex-wrap:wrap;list-style:none;margin-bottom:0;padding-left:0}.nav-link{display:block;padding:.5rem 1rem}.nav-link:focus,.nav-link:hover{text-decoration:none}.nav-link.disabled{color:#6c757d;cursor:default;pointer-events:none}.nav-tabs{border-bottom:1px solid #dee2e6}.nav-tabs .nav-link{border:1px solid transparent;border-top-left-radius:.25rem;border-top-right-radius:.25rem;margin-bottom:-1px}.nav-tabs .nav-link:focus,.nav-tabs .nav-link:hover{border-color:#e9ecef #e9ecef #dee2e6}.nav-tabs .nav-link.disabled{background-color:transparent;border-color:transparent;color:#6c757d}.nav-tabs .nav-item.show .nav-link,.nav-tabs .nav-link.active{background-color:#f8fafc;border-color:#dee2e6 #dee2e6 #f8fafc;color:#495057}.nav-tabs .dropdown-menu{border-top-left-radius:0;border-top-right-radius:0;margin-top:-1px}.nav-pills .nav-link{border-radius:.25rem}.nav-pills .nav-link.active,.nav-pills .show>.nav-link{background-color:#3490dc;color:#fff}.nav-fill .nav-item,.nav-fill>.nav-link{flex:1 1 auto;text-align:center}.nav-justified .nav-item,.nav-justified>.nav-link{flex-basis:0;flex-grow:1;text-align:center}.tab-content>.tab-pane{display:none}.tab-content>.active{display:block}.navbar{padding:.5rem 1rem;position:relative}.navbar,.navbar .container,.navbar .container-fluid,.navbar .container-lg,.navbar .container-md,.navbar .container-sm,.navbar .container-xl{align-items:center;display:flex;flex-wrap:wrap;justify-content:space-between}.navbar-brand{display:inline-block;font-size:1.125rem;line-height:inherit;margin-right:1rem;padding-bottom:.32rem;padding-top:.32rem;white-space:nowrap}.navbar-brand:focus,.navbar-brand:hover{text-decoration:none}.navbar-nav{display:flex;flex-direction:column;list-style:none;margin-bottom:0;padding-left:0}.navbar-nav .nav-link{padding-left:0;padding-right:0}.navbar-nav .dropdown-menu{float:none;position:static}.navbar-text{display:inline-block;padding-bottom:.5rem;padding-top:.5rem}.navbar-collapse{align-items:center;flex-basis:100%;flex-grow:1}.navbar-toggler{background-color:transparent;border:1px solid transparent;border-radius:.25rem;font-size:1.125rem;line-height:1;padding:.25rem .75rem}.navbar-toggler:focus,.navbar-toggler:hover{text-decoration:none}.navbar-toggler-icon{background:50%/100% 100% no-repeat;content:"";display:inline-block;height:1.5em;vertical-align:middle;width:1.5em}.navbar-nav-scroll{max-height:75vh;overflow-y:auto}@media (max-width:575.98px){.navbar-expand-sm>.container,.navbar-expand-sm>.container-fluid,.navbar-expand-sm>.container-lg,.navbar-expand-sm>.container-md,.navbar-expand-sm>.container-sm,.navbar-expand-sm>.container-xl{padding-left:0;padding-right:0}}@media (min-width:576px){.navbar-expand-sm{flex-flow:row nowrap;justify-content:flex-start}.navbar-expand-sm .navbar-nav{flex-direction:row}.navbar-expand-sm .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-sm .navbar-nav .nav-link{padding-left:.5rem;padding-right:.5rem}.navbar-expand-sm>.container,.navbar-expand-sm>.container-fluid,.navbar-expand-sm>.container-lg,.navbar-expand-sm>.container-md,.navbar-expand-sm>.container-sm,.navbar-expand-sm>.container-xl{flex-wrap:nowrap}.navbar-expand-sm .navbar-nav-scroll{overflow:visible}.navbar-expand-sm .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand-sm .navbar-toggler{display:none}}@media (max-width:767.98px){.navbar-expand-md>.container,.navbar-expand-md>.container-fluid,.navbar-expand-md>.container-lg,.navbar-expand-md>.container-md,.navbar-expand-md>.container-sm,.navbar-expand-md>.container-xl{padding-left:0;padding-right:0}}@media (min-width:768px){.navbar-expand-md{flex-flow:row nowrap;justify-content:flex-start}.navbar-expand-md .navbar-nav{flex-direction:row}.navbar-expand-md .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-md .navbar-nav .nav-link{padding-left:.5rem;padding-right:.5rem}.navbar-expand-md>.container,.navbar-expand-md>.container-fluid,.navbar-expand-md>.container-lg,.navbar-expand-md>.container-md,.navbar-expand-md>.container-sm,.navbar-expand-md>.container-xl{flex-wrap:nowrap}.navbar-expand-md .navbar-nav-scroll{overflow:visible}.navbar-expand-md .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand-md .navbar-toggler{display:none}}@media (max-width:991.98px){.navbar-expand-lg>.container,.navbar-expand-lg>.container-fluid,.navbar-expand-lg>.container-lg,.navbar-expand-lg>.container-md,.navbar-expand-lg>.container-sm,.navbar-expand-lg>.container-xl{padding-left:0;padding-right:0}}@media (min-width:992px){.navbar-expand-lg{flex-flow:row nowrap;justify-content:flex-start}.navbar-expand-lg .navbar-nav{flex-direction:row}.navbar-expand-lg .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-lg .navbar-nav .nav-link{padding-left:.5rem;padding-right:.5rem}.navbar-expand-lg>.container,.navbar-expand-lg>.container-fluid,.navbar-expand-lg>.container-lg,.navbar-expand-lg>.container-md,.navbar-expand-lg>.container-sm,.navbar-expand-lg>.container-xl{flex-wrap:nowrap}.navbar-expand-lg .navbar-nav-scroll{overflow:visible}.navbar-expand-lg .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand-lg .navbar-toggler{display:none}}@media (max-width:1199.98px){.navbar-expand-xl>.container,.navbar-expand-xl>.container-fluid,.navbar-expand-xl>.container-lg,.navbar-expand-xl>.container-md,.navbar-expand-xl>.container-sm,.navbar-expand-xl>.container-xl{padding-left:0;padding-right:0}}@media (min-width:1200px){.navbar-expand-xl{flex-flow:row nowrap;justify-content:flex-start}.navbar-expand-xl .navbar-nav{flex-direction:row}.navbar-expand-xl .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-xl .navbar-nav .nav-link{padding-left:.5rem;padding-right:.5rem}.navbar-expand-xl>.container,.navbar-expand-xl>.container-fluid,.navbar-expand-xl>.container-lg,.navbar-expand-xl>.container-md,.navbar-expand-xl>.container-sm,.navbar-expand-xl>.container-xl{flex-wrap:nowrap}.navbar-expand-xl .navbar-nav-scroll{overflow:visible}.navbar-expand-xl .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand-xl .navbar-toggler{display:none}}.navbar-expand{flex-flow:row nowrap;justify-content:flex-start}.navbar-expand>.container,.navbar-expand>.container-fluid,.navbar-expand>.container-lg,.navbar-expand>.container-md,.navbar-expand>.container-sm,.navbar-expand>.container-xl{padding-left:0;padding-right:0}.navbar-expand .navbar-nav{flex-direction:row}.navbar-expand .navbar-nav .dropdown-menu{position:absolute}.navbar-expand .navbar-nav .nav-link{padding-left:.5rem;padding-right:.5rem}.navbar-expand>.container,.navbar-expand>.container-fluid,.navbar-expand>.container-lg,.navbar-expand>.container-md,.navbar-expand>.container-sm,.navbar-expand>.container-xl{flex-wrap:nowrap}.navbar-expand .navbar-nav-scroll{overflow:visible}.navbar-expand .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand .navbar-toggler{display:none}.navbar-light .navbar-brand,.navbar-light .navbar-brand:focus,.navbar-light .navbar-brand:hover{color:rgba(0,0,0,.9)}.navbar-light .navbar-nav .nav-link{color:rgba(0,0,0,.5)}.navbar-light .navbar-nav .nav-link:focus,.navbar-light .navbar-nav .nav-link:hover{color:rgba(0,0,0,.7)}.navbar-light .navbar-nav .nav-link.disabled{color:rgba(0,0,0,.3)}.navbar-light .navbar-nav .active>.nav-link,.navbar-light .navbar-nav .nav-link.active,.navbar-light .navbar-nav .nav-link.show,.navbar-light .navbar-nav .show>.nav-link{color:rgba(0,0,0,.9)}.navbar-light .navbar-toggler{border-color:rgba(0,0,0,.1);color:rgba(0,0,0,.5)}.navbar-light .navbar-toggler-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='30' height='30'%3E%3Cpath stroke='rgba(0, 0, 0, 0.5)' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3E%3C/svg%3E")}.navbar-light .navbar-text{color:rgba(0,0,0,.5)}.navbar-light .navbar-text a,.navbar-light .navbar-text a:focus,.navbar-light .navbar-text a:hover{color:rgba(0,0,0,.9)}.navbar-dark .navbar-brand,.navbar-dark .navbar-brand:focus,.navbar-dark .navbar-brand:hover{color:#fff}.navbar-dark .navbar-nav .nav-link{color:hsla(0,0%,100%,.5)}.navbar-dark .navbar-nav .nav-link:focus,.navbar-dark .navbar-nav .nav-link:hover{color:hsla(0,0%,100%,.75)}.navbar-dark .navbar-nav .nav-link.disabled{color:hsla(0,0%,100%,.25)}.navbar-dark .navbar-nav .active>.nav-link,.navbar-dark .navbar-nav .nav-link.active,.navbar-dark .navbar-nav .nav-link.show,.navbar-dark .navbar-nav .show>.nav-link{color:#fff}.navbar-dark .navbar-toggler{border-color:hsla(0,0%,100%,.1);color:hsla(0,0%,100%,.5)}.navbar-dark .navbar-toggler-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='30' height='30'%3E%3Cpath stroke='rgba(255, 255, 255, 0.5)' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3E%3C/svg%3E")}.navbar-dark .navbar-text{color:hsla(0,0%,100%,.5)}.navbar-dark .navbar-text a,.navbar-dark .navbar-text a:focus,.navbar-dark .navbar-text a:hover{color:#fff}.card{word-wrap:break-word;background-clip:border-box;background-color:#fff;border:1px solid rgba(0,0,0,.125);border-radius:.25rem;display:flex;flex-direction:column;min-width:0;position:relative}.card>hr{margin-left:0;margin-right:0}.card>.list-group{border-bottom:inherit;border-top:inherit}.card>.list-group:first-child{border-top-left-radius:calc(.25rem - 1px);border-top-right-radius:calc(.25rem - 1px);border-top-width:0}.card>.list-group:last-child{border-bottom-left-radius:calc(.25rem - 1px);border-bottom-right-radius:calc(.25rem - 1px);border-bottom-width:0}.card>.card-header+.list-group,.card>.list-group+.card-footer{border-top:0}.card-body{flex:1 1 auto;min-height:1px;padding:1.25rem}.card-title{margin-bottom:.75rem}.card-subtitle{margin-top:-.375rem}.card-subtitle,.card-text:last-child{margin-bottom:0}.card-link:hover{text-decoration:none}.card-link+.card-link{margin-left:1.25rem}.card-header{background-color:rgba(0,0,0,.03);border-bottom:1px solid rgba(0,0,0,.125);margin-bottom:0;padding:.75rem 1.25rem}.card-header:first-child{border-radius:calc(.25rem - 1px) calc(.25rem - 1px) 0 0}.card-footer{background-color:rgba(0,0,0,.03);border-top:1px solid rgba(0,0,0,.125);padding:.75rem 1.25rem}.card-footer:last-child{border-radius:0 0 calc(.25rem - 1px) calc(.25rem - 1px)}.card-header-tabs{border-bottom:0;margin-bottom:-.75rem}.card-header-pills,.card-header-tabs{margin-left:-.625rem;margin-right:-.625rem}.card-img-overlay{border-radius:calc(.25rem - 1px);bottom:0;left:0;padding:1.25rem;position:absolute;right:0;top:0}.card-img,.card-img-bottom,.card-img-top{flex-shrink:0;width:100%}.card-img,.card-img-top{border-top-left-radius:calc(.25rem - 1px);border-top-right-radius:calc(.25rem - 1px)}.card-img,.card-img-bottom{border-bottom-left-radius:calc(.25rem - 1px);border-bottom-right-radius:calc(.25rem - 1px)}.card-deck .card{margin-bottom:15px}@media (min-width:576px){.card-deck{display:flex;flex-flow:row wrap;margin-left:-15px;margin-right:-15px}.card-deck .card{flex:1 0 0%;margin-bottom:0;margin-left:15px;margin-right:15px}}.card-group>.card{margin-bottom:15px}@media (min-width:576px){.card-group{display:flex;flex-flow:row wrap}.card-group>.card{flex:1 0 0%;margin-bottom:0}.card-group>.card+.card{border-left:0;margin-left:0}.card-group>.card:not(:last-child){border-bottom-right-radius:0;border-top-right-radius:0}.card-group>.card:not(:last-child) .card-header,.card-group>.card:not(:last-child) .card-img-top{border-top-right-radius:0}.card-group>.card:not(:last-child) .card-footer,.card-group>.card:not(:last-child) .card-img-bottom{border-bottom-right-radius:0}.card-group>.card:not(:first-child){border-bottom-left-radius:0;border-top-left-radius:0}.card-group>.card:not(:first-child) .card-header,.card-group>.card:not(:first-child) .card-img-top{border-top-left-radius:0}.card-group>.card:not(:first-child) .card-footer,.card-group>.card:not(:first-child) .card-img-bottom{border-bottom-left-radius:0}}.card-columns .card{margin-bottom:.75rem}@media (min-width:576px){.card-columns{-moz-column-count:3;column-count:3;-moz-column-gap:1.25rem;column-gap:1.25rem;orphans:1;widows:1}.card-columns .card{display:inline-block;width:100%}}.accordion{overflow-anchor:none}.accordion>.card{overflow:hidden}.accordion>.card:not(:last-of-type){border-bottom:0;border-bottom-left-radius:0;border-bottom-right-radius:0}.accordion>.card:not(:first-of-type){border-top-left-radius:0;border-top-right-radius:0}.accordion>.card>.card-header{border-radius:0;margin-bottom:-1px}.breadcrumb{background-color:#e9ecef;border-radius:.25rem;display:flex;flex-wrap:wrap;list-style:none;margin-bottom:1rem;padding:.75rem 1rem}.breadcrumb-item+.breadcrumb-item{padding-left:.5rem}.breadcrumb-item+.breadcrumb-item:before{color:#6c757d;content:"/";float:left;padding-right:.5rem}.breadcrumb-item+.breadcrumb-item:hover:before{text-decoration:underline;text-decoration:none}.breadcrumb-item.active{color:#6c757d}.pagination{border-radius:.25rem;display:flex;list-style:none;padding-left:0}.page-link{background-color:#fff;border:1px solid #dee2e6;color:#3490dc;display:block;line-height:1.25;margin-left:-1px;padding:.5rem .75rem;position:relative}.page-link:hover{background-color:#e9ecef;border-color:#dee2e6;color:#1d68a7;text-decoration:none;z-index:2}.page-link:focus{box-shadow:0 0 0 .2rem rgba(52,144,220,.25);outline:0;z-index:3}.page-item:first-child .page-link{border-bottom-left-radius:.25rem;border-top-left-radius:.25rem;margin-left:0}.page-item:last-child .page-link{border-bottom-right-radius:.25rem;border-top-right-radius:.25rem}.page-item.active .page-link{background-color:#3490dc;border-color:#3490dc;color:#fff;z-index:3}.page-item.disabled .page-link{background-color:#fff;border-color:#dee2e6;color:#6c757d;cursor:auto;pointer-events:none}.pagination-lg .page-link{font-size:1.125rem;line-height:1.5;padding:.75rem 1.5rem}.pagination-lg .page-item:first-child .page-link{border-bottom-left-radius:.3rem;border-top-left-radius:.3rem}.pagination-lg .page-item:last-child .page-link{border-bottom-right-radius:.3rem;border-top-right-radius:.3rem}.pagination-sm .page-link{font-size:.7875rem;line-height:1.5;padding:.25rem .5rem}.pagination-sm .page-item:first-child .page-link{border-bottom-left-radius:.2rem;border-top-left-radius:.2rem}.pagination-sm .page-item:last-child .page-link{border-bottom-right-radius:.2rem;border-top-right-radius:.2rem}.badge{border-radius:.25rem;display:inline-block;font-size:75%;font-weight:700;line-height:1;padding:.25em .4em;text-align:center;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;vertical-align:baseline;white-space:nowrap}@media (prefers-reduced-motion:reduce){.badge{transition:none}}a.badge:focus,a.badge:hover{text-decoration:none}.badge:empty{display:none}.btn .badge{position:relative;top:-1px}.badge-pill{border-radius:10rem;padding-left:.6em;padding-right:.6em}.badge-primary{background-color:#3490dc;color:#fff}a.badge-primary:focus,a.badge-primary:hover{background-color:#2176bd;color:#fff}a.badge-primary.focus,a.badge-primary:focus{box-shadow:0 0 0 .2rem rgba(52,144,220,.5);outline:0}.badge-secondary{background-color:#6c757d;color:#fff}a.badge-secondary:focus,a.badge-secondary:hover{background-color:#545b62;color:#fff}a.badge-secondary.focus,a.badge-secondary:focus{box-shadow:0 0 0 .2rem hsla(208,7%,46%,.5);outline:0}.badge-success{background-color:#38c172;color:#fff}a.badge-success:focus,a.badge-success:hover{background-color:#2d995b;color:#fff}a.badge-success.focus,a.badge-success:focus{box-shadow:0 0 0 .2rem rgba(56,193,114,.5);outline:0}.badge-info{background-color:#6cb2eb;color:#212529}a.badge-info:focus,a.badge-info:hover{background-color:#3f9ae5;color:#212529}a.badge-info.focus,a.badge-info:focus{box-shadow:0 0 0 .2rem rgba(108,178,235,.5);outline:0}.badge-warning{background-color:#ffed4a;color:#212529}a.badge-warning:focus,a.badge-warning:hover{background-color:#ffe817;color:#212529}a.badge-warning.focus,a.badge-warning:focus{box-shadow:0 0 0 .2rem rgba(255,237,74,.5);outline:0}.badge-danger{background-color:#e3342f;color:#fff}a.badge-danger:focus,a.badge-danger:hover{background-color:#c51f1a;color:#fff}a.badge-danger.focus,a.badge-danger:focus{box-shadow:0 0 0 .2rem rgba(227,52,47,.5);outline:0}.badge-light{background-color:#f8f9fa;color:#212529}a.badge-light:focus,a.badge-light:hover{background-color:#dae0e5;color:#212529}a.badge-light.focus,a.badge-light:focus{box-shadow:0 0 0 .2rem rgba(248,249,250,.5);outline:0}.badge-dark{background-color:#343a40;color:#fff}a.badge-dark:focus,a.badge-dark:hover{background-color:#1d2124;color:#fff}a.badge-dark.focus,a.badge-dark:focus{box-shadow:0 0 0 .2rem rgba(52,58,64,.5);outline:0}.jumbotron{background-color:#e9ecef;border-radius:.3rem;margin-bottom:2rem;padding:2rem 1rem}@media (min-width:576px){.jumbotron{padding:4rem 2rem}}.jumbotron-fluid{border-radius:0;padding-left:0;padding-right:0}.alert{border:1px solid transparent;border-radius:.25rem;margin-bottom:1rem;padding:.75rem 1.25rem;position:relative}.alert-heading{color:inherit}.alert-link{font-weight:700}.alert-dismissible{padding-right:3.85rem}.alert-dismissible .close{color:inherit;padding:.75rem 1.25rem;position:absolute;right:0;top:0;z-index:2}.alert-primary{background-color:#d6e9f8;border-color:#c6e0f5;color:#1b4b72}.alert-primary hr{border-top-color:#b0d4f1}.alert-primary .alert-link{color:#113049}.alert-secondary{background-color:#e2e3e5;border-color:#d6d8db;color:#383d41}.alert-secondary hr{border-top-color:#c8cbcf}.alert-secondary .alert-link{color:#202326}.alert-success{background-color:#d7f3e3;border-color:#c7eed8;color:#1d643b}.alert-success hr{border-top-color:#b3e8ca}.alert-success .alert-link{color:#123c24}.alert-info{background-color:#e2f0fb;border-color:#d6e9f9;color:#385d7a}.alert-info hr{border-top-color:#c0ddf6}.alert-info .alert-link{color:#284257}.alert-warning{background-color:#fffbdb;border-color:#fffacc;color:#857b26}.alert-warning hr{border-top-color:#fff8b3}.alert-warning .alert-link{color:#5d561b}.alert-danger{background-color:#f9d6d5;border-color:#f7c6c5;color:#761b18}.alert-danger hr{border-top-color:#f4b0af}.alert-danger .alert-link{color:#4c110f}.alert-light{background-color:#fefefe;border-color:#fdfdfe;color:#818182}.alert-light hr{border-top-color:#ececf6}.alert-light .alert-link{color:#686868}.alert-dark{background-color:#d6d8d9;border-color:#c6c8ca;color:#1b1e21}.alert-dark hr{border-top-color:#b9bbbe}.alert-dark .alert-link{color:#040505}@-webkit-keyframes progress-bar-stripes{0%{background-position:1rem 0}to{background-position:0 0}}@keyframes progress-bar-stripes{0%{background-position:1rem 0}to{background-position:0 0}}.progress{background-color:#e9ecef;border-radius:.25rem;font-size:.675rem;height:1rem;line-height:0}.progress,.progress-bar{display:flex;overflow:hidden}.progress-bar{background-color:#3490dc;color:#fff;flex-direction:column;justify-content:center;text-align:center;transition:width .6s ease;white-space:nowrap}@media (prefers-reduced-motion:reduce){.progress-bar{transition:none}}.progress-bar-striped{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent);background-size:1rem 1rem}.progress-bar-animated{-webkit-animation:progress-bar-stripes 1s linear infinite;animation:progress-bar-stripes 1s linear infinite}@media (prefers-reduced-motion:reduce){.progress-bar-animated{-webkit-animation:none;animation:none}}.media{align-items:flex-start;display:flex}.media-body{flex:1}.list-group{border-radius:.25rem;display:flex;flex-direction:column;margin-bottom:0;padding-left:0}.list-group-item-action{color:#495057;text-align:inherit;width:100%}.list-group-item-action:focus,.list-group-item-action:hover{background-color:#f8f9fa;color:#495057;text-decoration:none;z-index:1}.list-group-item-action:active{background-color:#e9ecef;color:#212529}.list-group-item{background-color:#fff;border:1px solid rgba(0,0,0,.125);display:block;padding:.75rem 1.25rem;position:relative}.list-group-item:first-child{border-top-left-radius:inherit;border-top-right-radius:inherit}.list-group-item:last-child{border-bottom-left-radius:inherit;border-bottom-right-radius:inherit}.list-group-item.disabled,.list-group-item:disabled{background-color:#fff;color:#6c757d;pointer-events:none}.list-group-item.active{background-color:#3490dc;border-color:#3490dc;color:#fff;z-index:2}.list-group-item+.list-group-item{border-top-width:0}.list-group-item+.list-group-item.active{border-top-width:1px;margin-top:-1px}.list-group-horizontal{flex-direction:row}.list-group-horizontal>.list-group-item:first-child{border-bottom-left-radius:.25rem;border-top-right-radius:0}.list-group-horizontal>.list-group-item:last-child{border-bottom-left-radius:0;border-top-right-radius:.25rem}.list-group-horizontal>.list-group-item.active{margin-top:0}.list-group-horizontal>.list-group-item+.list-group-item{border-left-width:0;border-top-width:1px}.list-group-horizontal>.list-group-item+.list-group-item.active{border-left-width:1px;margin-left:-1px}@media (min-width:576px){.list-group-horizontal-sm{flex-direction:row}.list-group-horizontal-sm>.list-group-item:first-child{border-bottom-left-radius:.25rem;border-top-right-radius:0}.list-group-horizontal-sm>.list-group-item:last-child{border-bottom-left-radius:0;border-top-right-radius:.25rem}.list-group-horizontal-sm>.list-group-item.active{margin-top:0}.list-group-horizontal-sm>.list-group-item+.list-group-item{border-left-width:0;border-top-width:1px}.list-group-horizontal-sm>.list-group-item+.list-group-item.active{border-left-width:1px;margin-left:-1px}}@media (min-width:768px){.list-group-horizontal-md{flex-direction:row}.list-group-horizontal-md>.list-group-item:first-child{border-bottom-left-radius:.25rem;border-top-right-radius:0}.list-group-horizontal-md>.list-group-item:last-child{border-bottom-left-radius:0;border-top-right-radius:.25rem}.list-group-horizontal-md>.list-group-item.active{margin-top:0}.list-group-horizontal-md>.list-group-item+.list-group-item{border-left-width:0;border-top-width:1px}.list-group-horizontal-md>.list-group-item+.list-group-item.active{border-left-width:1px;margin-left:-1px}}@media (min-width:992px){.list-group-horizontal-lg{flex-direction:row}.list-group-horizontal-lg>.list-group-item:first-child{border-bottom-left-radius:.25rem;border-top-right-radius:0}.list-group-horizontal-lg>.list-group-item:last-child{border-bottom-left-radius:0;border-top-right-radius:.25rem}.list-group-horizontal-lg>.list-group-item.active{margin-top:0}.list-group-horizontal-lg>.list-group-item+.list-group-item{border-left-width:0;border-top-width:1px}.list-group-horizontal-lg>.list-group-item+.list-group-item.active{border-left-width:1px;margin-left:-1px}}@media (min-width:1200px){.list-group-horizontal-xl{flex-direction:row}.list-group-horizontal-xl>.list-group-item:first-child{border-bottom-left-radius:.25rem;border-top-right-radius:0}.list-group-horizontal-xl>.list-group-item:last-child{border-bottom-left-radius:0;border-top-right-radius:.25rem}.list-group-horizontal-xl>.list-group-item.active{margin-top:0}.list-group-horizontal-xl>.list-group-item+.list-group-item{border-left-width:0;border-top-width:1px}.list-group-horizontal-xl>.list-group-item+.list-group-item.active{border-left-width:1px;margin-left:-1px}}.list-group-flush{border-radius:0}.list-group-flush>.list-group-item{border-width:0 0 1px}.list-group-flush>.list-group-item:last-child{border-bottom-width:0}.list-group-item-primary{background-color:#c6e0f5;color:#1b4b72}.list-group-item-primary.list-group-item-action:focus,.list-group-item-primary.list-group-item-action:hover{background-color:#b0d4f1;color:#1b4b72}.list-group-item-primary.list-group-item-action.active{background-color:#1b4b72;border-color:#1b4b72;color:#fff}.list-group-item-secondary{background-color:#d6d8db;color:#383d41}.list-group-item-secondary.list-group-item-action:focus,.list-group-item-secondary.list-group-item-action:hover{background-color:#c8cbcf;color:#383d41}.list-group-item-secondary.list-group-item-action.active{background-color:#383d41;border-color:#383d41;color:#fff}.list-group-item-success{background-color:#c7eed8;color:#1d643b}.list-group-item-success.list-group-item-action:focus,.list-group-item-success.list-group-item-action:hover{background-color:#b3e8ca;color:#1d643b}.list-group-item-success.list-group-item-action.active{background-color:#1d643b;border-color:#1d643b;color:#fff}.list-group-item-info{background-color:#d6e9f9;color:#385d7a}.list-group-item-info.list-group-item-action:focus,.list-group-item-info.list-group-item-action:hover{background-color:#c0ddf6;color:#385d7a}.list-group-item-info.list-group-item-action.active{background-color:#385d7a;border-color:#385d7a;color:#fff}.list-group-item-warning{background-color:#fffacc;color:#857b26}.list-group-item-warning.list-group-item-action:focus,.list-group-item-warning.list-group-item-action:hover{background-color:#fff8b3;color:#857b26}.list-group-item-warning.list-group-item-action.active{background-color:#857b26;border-color:#857b26;color:#fff}.list-group-item-danger{background-color:#f7c6c5;color:#761b18}.list-group-item-danger.list-group-item-action:focus,.list-group-item-danger.list-group-item-action:hover{background-color:#f4b0af;color:#761b18}.list-group-item-danger.list-group-item-action.active{background-color:#761b18;border-color:#761b18;color:#fff}.list-group-item-light{background-color:#fdfdfe;color:#818182}.list-group-item-light.list-group-item-action:focus,.list-group-item-light.list-group-item-action:hover{background-color:#ececf6;color:#818182}.list-group-item-light.list-group-item-action.active{background-color:#818182;border-color:#818182;color:#fff}.list-group-item-dark{background-color:#c6c8ca;color:#1b1e21}.list-group-item-dark.list-group-item-action:focus,.list-group-item-dark.list-group-item-action:hover{background-color:#b9bbbe;color:#1b1e21}.list-group-item-dark.list-group-item-action.active{background-color:#1b1e21;border-color:#1b1e21;color:#fff}.close{color:#000;float:right;font-size:1.35rem;font-weight:700;line-height:1;opacity:.5;text-shadow:0 1px 0 #fff}.close:hover{color:#000;text-decoration:none}.close:not(:disabled):not(.disabled):focus,.close:not(:disabled):not(.disabled):hover{opacity:.75}button.close{background-color:transparent;border:0;padding:0}a.close.disabled{pointer-events:none}.toast{background-clip:padding-box;background-color:hsla(0,0%,100%,.85);border:1px solid rgba(0,0,0,.1);border-radius:.25rem;box-shadow:0 .25rem .75rem rgba(0,0,0,.1);flex-basis:350px;font-size:.875rem;max-width:350px;opacity:0}.toast:not(:last-child){margin-bottom:.75rem}.toast.showing{opacity:1}.toast.show{display:block;opacity:1}.toast.hide{display:none}.toast-header{align-items:center;background-clip:padding-box;background-color:hsla(0,0%,100%,.85);border-bottom:1px solid rgba(0,0,0,.05);border-top-left-radius:calc(.25rem - 1px);border-top-right-radius:calc(.25rem - 1px);color:#6c757d;display:flex;padding:.25rem .75rem}.toast-body{padding:.75rem}.modal-open{overflow:hidden}.modal-open .modal{overflow-x:hidden;overflow-y:auto}.modal{display:none;height:100%;left:0;outline:0;overflow:hidden;position:fixed;top:0;width:100%;z-index:1050}.modal-dialog{margin:.5rem;pointer-events:none;position:relative;width:auto}.modal.fade .modal-dialog{transform:translateY(-50px);transition:transform .3s ease-out}@media (prefers-reduced-motion:reduce){.modal.fade .modal-dialog{transition:none}}.modal.show .modal-dialog{transform:none}.modal.modal-static .modal-dialog{transform:scale(1.02)}.modal-dialog-scrollable{display:flex;max-height:calc(100% - 1rem)}.modal-dialog-scrollable .modal-content{max-height:calc(100vh - 1rem);overflow:hidden}.modal-dialog-scrollable .modal-footer,.modal-dialog-scrollable .modal-header{flex-shrink:0}.modal-dialog-scrollable .modal-body{overflow-y:auto}.modal-dialog-centered{align-items:center;display:flex;min-height:calc(100% - 1rem)}.modal-dialog-centered:before{content:"";display:block;height:calc(100vh - 1rem);height:-webkit-min-content;height:-moz-min-content;height:min-content}.modal-dialog-centered.modal-dialog-scrollable{flex-direction:column;height:100%;justify-content:center}.modal-dialog-centered.modal-dialog-scrollable .modal-content{max-height:none}.modal-dialog-centered.modal-dialog-scrollable:before{content:none}.modal-content{background-clip:padding-box;background-color:#fff;border:1px solid rgba(0,0,0,.2);border-radius:.3rem;display:flex;flex-direction:column;outline:0;pointer-events:auto;position:relative;width:100%}.modal-backdrop{background-color:#000;height:100vh;left:0;position:fixed;top:0;width:100vw;z-index:1040}.modal-backdrop.fade{opacity:0}.modal-backdrop.show{opacity:.5}.modal-header{align-items:flex-start;border-bottom:1px solid #dee2e6;border-top-left-radius:calc(.3rem - 1px);border-top-right-radius:calc(.3rem - 1px);display:flex;justify-content:space-between;padding:1rem}.modal-header .close{margin:-1rem -1rem -1rem auto;padding:1rem}.modal-title{line-height:1.6;margin-bottom:0}.modal-body{flex:1 1 auto;padding:1rem;position:relative}.modal-footer{align-items:center;border-bottom-left-radius:calc(.3rem - 1px);border-bottom-right-radius:calc(.3rem - 1px);border-top:1px solid #dee2e6;display:flex;flex-wrap:wrap;justify-content:flex-end;padding:.75rem}.modal-footer>*{margin:.25rem}.modal-scrollbar-measure{height:50px;overflow:scroll;position:absolute;top:-9999px;width:50px}@media (min-width:576px){.modal-dialog{margin:1.75rem auto;max-width:500px}.modal-dialog-scrollable{max-height:calc(100% - 3.5rem)}.modal-dialog-scrollable .modal-content{max-height:calc(100vh - 3.5rem)}.modal-dialog-centered{min-height:calc(100% - 3.5rem)}.modal-dialog-centered:before{height:calc(100vh - 3.5rem);height:-webkit-min-content;height:-moz-min-content;height:min-content}.modal-sm{max-width:300px}}@media (min-width:992px){.modal-lg,.modal-xl{max-width:800px}}@media (min-width:1200px){.modal-xl{max-width:1140px}}.tooltip{word-wrap:break-word;display:block;font-family:Nunito,sans-serif;font-size:.7875rem;font-style:normal;font-weight:400;letter-spacing:normal;line-break:auto;line-height:1.6;margin:0;opacity:0;position:absolute;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;white-space:normal;word-break:normal;word-spacing:normal;z-index:1070}.tooltip.show{opacity:.9}.tooltip .arrow{display:block;height:.4rem;position:absolute;width:.8rem}.tooltip .arrow:before{border-color:transparent;border-style:solid;content:"";position:absolute}.bs-tooltip-auto[x-placement^=top],.bs-tooltip-top{padding:.4rem 0}.bs-tooltip-auto[x-placement^=top] .arrow,.bs-tooltip-top .arrow{bottom:0}.bs-tooltip-auto[x-placement^=top] .arrow:before,.bs-tooltip-top .arrow:before{border-top-color:#000;border-width:.4rem .4rem 0;top:0}.bs-tooltip-auto[x-placement^=right],.bs-tooltip-right{padding:0 .4rem}.bs-tooltip-auto[x-placement^=right] .arrow,.bs-tooltip-right .arrow{height:.8rem;left:0;width:.4rem}.bs-tooltip-auto[x-placement^=right] .arrow:before,.bs-tooltip-right .arrow:before{border-right-color:#000;border-width:.4rem .4rem .4rem 0;right:0}.bs-tooltip-auto[x-placement^=bottom],.bs-tooltip-bottom{padding:.4rem 0}.bs-tooltip-auto[x-placement^=bottom] .arrow,.bs-tooltip-bottom .arrow{top:0}.bs-tooltip-auto[x-placement^=bottom] .arrow:before,.bs-tooltip-bottom .arrow:before{border-bottom-color:#000;border-width:0 .4rem .4rem;bottom:0}.bs-tooltip-auto[x-placement^=left],.bs-tooltip-left{padding:0 .4rem}.bs-tooltip-auto[x-placement^=left] .arrow,.bs-tooltip-left .arrow{height:.8rem;right:0;width:.4rem}.bs-tooltip-auto[x-placement^=left] .arrow:before,.bs-tooltip-left .arrow:before{border-left-color:#000;border-width:.4rem 0 .4rem .4rem;left:0}.tooltip-inner{background-color:#000;border-radius:.25rem;color:#fff;max-width:200px;padding:.25rem .5rem;text-align:center}.popover{word-wrap:break-word;background-clip:padding-box;background-color:#fff;border:1px solid rgba(0,0,0,.2);border-radius:.3rem;font-family:Nunito,sans-serif;font-size:.7875rem;font-style:normal;font-weight:400;left:0;letter-spacing:normal;line-break:auto;line-height:1.6;max-width:276px;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;top:0;white-space:normal;word-break:normal;word-spacing:normal;z-index:1060}.popover,.popover .arrow{display:block;position:absolute}.popover .arrow{height:.5rem;margin:0 .3rem;width:1rem}.popover .arrow:after,.popover .arrow:before{border-color:transparent;border-style:solid;content:"";display:block;position:absolute}.bs-popover-auto[x-placement^=top],.bs-popover-top{margin-bottom:.5rem}.bs-popover-auto[x-placement^=top]>.arrow,.bs-popover-top>.arrow{bottom:calc(-.5rem - 1px)}.bs-popover-auto[x-placement^=top]>.arrow:before,.bs-popover-top>.arrow:before{border-top-color:rgba(0,0,0,.25);border-width:.5rem .5rem 0;bottom:0}.bs-popover-auto[x-placement^=top]>.arrow:after,.bs-popover-top>.arrow:after{border-top-color:#fff;border-width:.5rem .5rem 0;bottom:1px}.bs-popover-auto[x-placement^=right],.bs-popover-right{margin-left:.5rem}.bs-popover-auto[x-placement^=right]>.arrow,.bs-popover-right>.arrow{height:1rem;left:calc(-.5rem - 1px);margin:.3rem 0;width:.5rem}.bs-popover-auto[x-placement^=right]>.arrow:before,.bs-popover-right>.arrow:before{border-right-color:rgba(0,0,0,.25);border-width:.5rem .5rem .5rem 0;left:0}.bs-popover-auto[x-placement^=right]>.arrow:after,.bs-popover-right>.arrow:after{border-right-color:#fff;border-width:.5rem .5rem .5rem 0;left:1px}.bs-popover-auto[x-placement^=bottom],.bs-popover-bottom{margin-top:.5rem}.bs-popover-auto[x-placement^=bottom]>.arrow,.bs-popover-bottom>.arrow{top:calc(-.5rem - 1px)}.bs-popover-auto[x-placement^=bottom]>.arrow:before,.bs-popover-bottom>.arrow:before{border-bottom-color:rgba(0,0,0,.25);border-width:0 .5rem .5rem;top:0}.bs-popover-auto[x-placement^=bottom]>.arrow:after,.bs-popover-bottom>.arrow:after{border-bottom-color:#fff;border-width:0 .5rem .5rem;top:1px}.bs-popover-auto[x-placement^=bottom] .popover-header:before,.bs-popover-bottom .popover-header:before{border-bottom:1px solid #f7f7f7;content:"";display:block;left:50%;margin-left:-.5rem;position:absolute;top:0;width:1rem}.bs-popover-auto[x-placement^=left],.bs-popover-left{margin-right:.5rem}.bs-popover-auto[x-placement^=left]>.arrow,.bs-popover-left>.arrow{height:1rem;margin:.3rem 0;right:calc(-.5rem - 1px);width:.5rem}.bs-popover-auto[x-placement^=left]>.arrow:before,.bs-popover-left>.arrow:before{border-left-color:rgba(0,0,0,.25);border-width:.5rem 0 .5rem .5rem;right:0}.bs-popover-auto[x-placement^=left]>.arrow:after,.bs-popover-left>.arrow:after{border-left-color:#fff;border-width:.5rem 0 .5rem .5rem;right:1px}.popover-header{background-color:#f7f7f7;border-bottom:1px solid #ebebeb;border-top-left-radius:calc(.3rem - 1px);border-top-right-radius:calc(.3rem - 1px);font-size:.9rem;margin-bottom:0;padding:.5rem .75rem}.popover-header:empty{display:none}.popover-body{color:#212529;padding:.5rem .75rem}.carousel{position:relative}.carousel.pointer-event{touch-action:pan-y}.carousel-inner{overflow:hidden;position:relative;width:100%}.carousel-inner:after{clear:both;content:"";display:block}.carousel-item{-webkit-backface-visibility:hidden;backface-visibility:hidden;display:none;float:left;margin-right:-100%;position:relative;transition:transform .6s ease-in-out;width:100%}@media (prefers-reduced-motion:reduce){.carousel-item{transition:none}}.carousel-item-next,.carousel-item-prev,.carousel-item.active{display:block}.active.carousel-item-right,.carousel-item-next:not(.carousel-item-left){transform:translateX(100%)}.active.carousel-item-left,.carousel-item-prev:not(.carousel-item-right){transform:translateX(-100%)}.carousel-fade .carousel-item{opacity:0;transform:none;transition-property:opacity}.carousel-fade .carousel-item-next.carousel-item-left,.carousel-fade .carousel-item-prev.carousel-item-right,.carousel-fade .carousel-item.active{opacity:1;z-index:1}.carousel-fade .active.carousel-item-left,.carousel-fade .active.carousel-item-right{opacity:0;transition:opacity 0s .6s;z-index:0}@media (prefers-reduced-motion:reduce){.carousel-fade .active.carousel-item-left,.carousel-fade .active.carousel-item-right{transition:none}}.carousel-control-next,.carousel-control-prev{align-items:center;background:none;border:0;bottom:0;color:#fff;display:flex;justify-content:center;opacity:.5;padding:0;position:absolute;text-align:center;top:0;transition:opacity .15s ease;width:15%;z-index:1}@media (prefers-reduced-motion:reduce){.carousel-control-next,.carousel-control-prev{transition:none}}.carousel-control-next:focus,.carousel-control-next:hover,.carousel-control-prev:focus,.carousel-control-prev:hover{color:#fff;opacity:.9;outline:0;text-decoration:none}.carousel-control-prev{left:0}.carousel-control-next{right:0}.carousel-control-next-icon,.carousel-control-prev-icon{background:50%/100% 100% no-repeat;display:inline-block;height:20px;width:20px}.carousel-control-prev-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' width='8' height='8'%3E%3Cpath d='m5.25 0-4 4 4 4 1.5-1.5L4.25 4l2.5-2.5L5.25 0z'/%3E%3C/svg%3E")}.carousel-control-next-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' width='8' height='8'%3E%3Cpath d='m2.75 0-1.5 1.5L3.75 4l-2.5 2.5L2.75 8l4-4-4-4z'/%3E%3C/svg%3E")}.carousel-indicators{bottom:0;display:flex;justify-content:center;left:0;list-style:none;margin-left:15%;margin-right:15%;padding-left:0;position:absolute;right:0;z-index:15}.carousel-indicators li{background-clip:padding-box;background-color:#fff;border-bottom:10px solid transparent;border-top:10px solid transparent;box-sizing:content-box;cursor:pointer;flex:0 1 auto;height:3px;margin-left:3px;margin-right:3px;opacity:.5;text-indent:-999px;transition:opacity .6s ease;width:30px}@media (prefers-reduced-motion:reduce){.carousel-indicators li{transition:none}}.carousel-indicators .active{opacity:1}.carousel-caption{bottom:20px;color:#fff;left:15%;padding-bottom:20px;padding-top:20px;position:absolute;right:15%;text-align:center;z-index:10}@-webkit-keyframes spinner-border{to{transform:rotate(1turn)}}@keyframes spinner-border{to{transform:rotate(1turn)}}.spinner-border{-webkit-animation:spinner-border .75s linear infinite;animation:spinner-border .75s linear infinite;border:.25em solid;border-radius:50%;border-right:.25em solid transparent;display:inline-block;height:2rem;vertical-align:-.125em;width:2rem}.spinner-border-sm{border-width:.2em;height:1rem;width:1rem}@-webkit-keyframes spinner-grow{0%{transform:scale(0)}50%{opacity:1;transform:none}}@keyframes spinner-grow{0%{transform:scale(0)}50%{opacity:1;transform:none}}.spinner-grow{-webkit-animation:spinner-grow .75s linear infinite;animation:spinner-grow .75s linear infinite;background-color:currentColor;border-radius:50%;display:inline-block;height:2rem;opacity:0;vertical-align:-.125em;width:2rem}.spinner-grow-sm{height:1rem;width:1rem}@media (prefers-reduced-motion:reduce){.spinner-border,.spinner-grow{-webkit-animation-duration:1.5s;animation-duration:1.5s}}.align-baseline{vertical-align:baseline!important}.align-top{vertical-align:top!important}.align-middle{vertical-align:middle!important}.align-bottom{vertical-align:bottom!important}.align-text-bottom{vertical-align:text-bottom!important}.align-text-top{vertical-align:text-top!important}.bg-primary{background-color:#3490dc!important}a.bg-primary:focus,a.bg-primary:hover,button.bg-primary:focus,button.bg-primary:hover{background-color:#2176bd!important}.bg-secondary{background-color:#6c757d!important}a.bg-secondary:focus,a.bg-secondary:hover,button.bg-secondary:focus,button.bg-secondary:hover{background-color:#545b62!important}.bg-success{background-color:#38c172!important}a.bg-success:focus,a.bg-success:hover,button.bg-success:focus,button.bg-success:hover{background-color:#2d995b!important}.bg-info{background-color:#6cb2eb!important}a.bg-info:focus,a.bg-info:hover,button.bg-info:focus,button.bg-info:hover{background-color:#3f9ae5!important}.bg-warning{background-color:#ffed4a!important}a.bg-warning:focus,a.bg-warning:hover,button.bg-warning:focus,button.bg-warning:hover{background-color:#ffe817!important}.bg-danger{background-color:#e3342f!important}a.bg-danger:focus,a.bg-danger:hover,button.bg-danger:focus,button.bg-danger:hover{background-color:#c51f1a!important}.bg-light{background-color:#f8f9fa!important}a.bg-light:focus,a.bg-light:hover,button.bg-light:focus,button.bg-light:hover{background-color:#dae0e5!important}.bg-dark{background-color:#343a40!important}a.bg-dark:focus,a.bg-dark:hover,button.bg-dark:focus,button.bg-dark:hover{background-color:#1d2124!important}.bg-white{background-color:#fff!important}.bg-transparent{background-color:transparent!important}.border{border:1px solid #dee2e6!important}.border-top{border-top:1px solid #dee2e6!important}.border-right{border-right:1px solid #dee2e6!important}.border-bottom{border-bottom:1px solid #dee2e6!important}.border-left{border-left:1px solid #dee2e6!important}.border-0{border:0!important}.border-top-0{border-top:0!important}.border-right-0{border-right:0!important}.border-bottom-0{border-bottom:0!important}.border-left-0{border-left:0!important}.border-primary{border-color:#3490dc!important}.border-secondary{border-color:#6c757d!important}.border-success{border-color:#38c172!important}.border-info{border-color:#6cb2eb!important}.border-warning{border-color:#ffed4a!important}.border-danger{border-color:#e3342f!important}.border-light{border-color:#f8f9fa!important}.border-dark{border-color:#343a40!important}.border-white{border-color:#fff!important}.rounded-sm{border-radius:.2rem!important}.rounded{border-radius:.25rem!important}.rounded-top{border-top-left-radius:.25rem!important}.rounded-right,.rounded-top{border-top-right-radius:.25rem!important}.rounded-bottom,.rounded-right{border-bottom-right-radius:.25rem!important}.rounded-bottom,.rounded-left{border-bottom-left-radius:.25rem!important}.rounded-left{border-top-left-radius:.25rem!important}.rounded-lg{border-radius:.3rem!important}.rounded-circle{border-radius:50%!important}.rounded-pill{border-radius:50rem!important}.rounded-0{border-radius:0!important}.clearfix:after{clear:both;content:"";display:block}.d-none{display:none!important}.d-inline{display:inline!important}.d-inline-block{display:inline-block!important}.d-block{display:block!important}.d-table{display:table!important}.d-table-row{display:table-row!important}.d-table-cell{display:table-cell!important}.d-flex{display:flex!important}.d-inline-flex{display:inline-flex!important}@media (min-width:576px){.d-sm-none{display:none!important}.d-sm-inline{display:inline!important}.d-sm-inline-block{display:inline-block!important}.d-sm-block{display:block!important}.d-sm-table{display:table!important}.d-sm-table-row{display:table-row!important}.d-sm-table-cell{display:table-cell!important}.d-sm-flex{display:flex!important}.d-sm-inline-flex{display:inline-flex!important}}@media (min-width:768px){.d-md-none{display:none!important}.d-md-inline{display:inline!important}.d-md-inline-block{display:inline-block!important}.d-md-block{display:block!important}.d-md-table{display:table!important}.d-md-table-row{display:table-row!important}.d-md-table-cell{display:table-cell!important}.d-md-flex{display:flex!important}.d-md-inline-flex{display:inline-flex!important}}@media (min-width:992px){.d-lg-none{display:none!important}.d-lg-inline{display:inline!important}.d-lg-inline-block{display:inline-block!important}.d-lg-block{display:block!important}.d-lg-table{display:table!important}.d-lg-table-row{display:table-row!important}.d-lg-table-cell{display:table-cell!important}.d-lg-flex{display:flex!important}.d-lg-inline-flex{display:inline-flex!important}}@media (min-width:1200px){.d-xl-none{display:none!important}.d-xl-inline{display:inline!important}.d-xl-inline-block{display:inline-block!important}.d-xl-block{display:block!important}.d-xl-table{display:table!important}.d-xl-table-row{display:table-row!important}.d-xl-table-cell{display:table-cell!important}.d-xl-flex{display:flex!important}.d-xl-inline-flex{display:inline-flex!important}}@media print{.d-print-none{display:none!important}.d-print-inline{display:inline!important}.d-print-inline-block{display:inline-block!important}.d-print-block{display:block!important}.d-print-table{display:table!important}.d-print-table-row{display:table-row!important}.d-print-table-cell{display:table-cell!important}.d-print-flex{display:flex!important}.d-print-inline-flex{display:inline-flex!important}}.embed-responsive{display:block;overflow:hidden;padding:0;position:relative;width:100%}.embed-responsive:before{content:"";display:block}.embed-responsive .embed-responsive-item,.embed-responsive embed,.embed-responsive iframe,.embed-responsive object,.embed-responsive video{border:0;bottom:0;height:100%;left:0;position:absolute;top:0;width:100%}.embed-responsive-21by9:before{padding-top:42.85714286%}.embed-responsive-16by9:before{padding-top:56.25%}.embed-responsive-4by3:before{padding-top:75%}.embed-responsive-1by1:before{padding-top:100%}.flex-row{flex-direction:row!important}.flex-column{flex-direction:column!important}.flex-row-reverse{flex-direction:row-reverse!important}.flex-column-reverse{flex-direction:column-reverse!important}.flex-wrap{flex-wrap:wrap!important}.flex-nowrap{flex-wrap:nowrap!important}.flex-wrap-reverse{flex-wrap:wrap-reverse!important}.flex-fill{flex:1 1 auto!important}.flex-grow-0{flex-grow:0!important}.flex-grow-1{flex-grow:1!important}.flex-shrink-0{flex-shrink:0!important}.flex-shrink-1{flex-shrink:1!important}.justify-content-start{justify-content:flex-start!important}.justify-content-end{justify-content:flex-end!important}.justify-content-center{justify-content:center!important}.justify-content-between{justify-content:space-between!important}.justify-content-around{justify-content:space-around!important}.align-items-start{align-items:flex-start!important}.align-items-end{align-items:flex-end!important}.align-items-center{align-items:center!important}.align-items-baseline{align-items:baseline!important}.align-items-stretch{align-items:stretch!important}.align-content-start{align-content:flex-start!important}.align-content-end{align-content:flex-end!important}.align-content-center{align-content:center!important}.align-content-between{align-content:space-between!important}.align-content-around{align-content:space-around!important}.align-content-stretch{align-content:stretch!important}.align-self-auto{align-self:auto!important}.align-self-start{align-self:flex-start!important}.align-self-end{align-self:flex-end!important}.align-self-center{align-self:center!important}.align-self-baseline{align-self:baseline!important}.align-self-stretch{align-self:stretch!important}@media (min-width:576px){.flex-sm-row{flex-direction:row!important}.flex-sm-column{flex-direction:column!important}.flex-sm-row-reverse{flex-direction:row-reverse!important}.flex-sm-column-reverse{flex-direction:column-reverse!important}.flex-sm-wrap{flex-wrap:wrap!important}.flex-sm-nowrap{flex-wrap:nowrap!important}.flex-sm-wrap-reverse{flex-wrap:wrap-reverse!important}.flex-sm-fill{flex:1 1 auto!important}.flex-sm-grow-0{flex-grow:0!important}.flex-sm-grow-1{flex-grow:1!important}.flex-sm-shrink-0{flex-shrink:0!important}.flex-sm-shrink-1{flex-shrink:1!important}.justify-content-sm-start{justify-content:flex-start!important}.justify-content-sm-end{justify-content:flex-end!important}.justify-content-sm-center{justify-content:center!important}.justify-content-sm-between{justify-content:space-between!important}.justify-content-sm-around{justify-content:space-around!important}.align-items-sm-start{align-items:flex-start!important}.align-items-sm-end{align-items:flex-end!important}.align-items-sm-center{align-items:center!important}.align-items-sm-baseline{align-items:baseline!important}.align-items-sm-stretch{align-items:stretch!important}.align-content-sm-start{align-content:flex-start!important}.align-content-sm-end{align-content:flex-end!important}.align-content-sm-center{align-content:center!important}.align-content-sm-between{align-content:space-between!important}.align-content-sm-around{align-content:space-around!important}.align-content-sm-stretch{align-content:stretch!important}.align-self-sm-auto{align-self:auto!important}.align-self-sm-start{align-self:flex-start!important}.align-self-sm-end{align-self:flex-end!important}.align-self-sm-center{align-self:center!important}.align-self-sm-baseline{align-self:baseline!important}.align-self-sm-stretch{align-self:stretch!important}}@media (min-width:768px){.flex-md-row{flex-direction:row!important}.flex-md-column{flex-direction:column!important}.flex-md-row-reverse{flex-direction:row-reverse!important}.flex-md-column-reverse{flex-direction:column-reverse!important}.flex-md-wrap{flex-wrap:wrap!important}.flex-md-nowrap{flex-wrap:nowrap!important}.flex-md-wrap-reverse{flex-wrap:wrap-reverse!important}.flex-md-fill{flex:1 1 auto!important}.flex-md-grow-0{flex-grow:0!important}.flex-md-grow-1{flex-grow:1!important}.flex-md-shrink-0{flex-shrink:0!important}.flex-md-shrink-1{flex-shrink:1!important}.justify-content-md-start{justify-content:flex-start!important}.justify-content-md-end{justify-content:flex-end!important}.justify-content-md-center{justify-content:center!important}.justify-content-md-between{justify-content:space-between!important}.justify-content-md-around{justify-content:space-around!important}.align-items-md-start{align-items:flex-start!important}.align-items-md-end{align-items:flex-end!important}.align-items-md-center{align-items:center!important}.align-items-md-baseline{align-items:baseline!important}.align-items-md-stretch{align-items:stretch!important}.align-content-md-start{align-content:flex-start!important}.align-content-md-end{align-content:flex-end!important}.align-content-md-center{align-content:center!important}.align-content-md-between{align-content:space-between!important}.align-content-md-around{align-content:space-around!important}.align-content-md-stretch{align-content:stretch!important}.align-self-md-auto{align-self:auto!important}.align-self-md-start{align-self:flex-start!important}.align-self-md-end{align-self:flex-end!important}.align-self-md-center{align-self:center!important}.align-self-md-baseline{align-self:baseline!important}.align-self-md-stretch{align-self:stretch!important}}@media (min-width:992px){.flex-lg-row{flex-direction:row!important}.flex-lg-column{flex-direction:column!important}.flex-lg-row-reverse{flex-direction:row-reverse!important}.flex-lg-column-reverse{flex-direction:column-reverse!important}.flex-lg-wrap{flex-wrap:wrap!important}.flex-lg-nowrap{flex-wrap:nowrap!important}.flex-lg-wrap-reverse{flex-wrap:wrap-reverse!important}.flex-lg-fill{flex:1 1 auto!important}.flex-lg-grow-0{flex-grow:0!important}.flex-lg-grow-1{flex-grow:1!important}.flex-lg-shrink-0{flex-shrink:0!important}.flex-lg-shrink-1{flex-shrink:1!important}.justify-content-lg-start{justify-content:flex-start!important}.justify-content-lg-end{justify-content:flex-end!important}.justify-content-lg-center{justify-content:center!important}.justify-content-lg-between{justify-content:space-between!important}.justify-content-lg-around{justify-content:space-around!important}.align-items-lg-start{align-items:flex-start!important}.align-items-lg-end{align-items:flex-end!important}.align-items-lg-center{align-items:center!important}.align-items-lg-baseline{align-items:baseline!important}.align-items-lg-stretch{align-items:stretch!important}.align-content-lg-start{align-content:flex-start!important}.align-content-lg-end{align-content:flex-end!important}.align-content-lg-center{align-content:center!important}.align-content-lg-between{align-content:space-between!important}.align-content-lg-around{align-content:space-around!important}.align-content-lg-stretch{align-content:stretch!important}.align-self-lg-auto{align-self:auto!important}.align-self-lg-start{align-self:flex-start!important}.align-self-lg-end{align-self:flex-end!important}.align-self-lg-center{align-self:center!important}.align-self-lg-baseline{align-self:baseline!important}.align-self-lg-stretch{align-self:stretch!important}}@media (min-width:1200px){.flex-xl-row{flex-direction:row!important}.flex-xl-column{flex-direction:column!important}.flex-xl-row-reverse{flex-direction:row-reverse!important}.flex-xl-column-reverse{flex-direction:column-reverse!important}.flex-xl-wrap{flex-wrap:wrap!important}.flex-xl-nowrap{flex-wrap:nowrap!important}.flex-xl-wrap-reverse{flex-wrap:wrap-reverse!important}.flex-xl-fill{flex:1 1 auto!important}.flex-xl-grow-0{flex-grow:0!important}.flex-xl-grow-1{flex-grow:1!important}.flex-xl-shrink-0{flex-shrink:0!important}.flex-xl-shrink-1{flex-shrink:1!important}.justify-content-xl-start{justify-content:flex-start!important}.justify-content-xl-end{justify-content:flex-end!important}.justify-content-xl-center{justify-content:center!important}.justify-content-xl-between{justify-content:space-between!important}.justify-content-xl-around{justify-content:space-around!important}.align-items-xl-start{align-items:flex-start!important}.align-items-xl-end{align-items:flex-end!important}.align-items-xl-center{align-items:center!important}.align-items-xl-baseline{align-items:baseline!important}.align-items-xl-stretch{align-items:stretch!important}.align-content-xl-start{align-content:flex-start!important}.align-content-xl-end{align-content:flex-end!important}.align-content-xl-center{align-content:center!important}.align-content-xl-between{align-content:space-between!important}.align-content-xl-around{align-content:space-around!important}.align-content-xl-stretch{align-content:stretch!important}.align-self-xl-auto{align-self:auto!important}.align-self-xl-start{align-self:flex-start!important}.align-self-xl-end{align-self:flex-end!important}.align-self-xl-center{align-self:center!important}.align-self-xl-baseline{align-self:baseline!important}.align-self-xl-stretch{align-self:stretch!important}}.float-left{float:left!important}.float-right{float:right!important}.float-none{float:none!important}@media (min-width:576px){.float-sm-left{float:left!important}.float-sm-right{float:right!important}.float-sm-none{float:none!important}}@media (min-width:768px){.float-md-left{float:left!important}.float-md-right{float:right!important}.float-md-none{float:none!important}}@media (min-width:992px){.float-lg-left{float:left!important}.float-lg-right{float:right!important}.float-lg-none{float:none!important}}@media (min-width:1200px){.float-xl-left{float:left!important}.float-xl-right{float:right!important}.float-xl-none{float:none!important}}.user-select-all{-webkit-user-select:all!important;-moz-user-select:all!important;user-select:all!important}.user-select-auto{-webkit-user-select:auto!important;-moz-user-select:auto!important;-ms-user-select:auto!important;user-select:auto!important}.user-select-none{-webkit-user-select:none!important;-moz-user-select:none!important;-ms-user-select:none!important;user-select:none!important}.overflow-auto{overflow:auto!important}.overflow-hidden{overflow:hidden!important}.position-static{position:static!important}.position-relative{position:relative!important}.position-absolute{position:absolute!important}.position-fixed{position:fixed!important}.position-sticky{position:-webkit-sticky!important;position:sticky!important}.fixed-top{top:0}.fixed-bottom,.fixed-top{left:0;position:fixed;right:0;z-index:1030}.fixed-bottom{bottom:0}@supports ((position:-webkit-sticky) or (position:sticky)){.sticky-top{position:-webkit-sticky;position:sticky;top:0;z-index:1020}}.sr-only{clip:rect(0,0,0,0);border:0;height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;white-space:nowrap;width:1px}.sr-only-focusable:active,.sr-only-focusable:focus{clip:auto;height:auto;overflow:visible;position:static;white-space:normal;width:auto}.shadow-sm{box-shadow:0 .125rem .25rem rgba(0,0,0,.075)!important}.shadow{box-shadow:0 .5rem 1rem rgba(0,0,0,.15)!important}.shadow-lg{box-shadow:0 1rem 3rem rgba(0,0,0,.175)!important}.shadow-none{box-shadow:none!important}.w-25{width:25%!important}.w-50{width:50%!important}.w-75{width:75%!important}.w-100{width:100%!important}.w-auto{width:auto!important}.h-25{height:25%!important}.h-50{height:50%!important}.h-75{height:75%!important}.h-100{height:100%!important}.h-auto{height:auto!important}.mw-100{max-width:100%!important}.mh-100{max-height:100%!important}.min-vw-100{min-width:100vw!important}.min-vh-100{min-height:100vh!important}.vw-100{width:100vw!important}.vh-100{height:100vh!important}.m-0{margin:0!important}.mt-0,.my-0{margin-top:0!important}.mr-0,.mx-0{margin-right:0!important}.mb-0,.my-0{margin-bottom:0!important}.ml-0,.mx-0{margin-left:0!important}.m-1{margin:.25rem!important}.mt-1,.my-1{margin-top:.25rem!important}.mr-1,.mx-1{margin-right:.25rem!important}.mb-1,.my-1{margin-bottom:.25rem!important}.ml-1,.mx-1{margin-left:.25rem!important}.m-2{margin:.5rem!important}.mt-2,.my-2{margin-top:.5rem!important}.mr-2,.mx-2{margin-right:.5rem!important}.mb-2,.my-2{margin-bottom:.5rem!important}.ml-2,.mx-2{margin-left:.5rem!important}.m-3{margin:1rem!important}.mt-3,.my-3{margin-top:1rem!important}.mr-3,.mx-3{margin-right:1rem!important}.mb-3,.my-3{margin-bottom:1rem!important}.ml-3,.mx-3{margin-left:1rem!important}.m-4{margin:1.5rem!important}.mt-4,.my-4{margin-top:1.5rem!important}.mr-4,.mx-4{margin-right:1.5rem!important}.mb-4,.my-4{margin-bottom:1.5rem!important}.ml-4,.mx-4{margin-left:1.5rem!important}.m-5{margin:3rem!important}.mt-5,.my-5{margin-top:3rem!important}.mr-5,.mx-5{margin-right:3rem!important}.mb-5,.my-5{margin-bottom:3rem!important}.ml-5,.mx-5{margin-left:3rem!important}.p-0{padding:0!important}.pt-0,.py-0{padding-top:0!important}.pr-0,.px-0{padding-right:0!important}.pb-0,.py-0{padding-bottom:0!important}.pl-0,.px-0{padding-left:0!important}.p-1{padding:.25rem!important}.pt-1,.py-1{padding-top:.25rem!important}.pr-1,.px-1{padding-right:.25rem!important}.pb-1,.py-1{padding-bottom:.25rem!important}.pl-1,.px-1{padding-left:.25rem!important}.p-2{padding:.5rem!important}.pt-2,.py-2{padding-top:.5rem!important}.pr-2,.px-2{padding-right:.5rem!important}.pb-2,.py-2{padding-bottom:.5rem!important}.pl-2,.px-2{padding-left:.5rem!important}.p-3{padding:1rem!important}.pt-3,.py-3{padding-top:1rem!important}.pr-3,.px-3{padding-right:1rem!important}.pb-3,.py-3{padding-bottom:1rem!important}.pl-3,.px-3{padding-left:1rem!important}.p-4{padding:1.5rem!important}.pt-4,.py-4{padding-top:1.5rem!important}.pr-4,.px-4{padding-right:1.5rem!important}.pb-4,.py-4{padding-bottom:1.5rem!important}.pl-4,.px-4{padding-left:1.5rem!important}.p-5{padding:3rem!important}.pt-5,.py-5{padding-top:3rem!important}.pr-5,.px-5{padding-right:3rem!important}.pb-5,.py-5{padding-bottom:3rem!important}.pl-5,.px-5{padding-left:3rem!important}.m-n1{margin:-.25rem!important}.mt-n1,.my-n1{margin-top:-.25rem!important}.mr-n1,.mx-n1{margin-right:-.25rem!important}.mb-n1,.my-n1{margin-bottom:-.25rem!important}.ml-n1,.mx-n1{margin-left:-.25rem!important}.m-n2{margin:-.5rem!important}.mt-n2,.my-n2{margin-top:-.5rem!important}.mr-n2,.mx-n2{margin-right:-.5rem!important}.mb-n2,.my-n2{margin-bottom:-.5rem!important}.ml-n2,.mx-n2{margin-left:-.5rem!important}.m-n3{margin:-1rem!important}.mt-n3,.my-n3{margin-top:-1rem!important}.mr-n3,.mx-n3{margin-right:-1rem!important}.mb-n3,.my-n3{margin-bottom:-1rem!important}.ml-n3,.mx-n3{margin-left:-1rem!important}.m-n4{margin:-1.5rem!important}.mt-n4,.my-n4{margin-top:-1.5rem!important}.mr-n4,.mx-n4{margin-right:-1.5rem!important}.mb-n4,.my-n4{margin-bottom:-1.5rem!important}.ml-n4,.mx-n4{margin-left:-1.5rem!important}.m-n5{margin:-3rem!important}.mt-n5,.my-n5{margin-top:-3rem!important}.mr-n5,.mx-n5{margin-right:-3rem!important}.mb-n5,.my-n5{margin-bottom:-3rem!important}.ml-n5,.mx-n5{margin-left:-3rem!important}.m-auto{margin:auto!important}.mt-auto,.my-auto{margin-top:auto!important}.mr-auto,.mx-auto{margin-right:auto!important}.mb-auto,.my-auto{margin-bottom:auto!important}.ml-auto,.mx-auto{margin-left:auto!important}@media (min-width:576px){.m-sm-0{margin:0!important}.mt-sm-0,.my-sm-0{margin-top:0!important}.mr-sm-0,.mx-sm-0{margin-right:0!important}.mb-sm-0,.my-sm-0{margin-bottom:0!important}.ml-sm-0,.mx-sm-0{margin-left:0!important}.m-sm-1{margin:.25rem!important}.mt-sm-1,.my-sm-1{margin-top:.25rem!important}.mr-sm-1,.mx-sm-1{margin-right:.25rem!important}.mb-sm-1,.my-sm-1{margin-bottom:.25rem!important}.ml-sm-1,.mx-sm-1{margin-left:.25rem!important}.m-sm-2{margin:.5rem!important}.mt-sm-2,.my-sm-2{margin-top:.5rem!important}.mr-sm-2,.mx-sm-2{margin-right:.5rem!important}.mb-sm-2,.my-sm-2{margin-bottom:.5rem!important}.ml-sm-2,.mx-sm-2{margin-left:.5rem!important}.m-sm-3{margin:1rem!important}.mt-sm-3,.my-sm-3{margin-top:1rem!important}.mr-sm-3,.mx-sm-3{margin-right:1rem!important}.mb-sm-3,.my-sm-3{margin-bottom:1rem!important}.ml-sm-3,.mx-sm-3{margin-left:1rem!important}.m-sm-4{margin:1.5rem!important}.mt-sm-4,.my-sm-4{margin-top:1.5rem!important}.mr-sm-4,.mx-sm-4{margin-right:1.5rem!important}.mb-sm-4,.my-sm-4{margin-bottom:1.5rem!important}.ml-sm-4,.mx-sm-4{margin-left:1.5rem!important}.m-sm-5{margin:3rem!important}.mt-sm-5,.my-sm-5{margin-top:3rem!important}.mr-sm-5,.mx-sm-5{margin-right:3rem!important}.mb-sm-5,.my-sm-5{margin-bottom:3rem!important}.ml-sm-5,.mx-sm-5{margin-left:3rem!important}.p-sm-0{padding:0!important}.pt-sm-0,.py-sm-0{padding-top:0!important}.pr-sm-0,.px-sm-0{padding-right:0!important}.pb-sm-0,.py-sm-0{padding-bottom:0!important}.pl-sm-0,.px-sm-0{padding-left:0!important}.p-sm-1{padding:.25rem!important}.pt-sm-1,.py-sm-1{padding-top:.25rem!important}.pr-sm-1,.px-sm-1{padding-right:.25rem!important}.pb-sm-1,.py-sm-1{padding-bottom:.25rem!important}.pl-sm-1,.px-sm-1{padding-left:.25rem!important}.p-sm-2{padding:.5rem!important}.pt-sm-2,.py-sm-2{padding-top:.5rem!important}.pr-sm-2,.px-sm-2{padding-right:.5rem!important}.pb-sm-2,.py-sm-2{padding-bottom:.5rem!important}.pl-sm-2,.px-sm-2{padding-left:.5rem!important}.p-sm-3{padding:1rem!important}.pt-sm-3,.py-sm-3{padding-top:1rem!important}.pr-sm-3,.px-sm-3{padding-right:1rem!important}.pb-sm-3,.py-sm-3{padding-bottom:1rem!important}.pl-sm-3,.px-sm-3{padding-left:1rem!important}.p-sm-4{padding:1.5rem!important}.pt-sm-4,.py-sm-4{padding-top:1.5rem!important}.pr-sm-4,.px-sm-4{padding-right:1.5rem!important}.pb-sm-4,.py-sm-4{padding-bottom:1.5rem!important}.pl-sm-4,.px-sm-4{padding-left:1.5rem!important}.p-sm-5{padding:3rem!important}.pt-sm-5,.py-sm-5{padding-top:3rem!important}.pr-sm-5,.px-sm-5{padding-right:3rem!important}.pb-sm-5,.py-sm-5{padding-bottom:3rem!important}.pl-sm-5,.px-sm-5{padding-left:3rem!important}.m-sm-n1{margin:-.25rem!important}.mt-sm-n1,.my-sm-n1{margin-top:-.25rem!important}.mr-sm-n1,.mx-sm-n1{margin-right:-.25rem!important}.mb-sm-n1,.my-sm-n1{margin-bottom:-.25rem!important}.ml-sm-n1,.mx-sm-n1{margin-left:-.25rem!important}.m-sm-n2{margin:-.5rem!important}.mt-sm-n2,.my-sm-n2{margin-top:-.5rem!important}.mr-sm-n2,.mx-sm-n2{margin-right:-.5rem!important}.mb-sm-n2,.my-sm-n2{margin-bottom:-.5rem!important}.ml-sm-n2,.mx-sm-n2{margin-left:-.5rem!important}.m-sm-n3{margin:-1rem!important}.mt-sm-n3,.my-sm-n3{margin-top:-1rem!important}.mr-sm-n3,.mx-sm-n3{margin-right:-1rem!important}.mb-sm-n3,.my-sm-n3{margin-bottom:-1rem!important}.ml-sm-n3,.mx-sm-n3{margin-left:-1rem!important}.m-sm-n4{margin:-1.5rem!important}.mt-sm-n4,.my-sm-n4{margin-top:-1.5rem!important}.mr-sm-n4,.mx-sm-n4{margin-right:-1.5rem!important}.mb-sm-n4,.my-sm-n4{margin-bottom:-1.5rem!important}.ml-sm-n4,.mx-sm-n4{margin-left:-1.5rem!important}.m-sm-n5{margin:-3rem!important}.mt-sm-n5,.my-sm-n5{margin-top:-3rem!important}.mr-sm-n5,.mx-sm-n5{margin-right:-3rem!important}.mb-sm-n5,.my-sm-n5{margin-bottom:-3rem!important}.ml-sm-n5,.mx-sm-n5{margin-left:-3rem!important}.m-sm-auto{margin:auto!important}.mt-sm-auto,.my-sm-auto{margin-top:auto!important}.mr-sm-auto,.mx-sm-auto{margin-right:auto!important}.mb-sm-auto,.my-sm-auto{margin-bottom:auto!important}.ml-sm-auto,.mx-sm-auto{margin-left:auto!important}}@media (min-width:768px){.m-md-0{margin:0!important}.mt-md-0,.my-md-0{margin-top:0!important}.mr-md-0,.mx-md-0{margin-right:0!important}.mb-md-0,.my-md-0{margin-bottom:0!important}.ml-md-0,.mx-md-0{margin-left:0!important}.m-md-1{margin:.25rem!important}.mt-md-1,.my-md-1{margin-top:.25rem!important}.mr-md-1,.mx-md-1{margin-right:.25rem!important}.mb-md-1,.my-md-1{margin-bottom:.25rem!important}.ml-md-1,.mx-md-1{margin-left:.25rem!important}.m-md-2{margin:.5rem!important}.mt-md-2,.my-md-2{margin-top:.5rem!important}.mr-md-2,.mx-md-2{margin-right:.5rem!important}.mb-md-2,.my-md-2{margin-bottom:.5rem!important}.ml-md-2,.mx-md-2{margin-left:.5rem!important}.m-md-3{margin:1rem!important}.mt-md-3,.my-md-3{margin-top:1rem!important}.mr-md-3,.mx-md-3{margin-right:1rem!important}.mb-md-3,.my-md-3{margin-bottom:1rem!important}.ml-md-3,.mx-md-3{margin-left:1rem!important}.m-md-4{margin:1.5rem!important}.mt-md-4,.my-md-4{margin-top:1.5rem!important}.mr-md-4,.mx-md-4{margin-right:1.5rem!important}.mb-md-4,.my-md-4{margin-bottom:1.5rem!important}.ml-md-4,.mx-md-4{margin-left:1.5rem!important}.m-md-5{margin:3rem!important}.mt-md-5,.my-md-5{margin-top:3rem!important}.mr-md-5,.mx-md-5{margin-right:3rem!important}.mb-md-5,.my-md-5{margin-bottom:3rem!important}.ml-md-5,.mx-md-5{margin-left:3rem!important}.p-md-0{padding:0!important}.pt-md-0,.py-md-0{padding-top:0!important}.pr-md-0,.px-md-0{padding-right:0!important}.pb-md-0,.py-md-0{padding-bottom:0!important}.pl-md-0,.px-md-0{padding-left:0!important}.p-md-1{padding:.25rem!important}.pt-md-1,.py-md-1{padding-top:.25rem!important}.pr-md-1,.px-md-1{padding-right:.25rem!important}.pb-md-1,.py-md-1{padding-bottom:.25rem!important}.pl-md-1,.px-md-1{padding-left:.25rem!important}.p-md-2{padding:.5rem!important}.pt-md-2,.py-md-2{padding-top:.5rem!important}.pr-md-2,.px-md-2{padding-right:.5rem!important}.pb-md-2,.py-md-2{padding-bottom:.5rem!important}.pl-md-2,.px-md-2{padding-left:.5rem!important}.p-md-3{padding:1rem!important}.pt-md-3,.py-md-3{padding-top:1rem!important}.pr-md-3,.px-md-3{padding-right:1rem!important}.pb-md-3,.py-md-3{padding-bottom:1rem!important}.pl-md-3,.px-md-3{padding-left:1rem!important}.p-md-4{padding:1.5rem!important}.pt-md-4,.py-md-4{padding-top:1.5rem!important}.pr-md-4,.px-md-4{padding-right:1.5rem!important}.pb-md-4,.py-md-4{padding-bottom:1.5rem!important}.pl-md-4,.px-md-4{padding-left:1.5rem!important}.p-md-5{padding:3rem!important}.pt-md-5,.py-md-5{padding-top:3rem!important}.pr-md-5,.px-md-5{padding-right:3rem!important}.pb-md-5,.py-md-5{padding-bottom:3rem!important}.pl-md-5,.px-md-5{padding-left:3rem!important}.m-md-n1{margin:-.25rem!important}.mt-md-n1,.my-md-n1{margin-top:-.25rem!important}.mr-md-n1,.mx-md-n1{margin-right:-.25rem!important}.mb-md-n1,.my-md-n1{margin-bottom:-.25rem!important}.ml-md-n1,.mx-md-n1{margin-left:-.25rem!important}.m-md-n2{margin:-.5rem!important}.mt-md-n2,.my-md-n2{margin-top:-.5rem!important}.mr-md-n2,.mx-md-n2{margin-right:-.5rem!important}.mb-md-n2,.my-md-n2{margin-bottom:-.5rem!important}.ml-md-n2,.mx-md-n2{margin-left:-.5rem!important}.m-md-n3{margin:-1rem!important}.mt-md-n3,.my-md-n3{margin-top:-1rem!important}.mr-md-n3,.mx-md-n3{margin-right:-1rem!important}.mb-md-n3,.my-md-n3{margin-bottom:-1rem!important}.ml-md-n3,.mx-md-n3{margin-left:-1rem!important}.m-md-n4{margin:-1.5rem!important}.mt-md-n4,.my-md-n4{margin-top:-1.5rem!important}.mr-md-n4,.mx-md-n4{margin-right:-1.5rem!important}.mb-md-n4,.my-md-n4{margin-bottom:-1.5rem!important}.ml-md-n4,.mx-md-n4{margin-left:-1.5rem!important}.m-md-n5{margin:-3rem!important}.mt-md-n5,.my-md-n5{margin-top:-3rem!important}.mr-md-n5,.mx-md-n5{margin-right:-3rem!important}.mb-md-n5,.my-md-n5{margin-bottom:-3rem!important}.ml-md-n5,.mx-md-n5{margin-left:-3rem!important}.m-md-auto{margin:auto!important}.mt-md-auto,.my-md-auto{margin-top:auto!important}.mr-md-auto,.mx-md-auto{margin-right:auto!important}.mb-md-auto,.my-md-auto{margin-bottom:auto!important}.ml-md-auto,.mx-md-auto{margin-left:auto!important}}@media (min-width:992px){.m-lg-0{margin:0!important}.mt-lg-0,.my-lg-0{margin-top:0!important}.mr-lg-0,.mx-lg-0{margin-right:0!important}.mb-lg-0,.my-lg-0{margin-bottom:0!important}.ml-lg-0,.mx-lg-0{margin-left:0!important}.m-lg-1{margin:.25rem!important}.mt-lg-1,.my-lg-1{margin-top:.25rem!important}.mr-lg-1,.mx-lg-1{margin-right:.25rem!important}.mb-lg-1,.my-lg-1{margin-bottom:.25rem!important}.ml-lg-1,.mx-lg-1{margin-left:.25rem!important}.m-lg-2{margin:.5rem!important}.mt-lg-2,.my-lg-2{margin-top:.5rem!important}.mr-lg-2,.mx-lg-2{margin-right:.5rem!important}.mb-lg-2,.my-lg-2{margin-bottom:.5rem!important}.ml-lg-2,.mx-lg-2{margin-left:.5rem!important}.m-lg-3{margin:1rem!important}.mt-lg-3,.my-lg-3{margin-top:1rem!important}.mr-lg-3,.mx-lg-3{margin-right:1rem!important}.mb-lg-3,.my-lg-3{margin-bottom:1rem!important}.ml-lg-3,.mx-lg-3{margin-left:1rem!important}.m-lg-4{margin:1.5rem!important}.mt-lg-4,.my-lg-4{margin-top:1.5rem!important}.mr-lg-4,.mx-lg-4{margin-right:1.5rem!important}.mb-lg-4,.my-lg-4{margin-bottom:1.5rem!important}.ml-lg-4,.mx-lg-4{margin-left:1.5rem!important}.m-lg-5{margin:3rem!important}.mt-lg-5,.my-lg-5{margin-top:3rem!important}.mr-lg-5,.mx-lg-5{margin-right:3rem!important}.mb-lg-5,.my-lg-5{margin-bottom:3rem!important}.ml-lg-5,.mx-lg-5{margin-left:3rem!important}.p-lg-0{padding:0!important}.pt-lg-0,.py-lg-0{padding-top:0!important}.pr-lg-0,.px-lg-0{padding-right:0!important}.pb-lg-0,.py-lg-0{padding-bottom:0!important}.pl-lg-0,.px-lg-0{padding-left:0!important}.p-lg-1{padding:.25rem!important}.pt-lg-1,.py-lg-1{padding-top:.25rem!important}.pr-lg-1,.px-lg-1{padding-right:.25rem!important}.pb-lg-1,.py-lg-1{padding-bottom:.25rem!important}.pl-lg-1,.px-lg-1{padding-left:.25rem!important}.p-lg-2{padding:.5rem!important}.pt-lg-2,.py-lg-2{padding-top:.5rem!important}.pr-lg-2,.px-lg-2{padding-right:.5rem!important}.pb-lg-2,.py-lg-2{padding-bottom:.5rem!important}.pl-lg-2,.px-lg-2{padding-left:.5rem!important}.p-lg-3{padding:1rem!important}.pt-lg-3,.py-lg-3{padding-top:1rem!important}.pr-lg-3,.px-lg-3{padding-right:1rem!important}.pb-lg-3,.py-lg-3{padding-bottom:1rem!important}.pl-lg-3,.px-lg-3{padding-left:1rem!important}.p-lg-4{padding:1.5rem!important}.pt-lg-4,.py-lg-4{padding-top:1.5rem!important}.pr-lg-4,.px-lg-4{padding-right:1.5rem!important}.pb-lg-4,.py-lg-4{padding-bottom:1.5rem!important}.pl-lg-4,.px-lg-4{padding-left:1.5rem!important}.p-lg-5{padding:3rem!important}.pt-lg-5,.py-lg-5{padding-top:3rem!important}.pr-lg-5,.px-lg-5{padding-right:3rem!important}.pb-lg-5,.py-lg-5{padding-bottom:3rem!important}.pl-lg-5,.px-lg-5{padding-left:3rem!important}.m-lg-n1{margin:-.25rem!important}.mt-lg-n1,.my-lg-n1{margin-top:-.25rem!important}.mr-lg-n1,.mx-lg-n1{margin-right:-.25rem!important}.mb-lg-n1,.my-lg-n1{margin-bottom:-.25rem!important}.ml-lg-n1,.mx-lg-n1{margin-left:-.25rem!important}.m-lg-n2{margin:-.5rem!important}.mt-lg-n2,.my-lg-n2{margin-top:-.5rem!important}.mr-lg-n2,.mx-lg-n2{margin-right:-.5rem!important}.mb-lg-n2,.my-lg-n2{margin-bottom:-.5rem!important}.ml-lg-n2,.mx-lg-n2{margin-left:-.5rem!important}.m-lg-n3{margin:-1rem!important}.mt-lg-n3,.my-lg-n3{margin-top:-1rem!important}.mr-lg-n3,.mx-lg-n3{margin-right:-1rem!important}.mb-lg-n3,.my-lg-n3{margin-bottom:-1rem!important}.ml-lg-n3,.mx-lg-n3{margin-left:-1rem!important}.m-lg-n4{margin:-1.5rem!important}.mt-lg-n4,.my-lg-n4{margin-top:-1.5rem!important}.mr-lg-n4,.mx-lg-n4{margin-right:-1.5rem!important}.mb-lg-n4,.my-lg-n4{margin-bottom:-1.5rem!important}.ml-lg-n4,.mx-lg-n4{margin-left:-1.5rem!important}.m-lg-n5{margin:-3rem!important}.mt-lg-n5,.my-lg-n5{margin-top:-3rem!important}.mr-lg-n5,.mx-lg-n5{margin-right:-3rem!important}.mb-lg-n5,.my-lg-n5{margin-bottom:-3rem!important}.ml-lg-n5,.mx-lg-n5{margin-left:-3rem!important}.m-lg-auto{margin:auto!important}.mt-lg-auto,.my-lg-auto{margin-top:auto!important}.mr-lg-auto,.mx-lg-auto{margin-right:auto!important}.mb-lg-auto,.my-lg-auto{margin-bottom:auto!important}.ml-lg-auto,.mx-lg-auto{margin-left:auto!important}}@media (min-width:1200px){.m-xl-0{margin:0!important}.mt-xl-0,.my-xl-0{margin-top:0!important}.mr-xl-0,.mx-xl-0{margin-right:0!important}.mb-xl-0,.my-xl-0{margin-bottom:0!important}.ml-xl-0,.mx-xl-0{margin-left:0!important}.m-xl-1{margin:.25rem!important}.mt-xl-1,.my-xl-1{margin-top:.25rem!important}.mr-xl-1,.mx-xl-1{margin-right:.25rem!important}.mb-xl-1,.my-xl-1{margin-bottom:.25rem!important}.ml-xl-1,.mx-xl-1{margin-left:.25rem!important}.m-xl-2{margin:.5rem!important}.mt-xl-2,.my-xl-2{margin-top:.5rem!important}.mr-xl-2,.mx-xl-2{margin-right:.5rem!important}.mb-xl-2,.my-xl-2{margin-bottom:.5rem!important}.ml-xl-2,.mx-xl-2{margin-left:.5rem!important}.m-xl-3{margin:1rem!important}.mt-xl-3,.my-xl-3{margin-top:1rem!important}.mr-xl-3,.mx-xl-3{margin-right:1rem!important}.mb-xl-3,.my-xl-3{margin-bottom:1rem!important}.ml-xl-3,.mx-xl-3{margin-left:1rem!important}.m-xl-4{margin:1.5rem!important}.mt-xl-4,.my-xl-4{margin-top:1.5rem!important}.mr-xl-4,.mx-xl-4{margin-right:1.5rem!important}.mb-xl-4,.my-xl-4{margin-bottom:1.5rem!important}.ml-xl-4,.mx-xl-4{margin-left:1.5rem!important}.m-xl-5{margin:3rem!important}.mt-xl-5,.my-xl-5{margin-top:3rem!important}.mr-xl-5,.mx-xl-5{margin-right:3rem!important}.mb-xl-5,.my-xl-5{margin-bottom:3rem!important}.ml-xl-5,.mx-xl-5{margin-left:3rem!important}.p-xl-0{padding:0!important}.pt-xl-0,.py-xl-0{padding-top:0!important}.pr-xl-0,.px-xl-0{padding-right:0!important}.pb-xl-0,.py-xl-0{padding-bottom:0!important}.pl-xl-0,.px-xl-0{padding-left:0!important}.p-xl-1{padding:.25rem!important}.pt-xl-1,.py-xl-1{padding-top:.25rem!important}.pr-xl-1,.px-xl-1{padding-right:.25rem!important}.pb-xl-1,.py-xl-1{padding-bottom:.25rem!important}.pl-xl-1,.px-xl-1{padding-left:.25rem!important}.p-xl-2{padding:.5rem!important}.pt-xl-2,.py-xl-2{padding-top:.5rem!important}.pr-xl-2,.px-xl-2{padding-right:.5rem!important}.pb-xl-2,.py-xl-2{padding-bottom:.5rem!important}.pl-xl-2,.px-xl-2{padding-left:.5rem!important}.p-xl-3{padding:1rem!important}.pt-xl-3,.py-xl-3{padding-top:1rem!important}.pr-xl-3,.px-xl-3{padding-right:1rem!important}.pb-xl-3,.py-xl-3{padding-bottom:1rem!important}.pl-xl-3,.px-xl-3{padding-left:1rem!important}.p-xl-4{padding:1.5rem!important}.pt-xl-4,.py-xl-4{padding-top:1.5rem!important}.pr-xl-4,.px-xl-4{padding-right:1.5rem!important}.pb-xl-4,.py-xl-4{padding-bottom:1.5rem!important}.pl-xl-4,.px-xl-4{padding-left:1.5rem!important}.p-xl-5{padding:3rem!important}.pt-xl-5,.py-xl-5{padding-top:3rem!important}.pr-xl-5,.px-xl-5{padding-right:3rem!important}.pb-xl-5,.py-xl-5{padding-bottom:3rem!important}.pl-xl-5,.px-xl-5{padding-left:3rem!important}.m-xl-n1{margin:-.25rem!important}.mt-xl-n1,.my-xl-n1{margin-top:-.25rem!important}.mr-xl-n1,.mx-xl-n1{margin-right:-.25rem!important}.mb-xl-n1,.my-xl-n1{margin-bottom:-.25rem!important}.ml-xl-n1,.mx-xl-n1{margin-left:-.25rem!important}.m-xl-n2{margin:-.5rem!important}.mt-xl-n2,.my-xl-n2{margin-top:-.5rem!important}.mr-xl-n2,.mx-xl-n2{margin-right:-.5rem!important}.mb-xl-n2,.my-xl-n2{margin-bottom:-.5rem!important}.ml-xl-n2,.mx-xl-n2{margin-left:-.5rem!important}.m-xl-n3{margin:-1rem!important}.mt-xl-n3,.my-xl-n3{margin-top:-1rem!important}.mr-xl-n3,.mx-xl-n3{margin-right:-1rem!important}.mb-xl-n3,.my-xl-n3{margin-bottom:-1rem!important}.ml-xl-n3,.mx-xl-n3{margin-left:-1rem!important}.m-xl-n4{margin:-1.5rem!important}.mt-xl-n4,.my-xl-n4{margin-top:-1.5rem!important}.mr-xl-n4,.mx-xl-n4{margin-right:-1.5rem!important}.mb-xl-n4,.my-xl-n4{margin-bottom:-1.5rem!important}.ml-xl-n4,.mx-xl-n4{margin-left:-1.5rem!important}.m-xl-n5{margin:-3rem!important}.mt-xl-n5,.my-xl-n5{margin-top:-3rem!important}.mr-xl-n5,.mx-xl-n5{margin-right:-3rem!important}.mb-xl-n5,.my-xl-n5{margin-bottom:-3rem!important}.ml-xl-n5,.mx-xl-n5{margin-left:-3rem!important}.m-xl-auto{margin:auto!important}.mt-xl-auto,.my-xl-auto{margin-top:auto!important}.mr-xl-auto,.mx-xl-auto{margin-right:auto!important}.mb-xl-auto,.my-xl-auto{margin-bottom:auto!important}.ml-xl-auto,.mx-xl-auto{margin-left:auto!important}}.stretched-link:after{background-color:transparent;bottom:0;content:"";left:0;pointer-events:auto;position:absolute;right:0;top:0;z-index:1}.text-monospace{font-family:SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace!important}.text-justify{text-align:justify!important}.text-wrap{white-space:normal!important}.text-nowrap{white-space:nowrap!important}.text-truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.text-left{text-align:left!important}.text-right{text-align:right!important}.text-center{text-align:center!important}@media (min-width:576px){.text-sm-left{text-align:left!important}.text-sm-right{text-align:right!important}.text-sm-center{text-align:center!important}}@media (min-width:768px){.text-md-left{text-align:left!important}.text-md-right{text-align:right!important}.text-md-center{text-align:center!important}}@media (min-width:992px){.text-lg-left{text-align:left!important}.text-lg-right{text-align:right!important}.text-lg-center{text-align:center!important}}@media (min-width:1200px){.text-xl-left{text-align:left!important}.text-xl-right{text-align:right!important}.text-xl-center{text-align:center!important}}.text-lowercase{text-transform:lowercase!important}.text-uppercase{text-transform:uppercase!important}.text-capitalize{text-transform:capitalize!important}.font-weight-light{font-weight:300!important}.font-weight-lighter{font-weight:lighter!important}.font-weight-normal{font-weight:400!important}.font-weight-bold{font-weight:700!important}.font-weight-bolder{font-weight:bolder!important}.font-italic{font-style:italic!important}.text-white{color:#fff!important}.text-primary{color:#3490dc!important}a.text-primary:focus,a.text-primary:hover{color:#1d68a7!important}.text-secondary{color:#6c757d!important}a.text-secondary:focus,a.text-secondary:hover{color:#494f54!important}.text-success{color:#38c172!important}a.text-success:focus,a.text-success:hover{color:#27864f!important}.text-info{color:#6cb2eb!important}a.text-info:focus,a.text-info:hover{color:#298fe2!important}.text-warning{color:#ffed4a!important}a.text-warning:focus,a.text-warning:hover{color:#fde300!important}.text-danger{color:#e3342f!important}a.text-danger:focus,a.text-danger:hover{color:#ae1c17!important}.text-light{color:#f8f9fa!important}a.text-light:focus,a.text-light:hover{color:#cbd3da!important}.text-dark{color:#343a40!important}a.text-dark:focus,a.text-dark:hover{color:#121416!important}.text-body{color:#212529!important}.text-muted{color:#6c757d!important}.text-black-50{color:rgba(0,0,0,.5)!important}.text-white-50{color:hsla(0,0%,100%,.5)!important}.text-hide{background-color:transparent;border:0;color:transparent;font:0/0 a;text-shadow:none}.text-decoration-none{text-decoration:none!important}.text-break{word-wrap:break-word!important;word-break:break-word!important}.text-reset{color:inherit!important}.visible{visibility:visible!important}.invisible{visibility:hidden!important}@media print{*,:after,:before{box-shadow:none!important;text-shadow:none!important}a:not(.btn){text-decoration:underline}abbr[title]:after{content:" (" attr(title) ")"}pre{white-space:pre-wrap!important}blockquote,pre{border:1px solid #adb5bd}blockquote,img,pre,tr{page-break-inside:avoid}h2,h3,p{orphans:3;widows:3}h2,h3{page-break-after:avoid}@page{size:a3}.container,body{min-width:992px!important}.navbar{display:none}.badge{border:1px solid #000}.table{border-collapse:collapse!important}.table td,.table th{background-color:#fff!important}.table-bordered td,.table-bordered th{border:1px solid #dee2e6!important}.table-dark{color:inherit}.table-dark tbody+tbody,.table-dark td,.table-dark th,.table-dark thead th{border-color:#dee2e6}.table .thead-dark th{border-color:#dee2e6;color:inherit}}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-tap-highlight-color:transparent;-webkit-backface-visibility:hidden;height:100%;left:0;outline:none;position:fixed;top:0;touch-action:manipulation;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{-webkit-font-smoothing:subpixel-antialiased;-webkit-touch-callout:none;color:#ccc;font-size:13px;height:44px;left:0;line-height:44px;min-width:44px;mix-blend-mode:difference;padding:0 10px;pointer-events:none;top:0;-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;transform:translateZ(0);z-index:99994}.fancybox-is-open .fancybox-stage{overflow:hidden}.fancybox-slide{-webkit-overflow-scrolling:touch;-webkit-backface-visibility:hidden;display:none;height:100%;left:0;outline:none;overflow:auto;padding:44px;position:absolute;text-align:center;top:0;transition-property:transform,opacity;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{-webkit-overflow-scrolling:touch;background:#fff;display:inline-block;margin:0;max-width:100%;overflow:auto;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;transform-origin:top left;transition-property:transform,opacity;-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:first-child,.fancybox-button--pause svg:first-child,.fancybox-button--play svg:nth-child(2){display:none}.fancybox-progress{background:#ff5268;height:2px;left:0;position:absolute;right:0;top:0;transform:scaleX(0);transform-origin:0;transition-property: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;left:env(safe-area-inset-left);padding:31px 26px 31px 6px}.fancybox-navigation .fancybox-button--arrow_right{padding:31px 6px 31px 26px;right:0;right:env(safe-area-inset-right)}.fancybox-caption{background:linear-gradient(0deg,rgba(0,0,0,.85) 0,rgba(0,0,0,.3) 50%,rgba(0,0,0,.15) 65%,rgba(0,0,0,.075) 75.5%,rgba(0,0,0,.037) 82.85%,rgba(0,0,0,.019) 88%,transparent);bottom:0;color:#eee;font-size:14px;font-weight:400;left:0;line-height:1.5;padding:75px 44px 25px;pointer-events:none;right:0;text-align:center;z-index:99996}@supports (padding:0px){.fancybox-caption{padding:75px max(44px,env(safe-area-inset-right)) max(25px,env(safe-area-inset-bottom)) max(44px,env(safe-area-inset-left))}}.fancybox-caption--separate{margin-top:-50px}.fancybox-caption__body{max-height:50vh;overflow:auto;pointer-events:all}.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:fancybox-rotate 1s linear infinite;animation:fancybox-rotate 1s linear infinite;background:transparent;border:4px solid;border-color:#888 #888 #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 fancybox-rotate{to{transform:rotate(1turn)}}@keyframes fancybox-rotate{to{transform:rotate(1turn)}}.fancybox-animated{transition-timing-function:cubic-bezier(0,0,.25,1)}.fancybox-fx-slide.fancybox-slide--previous{opacity:0;transform:translate3d(-100%,0,0)}.fancybox-fx-slide.fancybox-slide--next{opacity:0;transform:translate3d(100%,0,0)}.fancybox-fx-slide.fancybox-slide--current{opacity:1;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;transform:scale3d(1.5,1.5,1.5)}.fancybox-fx-zoom-in-out.fancybox-slide--next{opacity:0;transform:scale3d(.5,.5,.5)}.fancybox-fx-zoom-in-out.fancybox-slide--current{opacity:1;transform:scaleX(1)}.fancybox-fx-rotate.fancybox-slide--previous{opacity:0;transform:rotate(-1turn)}.fancybox-fx-rotate.fancybox-slide--next{opacity:0;transform:rotate(1turn)}.fancybox-fx-rotate.fancybox-slide--current{opacity:1;transform:rotate(0deg)}.fancybox-fx-circular.fancybox-slide--previous{opacity:0;transform:scale3d(0,0,0) translate3d(-100%,0,0)}.fancybox-fx-circular.fancybox-slide--next{opacity:0;transform:scale3d(0,0,0) translate3d(100%,0,0)}.fancybox-fx-circular.fancybox-slide--current{opacity:1;transform:scaleX(1) translateZ(0)}.fancybox-fx-tube.fancybox-slide--previous{transform:translate3d(-100%,0,0) scale(.1) skew(-10deg)}.fancybox-fx-tube.fancybox-slide--next{transform:translate3d(100%,0,0) scale(.1) skew(10deg)}.fancybox-fx-tube.fancybox-slide--current{transform:translateZ(0) scale(1)}@media (max-height:576px){.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-caption{padding-left:12px;padding-right:12px}@supports (padding:0px){.fancybox-caption{padding-left:max(12px,env(safe-area-inset-left));padding-right:max(12px,env(safe-area-inset-right))}}}.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{-webkit-overflow-scrolling:touch;-ms-overflow-style:-ms-autohiding-scrollbar;-webkit-tap-highlight-color:rgba(0,0,0,0);background:#ddd;bottom:0;display:none;margin:0;padding:2px 2px 4px;position:absolute;right:0;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-tap-highlight-color:transparent;-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;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)}}.onoffswitch{position:relative;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;width:80px}.onoffswitch-checkbox{opacity:0;pointer-events:none;position:absolute}.onoffswitch-label{border:2px solid #999;border-radius:8px;cursor:pointer;display:block;overflow:hidden}.onoffswitch-inner{display:block;margin-left:-100%;transition:margin .3s ease-in 0s;width:200%}.onoffswitch-inner:after,.onoffswitch-inner:before{box-sizing:border-box;color:#fff;display:block;float:left;font-family:Trebuchet,Arial,sans-serif;font-size:15px;font-weight:700;height:35px;line-height:35px;padding:0;width:50%}.onoffswitch-inner:before{background-color:#2196f3;color:#fff;content:"Oui";padding-left:10px}.onoffswitch-inner:after{background-color:#ccc;color:#999;content:"Non";padding-right:10px;text-align:right}.onoffswitch-switch{background:#fff;border:2px solid #999;border-radius:8px;bottom:0;display:block;margin:6.5px;position:absolute;right:41px;top:0;transition:all .3s ease-in 0s;width:22px}.onoffswitch-checkbox:checked+.onoffswitch-label .onoffswitch-inner{margin-left:0}.onoffswitch-checkbox:checked+.onoffswitch-label .onoffswitch-switch{right:0}.required-asterisk{color:red}.game-name{font-size:large;text-align:center} +@charset "UTF-8"; +:root{ + --blue:#3490dc; + --indigo:#6574cd; + --purple:#9561e2; + --pink:#f66d9b; + --red:#e3342f; + --orange:#f6993f; + --yellow:#ffed4a; + --green:#38c172; + --teal:#4dc0b5; + --cyan:#6cb2eb; + --white:#fff; + --gray:#6c757d; + --gray-dark:#343a40; + --primary:#3490dc; + --secondary:#6c757d; + --success:#38c172; + --info:#6cb2eb; + --warning:#ffed4a; + --danger:#e3342f; + --light:#f8f9fa; + --dark:#343a40; + --breakpoint-xs:0; + --breakpoint-sm:576px; + --breakpoint-md:768px; + --breakpoint-lg:992px; + --breakpoint-xl:1200px; + --font-family-sans-serif:"Nunito", sans-serif; + --font-family-monospace:SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace; +} + +*, +*::before, +*::after{ + box-sizing:border-box; +} + +html{ + font-family:sans-serif; + line-height:1.15; + -webkit-text-size-adjust:100%; + -webkit-tap-highlight-color:rgba(0, 0, 0, 0); +} + +article, aside, figcaption, figure, footer, header, hgroup, main, nav, section{ + display:block; +} + +body{ + margin:0; + font-family:"Nunito", sans-serif; + font-size:0.9rem; + font-weight:400; + line-height:1.6; + color:#212529; + text-align:left; + background-color:#f8fafc; +} + +[tabindex="-1"]:focus:not(:focus-visible){ + outline:0 !important; +} + +hr{ + box-sizing:content-box; + height:0; + overflow:visible; +} + +h1, h2, h3, h4, h5, h6{ + margin-top:0; + margin-bottom:0.5rem; +} + +p{ + margin-top:0; + margin-bottom:1rem; +} + +abbr[title], +abbr[data-original-title]{ + text-decoration:underline; + -webkit-text-decoration:underline dotted; + text-decoration:underline dotted; + cursor:help; + border-bottom:0; + -webkit-text-decoration-skip-ink:none; + text-decoration-skip-ink:none; +} + +address{ + margin-bottom:1rem; + font-style:normal; + line-height:inherit; +} + +ol, +ul, +dl{ + margin-top:0; + margin-bottom:1rem; +} + +ol ol, +ul ul, +ol ul, +ul ol{ + margin-bottom:0; +} + +dt{ + font-weight:700; +} + +dd{ + margin-bottom:0.5rem; + margin-left:0; +} + +blockquote{ + margin:0 0 1rem; +} + +b, +strong{ + font-weight:bolder; +} + +small{ + font-size:80%; +} + +sub, +sup{ + position:relative; + font-size:75%; + line-height:0; + vertical-align:baseline; +} + +sub{ + bottom:-0.25em; +} + +sup{ + top:-0.5em; +} + +a{ + color:#3490dc; + text-decoration:none; + background-color:transparent; +} +a:hover{ + color:#1d68a7; + text-decoration:underline; +} + +a:not([href]):not([class]){ + color:inherit; + text-decoration:none; +} +a:not([href]):not([class]):hover{ + color:inherit; + text-decoration:none; +} + +pre, +code, +kbd, +samp{ + font-family:SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace; + font-size:1em; +} + +pre{ + margin-top:0; + margin-bottom:1rem; + overflow:auto; + -ms-overflow-style:scrollbar; +} + +figure{ + margin:0 0 1rem; +} + +img{ + vertical-align:middle; + border-style:none; +} + +svg{ + overflow:hidden; + vertical-align:middle; +} + +table{ + border-collapse:collapse; +} + +caption{ + padding-top:0.75rem; + padding-bottom:0.75rem; + color:#6c757d; + text-align:left; + caption-side:bottom; +} + +th{ + text-align:inherit; + text-align:-webkit-match-parent; +} + +label{ + display:inline-block; + margin-bottom:0.5rem; +} + +button{ + border-radius:0; +} + +button:focus:not(:focus-visible){ + outline:0; +} + +input, +button, +select, +optgroup, +textarea{ + margin:0; + font-family:inherit; + font-size:inherit; + line-height:inherit; +} + +button, +input{ + overflow:visible; +} + +button, +select{ + text-transform:none; +} + +[role=button]{ + cursor:pointer; +} + +select{ + word-wrap:normal; +} + +button, +[type=button], +[type=reset], +[type=submit]{ + -webkit-appearance:button; +} + +button:not(:disabled), +[type=button]:not(:disabled), +[type=reset]:not(:disabled), +[type=submit]:not(:disabled){ + cursor:pointer; +} + +button::-moz-focus-inner, +[type=button]::-moz-focus-inner, +[type=reset]::-moz-focus-inner, +[type=submit]::-moz-focus-inner{ + padding:0; + border-style:none; +} + +input[type=radio], +input[type=checkbox]{ + box-sizing:border-box; + padding:0; +} + +textarea{ + overflow:auto; + resize:vertical; +} + +fieldset{ + min-width:0; + padding:0; + margin:0; + border:0; +} + +legend{ + display:block; + width:100%; + max-width:100%; + padding:0; + margin-bottom:0.5rem; + font-size:1.5rem; + line-height:inherit; + color:inherit; + white-space:normal; +} + +progress{ + vertical-align:baseline; +} + +[type=number]::-webkit-inner-spin-button, +[type=number]::-webkit-outer-spin-button{ + height:auto; +} + +[type=search]{ + outline-offset:-2px; + -webkit-appearance:none; +} + +[type=search]::-webkit-search-decoration{ + -webkit-appearance:none; +} + +::-webkit-file-upload-button{ + font:inherit; + -webkit-appearance:button; +} + +output{ + display:inline-block; +} + +summary{ + display:list-item; + cursor:pointer; +} + +template{ + display:none; +} + +[hidden]{ + display:none !important; +} + +h1, h2, h3, h4, h5, h6, +.h1, .h2, .h3, .h4, .h5, .h6{ + margin-bottom:0.5rem; + font-weight:500; + line-height:1.2; +} + +h1, .h1{ + font-size:2.25rem; +} + +h2, .h2{ + font-size:1.8rem; +} + +h3, .h3{ + font-size:1.575rem; +} + +h4, .h4{ + font-size:1.35rem; +} + +h5, .h5{ + font-size:1.125rem; +} + +h6, .h6{ + font-size:0.9rem; +} + +.lead{ + font-size:1.125rem; + font-weight:300; +} + +.display-1{ + font-size:6rem; + font-weight:300; + line-height:1.2; +} + +.display-2{ + font-size:5.5rem; + font-weight:300; + line-height:1.2; +} + +.display-3{ + font-size:4.5rem; + font-weight:300; + line-height:1.2; +} + +.display-4{ + font-size:3.5rem; + font-weight:300; + line-height:1.2; +} + +hr{ + margin-top:1rem; + margin-bottom:1rem; + border:0; + border-top:1px solid rgba(0, 0, 0, 0.1); +} + +small, +.small{ + font-size:80%; + font-weight:400; +} + +mark, +.mark{ + padding:0.2em; + background-color:#fcf8e3; +} + +.list-unstyled{ + padding-left:0; + list-style:none; +} + +.list-inline{ + padding-left:0; + list-style:none; +} + +.list-inline-item{ + display:inline-block; +} +.list-inline-item:not(:last-child){ + margin-right:0.5rem; +} + +.initialism{ + font-size:90%; + text-transform:uppercase; +} + +.blockquote{ + margin-bottom:1rem; + font-size:1.125rem; +} + +.blockquote-footer{ + display:block; + font-size:80%; + color:#6c757d; +} +.blockquote-footer::before{ + content:"— "; +} + +.img-fluid{ + max-width:100%; + height:auto; +} + +.img-thumbnail{ + padding:0.25rem; + background-color:#f8fafc; + border:1px solid #dee2e6; + border-radius:0.25rem; + max-width:100%; + height:auto; +} + +.figure{ + display:inline-block; +} + +.figure-img{ + margin-bottom:0.5rem; + line-height:1; +} + +.figure-caption{ + font-size:90%; + color:#6c757d; +} + +code{ + font-size:87.5%; + color:#f66d9b; + word-wrap:break-word; +} +a > code{ + color:inherit; +} + +kbd{ + padding:0.2rem 0.4rem; + font-size:87.5%; + color:#fff; + background-color:#212529; + border-radius:0.2rem; +} +kbd kbd{ + padding:0; + font-size:100%; + font-weight:700; +} + +pre{ + display:block; + font-size:87.5%; + color:#212529; +} +pre code{ + font-size:inherit; + color:inherit; + word-break:normal; +} + +.pre-scrollable{ + max-height:340px; + overflow-y:scroll; +} + +.container, +.container-fluid, +.container-xl, +.container-lg, +.container-md, +.container-sm{ + width:100%; + padding-right:15px; + padding-left:15px; + margin-right:auto; + margin-left:auto; +} + +@media (min-width: 576px){ + .container-sm, .container{ + max-width:540px; + } +} +@media (min-width: 768px){ + .container-md, .container-sm, .container{ + max-width:720px; + } +} +@media (min-width: 992px){ + .container-lg, .container-md, .container-sm, .container{ + max-width:960px; + } +} +@media (min-width: 1200px){ + .container-xl, .container-lg, .container-md, .container-sm, .container{ + max-width:1140px; + } +} +.row{ + display:flex; + flex-wrap:wrap; + margin-right:-15px; + margin-left:-15px; +} + +.no-gutters{ + margin-right:0; + margin-left:0; +} +.no-gutters > .col, +.no-gutters > [class*=col-]{ + padding-right:0; + padding-left:0; +} + +.col-xl, +.col-xl-auto, .col-xl-12, .col-xl-11, .col-xl-10, .col-xl-9, .col-xl-8, .col-xl-7, .col-xl-6, .col-xl-5, .col-xl-4, .col-xl-3, .col-xl-2, .col-xl-1, .col-lg, +.col-lg-auto, .col-lg-12, .col-lg-11, .col-lg-10, .col-lg-9, .col-lg-8, .col-lg-7, .col-lg-6, .col-lg-5, .col-lg-4, .col-lg-3, .col-lg-2, .col-lg-1, .col-md, +.col-md-auto, .col-md-12, .col-md-11, .col-md-10, .col-md-9, .col-md-8, .col-md-7, .col-md-6, .col-md-5, .col-md-4, .col-md-3, .col-md-2, .col-md-1, .col-sm, +.col-sm-auto, .col-sm-12, .col-sm-11, .col-sm-10, .col-sm-9, .col-sm-8, .col-sm-7, .col-sm-6, .col-sm-5, .col-sm-4, .col-sm-3, .col-sm-2, .col-sm-1, .col, +.col-auto, .col-12, .col-11, .col-10, .col-9, .col-8, .col-7, .col-6, .col-5, .col-4, .col-3, .col-2, .col-1{ + position:relative; + width:100%; + padding-right:15px; + padding-left:15px; +} + +.col{ + flex-basis:0; + flex-grow:1; + max-width:100%; +} + +.row-cols-1 > *{ + flex:0 0 100%; + max-width:100%; +} + +.row-cols-2 > *{ + flex:0 0 50%; + max-width:50%; +} + +.row-cols-3 > *{ + flex:0 0 33.3333333333%; + max-width:33.3333333333%; +} + +.row-cols-4 > *{ + flex:0 0 25%; + max-width:25%; +} + +.row-cols-5 > *{ + flex:0 0 20%; + max-width:20%; +} + +.row-cols-6 > *{ + flex:0 0 16.6666666667%; + max-width:16.6666666667%; +} + +.col-auto{ + flex:0 0 auto; + width:auto; + max-width:100%; +} + +.col-1{ + flex:0 0 8.33333333%; + max-width:8.33333333%; +} + +.col-2{ + flex:0 0 16.66666667%; + max-width:16.66666667%; +} + +.col-3{ + flex:0 0 25%; + max-width:25%; +} + +.col-4{ + flex:0 0 33.33333333%; + max-width:33.33333333%; +} + +.col-5{ + flex:0 0 41.66666667%; + max-width:41.66666667%; +} + +.col-6{ + flex:0 0 50%; + max-width:50%; +} + +.col-7{ + flex:0 0 58.33333333%; + max-width:58.33333333%; +} + +.col-8{ + flex:0 0 66.66666667%; + max-width:66.66666667%; +} + +.col-9{ + flex:0 0 75%; + max-width:75%; +} + +.col-10{ + flex:0 0 83.33333333%; + max-width:83.33333333%; +} + +.col-11{ + flex:0 0 91.66666667%; + max-width:91.66666667%; +} + +.col-12{ + flex:0 0 100%; + max-width:100%; +} + +.order-first{ + order:-1; +} + +.order-last{ + order:13; +} + +.order-0{ + order:0; +} + +.order-1{ + order:1; +} + +.order-2{ + order:2; +} + +.order-3{ + order:3; +} + +.order-4{ + order:4; +} + +.order-5{ + order:5; +} + +.order-6{ + order:6; +} + +.order-7{ + order:7; +} + +.order-8{ + order:8; +} + +.order-9{ + order:9; +} + +.order-10{ + order:10; +} + +.order-11{ + order:11; +} + +.order-12{ + order:12; +} + +.offset-1{ + margin-left:8.33333333%; +} + +.offset-2{ + margin-left:16.66666667%; +} + +.offset-3{ + margin-left:25%; +} + +.offset-4{ + margin-left:33.33333333%; +} + +.offset-5{ + margin-left:41.66666667%; +} + +.offset-6{ + margin-left:50%; +} + +.offset-7{ + margin-left:58.33333333%; +} + +.offset-8{ + margin-left:66.66666667%; +} + +.offset-9{ + margin-left:75%; +} + +.offset-10{ + margin-left:83.33333333%; +} + +.offset-11{ + margin-left:91.66666667%; +} + +@media (min-width: 576px){ + .col-sm{ + flex-basis:0; + flex-grow:1; + max-width:100%; + } + + .row-cols-sm-1 > *{ + flex:0 0 100%; + max-width:100%; + } + + .row-cols-sm-2 > *{ + flex:0 0 50%; + max-width:50%; + } + + .row-cols-sm-3 > *{ + flex:0 0 33.3333333333%; + max-width:33.3333333333%; + } + + .row-cols-sm-4 > *{ + flex:0 0 25%; + max-width:25%; + } + + .row-cols-sm-5 > *{ + flex:0 0 20%; + max-width:20%; + } + + .row-cols-sm-6 > *{ + flex:0 0 16.6666666667%; + max-width:16.6666666667%; + } + + .col-sm-auto{ + flex:0 0 auto; + width:auto; + max-width:100%; + } + + .col-sm-1{ + flex:0 0 8.33333333%; + max-width:8.33333333%; + } + + .col-sm-2{ + flex:0 0 16.66666667%; + max-width:16.66666667%; + } + + .col-sm-3{ + flex:0 0 25%; + max-width:25%; + } + + .col-sm-4{ + flex:0 0 33.33333333%; + max-width:33.33333333%; + } + + .col-sm-5{ + flex:0 0 41.66666667%; + max-width:41.66666667%; + } + + .col-sm-6{ + flex:0 0 50%; + max-width:50%; + } + + .col-sm-7{ + flex:0 0 58.33333333%; + max-width:58.33333333%; + } + + .col-sm-8{ + flex:0 0 66.66666667%; + max-width:66.66666667%; + } + + .col-sm-9{ + flex:0 0 75%; + max-width:75%; + } + + .col-sm-10{ + flex:0 0 83.33333333%; + max-width:83.33333333%; + } + + .col-sm-11{ + flex:0 0 91.66666667%; + max-width:91.66666667%; + } + + .col-sm-12{ + flex:0 0 100%; + max-width:100%; + } + + .order-sm-first{ + order:-1; + } + + .order-sm-last{ + order:13; + } + + .order-sm-0{ + order:0; + } + + .order-sm-1{ + order:1; + } + + .order-sm-2{ + order:2; + } + + .order-sm-3{ + order:3; + } + + .order-sm-4{ + order:4; + } + + .order-sm-5{ + order:5; + } + + .order-sm-6{ + order:6; + } + + .order-sm-7{ + order:7; + } + + .order-sm-8{ + order:8; + } + + .order-sm-9{ + order:9; + } + + .order-sm-10{ + order:10; + } + + .order-sm-11{ + order:11; + } + + .order-sm-12{ + order:12; + } + + .offset-sm-0{ + margin-left:0; + } + + .offset-sm-1{ + margin-left:8.33333333%; + } + + .offset-sm-2{ + margin-left:16.66666667%; + } + + .offset-sm-3{ + margin-left:25%; + } + + .offset-sm-4{ + margin-left:33.33333333%; + } + + .offset-sm-5{ + margin-left:41.66666667%; + } + + .offset-sm-6{ + margin-left:50%; + } + + .offset-sm-7{ + margin-left:58.33333333%; + } + + .offset-sm-8{ + margin-left:66.66666667%; + } + + .offset-sm-9{ + margin-left:75%; + } + + .offset-sm-10{ + margin-left:83.33333333%; + } + + .offset-sm-11{ + margin-left:91.66666667%; + } +} +@media (min-width: 768px){ + .col-md{ + flex-basis:0; + flex-grow:1; + max-width:100%; + } + + .row-cols-md-1 > *{ + flex:0 0 100%; + max-width:100%; + } + + .row-cols-md-2 > *{ + flex:0 0 50%; + max-width:50%; + } + + .row-cols-md-3 > *{ + flex:0 0 33.3333333333%; + max-width:33.3333333333%; + } + + .row-cols-md-4 > *{ + flex:0 0 25%; + max-width:25%; + } + + .row-cols-md-5 > *{ + flex:0 0 20%; + max-width:20%; + } + + .row-cols-md-6 > *{ + flex:0 0 16.6666666667%; + max-width:16.6666666667%; + } + + .col-md-auto{ + flex:0 0 auto; + width:auto; + max-width:100%; + } + + .col-md-1{ + flex:0 0 8.33333333%; + max-width:8.33333333%; + } + + .col-md-2{ + flex:0 0 16.66666667%; + max-width:16.66666667%; + } + + .col-md-3{ + flex:0 0 25%; + max-width:25%; + } + + .col-md-4{ + flex:0 0 33.33333333%; + max-width:33.33333333%; + } + + .col-md-5{ + flex:0 0 41.66666667%; + max-width:41.66666667%; + } + + .col-md-6{ + flex:0 0 50%; + max-width:50%; + } + + .col-md-7{ + flex:0 0 58.33333333%; + max-width:58.33333333%; + } + + .col-md-8{ + flex:0 0 66.66666667%; + max-width:66.66666667%; + } + + .col-md-9{ + flex:0 0 75%; + max-width:75%; + } + + .col-md-10{ + flex:0 0 83.33333333%; + max-width:83.33333333%; + } + + .col-md-11{ + flex:0 0 91.66666667%; + max-width:91.66666667%; + } + + .col-md-12{ + flex:0 0 100%; + max-width:100%; + } + + .order-md-first{ + order:-1; + } + + .order-md-last{ + order:13; + } + + .order-md-0{ + order:0; + } + + .order-md-1{ + order:1; + } + + .order-md-2{ + order:2; + } + + .order-md-3{ + order:3; + } + + .order-md-4{ + order:4; + } + + .order-md-5{ + order:5; + } + + .order-md-6{ + order:6; + } + + .order-md-7{ + order:7; + } + + .order-md-8{ + order:8; + } + + .order-md-9{ + order:9; + } + + .order-md-10{ + order:10; + } + + .order-md-11{ + order:11; + } + + .order-md-12{ + order:12; + } + + .offset-md-0{ + margin-left:0; + } + + .offset-md-1{ + margin-left:8.33333333%; + } + + .offset-md-2{ + margin-left:16.66666667%; + } + + .offset-md-3{ + margin-left:25%; + } + + .offset-md-4{ + margin-left:33.33333333%; + } + + .offset-md-5{ + margin-left:41.66666667%; + } + + .offset-md-6{ + margin-left:50%; + } + + .offset-md-7{ + margin-left:58.33333333%; + } + + .offset-md-8{ + margin-left:66.66666667%; + } + + .offset-md-9{ + margin-left:75%; + } + + .offset-md-10{ + margin-left:83.33333333%; + } + + .offset-md-11{ + margin-left:91.66666667%; + } +} +@media (min-width: 992px){ + .col-lg{ + flex-basis:0; + flex-grow:1; + max-width:100%; + } + + .row-cols-lg-1 > *{ + flex:0 0 100%; + max-width:100%; + } + + .row-cols-lg-2 > *{ + flex:0 0 50%; + max-width:50%; + } + + .row-cols-lg-3 > *{ + flex:0 0 33.3333333333%; + max-width:33.3333333333%; + } + + .row-cols-lg-4 > *{ + flex:0 0 25%; + max-width:25%; + } + + .row-cols-lg-5 > *{ + flex:0 0 20%; + max-width:20%; + } + + .row-cols-lg-6 > *{ + flex:0 0 16.6666666667%; + max-width:16.6666666667%; + } + + .col-lg-auto{ + flex:0 0 auto; + width:auto; + max-width:100%; + } + + .col-lg-1{ + flex:0 0 8.33333333%; + max-width:8.33333333%; + } + + .col-lg-2{ + flex:0 0 16.66666667%; + max-width:16.66666667%; + } + + .col-lg-3{ + flex:0 0 25%; + max-width:25%; + } + + .col-lg-4{ + flex:0 0 33.33333333%; + max-width:33.33333333%; + } + + .col-lg-5{ + flex:0 0 41.66666667%; + max-width:41.66666667%; + } + + .col-lg-6{ + flex:0 0 50%; + max-width:50%; + } + + .col-lg-7{ + flex:0 0 58.33333333%; + max-width:58.33333333%; + } + + .col-lg-8{ + flex:0 0 66.66666667%; + max-width:66.66666667%; + } + + .col-lg-9{ + flex:0 0 75%; + max-width:75%; + } + + .col-lg-10{ + flex:0 0 83.33333333%; + max-width:83.33333333%; + } + + .col-lg-11{ + flex:0 0 91.66666667%; + max-width:91.66666667%; + } + + .col-lg-12{ + flex:0 0 100%; + max-width:100%; + } + + .order-lg-first{ + order:-1; + } + + .order-lg-last{ + order:13; + } + + .order-lg-0{ + order:0; + } + + .order-lg-1{ + order:1; + } + + .order-lg-2{ + order:2; + } + + .order-lg-3{ + order:3; + } + + .order-lg-4{ + order:4; + } + + .order-lg-5{ + order:5; + } + + .order-lg-6{ + order:6; + } + + .order-lg-7{ + order:7; + } + + .order-lg-8{ + order:8; + } + + .order-lg-9{ + order:9; + } + + .order-lg-10{ + order:10; + } + + .order-lg-11{ + order:11; + } + + .order-lg-12{ + order:12; + } + + .offset-lg-0{ + margin-left:0; + } + + .offset-lg-1{ + margin-left:8.33333333%; + } + + .offset-lg-2{ + margin-left:16.66666667%; + } + + .offset-lg-3{ + margin-left:25%; + } + + .offset-lg-4{ + margin-left:33.33333333%; + } + + .offset-lg-5{ + margin-left:41.66666667%; + } + + .offset-lg-6{ + margin-left:50%; + } + + .offset-lg-7{ + margin-left:58.33333333%; + } + + .offset-lg-8{ + margin-left:66.66666667%; + } + + .offset-lg-9{ + margin-left:75%; + } + + .offset-lg-10{ + margin-left:83.33333333%; + } + + .offset-lg-11{ + margin-left:91.66666667%; + } +} +@media (min-width: 1200px){ + .col-xl{ + flex-basis:0; + flex-grow:1; + max-width:100%; + } + + .row-cols-xl-1 > *{ + flex:0 0 100%; + max-width:100%; + } + + .row-cols-xl-2 > *{ + flex:0 0 50%; + max-width:50%; + } + + .row-cols-xl-3 > *{ + flex:0 0 33.3333333333%; + max-width:33.3333333333%; + } + + .row-cols-xl-4 > *{ + flex:0 0 25%; + max-width:25%; + } + + .row-cols-xl-5 > *{ + flex:0 0 20%; + max-width:20%; + } + + .row-cols-xl-6 > *{ + flex:0 0 16.6666666667%; + max-width:16.6666666667%; + } + + .col-xl-auto{ + flex:0 0 auto; + width:auto; + max-width:100%; + } + + .col-xl-1{ + flex:0 0 8.33333333%; + max-width:8.33333333%; + } + + .col-xl-2{ + flex:0 0 16.66666667%; + max-width:16.66666667%; + } + + .col-xl-3{ + flex:0 0 25%; + max-width:25%; + } + + .col-xl-4{ + flex:0 0 33.33333333%; + max-width:33.33333333%; + } + + .col-xl-5{ + flex:0 0 41.66666667%; + max-width:41.66666667%; + } + + .col-xl-6{ + flex:0 0 50%; + max-width:50%; + } + + .col-xl-7{ + flex:0 0 58.33333333%; + max-width:58.33333333%; + } + + .col-xl-8{ + flex:0 0 66.66666667%; + max-width:66.66666667%; + } + + .col-xl-9{ + flex:0 0 75%; + max-width:75%; + } + + .col-xl-10{ + flex:0 0 83.33333333%; + max-width:83.33333333%; + } + + .col-xl-11{ + flex:0 0 91.66666667%; + max-width:91.66666667%; + } + + .col-xl-12{ + flex:0 0 100%; + max-width:100%; + } + + .order-xl-first{ + order:-1; + } + + .order-xl-last{ + order:13; + } + + .order-xl-0{ + order:0; + } + + .order-xl-1{ + order:1; + } + + .order-xl-2{ + order:2; + } + + .order-xl-3{ + order:3; + } + + .order-xl-4{ + order:4; + } + + .order-xl-5{ + order:5; + } + + .order-xl-6{ + order:6; + } + + .order-xl-7{ + order:7; + } + + .order-xl-8{ + order:8; + } + + .order-xl-9{ + order:9; + } + + .order-xl-10{ + order:10; + } + + .order-xl-11{ + order:11; + } + + .order-xl-12{ + order:12; + } + + .offset-xl-0{ + margin-left:0; + } + + .offset-xl-1{ + margin-left:8.33333333%; + } + + .offset-xl-2{ + margin-left:16.66666667%; + } + + .offset-xl-3{ + margin-left:25%; + } + + .offset-xl-4{ + margin-left:33.33333333%; + } + + .offset-xl-5{ + margin-left:41.66666667%; + } + + .offset-xl-6{ + margin-left:50%; + } + + .offset-xl-7{ + margin-left:58.33333333%; + } + + .offset-xl-8{ + margin-left:66.66666667%; + } + + .offset-xl-9{ + margin-left:75%; + } + + .offset-xl-10{ + margin-left:83.33333333%; + } + + .offset-xl-11{ + margin-left:91.66666667%; + } +} +.table{ + width:100%; + margin-bottom:1rem; + color:#212529; +} +.table th, +.table td{ + padding:0.75rem; + vertical-align:top; + border-top:1px solid #dee2e6; +} +.table thead th{ + vertical-align:bottom; + border-bottom:2px solid #dee2e6; +} +.table tbody + tbody{ + border-top:2px solid #dee2e6; +} + +.table-sm th, +.table-sm td{ + padding:0.3rem; +} + +.table-bordered{ + border:1px solid #dee2e6; +} +.table-bordered th, +.table-bordered td{ + border:1px solid #dee2e6; +} +.table-bordered thead th, +.table-bordered thead td{ + border-bottom-width:2px; +} + +.table-borderless th, +.table-borderless td, +.table-borderless thead th, +.table-borderless tbody + tbody{ + border:0; +} + +.table-striped tbody tr:nth-of-type(odd){ + background-color:rgba(0, 0, 0, 0.05); +} + +.table-hover tbody tr:hover{ + color:#212529; + background-color:rgba(0, 0, 0, 0.075); +} + +.table-primary, +.table-primary > th, +.table-primary > td{ + background-color:#c6e0f5; +} +.table-primary th, +.table-primary td, +.table-primary thead th, +.table-primary tbody + tbody{ + border-color:#95c5ed; +} + +.table-hover .table-primary:hover{ + background-color:#b0d4f1; +} +.table-hover .table-primary:hover > td, +.table-hover .table-primary:hover > th{ + background-color:#b0d4f1; +} + +.table-secondary, +.table-secondary > th, +.table-secondary > td{ + background-color:#d6d8db; +} +.table-secondary th, +.table-secondary td, +.table-secondary thead th, +.table-secondary tbody + tbody{ + border-color:#b3b7bb; +} + +.table-hover .table-secondary:hover{ + background-color:#c8cbcf; +} +.table-hover .table-secondary:hover > td, +.table-hover .table-secondary:hover > th{ + background-color:#c8cbcf; +} + +.table-success, +.table-success > th, +.table-success > td{ + background-color:#c7eed8; +} +.table-success th, +.table-success td, +.table-success thead th, +.table-success tbody + tbody{ + border-color:#98dfb6; +} + +.table-hover .table-success:hover{ + background-color:#b3e8ca; +} +.table-hover .table-success:hover > td, +.table-hover .table-success:hover > th{ + background-color:#b3e8ca; +} + +.table-info, +.table-info > th, +.table-info > td{ + background-color:#d6e9f9; +} +.table-info th, +.table-info td, +.table-info thead th, +.table-info tbody + tbody{ + border-color:#b3d7f5; +} + +.table-hover .table-info:hover{ + background-color:#c0ddf6; +} +.table-hover .table-info:hover > td, +.table-hover .table-info:hover > th{ + background-color:#c0ddf6; +} + +.table-warning, +.table-warning > th, +.table-warning > td{ + background-color:#fffacc; +} +.table-warning th, +.table-warning td, +.table-warning thead th, +.table-warning tbody + tbody{ + border-color:#fff6a1; +} + +.table-hover .table-warning:hover{ + background-color:#fff8b3; +} +.table-hover .table-warning:hover > td, +.table-hover .table-warning:hover > th{ + background-color:#fff8b3; +} + +.table-danger, +.table-danger > th, +.table-danger > td{ + background-color:#f7c6c5; +} +.table-danger th, +.table-danger td, +.table-danger thead th, +.table-danger tbody + tbody{ + border-color:#f09593; +} + +.table-hover .table-danger:hover{ + background-color:#f4b0af; +} +.table-hover .table-danger:hover > td, +.table-hover .table-danger:hover > th{ + background-color:#f4b0af; +} + +.table-light, +.table-light > th, +.table-light > td{ + background-color:#fdfdfe; +} +.table-light th, +.table-light td, +.table-light thead th, +.table-light tbody + tbody{ + border-color:#fbfcfc; +} + +.table-hover .table-light:hover{ + background-color:#ececf6; +} +.table-hover .table-light:hover > td, +.table-hover .table-light:hover > th{ + background-color:#ececf6; +} + +.table-dark, +.table-dark > th, +.table-dark > td{ + background-color:#c6c8ca; +} +.table-dark th, +.table-dark td, +.table-dark thead th, +.table-dark tbody + tbody{ + border-color:#95999c; +} + +.table-hover .table-dark:hover{ + background-color:#b9bbbe; +} +.table-hover .table-dark:hover > td, +.table-hover .table-dark:hover > th{ + background-color:#b9bbbe; +} + +.table-active, +.table-active > th, +.table-active > td{ + background-color:rgba(0, 0, 0, 0.075); +} + +.table-hover .table-active:hover{ + background-color:rgba(0, 0, 0, 0.075); +} +.table-hover .table-active:hover > td, +.table-hover .table-active:hover > th{ + background-color:rgba(0, 0, 0, 0.075); +} + +.table .thead-dark th{ + color:#fff; + background-color:#343a40; + border-color:#454d55; +} +.table .thead-light th{ + color:#495057; + background-color:#e9ecef; + border-color:#dee2e6; +} + +.table-dark{ + color:#fff; + background-color:#343a40; +} +.table-dark th, +.table-dark td, +.table-dark thead th{ + border-color:#454d55; +} +.table-dark.table-bordered{ + border:0; +} +.table-dark.table-striped tbody tr:nth-of-type(odd){ + background-color:rgba(255, 255, 255, 0.05); +} +.table-dark.table-hover tbody tr:hover{ + color:#fff; + background-color:rgba(255, 255, 255, 0.075); +} + +@media (max-width: 575.98px){ + .table-responsive-sm{ + display:block; + width:100%; + overflow-x:auto; + -webkit-overflow-scrolling:touch; + } + .table-responsive-sm > .table-bordered{ + border:0; + } +} +@media (max-width: 767.98px){ + .table-responsive-md{ + display:block; + width:100%; + overflow-x:auto; + -webkit-overflow-scrolling:touch; + } + .table-responsive-md > .table-bordered{ + border:0; + } +} +@media (max-width: 991.98px){ + .table-responsive-lg{ + display:block; + width:100%; + overflow-x:auto; + -webkit-overflow-scrolling:touch; + } + .table-responsive-lg > .table-bordered{ + border:0; + } +} +@media (max-width: 1199.98px){ + .table-responsive-xl{ + display:block; + width:100%; + overflow-x:auto; + -webkit-overflow-scrolling:touch; + } + .table-responsive-xl > .table-bordered{ + border:0; + } +} +.table-responsive{ + display:block; + width:100%; + overflow-x:auto; + -webkit-overflow-scrolling:touch; +} +.table-responsive > .table-bordered{ + border:0; +} + +.form-control{ + display:block; + width:100%; + height:calc(1.6em + 0.75rem + 2px); + padding:0.375rem 0.75rem; + font-size:0.9rem; + font-weight:400; + line-height:1.6; + color:#495057; + background-color:#fff; + background-clip:padding-box; + border:1px solid #ced4da; + border-radius:0.25rem; + transition:border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; +} +@media (prefers-reduced-motion: reduce){ + .form-control{ + transition:none; + } +} +.form-control::-ms-expand{ + background-color:transparent; + border:0; +} +.form-control:focus{ + color:#495057; + background-color:#fff; + border-color:#a1cbef; + outline:0; + box-shadow:0 0 0 0.2rem rgba(52, 144, 220, 0.25); +} +.form-control::-moz-placeholder{ + color:#6c757d; + opacity:1; +} +.form-control:-ms-input-placeholder{ + color:#6c757d; + opacity:1; +} +.form-control::placeholder{ + color:#6c757d; + opacity:1; +} +.form-control:disabled, .form-control[readonly]{ + background-color:#e9ecef; + opacity:1; +} + +input[type=date].form-control, +input[type=time].form-control, +input[type=datetime-local].form-control, +input[type=month].form-control{ + -webkit-appearance:none; + -moz-appearance:none; + appearance:none; +} + +select.form-control:-moz-focusring{ + color:transparent; + text-shadow:0 0 0 #495057; +} +select.form-control:focus::-ms-value{ + color:#495057; + background-color:#fff; +} + +.form-control-file, +.form-control-range{ + display:block; + width:100%; +} + +.col-form-label{ + padding-top:calc(0.375rem + 1px); + padding-bottom:calc(0.375rem + 1px); + margin-bottom:0; + font-size:inherit; + line-height:1.6; +} + +.col-form-label-lg{ + padding-top:calc(0.5rem + 1px); + padding-bottom:calc(0.5rem + 1px); + font-size:1.125rem; + line-height:1.5; +} + +.col-form-label-sm{ + padding-top:calc(0.25rem + 1px); + padding-bottom:calc(0.25rem + 1px); + font-size:0.7875rem; + line-height:1.5; +} + +.form-control-plaintext{ + display:block; + width:100%; + padding:0.375rem 0; + margin-bottom:0; + font-size:0.9rem; + line-height:1.6; + color:#212529; + background-color:transparent; + border:solid transparent; + border-width:1px 0; +} +.form-control-plaintext.form-control-sm, .form-control-plaintext.form-control-lg{ + padding-right:0; + padding-left:0; +} + +.form-control-sm{ + height:calc(1.5em + 0.5rem + 2px); + padding:0.25rem 0.5rem; + font-size:0.7875rem; + line-height:1.5; + border-radius:0.2rem; +} + +.form-control-lg{ + height:calc(1.5em + 1rem + 2px); + padding:0.5rem 1rem; + font-size:1.125rem; + line-height:1.5; + border-radius:0.3rem; +} + +select.form-control[size], select.form-control[multiple]{ + height:auto; +} + +textarea.form-control{ + height:auto; +} + +.form-group{ + margin-bottom:1rem; +} + +.form-text{ + display:block; + margin-top:0.25rem; +} + +.form-row{ + display:flex; + flex-wrap:wrap; + margin-right:-5px; + margin-left:-5px; +} +.form-row > .col, +.form-row > [class*=col-]{ + padding-right:5px; + padding-left:5px; +} + +.form-check{ + position:relative; + display:block; + padding-left:1.25rem; +} + +.form-check-input{ + position:absolute; + margin-top:0.3rem; + margin-left:-1.25rem; +} +.form-check-input[disabled] ~ .form-check-label, .form-check-input:disabled ~ .form-check-label{ + color:#6c757d; +} + +.form-check-label{ + margin-bottom:0; +} + +.form-check-inline{ + display:inline-flex; + align-items:center; + padding-left:0; + margin-right:0.75rem; +} +.form-check-inline .form-check-input{ + position:static; + margin-top:0; + margin-right:0.3125rem; + margin-left:0; +} + +.valid-feedback{ + display:none; + width:100%; + margin-top:0.25rem; + font-size:80%; + color:#38c172; +} + +.valid-tooltip{ + position:absolute; + top:100%; + left:0; + z-index:5; + display:none; + max-width:100%; + padding:0.25rem 0.5rem; + margin-top:0.1rem; + font-size:0.7875rem; + line-height:1.6; + color:#fff; + background-color:rgba(56, 193, 114, 0.9); + border-radius:0.25rem; +} +.form-row > .col > .valid-tooltip, .form-row > [class*=col-] > .valid-tooltip{ + left:5px; +} + +.was-validated :valid ~ .valid-feedback, +.was-validated :valid ~ .valid-tooltip, +.is-valid ~ .valid-feedback, +.is-valid ~ .valid-tooltip{ + display:block; +} + +.was-validated .form-control:valid, .form-control.is-valid{ + border-color:#38c172; + padding-right:calc(1.6em + 0.75rem) !important; + background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='8' height='8' viewBox='0 0 8 8'%3e%3cpath fill='%2338c172' d='M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e"); + background-repeat:no-repeat; + background-position:right calc(0.4em + 0.1875rem) center; + background-size:calc(0.8em + 0.375rem) calc(0.8em + 0.375rem); +} +.was-validated .form-control:valid:focus, .form-control.is-valid:focus{ + border-color:#38c172; + box-shadow:0 0 0 0.2rem rgba(56, 193, 114, 0.25); +} + +.was-validated select.form-control:valid, select.form-control.is-valid{ + padding-right:3rem !important; + background-position:right 1.5rem center; +} + +.was-validated textarea.form-control:valid, textarea.form-control.is-valid{ + padding-right:calc(1.6em + 0.75rem); + background-position:top calc(0.4em + 0.1875rem) right calc(0.4em + 0.1875rem); +} + +.was-validated .custom-select:valid, .custom-select.is-valid{ + border-color:#38c172; + padding-right:calc(0.75em + 2.3125rem) !important; + background:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='4' height='5' viewBox='0 0 4 5'%3e%3cpath fill='%23343a40' d='M2 0L0 2h4zm0 5L0 3h4z'/%3e%3c/svg%3e") right 0.75rem center/8px 10px no-repeat, #fff url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='8' height='8' viewBox='0 0 8 8'%3e%3cpath fill='%2338c172' d='M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e") center right 1.75rem/calc(0.8em + 0.375rem) calc(0.8em + 0.375rem) no-repeat; +} +.was-validated .custom-select:valid:focus, .custom-select.is-valid:focus{ + border-color:#38c172; + box-shadow:0 0 0 0.2rem rgba(56, 193, 114, 0.25); +} + +.was-validated .form-check-input:valid ~ .form-check-label, .form-check-input.is-valid ~ .form-check-label{ + color:#38c172; +} +.was-validated .form-check-input:valid ~ .valid-feedback, +.was-validated .form-check-input:valid ~ .valid-tooltip, .form-check-input.is-valid ~ .valid-feedback, +.form-check-input.is-valid ~ .valid-tooltip{ + display:block; +} + +.was-validated .custom-control-input:valid ~ .custom-control-label, .custom-control-input.is-valid ~ .custom-control-label{ + color:#38c172; +} +.was-validated .custom-control-input:valid ~ .custom-control-label::before, .custom-control-input.is-valid ~ .custom-control-label::before{ + border-color:#38c172; +} +.was-validated .custom-control-input:valid:checked ~ .custom-control-label::before, .custom-control-input.is-valid:checked ~ .custom-control-label::before{ + border-color:#5cd08d; + background-color:#5cd08d; +} +.was-validated .custom-control-input:valid:focus ~ .custom-control-label::before, .custom-control-input.is-valid:focus ~ .custom-control-label::before{ + box-shadow:0 0 0 0.2rem rgba(56, 193, 114, 0.25); +} +.was-validated .custom-control-input:valid:focus:not(:checked) ~ .custom-control-label::before, .custom-control-input.is-valid:focus:not(:checked) ~ .custom-control-label::before{ + border-color:#38c172; +} + +.was-validated .custom-file-input:valid ~ .custom-file-label, .custom-file-input.is-valid ~ .custom-file-label{ + border-color:#38c172; +} +.was-validated .custom-file-input:valid:focus ~ .custom-file-label, .custom-file-input.is-valid:focus ~ .custom-file-label{ + border-color:#38c172; + box-shadow:0 0 0 0.2rem rgba(56, 193, 114, 0.25); +} + +.invalid-feedback{ + display:none; + width:100%; + margin-top:0.25rem; + font-size:80%; + color:#e3342f; +} + +.invalid-tooltip{ + position:absolute; + top:100%; + left:0; + z-index:5; + display:none; + max-width:100%; + padding:0.25rem 0.5rem; + margin-top:0.1rem; + font-size:0.7875rem; + line-height:1.6; + color:#fff; + background-color:rgba(227, 52, 47, 0.9); + border-radius:0.25rem; +} +.form-row > .col > .invalid-tooltip, .form-row > [class*=col-] > .invalid-tooltip{ + left:5px; +} + +.was-validated :invalid ~ .invalid-feedback, +.was-validated :invalid ~ .invalid-tooltip, +.is-invalid ~ .invalid-feedback, +.is-invalid ~ .invalid-tooltip{ + display:block; +} + +.was-validated .form-control:invalid, .form-control.is-invalid{ + border-color:#e3342f; + padding-right:calc(1.6em + 0.75rem) !important; + background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='none' stroke='%23e3342f' viewBox='0 0 12 12'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23e3342f' stroke='none'/%3e%3c/svg%3e"); + background-repeat:no-repeat; + background-position:right calc(0.4em + 0.1875rem) center; + background-size:calc(0.8em + 0.375rem) calc(0.8em + 0.375rem); +} +.was-validated .form-control:invalid:focus, .form-control.is-invalid:focus{ + border-color:#e3342f; + box-shadow:0 0 0 0.2rem rgba(227, 52, 47, 0.25); +} + +.was-validated select.form-control:invalid, select.form-control.is-invalid{ + padding-right:3rem !important; + background-position:right 1.5rem center; +} + +.was-validated textarea.form-control:invalid, textarea.form-control.is-invalid{ + padding-right:calc(1.6em + 0.75rem); + background-position:top calc(0.4em + 0.1875rem) right calc(0.4em + 0.1875rem); +} + +.was-validated .custom-select:invalid, .custom-select.is-invalid{ + border-color:#e3342f; + padding-right:calc(0.75em + 2.3125rem) !important; + background:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='4' height='5' viewBox='0 0 4 5'%3e%3cpath fill='%23343a40' d='M2 0L0 2h4zm0 5L0 3h4z'/%3e%3c/svg%3e") right 0.75rem center/8px 10px no-repeat, #fff url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='none' stroke='%23e3342f' viewBox='0 0 12 12'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23e3342f' stroke='none'/%3e%3c/svg%3e") center right 1.75rem/calc(0.8em + 0.375rem) calc(0.8em + 0.375rem) no-repeat; +} +.was-validated .custom-select:invalid:focus, .custom-select.is-invalid:focus{ + border-color:#e3342f; + box-shadow:0 0 0 0.2rem rgba(227, 52, 47, 0.25); +} + +.was-validated .form-check-input:invalid ~ .form-check-label, .form-check-input.is-invalid ~ .form-check-label{ + color:#e3342f; +} +.was-validated .form-check-input:invalid ~ .invalid-feedback, +.was-validated .form-check-input:invalid ~ .invalid-tooltip, .form-check-input.is-invalid ~ .invalid-feedback, +.form-check-input.is-invalid ~ .invalid-tooltip{ + display:block; +} + +.was-validated .custom-control-input:invalid ~ .custom-control-label, .custom-control-input.is-invalid ~ .custom-control-label{ + color:#e3342f; +} +.was-validated .custom-control-input:invalid ~ .custom-control-label::before, .custom-control-input.is-invalid ~ .custom-control-label::before{ + border-color:#e3342f; +} +.was-validated .custom-control-input:invalid:checked ~ .custom-control-label::before, .custom-control-input.is-invalid:checked ~ .custom-control-label::before{ + border-color:#e9605c; + background-color:#e9605c; +} +.was-validated .custom-control-input:invalid:focus ~ .custom-control-label::before, .custom-control-input.is-invalid:focus ~ .custom-control-label::before{ + box-shadow:0 0 0 0.2rem rgba(227, 52, 47, 0.25); +} +.was-validated .custom-control-input:invalid:focus:not(:checked) ~ .custom-control-label::before, .custom-control-input.is-invalid:focus:not(:checked) ~ .custom-control-label::before{ + border-color:#e3342f; +} + +.was-validated .custom-file-input:invalid ~ .custom-file-label, .custom-file-input.is-invalid ~ .custom-file-label{ + border-color:#e3342f; +} +.was-validated .custom-file-input:invalid:focus ~ .custom-file-label, .custom-file-input.is-invalid:focus ~ .custom-file-label{ + border-color:#e3342f; + box-shadow:0 0 0 0.2rem rgba(227, 52, 47, 0.25); +} + +.form-inline{ + display:flex; + flex-flow:row wrap; + align-items:center; +} +.form-inline .form-check{ + width:100%; +} +@media (min-width: 576px){ + .form-inline label{ + display:flex; + align-items:center; + justify-content:center; + margin-bottom:0; + } + .form-inline .form-group{ + display:flex; + flex:0 0 auto; + flex-flow:row wrap; + align-items:center; + margin-bottom:0; + } + .form-inline .form-control{ + display:inline-block; + width:auto; + vertical-align:middle; + } + .form-inline .form-control-plaintext{ + display:inline-block; + } + .form-inline .input-group, +.form-inline .custom-select{ + width:auto; + } + .form-inline .form-check{ + display:flex; + align-items:center; + justify-content:center; + width:auto; + padding-left:0; + } + .form-inline .form-check-input{ + position:relative; + flex-shrink:0; + margin-top:0; + margin-right:0.25rem; + margin-left:0; + } + .form-inline .custom-control{ + align-items:center; + justify-content:center; + } + .form-inline .custom-control-label{ + margin-bottom:0; + } +} + +.btn{ + display:inline-block; + font-weight:400; + color:#212529; + text-align:center; + vertical-align:middle; + -webkit-user-select:none; + -moz-user-select:none; + -ms-user-select:none; + user-select:none; + background-color:transparent; + border:1px solid transparent; + padding:0.375rem 0.75rem; + font-size:0.9rem; + line-height:1.6; + border-radius:0.25rem; + transition:color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; +} +@media (prefers-reduced-motion: reduce){ + .btn{ + transition:none; + } +} +.btn:hover{ + color:#212529; + text-decoration:none; +} +.btn:focus, .btn.focus{ + outline:0; + box-shadow:0 0 0 0.2rem rgba(52, 144, 220, 0.25); +} +.btn.disabled, .btn:disabled{ + opacity:0.65; +} +.btn:not(:disabled):not(.disabled){ + cursor:pointer; +} +a.btn.disabled, +fieldset:disabled a.btn{ + pointer-events:none; +} + +.btn-primary{ + color:#fff; + background-color:#3490dc; + border-color:#3490dc; +} +.btn-primary:hover{ + color:#fff; + background-color:#227dc7; + border-color:#2176bd; +} +.btn-primary:focus, .btn-primary.focus{ + color:#fff; + background-color:#227dc7; + border-color:#2176bd; + box-shadow:0 0 0 0.2rem rgba(82, 161, 225, 0.5); +} +.btn-primary.disabled, .btn-primary:disabled{ + color:#fff; + background-color:#3490dc; + border-color:#3490dc; +} +.btn-primary:not(:disabled):not(.disabled):active, .btn-primary:not(:disabled):not(.disabled).active, .show > .btn-primary.dropdown-toggle{ + color:#fff; + background-color:#2176bd; + border-color:#1f6fb2; +} +.btn-primary:not(:disabled):not(.disabled):active:focus, .btn-primary:not(:disabled):not(.disabled).active:focus, .show > .btn-primary.dropdown-toggle:focus{ + box-shadow:0 0 0 0.2rem rgba(82, 161, 225, 0.5); +} + +.btn-secondary{ + color:#fff; + background-color:#6c757d; + border-color:#6c757d; +} +.btn-secondary:hover{ + color:#fff; + background-color:#5a6268; + border-color:#545b62; +} +.btn-secondary:focus, .btn-secondary.focus{ + color:#fff; + background-color:#5a6268; + border-color:#545b62; + box-shadow:0 0 0 0.2rem rgba(130, 138, 145, 0.5); +} +.btn-secondary.disabled, .btn-secondary:disabled{ + color:#fff; + background-color:#6c757d; + border-color:#6c757d; +} +.btn-secondary:not(:disabled):not(.disabled):active, .btn-secondary:not(:disabled):not(.disabled).active, .show > .btn-secondary.dropdown-toggle{ + color:#fff; + background-color:#545b62; + border-color:#4e555b; +} +.btn-secondary:not(:disabled):not(.disabled):active:focus, .btn-secondary:not(:disabled):not(.disabled).active:focus, .show > .btn-secondary.dropdown-toggle:focus{ + box-shadow:0 0 0 0.2rem rgba(130, 138, 145, 0.5); +} + +.btn-success{ + color:#fff; + background-color:#38c172; + border-color:#38c172; +} +.btn-success:hover{ + color:#fff; + background-color:#2fa360; + border-color:#2d995b; +} +.btn-success:focus, .btn-success.focus{ + color:#fff; + background-color:#2fa360; + border-color:#2d995b; + box-shadow:0 0 0 0.2rem rgba(86, 202, 135, 0.5); +} +.btn-success.disabled, .btn-success:disabled{ + color:#fff; + background-color:#38c172; + border-color:#38c172; +} +.btn-success:not(:disabled):not(.disabled):active, .btn-success:not(:disabled):not(.disabled).active, .show > .btn-success.dropdown-toggle{ + color:#fff; + background-color:#2d995b; + border-color:#2a9055; +} +.btn-success:not(:disabled):not(.disabled):active:focus, .btn-success:not(:disabled):not(.disabled).active:focus, .show > .btn-success.dropdown-toggle:focus{ + box-shadow:0 0 0 0.2rem rgba(86, 202, 135, 0.5); +} + +.btn-info{ + color:#212529; + background-color:#6cb2eb; + border-color:#6cb2eb; +} +.btn-info:hover{ + color:#fff; + background-color:#4aa0e6; + border-color:#3f9ae5; +} +.btn-info:focus, .btn-info.focus{ + color:#fff; + background-color:#4aa0e6; + border-color:#3f9ae5; + box-shadow:0 0 0 0.2rem rgba(97, 157, 206, 0.5); +} +.btn-info.disabled, .btn-info:disabled{ + color:#212529; + background-color:#6cb2eb; + border-color:#6cb2eb; +} +.btn-info:not(:disabled):not(.disabled):active, .btn-info:not(:disabled):not(.disabled).active, .show > .btn-info.dropdown-toggle{ + color:#fff; + background-color:#3f9ae5; + border-color:#3495e3; +} +.btn-info:not(:disabled):not(.disabled):active:focus, .btn-info:not(:disabled):not(.disabled).active:focus, .show > .btn-info.dropdown-toggle:focus{ + box-shadow:0 0 0 0.2rem rgba(97, 157, 206, 0.5); +} + +.btn-warning{ + color:#212529; + background-color:#ffed4a; + border-color:#ffed4a; +} +.btn-warning:hover{ + color:#212529; + background-color:#ffe924; + border-color:#ffe817; +} +.btn-warning:focus, .btn-warning.focus{ + color:#212529; + background-color:#ffe924; + border-color:#ffe817; + box-shadow:0 0 0 0.2rem rgba(222, 207, 69, 0.5); +} +.btn-warning.disabled, .btn-warning:disabled{ + color:#212529; + background-color:#ffed4a; + border-color:#ffed4a; +} +.btn-warning:not(:disabled):not(.disabled):active, .btn-warning:not(:disabled):not(.disabled).active, .show > .btn-warning.dropdown-toggle{ + color:#212529; + background-color:#ffe817; + border-color:#ffe70a; +} +.btn-warning:not(:disabled):not(.disabled):active:focus, .btn-warning:not(:disabled):not(.disabled).active:focus, .show > .btn-warning.dropdown-toggle:focus{ + box-shadow:0 0 0 0.2rem rgba(222, 207, 69, 0.5); +} + +.btn-danger{ + color:#fff; + background-color:#e3342f; + border-color:#e3342f; +} +.btn-danger:hover{ + color:#fff; + background-color:#d0211c; + border-color:#c51f1a; +} +.btn-danger:focus, .btn-danger.focus{ + color:#fff; + background-color:#d0211c; + border-color:#c51f1a; + box-shadow:0 0 0 0.2rem rgba(231, 82, 78, 0.5); +} +.btn-danger.disabled, .btn-danger:disabled{ + color:#fff; + background-color:#e3342f; + border-color:#e3342f; +} +.btn-danger:not(:disabled):not(.disabled):active, .btn-danger:not(:disabled):not(.disabled).active, .show > .btn-danger.dropdown-toggle{ + color:#fff; + background-color:#c51f1a; + border-color:#b91d19; +} +.btn-danger:not(:disabled):not(.disabled):active:focus, .btn-danger:not(:disabled):not(.disabled).active:focus, .show > .btn-danger.dropdown-toggle:focus{ + box-shadow:0 0 0 0.2rem rgba(231, 82, 78, 0.5); +} + +.btn-light{ + color:#212529; + background-color:#f8f9fa; + border-color:#f8f9fa; +} +.btn-light:hover{ + color:#212529; + background-color:#e2e6ea; + border-color:#dae0e5; +} +.btn-light:focus, .btn-light.focus{ + color:#212529; + background-color:#e2e6ea; + border-color:#dae0e5; + box-shadow:0 0 0 0.2rem rgba(216, 217, 219, 0.5); +} +.btn-light.disabled, .btn-light:disabled{ + color:#212529; + background-color:#f8f9fa; + border-color:#f8f9fa; +} +.btn-light:not(:disabled):not(.disabled):active, .btn-light:not(:disabled):not(.disabled).active, .show > .btn-light.dropdown-toggle{ + color:#212529; + background-color:#dae0e5; + border-color:#d3d9df; +} +.btn-light:not(:disabled):not(.disabled):active:focus, .btn-light:not(:disabled):not(.disabled).active:focus, .show > .btn-light.dropdown-toggle:focus{ + box-shadow:0 0 0 0.2rem rgba(216, 217, 219, 0.5); +} + +.btn-dark{ + color:#fff; + background-color:#343a40; + border-color:#343a40; +} +.btn-dark:hover{ + color:#fff; + background-color:#23272b; + border-color:#1d2124; +} +.btn-dark:focus, .btn-dark.focus{ + color:#fff; + background-color:#23272b; + border-color:#1d2124; + box-shadow:0 0 0 0.2rem rgba(82, 88, 93, 0.5); +} +.btn-dark.disabled, .btn-dark:disabled{ + color:#fff; + background-color:#343a40; + border-color:#343a40; +} +.btn-dark:not(:disabled):not(.disabled):active, .btn-dark:not(:disabled):not(.disabled).active, .show > .btn-dark.dropdown-toggle{ + color:#fff; + background-color:#1d2124; + border-color:#171a1d; +} +.btn-dark:not(:disabled):not(.disabled):active:focus, .btn-dark:not(:disabled):not(.disabled).active:focus, .show > .btn-dark.dropdown-toggle:focus{ + box-shadow:0 0 0 0.2rem rgba(82, 88, 93, 0.5); +} + +.btn-outline-primary{ + color:#3490dc; + border-color:#3490dc; +} +.btn-outline-primary:hover{ + color:#fff; + background-color:#3490dc; + border-color:#3490dc; +} +.btn-outline-primary:focus, .btn-outline-primary.focus{ + box-shadow:0 0 0 0.2rem rgba(52, 144, 220, 0.5); +} +.btn-outline-primary.disabled, .btn-outline-primary:disabled{ + color:#3490dc; + background-color:transparent; +} +.btn-outline-primary:not(:disabled):not(.disabled):active, .btn-outline-primary:not(:disabled):not(.disabled).active, .show > .btn-outline-primary.dropdown-toggle{ + color:#fff; + background-color:#3490dc; + border-color:#3490dc; +} +.btn-outline-primary:not(:disabled):not(.disabled):active:focus, .btn-outline-primary:not(:disabled):not(.disabled).active:focus, .show > .btn-outline-primary.dropdown-toggle:focus{ + box-shadow:0 0 0 0.2rem rgba(52, 144, 220, 0.5); +} + +.btn-outline-secondary{ + color:#6c757d; + border-color:#6c757d; +} +.btn-outline-secondary:hover{ + color:#fff; + background-color:#6c757d; + border-color:#6c757d; +} +.btn-outline-secondary:focus, .btn-outline-secondary.focus{ + box-shadow:0 0 0 0.2rem rgba(108, 117, 125, 0.5); +} +.btn-outline-secondary.disabled, .btn-outline-secondary:disabled{ + color:#6c757d; + background-color:transparent; +} +.btn-outline-secondary:not(:disabled):not(.disabled):active, .btn-outline-secondary:not(:disabled):not(.disabled).active, .show > .btn-outline-secondary.dropdown-toggle{ + color:#fff; + background-color:#6c757d; + border-color:#6c757d; +} +.btn-outline-secondary:not(:disabled):not(.disabled):active:focus, .btn-outline-secondary:not(:disabled):not(.disabled).active:focus, .show > .btn-outline-secondary.dropdown-toggle:focus{ + box-shadow:0 0 0 0.2rem rgba(108, 117, 125, 0.5); +} + +.btn-outline-success{ + color:#38c172; + border-color:#38c172; +} +.btn-outline-success:hover{ + color:#fff; + background-color:#38c172; + border-color:#38c172; +} +.btn-outline-success:focus, .btn-outline-success.focus{ + box-shadow:0 0 0 0.2rem rgba(56, 193, 114, 0.5); +} +.btn-outline-success.disabled, .btn-outline-success:disabled{ + color:#38c172; + background-color:transparent; +} +.btn-outline-success:not(:disabled):not(.disabled):active, .btn-outline-success:not(:disabled):not(.disabled).active, .show > .btn-outline-success.dropdown-toggle{ + color:#fff; + background-color:#38c172; + border-color:#38c172; +} +.btn-outline-success:not(:disabled):not(.disabled):active:focus, .btn-outline-success:not(:disabled):not(.disabled).active:focus, .show > .btn-outline-success.dropdown-toggle:focus{ + box-shadow:0 0 0 0.2rem rgba(56, 193, 114, 0.5); +} + +.btn-outline-info{ + color:#6cb2eb; + border-color:#6cb2eb; +} +.btn-outline-info:hover{ + color:#212529; + background-color:#6cb2eb; + border-color:#6cb2eb; +} +.btn-outline-info:focus, .btn-outline-info.focus{ + box-shadow:0 0 0 0.2rem rgba(108, 178, 235, 0.5); +} +.btn-outline-info.disabled, .btn-outline-info:disabled{ + color:#6cb2eb; + background-color:transparent; +} +.btn-outline-info:not(:disabled):not(.disabled):active, .btn-outline-info:not(:disabled):not(.disabled).active, .show > .btn-outline-info.dropdown-toggle{ + color:#212529; + background-color:#6cb2eb; + border-color:#6cb2eb; +} +.btn-outline-info:not(:disabled):not(.disabled):active:focus, .btn-outline-info:not(:disabled):not(.disabled).active:focus, .show > .btn-outline-info.dropdown-toggle:focus{ + box-shadow:0 0 0 0.2rem rgba(108, 178, 235, 0.5); +} + +.btn-outline-warning{ + color:#ffed4a; + border-color:#ffed4a; +} +.btn-outline-warning:hover{ + color:#212529; + background-color:#ffed4a; + border-color:#ffed4a; +} +.btn-outline-warning:focus, .btn-outline-warning.focus{ + box-shadow:0 0 0 0.2rem rgba(255, 237, 74, 0.5); +} +.btn-outline-warning.disabled, .btn-outline-warning:disabled{ + color:#ffed4a; + background-color:transparent; +} +.btn-outline-warning:not(:disabled):not(.disabled):active, .btn-outline-warning:not(:disabled):not(.disabled).active, .show > .btn-outline-warning.dropdown-toggle{ + color:#212529; + background-color:#ffed4a; + border-color:#ffed4a; +} +.btn-outline-warning:not(:disabled):not(.disabled):active:focus, .btn-outline-warning:not(:disabled):not(.disabled).active:focus, .show > .btn-outline-warning.dropdown-toggle:focus{ + box-shadow:0 0 0 0.2rem rgba(255, 237, 74, 0.5); +} + +.btn-outline-danger{ + color:#e3342f; + border-color:#e3342f; +} +.btn-outline-danger:hover{ + color:#fff; + background-color:#e3342f; + border-color:#e3342f; +} +.btn-outline-danger:focus, .btn-outline-danger.focus{ + box-shadow:0 0 0 0.2rem rgba(227, 52, 47, 0.5); +} +.btn-outline-danger.disabled, .btn-outline-danger:disabled{ + color:#e3342f; + background-color:transparent; +} +.btn-outline-danger:not(:disabled):not(.disabled):active, .btn-outline-danger:not(:disabled):not(.disabled).active, .show > .btn-outline-danger.dropdown-toggle{ + color:#fff; + background-color:#e3342f; + border-color:#e3342f; +} +.btn-outline-danger:not(:disabled):not(.disabled):active:focus, .btn-outline-danger:not(:disabled):not(.disabled).active:focus, .show > .btn-outline-danger.dropdown-toggle:focus{ + box-shadow:0 0 0 0.2rem rgba(227, 52, 47, 0.5); +} + +.btn-outline-light{ + color:#f8f9fa; + border-color:#f8f9fa; +} +.btn-outline-light:hover{ + color:#212529; + background-color:#f8f9fa; + border-color:#f8f9fa; +} +.btn-outline-light:focus, .btn-outline-light.focus{ + box-shadow:0 0 0 0.2rem rgba(248, 249, 250, 0.5); +} +.btn-outline-light.disabled, .btn-outline-light:disabled{ + color:#f8f9fa; + background-color:transparent; +} +.btn-outline-light:not(:disabled):not(.disabled):active, .btn-outline-light:not(:disabled):not(.disabled).active, .show > .btn-outline-light.dropdown-toggle{ + color:#212529; + background-color:#f8f9fa; + border-color:#f8f9fa; +} +.btn-outline-light:not(:disabled):not(.disabled):active:focus, .btn-outline-light:not(:disabled):not(.disabled).active:focus, .show > .btn-outline-light.dropdown-toggle:focus{ + box-shadow:0 0 0 0.2rem rgba(248, 249, 250, 0.5); +} + +.btn-outline-dark{ + color:#343a40; + border-color:#343a40; +} +.btn-outline-dark:hover{ + color:#fff; + background-color:#343a40; + border-color:#343a40; +} +.btn-outline-dark:focus, .btn-outline-dark.focus{ + box-shadow:0 0 0 0.2rem rgba(52, 58, 64, 0.5); +} +.btn-outline-dark.disabled, .btn-outline-dark:disabled{ + color:#343a40; + background-color:transparent; +} +.btn-outline-dark:not(:disabled):not(.disabled):active, .btn-outline-dark:not(:disabled):not(.disabled).active, .show > .btn-outline-dark.dropdown-toggle{ + color:#fff; + background-color:#343a40; + border-color:#343a40; +} +.btn-outline-dark:not(:disabled):not(.disabled):active:focus, .btn-outline-dark:not(:disabled):not(.disabled).active:focus, .show > .btn-outline-dark.dropdown-toggle:focus{ + box-shadow:0 0 0 0.2rem rgba(52, 58, 64, 0.5); +} + +.btn-link{ + font-weight:400; + color:#3490dc; + text-decoration:none; +} +.btn-link:hover{ + color:#1d68a7; + text-decoration:underline; +} +.btn-link:focus, .btn-link.focus{ + text-decoration:underline; +} +.btn-link:disabled, .btn-link.disabled{ + color:#6c757d; + pointer-events:none; +} + +.btn-lg, .btn-group-lg > .btn{ + padding:0.5rem 1rem; + font-size:1.125rem; + line-height:1.5; + border-radius:0.3rem; +} + +.btn-sm, .btn-group-sm > .btn{ + padding:0.25rem 0.5rem; + font-size:0.7875rem; + line-height:1.5; + border-radius:0.2rem; +} + +.btn-block{ + display:block; + width:100%; +} +.btn-block + .btn-block{ + margin-top:0.5rem; +} + +input[type=submit].btn-block, +input[type=reset].btn-block, +input[type=button].btn-block{ + width:100%; +} + +.fade{ + transition:opacity 0.15s linear; +} +@media (prefers-reduced-motion: reduce){ + .fade{ + transition:none; + } +} +.fade:not(.show){ + opacity:0; +} + +.collapse:not(.show){ + display:none; +} + +.collapsing{ + position:relative; + height:0; + overflow:hidden; + transition:height 0.35s ease; +} +@media (prefers-reduced-motion: reduce){ + .collapsing{ + transition:none; + } +} + +.dropup, +.dropright, +.dropdown, +.dropleft{ + position:relative; +} + +.dropdown-toggle{ + white-space:nowrap; +} +.dropdown-toggle::after{ + display:inline-block; + margin-left:0.255em; + vertical-align:0.255em; + content:""; + border-top:0.3em solid; + border-right:0.3em solid transparent; + border-bottom:0; + border-left:0.3em solid transparent; +} +.dropdown-toggle:empty::after{ + margin-left:0; +} + +.dropdown-menu{ + position:absolute; + top:100%; + left:0; + z-index:1000; + display:none; + float:left; + min-width:10rem; + padding:0.5rem 0; + margin:0.125rem 0 0; + font-size:0.9rem; + color:#212529; + text-align:left; + list-style:none; + background-color:#fff; + background-clip:padding-box; + border:1px solid rgba(0, 0, 0, 0.15); + border-radius:0.25rem; +} + +.dropdown-menu-left{ + right:auto; + left:0; +} + +.dropdown-menu-right{ + right:0; + left:auto; +} + +@media (min-width: 576px){ + .dropdown-menu-sm-left{ + right:auto; + left:0; + } + + .dropdown-menu-sm-right{ + right:0; + left:auto; + } +} +@media (min-width: 768px){ + .dropdown-menu-md-left{ + right:auto; + left:0; + } + + .dropdown-menu-md-right{ + right:0; + left:auto; + } +} +@media (min-width: 992px){ + .dropdown-menu-lg-left{ + right:auto; + left:0; + } + + .dropdown-menu-lg-right{ + right:0; + left:auto; + } +} +@media (min-width: 1200px){ + .dropdown-menu-xl-left{ + right:auto; + left:0; + } + + .dropdown-menu-xl-right{ + right:0; + left:auto; + } +} +.dropup .dropdown-menu{ + top:auto; + bottom:100%; + margin-top:0; + margin-bottom:0.125rem; +} +.dropup .dropdown-toggle::after{ + display:inline-block; + margin-left:0.255em; + vertical-align:0.255em; + content:""; + border-top:0; + border-right:0.3em solid transparent; + border-bottom:0.3em solid; + border-left:0.3em solid transparent; +} +.dropup .dropdown-toggle:empty::after{ + margin-left:0; +} + +.dropright .dropdown-menu{ + top:0; + right:auto; + left:100%; + margin-top:0; + margin-left:0.125rem; +} +.dropright .dropdown-toggle::after{ + display:inline-block; + margin-left:0.255em; + vertical-align:0.255em; + content:""; + border-top:0.3em solid transparent; + border-right:0; + border-bottom:0.3em solid transparent; + border-left:0.3em solid; +} +.dropright .dropdown-toggle:empty::after{ + margin-left:0; +} +.dropright .dropdown-toggle::after{ + vertical-align:0; +} + +.dropleft .dropdown-menu{ + top:0; + right:100%; + left:auto; + margin-top:0; + margin-right:0.125rem; +} +.dropleft .dropdown-toggle::after{ + display:inline-block; + margin-left:0.255em; + vertical-align:0.255em; + content:""; +} +.dropleft .dropdown-toggle::after{ + display:none; +} +.dropleft .dropdown-toggle::before{ + display:inline-block; + margin-right:0.255em; + vertical-align:0.255em; + content:""; + border-top:0.3em solid transparent; + border-right:0.3em solid; + border-bottom:0.3em solid transparent; +} +.dropleft .dropdown-toggle:empty::after{ + margin-left:0; +} +.dropleft .dropdown-toggle::before{ + vertical-align:0; +} + +.dropdown-menu[x-placement^=top], .dropdown-menu[x-placement^=right], .dropdown-menu[x-placement^=bottom], .dropdown-menu[x-placement^=left]{ + right:auto; + bottom:auto; +} + +.dropdown-divider{ + height:0; + margin:0.5rem 0; + overflow:hidden; + border-top:1px solid #e9ecef; +} + +.dropdown-item{ + display:block; + width:100%; + padding:0.25rem 1.5rem; + clear:both; + font-weight:400; + color:#212529; + text-align:inherit; + white-space:nowrap; + background-color:transparent; + border:0; +} +.dropdown-item:hover, .dropdown-item:focus{ + color:#16181b; + text-decoration:none; + background-color:#e9ecef; +} +.dropdown-item.active, .dropdown-item:active{ + color:#fff; + text-decoration:none; + background-color:#3490dc; +} +.dropdown-item.disabled, .dropdown-item:disabled{ + color:#adb5bd; + pointer-events:none; + background-color:transparent; +} + +.dropdown-menu.show{ + display:block; +} + +.dropdown-header{ + display:block; + padding:0.5rem 1.5rem; + margin-bottom:0; + font-size:0.7875rem; + color:#6c757d; + white-space:nowrap; +} + +.dropdown-item-text{ + display:block; + padding:0.25rem 1.5rem; + color:#212529; +} + +.btn-group, +.btn-group-vertical{ + position:relative; + display:inline-flex; + vertical-align:middle; +} +.btn-group > .btn, +.btn-group-vertical > .btn{ + position:relative; + flex:1 1 auto; +} +.btn-group > .btn:hover, +.btn-group-vertical > .btn:hover{ + z-index:1; +} +.btn-group > .btn:focus, .btn-group > .btn:active, .btn-group > .btn.active, +.btn-group-vertical > .btn:focus, +.btn-group-vertical > .btn:active, +.btn-group-vertical > .btn.active{ + z-index:1; +} + +.btn-toolbar{ + display:flex; + flex-wrap:wrap; + justify-content:flex-start; +} +.btn-toolbar .input-group{ + width:auto; +} + +.btn-group > .btn:not(:first-child), +.btn-group > .btn-group:not(:first-child){ + margin-left:-1px; +} +.btn-group > .btn:not(:last-child):not(.dropdown-toggle), +.btn-group > .btn-group:not(:last-child) > .btn{ + border-top-right-radius:0; + border-bottom-right-radius:0; +} +.btn-group > .btn:not(:first-child), +.btn-group > .btn-group:not(:first-child) > .btn{ + border-top-left-radius:0; + border-bottom-left-radius:0; +} + +.dropdown-toggle-split{ + padding-right:0.5625rem; + padding-left:0.5625rem; +} +.dropdown-toggle-split::after, .dropup .dropdown-toggle-split::after, .dropright .dropdown-toggle-split::after{ + margin-left:0; +} +.dropleft .dropdown-toggle-split::before{ + margin-right:0; +} + +.btn-sm + .dropdown-toggle-split, .btn-group-sm > .btn + .dropdown-toggle-split{ + padding-right:0.375rem; + padding-left:0.375rem; +} + +.btn-lg + .dropdown-toggle-split, .btn-group-lg > .btn + .dropdown-toggle-split{ + padding-right:0.75rem; + padding-left:0.75rem; +} + +.btn-group-vertical{ + flex-direction:column; + align-items:flex-start; + justify-content:center; +} +.btn-group-vertical > .btn, +.btn-group-vertical > .btn-group{ + width:100%; +} +.btn-group-vertical > .btn:not(:first-child), +.btn-group-vertical > .btn-group:not(:first-child){ + margin-top:-1px; +} +.btn-group-vertical > .btn:not(:last-child):not(.dropdown-toggle), +.btn-group-vertical > .btn-group:not(:last-child) > .btn{ + border-bottom-right-radius:0; + border-bottom-left-radius:0; +} +.btn-group-vertical > .btn:not(:first-child), +.btn-group-vertical > .btn-group:not(:first-child) > .btn{ + border-top-left-radius:0; + border-top-right-radius:0; +} + +.btn-group-toggle > .btn, +.btn-group-toggle > .btn-group > .btn{ + margin-bottom:0; +} +.btn-group-toggle > .btn input[type=radio], +.btn-group-toggle > .btn input[type=checkbox], +.btn-group-toggle > .btn-group > .btn input[type=radio], +.btn-group-toggle > .btn-group > .btn input[type=checkbox]{ + position:absolute; + clip:rect(0, 0, 0, 0); + pointer-events:none; +} + +.input-group{ + position:relative; + display:flex; + flex-wrap:wrap; + align-items:stretch; + width:100%; +} +.input-group > .form-control, +.input-group > .form-control-plaintext, +.input-group > .custom-select, +.input-group > .custom-file{ + position:relative; + flex:1 1 auto; + width:1%; + min-width:0; + margin-bottom:0; +} +.input-group > .form-control + .form-control, +.input-group > .form-control + .custom-select, +.input-group > .form-control + .custom-file, +.input-group > .form-control-plaintext + .form-control, +.input-group > .form-control-plaintext + .custom-select, +.input-group > .form-control-plaintext + .custom-file, +.input-group > .custom-select + .form-control, +.input-group > .custom-select + .custom-select, +.input-group > .custom-select + .custom-file, +.input-group > .custom-file + .form-control, +.input-group > .custom-file + .custom-select, +.input-group > .custom-file + .custom-file{ + margin-left:-1px; +} +.input-group > .form-control:focus, +.input-group > .custom-select:focus, +.input-group > .custom-file .custom-file-input:focus ~ .custom-file-label{ + z-index:3; +} +.input-group > .custom-file .custom-file-input:focus{ + z-index:4; +} +.input-group > .form-control:not(:first-child), +.input-group > .custom-select:not(:first-child){ + border-top-left-radius:0; + border-bottom-left-radius:0; +} +.input-group > .custom-file{ + display:flex; + align-items:center; +} +.input-group > .custom-file:not(:last-child) .custom-file-label, .input-group > .custom-file:not(:last-child) .custom-file-label::after{ + border-top-right-radius:0; + border-bottom-right-radius:0; +} +.input-group > .custom-file:not(:first-child) .custom-file-label{ + border-top-left-radius:0; + border-bottom-left-radius:0; +} +.input-group:not(.has-validation) > .form-control:not(:last-child), +.input-group:not(.has-validation) > .custom-select:not(:last-child), +.input-group:not(.has-validation) > .custom-file:not(:last-child) .custom-file-label, +.input-group:not(.has-validation) > .custom-file:not(:last-child) .custom-file-label::after{ + border-top-right-radius:0; + border-bottom-right-radius:0; +} +.input-group.has-validation > .form-control:nth-last-child(n+3), +.input-group.has-validation > .custom-select:nth-last-child(n+3), +.input-group.has-validation > .custom-file:nth-last-child(n+3) .custom-file-label, +.input-group.has-validation > .custom-file:nth-last-child(n+3) .custom-file-label::after{ + border-top-right-radius:0; + border-bottom-right-radius:0; +} + +.input-group-prepend, +.input-group-append{ + display:flex; +} +.input-group-prepend .btn, +.input-group-append .btn{ + position:relative; + z-index:2; +} +.input-group-prepend .btn:focus, +.input-group-append .btn:focus{ + z-index:3; +} +.input-group-prepend .btn + .btn, +.input-group-prepend .btn + .input-group-text, +.input-group-prepend .input-group-text + .input-group-text, +.input-group-prepend .input-group-text + .btn, +.input-group-append .btn + .btn, +.input-group-append .btn + .input-group-text, +.input-group-append .input-group-text + .input-group-text, +.input-group-append .input-group-text + .btn{ + margin-left:-1px; +} + +.input-group-prepend{ + margin-right:-1px; +} + +.input-group-append{ + margin-left:-1px; +} + +.input-group-text{ + display:flex; + align-items:center; + padding:0.375rem 0.75rem; + margin-bottom:0; + font-size:0.9rem; + font-weight:400; + line-height:1.6; + color:#495057; + text-align:center; + white-space:nowrap; + background-color:#e9ecef; + border:1px solid #ced4da; + border-radius:0.25rem; +} +.input-group-text input[type=radio], +.input-group-text input[type=checkbox]{ + margin-top:0; +} + +.input-group-lg > .form-control:not(textarea), +.input-group-lg > .custom-select{ + height:calc(1.5em + 1rem + 2px); +} + +.input-group-lg > .form-control, +.input-group-lg > .custom-select, +.input-group-lg > .input-group-prepend > .input-group-text, +.input-group-lg > .input-group-append > .input-group-text, +.input-group-lg > .input-group-prepend > .btn, +.input-group-lg > .input-group-append > .btn{ + padding:0.5rem 1rem; + font-size:1.125rem; + line-height:1.5; + border-radius:0.3rem; +} + +.input-group-sm > .form-control:not(textarea), +.input-group-sm > .custom-select{ + height:calc(1.5em + 0.5rem + 2px); +} + +.input-group-sm > .form-control, +.input-group-sm > .custom-select, +.input-group-sm > .input-group-prepend > .input-group-text, +.input-group-sm > .input-group-append > .input-group-text, +.input-group-sm > .input-group-prepend > .btn, +.input-group-sm > .input-group-append > .btn{ + padding:0.25rem 0.5rem; + font-size:0.7875rem; + line-height:1.5; + border-radius:0.2rem; +} + +.input-group-lg > .custom-select, +.input-group-sm > .custom-select{ + padding-right:1.75rem; +} + +.input-group > .input-group-prepend > .btn, +.input-group > .input-group-prepend > .input-group-text, +.input-group:not(.has-validation) > .input-group-append:not(:last-child) > .btn, +.input-group:not(.has-validation) > .input-group-append:not(:last-child) > .input-group-text, +.input-group.has-validation > .input-group-append:nth-last-child(n+3) > .btn, +.input-group.has-validation > .input-group-append:nth-last-child(n+3) > .input-group-text, +.input-group > .input-group-append:last-child > .btn:not(:last-child):not(.dropdown-toggle), +.input-group > .input-group-append:last-child > .input-group-text:not(:last-child){ + border-top-right-radius:0; + border-bottom-right-radius:0; +} + +.input-group > .input-group-append > .btn, +.input-group > .input-group-append > .input-group-text, +.input-group > .input-group-prepend:not(:first-child) > .btn, +.input-group > .input-group-prepend:not(:first-child) > .input-group-text, +.input-group > .input-group-prepend:first-child > .btn:not(:first-child), +.input-group > .input-group-prepend:first-child > .input-group-text:not(:first-child){ + border-top-left-radius:0; + border-bottom-left-radius:0; +} + +.custom-control{ + position:relative; + z-index:1; + display:block; + min-height:1.44rem; + padding-left:1.5rem; + -webkit-print-color-adjust:exact; + color-adjust:exact; +} + +.custom-control-inline{ + display:inline-flex; + margin-right:1rem; +} + +.custom-control-input{ + position:absolute; + left:0; + z-index:-1; + width:1rem; + height:1.22rem; + opacity:0; +} +.custom-control-input:checked ~ .custom-control-label::before{ + color:#fff; + border-color:#3490dc; + background-color:#3490dc; +} +.custom-control-input:focus ~ .custom-control-label::before{ + box-shadow:0 0 0 0.2rem rgba(52, 144, 220, 0.25); +} +.custom-control-input:focus:not(:checked) ~ .custom-control-label::before{ + border-color:#a1cbef; +} +.custom-control-input:not(:disabled):active ~ .custom-control-label::before{ + color:#fff; + background-color:#cce3f6; + border-color:#cce3f6; +} +.custom-control-input[disabled] ~ .custom-control-label, .custom-control-input:disabled ~ .custom-control-label{ + color:#6c757d; +} +.custom-control-input[disabled] ~ .custom-control-label::before, .custom-control-input:disabled ~ .custom-control-label::before{ + background-color:#e9ecef; +} + +.custom-control-label{ + position:relative; + margin-bottom:0; + vertical-align:top; +} +.custom-control-label::before{ + position:absolute; + top:0.22rem; + left:-1.5rem; + display:block; + width:1rem; + height:1rem; + pointer-events:none; + content:""; + background-color:#fff; + border:#adb5bd solid 1px; +} +.custom-control-label::after{ + position:absolute; + top:0.22rem; + left:-1.5rem; + display:block; + width:1rem; + height:1rem; + content:""; + background:50%/50% 50% no-repeat; +} + +.custom-checkbox .custom-control-label::before{ + border-radius:0.25rem; +} +.custom-checkbox .custom-control-input:checked ~ .custom-control-label::after{ + background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='8' height='8' viewBox='0 0 8 8'%3e%3cpath fill='%23fff' d='M6.564.75l-3.59 3.612-1.538-1.55L0 4.26l2.974 2.99L8 2.193z'/%3e%3c/svg%3e"); +} +.custom-checkbox .custom-control-input:indeterminate ~ .custom-control-label::before{ + border-color:#3490dc; + background-color:#3490dc; +} +.custom-checkbox .custom-control-input:indeterminate ~ .custom-control-label::after{ + background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='4' height='4' viewBox='0 0 4 4'%3e%3cpath stroke='%23fff' d='M0 2h4'/%3e%3c/svg%3e"); +} +.custom-checkbox .custom-control-input:disabled:checked ~ .custom-control-label::before{ + background-color:rgba(52, 144, 220, 0.5); +} +.custom-checkbox .custom-control-input:disabled:indeterminate ~ .custom-control-label::before{ + background-color:rgba(52, 144, 220, 0.5); +} + +.custom-radio .custom-control-label::before{ + border-radius:50%; +} +.custom-radio .custom-control-input:checked ~ .custom-control-label::after{ + background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%23fff'/%3e%3c/svg%3e"); +} +.custom-radio .custom-control-input:disabled:checked ~ .custom-control-label::before{ + background-color:rgba(52, 144, 220, 0.5); +} + +.custom-switch{ + padding-left:2.25rem; +} +.custom-switch .custom-control-label::before{ + left:-2.25rem; + width:1.75rem; + pointer-events:all; + border-radius:0.5rem; +} +.custom-switch .custom-control-label::after{ + top:calc(0.22rem + 2px); + left:calc(-2.25rem + 2px); + width:calc(1rem - 4px); + height:calc(1rem - 4px); + background-color:#adb5bd; + border-radius:0.5rem; + transition:transform 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; +} +@media (prefers-reduced-motion: reduce){ + .custom-switch .custom-control-label::after{ + transition:none; + } +} +.custom-switch .custom-control-input:checked ~ .custom-control-label::after{ + background-color:#fff; + transform:translateX(0.75rem); +} +.custom-switch .custom-control-input:disabled:checked ~ .custom-control-label::before{ + background-color:rgba(52, 144, 220, 0.5); +} + +.custom-select{ + display:inline-block; + width:100%; + height:calc(1.6em + 0.75rem + 2px); + padding:0.375rem 1.75rem 0.375rem 0.75rem; + font-size:0.9rem; + font-weight:400; + line-height:1.6; + color:#495057; + vertical-align:middle; + background:#fff url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='4' height='5' viewBox='0 0 4 5'%3e%3cpath fill='%23343a40' d='M2 0L0 2h4zm0 5L0 3h4z'/%3e%3c/svg%3e") right 0.75rem center/8px 10px no-repeat; + border:1px solid #ced4da; + border-radius:0.25rem; + -webkit-appearance:none; + -moz-appearance:none; + appearance:none; +} +.custom-select:focus{ + border-color:#a1cbef; + outline:0; + box-shadow:0 0 0 0.2rem rgba(52, 144, 220, 0.25); +} +.custom-select:focus::-ms-value{ + color:#495057; + background-color:#fff; +} +.custom-select[multiple], .custom-select[size]:not([size="1"]){ + height:auto; + padding-right:0.75rem; + background-image:none; +} +.custom-select:disabled{ + color:#6c757d; + background-color:#e9ecef; +} +.custom-select::-ms-expand{ + display:none; +} +.custom-select:-moz-focusring{ + color:transparent; + text-shadow:0 0 0 #495057; +} + +.custom-select-sm{ + height:calc(1.5em + 0.5rem + 2px); + padding-top:0.25rem; + padding-bottom:0.25rem; + padding-left:0.5rem; + font-size:0.7875rem; +} + +.custom-select-lg{ + height:calc(1.5em + 1rem + 2px); + padding-top:0.5rem; + padding-bottom:0.5rem; + padding-left:1rem; + font-size:1.125rem; +} + +.custom-file{ + position:relative; + display:inline-block; + width:100%; + height:calc(1.6em + 0.75rem + 2px); + margin-bottom:0; +} + +.custom-file-input{ + position:relative; + z-index:2; + width:100%; + height:calc(1.6em + 0.75rem + 2px); + margin:0; + overflow:hidden; + opacity:0; +} +.custom-file-input:focus ~ .custom-file-label{ + border-color:#a1cbef; + box-shadow:0 0 0 0.2rem rgba(52, 144, 220, 0.25); +} +.custom-file-input[disabled] ~ .custom-file-label, .custom-file-input:disabled ~ .custom-file-label{ + background-color:#e9ecef; +} +.custom-file-input:lang(en) ~ .custom-file-label::after{ + content:"Browse"; +} +.custom-file-input ~ .custom-file-label[data-browse]::after{ + content:attr(data-browse); +} + +.custom-file-label{ + position:absolute; + top:0; + right:0; + left:0; + z-index:1; + height:calc(1.6em + 0.75rem + 2px); + padding:0.375rem 0.75rem; + overflow:hidden; + font-weight:400; + line-height:1.6; + color:#495057; + background-color:#fff; + border:1px solid #ced4da; + border-radius:0.25rem; +} +.custom-file-label::after{ + position:absolute; + top:0; + right:0; + bottom:0; + z-index:3; + display:block; + height:calc(1.6em + 0.75rem); + padding:0.375rem 0.75rem; + line-height:1.6; + color:#495057; + content:"Browse"; + background-color:#e9ecef; + border-left:inherit; + border-radius:0 0.25rem 0.25rem 0; +} + +.custom-range{ + width:100%; + height:1.4rem; + padding:0; + background-color:transparent; + -webkit-appearance:none; + -moz-appearance:none; + appearance:none; +} +.custom-range:focus{ + outline:0; +} +.custom-range:focus::-webkit-slider-thumb{ + box-shadow:0 0 0 1px #f8fafc, 0 0 0 0.2rem rgba(52, 144, 220, 0.25); +} +.custom-range:focus::-moz-range-thumb{ + box-shadow:0 0 0 1px #f8fafc, 0 0 0 0.2rem rgba(52, 144, 220, 0.25); +} +.custom-range:focus::-ms-thumb{ + box-shadow:0 0 0 1px #f8fafc, 0 0 0 0.2rem rgba(52, 144, 220, 0.25); +} +.custom-range::-moz-focus-outer{ + border:0; +} +.custom-range::-webkit-slider-thumb{ + width:1rem; + height:1rem; + margin-top:-0.25rem; + background-color:#3490dc; + border:0; + border-radius:1rem; + -webkit-transition:background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; + transition:background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; + -webkit-appearance:none; + appearance:none; +} +@media (prefers-reduced-motion: reduce){ + .custom-range::-webkit-slider-thumb{ + -webkit-transition:none; + transition:none; + } +} +.custom-range::-webkit-slider-thumb:active{ + background-color:#cce3f6; +} +.custom-range::-webkit-slider-runnable-track{ + width:100%; + height:0.5rem; + color:transparent; + cursor:pointer; + background-color:#dee2e6; + border-color:transparent; + border-radius:1rem; +} +.custom-range::-moz-range-thumb{ + width:1rem; + height:1rem; + background-color:#3490dc; + border:0; + border-radius:1rem; + -moz-transition:background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; + transition:background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; + -moz-appearance:none; + appearance:none; +} +@media (prefers-reduced-motion: reduce){ + .custom-range::-moz-range-thumb{ + -moz-transition:none; + transition:none; + } +} +.custom-range::-moz-range-thumb:active{ + background-color:#cce3f6; +} +.custom-range::-moz-range-track{ + width:100%; + height:0.5rem; + color:transparent; + cursor:pointer; + background-color:#dee2e6; + border-color:transparent; + border-radius:1rem; +} +.custom-range::-ms-thumb{ + width:1rem; + height:1rem; + margin-top:0; + margin-right:0.2rem; + margin-left:0.2rem; + background-color:#3490dc; + border:0; + border-radius:1rem; + -ms-transition:background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; + transition:background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; + appearance:none; +} +@media (prefers-reduced-motion: reduce){ + .custom-range::-ms-thumb{ + -ms-transition:none; + transition:none; + } +} +.custom-range::-ms-thumb:active{ + background-color:#cce3f6; +} +.custom-range::-ms-track{ + width:100%; + height:0.5rem; + color:transparent; + cursor:pointer; + background-color:transparent; + border-color:transparent; + border-width:0.5rem; +} +.custom-range::-ms-fill-lower{ + background-color:#dee2e6; + border-radius:1rem; +} +.custom-range::-ms-fill-upper{ + margin-right:15px; + background-color:#dee2e6; + border-radius:1rem; +} +.custom-range:disabled::-webkit-slider-thumb{ + background-color:#adb5bd; +} +.custom-range:disabled::-webkit-slider-runnable-track{ + cursor:default; +} +.custom-range:disabled::-moz-range-thumb{ + background-color:#adb5bd; +} +.custom-range:disabled::-moz-range-track{ + cursor:default; +} +.custom-range:disabled::-ms-thumb{ + background-color:#adb5bd; +} + +.custom-control-label::before, +.custom-file-label, +.custom-select{ + transition:background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; +} +@media (prefers-reduced-motion: reduce){ + .custom-control-label::before, +.custom-file-label, +.custom-select{ + transition:none; + } +} + +.nav{ + display:flex; + flex-wrap:wrap; + padding-left:0; + margin-bottom:0; + list-style:none; +} + +.nav-link{ + display:block; + padding:0.5rem 1rem; +} +.nav-link:hover, .nav-link:focus{ + text-decoration:none; +} +.nav-link.disabled{ + color:#6c757d; + pointer-events:none; + cursor:default; +} + +.nav-tabs{ + border-bottom:1px solid #dee2e6; +} +.nav-tabs .nav-link{ + margin-bottom:-1px; + border:1px solid transparent; + border-top-left-radius:0.25rem; + border-top-right-radius:0.25rem; +} +.nav-tabs .nav-link:hover, .nav-tabs .nav-link:focus{ + border-color:#e9ecef #e9ecef #dee2e6; +} +.nav-tabs .nav-link.disabled{ + color:#6c757d; + background-color:transparent; + border-color:transparent; +} +.nav-tabs .nav-link.active, +.nav-tabs .nav-item.show .nav-link{ + color:#495057; + background-color:#f8fafc; + border-color:#dee2e6 #dee2e6 #f8fafc; +} +.nav-tabs .dropdown-menu{ + margin-top:-1px; + border-top-left-radius:0; + border-top-right-radius:0; +} + +.nav-pills .nav-link{ + border-radius:0.25rem; +} +.nav-pills .nav-link.active, +.nav-pills .show > .nav-link{ + color:#fff; + background-color:#3490dc; +} + +.nav-fill > .nav-link, +.nav-fill .nav-item{ + flex:1 1 auto; + text-align:center; +} + +.nav-justified > .nav-link, +.nav-justified .nav-item{ + flex-basis:0; + flex-grow:1; + text-align:center; +} + +.tab-content > .tab-pane{ + display:none; +} +.tab-content > .active{ + display:block; +} + +.navbar{ + position:relative; + display:flex; + flex-wrap:wrap; + align-items:center; + justify-content:space-between; + padding:0.5rem 1rem; +} +.navbar .container, +.navbar .container-fluid, +.navbar .container-sm, +.navbar .container-md, +.navbar .container-lg, +.navbar .container-xl{ + display:flex; + flex-wrap:wrap; + align-items:center; + justify-content:space-between; +} +.navbar-brand{ + display:inline-block; + padding-top:0.32rem; + padding-bottom:0.32rem; + margin-right:1rem; + font-size:1.125rem; + line-height:inherit; + white-space:nowrap; +} +.navbar-brand:hover, .navbar-brand:focus{ + text-decoration:none; +} + +.navbar-nav{ + display:flex; + flex-direction:column; + padding-left:0; + margin-bottom:0; + list-style:none; +} +.navbar-nav .nav-link{ + padding-right:0; + padding-left:0; +} +.navbar-nav .dropdown-menu{ + position:static; + float:none; +} + +.navbar-text{ + display:inline-block; + padding-top:0.5rem; + padding-bottom:0.5rem; +} + +.navbar-collapse{ + flex-basis:100%; + flex-grow:1; + align-items:center; +} + +.navbar-toggler{ + padding:0.25rem 0.75rem; + font-size:1.125rem; + line-height:1; + background-color:transparent; + border:1px solid transparent; + border-radius:0.25rem; +} +.navbar-toggler:hover, .navbar-toggler:focus{ + text-decoration:none; +} + +.navbar-toggler-icon{ + display:inline-block; + width:1.5em; + height:1.5em; + vertical-align:middle; + content:""; + background:50%/100% 100% no-repeat; +} + +.navbar-nav-scroll{ + max-height:75vh; + overflow-y:auto; +} + +@media (max-width: 575.98px){ + .navbar-expand-sm > .container, +.navbar-expand-sm > .container-fluid, +.navbar-expand-sm > .container-sm, +.navbar-expand-sm > .container-md, +.navbar-expand-sm > .container-lg, +.navbar-expand-sm > .container-xl{ + padding-right:0; + padding-left:0; + } +} +@media (min-width: 576px){ + .navbar-expand-sm{ + flex-flow:row nowrap; + justify-content:flex-start; + } + .navbar-expand-sm .navbar-nav{ + flex-direction:row; + } + .navbar-expand-sm .navbar-nav .dropdown-menu{ + position:absolute; + } + .navbar-expand-sm .navbar-nav .nav-link{ + padding-right:0.5rem; + padding-left:0.5rem; + } + .navbar-expand-sm > .container, +.navbar-expand-sm > .container-fluid, +.navbar-expand-sm > .container-sm, +.navbar-expand-sm > .container-md, +.navbar-expand-sm > .container-lg, +.navbar-expand-sm > .container-xl{ + flex-wrap:nowrap; + } + .navbar-expand-sm .navbar-nav-scroll{ + overflow:visible; + } + .navbar-expand-sm .navbar-collapse{ + display:flex !important; + flex-basis:auto; + } + .navbar-expand-sm .navbar-toggler{ + display:none; + } +} +@media (max-width: 767.98px){ + .navbar-expand-md > .container, +.navbar-expand-md > .container-fluid, +.navbar-expand-md > .container-sm, +.navbar-expand-md > .container-md, +.navbar-expand-md > .container-lg, +.navbar-expand-md > .container-xl{ + padding-right:0; + padding-left:0; + } +} +@media (min-width: 768px){ + .navbar-expand-md{ + flex-flow:row nowrap; + justify-content:flex-start; + } + .navbar-expand-md .navbar-nav{ + flex-direction:row; + } + .navbar-expand-md .navbar-nav .dropdown-menu{ + position:absolute; + } + .navbar-expand-md .navbar-nav .nav-link{ + padding-right:0.5rem; + padding-left:0.5rem; + } + .navbar-expand-md > .container, +.navbar-expand-md > .container-fluid, +.navbar-expand-md > .container-sm, +.navbar-expand-md > .container-md, +.navbar-expand-md > .container-lg, +.navbar-expand-md > .container-xl{ + flex-wrap:nowrap; + } + .navbar-expand-md .navbar-nav-scroll{ + overflow:visible; + } + .navbar-expand-md .navbar-collapse{ + display:flex !important; + flex-basis:auto; + } + .navbar-expand-md .navbar-toggler{ + display:none; + } +} +@media (max-width: 991.98px){ + .navbar-expand-lg > .container, +.navbar-expand-lg > .container-fluid, +.navbar-expand-lg > .container-sm, +.navbar-expand-lg > .container-md, +.navbar-expand-lg > .container-lg, +.navbar-expand-lg > .container-xl{ + padding-right:0; + padding-left:0; + } +} +@media (min-width: 992px){ + .navbar-expand-lg{ + flex-flow:row nowrap; + justify-content:flex-start; + } + .navbar-expand-lg .navbar-nav{ + flex-direction:row; + } + .navbar-expand-lg .navbar-nav .dropdown-menu{ + position:absolute; + } + .navbar-expand-lg .navbar-nav .nav-link{ + padding-right:0.5rem; + padding-left:0.5rem; + } + .navbar-expand-lg > .container, +.navbar-expand-lg > .container-fluid, +.navbar-expand-lg > .container-sm, +.navbar-expand-lg > .container-md, +.navbar-expand-lg > .container-lg, +.navbar-expand-lg > .container-xl{ + flex-wrap:nowrap; + } + .navbar-expand-lg .navbar-nav-scroll{ + overflow:visible; + } + .navbar-expand-lg .navbar-collapse{ + display:flex !important; + flex-basis:auto; + } + .navbar-expand-lg .navbar-toggler{ + display:none; + } +} +@media (max-width: 1199.98px){ + .navbar-expand-xl > .container, +.navbar-expand-xl > .container-fluid, +.navbar-expand-xl > .container-sm, +.navbar-expand-xl > .container-md, +.navbar-expand-xl > .container-lg, +.navbar-expand-xl > .container-xl{ + padding-right:0; + padding-left:0; + } +} +@media (min-width: 1200px){ + .navbar-expand-xl{ + flex-flow:row nowrap; + justify-content:flex-start; + } + .navbar-expand-xl .navbar-nav{ + flex-direction:row; + } + .navbar-expand-xl .navbar-nav .dropdown-menu{ + position:absolute; + } + .navbar-expand-xl .navbar-nav .nav-link{ + padding-right:0.5rem; + padding-left:0.5rem; + } + .navbar-expand-xl > .container, +.navbar-expand-xl > .container-fluid, +.navbar-expand-xl > .container-sm, +.navbar-expand-xl > .container-md, +.navbar-expand-xl > .container-lg, +.navbar-expand-xl > .container-xl{ + flex-wrap:nowrap; + } + .navbar-expand-xl .navbar-nav-scroll{ + overflow:visible; + } + .navbar-expand-xl .navbar-collapse{ + display:flex !important; + flex-basis:auto; + } + .navbar-expand-xl .navbar-toggler{ + display:none; + } +} +.navbar-expand{ + flex-flow:row nowrap; + justify-content:flex-start; +} +.navbar-expand > .container, +.navbar-expand > .container-fluid, +.navbar-expand > .container-sm, +.navbar-expand > .container-md, +.navbar-expand > .container-lg, +.navbar-expand > .container-xl{ + padding-right:0; + padding-left:0; +} +.navbar-expand .navbar-nav{ + flex-direction:row; +} +.navbar-expand .navbar-nav .dropdown-menu{ + position:absolute; +} +.navbar-expand .navbar-nav .nav-link{ + padding-right:0.5rem; + padding-left:0.5rem; +} +.navbar-expand > .container, +.navbar-expand > .container-fluid, +.navbar-expand > .container-sm, +.navbar-expand > .container-md, +.navbar-expand > .container-lg, +.navbar-expand > .container-xl{ + flex-wrap:nowrap; +} +.navbar-expand .navbar-nav-scroll{ + overflow:visible; +} +.navbar-expand .navbar-collapse{ + display:flex !important; + flex-basis:auto; +} +.navbar-expand .navbar-toggler{ + display:none; +} + +.navbar-light .navbar-brand{ + color:rgba(0, 0, 0, 0.9); +} +.navbar-light .navbar-brand:hover, .navbar-light .navbar-brand:focus{ + color:rgba(0, 0, 0, 0.9); +} +.navbar-light .navbar-nav .nav-link{ + color:rgba(0, 0, 0, 0.5); +} +.navbar-light .navbar-nav .nav-link:hover, .navbar-light .navbar-nav .nav-link:focus{ + color:rgba(0, 0, 0, 0.7); +} +.navbar-light .navbar-nav .nav-link.disabled{ + color:rgba(0, 0, 0, 0.3); +} +.navbar-light .navbar-nav .show > .nav-link, +.navbar-light .navbar-nav .active > .nav-link, +.navbar-light .navbar-nav .nav-link.show, +.navbar-light .navbar-nav .nav-link.active{ + color:rgba(0, 0, 0, 0.9); +} +.navbar-light .navbar-toggler{ + color:rgba(0, 0, 0, 0.5); + border-color:rgba(0, 0, 0, 0.1); +} +.navbar-light .navbar-toggler-icon{ + background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='30' height='30' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%280, 0, 0, 0.5%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e"); +} +.navbar-light .navbar-text{ + color:rgba(0, 0, 0, 0.5); +} +.navbar-light .navbar-text a{ + color:rgba(0, 0, 0, 0.9); +} +.navbar-light .navbar-text a:hover, .navbar-light .navbar-text a:focus{ + color:rgba(0, 0, 0, 0.9); +} + +.navbar-dark .navbar-brand{ + color:#fff; +} +.navbar-dark .navbar-brand:hover, .navbar-dark .navbar-brand:focus{ + color:#fff; +} +.navbar-dark .navbar-nav .nav-link{ + color:rgba(255, 255, 255, 0.5); +} +.navbar-dark .navbar-nav .nav-link:hover, .navbar-dark .navbar-nav .nav-link:focus{ + color:rgba(255, 255, 255, 0.75); +} +.navbar-dark .navbar-nav .nav-link.disabled{ + color:rgba(255, 255, 255, 0.25); +} +.navbar-dark .navbar-nav .show > .nav-link, +.navbar-dark .navbar-nav .active > .nav-link, +.navbar-dark .navbar-nav .nav-link.show, +.navbar-dark .navbar-nav .nav-link.active{ + color:#fff; +} +.navbar-dark .navbar-toggler{ + color:rgba(255, 255, 255, 0.5); + border-color:rgba(255, 255, 255, 0.1); +} +.navbar-dark .navbar-toggler-icon{ + background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='30' height='30' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%28255, 255, 255, 0.5%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e"); +} +.navbar-dark .navbar-text{ + color:rgba(255, 255, 255, 0.5); +} +.navbar-dark .navbar-text a{ + color:#fff; +} +.navbar-dark .navbar-text a:hover, .navbar-dark .navbar-text a:focus{ + color:#fff; +} + +.card{ + position:relative; + display:flex; + flex-direction:column; + min-width:0; + word-wrap:break-word; + background-color:#fff; + background-clip:border-box; + border:1px solid rgba(0, 0, 0, 0.125); + border-radius:0.25rem; +} +.card > hr{ + margin-right:0; + margin-left:0; +} +.card > .list-group{ + border-top:inherit; + border-bottom:inherit; +} +.card > .list-group:first-child{ + border-top-width:0; + border-top-left-radius:calc(0.25rem - 1px); + border-top-right-radius:calc(0.25rem - 1px); +} +.card > .list-group:last-child{ + border-bottom-width:0; + border-bottom-right-radius:calc(0.25rem - 1px); + border-bottom-left-radius:calc(0.25rem - 1px); +} +.card > .card-header + .list-group, +.card > .list-group + .card-footer{ + border-top:0; +} + +.card-body{ + flex:1 1 auto; + min-height:1px; + padding:1.25rem; +} + +.card-title{ + margin-bottom:0.75rem; +} + +.card-subtitle{ + margin-top:-0.375rem; + margin-bottom:0; +} + +.card-text:last-child{ + margin-bottom:0; +} + +.card-link:hover{ + text-decoration:none; +} +.card-link + .card-link{ + margin-left:1.25rem; +} + +.card-header{ + padding:0.75rem 1.25rem; + margin-bottom:0; + background-color:rgba(0, 0, 0, 0.03); + border-bottom:1px solid rgba(0, 0, 0, 0.125); +} +.card-header:first-child{ + border-radius:calc(0.25rem - 1px) calc(0.25rem - 1px) 0 0; +} + +.card-footer{ + padding:0.75rem 1.25rem; + background-color:rgba(0, 0, 0, 0.03); + border-top:1px solid rgba(0, 0, 0, 0.125); +} +.card-footer:last-child{ + border-radius:0 0 calc(0.25rem - 1px) calc(0.25rem - 1px); +} + +.card-header-tabs{ + margin-right:-0.625rem; + margin-bottom:-0.75rem; + margin-left:-0.625rem; + border-bottom:0; +} + +.card-header-pills{ + margin-right:-0.625rem; + margin-left:-0.625rem; +} + +.card-img-overlay{ + position:absolute; + top:0; + right:0; + bottom:0; + left:0; + padding:1.25rem; + border-radius:calc(0.25rem - 1px); +} + +.card-img, +.card-img-top, +.card-img-bottom{ + flex-shrink:0; + width:100%; +} + +.card-img, +.card-img-top{ + border-top-left-radius:calc(0.25rem - 1px); + border-top-right-radius:calc(0.25rem - 1px); +} + +.card-img, +.card-img-bottom{ + border-bottom-right-radius:calc(0.25rem - 1px); + border-bottom-left-radius:calc(0.25rem - 1px); +} + +.card-deck .card{ + margin-bottom:15px; +} +@media (min-width: 576px){ + .card-deck{ + display:flex; + flex-flow:row wrap; + margin-right:-15px; + margin-left:-15px; + } + .card-deck .card{ + flex:1 0 0%; + margin-right:15px; + margin-bottom:0; + margin-left:15px; + } +} + +.card-group > .card{ + margin-bottom:15px; +} +@media (min-width: 576px){ + .card-group{ + display:flex; + flex-flow:row wrap; + } + .card-group > .card{ + flex:1 0 0%; + margin-bottom:0; + } + .card-group > .card + .card{ + margin-left:0; + border-left:0; + } + .card-group > .card:not(:last-child){ + border-top-right-radius:0; + border-bottom-right-radius:0; + } + .card-group > .card:not(:last-child) .card-img-top, +.card-group > .card:not(:last-child) .card-header{ + border-top-right-radius:0; + } + .card-group > .card:not(:last-child) .card-img-bottom, +.card-group > .card:not(:last-child) .card-footer{ + border-bottom-right-radius:0; + } + .card-group > .card:not(:first-child){ + border-top-left-radius:0; + border-bottom-left-radius:0; + } + .card-group > .card:not(:first-child) .card-img-top, +.card-group > .card:not(:first-child) .card-header{ + border-top-left-radius:0; + } + .card-group > .card:not(:first-child) .card-img-bottom, +.card-group > .card:not(:first-child) .card-footer{ + border-bottom-left-radius:0; + } +} + +.card-columns .card{ + margin-bottom:0.75rem; +} +@media (min-width: 576px){ + .card-columns{ + -moz-column-count:3; + column-count:3; + -moz-column-gap:1.25rem; + column-gap:1.25rem; + orphans:1; + widows:1; + } + .card-columns .card{ + display:inline-block; + width:100%; + } +} + +.accordion{ + overflow-anchor:none; +} +.accordion > .card{ + overflow:hidden; +} +.accordion > .card:not(:last-of-type){ + border-bottom:0; + border-bottom-right-radius:0; + border-bottom-left-radius:0; +} +.accordion > .card:not(:first-of-type){ + border-top-left-radius:0; + border-top-right-radius:0; +} +.accordion > .card > .card-header{ + border-radius:0; + margin-bottom:-1px; +} + +.breadcrumb{ + display:flex; + flex-wrap:wrap; + padding:0.75rem 1rem; + margin-bottom:1rem; + list-style:none; + background-color:#e9ecef; + border-radius:0.25rem; +} + +.breadcrumb-item + .breadcrumb-item{ + padding-left:0.5rem; +} +.breadcrumb-item + .breadcrumb-item::before{ + float:left; + padding-right:0.5rem; + color:#6c757d; + content:"/"; +} +.breadcrumb-item + .breadcrumb-item:hover::before{ + text-decoration:underline; +} +.breadcrumb-item + .breadcrumb-item:hover::before{ + text-decoration:none; +} +.breadcrumb-item.active{ + color:#6c757d; +} + +.pagination{ + display:flex; + padding-left:0; + list-style:none; + border-radius:0.25rem; +} + +.page-link{ + position:relative; + display:block; + padding:0.5rem 0.75rem; + margin-left:-1px; + line-height:1.25; + color:#3490dc; + background-color:#fff; + border:1px solid #dee2e6; +} +.page-link:hover{ + z-index:2; + color:#1d68a7; + text-decoration:none; + background-color:#e9ecef; + border-color:#dee2e6; +} +.page-link:focus{ + z-index:3; + outline:0; + box-shadow:0 0 0 0.2rem rgba(52, 144, 220, 0.25); +} + +.page-item:first-child .page-link{ + margin-left:0; + border-top-left-radius:0.25rem; + border-bottom-left-radius:0.25rem; +} +.page-item:last-child .page-link{ + border-top-right-radius:0.25rem; + border-bottom-right-radius:0.25rem; +} +.page-item.active .page-link{ + z-index:3; + color:#fff; + background-color:#3490dc; + border-color:#3490dc; +} +.page-item.disabled .page-link{ + color:#6c757d; + pointer-events:none; + cursor:auto; + background-color:#fff; + border-color:#dee2e6; +} + +.pagination-lg .page-link{ + padding:0.75rem 1.5rem; + font-size:1.125rem; + line-height:1.5; +} +.pagination-lg .page-item:first-child .page-link{ + border-top-left-radius:0.3rem; + border-bottom-left-radius:0.3rem; +} +.pagination-lg .page-item:last-child .page-link{ + border-top-right-radius:0.3rem; + border-bottom-right-radius:0.3rem; +} + +.pagination-sm .page-link{ + padding:0.25rem 0.5rem; + font-size:0.7875rem; + line-height:1.5; +} +.pagination-sm .page-item:first-child .page-link{ + border-top-left-radius:0.2rem; + border-bottom-left-radius:0.2rem; +} +.pagination-sm .page-item:last-child .page-link{ + border-top-right-radius:0.2rem; + border-bottom-right-radius:0.2rem; +} + +.badge{ + display:inline-block; + padding:0.25em 0.4em; + font-size:75%; + font-weight:700; + line-height:1; + text-align:center; + white-space:nowrap; + vertical-align:baseline; + border-radius:0.25rem; + transition:color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; +} +@media (prefers-reduced-motion: reduce){ + .badge{ + transition:none; + } +} +a.badge:hover, a.badge:focus{ + text-decoration:none; +} + +.badge:empty{ + display:none; +} + +.btn .badge{ + position:relative; + top:-1px; +} + +.badge-pill{ + padding-right:0.6em; + padding-left:0.6em; + border-radius:10rem; +} + +.badge-primary{ + color:#fff; + background-color:#3490dc; +} +a.badge-primary:hover, a.badge-primary:focus{ + color:#fff; + background-color:#2176bd; +} +a.badge-primary:focus, a.badge-primary.focus{ + outline:0; + box-shadow:0 0 0 0.2rem rgba(52, 144, 220, 0.5); +} + +.badge-secondary{ + color:#fff; + background-color:#6c757d; +} +a.badge-secondary:hover, a.badge-secondary:focus{ + color:#fff; + background-color:#545b62; +} +a.badge-secondary:focus, a.badge-secondary.focus{ + outline:0; + box-shadow:0 0 0 0.2rem rgba(108, 117, 125, 0.5); +} + +.badge-success{ + color:#fff; + background-color:#38c172; +} +a.badge-success:hover, a.badge-success:focus{ + color:#fff; + background-color:#2d995b; +} +a.badge-success:focus, a.badge-success.focus{ + outline:0; + box-shadow:0 0 0 0.2rem rgba(56, 193, 114, 0.5); +} + +.badge-info{ + color:#212529; + background-color:#6cb2eb; +} +a.badge-info:hover, a.badge-info:focus{ + color:#212529; + background-color:#3f9ae5; +} +a.badge-info:focus, a.badge-info.focus{ + outline:0; + box-shadow:0 0 0 0.2rem rgba(108, 178, 235, 0.5); +} + +.badge-warning{ + color:#212529; + background-color:#ffed4a; +} +a.badge-warning:hover, a.badge-warning:focus{ + color:#212529; + background-color:#ffe817; +} +a.badge-warning:focus, a.badge-warning.focus{ + outline:0; + box-shadow:0 0 0 0.2rem rgba(255, 237, 74, 0.5); +} + +.badge-danger{ + color:#fff; + background-color:#e3342f; +} +a.badge-danger:hover, a.badge-danger:focus{ + color:#fff; + background-color:#c51f1a; +} +a.badge-danger:focus, a.badge-danger.focus{ + outline:0; + box-shadow:0 0 0 0.2rem rgba(227, 52, 47, 0.5); +} + +.badge-light{ + color:#212529; + background-color:#f8f9fa; +} +a.badge-light:hover, a.badge-light:focus{ + color:#212529; + background-color:#dae0e5; +} +a.badge-light:focus, a.badge-light.focus{ + outline:0; + box-shadow:0 0 0 0.2rem rgba(248, 249, 250, 0.5); +} + +.badge-dark{ + color:#fff; + background-color:#343a40; +} +a.badge-dark:hover, a.badge-dark:focus{ + color:#fff; + background-color:#1d2124; +} +a.badge-dark:focus, a.badge-dark.focus{ + outline:0; + box-shadow:0 0 0 0.2rem rgba(52, 58, 64, 0.5); +} + +.jumbotron{ + padding:2rem 1rem; + margin-bottom:2rem; + background-color:#e9ecef; + border-radius:0.3rem; +} +@media (min-width: 576px){ + .jumbotron{ + padding:4rem 2rem; + } +} + +.jumbotron-fluid{ + padding-right:0; + padding-left:0; + border-radius:0; +} + +.alert{ + position:relative; + padding:0.75rem 1.25rem; + margin-bottom:1rem; + border:1px solid transparent; + border-radius:0.25rem; +} + +.alert-heading{ + color:inherit; +} + +.alert-link{ + font-weight:700; +} + +.alert-dismissible{ + padding-right:3.85rem; +} +.alert-dismissible .close{ + position:absolute; + top:0; + right:0; + z-index:2; + padding:0.75rem 1.25rem; + color:inherit; +} + +.alert-primary{ + color:#1b4b72; + background-color:#d6e9f8; + border-color:#c6e0f5; +} +.alert-primary hr{ + border-top-color:#b0d4f1; +} +.alert-primary .alert-link{ + color:#113049; +} + +.alert-secondary{ + color:#383d41; + background-color:#e2e3e5; + border-color:#d6d8db; +} +.alert-secondary hr{ + border-top-color:#c8cbcf; +} +.alert-secondary .alert-link{ + color:#202326; +} + +.alert-success{ + color:#1d643b; + background-color:#d7f3e3; + border-color:#c7eed8; +} +.alert-success hr{ + border-top-color:#b3e8ca; +} +.alert-success .alert-link{ + color:#123c24; +} + +.alert-info{ + color:#385d7a; + background-color:#e2f0fb; + border-color:#d6e9f9; +} +.alert-info hr{ + border-top-color:#c0ddf6; +} +.alert-info .alert-link{ + color:#284257; +} + +.alert-warning{ + color:#857b26; + background-color:#fffbdb; + border-color:#fffacc; +} +.alert-warning hr{ + border-top-color:#fff8b3; +} +.alert-warning .alert-link{ + color:#5d561b; +} + +.alert-danger{ + color:#761b18; + background-color:#f9d6d5; + border-color:#f7c6c5; +} +.alert-danger hr{ + border-top-color:#f4b0af; +} +.alert-danger .alert-link{ + color:#4c110f; +} + +.alert-light{ + color:#818182; + background-color:#fefefe; + border-color:#fdfdfe; +} +.alert-light hr{ + border-top-color:#ececf6; +} +.alert-light .alert-link{ + color:#686868; +} + +.alert-dark{ + color:#1b1e21; + background-color:#d6d8d9; + border-color:#c6c8ca; +} +.alert-dark hr{ + border-top-color:#b9bbbe; +} +.alert-dark .alert-link{ + color:#040505; +} + +@-webkit-keyframes progress-bar-stripes{ + from{ + background-position:1rem 0; + } + to{ + background-position:0 0; + } +} + +@keyframes progress-bar-stripes{ + from{ + background-position:1rem 0; + } + to{ + background-position:0 0; + } +} +.progress{ + display:flex; + height:1rem; + overflow:hidden; + line-height:0; + font-size:0.675rem; + background-color:#e9ecef; + border-radius:0.25rem; +} + +.progress-bar{ + display:flex; + flex-direction:column; + justify-content:center; + overflow:hidden; + color:#fff; + text-align:center; + white-space:nowrap; + background-color:#3490dc; + transition:width 0.6s ease; +} +@media (prefers-reduced-motion: reduce){ + .progress-bar{ + transition:none; + } +} + +.progress-bar-striped{ + background-image:linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); + background-size:1rem 1rem; +} + +.progress-bar-animated{ + -webkit-animation:1s linear infinite progress-bar-stripes; + animation:1s linear infinite progress-bar-stripes; +} +@media (prefers-reduced-motion: reduce){ + .progress-bar-animated{ + -webkit-animation:none; + animation:none; + } +} + +.media{ + display:flex; + align-items:flex-start; +} + +.media-body{ + flex:1; +} + +.list-group{ + display:flex; + flex-direction:column; + padding-left:0; + margin-bottom:0; + border-radius:0.25rem; +} + +.list-group-item-action{ + width:100%; + color:#495057; + text-align:inherit; +} +.list-group-item-action:hover, .list-group-item-action:focus{ + z-index:1; + color:#495057; + text-decoration:none; + background-color:#f8f9fa; +} +.list-group-item-action:active{ + color:#212529; + background-color:#e9ecef; +} + +.list-group-item{ + position:relative; + display:block; + padding:0.75rem 1.25rem; + background-color:#fff; + border:1px solid rgba(0, 0, 0, 0.125); +} +.list-group-item:first-child{ + border-top-left-radius:inherit; + border-top-right-radius:inherit; +} +.list-group-item:last-child{ + border-bottom-right-radius:inherit; + border-bottom-left-radius:inherit; +} +.list-group-item.disabled, .list-group-item:disabled{ + color:#6c757d; + pointer-events:none; + background-color:#fff; +} +.list-group-item.active{ + z-index:2; + color:#fff; + background-color:#3490dc; + border-color:#3490dc; +} +.list-group-item + .list-group-item{ + border-top-width:0; +} +.list-group-item + .list-group-item.active{ + margin-top:-1px; + border-top-width:1px; +} + +.list-group-horizontal{ + flex-direction:row; +} +.list-group-horizontal > .list-group-item:first-child{ + border-bottom-left-radius:0.25rem; + border-top-right-radius:0; +} +.list-group-horizontal > .list-group-item:last-child{ + border-top-right-radius:0.25rem; + border-bottom-left-radius:0; +} +.list-group-horizontal > .list-group-item.active{ + margin-top:0; +} +.list-group-horizontal > .list-group-item + .list-group-item{ + border-top-width:1px; + border-left-width:0; +} +.list-group-horizontal > .list-group-item + .list-group-item.active{ + margin-left:-1px; + border-left-width:1px; +} + +@media (min-width: 576px){ + .list-group-horizontal-sm{ + flex-direction:row; + } + .list-group-horizontal-sm > .list-group-item:first-child{ + border-bottom-left-radius:0.25rem; + border-top-right-radius:0; + } + .list-group-horizontal-sm > .list-group-item:last-child{ + border-top-right-radius:0.25rem; + border-bottom-left-radius:0; + } + .list-group-horizontal-sm > .list-group-item.active{ + margin-top:0; + } + .list-group-horizontal-sm > .list-group-item + .list-group-item{ + border-top-width:1px; + border-left-width:0; + } + .list-group-horizontal-sm > .list-group-item + .list-group-item.active{ + margin-left:-1px; + border-left-width:1px; + } +} +@media (min-width: 768px){ + .list-group-horizontal-md{ + flex-direction:row; + } + .list-group-horizontal-md > .list-group-item:first-child{ + border-bottom-left-radius:0.25rem; + border-top-right-radius:0; + } + .list-group-horizontal-md > .list-group-item:last-child{ + border-top-right-radius:0.25rem; + border-bottom-left-radius:0; + } + .list-group-horizontal-md > .list-group-item.active{ + margin-top:0; + } + .list-group-horizontal-md > .list-group-item + .list-group-item{ + border-top-width:1px; + border-left-width:0; + } + .list-group-horizontal-md > .list-group-item + .list-group-item.active{ + margin-left:-1px; + border-left-width:1px; + } +} +@media (min-width: 992px){ + .list-group-horizontal-lg{ + flex-direction:row; + } + .list-group-horizontal-lg > .list-group-item:first-child{ + border-bottom-left-radius:0.25rem; + border-top-right-radius:0; + } + .list-group-horizontal-lg > .list-group-item:last-child{ + border-top-right-radius:0.25rem; + border-bottom-left-radius:0; + } + .list-group-horizontal-lg > .list-group-item.active{ + margin-top:0; + } + .list-group-horizontal-lg > .list-group-item + .list-group-item{ + border-top-width:1px; + border-left-width:0; + } + .list-group-horizontal-lg > .list-group-item + .list-group-item.active{ + margin-left:-1px; + border-left-width:1px; + } +} +@media (min-width: 1200px){ + .list-group-horizontal-xl{ + flex-direction:row; + } + .list-group-horizontal-xl > .list-group-item:first-child{ + border-bottom-left-radius:0.25rem; + border-top-right-radius:0; + } + .list-group-horizontal-xl > .list-group-item:last-child{ + border-top-right-radius:0.25rem; + border-bottom-left-radius:0; + } + .list-group-horizontal-xl > .list-group-item.active{ + margin-top:0; + } + .list-group-horizontal-xl > .list-group-item + .list-group-item{ + border-top-width:1px; + border-left-width:0; + } + .list-group-horizontal-xl > .list-group-item + .list-group-item.active{ + margin-left:-1px; + border-left-width:1px; + } +} +.list-group-flush{ + border-radius:0; +} +.list-group-flush > .list-group-item{ + border-width:0 0 1px; +} +.list-group-flush > .list-group-item:last-child{ + border-bottom-width:0; +} + +.list-group-item-primary{ + color:#1b4b72; + background-color:#c6e0f5; +} +.list-group-item-primary.list-group-item-action:hover, .list-group-item-primary.list-group-item-action:focus{ + color:#1b4b72; + background-color:#b0d4f1; +} +.list-group-item-primary.list-group-item-action.active{ + color:#fff; + background-color:#1b4b72; + border-color:#1b4b72; +} + +.list-group-item-secondary{ + color:#383d41; + background-color:#d6d8db; +} +.list-group-item-secondary.list-group-item-action:hover, .list-group-item-secondary.list-group-item-action:focus{ + color:#383d41; + background-color:#c8cbcf; +} +.list-group-item-secondary.list-group-item-action.active{ + color:#fff; + background-color:#383d41; + border-color:#383d41; +} + +.list-group-item-success{ + color:#1d643b; + background-color:#c7eed8; +} +.list-group-item-success.list-group-item-action:hover, .list-group-item-success.list-group-item-action:focus{ + color:#1d643b; + background-color:#b3e8ca; +} +.list-group-item-success.list-group-item-action.active{ + color:#fff; + background-color:#1d643b; + border-color:#1d643b; +} + +.list-group-item-info{ + color:#385d7a; + background-color:#d6e9f9; +} +.list-group-item-info.list-group-item-action:hover, .list-group-item-info.list-group-item-action:focus{ + color:#385d7a; + background-color:#c0ddf6; +} +.list-group-item-info.list-group-item-action.active{ + color:#fff; + background-color:#385d7a; + border-color:#385d7a; +} + +.list-group-item-warning{ + color:#857b26; + background-color:#fffacc; +} +.list-group-item-warning.list-group-item-action:hover, .list-group-item-warning.list-group-item-action:focus{ + color:#857b26; + background-color:#fff8b3; +} +.list-group-item-warning.list-group-item-action.active{ + color:#fff; + background-color:#857b26; + border-color:#857b26; +} + +.list-group-item-danger{ + color:#761b18; + background-color:#f7c6c5; +} +.list-group-item-danger.list-group-item-action:hover, .list-group-item-danger.list-group-item-action:focus{ + color:#761b18; + background-color:#f4b0af; +} +.list-group-item-danger.list-group-item-action.active{ + color:#fff; + background-color:#761b18; + border-color:#761b18; +} + +.list-group-item-light{ + color:#818182; + background-color:#fdfdfe; +} +.list-group-item-light.list-group-item-action:hover, .list-group-item-light.list-group-item-action:focus{ + color:#818182; + background-color:#ececf6; +} +.list-group-item-light.list-group-item-action.active{ + color:#fff; + background-color:#818182; + border-color:#818182; +} + +.list-group-item-dark{ + color:#1b1e21; + background-color:#c6c8ca; +} +.list-group-item-dark.list-group-item-action:hover, .list-group-item-dark.list-group-item-action:focus{ + color:#1b1e21; + background-color:#b9bbbe; +} +.list-group-item-dark.list-group-item-action.active{ + color:#fff; + background-color:#1b1e21; + border-color:#1b1e21; +} + +.close{ + float:right; + font-size:1.35rem; + font-weight:700; + line-height:1; + color:#000; + text-shadow:0 1px 0 #fff; + opacity:0.5; +} +.close:hover{ + color:#000; + text-decoration:none; +} +.close:not(:disabled):not(.disabled):hover, .close:not(:disabled):not(.disabled):focus{ + opacity:0.75; +} + +button.close{ + padding:0; + background-color:transparent; + border:0; +} + +a.close.disabled{ + pointer-events:none; +} + +.toast{ + flex-basis:350px; + max-width:350px; + font-size:0.875rem; + background-color:rgba(255, 255, 255, 0.85); + background-clip:padding-box; + border:1px solid rgba(0, 0, 0, 0.1); + box-shadow:0 0.25rem 0.75rem rgba(0, 0, 0, 0.1); + opacity:0; + border-radius:0.25rem; +} +.toast:not(:last-child){ + margin-bottom:0.75rem; +} +.toast.showing{ + opacity:1; +} +.toast.show{ + display:block; + opacity:1; +} +.toast.hide{ + display:none; +} + +.toast-header{ + display:flex; + align-items:center; + padding:0.25rem 0.75rem; + color:#6c757d; + background-color:rgba(255, 255, 255, 0.85); + background-clip:padding-box; + border-bottom:1px solid rgba(0, 0, 0, 0.05); + border-top-left-radius:calc(0.25rem - 1px); + border-top-right-radius:calc(0.25rem - 1px); +} + +.toast-body{ + padding:0.75rem; +} + +.modal-open{ + overflow:hidden; +} +.modal-open .modal{ + overflow-x:hidden; + overflow-y:auto; +} + +.modal{ + position:fixed; + top:0; + left:0; + z-index:1050; + display:none; + width:100%; + height:100%; + overflow:hidden; + outline:0; +} + +.modal-dialog{ + position:relative; + width:auto; + margin:0.5rem; + pointer-events:none; +} +.modal.fade .modal-dialog{ + transition:transform 0.3s ease-out; + transform:translate(0, -50px); +} +@media (prefers-reduced-motion: reduce){ + .modal.fade .modal-dialog{ + transition:none; + } +} +.modal.show .modal-dialog{ + transform:none; +} +.modal.modal-static .modal-dialog{ + transform:scale(1.02); +} + +.modal-dialog-scrollable{ + display:flex; + max-height:calc(100% - 1rem); +} +.modal-dialog-scrollable .modal-content{ + max-height:calc(100vh - 1rem); + overflow:hidden; +} +.modal-dialog-scrollable .modal-header, +.modal-dialog-scrollable .modal-footer{ + flex-shrink:0; +} +.modal-dialog-scrollable .modal-body{ + overflow-y:auto; +} + +.modal-dialog-centered{ + display:flex; + align-items:center; + min-height:calc(100% - 1rem); +} +.modal-dialog-centered::before{ + display:block; + height:calc(100vh - 1rem); + height:-webkit-min-content; + height:-moz-min-content; + height:min-content; + content:""; +} +.modal-dialog-centered.modal-dialog-scrollable{ + flex-direction:column; + justify-content:center; + height:100%; +} +.modal-dialog-centered.modal-dialog-scrollable .modal-content{ + max-height:none; +} +.modal-dialog-centered.modal-dialog-scrollable::before{ + content:none; +} + +.modal-content{ + position:relative; + display:flex; + flex-direction:column; + width:100%; + pointer-events:auto; + background-color:#fff; + background-clip:padding-box; + border:1px solid rgba(0, 0, 0, 0.2); + border-radius:0.3rem; + outline:0; +} + +.modal-backdrop{ + position:fixed; + top:0; + left:0; + z-index:1040; + width:100vw; + height:100vh; + background-color:#000; +} +.modal-backdrop.fade{ + opacity:0; +} +.modal-backdrop.show{ + opacity:0.5; +} + +.modal-header{ + display:flex; + align-items:flex-start; + justify-content:space-between; + padding:1rem 1rem; + border-bottom:1px solid #dee2e6; + border-top-left-radius:calc(0.3rem - 1px); + border-top-right-radius:calc(0.3rem - 1px); +} +.modal-header .close{ + padding:1rem 1rem; + margin:-1rem -1rem -1rem auto; +} + +.modal-title{ + margin-bottom:0; + line-height:1.6; +} + +.modal-body{ + position:relative; + flex:1 1 auto; + padding:1rem; +} + +.modal-footer{ + display:flex; + flex-wrap:wrap; + align-items:center; + justify-content:flex-end; + padding:0.75rem; + border-top:1px solid #dee2e6; + border-bottom-right-radius:calc(0.3rem - 1px); + border-bottom-left-radius:calc(0.3rem - 1px); +} +.modal-footer > *{ + margin:0.25rem; +} + +.modal-scrollbar-measure{ + position:absolute; + top:-9999px; + width:50px; + height:50px; + overflow:scroll; +} + +@media (min-width: 576px){ + .modal-dialog{ + max-width:500px; + margin:1.75rem auto; + } + + .modal-dialog-scrollable{ + max-height:calc(100% - 3.5rem); + } + .modal-dialog-scrollable .modal-content{ + max-height:calc(100vh - 3.5rem); + } + + .modal-dialog-centered{ + min-height:calc(100% - 3.5rem); + } + .modal-dialog-centered::before{ + height:calc(100vh - 3.5rem); + height:-webkit-min-content; + height:-moz-min-content; + height:min-content; + } + + .modal-sm{ + max-width:300px; + } +} +@media (min-width: 992px){ + .modal-lg, +.modal-xl{ + max-width:800px; + } +} +@media (min-width: 1200px){ + .modal-xl{ + max-width:1140px; + } +} +.tooltip{ + position:absolute; + z-index:1070; + display:block; + margin:0; + font-family:"Nunito", sans-serif; + font-style:normal; + font-weight:400; + line-height:1.6; + text-align:left; + text-align:start; + text-decoration:none; + text-shadow:none; + text-transform:none; + letter-spacing:normal; + word-break:normal; + word-spacing:normal; + white-space:normal; + line-break:auto; + font-size:0.7875rem; + word-wrap:break-word; + opacity:0; +} +.tooltip.show{ + opacity:0.9; +} +.tooltip .arrow{ + position:absolute; + display:block; + width:0.8rem; + height:0.4rem; +} +.tooltip .arrow::before{ + position:absolute; + content:""; + border-color:transparent; + border-style:solid; +} + +.bs-tooltip-top, .bs-tooltip-auto[x-placement^=top]{ + padding:0.4rem 0; +} +.bs-tooltip-top .arrow, .bs-tooltip-auto[x-placement^=top] .arrow{ + bottom:0; +} +.bs-tooltip-top .arrow::before, .bs-tooltip-auto[x-placement^=top] .arrow::before{ + top:0; + border-width:0.4rem 0.4rem 0; + border-top-color:#000; +} + +.bs-tooltip-right, .bs-tooltip-auto[x-placement^=right]{ + padding:0 0.4rem; +} +.bs-tooltip-right .arrow, .bs-tooltip-auto[x-placement^=right] .arrow{ + left:0; + width:0.4rem; + height:0.8rem; +} +.bs-tooltip-right .arrow::before, .bs-tooltip-auto[x-placement^=right] .arrow::before{ + right:0; + border-width:0.4rem 0.4rem 0.4rem 0; + border-right-color:#000; +} + +.bs-tooltip-bottom, .bs-tooltip-auto[x-placement^=bottom]{ + padding:0.4rem 0; +} +.bs-tooltip-bottom .arrow, .bs-tooltip-auto[x-placement^=bottom] .arrow{ + top:0; +} +.bs-tooltip-bottom .arrow::before, .bs-tooltip-auto[x-placement^=bottom] .arrow::before{ + bottom:0; + border-width:0 0.4rem 0.4rem; + border-bottom-color:#000; +} + +.bs-tooltip-left, .bs-tooltip-auto[x-placement^=left]{ + padding:0 0.4rem; +} +.bs-tooltip-left .arrow, .bs-tooltip-auto[x-placement^=left] .arrow{ + right:0; + width:0.4rem; + height:0.8rem; +} +.bs-tooltip-left .arrow::before, .bs-tooltip-auto[x-placement^=left] .arrow::before{ + left:0; + border-width:0.4rem 0 0.4rem 0.4rem; + border-left-color:#000; +} + +.tooltip-inner{ + max-width:200px; + padding:0.25rem 0.5rem; + color:#fff; + text-align:center; + background-color:#000; + border-radius:0.25rem; +} + +.popover{ + position:absolute; + top:0; + left:0; + z-index:1060; + display:block; + max-width:276px; + font-family:"Nunito", sans-serif; + font-style:normal; + font-weight:400; + line-height:1.6; + text-align:left; + text-align:start; + text-decoration:none; + text-shadow:none; + text-transform:none; + letter-spacing:normal; + word-break:normal; + word-spacing:normal; + white-space:normal; + line-break:auto; + font-size:0.7875rem; + word-wrap:break-word; + background-color:#fff; + background-clip:padding-box; + border:1px solid rgba(0, 0, 0, 0.2); + border-radius:0.3rem; +} +.popover .arrow{ + position:absolute; + display:block; + width:1rem; + height:0.5rem; + margin:0 0.3rem; +} +.popover .arrow::before, .popover .arrow::after{ + position:absolute; + display:block; + content:""; + border-color:transparent; + border-style:solid; +} + +.bs-popover-top, .bs-popover-auto[x-placement^=top]{ + margin-bottom:0.5rem; +} +.bs-popover-top > .arrow, .bs-popover-auto[x-placement^=top] > .arrow{ + bottom:calc(-0.5rem - 1px); +} +.bs-popover-top > .arrow::before, .bs-popover-auto[x-placement^=top] > .arrow::before{ + bottom:0; + border-width:0.5rem 0.5rem 0; + border-top-color:rgba(0, 0, 0, 0.25); +} +.bs-popover-top > .arrow::after, .bs-popover-auto[x-placement^=top] > .arrow::after{ + bottom:1px; + border-width:0.5rem 0.5rem 0; + border-top-color:#fff; +} + +.bs-popover-right, .bs-popover-auto[x-placement^=right]{ + margin-left:0.5rem; +} +.bs-popover-right > .arrow, .bs-popover-auto[x-placement^=right] > .arrow{ + left:calc(-0.5rem - 1px); + width:0.5rem; + height:1rem; + margin:0.3rem 0; +} +.bs-popover-right > .arrow::before, .bs-popover-auto[x-placement^=right] > .arrow::before{ + left:0; + border-width:0.5rem 0.5rem 0.5rem 0; + border-right-color:rgba(0, 0, 0, 0.25); +} +.bs-popover-right > .arrow::after, .bs-popover-auto[x-placement^=right] > .arrow::after{ + left:1px; + border-width:0.5rem 0.5rem 0.5rem 0; + border-right-color:#fff; +} + +.bs-popover-bottom, .bs-popover-auto[x-placement^=bottom]{ + margin-top:0.5rem; +} +.bs-popover-bottom > .arrow, .bs-popover-auto[x-placement^=bottom] > .arrow{ + top:calc(-0.5rem - 1px); +} +.bs-popover-bottom > .arrow::before, .bs-popover-auto[x-placement^=bottom] > .arrow::before{ + top:0; + border-width:0 0.5rem 0.5rem 0.5rem; + border-bottom-color:rgba(0, 0, 0, 0.25); +} +.bs-popover-bottom > .arrow::after, .bs-popover-auto[x-placement^=bottom] > .arrow::after{ + top:1px; + border-width:0 0.5rem 0.5rem 0.5rem; + border-bottom-color:#fff; +} +.bs-popover-bottom .popover-header::before, .bs-popover-auto[x-placement^=bottom] .popover-header::before{ + position:absolute; + top:0; + left:50%; + display:block; + width:1rem; + margin-left:-0.5rem; + content:""; + border-bottom:1px solid #f7f7f7; +} + +.bs-popover-left, .bs-popover-auto[x-placement^=left]{ + margin-right:0.5rem; +} +.bs-popover-left > .arrow, .bs-popover-auto[x-placement^=left] > .arrow{ + right:calc(-0.5rem - 1px); + width:0.5rem; + height:1rem; + margin:0.3rem 0; +} +.bs-popover-left > .arrow::before, .bs-popover-auto[x-placement^=left] > .arrow::before{ + right:0; + border-width:0.5rem 0 0.5rem 0.5rem; + border-left-color:rgba(0, 0, 0, 0.25); +} +.bs-popover-left > .arrow::after, .bs-popover-auto[x-placement^=left] > .arrow::after{ + right:1px; + border-width:0.5rem 0 0.5rem 0.5rem; + border-left-color:#fff; +} + +.popover-header{ + padding:0.5rem 0.75rem; + margin-bottom:0; + font-size:0.9rem; + background-color:#f7f7f7; + border-bottom:1px solid #ebebeb; + border-top-left-radius:calc(0.3rem - 1px); + border-top-right-radius:calc(0.3rem - 1px); +} +.popover-header:empty{ + display:none; +} + +.popover-body{ + padding:0.5rem 0.75rem; + color:#212529; +} + +.carousel{ + position:relative; +} + +.carousel.pointer-event{ + touch-action:pan-y; +} + +.carousel-inner{ + position:relative; + width:100%; + overflow:hidden; +} +.carousel-inner::after{ + display:block; + clear:both; + content:""; +} + +.carousel-item{ + position:relative; + display:none; + float:left; + width:100%; + margin-right:-100%; + -webkit-backface-visibility:hidden; + backface-visibility:hidden; + transition:transform 0.6s ease-in-out; +} +@media (prefers-reduced-motion: reduce){ + .carousel-item{ + transition:none; + } +} + +.carousel-item.active, +.carousel-item-next, +.carousel-item-prev{ + display:block; +} + +.carousel-item-next:not(.carousel-item-left), +.active.carousel-item-right{ + transform:translateX(100%); +} + +.carousel-item-prev:not(.carousel-item-right), +.active.carousel-item-left{ + transform:translateX(-100%); +} + +.carousel-fade .carousel-item{ + opacity:0; + transition-property:opacity; + transform:none; +} +.carousel-fade .carousel-item.active, +.carousel-fade .carousel-item-next.carousel-item-left, +.carousel-fade .carousel-item-prev.carousel-item-right{ + z-index:1; + opacity:1; +} +.carousel-fade .active.carousel-item-left, +.carousel-fade .active.carousel-item-right{ + z-index:0; + opacity:0; + transition:opacity 0s 0.6s; +} +@media (prefers-reduced-motion: reduce){ + .carousel-fade .active.carousel-item-left, +.carousel-fade .active.carousel-item-right{ + transition:none; + } +} + +.carousel-control-prev, +.carousel-control-next{ + position:absolute; + top:0; + bottom:0; + z-index:1; + display:flex; + align-items:center; + justify-content:center; + width:15%; + padding:0; + color:#fff; + text-align:center; + background:none; + border:0; + opacity:0.5; + transition:opacity 0.15s ease; +} +@media (prefers-reduced-motion: reduce){ + .carousel-control-prev, +.carousel-control-next{ + transition:none; + } +} +.carousel-control-prev:hover, .carousel-control-prev:focus, +.carousel-control-next:hover, +.carousel-control-next:focus{ + color:#fff; + text-decoration:none; + outline:0; + opacity:0.9; +} + +.carousel-control-prev{ + left:0; +} + +.carousel-control-next{ + right:0; +} + +.carousel-control-prev-icon, +.carousel-control-next-icon{ + display:inline-block; + width:20px; + height:20px; + background:50%/100% 100% no-repeat; +} + +.carousel-control-prev-icon{ + background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' width='8' height='8' viewBox='0 0 8 8'%3e%3cpath d='M5.25 0l-4 4 4 4 1.5-1.5L4.25 4l2.5-2.5L5.25 0z'/%3e%3c/svg%3e"); +} + +.carousel-control-next-icon{ + background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' width='8' height='8' viewBox='0 0 8 8'%3e%3cpath d='M2.75 0l-1.5 1.5L3.75 4l-2.5 2.5L2.75 8l4-4-4-4z'/%3e%3c/svg%3e"); +} + +.carousel-indicators{ + position:absolute; + right:0; + bottom:0; + left:0; + z-index:15; + display:flex; + justify-content:center; + padding-left:0; + margin-right:15%; + margin-left:15%; + list-style:none; +} +.carousel-indicators li{ + box-sizing:content-box; + flex:0 1 auto; + width:30px; + height:3px; + margin-right:3px; + margin-left:3px; + text-indent:-999px; + cursor:pointer; + background-color:#fff; + background-clip:padding-box; + border-top:10px solid transparent; + border-bottom:10px solid transparent; + opacity:0.5; + transition:opacity 0.6s ease; +} +@media (prefers-reduced-motion: reduce){ + .carousel-indicators li{ + transition:none; + } +} +.carousel-indicators .active{ + opacity:1; +} + +.carousel-caption{ + position:absolute; + right:15%; + bottom:20px; + left:15%; + z-index:10; + padding-top:20px; + padding-bottom:20px; + color:#fff; + text-align:center; +} + +@-webkit-keyframes spinner-border{ + to{ + transform:rotate(360deg); + } +} + +@keyframes spinner-border{ + to{ + transform:rotate(360deg); + } +} +.spinner-border{ + display:inline-block; + width:2rem; + height:2rem; + vertical-align:-0.125em; + border:0.25em solid currentColor; + border-right-color:transparent; + border-radius:50%; + -webkit-animation:0.75s linear infinite spinner-border; + animation:0.75s linear infinite spinner-border; +} + +.spinner-border-sm{ + width:1rem; + height:1rem; + border-width:0.2em; +} + +@-webkit-keyframes spinner-grow{ + 0%{ + transform:scale(0); + } + 50%{ + opacity:1; + transform:none; + } +} + +@keyframes spinner-grow{ + 0%{ + transform:scale(0); + } + 50%{ + opacity:1; + transform:none; + } +} +.spinner-grow{ + display:inline-block; + width:2rem; + height:2rem; + vertical-align:-0.125em; + background-color:currentColor; + border-radius:50%; + opacity:0; + -webkit-animation:0.75s linear infinite spinner-grow; + animation:0.75s linear infinite spinner-grow; +} + +.spinner-grow-sm{ + width:1rem; + height:1rem; +} + +@media (prefers-reduced-motion: reduce){ + .spinner-border, +.spinner-grow{ + -webkit-animation-duration:1.5s; + animation-duration:1.5s; + } +} +.align-baseline{ + vertical-align:baseline !important; +} + +.align-top{ + vertical-align:top !important; +} + +.align-middle{ + vertical-align:middle !important; +} + +.align-bottom{ + vertical-align:bottom !important; +} + +.align-text-bottom{ + vertical-align:text-bottom !important; +} + +.align-text-top{ + vertical-align:text-top !important; +} + +.bg-primary{ + background-color:#3490dc !important; +} + +a.bg-primary:hover, a.bg-primary:focus, +button.bg-primary:hover, +button.bg-primary:focus{ + background-color:#2176bd !important; +} + +.bg-secondary{ + background-color:#6c757d !important; +} + +a.bg-secondary:hover, a.bg-secondary:focus, +button.bg-secondary:hover, +button.bg-secondary:focus{ + background-color:#545b62 !important; +} + +.bg-success{ + background-color:#38c172 !important; +} + +a.bg-success:hover, a.bg-success:focus, +button.bg-success:hover, +button.bg-success:focus{ + background-color:#2d995b !important; +} + +.bg-info{ + background-color:#6cb2eb !important; +} + +a.bg-info:hover, a.bg-info:focus, +button.bg-info:hover, +button.bg-info:focus{ + background-color:#3f9ae5 !important; +} + +.bg-warning{ + background-color:#ffed4a !important; +} + +a.bg-warning:hover, a.bg-warning:focus, +button.bg-warning:hover, +button.bg-warning:focus{ + background-color:#ffe817 !important; +} + +.bg-danger{ + background-color:#e3342f !important; +} + +a.bg-danger:hover, a.bg-danger:focus, +button.bg-danger:hover, +button.bg-danger:focus{ + background-color:#c51f1a !important; +} + +.bg-light{ + background-color:#f8f9fa !important; +} + +a.bg-light:hover, a.bg-light:focus, +button.bg-light:hover, +button.bg-light:focus{ + background-color:#dae0e5 !important; +} + +.bg-dark{ + background-color:#343a40 !important; +} + +a.bg-dark:hover, a.bg-dark:focus, +button.bg-dark:hover, +button.bg-dark:focus{ + background-color:#1d2124 !important; +} + +.bg-white{ + background-color:#fff !important; +} + +.bg-transparent{ + background-color:transparent !important; +} + +.border{ + border:1px solid #dee2e6 !important; +} + +.border-top{ + border-top:1px solid #dee2e6 !important; +} + +.border-right{ + border-right:1px solid #dee2e6 !important; +} + +.border-bottom{ + border-bottom:1px solid #dee2e6 !important; +} + +.border-left{ + border-left:1px solid #dee2e6 !important; +} + +.border-0{ + border:0 !important; +} + +.border-top-0{ + border-top:0 !important; +} + +.border-right-0{ + border-right:0 !important; +} + +.border-bottom-0{ + border-bottom:0 !important; +} + +.border-left-0{ + border-left:0 !important; +} + +.border-primary{ + border-color:#3490dc !important; +} + +.border-secondary{ + border-color:#6c757d !important; +} + +.border-success{ + border-color:#38c172 !important; +} + +.border-info{ + border-color:#6cb2eb !important; +} + +.border-warning{ + border-color:#ffed4a !important; +} + +.border-danger{ + border-color:#e3342f !important; +} + +.border-light{ + border-color:#f8f9fa !important; +} + +.border-dark{ + border-color:#343a40 !important; +} + +.border-white{ + border-color:#fff !important; +} + +.rounded-sm{ + border-radius:0.2rem !important; +} + +.rounded{ + border-radius:0.25rem !important; +} + +.rounded-top{ + border-top-left-radius:0.25rem !important; + border-top-right-radius:0.25rem !important; +} + +.rounded-right{ + border-top-right-radius:0.25rem !important; + border-bottom-right-radius:0.25rem !important; +} + +.rounded-bottom{ + border-bottom-right-radius:0.25rem !important; + border-bottom-left-radius:0.25rem !important; +} + +.rounded-left{ + border-top-left-radius:0.25rem !important; + border-bottom-left-radius:0.25rem !important; +} + +.rounded-lg{ + border-radius:0.3rem !important; +} + +.rounded-circle{ + border-radius:50% !important; +} + +.rounded-pill{ + border-radius:50rem !important; +} + +.rounded-0{ + border-radius:0 !important; +} + +.clearfix::after{ + display:block; + clear:both; + content:""; +} + +.d-none{ + display:none !important; +} + +.d-inline{ + display:inline !important; +} + +.d-inline-block{ + display:inline-block !important; +} + +.d-block{ + display:block !important; +} + +.d-table{ + display:table !important; +} + +.d-table-row{ + display:table-row !important; +} + +.d-table-cell{ + display:table-cell !important; +} + +.d-flex{ + display:flex !important; +} + +.d-inline-flex{ + display:inline-flex !important; +} + +@media (min-width: 576px){ + .d-sm-none{ + display:none !important; + } + + .d-sm-inline{ + display:inline !important; + } + + .d-sm-inline-block{ + display:inline-block !important; + } + + .d-sm-block{ + display:block !important; + } + + .d-sm-table{ + display:table !important; + } + + .d-sm-table-row{ + display:table-row !important; + } + + .d-sm-table-cell{ + display:table-cell !important; + } + + .d-sm-flex{ + display:flex !important; + } + + .d-sm-inline-flex{ + display:inline-flex !important; + } +} +@media (min-width: 768px){ + .d-md-none{ + display:none !important; + } + + .d-md-inline{ + display:inline !important; + } + + .d-md-inline-block{ + display:inline-block !important; + } + + .d-md-block{ + display:block !important; + } + + .d-md-table{ + display:table !important; + } + + .d-md-table-row{ + display:table-row !important; + } + + .d-md-table-cell{ + display:table-cell !important; + } + + .d-md-flex{ + display:flex !important; + } + + .d-md-inline-flex{ + display:inline-flex !important; + } +} +@media (min-width: 992px){ + .d-lg-none{ + display:none !important; + } + + .d-lg-inline{ + display:inline !important; + } + + .d-lg-inline-block{ + display:inline-block !important; + } + + .d-lg-block{ + display:block !important; + } + + .d-lg-table{ + display:table !important; + } + + .d-lg-table-row{ + display:table-row !important; + } + + .d-lg-table-cell{ + display:table-cell !important; + } + + .d-lg-flex{ + display:flex !important; + } + + .d-lg-inline-flex{ + display:inline-flex !important; + } +} +@media (min-width: 1200px){ + .d-xl-none{ + display:none !important; + } + + .d-xl-inline{ + display:inline !important; + } + + .d-xl-inline-block{ + display:inline-block !important; + } + + .d-xl-block{ + display:block !important; + } + + .d-xl-table{ + display:table !important; + } + + .d-xl-table-row{ + display:table-row !important; + } + + .d-xl-table-cell{ + display:table-cell !important; + } + + .d-xl-flex{ + display:flex !important; + } + + .d-xl-inline-flex{ + display:inline-flex !important; + } +} +@media print{ + .d-print-none{ + display:none !important; + } + + .d-print-inline{ + display:inline !important; + } + + .d-print-inline-block{ + display:inline-block !important; + } + + .d-print-block{ + display:block !important; + } + + .d-print-table{ + display:table !important; + } + + .d-print-table-row{ + display:table-row !important; + } + + .d-print-table-cell{ + display:table-cell !important; + } + + .d-print-flex{ + display:flex !important; + } + + .d-print-inline-flex{ + display:inline-flex !important; + } +} +.embed-responsive{ + position:relative; + display:block; + width:100%; + padding:0; + overflow:hidden; +} +.embed-responsive::before{ + display:block; + content:""; +} +.embed-responsive .embed-responsive-item, +.embed-responsive iframe, +.embed-responsive embed, +.embed-responsive object, +.embed-responsive video{ + position:absolute; + top:0; + bottom:0; + left:0; + width:100%; + height:100%; + border:0; +} + +.embed-responsive-21by9::before{ + padding-top:42.85714286%; +} + +.embed-responsive-16by9::before{ + padding-top:56.25%; +} + +.embed-responsive-4by3::before{ + padding-top:75%; +} + +.embed-responsive-1by1::before{ + padding-top:100%; +} + +.flex-row{ + flex-direction:row !important; +} + +.flex-column{ + flex-direction:column !important; +} + +.flex-row-reverse{ + flex-direction:row-reverse !important; +} + +.flex-column-reverse{ + flex-direction:column-reverse !important; +} + +.flex-wrap{ + flex-wrap:wrap !important; +} + +.flex-nowrap{ + flex-wrap:nowrap !important; +} + +.flex-wrap-reverse{ + flex-wrap:wrap-reverse !important; +} + +.flex-fill{ + flex:1 1 auto !important; +} + +.flex-grow-0{ + flex-grow:0 !important; +} + +.flex-grow-1{ + flex-grow:1 !important; +} + +.flex-shrink-0{ + flex-shrink:0 !important; +} + +.flex-shrink-1{ + flex-shrink:1 !important; +} + +.justify-content-start{ + justify-content:flex-start !important; +} + +.justify-content-end{ + justify-content:flex-end !important; +} + +.justify-content-center{ + justify-content:center !important; +} + +.justify-content-between{ + justify-content:space-between !important; +} + +.justify-content-around{ + justify-content:space-around !important; +} + +.align-items-start{ + align-items:flex-start !important; +} + +.align-items-end{ + align-items:flex-end !important; +} + +.align-items-center{ + align-items:center !important; +} + +.align-items-baseline{ + align-items:baseline !important; +} + +.align-items-stretch{ + align-items:stretch !important; +} + +.align-content-start{ + align-content:flex-start !important; +} + +.align-content-end{ + align-content:flex-end !important; +} + +.align-content-center{ + align-content:center !important; +} + +.align-content-between{ + align-content:space-between !important; +} + +.align-content-around{ + align-content:space-around !important; +} + +.align-content-stretch{ + align-content:stretch !important; +} + +.align-self-auto{ + align-self:auto !important; +} + +.align-self-start{ + align-self:flex-start !important; +} + +.align-self-end{ + align-self:flex-end !important; +} + +.align-self-center{ + align-self:center !important; +} + +.align-self-baseline{ + align-self:baseline !important; +} + +.align-self-stretch{ + align-self:stretch !important; +} + +@media (min-width: 576px){ + .flex-sm-row{ + flex-direction:row !important; + } + + .flex-sm-column{ + flex-direction:column !important; + } + + .flex-sm-row-reverse{ + flex-direction:row-reverse !important; + } + + .flex-sm-column-reverse{ + flex-direction:column-reverse !important; + } + + .flex-sm-wrap{ + flex-wrap:wrap !important; + } + + .flex-sm-nowrap{ + flex-wrap:nowrap !important; + } + + .flex-sm-wrap-reverse{ + flex-wrap:wrap-reverse !important; + } + + .flex-sm-fill{ + flex:1 1 auto !important; + } + + .flex-sm-grow-0{ + flex-grow:0 !important; + } + + .flex-sm-grow-1{ + flex-grow:1 !important; + } + + .flex-sm-shrink-0{ + flex-shrink:0 !important; + } + + .flex-sm-shrink-1{ + flex-shrink:1 !important; + } + + .justify-content-sm-start{ + justify-content:flex-start !important; + } + + .justify-content-sm-end{ + justify-content:flex-end !important; + } + + .justify-content-sm-center{ + justify-content:center !important; + } + + .justify-content-sm-between{ + justify-content:space-between !important; + } + + .justify-content-sm-around{ + justify-content:space-around !important; + } + + .align-items-sm-start{ + align-items:flex-start !important; + } + + .align-items-sm-end{ + align-items:flex-end !important; + } + + .align-items-sm-center{ + align-items:center !important; + } + + .align-items-sm-baseline{ + align-items:baseline !important; + } + + .align-items-sm-stretch{ + align-items:stretch !important; + } + + .align-content-sm-start{ + align-content:flex-start !important; + } + + .align-content-sm-end{ + align-content:flex-end !important; + } + + .align-content-sm-center{ + align-content:center !important; + } + + .align-content-sm-between{ + align-content:space-between !important; + } + + .align-content-sm-around{ + align-content:space-around !important; + } + + .align-content-sm-stretch{ + align-content:stretch !important; + } + + .align-self-sm-auto{ + align-self:auto !important; + } + + .align-self-sm-start{ + align-self:flex-start !important; + } + + .align-self-sm-end{ + align-self:flex-end !important; + } + + .align-self-sm-center{ + align-self:center !important; + } + + .align-self-sm-baseline{ + align-self:baseline !important; + } + + .align-self-sm-stretch{ + align-self:stretch !important; + } +} +@media (min-width: 768px){ + .flex-md-row{ + flex-direction:row !important; + } + + .flex-md-column{ + flex-direction:column !important; + } + + .flex-md-row-reverse{ + flex-direction:row-reverse !important; + } + + .flex-md-column-reverse{ + flex-direction:column-reverse !important; + } + + .flex-md-wrap{ + flex-wrap:wrap !important; + } + + .flex-md-nowrap{ + flex-wrap:nowrap !important; + } + + .flex-md-wrap-reverse{ + flex-wrap:wrap-reverse !important; + } + + .flex-md-fill{ + flex:1 1 auto !important; + } + + .flex-md-grow-0{ + flex-grow:0 !important; + } + + .flex-md-grow-1{ + flex-grow:1 !important; + } + + .flex-md-shrink-0{ + flex-shrink:0 !important; + } + + .flex-md-shrink-1{ + flex-shrink:1 !important; + } + + .justify-content-md-start{ + justify-content:flex-start !important; + } + + .justify-content-md-end{ + justify-content:flex-end !important; + } + + .justify-content-md-center{ + justify-content:center !important; + } + + .justify-content-md-between{ + justify-content:space-between !important; + } + + .justify-content-md-around{ + justify-content:space-around !important; + } + + .align-items-md-start{ + align-items:flex-start !important; + } + + .align-items-md-end{ + align-items:flex-end !important; + } + + .align-items-md-center{ + align-items:center !important; + } + + .align-items-md-baseline{ + align-items:baseline !important; + } + + .align-items-md-stretch{ + align-items:stretch !important; + } + + .align-content-md-start{ + align-content:flex-start !important; + } + + .align-content-md-end{ + align-content:flex-end !important; + } + + .align-content-md-center{ + align-content:center !important; + } + + .align-content-md-between{ + align-content:space-between !important; + } + + .align-content-md-around{ + align-content:space-around !important; + } + + .align-content-md-stretch{ + align-content:stretch !important; + } + + .align-self-md-auto{ + align-self:auto !important; + } + + .align-self-md-start{ + align-self:flex-start !important; + } + + .align-self-md-end{ + align-self:flex-end !important; + } + + .align-self-md-center{ + align-self:center !important; + } + + .align-self-md-baseline{ + align-self:baseline !important; + } + + .align-self-md-stretch{ + align-self:stretch !important; + } +} +@media (min-width: 992px){ + .flex-lg-row{ + flex-direction:row !important; + } + + .flex-lg-column{ + flex-direction:column !important; + } + + .flex-lg-row-reverse{ + flex-direction:row-reverse !important; + } + + .flex-lg-column-reverse{ + flex-direction:column-reverse !important; + } + + .flex-lg-wrap{ + flex-wrap:wrap !important; + } + + .flex-lg-nowrap{ + flex-wrap:nowrap !important; + } + + .flex-lg-wrap-reverse{ + flex-wrap:wrap-reverse !important; + } + + .flex-lg-fill{ + flex:1 1 auto !important; + } + + .flex-lg-grow-0{ + flex-grow:0 !important; + } + + .flex-lg-grow-1{ + flex-grow:1 !important; + } + + .flex-lg-shrink-0{ + flex-shrink:0 !important; + } + + .flex-lg-shrink-1{ + flex-shrink:1 !important; + } + + .justify-content-lg-start{ + justify-content:flex-start !important; + } + + .justify-content-lg-end{ + justify-content:flex-end !important; + } + + .justify-content-lg-center{ + justify-content:center !important; + } + + .justify-content-lg-between{ + justify-content:space-between !important; + } + + .justify-content-lg-around{ + justify-content:space-around !important; + } + + .align-items-lg-start{ + align-items:flex-start !important; + } + + .align-items-lg-end{ + align-items:flex-end !important; + } + + .align-items-lg-center{ + align-items:center !important; + } + + .align-items-lg-baseline{ + align-items:baseline !important; + } + + .align-items-lg-stretch{ + align-items:stretch !important; + } + + .align-content-lg-start{ + align-content:flex-start !important; + } + + .align-content-lg-end{ + align-content:flex-end !important; + } + + .align-content-lg-center{ + align-content:center !important; + } + + .align-content-lg-between{ + align-content:space-between !important; + } + + .align-content-lg-around{ + align-content:space-around !important; + } + + .align-content-lg-stretch{ + align-content:stretch !important; + } + + .align-self-lg-auto{ + align-self:auto !important; + } + + .align-self-lg-start{ + align-self:flex-start !important; + } + + .align-self-lg-end{ + align-self:flex-end !important; + } + + .align-self-lg-center{ + align-self:center !important; + } + + .align-self-lg-baseline{ + align-self:baseline !important; + } + + .align-self-lg-stretch{ + align-self:stretch !important; + } +} +@media (min-width: 1200px){ + .flex-xl-row{ + flex-direction:row !important; + } + + .flex-xl-column{ + flex-direction:column !important; + } + + .flex-xl-row-reverse{ + flex-direction:row-reverse !important; + } + + .flex-xl-column-reverse{ + flex-direction:column-reverse !important; + } + + .flex-xl-wrap{ + flex-wrap:wrap !important; + } + + .flex-xl-nowrap{ + flex-wrap:nowrap !important; + } + + .flex-xl-wrap-reverse{ + flex-wrap:wrap-reverse !important; + } + + .flex-xl-fill{ + flex:1 1 auto !important; + } + + .flex-xl-grow-0{ + flex-grow:0 !important; + } + + .flex-xl-grow-1{ + flex-grow:1 !important; + } + + .flex-xl-shrink-0{ + flex-shrink:0 !important; + } + + .flex-xl-shrink-1{ + flex-shrink:1 !important; + } + + .justify-content-xl-start{ + justify-content:flex-start !important; + } + + .justify-content-xl-end{ + justify-content:flex-end !important; + } + + .justify-content-xl-center{ + justify-content:center !important; + } + + .justify-content-xl-between{ + justify-content:space-between !important; + } + + .justify-content-xl-around{ + justify-content:space-around !important; + } + + .align-items-xl-start{ + align-items:flex-start !important; + } + + .align-items-xl-end{ + align-items:flex-end !important; + } + + .align-items-xl-center{ + align-items:center !important; + } + + .align-items-xl-baseline{ + align-items:baseline !important; + } + + .align-items-xl-stretch{ + align-items:stretch !important; + } + + .align-content-xl-start{ + align-content:flex-start !important; + } + + .align-content-xl-end{ + align-content:flex-end !important; + } + + .align-content-xl-center{ + align-content:center !important; + } + + .align-content-xl-between{ + align-content:space-between !important; + } + + .align-content-xl-around{ + align-content:space-around !important; + } + + .align-content-xl-stretch{ + align-content:stretch !important; + } + + .align-self-xl-auto{ + align-self:auto !important; + } + + .align-self-xl-start{ + align-self:flex-start !important; + } + + .align-self-xl-end{ + align-self:flex-end !important; + } + + .align-self-xl-center{ + align-self:center !important; + } + + .align-self-xl-baseline{ + align-self:baseline !important; + } + + .align-self-xl-stretch{ + align-self:stretch !important; + } +} +.float-left{ + float:left !important; +} + +.float-right{ + float:right !important; +} + +.float-none{ + float:none !important; +} + +@media (min-width: 576px){ + .float-sm-left{ + float:left !important; + } + + .float-sm-right{ + float:right !important; + } + + .float-sm-none{ + float:none !important; + } +} +@media (min-width: 768px){ + .float-md-left{ + float:left !important; + } + + .float-md-right{ + float:right !important; + } + + .float-md-none{ + float:none !important; + } +} +@media (min-width: 992px){ + .float-lg-left{ + float:left !important; + } + + .float-lg-right{ + float:right !important; + } + + .float-lg-none{ + float:none !important; + } +} +@media (min-width: 1200px){ + .float-xl-left{ + float:left !important; + } + + .float-xl-right{ + float:right !important; + } + + .float-xl-none{ + float:none !important; + } +} +.user-select-all{ + -webkit-user-select:all !important; + -moz-user-select:all !important; + user-select:all !important; +} + +.user-select-auto{ + -webkit-user-select:auto !important; + -moz-user-select:auto !important; + -ms-user-select:auto !important; + user-select:auto !important; +} + +.user-select-none{ + -webkit-user-select:none !important; + -moz-user-select:none !important; + -ms-user-select:none !important; + user-select:none !important; +} + +.overflow-auto{ + overflow:auto !important; +} + +.overflow-hidden{ + overflow:hidden !important; +} + +.position-static{ + position:static !important; +} + +.position-relative{ + position:relative !important; +} + +.position-absolute{ + position:absolute !important; +} + +.position-fixed{ + position:fixed !important; +} + +.position-sticky{ + position:-webkit-sticky !important; + position:sticky !important; +} + +.fixed-top{ + position:fixed; + top:0; + right:0; + left:0; + z-index:1030; +} + +.fixed-bottom{ + position:fixed; + right:0; + bottom:0; + left:0; + z-index:1030; +} + +@supports ((position: -webkit-sticky) or (position: sticky)){ + .sticky-top{ + position:-webkit-sticky; + position:sticky; + top:0; + z-index:1020; + } +} + +.sr-only{ + position:absolute; + width:1px; + height:1px; + padding:0; + margin:-1px; + overflow:hidden; + clip:rect(0, 0, 0, 0); + white-space:nowrap; + border:0; +} + +.sr-only-focusable:active, .sr-only-focusable:focus{ + position:static; + width:auto; + height:auto; + overflow:visible; + clip:auto; + white-space:normal; +} + +.shadow-sm{ + box-shadow:0 0.125rem 0.25rem rgba(0, 0, 0, 0.075) !important; +} + +.shadow{ + box-shadow:0 0.5rem 1rem rgba(0, 0, 0, 0.15) !important; +} + +.shadow-lg{ + box-shadow:0 1rem 3rem rgba(0, 0, 0, 0.175) !important; +} + +.shadow-none{ + box-shadow:none !important; +} + +.w-25{ + width:25% !important; +} + +.w-50{ + width:50% !important; +} + +.w-75{ + width:75% !important; +} + +.w-100{ + width:100% !important; +} + +.w-auto{ + width:auto !important; +} + +.h-25{ + height:25% !important; +} + +.h-50{ + height:50% !important; +} + +.h-75{ + height:75% !important; +} + +.h-100{ + height:100% !important; +} + +.h-auto{ + height:auto !important; +} + +.mw-100{ + max-width:100% !important; +} + +.mh-100{ + max-height:100% !important; +} + +.min-vw-100{ + min-width:100vw !important; +} + +.min-vh-100{ + min-height:100vh !important; +} + +.vw-100{ + width:100vw !important; +} + +.vh-100{ + height:100vh !important; +} + +.m-0{ + margin:0 !important; +} + +.mt-0, +.my-0{ + margin-top:0 !important; +} + +.mr-0, +.mx-0{ + margin-right:0 !important; +} + +.mb-0, +.my-0{ + margin-bottom:0 !important; +} + +.ml-0, +.mx-0{ + margin-left:0 !important; +} + +.m-1{ + margin:0.25rem !important; +} + +.mt-1, +.my-1{ + margin-top:0.25rem !important; +} + +.mr-1, +.mx-1{ + margin-right:0.25rem !important; +} + +.mb-1, +.my-1{ + margin-bottom:0.25rem !important; +} + +.ml-1, +.mx-1{ + margin-left:0.25rem !important; +} + +.m-2{ + margin:0.5rem !important; +} + +.mt-2, +.my-2{ + margin-top:0.5rem !important; +} + +.mr-2, +.mx-2{ + margin-right:0.5rem !important; +} + +.mb-2, +.my-2{ + margin-bottom:0.5rem !important; +} + +.ml-2, +.mx-2{ + margin-left:0.5rem !important; +} + +.m-3{ + margin:1rem !important; +} + +.mt-3, +.my-3{ + margin-top:1rem !important; +} + +.mr-3, +.mx-3{ + margin-right:1rem !important; +} + +.mb-3, +.my-3{ + margin-bottom:1rem !important; +} + +.ml-3, +.mx-3{ + margin-left:1rem !important; +} + +.m-4{ + margin:1.5rem !important; +} + +.mt-4, +.my-4{ + margin-top:1.5rem !important; +} + +.mr-4, +.mx-4{ + margin-right:1.5rem !important; +} + +.mb-4, +.my-4{ + margin-bottom:1.5rem !important; +} + +.ml-4, +.mx-4{ + margin-left:1.5rem !important; +} + +.m-5{ + margin:3rem !important; +} + +.mt-5, +.my-5{ + margin-top:3rem !important; +} + +.mr-5, +.mx-5{ + margin-right:3rem !important; +} + +.mb-5, +.my-5{ + margin-bottom:3rem !important; +} + +.ml-5, +.mx-5{ + margin-left:3rem !important; +} + +.p-0{ + padding:0 !important; +} + +.pt-0, +.py-0{ + padding-top:0 !important; +} + +.pr-0, +.px-0{ + padding-right:0 !important; +} + +.pb-0, +.py-0{ + padding-bottom:0 !important; +} + +.pl-0, +.px-0{ + padding-left:0 !important; +} + +.p-1{ + padding:0.25rem !important; +} + +.pt-1, +.py-1{ + padding-top:0.25rem !important; +} + +.pr-1, +.px-1{ + padding-right:0.25rem !important; +} + +.pb-1, +.py-1{ + padding-bottom:0.25rem !important; +} + +.pl-1, +.px-1{ + padding-left:0.25rem !important; +} + +.p-2{ + padding:0.5rem !important; +} + +.pt-2, +.py-2{ + padding-top:0.5rem !important; +} + +.pr-2, +.px-2{ + padding-right:0.5rem !important; +} + +.pb-2, +.py-2{ + padding-bottom:0.5rem !important; +} + +.pl-2, +.px-2{ + padding-left:0.5rem !important; +} + +.p-3{ + padding:1rem !important; +} + +.pt-3, +.py-3{ + padding-top:1rem !important; +} + +.pr-3, +.px-3{ + padding-right:1rem !important; +} + +.pb-3, +.py-3{ + padding-bottom:1rem !important; +} + +.pl-3, +.px-3{ + padding-left:1rem !important; +} + +.p-4{ + padding:1.5rem !important; +} + +.pt-4, +.py-4{ + padding-top:1.5rem !important; +} + +.pr-4, +.px-4{ + padding-right:1.5rem !important; +} + +.pb-4, +.py-4{ + padding-bottom:1.5rem !important; +} + +.pl-4, +.px-4{ + padding-left:1.5rem !important; +} + +.p-5{ + padding:3rem !important; +} + +.pt-5, +.py-5{ + padding-top:3rem !important; +} + +.pr-5, +.px-5{ + padding-right:3rem !important; +} + +.pb-5, +.py-5{ + padding-bottom:3rem !important; +} + +.pl-5, +.px-5{ + padding-left:3rem !important; +} + +.m-n1{ + margin:-0.25rem !important; +} + +.mt-n1, +.my-n1{ + margin-top:-0.25rem !important; +} + +.mr-n1, +.mx-n1{ + margin-right:-0.25rem !important; +} + +.mb-n1, +.my-n1{ + margin-bottom:-0.25rem !important; +} + +.ml-n1, +.mx-n1{ + margin-left:-0.25rem !important; +} + +.m-n2{ + margin:-0.5rem !important; +} + +.mt-n2, +.my-n2{ + margin-top:-0.5rem !important; +} + +.mr-n2, +.mx-n2{ + margin-right:-0.5rem !important; +} + +.mb-n2, +.my-n2{ + margin-bottom:-0.5rem !important; +} + +.ml-n2, +.mx-n2{ + margin-left:-0.5rem !important; +} + +.m-n3{ + margin:-1rem !important; +} + +.mt-n3, +.my-n3{ + margin-top:-1rem !important; +} + +.mr-n3, +.mx-n3{ + margin-right:-1rem !important; +} + +.mb-n3, +.my-n3{ + margin-bottom:-1rem !important; +} + +.ml-n3, +.mx-n3{ + margin-left:-1rem !important; +} + +.m-n4{ + margin:-1.5rem !important; +} + +.mt-n4, +.my-n4{ + margin-top:-1.5rem !important; +} + +.mr-n4, +.mx-n4{ + margin-right:-1.5rem !important; +} + +.mb-n4, +.my-n4{ + margin-bottom:-1.5rem !important; +} + +.ml-n4, +.mx-n4{ + margin-left:-1.5rem !important; +} + +.m-n5{ + margin:-3rem !important; +} + +.mt-n5, +.my-n5{ + margin-top:-3rem !important; +} + +.mr-n5, +.mx-n5{ + margin-right:-3rem !important; +} + +.mb-n5, +.my-n5{ + margin-bottom:-3rem !important; +} + +.ml-n5, +.mx-n5{ + margin-left:-3rem !important; +} + +.m-auto{ + margin:auto !important; +} + +.mt-auto, +.my-auto{ + margin-top:auto !important; +} + +.mr-auto, +.mx-auto{ + margin-right:auto !important; +} + +.mb-auto, +.my-auto{ + margin-bottom:auto !important; +} + +.ml-auto, +.mx-auto{ + margin-left:auto !important; +} + +@media (min-width: 576px){ + .m-sm-0{ + margin:0 !important; + } + + .mt-sm-0, +.my-sm-0{ + margin-top:0 !important; + } + + .mr-sm-0, +.mx-sm-0{ + margin-right:0 !important; + } + + .mb-sm-0, +.my-sm-0{ + margin-bottom:0 !important; + } + + .ml-sm-0, +.mx-sm-0{ + margin-left:0 !important; + } + + .m-sm-1{ + margin:0.25rem !important; + } + + .mt-sm-1, +.my-sm-1{ + margin-top:0.25rem !important; + } + + .mr-sm-1, +.mx-sm-1{ + margin-right:0.25rem !important; + } + + .mb-sm-1, +.my-sm-1{ + margin-bottom:0.25rem !important; + } + + .ml-sm-1, +.mx-sm-1{ + margin-left:0.25rem !important; + } + + .m-sm-2{ + margin:0.5rem !important; + } + + .mt-sm-2, +.my-sm-2{ + margin-top:0.5rem !important; + } + + .mr-sm-2, +.mx-sm-2{ + margin-right:0.5rem !important; + } + + .mb-sm-2, +.my-sm-2{ + margin-bottom:0.5rem !important; + } + + .ml-sm-2, +.mx-sm-2{ + margin-left:0.5rem !important; + } + + .m-sm-3{ + margin:1rem !important; + } + + .mt-sm-3, +.my-sm-3{ + margin-top:1rem !important; + } + + .mr-sm-3, +.mx-sm-3{ + margin-right:1rem !important; + } + + .mb-sm-3, +.my-sm-3{ + margin-bottom:1rem !important; + } + + .ml-sm-3, +.mx-sm-3{ + margin-left:1rem !important; + } + + .m-sm-4{ + margin:1.5rem !important; + } + + .mt-sm-4, +.my-sm-4{ + margin-top:1.5rem !important; + } + + .mr-sm-4, +.mx-sm-4{ + margin-right:1.5rem !important; + } + + .mb-sm-4, +.my-sm-4{ + margin-bottom:1.5rem !important; + } + + .ml-sm-4, +.mx-sm-4{ + margin-left:1.5rem !important; + } + + .m-sm-5{ + margin:3rem !important; + } + + .mt-sm-5, +.my-sm-5{ + margin-top:3rem !important; + } + + .mr-sm-5, +.mx-sm-5{ + margin-right:3rem !important; + } + + .mb-sm-5, +.my-sm-5{ + margin-bottom:3rem !important; + } + + .ml-sm-5, +.mx-sm-5{ + margin-left:3rem !important; + } + + .p-sm-0{ + padding:0 !important; + } + + .pt-sm-0, +.py-sm-0{ + padding-top:0 !important; + } + + .pr-sm-0, +.px-sm-0{ + padding-right:0 !important; + } + + .pb-sm-0, +.py-sm-0{ + padding-bottom:0 !important; + } + + .pl-sm-0, +.px-sm-0{ + padding-left:0 !important; + } + + .p-sm-1{ + padding:0.25rem !important; + } + + .pt-sm-1, +.py-sm-1{ + padding-top:0.25rem !important; + } + + .pr-sm-1, +.px-sm-1{ + padding-right:0.25rem !important; + } + + .pb-sm-1, +.py-sm-1{ + padding-bottom:0.25rem !important; + } + + .pl-sm-1, +.px-sm-1{ + padding-left:0.25rem !important; + } + + .p-sm-2{ + padding:0.5rem !important; + } + + .pt-sm-2, +.py-sm-2{ + padding-top:0.5rem !important; + } + + .pr-sm-2, +.px-sm-2{ + padding-right:0.5rem !important; + } + + .pb-sm-2, +.py-sm-2{ + padding-bottom:0.5rem !important; + } + + .pl-sm-2, +.px-sm-2{ + padding-left:0.5rem !important; + } + + .p-sm-3{ + padding:1rem !important; + } + + .pt-sm-3, +.py-sm-3{ + padding-top:1rem !important; + } + + .pr-sm-3, +.px-sm-3{ + padding-right:1rem !important; + } + + .pb-sm-3, +.py-sm-3{ + padding-bottom:1rem !important; + } + + .pl-sm-3, +.px-sm-3{ + padding-left:1rem !important; + } + + .p-sm-4{ + padding:1.5rem !important; + } + + .pt-sm-4, +.py-sm-4{ + padding-top:1.5rem !important; + } + + .pr-sm-4, +.px-sm-4{ + padding-right:1.5rem !important; + } + + .pb-sm-4, +.py-sm-4{ + padding-bottom:1.5rem !important; + } + + .pl-sm-4, +.px-sm-4{ + padding-left:1.5rem !important; + } + + .p-sm-5{ + padding:3rem !important; + } + + .pt-sm-5, +.py-sm-5{ + padding-top:3rem !important; + } + + .pr-sm-5, +.px-sm-5{ + padding-right:3rem !important; + } + + .pb-sm-5, +.py-sm-5{ + padding-bottom:3rem !important; + } + + .pl-sm-5, +.px-sm-5{ + padding-left:3rem !important; + } + + .m-sm-n1{ + margin:-0.25rem !important; + } + + .mt-sm-n1, +.my-sm-n1{ + margin-top:-0.25rem !important; + } + + .mr-sm-n1, +.mx-sm-n1{ + margin-right:-0.25rem !important; + } + + .mb-sm-n1, +.my-sm-n1{ + margin-bottom:-0.25rem !important; + } + + .ml-sm-n1, +.mx-sm-n1{ + margin-left:-0.25rem !important; + } + + .m-sm-n2{ + margin:-0.5rem !important; + } + + .mt-sm-n2, +.my-sm-n2{ + margin-top:-0.5rem !important; + } + + .mr-sm-n2, +.mx-sm-n2{ + margin-right:-0.5rem !important; + } + + .mb-sm-n2, +.my-sm-n2{ + margin-bottom:-0.5rem !important; + } + + .ml-sm-n2, +.mx-sm-n2{ + margin-left:-0.5rem !important; + } + + .m-sm-n3{ + margin:-1rem !important; + } + + .mt-sm-n3, +.my-sm-n3{ + margin-top:-1rem !important; + } + + .mr-sm-n3, +.mx-sm-n3{ + margin-right:-1rem !important; + } + + .mb-sm-n3, +.my-sm-n3{ + margin-bottom:-1rem !important; + } + + .ml-sm-n3, +.mx-sm-n3{ + margin-left:-1rem !important; + } + + .m-sm-n4{ + margin:-1.5rem !important; + } + + .mt-sm-n4, +.my-sm-n4{ + margin-top:-1.5rem !important; + } + + .mr-sm-n4, +.mx-sm-n4{ + margin-right:-1.5rem !important; + } + + .mb-sm-n4, +.my-sm-n4{ + margin-bottom:-1.5rem !important; + } + + .ml-sm-n4, +.mx-sm-n4{ + margin-left:-1.5rem !important; + } + + .m-sm-n5{ + margin:-3rem !important; + } + + .mt-sm-n5, +.my-sm-n5{ + margin-top:-3rem !important; + } + + .mr-sm-n5, +.mx-sm-n5{ + margin-right:-3rem !important; + } + + .mb-sm-n5, +.my-sm-n5{ + margin-bottom:-3rem !important; + } + + .ml-sm-n5, +.mx-sm-n5{ + margin-left:-3rem !important; + } + + .m-sm-auto{ + margin:auto !important; + } + + .mt-sm-auto, +.my-sm-auto{ + margin-top:auto !important; + } + + .mr-sm-auto, +.mx-sm-auto{ + margin-right:auto !important; + } + + .mb-sm-auto, +.my-sm-auto{ + margin-bottom:auto !important; + } + + .ml-sm-auto, +.mx-sm-auto{ + margin-left:auto !important; + } +} +@media (min-width: 768px){ + .m-md-0{ + margin:0 !important; + } + + .mt-md-0, +.my-md-0{ + margin-top:0 !important; + } + + .mr-md-0, +.mx-md-0{ + margin-right:0 !important; + } + + .mb-md-0, +.my-md-0{ + margin-bottom:0 !important; + } + + .ml-md-0, +.mx-md-0{ + margin-left:0 !important; + } + + .m-md-1{ + margin:0.25rem !important; + } + + .mt-md-1, +.my-md-1{ + margin-top:0.25rem !important; + } + + .mr-md-1, +.mx-md-1{ + margin-right:0.25rem !important; + } + + .mb-md-1, +.my-md-1{ + margin-bottom:0.25rem !important; + } + + .ml-md-1, +.mx-md-1{ + margin-left:0.25rem !important; + } + + .m-md-2{ + margin:0.5rem !important; + } + + .mt-md-2, +.my-md-2{ + margin-top:0.5rem !important; + } + + .mr-md-2, +.mx-md-2{ + margin-right:0.5rem !important; + } + + .mb-md-2, +.my-md-2{ + margin-bottom:0.5rem !important; + } + + .ml-md-2, +.mx-md-2{ + margin-left:0.5rem !important; + } + + .m-md-3{ + margin:1rem !important; + } + + .mt-md-3, +.my-md-3{ + margin-top:1rem !important; + } + + .mr-md-3, +.mx-md-3{ + margin-right:1rem !important; + } + + .mb-md-3, +.my-md-3{ + margin-bottom:1rem !important; + } + + .ml-md-3, +.mx-md-3{ + margin-left:1rem !important; + } + + .m-md-4{ + margin:1.5rem !important; + } + + .mt-md-4, +.my-md-4{ + margin-top:1.5rem !important; + } + + .mr-md-4, +.mx-md-4{ + margin-right:1.5rem !important; + } + + .mb-md-4, +.my-md-4{ + margin-bottom:1.5rem !important; + } + + .ml-md-4, +.mx-md-4{ + margin-left:1.5rem !important; + } + + .m-md-5{ + margin:3rem !important; + } + + .mt-md-5, +.my-md-5{ + margin-top:3rem !important; + } + + .mr-md-5, +.mx-md-5{ + margin-right:3rem !important; + } + + .mb-md-5, +.my-md-5{ + margin-bottom:3rem !important; + } + + .ml-md-5, +.mx-md-5{ + margin-left:3rem !important; + } + + .p-md-0{ + padding:0 !important; + } + + .pt-md-0, +.py-md-0{ + padding-top:0 !important; + } + + .pr-md-0, +.px-md-0{ + padding-right:0 !important; + } + + .pb-md-0, +.py-md-0{ + padding-bottom:0 !important; + } + + .pl-md-0, +.px-md-0{ + padding-left:0 !important; + } + + .p-md-1{ + padding:0.25rem !important; + } + + .pt-md-1, +.py-md-1{ + padding-top:0.25rem !important; + } + + .pr-md-1, +.px-md-1{ + padding-right:0.25rem !important; + } + + .pb-md-1, +.py-md-1{ + padding-bottom:0.25rem !important; + } + + .pl-md-1, +.px-md-1{ + padding-left:0.25rem !important; + } + + .p-md-2{ + padding:0.5rem !important; + } + + .pt-md-2, +.py-md-2{ + padding-top:0.5rem !important; + } + + .pr-md-2, +.px-md-2{ + padding-right:0.5rem !important; + } + + .pb-md-2, +.py-md-2{ + padding-bottom:0.5rem !important; + } + + .pl-md-2, +.px-md-2{ + padding-left:0.5rem !important; + } + + .p-md-3{ + padding:1rem !important; + } + + .pt-md-3, +.py-md-3{ + padding-top:1rem !important; + } + + .pr-md-3, +.px-md-3{ + padding-right:1rem !important; + } + + .pb-md-3, +.py-md-3{ + padding-bottom:1rem !important; + } + + .pl-md-3, +.px-md-3{ + padding-left:1rem !important; + } + + .p-md-4{ + padding:1.5rem !important; + } + + .pt-md-4, +.py-md-4{ + padding-top:1.5rem !important; + } + + .pr-md-4, +.px-md-4{ + padding-right:1.5rem !important; + } + + .pb-md-4, +.py-md-4{ + padding-bottom:1.5rem !important; + } + + .pl-md-4, +.px-md-4{ + padding-left:1.5rem !important; + } + + .p-md-5{ + padding:3rem !important; + } + + .pt-md-5, +.py-md-5{ + padding-top:3rem !important; + } + + .pr-md-5, +.px-md-5{ + padding-right:3rem !important; + } + + .pb-md-5, +.py-md-5{ + padding-bottom:3rem !important; + } + + .pl-md-5, +.px-md-5{ + padding-left:3rem !important; + } + + .m-md-n1{ + margin:-0.25rem !important; + } + + .mt-md-n1, +.my-md-n1{ + margin-top:-0.25rem !important; + } + + .mr-md-n1, +.mx-md-n1{ + margin-right:-0.25rem !important; + } + + .mb-md-n1, +.my-md-n1{ + margin-bottom:-0.25rem !important; + } + + .ml-md-n1, +.mx-md-n1{ + margin-left:-0.25rem !important; + } + + .m-md-n2{ + margin:-0.5rem !important; + } + + .mt-md-n2, +.my-md-n2{ + margin-top:-0.5rem !important; + } + + .mr-md-n2, +.mx-md-n2{ + margin-right:-0.5rem !important; + } + + .mb-md-n2, +.my-md-n2{ + margin-bottom:-0.5rem !important; + } + + .ml-md-n2, +.mx-md-n2{ + margin-left:-0.5rem !important; + } + + .m-md-n3{ + margin:-1rem !important; + } + + .mt-md-n3, +.my-md-n3{ + margin-top:-1rem !important; + } + + .mr-md-n3, +.mx-md-n3{ + margin-right:-1rem !important; + } + + .mb-md-n3, +.my-md-n3{ + margin-bottom:-1rem !important; + } + + .ml-md-n3, +.mx-md-n3{ + margin-left:-1rem !important; + } + + .m-md-n4{ + margin:-1.5rem !important; + } + + .mt-md-n4, +.my-md-n4{ + margin-top:-1.5rem !important; + } + + .mr-md-n4, +.mx-md-n4{ + margin-right:-1.5rem !important; + } + + .mb-md-n4, +.my-md-n4{ + margin-bottom:-1.5rem !important; + } + + .ml-md-n4, +.mx-md-n4{ + margin-left:-1.5rem !important; + } + + .m-md-n5{ + margin:-3rem !important; + } + + .mt-md-n5, +.my-md-n5{ + margin-top:-3rem !important; + } + + .mr-md-n5, +.mx-md-n5{ + margin-right:-3rem !important; + } + + .mb-md-n5, +.my-md-n5{ + margin-bottom:-3rem !important; + } + + .ml-md-n5, +.mx-md-n5{ + margin-left:-3rem !important; + } + + .m-md-auto{ + margin:auto !important; + } + + .mt-md-auto, +.my-md-auto{ + margin-top:auto !important; + } + + .mr-md-auto, +.mx-md-auto{ + margin-right:auto !important; + } + + .mb-md-auto, +.my-md-auto{ + margin-bottom:auto !important; + } + + .ml-md-auto, +.mx-md-auto{ + margin-left:auto !important; + } +} +@media (min-width: 992px){ + .m-lg-0{ + margin:0 !important; + } + + .mt-lg-0, +.my-lg-0{ + margin-top:0 !important; + } + + .mr-lg-0, +.mx-lg-0{ + margin-right:0 !important; + } + + .mb-lg-0, +.my-lg-0{ + margin-bottom:0 !important; + } + + .ml-lg-0, +.mx-lg-0{ + margin-left:0 !important; + } + + .m-lg-1{ + margin:0.25rem !important; + } + + .mt-lg-1, +.my-lg-1{ + margin-top:0.25rem !important; + } + + .mr-lg-1, +.mx-lg-1{ + margin-right:0.25rem !important; + } + + .mb-lg-1, +.my-lg-1{ + margin-bottom:0.25rem !important; + } + + .ml-lg-1, +.mx-lg-1{ + margin-left:0.25rem !important; + } + + .m-lg-2{ + margin:0.5rem !important; + } + + .mt-lg-2, +.my-lg-2{ + margin-top:0.5rem !important; + } + + .mr-lg-2, +.mx-lg-2{ + margin-right:0.5rem !important; + } + + .mb-lg-2, +.my-lg-2{ + margin-bottom:0.5rem !important; + } + + .ml-lg-2, +.mx-lg-2{ + margin-left:0.5rem !important; + } + + .m-lg-3{ + margin:1rem !important; + } + + .mt-lg-3, +.my-lg-3{ + margin-top:1rem !important; + } + + .mr-lg-3, +.mx-lg-3{ + margin-right:1rem !important; + } + + .mb-lg-3, +.my-lg-3{ + margin-bottom:1rem !important; + } + + .ml-lg-3, +.mx-lg-3{ + margin-left:1rem !important; + } + + .m-lg-4{ + margin:1.5rem !important; + } + + .mt-lg-4, +.my-lg-4{ + margin-top:1.5rem !important; + } + + .mr-lg-4, +.mx-lg-4{ + margin-right:1.5rem !important; + } + + .mb-lg-4, +.my-lg-4{ + margin-bottom:1.5rem !important; + } + + .ml-lg-4, +.mx-lg-4{ + margin-left:1.5rem !important; + } + + .m-lg-5{ + margin:3rem !important; + } + + .mt-lg-5, +.my-lg-5{ + margin-top:3rem !important; + } + + .mr-lg-5, +.mx-lg-5{ + margin-right:3rem !important; + } + + .mb-lg-5, +.my-lg-5{ + margin-bottom:3rem !important; + } + + .ml-lg-5, +.mx-lg-5{ + margin-left:3rem !important; + } + + .p-lg-0{ + padding:0 !important; + } + + .pt-lg-0, +.py-lg-0{ + padding-top:0 !important; + } + + .pr-lg-0, +.px-lg-0{ + padding-right:0 !important; + } + + .pb-lg-0, +.py-lg-0{ + padding-bottom:0 !important; + } + + .pl-lg-0, +.px-lg-0{ + padding-left:0 !important; + } + + .p-lg-1{ + padding:0.25rem !important; + } + + .pt-lg-1, +.py-lg-1{ + padding-top:0.25rem !important; + } + + .pr-lg-1, +.px-lg-1{ + padding-right:0.25rem !important; + } + + .pb-lg-1, +.py-lg-1{ + padding-bottom:0.25rem !important; + } + + .pl-lg-1, +.px-lg-1{ + padding-left:0.25rem !important; + } + + .p-lg-2{ + padding:0.5rem !important; + } + + .pt-lg-2, +.py-lg-2{ + padding-top:0.5rem !important; + } + + .pr-lg-2, +.px-lg-2{ + padding-right:0.5rem !important; + } + + .pb-lg-2, +.py-lg-2{ + padding-bottom:0.5rem !important; + } + + .pl-lg-2, +.px-lg-2{ + padding-left:0.5rem !important; + } + + .p-lg-3{ + padding:1rem !important; + } + + .pt-lg-3, +.py-lg-3{ + padding-top:1rem !important; + } + + .pr-lg-3, +.px-lg-3{ + padding-right:1rem !important; + } + + .pb-lg-3, +.py-lg-3{ + padding-bottom:1rem !important; + } + + .pl-lg-3, +.px-lg-3{ + padding-left:1rem !important; + } + + .p-lg-4{ + padding:1.5rem !important; + } + + .pt-lg-4, +.py-lg-4{ + padding-top:1.5rem !important; + } + + .pr-lg-4, +.px-lg-4{ + padding-right:1.5rem !important; + } + + .pb-lg-4, +.py-lg-4{ + padding-bottom:1.5rem !important; + } + + .pl-lg-4, +.px-lg-4{ + padding-left:1.5rem !important; + } + + .p-lg-5{ + padding:3rem !important; + } + + .pt-lg-5, +.py-lg-5{ + padding-top:3rem !important; + } + + .pr-lg-5, +.px-lg-5{ + padding-right:3rem !important; + } + + .pb-lg-5, +.py-lg-5{ + padding-bottom:3rem !important; + } + + .pl-lg-5, +.px-lg-5{ + padding-left:3rem !important; + } + + .m-lg-n1{ + margin:-0.25rem !important; + } + + .mt-lg-n1, +.my-lg-n1{ + margin-top:-0.25rem !important; + } + + .mr-lg-n1, +.mx-lg-n1{ + margin-right:-0.25rem !important; + } + + .mb-lg-n1, +.my-lg-n1{ + margin-bottom:-0.25rem !important; + } + + .ml-lg-n1, +.mx-lg-n1{ + margin-left:-0.25rem !important; + } + + .m-lg-n2{ + margin:-0.5rem !important; + } + + .mt-lg-n2, +.my-lg-n2{ + margin-top:-0.5rem !important; + } + + .mr-lg-n2, +.mx-lg-n2{ + margin-right:-0.5rem !important; + } + + .mb-lg-n2, +.my-lg-n2{ + margin-bottom:-0.5rem !important; + } + + .ml-lg-n2, +.mx-lg-n2{ + margin-left:-0.5rem !important; + } + + .m-lg-n3{ + margin:-1rem !important; + } + + .mt-lg-n3, +.my-lg-n3{ + margin-top:-1rem !important; + } + + .mr-lg-n3, +.mx-lg-n3{ + margin-right:-1rem !important; + } + + .mb-lg-n3, +.my-lg-n3{ + margin-bottom:-1rem !important; + } + + .ml-lg-n3, +.mx-lg-n3{ + margin-left:-1rem !important; + } + + .m-lg-n4{ + margin:-1.5rem !important; + } + + .mt-lg-n4, +.my-lg-n4{ + margin-top:-1.5rem !important; + } + + .mr-lg-n4, +.mx-lg-n4{ + margin-right:-1.5rem !important; + } + + .mb-lg-n4, +.my-lg-n4{ + margin-bottom:-1.5rem !important; + } + + .ml-lg-n4, +.mx-lg-n4{ + margin-left:-1.5rem !important; + } + + .m-lg-n5{ + margin:-3rem !important; + } + + .mt-lg-n5, +.my-lg-n5{ + margin-top:-3rem !important; + } + + .mr-lg-n5, +.mx-lg-n5{ + margin-right:-3rem !important; + } + + .mb-lg-n5, +.my-lg-n5{ + margin-bottom:-3rem !important; + } + + .ml-lg-n5, +.mx-lg-n5{ + margin-left:-3rem !important; + } + + .m-lg-auto{ + margin:auto !important; + } + + .mt-lg-auto, +.my-lg-auto{ + margin-top:auto !important; + } + + .mr-lg-auto, +.mx-lg-auto{ + margin-right:auto !important; + } + + .mb-lg-auto, +.my-lg-auto{ + margin-bottom:auto !important; + } + + .ml-lg-auto, +.mx-lg-auto{ + margin-left:auto !important; + } +} +@media (min-width: 1200px){ + .m-xl-0{ + margin:0 !important; + } + + .mt-xl-0, +.my-xl-0{ + margin-top:0 !important; + } + + .mr-xl-0, +.mx-xl-0{ + margin-right:0 !important; + } + + .mb-xl-0, +.my-xl-0{ + margin-bottom:0 !important; + } + + .ml-xl-0, +.mx-xl-0{ + margin-left:0 !important; + } + + .m-xl-1{ + margin:0.25rem !important; + } + + .mt-xl-1, +.my-xl-1{ + margin-top:0.25rem !important; + } + + .mr-xl-1, +.mx-xl-1{ + margin-right:0.25rem !important; + } + + .mb-xl-1, +.my-xl-1{ + margin-bottom:0.25rem !important; + } + + .ml-xl-1, +.mx-xl-1{ + margin-left:0.25rem !important; + } + + .m-xl-2{ + margin:0.5rem !important; + } + + .mt-xl-2, +.my-xl-2{ + margin-top:0.5rem !important; + } + + .mr-xl-2, +.mx-xl-2{ + margin-right:0.5rem !important; + } + + .mb-xl-2, +.my-xl-2{ + margin-bottom:0.5rem !important; + } + + .ml-xl-2, +.mx-xl-2{ + margin-left:0.5rem !important; + } + + .m-xl-3{ + margin:1rem !important; + } + + .mt-xl-3, +.my-xl-3{ + margin-top:1rem !important; + } + + .mr-xl-3, +.mx-xl-3{ + margin-right:1rem !important; + } + + .mb-xl-3, +.my-xl-3{ + margin-bottom:1rem !important; + } + + .ml-xl-3, +.mx-xl-3{ + margin-left:1rem !important; + } + + .m-xl-4{ + margin:1.5rem !important; + } + + .mt-xl-4, +.my-xl-4{ + margin-top:1.5rem !important; + } + + .mr-xl-4, +.mx-xl-4{ + margin-right:1.5rem !important; + } + + .mb-xl-4, +.my-xl-4{ + margin-bottom:1.5rem !important; + } + + .ml-xl-4, +.mx-xl-4{ + margin-left:1.5rem !important; + } + + .m-xl-5{ + margin:3rem !important; + } + + .mt-xl-5, +.my-xl-5{ + margin-top:3rem !important; + } + + .mr-xl-5, +.mx-xl-5{ + margin-right:3rem !important; + } + + .mb-xl-5, +.my-xl-5{ + margin-bottom:3rem !important; + } + + .ml-xl-5, +.mx-xl-5{ + margin-left:3rem !important; + } + + .p-xl-0{ + padding:0 !important; + } + + .pt-xl-0, +.py-xl-0{ + padding-top:0 !important; + } + + .pr-xl-0, +.px-xl-0{ + padding-right:0 !important; + } + + .pb-xl-0, +.py-xl-0{ + padding-bottom:0 !important; + } + + .pl-xl-0, +.px-xl-0{ + padding-left:0 !important; + } + + .p-xl-1{ + padding:0.25rem !important; + } + + .pt-xl-1, +.py-xl-1{ + padding-top:0.25rem !important; + } + + .pr-xl-1, +.px-xl-1{ + padding-right:0.25rem !important; + } + + .pb-xl-1, +.py-xl-1{ + padding-bottom:0.25rem !important; + } + + .pl-xl-1, +.px-xl-1{ + padding-left:0.25rem !important; + } + + .p-xl-2{ + padding:0.5rem !important; + } + + .pt-xl-2, +.py-xl-2{ + padding-top:0.5rem !important; + } + + .pr-xl-2, +.px-xl-2{ + padding-right:0.5rem !important; + } + + .pb-xl-2, +.py-xl-2{ + padding-bottom:0.5rem !important; + } + + .pl-xl-2, +.px-xl-2{ + padding-left:0.5rem !important; + } + + .p-xl-3{ + padding:1rem !important; + } + + .pt-xl-3, +.py-xl-3{ + padding-top:1rem !important; + } + + .pr-xl-3, +.px-xl-3{ + padding-right:1rem !important; + } + + .pb-xl-3, +.py-xl-3{ + padding-bottom:1rem !important; + } + + .pl-xl-3, +.px-xl-3{ + padding-left:1rem !important; + } + + .p-xl-4{ + padding:1.5rem !important; + } + + .pt-xl-4, +.py-xl-4{ + padding-top:1.5rem !important; + } + + .pr-xl-4, +.px-xl-4{ + padding-right:1.5rem !important; + } + + .pb-xl-4, +.py-xl-4{ + padding-bottom:1.5rem !important; + } + + .pl-xl-4, +.px-xl-4{ + padding-left:1.5rem !important; + } + + .p-xl-5{ + padding:3rem !important; + } + + .pt-xl-5, +.py-xl-5{ + padding-top:3rem !important; + } + + .pr-xl-5, +.px-xl-5{ + padding-right:3rem !important; + } + + .pb-xl-5, +.py-xl-5{ + padding-bottom:3rem !important; + } + + .pl-xl-5, +.px-xl-5{ + padding-left:3rem !important; + } + + .m-xl-n1{ + margin:-0.25rem !important; + } + + .mt-xl-n1, +.my-xl-n1{ + margin-top:-0.25rem !important; + } + + .mr-xl-n1, +.mx-xl-n1{ + margin-right:-0.25rem !important; + } + + .mb-xl-n1, +.my-xl-n1{ + margin-bottom:-0.25rem !important; + } + + .ml-xl-n1, +.mx-xl-n1{ + margin-left:-0.25rem !important; + } + + .m-xl-n2{ + margin:-0.5rem !important; + } + + .mt-xl-n2, +.my-xl-n2{ + margin-top:-0.5rem !important; + } + + .mr-xl-n2, +.mx-xl-n2{ + margin-right:-0.5rem !important; + } + + .mb-xl-n2, +.my-xl-n2{ + margin-bottom:-0.5rem !important; + } + + .ml-xl-n2, +.mx-xl-n2{ + margin-left:-0.5rem !important; + } + + .m-xl-n3{ + margin:-1rem !important; + } + + .mt-xl-n3, +.my-xl-n3{ + margin-top:-1rem !important; + } + + .mr-xl-n3, +.mx-xl-n3{ + margin-right:-1rem !important; + } + + .mb-xl-n3, +.my-xl-n3{ + margin-bottom:-1rem !important; + } + + .ml-xl-n3, +.mx-xl-n3{ + margin-left:-1rem !important; + } + + .m-xl-n4{ + margin:-1.5rem !important; + } + + .mt-xl-n4, +.my-xl-n4{ + margin-top:-1.5rem !important; + } + + .mr-xl-n4, +.mx-xl-n4{ + margin-right:-1.5rem !important; + } + + .mb-xl-n4, +.my-xl-n4{ + margin-bottom:-1.5rem !important; + } + + .ml-xl-n4, +.mx-xl-n4{ + margin-left:-1.5rem !important; + } + + .m-xl-n5{ + margin:-3rem !important; + } + + .mt-xl-n5, +.my-xl-n5{ + margin-top:-3rem !important; + } + + .mr-xl-n5, +.mx-xl-n5{ + margin-right:-3rem !important; + } + + .mb-xl-n5, +.my-xl-n5{ + margin-bottom:-3rem !important; + } + + .ml-xl-n5, +.mx-xl-n5{ + margin-left:-3rem !important; + } + + .m-xl-auto{ + margin:auto !important; + } + + .mt-xl-auto, +.my-xl-auto{ + margin-top:auto !important; + } + + .mr-xl-auto, +.mx-xl-auto{ + margin-right:auto !important; + } + + .mb-xl-auto, +.my-xl-auto{ + margin-bottom:auto !important; + } + + .ml-xl-auto, +.mx-xl-auto{ + margin-left:auto !important; + } +} +.stretched-link::after{ + position:absolute; + top:0; + right:0; + bottom:0; + left:0; + z-index:1; + pointer-events:auto; + content:""; + background-color:rgba(0, 0, 0, 0); +} + +.text-monospace{ + font-family:SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace !important; +} + +.text-justify{ + text-align:justify !important; +} + +.text-wrap{ + white-space:normal !important; +} + +.text-nowrap{ + white-space:nowrap !important; +} + +.text-truncate{ + overflow:hidden; + text-overflow:ellipsis; + white-space:nowrap; +} + +.text-left{ + text-align:left !important; +} + +.text-right{ + text-align:right !important; +} + +.text-center{ + text-align:center !important; +} + +@media (min-width: 576px){ + .text-sm-left{ + text-align:left !important; + } + + .text-sm-right{ + text-align:right !important; + } + + .text-sm-center{ + text-align:center !important; + } +} +@media (min-width: 768px){ + .text-md-left{ + text-align:left !important; + } + + .text-md-right{ + text-align:right !important; + } + + .text-md-center{ + text-align:center !important; + } +} +@media (min-width: 992px){ + .text-lg-left{ + text-align:left !important; + } + + .text-lg-right{ + text-align:right !important; + } + + .text-lg-center{ + text-align:center !important; + } +} +@media (min-width: 1200px){ + .text-xl-left{ + text-align:left !important; + } + + .text-xl-right{ + text-align:right !important; + } + + .text-xl-center{ + text-align:center !important; + } +} +.text-lowercase{ + text-transform:lowercase !important; +} + +.text-uppercase{ + text-transform:uppercase !important; +} + +.text-capitalize{ + text-transform:capitalize !important; +} + +.font-weight-light{ + font-weight:300 !important; +} + +.font-weight-lighter{ + font-weight:lighter !important; +} + +.font-weight-normal{ + font-weight:400 !important; +} + +.font-weight-bold{ + font-weight:700 !important; +} + +.font-weight-bolder{ + font-weight:bolder !important; +} + +.font-italic{ + font-style:italic !important; +} + +.text-white{ + color:#fff !important; +} + +.text-primary{ + color:#3490dc !important; +} + +a.text-primary:hover, a.text-primary:focus{ + color:#1d68a7 !important; +} + +.text-secondary{ + color:#6c757d !important; +} + +a.text-secondary:hover, a.text-secondary:focus{ + color:#494f54 !important; +} + +.text-success{ + color:#38c172 !important; +} + +a.text-success:hover, a.text-success:focus{ + color:#27864f !important; +} + +.text-info{ + color:#6cb2eb !important; +} + +a.text-info:hover, a.text-info:focus{ + color:#298fe2 !important; +} + +.text-warning{ + color:#ffed4a !important; +} + +a.text-warning:hover, a.text-warning:focus{ + color:#fde300 !important; +} + +.text-danger{ + color:#e3342f !important; +} + +a.text-danger:hover, a.text-danger:focus{ + color:#ae1c17 !important; +} + +.text-light{ + color:#f8f9fa !important; +} + +a.text-light:hover, a.text-light:focus{ + color:#cbd3da !important; +} + +.text-dark{ + color:#343a40 !important; +} + +a.text-dark:hover, a.text-dark:focus{ + color:#121416 !important; +} + +.text-body{ + color:#212529 !important; +} + +.text-muted{ + color:#6c757d !important; +} + +.text-black-50{ + color:rgba(0, 0, 0, 0.5) !important; +} + +.text-white-50{ + color:rgba(255, 255, 255, 0.5) !important; +} + +.text-hide{ + font:0/0 a; + color:transparent; + text-shadow:none; + background-color:transparent; + border:0; +} + +.text-decoration-none{ + text-decoration:none !important; +} + +.text-break{ + word-break:break-word !important; + word-wrap:break-word !important; +} + +.text-reset{ + color:inherit !important; +} + +.visible{ + visibility:visible !important; +} + +.invisible{ + visibility:hidden !important; +} + +@media print{ + *, +*::before, +*::after{ + text-shadow:none !important; + box-shadow:none !important; + } + + a:not(.btn){ + text-decoration:underline; + } + + abbr[title]::after{ + content:" (" attr(title) ")"; + } + + pre{ + white-space:pre-wrap !important; + } + + pre, +blockquote{ + border:1px solid #adb5bd; + page-break-inside:avoid; + } + + tr, +img{ + page-break-inside:avoid; + } + + p, +h2, +h3{ + orphans:3; + widows:3; + } + + h2, +h3{ + page-break-after:avoid; + } + + @page{ + size:a3; + } + body{ + min-width:992px !important; + } + + .container{ + min-width:992px !important; + } + + .navbar{ + display:none; + } + + .badge{ + border:1px solid #000; + } + + .table{ + border-collapse:collapse !important; + } + .table td, +.table th{ + background-color:#fff !important; + } + + .table-bordered th, +.table-bordered td{ + border:1px solid #dee2e6 !important; + } + + .table-dark{ + color:inherit; + } + .table-dark th, +.table-dark td, +.table-dark thead th, +.table-dark tbody + tbody{ + border-color:#dee2e6; + } + + .table .thead-dark th{ + color:inherit; + border-color:#dee2e6; + } +} +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; + touch-action:manipulation; + transform:translateZ(0); + width:100%; + z-index:99992; +} + +.fancybox-container *{ + box-sizing:border-box; +} + +.fancybox-outer, +.fancybox-inner, +.fancybox-bg, +.fancybox-stage{ + bottom:0; + left:0; + position:absolute; + right:0; + top:0; +} + +.fancybox-outer{ + -webkit-overflow-scrolling:touch; + overflow-y:auto; +} + +.fancybox-bg{ + background:rgb(30, 30, 30); + opacity:0; + transition-duration:inherit; + transition-property:opacity; + transition-timing-function:cubic-bezier(0.47, 0, 0.74, 0.71); +} + +.fancybox-is-open .fancybox-bg{ + opacity:0.9; + transition-timing-function:cubic-bezier(0.22, 0.61, 0.36, 1); +} + +.fancybox-infobar, +.fancybox-toolbar, +.fancybox-caption, +.fancybox-navigation .fancybox-button{ + direction:ltr; + opacity:0; + position:absolute; + transition:opacity 0.25s ease, visibility 0s ease 0.25s; + visibility:hidden; + z-index:99997; +} + +.fancybox-show-infobar .fancybox-infobar, +.fancybox-show-toolbar .fancybox-toolbar, +.fancybox-show-caption .fancybox-caption, +.fancybox-show-nav .fancybox-navigation .fancybox-button{ + opacity:1; + transition:opacity 0.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; + 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:transform, opacity; + 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--previous, +.fancybox-slide--current, +.fancybox-slide--next{ + 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(0.5, 0, 0.14, 1); + animation-timing-function:cubic-bezier(0.5, 0, 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; + transform-origin:top left; + transition-property:transform, opacity; + -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-swipe .fancybox-content, +.fancybox-can-pan .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--video .fancybox-content, +.fancybox-slide--map .fancybox-content, +.fancybox-slide--pdf .fancybox-content, +.fancybox-slide--iframe .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-video, +.fancybox-iframe{ + 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, 0.6); + border:0; + border-radius:0; + box-shadow:none; + cursor:pointer; + display:inline-block; + height:44px; + margin:0; + padding:10px; + position:relative; + transition:color 0.2s; + vertical-align:top; + visibility:inherit; + width:44px; +} + +.fancybox-button, +.fancybox-button:visited, +.fancybox-button:link{ + 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--play svg:nth-child(2), +.fancybox-button--fsenter svg:nth-child(2){ + display:none; +} + +.fancybox-button--pause svg:nth-child(1), +.fancybox-button--fsexit svg:nth-child(1){ + display:none; +} + +.fancybox-progress{ + background:#ff5268; + height:2px; + left:0; + position:absolute; + right:0; + top:0; + transform:scaleX(0); + transform-origin:0; + transition-property:transform; + transition-timing-function:linear; + z-index:99998; +} +.fancybox-close-small{ + background:transparent; + border:0; + border-radius:0; + color:#ccc; + cursor:pointer; + opacity:0.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; + left:env(safe-area-inset-left); + padding:31px 26px 31px 6px; +} + +.fancybox-navigation .fancybox-button--arrow_right{ + padding:31px 6px 31px 26px; + right:0; + right:env(safe-area-inset-right); +} +.fancybox-caption{ + background:linear-gradient(to top, rgba(0, 0, 0, 0.85) 0%, rgba(0, 0, 0, 0.3) 50%, rgba(0, 0, 0, 0.15) 65%, rgba(0, 0, 0, 0.075) 75.5%, rgba(0, 0, 0, 0.037) 82.85%, rgba(0, 0, 0, 0.019) 88%, rgba(0, 0, 0, 0) 100%); + bottom:0; + color:#eee; + font-size:14px; + font-weight:400; + left:0; + line-height:1.5; + padding:75px 44px 25px 44px; + pointer-events:none; + right:0; + text-align:center; + z-index:99996; +} + +@supports (padding: 0px){ + .fancybox-caption{ + padding:75px max(44px, env(safe-area-inset-right)) max(25px, env(safe-area-inset-bottom)) max(44px, env(safe-area-inset-left)); + } +} +.fancybox-caption--separate{ + margin-top:-50px; +} + +.fancybox-caption__body{ + max-height:50vh; + overflow:auto; + pointer-events:all; +} + +.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:fancybox-rotate 1s linear infinite; + animation:fancybox-rotate 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:0.7; + padding:0; + position:absolute; + top:50%; + width:50px; + z-index:99999; +} + +@-webkit-keyframes fancybox-rotate{ + 100%{ + transform:rotate(360deg); + } +} + +@keyframes fancybox-rotate{ + 100%{ + transform:rotate(360deg); + } +} +.fancybox-animated{ + transition-timing-function:cubic-bezier(0, 0, 0.25, 1); +} +.fancybox-fx-slide.fancybox-slide--previous{ + opacity:0; + transform:translate3d(-100%, 0, 0); +} + +.fancybox-fx-slide.fancybox-slide--next{ + opacity:0; + transform:translate3d(100%, 0, 0); +} + +.fancybox-fx-slide.fancybox-slide--current{ + opacity:1; + transform:translate3d(0, 0, 0); +} +.fancybox-fx-fade.fancybox-slide--previous, +.fancybox-fx-fade.fancybox-slide--next{ + opacity:0; + transition-timing-function:cubic-bezier(0.19, 1, 0.22, 1); +} + +.fancybox-fx-fade.fancybox-slide--current{ + opacity:1; +} +.fancybox-fx-zoom-in-out.fancybox-slide--previous{ + opacity:0; + transform:scale3d(1.5, 1.5, 1.5); +} + +.fancybox-fx-zoom-in-out.fancybox-slide--next{ + opacity:0; + transform:scale3d(0.5, 0.5, 0.5); +} + +.fancybox-fx-zoom-in-out.fancybox-slide--current{ + opacity:1; + transform:scale3d(1, 1, 1); +} +.fancybox-fx-rotate.fancybox-slide--previous{ + opacity:0; + transform:rotate(-360deg); +} + +.fancybox-fx-rotate.fancybox-slide--next{ + opacity:0; + transform:rotate(360deg); +} + +.fancybox-fx-rotate.fancybox-slide--current{ + opacity:1; + transform:rotate(0deg); +} +.fancybox-fx-circular.fancybox-slide--previous{ + opacity:0; + transform:scale3d(0, 0, 0) translate3d(-100%, 0, 0); +} + +.fancybox-fx-circular.fancybox-slide--next{ + opacity:0; + transform:scale3d(0, 0, 0) translate3d(100%, 0, 0); +} + +.fancybox-fx-circular.fancybox-slide--current{ + opacity:1; + transform:scale3d(1, 1, 1) translate3d(0, 0, 0); +} +.fancybox-fx-tube.fancybox-slide--previous{ + transform:translate3d(-100%, 0, 0) scale(0.1) skew(-10deg); +} + +.fancybox-fx-tube.fancybox-slide--next{ + transform:translate3d(100%, 0, 0) scale(0.1) skew(10deg); +} + +.fancybox-fx-tube.fancybox-slide--current{ + transform:translate3d(0, 0, 0) scale(1); +} +@media all and (max-height: 576px){ + .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-caption{ + padding-left:12px; + padding-right:12px; + } + + @supports (padding: 0px){ + .fancybox-caption{ + padding-left:max(12px, env(safe-area-inset-left)); + padding-right:max(12px, env(safe-area-inset-right)); + } + } +} +.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 0; +} + +.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 5px; + min-width:130px; + padding:0 15px; + text-decoration:none; + transition:all 0.2s; + -webkit-user-select:none; + -moz-user-select:none; + -ms-user-select:none; + user-select:none; + white-space:nowrap; +} + +.fancybox-share__button:visited, +.fancybox-share__button:link{ + 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 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 2px; + position:absolute; + right:0; + -webkit-tap-highlight-color:rgba(0, 0, 0, 0); + 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, 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, 0.1); + background-position:center center; + 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 0.2s cubic-bezier(0.25, 0.46, 0.45, 0.94); + z-index:99991; +} + +.fancybox-thumbs__list a:focus::before{ + opacity:0.5; +} + +.fancybox-thumbs__list a.fancybox-thumbs-active::before{ + opacity:1; +} +@media all and (max-width: 576px){ + .fancybox-thumbs{ + width:110px; + } + + .fancybox-show-thumbs .fancybox-inner{ + right:110px; + } + + .fancybox-thumbs__list a{ + max-width:calc(100% - 10px); + } +} +.onoffswitch{ + position:relative; + width:80px; + -webkit-user-select:none; + -moz-user-select:none; + -ms-user-select:none; +} + +.onoffswitch-checkbox{ + position:absolute; + opacity:0; + pointer-events:none; +} + +.onoffswitch-label{ + display:block; + overflow:hidden; + cursor:pointer; + border:2px solid #999999; + border-radius:8px; +} + +.onoffswitch-inner{ + display:block; + width:200%; + margin-left:-100%; + transition:margin 0.3s ease-in 0s; +} + +.onoffswitch-inner:before, .onoffswitch-inner:after{ + display:block; + float:left; + width:50%; + height:35px; + padding:0; + line-height:35px; + font-size:15px; + color:white; + font-family:Trebuchet, Arial, sans-serif; + font-weight:bold; + box-sizing:border-box; +} + +.onoffswitch-inner:before{ + content:"Oui"; + padding-left:10px; + background-color:#2196F3; + color:#FFFFFF; +} + +.onoffswitch-inner:after{ + content:"Non"; + padding-right:10px; + background-color:#CCCCCC; + color:#999999; + text-align:right; +} + +.onoffswitch-switch{ + display:block; + width:22px; + margin:6.5px; + background:#FFFFFF; + position:absolute; + top:0; + bottom:0; + right:41px; + border:2px solid #999999; + border-radius:8px; + transition:all 0.3s ease-in 0s; +} + +.onoffswitch-checkbox:checked + .onoffswitch-label .onoffswitch-inner{ + margin-left:0; +} + +.onoffswitch-checkbox:checked + .onoffswitch-label .onoffswitch-switch{ + right:0px; +} +.required-asterisk{ + color:red; +} + +.game-name{ + text-align:center; + font-size:large; +} diff --git a/public/js/app.js b/public/js/app.js index 2f8ceeb..321671b 100644 --- a/public/js/app.js +++ b/public/js/app.js @@ -1,2 +1,103203 @@ -/*! For license information please see app.js.LICENSE.txt */ -(()=>{var e,t={2955:()=>{!function(e,t,n,r){"use strict";if(e.console=e.console||{info:function(e){}},n)if(n.fn.fancybox)console.info("fancyBox already initialized");else{var a,i,o,s,l={closeExisting:!1,loop:!1,gutter:50,keyboard:!0,preventCaptionOverlap:!0,arrows:!0,infobar:!0,smallBtn:"auto",toolbar:"auto",buttons:["zoom","slideShow","thumbs","close"],idleTime:3,protect:!1,modal:!1,image:{preload:!1},ajax:{settings:{data:{fancybox:!0}}},iframe:{tpl:'',preload:!0,css:{},attr:{scrolling:"auto"}},video:{tpl:'',format:"",autoStart:!0},defaultType:"image",animationEffect:"zoom",animationDuration:366,zoomOpacity:"auto",transitionEffect:"fade",transitionDuration:366,slideClass:"",baseClass:"",baseTpl:'',spinnerTpl:'
',errorTpl:'

{{ERROR}}

',btnTpl:{download:'',zoom:'',close:'',arrowLeft:'',arrowRight:'',smallBtn:''},parentEl:"body",hideScrollbar:!0,autoFocus:!0,backFocus:!0,trapFocus:!0,fullScreen:{autoStart:!1},touch:{vertical:!0,momentum:!0},hash:null,media:{},slideShow:{autoStart:!1,speed:3e3},thumbs:{autoStart:!1,hideOnClose:!0,parentEl:".fancybox-container",axis:"y"},wheel:"auto",onInit:n.noop,beforeLoad:n.noop,afterLoad:n.noop,beforeShow:n.noop,afterShow:n.noop,beforeClose:n.noop,afterClose:n.noop,onActivate:n.noop,onDeactivate:n.noop,clickContent:function(e,t){return"image"===e.type&&"zoom"},clickSlide:"close",clickOutside:"close",dblclickContent:!1,dblclickSlide:!1,dblclickOutside:!1,mobile:{preventCaptionOverlap:!1,idleTime:!1,clickContent:function(e,t){return"image"===e.type&&"toggleControls"},clickSlide:function(e,t){return"image"===e.type?"toggleControls":"close"},dblclickContent:function(e,t){return"image"===e.type&&"zoom"},dblclickSlide:function(e,t){return"image"===e.type&&"zoom"}},lang:"en",i18n:{en:{CLOSE:"Close",NEXT:"Next",PREV:"Previous",ERROR:"The requested content cannot be loaded.
Please try again later.",PLAY_START:"Start slideshow",PLAY_STOP:"Pause slideshow",FULL_SCREEN:"Full screen",THUMBS:"Thumbnails",DOWNLOAD:"Download",SHARE:"Share",ZOOM:"Zoom"},de:{CLOSE:"Schließen",NEXT:"Weiter",PREV:"Zurück",ERROR:"Die angeforderten Daten konnten nicht geladen werden.
Bitte versuchen Sie es später nochmal.",PLAY_START:"Diaschau starten",PLAY_STOP:"Diaschau beenden",FULL_SCREEN:"Vollbild",THUMBS:"Vorschaubilder",DOWNLOAD:"Herunterladen",SHARE:"Teilen",ZOOM:"Vergrößern"}}},u=n(e),d=n(t),c=0,f=e.requestAnimationFrame||e.webkitRequestAnimationFrame||e.mozRequestAnimationFrame||e.oRequestAnimationFrame||function(t){return e.setTimeout(t,1e3/60)},h=e.cancelAnimationFrame||e.webkitCancelAnimationFrame||e.mozCancelAnimationFrame||e.oCancelAnimationFrame||function(t){e.clearTimeout(t)},m=function(){var e,n=t.createElement("fakeelement"),a={transition:"transitionend",OTransition:"oTransitionEnd",MozTransition:"transitionend",WebkitTransition:"webkitTransitionEnd"};for(e in a)if(n.style[e]!==r)return a[e];return"transitionend"}(),p=function(e){return e&&e.length&&e[0].offsetHeight},_=function(e,t){var r=n.extend(!0,{},e,t);return n.each(t,(function(e,t){n.isArray(t)&&(r[e]=t)})),r},g=function(e,t,r){var a=this;a.opts=_({index:r},n.fancybox.defaults),n.isPlainObject(t)&&(a.opts=_(a.opts,t)),n.fancybox.isMobile&&(a.opts=_(a.opts,a.opts.mobile)),a.id=a.opts.id||++c,a.currIndex=parseInt(a.opts.index,10)||0,a.prevIndex=null,a.prevPos=null,a.currPos=0,a.firstRun=!0,a.group=[],a.slides={},a.addContent(e),a.group.length&&a.init()};n.extend(g.prototype,{init:function(){var r,a,i=this,o=i.group[i.currIndex].opts;o.closeExisting&&n.fancybox.close(!0),n("body").addClass("fancybox-active"),!n.fancybox.getInstance()&&!1!==o.hideScrollbar&&!n.fancybox.isMobile&&t.body.scrollHeight>e.innerHeight&&(n("head").append('"),n("body").addClass("compensate-for-scrollbar")),a="",n.each(o.buttons,(function(e,t){a+=o.btnTpl[t]||""})),r=n(i.translate(i,o.baseTpl.replace("{{buttons}}",a).replace("{{arrows}}",o.btnTpl.arrowLeft+o.btnTpl.arrowRight))).attr("id","fancybox-container-"+i.id).addClass(o.baseClass).data("FancyBox",i).appendTo(o.parentEl),i.$refs={container:r},["bg","inner","infobar","toolbar","stage","caption","navigation"].forEach((function(e){i.$refs[e]=r.find(".fancybox-"+e)})),i.trigger("onInit"),i.activate(),i.jumpTo(i.currIndex)},translate:function(e,t){var n=e.opts.i18n[e.opts.lang]||e.opts.i18n.en;return t.replace(/\{\{(\w+)\}\}/g,(function(e,t){return n[t]===r?e:n[t]}))},addContent:function(e){var t,a=this,i=n.makeArray(e);n.each(i,(function(e,t){var i,o,s,l,u,d={},c={};n.isPlainObject(t)?(d=t,c=t.opts||t):"object"===n.type(t)&&n(t).length?(c=(i=n(t)).data()||{},(c=n.extend(!0,{},c,c.options)).$orig=i,d.src=a.opts.src||c.src||i.attr("href"),d.type||d.src||(d.type="inline",d.src=t)):d={type:"html",src:t+""},d.opts=n.extend(!0,{},a.opts,c),n.isArray(c.buttons)&&(d.opts.buttons=c.buttons),n.fancybox.isMobile&&d.opts.mobile&&(d.opts=_(d.opts,d.opts.mobile)),o=d.type||d.opts.type,l=d.src||"",!o&&l&&((s=l.match(/\.(mp4|mov|ogv|webm)((\?|#).*)?$/i))?(o="video",d.opts.video.format||(d.opts.video.format="video/"+("ogv"===s[1]?"ogg":s[1]))):l.match(/(^data:image\/[a-z0-9+\/=]*,)|(\.(jp(e|g|eg)|gif|png|bmp|webp|svg|ico)((\?|#).*)?$)/i)?o="image":l.match(/\.(pdf)((\?|#).*)?$/i)?(o="iframe",d=n.extend(!0,d,{contentType:"pdf",opts:{iframe:{preload:!1}}})):"#"===l.charAt(0)&&(o="inline")),o?d.type=o:a.trigger("objectNeedsType",d),d.contentType||(d.contentType=n.inArray(d.type,["html","inline","ajax"])>-1?"html":d.type),d.index=a.group.length,"auto"==d.opts.smallBtn&&(d.opts.smallBtn=n.inArray(d.type,["html","inline","ajax"])>-1),"auto"===d.opts.toolbar&&(d.opts.toolbar=!d.opts.smallBtn),d.$thumb=d.opts.$thumb||null,d.opts.$trigger&&d.index===a.opts.index&&(d.$thumb=d.opts.$trigger.find("img:first"),d.$thumb.length&&(d.opts.$orig=d.opts.$trigger)),d.$thumb&&d.$thumb.length||!d.opts.$orig||(d.$thumb=d.opts.$orig.find("img:first")),d.$thumb&&!d.$thumb.length&&(d.$thumb=null),d.thumb=d.opts.thumb||(d.$thumb?d.$thumb[0].src:null),"function"===n.type(d.opts.caption)&&(d.opts.caption=d.opts.caption.apply(t,[a,d])),"function"===n.type(a.opts.caption)&&(d.opts.caption=a.opts.caption.apply(t,[a,d])),d.opts.caption instanceof n||(d.opts.caption=d.opts.caption===r?"":d.opts.caption+""),"ajax"===d.type&&(u=l.split(/\s+/,2)).length>1&&(d.src=u.shift(),d.opts.filter=u.shift()),d.opts.modal&&(d.opts=n.extend(!0,d.opts,{trapFocus:!0,infobar:0,toolbar:0,smallBtn:0,keyboard:0,slideShow:0,fullScreen:0,thumbs:0,touch:0,clickContent:!1,clickSlide:!1,clickOutside:!1,dblclickContent:!1,dblclickSlide:!1,dblclickOutside:!1})),a.group.push(d)})),Object.keys(a.slides).length&&(a.updateControls(),(t=a.Thumbs)&&t.isActive&&(t.create(),t.focus()))},addEvents:function(){var t=this;t.removeEvents(),t.$refs.container.on("click.fb-close","[data-fancybox-close]",(function(e){e.stopPropagation(),e.preventDefault(),t.close(e)})).on("touchstart.fb-prev click.fb-prev","[data-fancybox-prev]",(function(e){e.stopPropagation(),e.preventDefault(),t.previous()})).on("touchstart.fb-next click.fb-next","[data-fancybox-next]",(function(e){e.stopPropagation(),e.preventDefault(),t.next()})).on("click.fb","[data-fancybox-zoom]",(function(e){t[t.isScaledDown()?"scaleToActual":"scaleToFit"]()})),u.on("orientationchange.fb resize.fb",(function(e){e&&e.originalEvent&&"resize"===e.originalEvent.type?(t.requestId&&h(t.requestId),t.requestId=f((function(){t.update(e)}))):(t.current&&"iframe"===t.current.type&&t.$refs.stage.hide(),setTimeout((function(){t.$refs.stage.show(),t.update(e)}),n.fancybox.isMobile?600:250))})),d.on("keydown.fb",(function(e){var r=(n.fancybox?n.fancybox.getInstance():null).current,a=e.keyCode||e.which;if(9!=a){if(!(!r.opts.keyboard||e.ctrlKey||e.altKey||e.shiftKey||n(e.target).is("input,textarea,video,audio,select")))return 8===a||27===a?(e.preventDefault(),void t.close(e)):37===a||38===a?(e.preventDefault(),void t.previous()):39===a||40===a?(e.preventDefault(),void t.next()):void t.trigger("afterKeydown",e,a)}else r.opts.trapFocus&&t.focus(e)})),t.group[t.currIndex].opts.idleTime&&(t.idleSecondsCounter=0,d.on("mousemove.fb-idle mouseleave.fb-idle mousedown.fb-idle touchstart.fb-idle touchmove.fb-idle scroll.fb-idle keydown.fb-idle",(function(e){t.idleSecondsCounter=0,t.isIdle&&t.showControls(),t.isIdle=!1})),t.idleInterval=e.setInterval((function(){t.idleSecondsCounter++,t.idleSecondsCounter>=t.group[t.currIndex].opts.idleTime&&!t.isDragging&&(t.isIdle=!0,t.idleSecondsCounter=0,t.hideControls())}),1e3))},removeEvents:function(){var t=this;u.off("orientationchange.fb resize.fb"),d.off("keydown.fb .fb-idle"),this.$refs.container.off(".fb-close .fb-prev .fb-next"),t.idleInterval&&(e.clearInterval(t.idleInterval),t.idleInterval=null)},previous:function(e){return this.jumpTo(this.currPos-1,e)},next:function(e){return this.jumpTo(this.currPos+1,e)},jumpTo:function(e,t){var a,i,o,s,l,u,d,c,f,h=this,m=h.group.length;if(!(h.isDragging||h.isClosing||h.isAnimating&&h.firstRun)){if(e=parseInt(e,10),!(o=h.current?h.current.opts.loop:h.opts.loop)&&(e<0||e>=m))return!1;if(a=h.firstRun=!Object.keys(h.slides).length,l=h.current,h.prevIndex=h.currIndex,h.prevPos=h.currPos,s=h.createSlide(e),m>1&&((o||s.index0)&&h.createSlide(e-1)),h.current=s,h.currIndex=s.index,h.currPos=s.pos,h.trigger("beforeShow",a),h.updateControls(),s.forcedDuration=r,n.isNumeric(t)?s.forcedDuration=t:t=s.opts[a?"animationDuration":"transitionDuration"],t=parseInt(t,10),i=h.isMoved(s),s.$slide.addClass("fancybox-slide--current"),a)return s.opts.animationEffect&&t&&h.$refs.container.css("transition-duration",t+"ms"),h.$refs.container.addClass("fancybox-is-open").trigger("focus"),h.loadSlide(s),void h.preload("image");u=n.fancybox.getTranslate(l.$slide),d=n.fancybox.getTranslate(h.$refs.stage),n.each(h.slides,(function(e,t){n.fancybox.stop(t.$slide,!0)})),l.pos!==s.pos&&(l.isComplete=!1),l.$slide.removeClass("fancybox-slide--complete fancybox-slide--current"),i?(f=u.left-(l.pos*u.width+l.pos*l.opts.gutter),n.each(h.slides,(function(e,r){r.$slide.removeClass("fancybox-animated").removeClass((function(e,t){return(t.match(/(^|\s)fancybox-fx-\S+/g)||[]).join(" ")}));var a=r.pos*u.width+r.pos*r.opts.gutter;n.fancybox.setTranslate(r.$slide,{top:0,left:a-d.left+f}),r.pos!==s.pos&&r.$slide.addClass("fancybox-slide--"+(r.pos>s.pos?"next":"previous")),p(r.$slide),n.fancybox.animate(r.$slide,{top:0,left:(r.pos-s.pos)*u.width+(r.pos-s.pos)*r.opts.gutter},t,(function(){r.$slide.css({transform:"",opacity:""}).removeClass("fancybox-slide--next fancybox-slide--previous"),r.pos===h.currPos&&h.complete()}))}))):t&&s.opts.transitionEffect&&(c="fancybox-animated fancybox-fx-"+s.opts.transitionEffect,l.$slide.addClass("fancybox-slide--"+(l.pos>s.pos?"next":"previous")),n.fancybox.animate(l.$slide,c,t,(function(){l.$slide.removeClass(c).removeClass("fancybox-slide--next fancybox-slide--previous")}),!1)),s.isLoaded?h.revealContent(s):h.loadSlide(s),h.preload("image")}},createSlide:function(e){var t,r,a=this;return r=(r=e%a.group.length)<0?a.group.length+r:r,!a.slides[e]&&a.group[r]&&(t=n('
').appendTo(a.$refs.stage),a.slides[e]=n.extend(!0,{},a.group[r],{pos:e,$slide:t,isLoaded:!1}),a.updateSlide(a.slides[e])),a.slides[e]},scaleToActual:function(e,t,a){var i,o,s,l,u,d=this,c=d.current,f=c.$content,h=n.fancybox.getTranslate(c.$slide).width,m=n.fancybox.getTranslate(c.$slide).height,p=c.width,_=c.height;d.isAnimating||d.isMoved()||!f||"image"!=c.type||!c.isLoaded||c.hasError||(d.isAnimating=!0,n.fancybox.stop(f),e=e===r?.5*h:e,t=t===r?.5*m:t,(i=n.fancybox.getTranslate(f)).top-=n.fancybox.getTranslate(c.$slide).top,i.left-=n.fancybox.getTranslate(c.$slide).left,l=p/i.width,u=_/i.height,o=.5*h-.5*p,s=.5*m-.5*_,p>h&&((o=i.left*l-(e*l-e))>0&&(o=0),om&&((s=i.top*u-(t*u-t))>0&&(s=0),st-.5&&(l=t),(u*=a)>r-.5&&(u=r),"image"===e.type?(d.top=Math.floor(.5*(r-u))+parseFloat(s.css("paddingTop")),d.left=Math.floor(.5*(t-l))+parseFloat(s.css("paddingLeft"))):"video"===e.contentType&&(u>l/(i=e.opts.width&&e.opts.height?l/u:e.opts.ratio||16/9)?u=l/i:l>u*i&&(l=u*i)),d.width=l,d.height=u,d)},update:function(e){var t=this;n.each(t.slides,(function(n,r){t.updateSlide(r,e)}))},updateSlide:function(e,t){var r=this,a=e&&e.$content,i=e.width||e.opts.width,o=e.height||e.opts.height,s=e.$slide;r.adjustCaption(e),a&&(i||o||"video"===e.contentType)&&!e.hasError&&(n.fancybox.stop(a),n.fancybox.setTranslate(a,r.getFitPos(e)),e.pos===r.currPos&&(r.isAnimating=!1,r.updateCursor())),r.adjustLayout(e),s.length&&(s.trigger("refresh"),e.pos===r.currPos&&r.$refs.toolbar.add(r.$refs.navigation.find(".fancybox-button--arrow_right")).toggleClass("compensate-for-scrollbar",s.get(0).scrollHeight>s.get(0).clientHeight)),r.trigger("onUpdate",e,t)},centerSlide:function(e){var t=this,a=t.current,i=a.$slide;!t.isClosing&&a&&(i.siblings().css({transform:"",opacity:""}),i.parent().children().removeClass("fancybox-slide--previous fancybox-slide--next"),n.fancybox.animate(i,{top:0,left:0,opacity:1},e===r?0:e,(function(){i.css({transform:"",opacity:""}),a.isComplete||t.complete()}),!1))},isMoved:function(e){var t,r,a=e||this.current;return!!a&&(r=n.fancybox.getTranslate(this.$refs.stage),t=n.fancybox.getTranslate(a.$slide),!a.$slide.hasClass("fancybox-animated")&&(Math.abs(t.top-r.top)>.5||Math.abs(t.left-r.left)>.5))},updateCursor:function(e,t){var r,a,i=this,o=i.current,s=i.$refs.container;o&&!i.isClosing&&i.Guestures&&(s.removeClass("fancybox-is-zoomable fancybox-can-zoomIn fancybox-can-zoomOut fancybox-can-swipe fancybox-can-pan"),a=!!(r=i.canPan(e,t))||i.isZoomable(),s.toggleClass("fancybox-is-zoomable",a),n("[data-fancybox-zoom]").prop("disabled",!a),r?s.addClass("fancybox-can-pan"):a&&("zoom"===o.opts.clickContent||n.isFunction(o.opts.clickContent)&&"zoom"==o.opts.clickContent(o))?s.addClass("fancybox-can-zoomIn"):o.opts.touch&&(o.opts.touch.vertical||i.group.length>1)&&"video"!==o.contentType&&s.addClass("fancybox-can-swipe"))},isZoomable:function(){var e,t=this,n=t.current;if(n&&!t.isClosing&&"image"===n.type&&!n.hasError){if(!n.isLoaded)return!0;if((e=t.getFitPos(n))&&(n.width>e.width||n.height>e.height))return!0}return!1},isScaledDown:function(e,t){var a=!1,i=this.current,o=i.$content;return e!==r&&t!==r?a=e1.5||Math.abs(i.height-o.height)>1.5)),o},loadSlide:function(e){var t,r,a,i=this;if(!e.isLoading&&!e.isLoaded){if(e.isLoading=!0,!1===i.trigger("beforeLoad",e))return e.isLoading=!1,!1;switch(t=e.type,(r=e.$slide).off("refresh").trigger("onReset").addClass(e.opts.slideClass),t){case"image":i.setImage(e);break;case"iframe":i.setIframe(e);break;case"html":i.setContent(e,e.src||e.content);break;case"video":i.setContent(e,e.opts.video.tpl.replace(/\{\{src\}\}/gi,e.src).replace("{{format}}",e.opts.videoFormat||e.opts.video.format||"").replace("{{poster}}",e.thumb||""));break;case"inline":n(e.src).length?i.setContent(e,n(e.src)):i.setError(e);break;case"ajax":i.showLoading(e),a=n.ajax(n.extend({},e.opts.ajax.settings,{url:e.src,success:function(t,n){"success"===n&&i.setContent(e,t)},error:function(t,n){t&&"abort"!==n&&i.setError(e)}})),r.one("onReset",(function(){a.abort()}));break;default:i.setError(e)}return!0}},setImage:function(e){var r,a=this;setTimeout((function(){var t=e.$image;a.isClosing||!e.isLoading||t&&t.length&&t[0].complete||e.hasError||a.showLoading(e)}),50),a.checkSrcset(e),e.$content=n('
').addClass("fancybox-is-hidden").appendTo(e.$slide.addClass("fancybox-slide--image")),!1!==e.opts.preload&&e.opts.width&&e.opts.height&&e.thumb&&(e.width=e.opts.width,e.height=e.opts.height,(r=t.createElement("img")).onerror=function(){n(this).remove(),e.$ghost=null},r.onload=function(){a.afterLoad(e)},e.$ghost=n(r).addClass("fancybox-image").appendTo(e.$content).attr("src",e.thumb)),a.setBigImage(e)},checkSrcset:function(t){var n,r,a,i,o=t.opts.srcset||t.opts.image.srcset;if(o){a=e.devicePixelRatio||1,i=e.innerWidth*a,r=o.split(",").map((function(e){var t={};return e.trim().split(/\s+/).forEach((function(e,n){var r=parseInt(e.substring(0,e.length-1),10);if(0===n)return t.url=e;r&&(t.value=r,t.postfix=e[e.length-1])})),t})),r.sort((function(e,t){return e.value-t.value}));for(var s=0;s=i||"x"===l.postfix&&l.value>=a){n=l;break}}!n&&r.length&&(n=r[r.length-1]),n&&(t.src=n.url,t.width&&t.height&&"w"==n.postfix&&(t.height=t.width/t.height*n.value,t.width=n.value),t.opts.srcset=o)}},setBigImage:function(e){var r=this,a=t.createElement("img"),i=n(a);e.$image=i.one("error",(function(){r.setError(e)})).one("load",(function(){var t;e.$ghost||(r.resolveImageSlideSize(e,this.naturalWidth,this.naturalHeight),r.afterLoad(e)),r.isClosing||(e.opts.srcset&&((t=e.opts.sizes)&&"auto"!==t||(t=(e.width/e.height>1&&u.width()/u.height()>1?"100":Math.round(e.width/e.height*100))+"vw"),i.attr("sizes",t).attr("srcset",e.opts.srcset)),e.$ghost&&setTimeout((function(){e.$ghost&&!r.isClosing&&e.$ghost.hide()}),Math.min(300,Math.max(1e3,e.height/1600))),r.hideLoading(e))})).addClass("fancybox-image").attr("src",e.src).appendTo(e.$content),(a.complete||"complete"==a.readyState)&&i.naturalWidth&&i.naturalHeight?i.trigger("load"):a.error&&i.trigger("error")},resolveImageSlideSize:function(e,t,n){var r=parseInt(e.opts.width,10),a=parseInt(e.opts.height,10);e.width=t,e.height=n,r>0&&(e.width=r,e.height=Math.floor(r*n/t)),a>0&&(e.width=Math.floor(a*t/n),e.height=a)},setIframe:function(e){var t,a=this,i=e.opts.iframe,o=e.$slide;e.$content=n('
').css(i.css).appendTo(o),o.addClass("fancybox-slide--"+e.contentType),e.$iframe=t=n(i.tpl.replace(/\{rnd\}/g,(new Date).getTime())).attr(i.attr).appendTo(e.$content),i.preload?(a.showLoading(e),t.on("load.fb error.fb",(function(t){this.isReady=1,e.$slide.trigger("refresh"),a.afterLoad(e)})),o.on("refresh.fb",(function(){var n,a=e.$content,s=i.css.width,l=i.css.height;if(1===t[0].isReady){try{n=t.contents().find("body")}catch(e){}n&&n.length&&n.children().length&&(o.css("overflow","visible"),a.css({width:"100%","max-width":"100%",height:"9999px"}),s===r&&(s=Math.ceil(Math.max(n[0].clientWidth,n.outerWidth(!0)))),a.css("width",s||"").css("max-width",""),l===r&&(l=Math.ceil(Math.max(n[0].clientHeight,n.outerHeight(!0)))),a.css("height",l||""),o.css("overflow","auto")),a.removeClass("fancybox-is-hidden")}}))):a.afterLoad(e),t.attr("src",e.src),o.one("onReset",(function(){try{n(this).find("iframe").hide().unbind().attr("src","//about:blank")}catch(e){}n(this).off("refresh.fb").empty(),e.isLoaded=!1,e.isRevealed=!1}))},setContent:function(e,t){var r,a=this;a.isClosing||(a.hideLoading(e),e.$content&&n.fancybox.stop(e.$content),e.$slide.empty(),(r=t)&&r.hasOwnProperty&&r instanceof n&&t.parent().length?((t.hasClass("fancybox-content")||t.parent().hasClass("fancybox-content"))&&t.parents(".fancybox-slide").trigger("onReset"),e.$placeholder=n("
").hide().insertAfter(t),t.css("display","inline-block")):e.hasError||("string"===n.type(t)&&(t=n("
").append(n.trim(t)).contents()),e.opts.filter&&(t=n("
").html(t).find(e.opts.filter))),e.$slide.one("onReset",(function(){n(this).find("video,audio").trigger("pause"),e.$placeholder&&(e.$placeholder.after(t.removeClass("fancybox-content").hide()).remove(),e.$placeholder=null),e.$smallBtn&&(e.$smallBtn.remove(),e.$smallBtn=null),e.hasError||(n(this).empty(),e.isLoaded=!1,e.isRevealed=!1)})),n(t).appendTo(e.$slide),n(t).is("video,audio")&&(n(t).addClass("fancybox-video"),n(t).wrap("
"),e.contentType="video",e.opts.width=e.opts.width||n(t).attr("width"),e.opts.height=e.opts.height||n(t).attr("height")),e.$content=e.$slide.children().filter("div,form,main,video,audio,article,.fancybox-content").first(),e.$content.siblings().hide(),e.$content.length||(e.$content=e.$slide.wrapInner("
").children().first()),e.$content.addClass("fancybox-content"),e.$slide.addClass("fancybox-slide--"+e.contentType),a.afterLoad(e))},setError:function(e){e.hasError=!0,e.$slide.trigger("onReset").removeClass("fancybox-slide--"+e.contentType).addClass("fancybox-slide--error"),e.contentType="html",this.setContent(e,this.translate(e,e.opts.errorTpl)),e.pos===this.currPos&&(this.isAnimating=!1)},showLoading:function(e){var t=this;(e=e||t.current)&&!e.$spinner&&(e.$spinner=n(t.translate(t,t.opts.spinnerTpl)).appendTo(e.$slide).hide().fadeIn("fast"))},hideLoading:function(e){(e=e||this.current)&&e.$spinner&&(e.$spinner.stop().remove(),delete e.$spinner)},afterLoad:function(e){var t=this;t.isClosing||(e.isLoading=!1,e.isLoaded=!0,t.trigger("afterLoad",e),t.hideLoading(e),!e.opts.smallBtn||e.$smallBtn&&e.$smallBtn.length||(e.$smallBtn=n(t.translate(e,e.opts.btnTpl.smallBtn)).appendTo(e.$content)),e.opts.protect&&e.$content&&!e.hasError&&(e.$content.on("contextmenu.fb",(function(e){return 2==e.button&&e.preventDefault(),!0})),"image"===e.type&&n('
').appendTo(e.$content)),t.adjustCaption(e),t.adjustLayout(e),e.pos===t.currPos&&t.updateCursor(),t.revealContent(e))},adjustCaption:function(e){var t,n=this,r=e||n.current,a=r.opts.caption,i=r.opts.preventCaptionOverlap,o=n.$refs.caption,s=!1;o.toggleClass("fancybox-caption--separate",i),i&&a&&a.length&&(r.pos!==n.currPos?((t=o.clone().appendTo(o.parent())).children().eq(0).empty().html(a),s=t.outerHeight(!0),t.empty().remove()):n.$caption&&(s=n.$caption.outerHeight(!0)),r.$slide.css("padding-bottom",s||""))},adjustLayout:function(e){var t,n,r,a,i=e||this.current;i.isLoaded&&!0!==i.opts.disableLayoutFix&&(i.$content.css("margin-bottom",""),i.$content.outerHeight()>i.$slide.height()+.5&&(r=i.$slide[0].style["padding-bottom"],a=i.$slide.css("padding-bottom"),parseFloat(a)>0&&(t=i.$slide[0].scrollHeight,i.$slide.css("padding-bottom",0),Math.abs(t-i.$slide[0].scrollHeight)<1&&(n=a),i.$slide.css("padding-bottom",r))),i.$content.css("margin-bottom",n))},revealContent:function(e){var t,a,i,o,s=this,l=e.$slide,u=!1,d=!1,c=s.isMoved(e),f=e.isRevealed;return e.isRevealed=!0,t=e.opts[s.firstRun?"animationEffect":"transitionEffect"],i=e.opts[s.firstRun?"animationDuration":"transitionDuration"],i=parseInt(e.forcedDuration===r?i:e.forcedDuration,10),!c&&e.pos===s.currPos&&i||(t=!1),"zoom"===t&&(e.pos===s.currPos&&i&&"image"===e.type&&!e.hasError&&(d=s.getThumbPos(e))?u=s.getFitPos(e):t="fade"),"zoom"===t?(s.isAnimating=!0,u.scaleX=u.width/d.width,u.scaleY=u.height/d.height,"auto"==(o=e.opts.zoomOpacity)&&(o=Math.abs(e.width/e.height-d.width/d.height)>.1),o&&(d.opacity=.1,u.opacity=1),n.fancybox.setTranslate(e.$content.removeClass("fancybox-is-hidden"),d),p(e.$content),void n.fancybox.animate(e.$content,u,i,(function(){s.isAnimating=!1,s.complete()}))):(s.updateSlide(e),t?(n.fancybox.stop(l),a="fancybox-slide--"+(e.pos>=s.prevPos?"next":"previous")+" fancybox-animated fancybox-fx-"+t,l.addClass(a).removeClass("fancybox-slide--current"),e.$content.removeClass("fancybox-is-hidden"),p(l),"image"!==e.type&&e.$content.hide().show(0),void n.fancybox.animate(l,"fancybox-slide--current",i,(function(){l.removeClass(a).css({transform:"",opacity:""}),e.pos===s.currPos&&s.complete()}),!0)):(e.$content.removeClass("fancybox-is-hidden"),f||!c||"image"!==e.type||e.hasError||e.$content.hide().fadeIn("fast"),void(e.pos===s.currPos&&s.complete())))},getThumbPos:function(e){var r,a,i,o,s,l,u=e.$thumb;return!(!u||!function(e){var r,a;return!(!e||e.ownerDocument!==t)&&(n(".fancybox-container").css("pointer-events","none"),r={x:e.getBoundingClientRect().left+e.offsetWidth/2,y:e.getBoundingClientRect().top+e.offsetHeight/2},a=t.elementFromPoint(r.x,r.y)===e,n(".fancybox-container").css("pointer-events",""),a)}(u[0]))&&(a=n.fancybox.getTranslate(u),i=parseFloat(u.css("border-top-width")||0),o=parseFloat(u.css("border-right-width")||0),s=parseFloat(u.css("border-bottom-width")||0),l=parseFloat(u.css("border-left-width")||0),r={top:a.top+i,left:a.left+l,width:a.width-o-l,height:a.height-i-s,scaleX:1,scaleY:1},a.width>0&&a.height>0&&r)},complete:function(){var e,t=this,r=t.current,a={};!t.isMoved()&&r.isLoaded&&(r.isComplete||(r.isComplete=!0,r.$slide.siblings().trigger("onReset"),t.preload("inline"),p(r.$slide),r.$slide.addClass("fancybox-slide--complete"),n.each(t.slides,(function(e,r){r.pos>=t.currPos-1&&r.pos<=t.currPos+1?a[r.pos]=r:r&&(n.fancybox.stop(r.$slide),r.$slide.off().remove())})),t.slides=a),t.isAnimating=!1,t.updateCursor(),t.trigger("afterShow"),r.opts.video.autoStart&&r.$slide.find("video,audio").filter(":visible:first").trigger("play").one("ended",(function(){Document.exitFullscreen?Document.exitFullscreen():this.webkitExitFullscreen&&this.webkitExitFullscreen(),t.next()})),r.opts.autoFocus&&"html"===r.contentType&&((e=r.$content.find("input[autofocus]:enabled:visible:first")).length?e.trigger("focus"):t.focus(null,!0)),r.$slide.scrollTop(0).scrollLeft(0))},preload:function(e){var t,n,r=this;r.group.length<2||(n=r.slides[r.currPos+1],(t=r.slides[r.currPos-1])&&t.type===e&&r.loadSlide(t),n&&n.type===e&&r.loadSlide(n))},focus:function(e,r){var a,i,o=this,s=["a[href]","area[href]",'input:not([disabled]):not([type="hidden"]):not([aria-hidden])',"select:not([disabled]):not([aria-hidden])","textarea:not([disabled]):not([aria-hidden])","button:not([disabled]):not([aria-hidden])","iframe","object","embed","video","audio","[contenteditable]",'[tabindex]:not([tabindex^="-"])'].join(",");o.isClosing||((a=(a=!e&&o.current&&o.current.isComplete?o.current.$slide.find("*:visible"+(r?":not(.fancybox-close-small)":"")):o.$refs.container.find("*:visible")).filter(s).filter((function(){return"hidden"!==n(this).css("visibility")&&!n(this).hasClass("disabled")}))).length?(i=a.index(t.activeElement),e&&e.shiftKey?(i<0||0==i)&&(e.preventDefault(),a.eq(a.length-1).trigger("focus")):(i<0||i==a.length-1)&&(e&&e.preventDefault(),a.eq(0).trigger("focus"))):o.$refs.container.trigger("focus"))},activate:function(){var e=this;n(".fancybox-container").each((function(){var t=n(this).data("FancyBox");t&&t.id!==e.id&&!t.isClosing&&(t.trigger("onDeactivate"),t.removeEvents(),t.isVisible=!1)})),e.isVisible=!0,(e.current||e.isIdle)&&(e.update(),e.updateControls()),e.trigger("onActivate"),e.addEvents()},close:function(e,t){var r,a,i,o,s,l,u,d=this,c=d.current,h=function(){d.cleanUp(e)};return!d.isClosing&&(d.isClosing=!0,!1===d.trigger("beforeClose",e)?(d.isClosing=!1,f((function(){d.update()})),!1):(d.removeEvents(),i=c.$content,r=c.opts.animationEffect,a=n.isNumeric(t)?t:r?c.opts.animationDuration:0,c.$slide.removeClass("fancybox-slide--complete fancybox-slide--next fancybox-slide--previous fancybox-animated"),!0!==e?n.fancybox.stop(c.$slide):r=!1,c.$slide.siblings().trigger("onReset").remove(),a&&d.$refs.container.removeClass("fancybox-is-open").addClass("fancybox-is-closing").css("transition-duration",a+"ms"),d.hideLoading(c),d.hideControls(!0),d.updateCursor(),"zoom"!==r||i&&a&&"image"===c.type&&!d.isMoved()&&!c.hasError&&(u=d.getThumbPos(c))||(r="fade"),"zoom"===r?(n.fancybox.stop(i),l={top:(o=n.fancybox.getTranslate(i)).top,left:o.left,scaleX:o.width/u.width,scaleY:o.height/u.height,width:u.width,height:u.height},"auto"==(s=c.opts.zoomOpacity)&&(s=Math.abs(c.width/c.height-u.width/u.height)>.1),s&&(u.opacity=0),n.fancybox.setTranslate(i,l),p(i),n.fancybox.animate(i,u,a,h),!0):(r&&a?n.fancybox.animate(c.$slide.addClass("fancybox-slide--previous").removeClass("fancybox-slide--current"),"fancybox-animated fancybox-fx-"+r,a,h):!0===e?setTimeout(h,a):h(),!0)))},cleanUp:function(t){var r,a,i,o=this,s=o.current.opts.$orig;o.current.$slide.trigger("onReset"),o.$refs.container.empty().remove(),o.trigger("afterClose",t),o.current.opts.backFocus&&(s&&s.length&&s.is(":visible")||(s=o.$trigger),s&&s.length&&(a=e.scrollX,i=e.scrollY,s.trigger("focus"),n("html, body").scrollTop(i).scrollLeft(a))),o.current=null,(r=n.fancybox.getInstance())?r.activate():(n("body").removeClass("fancybox-active compensate-for-scrollbar"),n("#fancybox-style-noscroll").remove())},trigger:function(e,t){var r,a=Array.prototype.slice.call(arguments,1),i=this,o=t&&t.opts?t:i.current;if(o?a.unshift(o):o=i,a.unshift(i),n.isFunction(o.opts[e])&&(r=o.opts[e].apply(o,a)),!1===r)return r;"afterClose"!==e&&i.$refs?i.$refs.container.trigger(e+".fb",a):d.trigger(e+".fb",a)},updateControls:function(){var e=this,r=e.current,a=r.index,i=e.$refs.container,o=e.$refs.caption,s=r.opts.caption;r.$slide.trigger("refresh"),s&&s.length?(e.$caption=o,o.children().eq(0).html(s)):e.$caption=null,e.hasHiddenControls||e.isIdle||e.showControls(),i.find("[data-fancybox-count]").html(e.group.length),i.find("[data-fancybox-index]").html(a+1),i.find("[data-fancybox-prev]").prop("disabled",!r.opts.loop&&a<=0),i.find("[data-fancybox-next]").prop("disabled",!r.opts.loop&&a>=e.group.length-1),"image"===r.type?i.find("[data-fancybox-zoom]").show().end().find("[data-fancybox-download]").attr("href",r.opts.image.src||r.src).show():r.opts.toolbar&&i.find("[data-fancybox-download],[data-fancybox-zoom]").hide(),n(t.activeElement).is(":hidden,[disabled]")&&e.$refs.container.trigger("focus")},hideControls:function(e){var t=["infobar","toolbar","nav"];!e&&this.current.opts.preventCaptionOverlap||t.push("caption"),this.$refs.container.removeClass(t.map((function(e){return"fancybox-show-"+e})).join(" ")),this.hasHiddenControls=!0},showControls:function(){var e=this,t=e.current?e.current.opts:e.opts,n=e.$refs.container;e.hasHiddenControls=!1,e.idleSecondsCounter=0,n.toggleClass("fancybox-show-toolbar",!(!t.toolbar||!t.buttons)).toggleClass("fancybox-show-infobar",!!(t.infobar&&e.group.length>1)).toggleClass("fancybox-show-caption",!!e.$caption).toggleClass("fancybox-show-nav",!!(t.arrows&&e.group.length>1)).toggleClass("fancybox-is-modal",!!t.modal)},toggleControls:function(){this.hasHiddenControls?this.showControls():this.hideControls()}}),n.fancybox={version:"3.5.7",defaults:l,getInstance:function(e){var t=n('.fancybox-container:not(".fancybox-is-closing"):last').data("FancyBox"),r=Array.prototype.slice.call(arguments,1);return t instanceof g&&("string"===n.type(e)?t[e].apply(t,r):"function"===n.type(e)&&e.apply(t,r),t)},open:function(e,t,n){return new g(e,t,n)},close:function(e){var t=this.getInstance();t&&(t.close(),!0===e&&this.close(e))},destroy:function(){this.close(!0),d.add("body").off("click.fb-start","**")},isMobile:/Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent),use3d:(a=t.createElement("div"),e.getComputedStyle&&e.getComputedStyle(a)&&e.getComputedStyle(a).getPropertyValue("transform")&&!(t.documentMode&&t.documentMode<11)),getTranslate:function(e){var t;return!(!e||!e.length)&&{top:(t=e[0].getBoundingClientRect()).top||0,left:t.left||0,width:t.width,height:t.height,opacity:parseFloat(e.css("opacity"))}},setTranslate:function(e,t){var n="",a={};if(e&&t)return t.left===r&&t.top===r||(n=(t.left===r?e.position().left:t.left)+"px, "+(t.top===r?e.position().top:t.top)+"px",n=this.use3d?"translate3d("+n+", 0px)":"translate("+n+")"),t.scaleX!==r&&t.scaleY!==r?n+=" scale("+t.scaleX+", "+t.scaleY+")":t.scaleX!==r&&(n+=" scaleX("+t.scaleX+")"),n.length&&(a.transform=n),t.opacity!==r&&(a.opacity=t.opacity),t.width!==r&&(a.width=t.width),t.height!==r&&(a.height=t.height),e.css(a)},animate:function(e,t,a,i,o){var s,l=this;n.isFunction(a)&&(i=a,a=null),l.stop(e),s=l.getTranslate(e),e.on(m,(function(u){(!u||!u.originalEvent||e.is(u.originalEvent.target)&&"z-index"!=u.originalEvent.propertyName)&&(l.stop(e),n.isNumeric(a)&&e.css("transition-duration",""),n.isPlainObject(t)?t.scaleX!==r&&t.scaleY!==r&&l.setTranslate(e,{top:t.top,left:t.left,width:s.width*t.scaleX,height:s.height*t.scaleY,scaleX:1,scaleY:1}):!0!==o&&e.removeClass(t),n.isFunction(i)&&i(u))})),n.isNumeric(a)&&e.css("transition-duration",a+"ms"),n.isPlainObject(t)?(t.scaleX!==r&&t.scaleY!==r&&(delete t.width,delete t.height,e.parent().hasClass("fancybox-slide--image")&&e.parent().addClass("fancybox-is-scaling")),n.fancybox.setTranslate(e,t)):e.addClass(t),e.data("timer",setTimeout((function(){e.trigger(m)}),a+33))},stop:function(e,t){e&&e.length&&(clearTimeout(e.data("timer")),t&&e.trigger(m),e.off(m).css("transition-duration",""),e.parent().removeClass("fancybox-is-scaling"))}},n.fn.fancybox=function(e){var t;return(t=(e=e||{}).selector||!1)?n("body").off("click.fb-start",t).on("click.fb-start",t,{options:e},v):this.off("click.fb-start").on("click.fb-start",{items:this,options:e},v),this},d.on("click.fb-start","[data-fancybox]",v),d.on("click.fb-start","[data-fancybox-trigger]",(function(e){n('[data-fancybox="'+n(this).attr("data-fancybox-trigger")+'"]').eq(n(this).attr("data-fancybox-index")||0).trigger("click.fb-start",{$trigger:n(this)})})),i=".fancybox-button",o="fancybox-focus",s=null,d.on("mousedown mouseup focus blur",i,(function(e){switch(e.type){case"mousedown":s=n(this);break;case"mouseup":s=null;break;case"focusin":n(i).removeClass(o),n(this).is(s)||n(this).is("[disabled]")||n(this).addClass(o);break;case"focusout":n(i).removeClass(o)}}))}function v(e,t){var r,a,i,o=[],s=0;e&&e.isDefaultPrevented()||(e.preventDefault(),t=t||{},e&&e.data&&(t=_(e.data.options,t)),r=t.$target||n(e.currentTarget).trigger("blur"),(i=n.fancybox.getInstance())&&i.$trigger&&i.$trigger.is(r)||(o=t.selector?n(t.selector):(a=r.attr("data-fancybox")||"")?(o=e.data?e.data.items:[]).length?o.filter('[data-fancybox="'+a+'"]'):n('[data-fancybox="'+a+'"]'):[r],(s=n(o).index(r))<0&&(s=0),(i=n.fancybox.open(o,t,s)).$trigger=r))}}(window,document,jQuery),function(e){"use strict";var t={youtube:{matcher:/(youtube\.com|youtu\.be|youtube\-nocookie\.com)\/(watch\?(.*&)?v=|v\/|u\/|embed\/?)?(videoseries\?list=(.*)|[\w-]{11}|\?listType=(.*)&list=(.*))(.*)/i,params:{autoplay:1,autohide:1,fs:1,rel:0,hd:1,wmode:"transparent",enablejsapi:1,html5:1},paramPlace:8,type:"iframe",url:"https://www.youtube-nocookie.com/embed/$4",thumb:"https://img.youtube.com/vi/$4/hqdefault.jpg"},vimeo:{matcher:/^.+vimeo.com\/(.*\/)?([\d]+)(.*)?/,params:{autoplay:1,hd:1,show_title:1,show_byline:1,show_portrait:0,fullscreen:1},paramPlace:3,type:"iframe",url:"//player.vimeo.com/video/$2"},instagram:{matcher:/(instagr\.am|instagram\.com)\/p\/([a-zA-Z0-9_\-]+)\/?/i,type:"image",url:"//$1/p/$2/media/?size=l"},gmap_place:{matcher:/(maps\.)?google\.([a-z]{2,3}(\.[a-z]{2})?)\/(((maps\/(place\/(.*)\/)?\@(.*),(\d+.?\d+?)z))|(\?ll=))(.*)?/i,type:"iframe",url:function(e){return"//maps.google."+e[2]+"/?ll="+(e[9]?e[9]+"&z="+Math.floor(e[10])+(e[12]?e[12].replace(/^\//,"&"):""):e[12]+"").replace(/\?/,"&")+"&output="+(e[12]&&e[12].indexOf("layer=c")>0?"svembed":"embed")}},gmap_search:{matcher:/(maps\.)?google\.([a-z]{2,3}(\.[a-z]{2})?)\/(maps\/search\/)(.*)/i,type:"iframe",url:function(e){return"//maps.google."+e[2]+"/maps?q="+e[5].replace("query=","q=").replace("api=1","")+"&output=embed"}}},n=function(t,n,r){if(t)return r=r||"","object"===e.type(r)&&(r=e.param(r,!0)),e.each(n,(function(e,n){t=t.replace("$"+e,n||"")})),r.length&&(t+=(t.indexOf("?")>0?"&":"?")+r),t};e(document).on("objectNeedsType.fb",(function(r,a,i){var o,s,l,u,d,c,f,h=i.src||"",m=!1;o=e.extend(!0,{},t,i.opts.media),e.each(o,(function(t,r){if(l=h.match(r.matcher)){if(m=r.type,f=t,c={},r.paramPlace&&l[r.paramPlace]){"?"==(d=l[r.paramPlace])[0]&&(d=d.substring(1)),d=d.split("&");for(var a=0;a1&&("youtube"===n.contentSource||"vimeo"===n.contentSource)&&r.load(n.contentSource)}})}(jQuery),function(e,t,n){"use strict";var r=e.requestAnimationFrame||e.webkitRequestAnimationFrame||e.mozRequestAnimationFrame||e.oRequestAnimationFrame||function(t){return e.setTimeout(t,1e3/60)},a=e.cancelAnimationFrame||e.webkitCancelAnimationFrame||e.mozCancelAnimationFrame||e.oCancelAnimationFrame||function(t){e.clearTimeout(t)},i=function(t){var n=[];for(var r in t=(t=t.originalEvent||t||e.e).touches&&t.touches.length?t.touches:t.changedTouches&&t.changedTouches.length?t.changedTouches:[t])t[r].pageX?n.push({x:t[r].pageX,y:t[r].pageY}):t[r].clientX&&n.push({x:t[r].clientX,y:t[r].clientY});return n},o=function(e,t,n){return t&&e?"x"===n?e.x-t.x:"y"===n?e.y-t.y:Math.sqrt(Math.pow(e.x-t.x,2)+Math.pow(e.y-t.y,2)):0},s=function(e){if(e.is('a,area,button,[role="button"],input,label,select,summary,textarea,video,audio,iframe')||n.isFunction(e.get(0).onclick)||e.data("selectable"))return!0;for(var t=0,r=e[0].attributes,a=r.length;tn.clientHeight,o=("scroll"===a||"auto"===a)&&n.scrollWidth>n.clientWidth,!(s=i||o)&&(t=t.parent()).length&&!t.hasClass("fancybox-stage")&&!t.is("body"););return s},u=function(e){var t=this;t.instance=e,t.$bg=e.$refs.bg,t.$stage=e.$refs.stage,t.$container=e.$refs.container,t.destroy(),t.$container.on("touchstart.fb.touch mousedown.fb.touch",n.proxy(t,"ontouchstart"))};u.prototype.destroy=function(){var e=this;e.$container.off(".fb.touch"),n(t).off(".fb.touch"),e.requestId&&(a(e.requestId),e.requestId=null),e.tapped&&(clearTimeout(e.tapped),e.tapped=null)},u.prototype.ontouchstart=function(r){var a=this,u=n(r.target),d=a.instance,c=d.current,f=c.$slide,h=c.$content,m="touchstart"==r.type;if(m&&a.$container.off("mousedown.fb.touch"),(!r.originalEvent||2!=r.originalEvent.button)&&f.length&&u.length&&!s(u)&&!s(u.parent())&&(u.is("img")||!(r.originalEvent.clientX>u[0].clientWidth+u.offset().left))){if(!c||d.isAnimating||c.$slide.hasClass("fancybox-animated"))return r.stopPropagation(),void r.preventDefault();a.realPoints=a.startPoints=i(r),a.startPoints.length&&(c.touch&&r.stopPropagation(),a.startEvent=r,a.canTap=!0,a.$target=u,a.$content=h,a.opts=c.opts.touch,a.isPanning=!1,a.isSwiping=!1,a.isZooming=!1,a.isScrolling=!1,a.canPan=d.canPan(),a.startTime=(new Date).getTime(),a.distanceX=a.distanceY=a.distance=0,a.canvasWidth=Math.round(f[0].clientWidth),a.canvasHeight=Math.round(f[0].clientHeight),a.contentLastPos=null,a.contentStartPos=n.fancybox.getTranslate(a.$content)||{top:0,left:0},a.sliderStartPos=n.fancybox.getTranslate(f),a.stagePos=n.fancybox.getTranslate(d.$refs.stage),a.sliderStartPos.top-=a.stagePos.top,a.sliderStartPos.left-=a.stagePos.left,a.contentStartPos.top-=a.stagePos.top,a.contentStartPos.left-=a.stagePos.left,n(t).off(".fb.touch").on(m?"touchend.fb.touch touchcancel.fb.touch":"mouseup.fb.touch mouseleave.fb.touch",n.proxy(a,"ontouchend")).on(m?"touchmove.fb.touch":"mousemove.fb.touch",n.proxy(a,"ontouchmove")),n.fancybox.isMobile&&t.addEventListener("scroll",a.onscroll,!0),((a.opts||a.canPan)&&(u.is(a.$stage)||a.$stage.find(u).length)||(u.is(".fancybox-image")&&r.preventDefault(),n.fancybox.isMobile&&u.parents(".fancybox-caption").length))&&(a.isScrollable=l(u)||l(u.parent()),n.fancybox.isMobile&&a.isScrollable||r.preventDefault(),(1===a.startPoints.length||c.hasError)&&(a.canPan?(n.fancybox.stop(a.$content),a.isPanning=!0):a.isSwiping=!0,a.$container.addClass("fancybox-is-grabbing")),2===a.startPoints.length&&"image"===c.type&&(c.isLoaded||c.$ghost)&&(a.canTap=!1,a.isSwiping=!1,a.isPanning=!1,a.isZooming=!0,n.fancybox.stop(a.$content),a.centerPointStartX=.5*(a.startPoints[0].x+a.startPoints[1].x)-n(e).scrollLeft(),a.centerPointStartY=.5*(a.startPoints[0].y+a.startPoints[1].y)-n(e).scrollTop(),a.percentageOfImageAtPinchPointX=(a.centerPointStartX-a.contentStartPos.left)/a.contentStartPos.width,a.percentageOfImageAtPinchPointY=(a.centerPointStartY-a.contentStartPos.top)/a.contentStartPos.height,a.startDistanceBetweenFingers=o(a.startPoints[0],a.startPoints[1]))))}},u.prototype.onscroll=function(e){this.isScrolling=!0,t.removeEventListener("scroll",this.onscroll,!0)},u.prototype.ontouchmove=function(e){var t=this;void 0===e.originalEvent.buttons||0!==e.originalEvent.buttons?t.isScrolling?t.canTap=!1:(t.newPoints=i(e),(t.opts||t.canPan)&&t.newPoints.length&&t.newPoints.length&&(t.isSwiping&&!0===t.isSwiping||e.preventDefault(),t.distanceX=o(t.newPoints[0],t.startPoints[0],"x"),t.distanceY=o(t.newPoints[0],t.startPoints[0],"y"),t.distance=o(t.newPoints[0],t.startPoints[0]),t.distance>0&&(t.isSwiping?t.onSwipe(e):t.isPanning?t.onPan():t.isZooming&&t.onZoom()))):t.ontouchend(e)},u.prototype.onSwipe=function(t){var i,o=this,s=o.instance,l=o.isSwiping,u=o.sliderStartPos.left||0;if(!0!==l)"x"==l&&(o.distanceX>0&&(o.instance.group.length<2||0===o.instance.current.index&&!o.instance.current.opts.loop)?u+=Math.pow(o.distanceX,.8):o.distanceX<0&&(o.instance.group.length<2||o.instance.current.index===o.instance.group.length-1&&!o.instance.current.opts.loop)?u-=Math.pow(-o.distanceX,.8):u+=o.distanceX),o.sliderLastPos={top:"x"==l?0:o.sliderStartPos.top+o.distanceY,left:u},o.requestId&&(a(o.requestId),o.requestId=null),o.requestId=r((function(){o.sliderLastPos&&(n.each(o.instance.slides,(function(e,t){var r=t.pos-o.instance.currPos;n.fancybox.setTranslate(t.$slide,{top:o.sliderLastPos.top,left:o.sliderLastPos.left+r*o.canvasWidth+r*t.opts.gutter})})),o.$container.addClass("fancybox-is-sliding"))}));else if(Math.abs(o.distance)>10){if(o.canTap=!1,s.group.length<2&&o.opts.vertical?o.isSwiping="y":s.isDragging||!1===o.opts.vertical||"auto"===o.opts.vertical&&n(e).width()>800?o.isSwiping="x":(i=Math.abs(180*Math.atan2(o.distanceY,o.distanceX)/Math.PI),o.isSwiping=i>45&&i<135?"y":"x"),"y"===o.isSwiping&&n.fancybox.isMobile&&o.isScrollable)return void(o.isScrolling=!0);s.isDragging=o.isSwiping,o.startPoints=o.newPoints,n.each(s.slides,(function(e,t){var r,a;n.fancybox.stop(t.$slide),r=n.fancybox.getTranslate(t.$slide),a=n.fancybox.getTranslate(s.$refs.stage),t.$slide.css({transform:"",opacity:"","transition-duration":""}).removeClass("fancybox-animated").removeClass((function(e,t){return(t.match(/(^|\s)fancybox-fx-\S+/g)||[]).join(" ")})),t.pos===s.current.pos&&(o.sliderStartPos.top=r.top-a.top,o.sliderStartPos.left=r.left-a.left),n.fancybox.setTranslate(t.$slide,{top:r.top-a.top,left:r.left-a.left})})),s.SlideShow&&s.SlideShow.isActive&&s.SlideShow.stop()}},u.prototype.onPan=function(){var e=this;o(e.newPoints[0],e.realPoints[0])<(n.fancybox.isMobile?10:5)?e.startPoints=e.newPoints:(e.canTap=!1,e.contentLastPos=e.limitMovement(),e.requestId&&a(e.requestId),e.requestId=r((function(){n.fancybox.setTranslate(e.$content,e.contentLastPos)})))},u.prototype.limitMovement=function(){var e,t,n,r,a,i,o=this,s=o.canvasWidth,l=o.canvasHeight,u=o.distanceX,d=o.distanceY,c=o.contentStartPos,f=c.left,h=c.top,m=c.width,p=c.height;return a=m>s?f+u:f,i=h+d,e=Math.max(0,.5*s-.5*m),t=Math.max(0,.5*l-.5*p),n=Math.min(s-m,.5*s-.5*m),r=Math.min(l-p,.5*l-.5*p),u>0&&a>e&&(a=e-1+Math.pow(-e+f+u,.8)||0),u<0&&a0&&i>t&&(i=t-1+Math.pow(-t+h+d,.8)||0),d<0&&ia?(e=e>0?0:e)i?(t=t>0?0:t)1&&(r.dMs>130&&o>10||o>50);r.sliderLastPos=null,"y"==e&&!t&&Math.abs(r.distanceY)>50?(n.fancybox.animate(r.instance.current.$slide,{top:r.sliderStartPos.top+r.distanceY+150*r.velocityY,opacity:0},200),a=r.instance.close(!0,250)):s&&r.distanceX>0?a=r.instance.previous(300):s&&r.distanceX<0&&(a=r.instance.next(300)),!1!==a||"x"!=e&&"y"!=e||r.instance.centerSlide(200),r.$container.removeClass("fancybox-is-sliding")},u.prototype.endPanning=function(){var e,t,r,a=this;a.contentLastPos&&(!1===a.opts.momentum||a.dMs>350?(e=a.contentLastPos.left,t=a.contentLastPos.top):(e=a.contentLastPos.left+500*a.velocityX,t=a.contentLastPos.top+500*a.velocityY),(r=a.limitPosition(e,t,a.contentStartPos.width,a.contentStartPos.height)).width=a.contentStartPos.width,r.height=a.contentStartPos.height,n.fancybox.animate(a.$content,r,366))},u.prototype.endZooming=function(){var e,t,r,a,i=this,o=i.instance.current,s=i.newWidth,l=i.newHeight;i.contentLastPos&&(e=i.contentLastPos.left,a={top:t=i.contentLastPos.top,left:e,width:s,height:l,scaleX:1,scaleY:1},n.fancybox.setTranslate(i.$content,a),so.width||l>o.height?i.instance.scaleToActual(i.centerPointStartX,i.centerPointStartY,150):(r=i.limitPosition(e,t,s,l),n.fancybox.animate(i.$content,r,150)))},u.prototype.onTap=function(t){var r,a=this,o=n(t.target),s=a.instance,l=s.current,u=t&&i(t)||a.startPoints,d=u[0]?u[0].x-n(e).scrollLeft()-a.stagePos.left:0,c=u[0]?u[0].y-n(e).scrollTop()-a.stagePos.top:0,f=function(e){var r=l.opts[e];if(n.isFunction(r)&&(r=r.apply(s,[l,t])),r)switch(r){case"close":s.close(a.startEvent);break;case"toggleControls":s.toggleControls();break;case"next":s.next();break;case"nextOrClose":s.group.length>1?s.next():s.close(a.startEvent);break;case"zoom":"image"==l.type&&(l.isLoaded||l.$ghost)&&(s.canPan()?s.scaleToFit():s.isScaledDown()?s.scaleToActual(d,c):s.group.length<2&&s.close(a.startEvent))}};if((!t.originalEvent||2!=t.originalEvent.button)&&(o.is("img")||!(d>o[0].clientWidth+o.offset().left))){if(o.is(".fancybox-bg,.fancybox-inner,.fancybox-outer,.fancybox-container"))r="Outside";else if(o.is(".fancybox-slide"))r="Slide";else{if(!s.current.$content||!s.current.$content.find(o).addBack().filter(o).length)return;r="Content"}if(a.tapped){if(clearTimeout(a.tapped),a.tapped=null,Math.abs(d-a.tapX)>50||Math.abs(c-a.tapY)>50)return this;f("dblclick"+r)}else a.tapX=d,a.tapY=c,l.opts["dblclick"+r]&&l.opts["dblclick"+r]!==l.opts["click"+r]?a.tapped=setTimeout((function(){a.tapped=null,s.isAnimating||f("click"+r)}),500):f("click"+r);return this}},n(t).on("onActivate.fb",(function(e,t){t&&!t.Guestures&&(t.Guestures=new u(t))})).on("beforeClose.fb",(function(e,t){t&&t.Guestures&&t.Guestures.destroy()}))}(window,document,jQuery),function(e,t){"use strict";t.extend(!0,t.fancybox.defaults,{btnTpl:{slideShow:''},slideShow:{autoStart:!1,speed:3e3,progress:!0}});var n=function(e){this.instance=e,this.init()};t.extend(n.prototype,{timer:null,isActive:!1,$button:null,init:function(){var e=this,n=e.instance,r=n.group[n.currIndex].opts.slideShow;e.$button=n.$refs.toolbar.find("[data-fancybox-play]").on("click",(function(){e.toggle()})),n.group.length<2||!r?e.$button.hide():r.progress&&(e.$progress=t('
').appendTo(n.$refs.inner))},set:function(e){var n=this,r=n.instance,a=r.current;a&&(!0===e||a.opts.loop||r.currIndex'},fullScreen:{autoStart:!1}}),t(e).on(n.fullscreenchange,(function(){var e=r.isFullscreen(),n=t.fancybox.getInstance();n&&(n.current&&"image"===n.current.type&&n.isAnimating&&(n.isAnimating=!1,n.update(!0,!0,0),n.isComplete||n.complete()),n.trigger("onFullscreenChange",e),n.$refs.container.toggleClass("fancybox-is-fullscreen",e),n.$refs.toolbar.find("[data-fancybox-fullscreen]").toggleClass("fancybox-button--fsenter",!e).toggleClass("fancybox-button--fsexit",e))}))}t(e).on({"onInit.fb":function(e,t){n?t&&t.group[t.currIndex].opts.fullScreen?(t.$refs.container.on("click.fb-fullscreen","[data-fancybox-fullscreen]",(function(e){e.stopPropagation(),e.preventDefault(),r.toggle()})),t.opts.fullScreen&&!0===t.opts.fullScreen.autoStart&&r.request(),t.FullScreen=r):t&&t.$refs.toolbar.find("[data-fancybox-fullscreen]").hide():t.$refs.toolbar.find("[data-fancybox-fullscreen]").remove()},"afterKeydown.fb":function(e,t,n,r,a){t&&t.FullScreen&&70===a&&(r.preventDefault(),t.FullScreen.toggle())},"beforeClose.fb":function(e,t){t&&t.FullScreen&&t.$refs.container.hasClass("fancybox-is-fullscreen")&&r.exit()}})}(document,jQuery),function(e,t){"use strict";var n="fancybox-thumbs",r=n+"-active";t.fancybox.defaults=t.extend(!0,{btnTpl:{thumbs:''},thumbs:{autoStart:!1,hideOnClose:!0,parentEl:".fancybox-container",axis:"y"}},t.fancybox.defaults);var a=function(e){this.init(e)};t.extend(a.prototype,{$button:null,$grid:null,$list:null,isVisible:!1,isActive:!1,init:function(e){var t=this,n=e.group,r=0;t.instance=e,t.opts=n[e.currIndex].opts.thumbs,e.Thumbs=t,t.$button=e.$refs.toolbar.find("[data-fancybox-thumbs]");for(var a=0,i=n.length;a1));a++);r>1&&t.opts?(t.$button.removeAttr("style").on("click",(function(){t.toggle()})),t.isActive=!0):t.$button.hide()},create:function(){var e,r=this,a=r.instance,i=r.opts.parentEl,o=[];r.$grid||(r.$grid=t('
').appendTo(a.$refs.container.find(i).addBack().filter(i)),r.$grid.on("click","a",(function(){a.jumpTo(t(this).attr("data-index"))}))),r.$list||(r.$list=t('
').appendTo(r.$grid)),t.each(a.group,(function(t,n){(e=n.thumb)||"image"!==n.type||(e=n.src),o.push('")})),r.$list[0].innerHTML=o.join(""),"x"===r.opts.axis&&r.$list.width(parseInt(r.$grid.css("padding-right"),10)+a.group.length*r.$list.children().eq(0).outerWidth(!0))},focus:function(e){var t,n,a=this,i=a.$list,o=a.$grid;a.instance.current&&(n=(t=i.children().removeClass(r).filter('[data-index="'+a.instance.current.index+'"]').addClass(r)).position(),"y"===a.opts.axis&&(n.top<0||n.top>i.height()-t.outerHeight())?i.stop().animate({scrollTop:i.scrollTop()+n.top},e):"x"===a.opts.axis&&(n.lefto.scrollLeft()+(o.width()-t.outerWidth()))&&i.parent().stop().animate({scrollLeft:n.left},e))},update:function(){var e=this;e.instance.$refs.container.toggleClass("fancybox-show-thumbs",this.isVisible),e.isVisible?(e.$grid||e.create(),e.instance.trigger("onThumbsShow"),e.focus(0)):e.$grid&&e.instance.trigger("onThumbsHide"),e.instance.update()},hide:function(){this.isVisible=!1,this.update()},show:function(){this.isVisible=!0,this.update()},toggle:function(){this.isVisible=!this.isVisible,this.update()}}),t(e).on({"onInit.fb":function(e,t){var n;t&&!t.Thumbs&&(n=new a(t)).isActive&&!0===n.opts.autoStart&&n.show()},"beforeShow.fb":function(e,t,n,r){var a=t&&t.Thumbs;a&&a.isVisible&&a.focus(r?0:250)},"afterKeydown.fb":function(e,t,n,r,a){var i=t&&t.Thumbs;i&&i.isActive&&71===a&&(r.preventDefault(),i.toggle())},"beforeClose.fb":function(e,t){var n=t&&t.Thumbs;n&&n.isVisible&&!1!==n.opts.hideOnClose&&n.$grid.hide()}})}(document,jQuery),function(e,t){"use strict";t.extend(!0,t.fancybox.defaults,{btnTpl:{share:''},share:{url:function(e,t){return!e.currentHash&&"inline"!==t.type&&"html"!==t.type&&(t.origSrc||t.src)||window.location},tpl:''}}),t(e).on("click","[data-fancybox-share]",(function(){var e,n,r,a,i=t.fancybox.getInstance(),o=i.current||null;o&&("function"===t.type(o.opts.share.url)&&(e=o.opts.share.url.apply(o,[i,o])),n=o.opts.share.tpl.replace(/\{\{media\}\}/g,"image"===o.type?encodeURIComponent(o.src):"").replace(/\{\{url\}\}/g,encodeURIComponent(e)).replace(/\{\{url_raw\}\}/g,(r=e,a={"&":"&","<":"<",">":">",'"':""","'":"'","/":"/","`":"`","=":"="},String(r).replace(/[&<>"'`=\/]/g,(function(e){return a[e]})))).replace(/\{\{descr\}\}/g,i.$caption?encodeURIComponent(i.$caption.text()):""),t.fancybox.open({src:i.translate(i,n),type:"html",opts:{touch:!1,animationEffect:!1,afterLoad:function(e,t){i.$refs.container.one("beforeClose.fb",(function(){e.close(null,0)})),t.$content.find(".fancybox-share__button").click((function(){return window.open(this.href,"Share","width=550, height=450"),!1}))},mobile:{autoFocus:!1}}}))}))}(document,jQuery),function(e,t,n){"use strict";function r(){var t=e.location.hash.substr(1),n=t.split("-"),r=n.length>1&&/^\+?\d+$/.test(n[n.length-1])&&parseInt(n.pop(-1),10)||1;return{hash:t,index:r<1?1:r,gallery:n.join("-")}}function a(e){""!==e.gallery&&n("[data-fancybox='"+n.escapeSelector(e.gallery)+"']").eq(e.index-1).focus().trigger("click.fb-start")}function i(e){var t,n;return!!e&&(""!==(n=(t=e.current?e.current.opts:e.opts).hash||(t.$orig?t.$orig.data("fancybox")||t.$orig.data("fancybox-trigger"):""))&&n)}n.escapeSelector||(n.escapeSelector=function(e){return(e+"").replace(/([\0-\x1f\x7f]|^-?\d)|^-$|[^\x80-\uFFFF\w-]/g,(function(e,t){return t?"\0"===e?"�":e.slice(0,-1)+"\\"+e.charCodeAt(e.length-1).toString(16)+" ":"\\"+e}))}),n((function(){!1!==n.fancybox.defaults.hash&&(n(t).on({"onInit.fb":function(e,t){var n,a;!1!==t.group[t.currIndex].opts.hash&&(n=r(),(a=i(t))&&n.gallery&&a==n.gallery&&(t.currIndex=n.index-1))},"beforeShow.fb":function(n,r,a,o){var s;a&&!1!==a.opts.hash&&(s=i(r))&&(r.currentHash=s+(r.group.length>1?"-"+(a.index+1):""),e.location.hash!=="#"+r.currentHash&&(o&&!r.origHash&&(r.origHash=e.location.hash),r.hashTimer&&clearTimeout(r.hashTimer),r.hashTimer=setTimeout((function(){"replaceState"in e.history?(e.history[o?"pushState":"replaceState"]({},t.title,e.location.pathname+e.location.search+"#"+r.currentHash),o&&(r.hasCreatedHistory=!0)):e.location.hash=r.currentHash,r.hashTimer=null}),300)))},"beforeClose.fb":function(n,r,a){a&&!1!==a.opts.hash&&(clearTimeout(r.hashTimer),r.currentHash&&r.hasCreatedHistory?e.history.back():r.currentHash&&("replaceState"in e.history?e.history.replaceState({},t.title,e.location.pathname+e.location.search+(r.origHash||"")):e.location.hash=r.origHash),r.currentHash=null)}}),n(e).on("hashchange.fb",(function(){var e=r(),t=null;n.each(n(".fancybox-container").get().reverse(),(function(e,r){var a=n(r).data("FancyBox");if(a&&a.currentHash)return t=a,!1})),t?t.currentHash===e.gallery+"-"+e.index||1===e.index&&t.currentHash==e.gallery||(t.currentHash=null,t.close()):""!==e.gallery&&a(e)})),setTimeout((function(){n.fancybox.getInstance()||a(r())}),50))}))}(window,document,jQuery),function(e,t){"use strict";var n=(new Date).getTime();t(e).on({"onInit.fb":function(e,t,r){t.$refs.stage.on("mousewheel DOMMouseScroll wheel MozMousePixelScroll",(function(e){var r=t.current,a=(new Date).getTime();t.group.length<2||!1===r.opts.wheel||"auto"===r.opts.wheel&&"image"!==r.type||(e.preventDefault(),e.stopPropagation(),r.$slide.hasClass("fancybox-animated")||(e=e.originalEvent||e,a-n<250||(n=a,t[(-e.deltaY||-e.deltaX||e.wheelDelta||-e.detail)<0?"next":"previous"]())))}))}})}(document,jQuery)},9669:(e,t,n)=>{e.exports=n(1609)},5448:(e,t,n)=>{"use strict";var r=n(4867),a=n(6026),i=n(4372),o=n(5327),s=n(4097),l=n(4109),u=n(7985),d=n(5061);e.exports=function(e){return new Promise((function(t,n){var c=e.data,f=e.headers,h=e.responseType;r.isFormData(c)&&delete f["Content-Type"];var m=new XMLHttpRequest;if(e.auth){var p=e.auth.username||"",_=e.auth.password?unescape(encodeURIComponent(e.auth.password)):"";f.Authorization="Basic "+btoa(p+":"+_)}var g=s(e.baseURL,e.url);function v(){if(m){var r="getAllResponseHeaders"in m?l(m.getAllResponseHeaders()):null,i={data:h&&"text"!==h&&"json"!==h?m.response:m.responseText,status:m.status,statusText:m.statusText,headers:r,config:e,request:m};a(t,n,i),m=null}}if(m.open(e.method.toUpperCase(),o(g,e.params,e.paramsSerializer),!0),m.timeout=e.timeout,"onloadend"in m?m.onloadend=v:m.onreadystatechange=function(){m&&4===m.readyState&&(0!==m.status||m.responseURL&&0===m.responseURL.indexOf("file:"))&&setTimeout(v)},m.onabort=function(){m&&(n(d("Request aborted",e,"ECONNABORTED",m)),m=null)},m.onerror=function(){n(d("Network Error",e,null,m)),m=null},m.ontimeout=function(){var t="timeout of "+e.timeout+"ms exceeded";e.timeoutErrorMessage&&(t=e.timeoutErrorMessage),n(d(t,e,e.transitional&&e.transitional.clarifyTimeoutError?"ETIMEDOUT":"ECONNABORTED",m)),m=null},r.isStandardBrowserEnv()){var y=(e.withCredentials||u(g))&&e.xsrfCookieName?i.read(e.xsrfCookieName):void 0;y&&(f[e.xsrfHeaderName]=y)}"setRequestHeader"in m&&r.forEach(f,(function(e,t){void 0===c&&"content-type"===t.toLowerCase()?delete f[t]:m.setRequestHeader(t,e)})),r.isUndefined(e.withCredentials)||(m.withCredentials=!!e.withCredentials),h&&"json"!==h&&(m.responseType=e.responseType),"function"==typeof e.onDownloadProgress&&m.addEventListener("progress",e.onDownloadProgress),"function"==typeof e.onUploadProgress&&m.upload&&m.upload.addEventListener("progress",e.onUploadProgress),e.cancelToken&&e.cancelToken.promise.then((function(e){m&&(m.abort(),n(e),m=null)})),c||(c=null),m.send(c)}))}},1609:(e,t,n)=>{"use strict";var r=n(4867),a=n(1849),i=n(321),o=n(7185);function s(e){var t=new i(e),n=a(i.prototype.request,t);return r.extend(n,i.prototype,t),r.extend(n,t),n}var l=s(n(5655));l.Axios=i,l.create=function(e){return s(o(l.defaults,e))},l.Cancel=n(5263),l.CancelToken=n(4972),l.isCancel=n(6502),l.all=function(e){return Promise.all(e)},l.spread=n(8713),l.isAxiosError=n(6268),e.exports=l,e.exports.default=l},5263:e=>{"use strict";function t(e){this.message=e}t.prototype.toString=function(){return"Cancel"+(this.message?": "+this.message:"")},t.prototype.__CANCEL__=!0,e.exports=t},4972:(e,t,n)=>{"use strict";var r=n(5263);function a(e){if("function"!=typeof e)throw new TypeError("executor must be a function.");var t;this.promise=new Promise((function(e){t=e}));var n=this;e((function(e){n.reason||(n.reason=new r(e),t(n.reason))}))}a.prototype.throwIfRequested=function(){if(this.reason)throw this.reason},a.source=function(){var e;return{token:new a((function(t){e=t})),cancel:e}},e.exports=a},6502:e=>{"use strict";e.exports=function(e){return!(!e||!e.__CANCEL__)}},321:(e,t,n)=>{"use strict";var r=n(4867),a=n(5327),i=n(782),o=n(3572),s=n(7185),l=n(4875),u=l.validators;function d(e){this.defaults=e,this.interceptors={request:new i,response:new i}}d.prototype.request=function(e){"string"==typeof e?(e=arguments[1]||{}).url=arguments[0]:e=e||{},(e=s(this.defaults,e)).method?e.method=e.method.toLowerCase():this.defaults.method?e.method=this.defaults.method.toLowerCase():e.method="get";var t=e.transitional;void 0!==t&&l.assertOptions(t,{silentJSONParsing:u.transitional(u.boolean,"1.0.0"),forcedJSONParsing:u.transitional(u.boolean,"1.0.0"),clarifyTimeoutError:u.transitional(u.boolean,"1.0.0")},!1);var n=[],r=!0;this.interceptors.request.forEach((function(t){"function"==typeof t.runWhen&&!1===t.runWhen(e)||(r=r&&t.synchronous,n.unshift(t.fulfilled,t.rejected))}));var a,i=[];if(this.interceptors.response.forEach((function(e){i.push(e.fulfilled,e.rejected)})),!r){var d=[o,void 0];for(Array.prototype.unshift.apply(d,n),d=d.concat(i),a=Promise.resolve(e);d.length;)a=a.then(d.shift(),d.shift());return a}for(var c=e;n.length;){var f=n.shift(),h=n.shift();try{c=f(c)}catch(e){h(e);break}}try{a=o(c)}catch(e){return Promise.reject(e)}for(;i.length;)a=a.then(i.shift(),i.shift());return a},d.prototype.getUri=function(e){return e=s(this.defaults,e),a(e.url,e.params,e.paramsSerializer).replace(/^\?/,"")},r.forEach(["delete","get","head","options"],(function(e){d.prototype[e]=function(t,n){return this.request(s(n||{},{method:e,url:t,data:(n||{}).data}))}})),r.forEach(["post","put","patch"],(function(e){d.prototype[e]=function(t,n,r){return this.request(s(r||{},{method:e,url:t,data:n}))}})),e.exports=d},782:(e,t,n)=>{"use strict";var r=n(4867);function a(){this.handlers=[]}a.prototype.use=function(e,t,n){return this.handlers.push({fulfilled:e,rejected:t,synchronous:!!n&&n.synchronous,runWhen:n?n.runWhen:null}),this.handlers.length-1},a.prototype.eject=function(e){this.handlers[e]&&(this.handlers[e]=null)},a.prototype.forEach=function(e){r.forEach(this.handlers,(function(t){null!==t&&e(t)}))},e.exports=a},4097:(e,t,n)=>{"use strict";var r=n(1793),a=n(7303);e.exports=function(e,t){return e&&!r(t)?a(e,t):t}},5061:(e,t,n)=>{"use strict";var r=n(481);e.exports=function(e,t,n,a,i){var o=new Error(e);return r(o,t,n,a,i)}},3572:(e,t,n)=>{"use strict";var r=n(4867),a=n(8527),i=n(6502),o=n(5655);function s(e){e.cancelToken&&e.cancelToken.throwIfRequested()}e.exports=function(e){return s(e),e.headers=e.headers||{},e.data=a.call(e,e.data,e.headers,e.transformRequest),e.headers=r.merge(e.headers.common||{},e.headers[e.method]||{},e.headers),r.forEach(["delete","get","head","post","put","patch","common"],(function(t){delete e.headers[t]})),(e.adapter||o.adapter)(e).then((function(t){return s(e),t.data=a.call(e,t.data,t.headers,e.transformResponse),t}),(function(t){return i(t)||(s(e),t&&t.response&&(t.response.data=a.call(e,t.response.data,t.response.headers,e.transformResponse))),Promise.reject(t)}))}},481:e=>{"use strict";e.exports=function(e,t,n,r,a){return e.config=t,n&&(e.code=n),e.request=r,e.response=a,e.isAxiosError=!0,e.toJSON=function(){return{message:this.message,name:this.name,description:this.description,number:this.number,fileName:this.fileName,lineNumber:this.lineNumber,columnNumber:this.columnNumber,stack:this.stack,config:this.config,code:this.code}},e}},7185:(e,t,n)=>{"use strict";var r=n(4867);e.exports=function(e,t){t=t||{};var n={},a=["url","method","data"],i=["headers","auth","proxy","params"],o=["baseURL","transformRequest","transformResponse","paramsSerializer","timeout","timeoutMessage","withCredentials","adapter","responseType","xsrfCookieName","xsrfHeaderName","onUploadProgress","onDownloadProgress","decompress","maxContentLength","maxBodyLength","maxRedirects","transport","httpAgent","httpsAgent","cancelToken","socketPath","responseEncoding"],s=["validateStatus"];function l(e,t){return r.isPlainObject(e)&&r.isPlainObject(t)?r.merge(e,t):r.isPlainObject(t)?r.merge({},t):r.isArray(t)?t.slice():t}function u(a){r.isUndefined(t[a])?r.isUndefined(e[a])||(n[a]=l(void 0,e[a])):n[a]=l(e[a],t[a])}r.forEach(a,(function(e){r.isUndefined(t[e])||(n[e]=l(void 0,t[e]))})),r.forEach(i,u),r.forEach(o,(function(a){r.isUndefined(t[a])?r.isUndefined(e[a])||(n[a]=l(void 0,e[a])):n[a]=l(void 0,t[a])})),r.forEach(s,(function(r){r in t?n[r]=l(e[r],t[r]):r in e&&(n[r]=l(void 0,e[r]))}));var d=a.concat(i).concat(o).concat(s),c=Object.keys(e).concat(Object.keys(t)).filter((function(e){return-1===d.indexOf(e)}));return r.forEach(c,u),n}},6026:(e,t,n)=>{"use strict";var r=n(5061);e.exports=function(e,t,n){var a=n.config.validateStatus;n.status&&a&&!a(n.status)?t(r("Request failed with status code "+n.status,n.config,null,n.request,n)):e(n)}},8527:(e,t,n)=>{"use strict";var r=n(4867),a=n(5655);e.exports=function(e,t,n){var i=this||a;return r.forEach(n,(function(n){e=n.call(i,e,t)})),e}},5655:(e,t,n)=>{"use strict";var r=n(4155),a=n(4867),i=n(6016),o=n(481),s={"Content-Type":"application/x-www-form-urlencoded"};function l(e,t){!a.isUndefined(e)&&a.isUndefined(e["Content-Type"])&&(e["Content-Type"]=t)}var u,d={transitional:{silentJSONParsing:!0,forcedJSONParsing:!0,clarifyTimeoutError:!1},adapter:(("undefined"!=typeof XMLHttpRequest||void 0!==r&&"[object process]"===Object.prototype.toString.call(r))&&(u=n(5448)),u),transformRequest:[function(e,t){return i(t,"Accept"),i(t,"Content-Type"),a.isFormData(e)||a.isArrayBuffer(e)||a.isBuffer(e)||a.isStream(e)||a.isFile(e)||a.isBlob(e)?e:a.isArrayBufferView(e)?e.buffer:a.isURLSearchParams(e)?(l(t,"application/x-www-form-urlencoded;charset=utf-8"),e.toString()):a.isObject(e)||t&&"application/json"===t["Content-Type"]?(l(t,"application/json"),function(e,t,n){if(a.isString(e))try{return(t||JSON.parse)(e),a.trim(e)}catch(e){if("SyntaxError"!==e.name)throw e}return(n||JSON.stringify)(e)}(e)):e}],transformResponse:[function(e){var t=this.transitional,n=t&&t.silentJSONParsing,r=t&&t.forcedJSONParsing,i=!n&&"json"===this.responseType;if(i||r&&a.isString(e)&&e.length)try{return JSON.parse(e)}catch(e){if(i){if("SyntaxError"===e.name)throw o(e,this,"E_JSON_PARSE");throw e}}return e}],timeout:0,xsrfCookieName:"XSRF-TOKEN",xsrfHeaderName:"X-XSRF-TOKEN",maxContentLength:-1,maxBodyLength:-1,validateStatus:function(e){return e>=200&&e<300}};d.headers={common:{Accept:"application/json, text/plain, */*"}},a.forEach(["delete","get","head"],(function(e){d.headers[e]={}})),a.forEach(["post","put","patch"],(function(e){d.headers[e]=a.merge(s)})),e.exports=d},1849:e=>{"use strict";e.exports=function(e,t){return function(){for(var n=new Array(arguments.length),r=0;r{"use strict";var r=n(4867);function a(e){return encodeURIComponent(e).replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",").replace(/%20/g,"+").replace(/%5B/gi,"[").replace(/%5D/gi,"]")}e.exports=function(e,t,n){if(!t)return e;var i;if(n)i=n(t);else if(r.isURLSearchParams(t))i=t.toString();else{var o=[];r.forEach(t,(function(e,t){null!=e&&(r.isArray(e)?t+="[]":e=[e],r.forEach(e,(function(e){r.isDate(e)?e=e.toISOString():r.isObject(e)&&(e=JSON.stringify(e)),o.push(a(t)+"="+a(e))})))})),i=o.join("&")}if(i){var s=e.indexOf("#");-1!==s&&(e=e.slice(0,s)),e+=(-1===e.indexOf("?")?"?":"&")+i}return e}},7303:e=>{"use strict";e.exports=function(e,t){return t?e.replace(/\/+$/,"")+"/"+t.replace(/^\/+/,""):e}},4372:(e,t,n)=>{"use strict";var r=n(4867);e.exports=r.isStandardBrowserEnv()?{write:function(e,t,n,a,i,o){var s=[];s.push(e+"="+encodeURIComponent(t)),r.isNumber(n)&&s.push("expires="+new Date(n).toGMTString()),r.isString(a)&&s.push("path="+a),r.isString(i)&&s.push("domain="+i),!0===o&&s.push("secure"),document.cookie=s.join("; ")},read:function(e){var t=document.cookie.match(new RegExp("(^|;\\s*)("+e+")=([^;]*)"));return t?decodeURIComponent(t[3]):null},remove:function(e){this.write(e,"",Date.now()-864e5)}}:{write:function(){},read:function(){return null},remove:function(){}}},1793:e=>{"use strict";e.exports=function(e){return/^([a-z][a-z\d\+\-\.]*:)?\/\//i.test(e)}},6268:e=>{"use strict";e.exports=function(e){return"object"==typeof e&&!0===e.isAxiosError}},7985:(e,t,n)=>{"use strict";var r=n(4867);e.exports=r.isStandardBrowserEnv()?function(){var e,t=/(msie|trident)/i.test(navigator.userAgent),n=document.createElement("a");function a(e){var r=e;return t&&(n.setAttribute("href",r),r=n.href),n.setAttribute("href",r),{href:n.href,protocol:n.protocol?n.protocol.replace(/:$/,""):"",host:n.host,search:n.search?n.search.replace(/^\?/,""):"",hash:n.hash?n.hash.replace(/^#/,""):"",hostname:n.hostname,port:n.port,pathname:"/"===n.pathname.charAt(0)?n.pathname:"/"+n.pathname}}return e=a(window.location.href),function(t){var n=r.isString(t)?a(t):t;return n.protocol===e.protocol&&n.host===e.host}}():function(){return!0}},6016:(e,t,n)=>{"use strict";var r=n(4867);e.exports=function(e,t){r.forEach(e,(function(n,r){r!==t&&r.toUpperCase()===t.toUpperCase()&&(e[t]=n,delete e[r])}))}},4109:(e,t,n)=>{"use strict";var r=n(4867),a=["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"];e.exports=function(e){var t,n,i,o={};return e?(r.forEach(e.split("\n"),(function(e){if(i=e.indexOf(":"),t=r.trim(e.substr(0,i)).toLowerCase(),n=r.trim(e.substr(i+1)),t){if(o[t]&&a.indexOf(t)>=0)return;o[t]="set-cookie"===t?(o[t]?o[t]:[]).concat([n]):o[t]?o[t]+", "+n:n}})),o):o}},8713:e=>{"use strict";e.exports=function(e){return function(t){return e.apply(null,t)}}},4875:(e,t,n)=>{"use strict";var r=n(8593),a={};["object","boolean","number","function","string","symbol"].forEach((function(e,t){a[e]=function(n){return typeof n===e||"a"+(t<1?"n ":" ")+e}}));var i={},o=r.version.split(".");function s(e,t){for(var n=t?t.split("."):o,r=e.split("."),a=0;a<3;a++){if(n[a]>r[a])return!0;if(n[a]0;){var i=r[a],o=t[i];if(o){var s=e[i],l=void 0===s||o(s,i,e);if(!0!==l)throw new TypeError("option "+i+" must be "+l)}else if(!0!==n)throw Error("Unknown option "+i)}},validators:a}},4867:(e,t,n)=>{"use strict";var r=n(1849),a=Object.prototype.toString;function i(e){return"[object Array]"===a.call(e)}function o(e){return void 0===e}function s(e){return null!==e&&"object"==typeof e}function l(e){if("[object Object]"!==a.call(e))return!1;var t=Object.getPrototypeOf(e);return null===t||t===Object.prototype}function u(e){return"[object Function]"===a.call(e)}function d(e,t){if(null!=e)if("object"!=typeof e&&(e=[e]),i(e))for(var n=0,r=e.length;n{"use strict";var r=n(7906),a=n.n(r);n(7757);n(9147),n(2955),window.Vue=n(538).Z,Vue.use(a()),Vue.component("win-notification",n(5635).Z),Vue.component("gain-views",n(7611).Z),Vue.component("prizes",n(6966).Z),Vue.component("instant-win",n(7800).Z),Vue.component("codes-ean",n(1210).Z),Vue.component("banned-ip",n(6715).Z),Vue.component("faq-themes",n(4525).Z),Vue.component("faq-questions",n(2159).Z),Vue.component("web-coupons",n(5458).Z);new Vue({el:"#app"})},9147:(e,t,n)=>{window._=n(6486);try{window.Popper=n(8981).default,window.$=window.jQuery=n(9755),n(3734)}catch(e){}window.axios=n(9669),window.axios.defaults.headers.common={"X-Requested-With":"XMLHttpRequest","X-CSRF-TOKEN":document.querySelector('meta[name="csrf-token"]').getAttribute("content")}},3734:function(e,t,n){!function(e,t,n){"use strict";function r(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var a=r(t),i=r(n);function o(e,t){for(var n=0;n=o)throw new Error("Bootstrap's JavaScript requires at least jQuery v1.9.1 but less than v4.0.0")}};v.jQueryDetection(),g();var y="alert",b="4.6.1",M="bs.alert",w="."+M,x=".data-api",L=a.default.fn[y],k="alert",T="fade",Y="show",D="close"+w,S="closed"+w,C="click"+w+x,j='[data-dismiss="alert"]',A=function(){function e(e){this._element=e}var t=e.prototype;return t.close=function(e){var t=this._element;e&&(t=this._getRootElement(e)),this._triggerCloseEvent(t).isDefaultPrevented()||this._removeElement(t)},t.dispose=function(){a.default.removeData(this._element,M),this._element=null},t._getRootElement=function(e){var t=v.getSelectorFromElement(e),n=!1;return t&&(n=document.querySelector(t)),n||(n=a.default(e).closest("."+k)[0]),n},t._triggerCloseEvent=function(e){var t=a.default.Event(D);return a.default(e).trigger(t),t},t._removeElement=function(e){var t=this;if(a.default(e).removeClass(Y),a.default(e).hasClass(T)){var n=v.getTransitionDurationFromElement(e);a.default(e).one(v.TRANSITION_END,(function(n){return t._destroyElement(e,n)})).emulateTransitionEnd(n)}else this._destroyElement(e)},t._destroyElement=function(e){a.default(e).detach().trigger(S).remove()},e._jQueryInterface=function(t){return this.each((function(){var n=a.default(this),r=n.data(M);r||(r=new e(this),n.data(M,r)),"close"===t&&r[t](this)}))},e._handleDismiss=function(e){return function(t){t&&t.preventDefault(),e.close(this)}},s(e,null,[{key:"VERSION",get:function(){return b}}]),e}();a.default(document).on(C,j,A._handleDismiss(new A)),a.default.fn[y]=A._jQueryInterface,a.default.fn[y].Constructor=A,a.default.fn[y].noConflict=function(){return a.default.fn[y]=L,A._jQueryInterface};var E="button",P="4.6.1",O="bs.button",H="."+O,N=".data-api",F=a.default.fn[E],I="active",W="btn",R="focus",$="click"+H+N,z="focus"+H+N+" blur"+H+N,B="load"+H+N,q='[data-toggle^="button"]',V='[data-toggle="buttons"]',U='[data-toggle="button"]',J='[data-toggle="buttons"] .btn',G='input:not([type="hidden"])',Z=".active",X=".btn",K=function(){function e(e){this._element=e,this.shouldAvoidTriggerChange=!1}var t=e.prototype;return t.toggle=function(){var e=!0,t=!0,n=a.default(this._element).closest(V)[0];if(n){var r=this._element.querySelector(G);if(r){if("radio"===r.type)if(r.checked&&this._element.classList.contains(I))e=!1;else{var i=n.querySelector(Z);i&&a.default(i).removeClass(I)}e&&("checkbox"!==r.type&&"radio"!==r.type||(r.checked=!this._element.classList.contains(I)),this.shouldAvoidTriggerChange||a.default(r).trigger("change")),r.focus(),t=!1}}this._element.hasAttribute("disabled")||this._element.classList.contains("disabled")||(t&&this._element.setAttribute("aria-pressed",!this._element.classList.contains(I)),e&&a.default(this._element).toggleClass(I))},t.dispose=function(){a.default.removeData(this._element,O),this._element=null},e._jQueryInterface=function(t,n){return this.each((function(){var r=a.default(this),i=r.data(O);i||(i=new e(this),r.data(O,i)),i.shouldAvoidTriggerChange=n,"toggle"===t&&i[t]()}))},s(e,null,[{key:"VERSION",get:function(){return P}}]),e}();a.default(document).on($,q,(function(e){var t=e.target,n=t;if(a.default(t).hasClass(W)||(t=a.default(t).closest(X)[0]),!t||t.hasAttribute("disabled")||t.classList.contains("disabled"))e.preventDefault();else{var r=t.querySelector(G);if(r&&(r.hasAttribute("disabled")||r.classList.contains("disabled")))return void e.preventDefault();"INPUT"!==n.tagName&&"LABEL"===t.tagName||K._jQueryInterface.call(a.default(t),"toggle","INPUT"===n.tagName)}})).on(z,q,(function(e){var t=a.default(e.target).closest(X)[0];a.default(t).toggleClass(R,/^focus(in)?$/.test(e.type))})),a.default(window).on(B,(function(){for(var e=[].slice.call(document.querySelectorAll(J)),t=0,n=e.length;t0,this._pointerEvent=Boolean(window.PointerEvent||window.MSPointerEvent),this._addEventListeners()}var t=e.prototype;return t.next=function(){this._isSliding||this._slide(ge)},t.nextWhenVisible=function(){var e=a.default(this._element);!document.hidden&&e.is(":visible")&&"hidden"!==e.css("visibility")&&this.next()},t.prev=function(){this._isSliding||this._slide(ve)},t.pause=function(e){e||(this._isPaused=!0),this._element.querySelector(Fe)&&(v.triggerTransitionEnd(this._element),this.cycle(!0)),clearInterval(this._interval),this._interval=null},t.cycle=function(e){e||(this._isPaused=!1),this._interval&&(clearInterval(this._interval),this._interval=null),this._config.interval&&!this._isPaused&&(this._updateInterval(),this._interval=setInterval((document.visibilityState?this.nextWhenVisible:this.next).bind(this),this._config.interval))},t.to=function(e){var t=this;this._activeElement=this._element.querySelector(Oe);var n=this._getItemIndex(this._activeElement);if(!(e>this._items.length-1||e<0))if(this._isSliding)a.default(this._element).one(we,(function(){return t.to(e)}));else{if(n===e)return this.pause(),void this.cycle();var r=e>n?ge:ve;this._slide(r,this._items[e])}},t.dispose=function(){a.default(this._element).off(ne),a.default.removeData(this._element,te),this._items=null,this._config=null,this._element=null,this._interval=null,this._isPaused=null,this._isSliding=null,this._activeElement=null,this._indicatorsElement=null},t._getConfig=function(e){return e=l({},$e,e),v.typeCheckConfig(Q,e,ze),e},t._handleSwipe=function(){var e=Math.abs(this.touchDeltaX);if(!(e<=le)){var t=e/this.touchDeltaX;this.touchDeltaX=0,t>0&&this.prev(),t<0&&this.next()}},t._addEventListeners=function(){var e=this;this._config.keyboard&&a.default(this._element).on(xe,(function(t){return e._keydown(t)})),"hover"===this._config.pause&&a.default(this._element).on(Le,(function(t){return e.pause(t)})).on(ke,(function(t){return e.cycle(t)})),this._config.touch&&this._addTouchEventListeners()},t._addTouchEventListeners=function(){var e=this;if(this._touchSupported){var t=function(t){e._pointerEvent&&Be[t.originalEvent.pointerType.toUpperCase()]?e.touchStartX=t.originalEvent.clientX:e._pointerEvent||(e.touchStartX=t.originalEvent.touches[0].clientX)},n=function(t){e.touchDeltaX=t.originalEvent.touches&&t.originalEvent.touches.length>1?0:t.originalEvent.touches[0].clientX-e.touchStartX},r=function(t){e._pointerEvent&&Be[t.originalEvent.pointerType.toUpperCase()]&&(e.touchDeltaX=t.originalEvent.clientX-e.touchStartX),e._handleSwipe(),"hover"===e._config.pause&&(e.pause(),e.touchTimeout&&clearTimeout(e.touchTimeout),e.touchTimeout=setTimeout((function(t){return e.cycle(t)}),se+e._config.interval))};a.default(this._element.querySelectorAll(Ne)).on(je,(function(e){return e.preventDefault()})),this._pointerEvent?(a.default(this._element).on(Se,(function(e){return t(e)})),a.default(this._element).on(Ce,(function(e){return r(e)})),this._element.classList.add(_e)):(a.default(this._element).on(Te,(function(e){return t(e)})),a.default(this._element).on(Ye,(function(e){return n(e)})),a.default(this._element).on(De,(function(e){return r(e)})))}},t._keydown=function(e){if(!/input|textarea/i.test(e.target.tagName))switch(e.which){case ie:e.preventDefault(),this.prev();break;case oe:e.preventDefault(),this.next()}},t._getItemIndex=function(e){return this._items=e&&e.parentNode?[].slice.call(e.parentNode.querySelectorAll(He)):[],this._items.indexOf(e)},t._getItemByDirection=function(e,t){var n=e===ge,r=e===ve,a=this._getItemIndex(t),i=this._items.length-1;if((r&&0===a||n&&a===i)&&!this._config.wrap)return t;var o=(a+(e===ve?-1:1))%this._items.length;return-1===o?this._items[this._items.length-1]:this._items[o]},t._triggerSlideEvent=function(e,t){var n=this._getItemIndex(e),r=this._getItemIndex(this._element.querySelector(Oe)),i=a.default.Event(Me,{relatedTarget:e,direction:t,from:r,to:n});return a.default(this._element).trigger(i),i},t._setActiveIndicatorElement=function(e){if(this._indicatorsElement){var t=[].slice.call(this._indicatorsElement.querySelectorAll(Pe));a.default(t).removeClass(de);var n=this._indicatorsElement.children[this._getItemIndex(e)];n&&a.default(n).addClass(de)}},t._updateInterval=function(){var e=this._activeElement||this._element.querySelector(Oe);if(e){var t=parseInt(e.getAttribute("data-interval"),10);t?(this._config.defaultInterval=this._config.defaultInterval||this._config.interval,this._config.interval=t):this._config.interval=this._config.defaultInterval||this._config.interval}},t._slide=function(e,t){var n,r,i,o=this,s=this._element.querySelector(Oe),l=this._getItemIndex(s),u=t||s&&this._getItemByDirection(e,s),d=this._getItemIndex(u),c=Boolean(this._interval);if(e===ge?(n=he,r=me,i=ye):(n=fe,r=pe,i=be),u&&a.default(u).hasClass(de))this._isSliding=!1;else if(!this._triggerSlideEvent(u,i).isDefaultPrevented()&&s&&u){this._isSliding=!0,c&&this.pause(),this._setActiveIndicatorElement(u),this._activeElement=u;var f=a.default.Event(we,{relatedTarget:u,direction:i,from:l,to:d});if(a.default(this._element).hasClass(ce)){a.default(u).addClass(r),v.reflow(u),a.default(s).addClass(n),a.default(u).addClass(n);var h=v.getTransitionDurationFromElement(s);a.default(s).one(v.TRANSITION_END,(function(){a.default(u).removeClass(n+" "+r).addClass(de),a.default(s).removeClass(de+" "+r+" "+n),o._isSliding=!1,setTimeout((function(){return a.default(o._element).trigger(f)}),0)})).emulateTransitionEnd(h)}else a.default(s).removeClass(de),a.default(u).addClass(de),this._isSliding=!1,a.default(this._element).trigger(f);c&&this.cycle()}},e._jQueryInterface=function(t){return this.each((function(){var n=a.default(this).data(te),r=l({},$e,a.default(this).data());"object"==typeof t&&(r=l({},r,t));var i="string"==typeof t?t:r.slide;if(n||(n=new e(this,r),a.default(this).data(te,n)),"number"==typeof t)n.to(t);else if("string"==typeof i){if(void 0===n[i])throw new TypeError('No method named "'+i+'"');n[i]()}else r.interval&&r.ride&&(n.pause(),n.cycle())}))},e._dataApiClickHandler=function(t){var n=v.getSelectorFromElement(this);if(n){var r=a.default(n)[0];if(r&&a.default(r).hasClass(ue)){var i=l({},a.default(r).data(),a.default(this).data()),o=this.getAttribute("data-slide-to");o&&(i.interval=!1),e._jQueryInterface.call(a.default(r),i),o&&a.default(r).data(te).to(o),t.preventDefault()}}},s(e,null,[{key:"VERSION",get:function(){return ee}},{key:"Default",get:function(){return $e}}]),e}();a.default(document).on(Ee,We,qe._dataApiClickHandler),a.default(window).on(Ae,(function(){for(var e=[].slice.call(document.querySelectorAll(Re)),t=0,n=e.length;t0&&(this._selector=o,this._triggerArray.push(i))}this._parent=this._config.parent?this._getParent():null,this._config.parent||this._addAriaAndCollapsedClass(this._element,this._triggerArray),this._config.toggle&&this.toggle()}var t=e.prototype;return t.toggle=function(){a.default(this._element).hasClass(Ke)?this.hide():this.show()},t.show=function(){var t,n,r=this;if(!(this._isTransitioning||a.default(this._element).hasClass(Ke)||(this._parent&&0===(t=[].slice.call(this._parent.querySelectorAll(ut)).filter((function(e){return"string"==typeof r._config.parent?e.getAttribute("data-parent")===r._config.parent:e.classList.contains(Qe)}))).length&&(t=null),t&&(n=a.default(t).not(this._selector).data(Je))&&n._isTransitioning))){var i=a.default.Event(at);if(a.default(this._element).trigger(i),!i.isDefaultPrevented()){t&&(e._jQueryInterface.call(a.default(t).not(this._selector),"hide"),n||a.default(t).data(Je,null));var o=this._getDimension();a.default(this._element).removeClass(Qe).addClass(et),this._element.style[o]=0,this._triggerArray.length&&a.default(this._triggerArray).removeClass(tt).attr("aria-expanded",!0),this.setTransitioning(!0);var s=function(){a.default(r._element).removeClass(et).addClass(Qe+" "+Ke),r._element.style[o]="",r.setTransitioning(!1),a.default(r._element).trigger(it)},l="scroll"+(o[0].toUpperCase()+o.slice(1)),u=v.getTransitionDurationFromElement(this._element);a.default(this._element).one(v.TRANSITION_END,s).emulateTransitionEnd(u),this._element.style[o]=this._element[l]+"px"}}},t.hide=function(){var e=this;if(!this._isTransitioning&&a.default(this._element).hasClass(Ke)){var t=a.default.Event(ot);if(a.default(this._element).trigger(t),!t.isDefaultPrevented()){var n=this._getDimension();this._element.style[n]=this._element.getBoundingClientRect()[n]+"px",v.reflow(this._element),a.default(this._element).addClass(et).removeClass(Qe+" "+Ke);var r=this._triggerArray.length;if(r>0)for(var i=0;i0},t._getOffset=function(){var e=this,t={};return"function"==typeof this._config.offset?t.fn=function(t){return t.offsets=l({},t.offsets,e._config.offset(t.offsets,e._element)),t}:t.offset=this._config.offset,t},t._getPopperConfig=function(){var e={placement:this._getPlacement(),modifiers:{offset:this._getOffset(),flip:{enabled:this._config.flip},preventOverflow:{boundariesElement:this._config.boundary}}};return"static"===this._config.display&&(e.modifiers.applyStyle={enabled:!1}),l({},e,this._config.popperConfig)},e._jQueryInterface=function(t){return this.each((function(){var n=a.default(this).data(_t);if(n||(n=new e(this,"object"==typeof t?t:null),a.default(this).data(_t,n)),"string"==typeof t){if(void 0===n[t])throw new TypeError('No method named "'+t+'"');n[t]()}}))},e._clearMenus=function(t){if(!t||t.which!==kt&&("keyup"!==t.type||t.which===wt))for(var n=[].slice.call(document.querySelectorAll($t)),r=0,i=n.length;r0&&o--,t.which===Lt&&odocument.documentElement.clientHeight;n||(this._element.style.overflowY="hidden"),this._element.classList.add(_n);var r=v.getTransitionDurationFromElement(this._dialog);a.default(this._element).off(v.TRANSITION_END),a.default(this._element).one(v.TRANSITION_END,(function(){e._element.classList.remove(_n),n||a.default(e._element).one(v.TRANSITION_END,(function(){e._element.style.overflowY=""})).emulateTransitionEnd(e._element,r)})).emulateTransitionEnd(r),this._element.focus()}},t._showElement=function(e){var t=this,n=a.default(this._element).hasClass(mn),r=this._dialog?this._dialog.querySelector(Cn):null;this._element.parentNode&&this._element.parentNode.nodeType===Node.ELEMENT_NODE||document.body.appendChild(this._element),this._element.style.display="block",this._element.removeAttribute("aria-hidden"),this._element.setAttribute("aria-modal",!0),this._element.setAttribute("role","dialog"),a.default(this._dialog).hasClass(dn)&&r?r.scrollTop=0:this._element.scrollTop=0,n&&v.reflow(this._element),a.default(this._element).addClass(pn),this._config.focus&&this._enforceFocus();var i=a.default.Event(Mn,{relatedTarget:e}),o=function(){t._config.focus&&t._element.focus(),t._isTransitioning=!1,a.default(t._element).trigger(i)};if(n){var s=v.getTransitionDurationFromElement(this._dialog);a.default(this._dialog).one(v.TRANSITION_END,o).emulateTransitionEnd(s)}else o()},t._enforceFocus=function(){var e=this;a.default(document).off(wn).on(wn,(function(t){document!==t.target&&e._element!==t.target&&0===a.default(e._element).has(t.target).length&&e._element.focus()}))},t._setEscapeEvent=function(){var e=this;this._isShown?a.default(this._element).on(kn,(function(t){e._config.keyboard&&t.which===un?(t.preventDefault(),e.hide()):e._config.keyboard||t.which!==un||e._triggerBackdropTransition()})):this._isShown||a.default(this._element).off(kn)},t._setResizeEvent=function(){var e=this;this._isShown?a.default(window).on(xn,(function(t){return e.handleUpdate(t)})):a.default(window).off(xn)},t._hideModal=function(){var e=this;this._element.style.display="none",this._element.setAttribute("aria-hidden",!0),this._element.removeAttribute("aria-modal"),this._element.removeAttribute("role"),this._isTransitioning=!1,this._showBackdrop((function(){a.default(document.body).removeClass(hn),e._resetAdjustments(),e._resetScrollbar(),a.default(e._element).trigger(yn)}))},t._removeBackdrop=function(){this._backdrop&&(a.default(this._backdrop).remove(),this._backdrop=null)},t._showBackdrop=function(e){var t=this,n=a.default(this._element).hasClass(mn)?mn:"";if(this._isShown&&this._config.backdrop){if(this._backdrop=document.createElement("div"),this._backdrop.className=fn,n&&this._backdrop.classList.add(n),a.default(this._backdrop).appendTo(document.body),a.default(this._element).on(Ln,(function(e){t._ignoreBackdropClick?t._ignoreBackdropClick=!1:e.target===e.currentTarget&&("static"===t._config.backdrop?t._triggerBackdropTransition():t.hide())})),n&&v.reflow(this._backdrop),a.default(this._backdrop).addClass(pn),!e)return;if(!n)return void e();var r=v.getTransitionDurationFromElement(this._backdrop);a.default(this._backdrop).one(v.TRANSITION_END,e).emulateTransitionEnd(r)}else if(!this._isShown&&this._backdrop){a.default(this._backdrop).removeClass(pn);var i=function(){t._removeBackdrop(),e&&e()};if(a.default(this._element).hasClass(mn)){var o=v.getTransitionDurationFromElement(this._backdrop);a.default(this._backdrop).one(v.TRANSITION_END,i).emulateTransitionEnd(o)}else i()}else e&&e()},t._adjustDialog=function(){var e=this._element.scrollHeight>document.documentElement.clientHeight;!this._isBodyOverflowing&&e&&(this._element.style.paddingLeft=this._scrollbarWidth+"px"),this._isBodyOverflowing&&!e&&(this._element.style.paddingRight=this._scrollbarWidth+"px")},t._resetAdjustments=function(){this._element.style.paddingLeft="",this._element.style.paddingRight=""},t._checkScrollbar=function(){var e=document.body.getBoundingClientRect();this._isBodyOverflowing=Math.round(e.left+e.right)
',trigger:"hover focus",title:"",delay:0,html:!1,selector:!1,placement:"top",offset:0,container:!1,fallbackPlacement:"flip",boundary:"scrollParent",customClass:"",sanitize:!0,sanitizeFn:null,whiteList:In,popperConfig:null},dr={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)",customClass:"(string|function)",sanitize:"boolean",sanitizeFn:"(null|function)",whiteList:"object",popperConfig:"(null|object)"},cr={HIDE:"hide"+Un,HIDDEN:"hidden"+Un,SHOW:"show"+Un,SHOWN:"shown"+Un,INSERTED:"inserted"+Un,CLICK:"click"+Un,FOCUSIN:"focusin"+Un,FOCUSOUT:"focusout"+Un,MOUSEENTER:"mouseenter"+Un,MOUSELEAVE:"mouseleave"+Un},fr=function(){function e(e,t){if(void 0===i.default)throw new TypeError("Bootstrap's tooltips require Popper (https://popper.js.org)");this._isEnabled=!0,this._timeout=0,this._hoverState="",this._activeTrigger={},this._popper=null,this.element=e,this.config=this._getConfig(t),this.tip=null,this._setListeners()}var t=e.prototype;return t.enable=function(){this._isEnabled=!0},t.disable=function(){this._isEnabled=!1},t.toggleEnabled=function(){this._isEnabled=!this._isEnabled},t.toggle=function(e){if(this._isEnabled)if(e){var t=this.constructor.DATA_KEY,n=a.default(e.currentTarget).data(t);n||(n=new this.constructor(e.currentTarget,this._getDelegateConfig()),a.default(e.currentTarget).data(t,n)),n._activeTrigger.click=!n._activeTrigger.click,n._isWithActiveTrigger()?n._enter(null,n):n._leave(null,n)}else{if(a.default(this.getTipElement()).hasClass(Qn))return void this._leave(null,this);this._enter(null,this)}},t.dispose=function(){clearTimeout(this._timeout),a.default.removeData(this.element,this.constructor.DATA_KEY),a.default(this.element).off(this.constructor.EVENT_KEY),a.default(this.element).closest(".modal").off("hide.bs.modal",this._hideModalHandler),this.tip&&a.default(this.tip).remove(),this._isEnabled=null,this._timeout=null,this._hoverState=null,this._activeTrigger=null,this._popper&&this._popper.destroy(),this._popper=null,this.element=null,this.config=null,this.tip=null},t.show=function(){var e=this;if("none"===a.default(this.element).css("display"))throw new Error("Please use show on visible elements");var t=a.default.Event(this.constructor.Event.SHOW);if(this.isWithContent()&&this._isEnabled){a.default(this.element).trigger(t);var n=v.findShadowRoot(this.element),r=a.default.contains(null!==n?n:this.element.ownerDocument.documentElement,this.element);if(t.isDefaultPrevented()||!r)return;var o=this.getTipElement(),s=v.getUID(this.constructor.NAME);o.setAttribute("id",s),this.element.setAttribute("aria-describedby",s),this.setContent(),this.config.animation&&a.default(o).addClass(Kn);var l="function"==typeof this.config.placement?this.config.placement.call(this,o,this.element):this.config.placement,u=this._getAttachment(l);this.addAttachmentClass(u);var d=this._getContainer();a.default(o).data(this.constructor.DATA_KEY,this),a.default.contains(this.element.ownerDocument.documentElement,this.tip)||a.default(o).appendTo(d),a.default(this.element).trigger(this.constructor.Event.INSERTED),this._popper=new i.default(this.element,o,this._getPopperConfig(u)),a.default(o).addClass(Qn),a.default(o).addClass(this.config.customClass),"ontouchstart"in document.documentElement&&a.default(document.body).children().on("mouseover",null,a.default.noop);var c=function(){e.config.animation&&e._fixTransition();var t=e._hoverState;e._hoverState=null,a.default(e.element).trigger(e.constructor.Event.SHOWN),t===tr&&e._leave(null,e)};if(a.default(this.tip).hasClass(Kn)){var f=v.getTransitionDurationFromElement(this.tip);a.default(this.tip).one(v.TRANSITION_END,c).emulateTransitionEnd(f)}else c()}},t.hide=function(e){var t=this,n=this.getTipElement(),r=a.default.Event(this.constructor.Event.HIDE),i=function(){t._hoverState!==er&&n.parentNode&&n.parentNode.removeChild(n),t._cleanTipClass(),t.element.removeAttribute("aria-describedby"),a.default(t.element).trigger(t.constructor.Event.HIDDEN),null!==t._popper&&t._popper.destroy(),e&&e()};if(a.default(this.element).trigger(r),!r.isDefaultPrevented()){if(a.default(n).removeClass(Qn),"ontouchstart"in document.documentElement&&a.default(document.body).children().off("mouseover",null,a.default.noop),this._activeTrigger[or]=!1,this._activeTrigger[ir]=!1,this._activeTrigger[ar]=!1,a.default(this.tip).hasClass(Kn)){var o=v.getTransitionDurationFromElement(n);a.default(n).one(v.TRANSITION_END,i).emulateTransitionEnd(o)}else i();this._hoverState=""}},t.update=function(){null!==this._popper&&this._popper.scheduleUpdate()},t.isWithContent=function(){return Boolean(this.getTitle())},t.addAttachmentClass=function(e){a.default(this.getTipElement()).addClass(Gn+"-"+e)},t.getTipElement=function(){return this.tip=this.tip||a.default(this.config.template)[0],this.tip},t.setContent=function(){var e=this.getTipElement();this.setElementContent(a.default(e.querySelectorAll(nr)),this.getTitle()),a.default(e).removeClass(Kn+" "+Qn)},t.setElementContent=function(e,t){"object"!=typeof t||!t.nodeType&&!t.jquery?this.config.html?(this.config.sanitize&&(t=zn(t,this.config.whiteList,this.config.sanitizeFn)),e.html(t)):e.text(t):this.config.html?a.default(t).parent().is(e)||e.empty().append(t):e.text(a.default(t).text())},t.getTitle=function(){var e=this.element.getAttribute("data-original-title");return e||(e="function"==typeof this.config.title?this.config.title.call(this.element):this.config.title),e},t._getPopperConfig=function(e){var t=this;return l({},{placement:e,modifiers:{offset:this._getOffset(),flip:{behavior:this.config.fallbackPlacement},arrow:{element:rr},preventOverflow:{boundariesElement:this.config.boundary}},onCreate:function(e){e.originalPlacement!==e.placement&&t._handlePopperPlacementChange(e)},onUpdate:function(e){return t._handlePopperPlacementChange(e)}},this.config.popperConfig)},t._getOffset=function(){var e=this,t={};return"function"==typeof this.config.offset?t.fn=function(t){return t.offsets=l({},t.offsets,e.config.offset(t.offsets,e.element)),t}:t.offset=this.config.offset,t},t._getContainer=function(){return!1===this.config.container?document.body:v.isElement(this.config.container)?a.default(this.config.container):a.default(document).find(this.config.container)},t._getAttachment=function(e){return lr[e.toUpperCase()]},t._setListeners=function(){var e=this;this.config.trigger.split(" ").forEach((function(t){if("click"===t)a.default(e.element).on(e.constructor.Event.CLICK,e.config.selector,(function(t){return e.toggle(t)}));else if(t!==sr){var n=t===ar?e.constructor.Event.MOUSEENTER:e.constructor.Event.FOCUSIN,r=t===ar?e.constructor.Event.MOUSELEAVE:e.constructor.Event.FOCUSOUT;a.default(e.element).on(n,e.config.selector,(function(t){return e._enter(t)})).on(r,e.config.selector,(function(t){return e._leave(t)}))}})),this._hideModalHandler=function(){e.element&&e.hide()},a.default(this.element).closest(".modal").on("hide.bs.modal",this._hideModalHandler),this.config.selector?this.config=l({},this.config,{trigger:"manual",selector:""}):this._fixTitle()},t._fixTitle=function(){var e=typeof this.element.getAttribute("data-original-title");(this.element.getAttribute("title")||"string"!==e)&&(this.element.setAttribute("data-original-title",this.element.getAttribute("title")||""),this.element.setAttribute("title",""))},t._enter=function(e,t){var n=this.constructor.DATA_KEY;(t=t||a.default(e.currentTarget).data(n))||(t=new this.constructor(e.currentTarget,this._getDelegateConfig()),a.default(e.currentTarget).data(n,t)),e&&(t._activeTrigger["focusin"===e.type?ir:ar]=!0),a.default(t.getTipElement()).hasClass(Qn)||t._hoverState===er?t._hoverState=er:(clearTimeout(t._timeout),t._hoverState=er,t.config.delay&&t.config.delay.show?t._timeout=setTimeout((function(){t._hoverState===er&&t.show()}),t.config.delay.show):t.show())},t._leave=function(e,t){var n=this.constructor.DATA_KEY;(t=t||a.default(e.currentTarget).data(n))||(t=new this.constructor(e.currentTarget,this._getDelegateConfig()),a.default(e.currentTarget).data(n,t)),e&&(t._activeTrigger["focusout"===e.type?ir:ar]=!1),t._isWithActiveTrigger()||(clearTimeout(t._timeout),t._hoverState=tr,t.config.delay&&t.config.delay.hide?t._timeout=setTimeout((function(){t._hoverState===tr&&t.hide()}),t.config.delay.hide):t.hide())},t._isWithActiveTrigger=function(){for(var e in this._activeTrigger)if(this._activeTrigger[e])return!0;return!1},t._getConfig=function(e){var t=a.default(this.element).data();return Object.keys(t).forEach((function(e){-1!==Xn.indexOf(e)&&delete t[e]})),"number"==typeof(e=l({},this.constructor.Default,t,"object"==typeof e&&e?e:{})).delay&&(e.delay={show:e.delay,hide:e.delay}),"number"==typeof e.title&&(e.title=e.title.toString()),"number"==typeof e.content&&(e.content=e.content.toString()),v.typeCheckConfig(Bn,e,this.constructor.DefaultType),e.sanitize&&(e.template=zn(e.template,e.whiteList,e.sanitizeFn)),e},t._getDelegateConfig=function(){var e={};if(this.config)for(var t in this.config)this.constructor.Default[t]!==this.config[t]&&(e[t]=this.config[t]);return e},t._cleanTipClass=function(){var e=a.default(this.getTipElement()),t=e.attr("class").match(Zn);null!==t&&t.length&&e.removeClass(t.join(""))},t._handlePopperPlacementChange=function(e){this.tip=e.instance.popper,this._cleanTipClass(),this.addAttachmentClass(this._getAttachment(e.placement))},t._fixTransition=function(){var e=this.getTipElement(),t=this.config.animation;null===e.getAttribute("x-placement")&&(a.default(e).removeClass(Kn),this.config.animation=!1,this.hide(),this.show(),this.config.animation=t)},e._jQueryInterface=function(t){return this.each((function(){var n=a.default(this),r=n.data(Vn),i="object"==typeof t&&t;if((r||!/dispose|hide/.test(t))&&(r||(r=new e(this,i),n.data(Vn,r)),"string"==typeof t)){if(void 0===r[t])throw new TypeError('No method named "'+t+'"');r[t]()}}))},s(e,null,[{key:"VERSION",get:function(){return qn}},{key:"Default",get:function(){return ur}},{key:"NAME",get:function(){return Bn}},{key:"DATA_KEY",get:function(){return Vn}},{key:"Event",get:function(){return cr}},{key:"EVENT_KEY",get:function(){return Un}},{key:"DefaultType",get:function(){return dr}}]),e}();a.default.fn[Bn]=fr._jQueryInterface,a.default.fn[Bn].Constructor=fr,a.default.fn[Bn].noConflict=function(){return a.default.fn[Bn]=Jn,fr._jQueryInterface};var hr="popover",mr="4.6.1",pr="bs.popover",_r="."+pr,gr=a.default.fn[hr],vr="bs-popover",yr=new RegExp("(^|\\s)"+vr+"\\S+","g"),br="fade",Mr="show",wr=".popover-header",xr=".popover-body",Lr=l({},fr.Default,{placement:"right",trigger:"click",content:"",template:''}),kr=l({},fr.DefaultType,{content:"(string|element|function)"}),Tr={HIDE:"hide"+_r,HIDDEN:"hidden"+_r,SHOW:"show"+_r,SHOWN:"shown"+_r,INSERTED:"inserted"+_r,CLICK:"click"+_r,FOCUSIN:"focusin"+_r,FOCUSOUT:"focusout"+_r,MOUSEENTER:"mouseenter"+_r,MOUSELEAVE:"mouseleave"+_r},Yr=function(e){function t(){return e.apply(this,arguments)||this}u(t,e);var n=t.prototype;return n.isWithContent=function(){return this.getTitle()||this._getContent()},n.addAttachmentClass=function(e){a.default(this.getTipElement()).addClass(vr+"-"+e)},n.getTipElement=function(){return this.tip=this.tip||a.default(this.config.template)[0],this.tip},n.setContent=function(){var e=a.default(this.getTipElement());this.setElementContent(e.find(wr),this.getTitle());var t=this._getContent();"function"==typeof t&&(t=t.call(this.element)),this.setElementContent(e.find(xr),t),e.removeClass(br+" "+Mr)},n._getContent=function(){return this.element.getAttribute("data-content")||this.config.content},n._cleanTipClass=function(){var e=a.default(this.getTipElement()),t=e.attr("class").match(yr);null!==t&&t.length>0&&e.removeClass(t.join(""))},t._jQueryInterface=function(e){return this.each((function(){var n=a.default(this).data(pr),r="object"==typeof e?e:null;if((n||!/dispose|hide/.test(e))&&(n||(n=new t(this,r),a.default(this).data(pr,n)),"string"==typeof e)){if(void 0===n[e])throw new TypeError('No method named "'+e+'"');n[e]()}}))},s(t,null,[{key:"VERSION",get:function(){return mr}},{key:"Default",get:function(){return Lr}},{key:"NAME",get:function(){return hr}},{key:"DATA_KEY",get:function(){return pr}},{key:"Event",get:function(){return Tr}},{key:"EVENT_KEY",get:function(){return _r}},{key:"DefaultType",get:function(){return kr}}]),t}(fr);a.default.fn[hr]=Yr._jQueryInterface,a.default.fn[hr].Constructor=Yr,a.default.fn[hr].noConflict=function(){return a.default.fn[hr]=gr,Yr._jQueryInterface};var Dr="scrollspy",Sr="4.6.1",Cr="bs.scrollspy",jr="."+Cr,Ar=".data-api",Er=a.default.fn[Dr],Pr="dropdown-item",Or="active",Hr="activate"+jr,Nr="scroll"+jr,Fr="load"+jr+Ar,Ir="offset",Wr="position",Rr='[data-spy="scroll"]',$r=".nav, .list-group",zr=".nav-link",Br=".nav-item",qr=".list-group-item",Vr=".dropdown",Ur=".dropdown-item",Jr=".dropdown-toggle",Gr={offset:10,method:"auto",target:""},Zr={offset:"number",method:"string",target:"(string|element)"},Xr=function(){function e(e,t){var n=this;this._element=e,this._scrollElement="BODY"===e.tagName?window:e,this._config=this._getConfig(t),this._selector=this._config.target+" "+zr+","+this._config.target+" "+qr+","+this._config.target+" "+Ur,this._offsets=[],this._targets=[],this._activeTarget=null,this._scrollHeight=0,a.default(this._scrollElement).on(Nr,(function(e){return n._process(e)})),this.refresh(),this._process()}var t=e.prototype;return t.refresh=function(){var e=this,t=this._scrollElement===this._scrollElement.window?Ir:Wr,n="auto"===this._config.method?t:this._config.method,r=n===Wr?this._getScrollTop():0;this._offsets=[],this._targets=[],this._scrollHeight=this._getScrollHeight(),[].slice.call(document.querySelectorAll(this._selector)).map((function(e){var t,i=v.getSelectorFromElement(e);if(i&&(t=document.querySelector(i)),t){var o=t.getBoundingClientRect();if(o.width||o.height)return[a.default(t)[n]().top+r,i]}return null})).filter((function(e){return e})).sort((function(e,t){return e[0]-t[0]})).forEach((function(t){e._offsets.push(t[0]),e._targets.push(t[1])}))},t.dispose=function(){a.default.removeData(this._element,Cr),a.default(this._scrollElement).off(jr),this._element=null,this._scrollElement=null,this._config=null,this._selector=null,this._offsets=null,this._targets=null,this._activeTarget=null,this._scrollHeight=null},t._getConfig=function(e){if("string"!=typeof(e=l({},Gr,"object"==typeof e&&e?e:{})).target&&v.isElement(e.target)){var t=a.default(e.target).attr("id");t||(t=v.getUID(Dr),a.default(e.target).attr("id",t)),e.target="#"+t}return v.typeCheckConfig(Dr,e,Zr),e},t._getScrollTop=function(){return this._scrollElement===window?this._scrollElement.pageYOffset:this._scrollElement.scrollTop},t._getScrollHeight=function(){return this._scrollElement.scrollHeight||Math.max(document.body.scrollHeight,document.documentElement.scrollHeight)},t._getOffsetHeight=function(){return this._scrollElement===window?window.innerHeight:this._scrollElement.getBoundingClientRect().height},t._process=function(){var e=this._getScrollTop()+this._config.offset,t=this._getScrollHeight(),n=this._config.offset+t-this._getOffsetHeight();if(this._scrollHeight!==t&&this.refresh(),e>=n){var r=this._targets[this._targets.length-1];this._activeTarget!==r&&this._activate(r)}else{if(this._activeTarget&&e0)return this._activeTarget=null,void this._clear();for(var a=this._offsets.length;a--;)this._activeTarget!==this._targets[a]&&e>=this._offsets[a]&&(void 0===this._offsets[a+1]||e1&&(a-=1)),[360*a,100*i,100*u]},a.rgb.hwb=function(e){var t=e[0],n=e[1],r=e[2];return[a.rgb.hsl(e)[0],1/255*Math.min(t,Math.min(n,r))*100,100*(r=1-1/255*Math.max(t,Math.max(n,r)))]},a.rgb.cmyk=function(e){var t,n=e[0]/255,r=e[1]/255,a=e[2]/255;return[100*((1-n-(t=Math.min(1-n,1-r,1-a)))/(1-t)||0),100*((1-r-t)/(1-t)||0),100*((1-a-t)/(1-t)||0),100*t]},a.rgb.keyword=function(e){var n=t[e];if(n)return n;var a,i=1/0;for(var o in r)if(r.hasOwnProperty(o)){var s=l(e,r[o]);s.04045?Math.pow((t+.055)/1.055,2.4):t/12.92)+.3576*(n=n>.04045?Math.pow((n+.055)/1.055,2.4):n/12.92)+.1805*(r=r>.04045?Math.pow((r+.055)/1.055,2.4):r/12.92)),100*(.2126*t+.7152*n+.0722*r),100*(.0193*t+.1192*n+.9505*r)]},a.rgb.lab=function(e){var t=a.rgb.xyz(e),n=t[0],r=t[1],i=t[2];return r/=100,i/=108.883,n=(n/=95.047)>.008856?Math.pow(n,1/3):7.787*n+16/116,[116*(r=r>.008856?Math.pow(r,1/3):7.787*r+16/116)-16,500*(n-r),200*(r-(i=i>.008856?Math.pow(i,1/3):7.787*i+16/116))]},a.hsl.rgb=function(e){var t,n,r,a,i,o=e[0]/360,s=e[1]/100,l=e[2]/100;if(0===s)return[i=255*l,i,i];t=2*l-(n=l<.5?l*(1+s):l+s-l*s),a=[0,0,0];for(var u=0;u<3;u++)(r=o+1/3*-(u-1))<0&&r++,r>1&&r--,i=6*r<1?t+6*(n-t)*r:2*r<1?n:3*r<2?t+(n-t)*(2/3-r)*6:t,a[u]=255*i;return a},a.hsl.hsv=function(e){var t=e[0],n=e[1]/100,r=e[2]/100,a=n,i=Math.max(r,.01);return n*=(r*=2)<=1?r:2-r,a*=i<=1?i:2-i,[t,100*(0===r?2*a/(i+a):2*n/(r+n)),(r+n)/2*100]},a.hsv.rgb=function(e){var t=e[0]/60,n=e[1]/100,r=e[2]/100,a=Math.floor(t)%6,i=t-Math.floor(t),o=255*r*(1-n),s=255*r*(1-n*i),l=255*r*(1-n*(1-i));switch(r*=255,a){case 0:return[r,l,o];case 1:return[s,r,o];case 2:return[o,r,l];case 3:return[o,s,r];case 4:return[l,o,r];case 5:return[r,o,s]}},a.hsv.hsl=function(e){var t,n,r,a=e[0],i=e[1]/100,o=e[2]/100,s=Math.max(o,.01);return r=(2-i)*o,n=i*s,[a,100*(n=(n/=(t=(2-i)*s)<=1?t:2-t)||0),100*(r/=2)]},a.hwb.rgb=function(e){var t,n,r,a,i,o,s,l=e[0]/360,u=e[1]/100,d=e[2]/100,c=u+d;switch(c>1&&(u/=c,d/=c),r=6*l-(t=Math.floor(6*l)),0!=(1&t)&&(r=1-r),a=u+r*((n=1-d)-u),t){default:case 6:case 0:i=n,o=a,s=u;break;case 1:i=a,o=n,s=u;break;case 2:i=u,o=n,s=a;break;case 3:i=u,o=a,s=n;break;case 4:i=a,o=u,s=n;break;case 5:i=n,o=u,s=a}return[255*i,255*o,255*s]},a.cmyk.rgb=function(e){var t=e[0]/100,n=e[1]/100,r=e[2]/100,a=e[3]/100;return[255*(1-Math.min(1,t*(1-a)+a)),255*(1-Math.min(1,n*(1-a)+a)),255*(1-Math.min(1,r*(1-a)+a))]},a.xyz.rgb=function(e){var t,n,r,a=e[0]/100,i=e[1]/100,o=e[2]/100;return n=-.9689*a+1.8758*i+.0415*o,r=.0557*a+-.204*i+1.057*o,t=(t=3.2406*a+-1.5372*i+-.4986*o)>.0031308?1.055*Math.pow(t,1/2.4)-.055:12.92*t,n=n>.0031308?1.055*Math.pow(n,1/2.4)-.055:12.92*n,r=r>.0031308?1.055*Math.pow(r,1/2.4)-.055:12.92*r,[255*(t=Math.min(Math.max(0,t),1)),255*(n=Math.min(Math.max(0,n),1)),255*(r=Math.min(Math.max(0,r),1))]},a.xyz.lab=function(e){var t=e[0],n=e[1],r=e[2];return n/=100,r/=108.883,t=(t/=95.047)>.008856?Math.pow(t,1/3):7.787*t+16/116,[116*(n=n>.008856?Math.pow(n,1/3):7.787*n+16/116)-16,500*(t-n),200*(n-(r=r>.008856?Math.pow(r,1/3):7.787*r+16/116))]},a.lab.xyz=function(e){var t,n,r,a=e[0];t=e[1]/500+(n=(a+16)/116),r=n-e[2]/200;var i=Math.pow(n,3),o=Math.pow(t,3),s=Math.pow(r,3);return n=i>.008856?i:(n-16/116)/7.787,t=o>.008856?o:(t-16/116)/7.787,r=s>.008856?s:(r-16/116)/7.787,[t*=95.047,n*=100,r*=108.883]},a.lab.lch=function(e){var t,n=e[0],r=e[1],a=e[2];return(t=360*Math.atan2(a,r)/2/Math.PI)<0&&(t+=360),[n,Math.sqrt(r*r+a*a),t]},a.lch.lab=function(e){var t,n=e[0],r=e[1];return t=e[2]/360*2*Math.PI,[n,r*Math.cos(t),r*Math.sin(t)]},a.rgb.ansi16=function(e){var t=e[0],n=e[1],r=e[2],i=1 in arguments?arguments[1]:a.rgb.hsv(e)[2];if(0===(i=Math.round(i/50)))return 30;var o=30+(Math.round(r/255)<<2|Math.round(n/255)<<1|Math.round(t/255));return 2===i&&(o+=60),o},a.hsv.ansi16=function(e){return a.rgb.ansi16(a.hsv.rgb(e),e[2])},a.rgb.ansi256=function(e){var t=e[0],n=e[1],r=e[2];return t===n&&n===r?t<8?16:t>248?231:Math.round((t-8)/247*24)+232:16+36*Math.round(t/255*5)+6*Math.round(n/255*5)+Math.round(r/255*5)},a.ansi16.rgb=function(e){var t=e%10;if(0===t||7===t)return e>50&&(t+=3.5),[t=t/10.5*255,t,t];var n=.5*(1+~~(e>50));return[(1&t)*n*255,(t>>1&1)*n*255,(t>>2&1)*n*255]},a.ansi256.rgb=function(e){if(e>=232){var t=10*(e-232)+8;return[t,t,t]}var n;return e-=16,[Math.floor(e/36)/5*255,Math.floor((n=e%36)/6)/5*255,n%6/5*255]},a.rgb.hex=function(e){var t=(((255&Math.round(e[0]))<<16)+((255&Math.round(e[1]))<<8)+(255&Math.round(e[2]))).toString(16).toUpperCase();return"000000".substring(t.length)+t},a.hex.rgb=function(e){var t=e.toString(16).match(/[a-f0-9]{6}|[a-f0-9]{3}/i);if(!t)return[0,0,0];var n=t[0];3===t[0].length&&(n=n.split("").map((function(e){return e+e})).join(""));var r=parseInt(n,16);return[r>>16&255,r>>8&255,255&r]},a.rgb.hcg=function(e){var t,n=e[0]/255,r=e[1]/255,a=e[2]/255,i=Math.max(Math.max(n,r),a),o=Math.min(Math.min(n,r),a),s=i-o;return t=s<=0?0:i===n?(r-a)/s%6:i===r?2+(a-n)/s:4+(n-r)/s+4,t/=6,[360*(t%=1),100*s,100*(s<1?o/(1-s):0)]},a.hsl.hcg=function(e){var t=e[1]/100,n=e[2]/100,r=1,a=0;return(r=n<.5?2*t*n:2*t*(1-n))<1&&(a=(n-.5*r)/(1-r)),[e[0],100*r,100*a]},a.hsv.hcg=function(e){var t=e[1]/100,n=e[2]/100,r=t*n,a=0;return r<1&&(a=(n-r)/(1-r)),[e[0],100*r,100*a]},a.hcg.rgb=function(e){var t=e[0]/360,n=e[1]/100,r=e[2]/100;if(0===n)return[255*r,255*r,255*r];var a=[0,0,0],i=t%1*6,o=i%1,s=1-o,l=0;switch(Math.floor(i)){case 0:a[0]=1,a[1]=o,a[2]=0;break;case 1:a[0]=s,a[1]=1,a[2]=0;break;case 2:a[0]=0,a[1]=1,a[2]=o;break;case 3:a[0]=0,a[1]=s,a[2]=1;break;case 4:a[0]=o,a[1]=0,a[2]=1;break;default:a[0]=1,a[1]=0,a[2]=s}return l=(1-n)*r,[255*(n*a[0]+l),255*(n*a[1]+l),255*(n*a[2]+l)]},a.hcg.hsv=function(e){var t=e[1]/100,n=t+e[2]/100*(1-t),r=0;return n>0&&(r=t/n),[e[0],100*r,100*n]},a.hcg.hsl=function(e){var t=e[1]/100,n=e[2]/100*(1-t)+.5*t,r=0;return n>0&&n<.5?r=t/(2*n):n>=.5&&n<1&&(r=t/(2*(1-n))),[e[0],100*r,100*n]},a.hcg.hwb=function(e){var t=e[1]/100,n=t+e[2]/100*(1-t);return[e[0],100*(n-t),100*(1-n)]},a.hwb.hcg=function(e){var t=e[1]/100,n=1-e[2]/100,r=n-t,a=0;return r<1&&(a=(n-r)/(1-r)),[e[0],100*r,100*a]},a.apple.rgb=function(e){return[e[0]/65535*255,e[1]/65535*255,e[2]/65535*255]},a.rgb.apple=function(e){return[e[0]/255*65535,e[1]/255*65535,e[2]/255*65535]},a.gray.rgb=function(e){return[e[0]/100*255,e[0]/100*255,e[0]/100*255]},a.gray.hsl=a.gray.hsv=function(e){return[0,0,e[0]]},a.gray.hwb=function(e){return[0,100,e[0]]},a.gray.cmyk=function(e){return[0,0,0,e[0]]},a.gray.lab=function(e){return[e[0],0,0]},a.gray.hex=function(e){var t=255&Math.round(e[0]/100*255),n=((t<<16)+(t<<8)+t).toString(16).toUpperCase();return"000000".substring(n.length)+n},a.rgb.gray=function(e){return[(e[0]+e[1]+e[2])/3/255*100]}}));function i(){for(var e={},t=Object.keys(a),n=t.length,r=0;r1&&(t=Array.prototype.slice.call(arguments)),e(t))};return"conversion"in e&&(t.conversion=e.conversion),t}function f(e){var t=function(t){if(null==t)return t;arguments.length>1&&(t=Array.prototype.slice.call(arguments));var n=e(t);if("object"==typeof n)for(var r=n.length,a=0;a=0&&t<1?A(Math.round(255*t)):"")}function x(e,t){return t<1||e[3]&&e[3]<1?L(e,t):"rgb("+e[0]+", "+e[1]+", "+e[2]+")"}function L(e,t){return void 0===t&&(t=void 0!==e[3]?e[3]:1),"rgba("+e[0]+", "+e[1]+", "+e[2]+", "+t+")"}function k(e,t){return t<1||e[3]&&e[3]<1?T(e,t):"rgb("+Math.round(e[0]/255*100)+"%, "+Math.round(e[1]/255*100)+"%, "+Math.round(e[2]/255*100)+"%)"}function T(e,t){return"rgba("+Math.round(e[0]/255*100)+"%, "+Math.round(e[1]/255*100)+"%, "+Math.round(e[2]/255*100)+"%, "+(t||e[3]||1)+")"}function Y(e,t){return t<1||e[3]&&e[3]<1?D(e,t):"hsl("+e[0]+", "+e[1]+"%, "+e[2]+"%)"}function D(e,t){return void 0===t&&(t=void 0!==e[3]?e[3]:1),"hsla("+e[0]+", "+e[1]+"%, "+e[2]+"%, "+t+")"}function S(e,t){return void 0===t&&(t=void 0!==e[3]?e[3]:1),"hwb("+e[0]+", "+e[1]+"%, "+e[2]+"%"+(void 0!==t&&1!==t?", "+t:"")+")"}function C(e){return E[e.slice(0,3)]}function j(e,t,n){return Math.min(Math.max(t,e),n)}function A(e){var t=e.toString(16).toUpperCase();return t.length<2?"0"+t:t}var E={};for(var P in m)E[m[P]]=P;var O=function(e){return e instanceof O?e:this instanceof O?(this.valid=!1,this.values={rgb:[0,0,0],hsl:[0,0,0],hsv:[0,0,0],hwb:[0,0,0],cmyk:[0,0,0,0],alpha:1},void("string"==typeof e?(t=p.getRgba(e))?this.setValues("rgb",t):(t=p.getHsla(e))?this.setValues("hsl",t):(t=p.getHwb(e))&&this.setValues("hwb",t):"object"==typeof e&&(void 0!==(t=e).r||void 0!==t.red?this.setValues("rgb",t):void 0!==t.l||void 0!==t.lightness?this.setValues("hsl",t):void 0!==t.v||void 0!==t.value?this.setValues("hsv",t):void 0!==t.w||void 0!==t.whiteness?this.setValues("hwb",t):void 0===t.c&&void 0===t.cyan||this.setValues("cmyk",t)))):new O(e);var t};O.prototype={isValid:function(){return this.valid},rgb:function(){return this.setSpace("rgb",arguments)},hsl:function(){return this.setSpace("hsl",arguments)},hsv:function(){return this.setSpace("hsv",arguments)},hwb:function(){return this.setSpace("hwb",arguments)},cmyk:function(){return this.setSpace("cmyk",arguments)},rgbArray:function(){return this.values.rgb},hslArray:function(){return this.values.hsl},hsvArray:function(){return this.values.hsv},hwbArray:function(){var e=this.values;return 1!==e.alpha?e.hwb.concat([e.alpha]):e.hwb},cmykArray:function(){return this.values.cmyk},rgbaArray:function(){var e=this.values;return e.rgb.concat([e.alpha])},hslaArray:function(){var e=this.values;return e.hsl.concat([e.alpha])},alpha:function(e){return void 0===e?this.values.alpha:(this.setValues("alpha",e),this)},red:function(e){return this.setChannel("rgb",0,e)},green:function(e){return this.setChannel("rgb",1,e)},blue:function(e){return this.setChannel("rgb",2,e)},hue:function(e){return e&&(e=(e%=360)<0?360+e:e),this.setChannel("hsl",0,e)},saturation:function(e){return this.setChannel("hsl",1,e)},lightness:function(e){return this.setChannel("hsl",2,e)},saturationv:function(e){return this.setChannel("hsv",1,e)},whiteness:function(e){return this.setChannel("hwb",1,e)},blackness:function(e){return this.setChannel("hwb",2,e)},value:function(e){return this.setChannel("hsv",2,e)},cyan:function(e){return this.setChannel("cmyk",0,e)},magenta:function(e){return this.setChannel("cmyk",1,e)},yellow:function(e){return this.setChannel("cmyk",2,e)},black:function(e){return this.setChannel("cmyk",3,e)},hexString:function(){return p.hexString(this.values.rgb)},rgbString:function(){return p.rgbString(this.values.rgb,this.values.alpha)},rgbaString:function(){return p.rgbaString(this.values.rgb,this.values.alpha)},percentString:function(){return p.percentString(this.values.rgb,this.values.alpha)},hslString:function(){return p.hslString(this.values.hsl,this.values.alpha)},hslaString:function(){return p.hslaString(this.values.hsl,this.values.alpha)},hwbString:function(){return p.hwbString(this.values.hwb,this.values.alpha)},keyword:function(){return p.keyword(this.values.rgb,this.values.alpha)},rgbNumber:function(){var e=this.values.rgb;return e[0]<<16|e[1]<<8|e[2]},luminosity:function(){for(var e=this.values.rgb,t=[],n=0;nn?(t+.05)/(n+.05):(n+.05)/(t+.05)},level:function(e){var t=this.contrast(e);return t>=7.1?"AAA":t>=4.5?"AA":""},dark:function(){var e=this.values.rgb;return(299*e[0]+587*e[1]+114*e[2])/1e3<128},light:function(){return!this.dark()},negate:function(){for(var e=[],t=0;t<3;t++)e[t]=255-this.values.rgb[t];return this.setValues("rgb",e),this},lighten:function(e){var t=this.values.hsl;return t[2]+=t[2]*e,this.setValues("hsl",t),this},darken:function(e){var t=this.values.hsl;return t[2]-=t[2]*e,this.setValues("hsl",t),this},saturate:function(e){var t=this.values.hsl;return t[1]+=t[1]*e,this.setValues("hsl",t),this},desaturate:function(e){var t=this.values.hsl;return t[1]-=t[1]*e,this.setValues("hsl",t),this},whiten:function(e){var t=this.values.hwb;return t[1]+=t[1]*e,this.setValues("hwb",t),this},blacken:function(e){var t=this.values.hwb;return t[2]+=t[2]*e,this.setValues("hwb",t),this},greyscale:function(){var e=this.values.rgb,t=.3*e[0]+.59*e[1]+.11*e[2];return this.setValues("rgb",[t,t,t]),this},clearer:function(e){var t=this.values.alpha;return this.setValues("alpha",t-t*e),this},opaquer:function(e){var t=this.values.alpha;return this.setValues("alpha",t+t*e),this},rotate:function(e){var t=this.values.hsl,n=(t[0]+e)%360;return t[0]=n<0?360+n:n,this.setValues("hsl",t),this},mix:function(e,t){var n=this,r=e,a=void 0===t?.5:t,i=2*a-1,o=n.alpha()-r.alpha(),s=((i*o==-1?i:(i+o)/(1+i*o))+1)/2,l=1-s;return this.rgb(s*n.red()+l*r.red(),s*n.green()+l*r.green(),s*n.blue()+l*r.blue()).alpha(n.alpha()*a+r.alpha()*(1-a))},toJSON:function(){return this.rgb()},clone:function(){var e,t,n=new O,r=this.values,a=n.values;for(var i in r)r.hasOwnProperty(i)&&(e=r[i],"[object Array]"===(t={}.toString.call(e))?a[i]=e.slice(0):"[object Number]"===t?a[i]=e:console.error("unexpected color value:",e));return n}},O.prototype.spaces={rgb:["red","green","blue"],hsl:["hue","saturation","lightness"],hsv:["hue","saturation","value"],hwb:["hue","whiteness","blackness"],cmyk:["cyan","magenta","yellow","black"]},O.prototype.maxes={rgb:[255,255,255],hsl:[360,100,100],hsv:[360,100,100],hwb:[360,100,100],cmyk:[100,100,100,100]},O.prototype.getValues=function(e){for(var t=this.values,n={},r=0;r=0;a--)t.call(n,e[a],a);else for(a=0;a=1?e:-(Math.sqrt(1-e*e)-1)},easeOutCirc:function(e){return Math.sqrt(1-(e-=1)*e)},easeInOutCirc:function(e){return(e/=.5)<1?-.5*(Math.sqrt(1-e*e)-1):.5*(Math.sqrt(1-(e-=2)*e)+1)},easeInElastic:function(e){var t=1.70158,n=0,r=1;return 0===e?0:1===e?1:(n||(n=.3),r<1?(r=1,t=n/4):t=n/(2*Math.PI)*Math.asin(1/r),-r*Math.pow(2,10*(e-=1))*Math.sin((e-t)*(2*Math.PI)/n))},easeOutElastic:function(e){var t=1.70158,n=0,r=1;return 0===e?0:1===e?1:(n||(n=.3),r<1?(r=1,t=n/4):t=n/(2*Math.PI)*Math.asin(1/r),r*Math.pow(2,-10*e)*Math.sin((e-t)*(2*Math.PI)/n)+1)},easeInOutElastic:function(e){var t=1.70158,n=0,r=1;return 0===e?0:2==(e/=.5)?1:(n||(n=.45),r<1?(r=1,t=n/4):t=n/(2*Math.PI)*Math.asin(1/r),e<1?r*Math.pow(2,10*(e-=1))*Math.sin((e-t)*(2*Math.PI)/n)*-.5:r*Math.pow(2,-10*(e-=1))*Math.sin((e-t)*(2*Math.PI)/n)*.5+1)},easeInBack:function(e){var t=1.70158;return e*e*((t+1)*e-t)},easeOutBack:function(e){var t=1.70158;return(e-=1)*e*((t+1)*e+t)+1},easeInOutBack:function(e){var t=1.70158;return(e/=.5)<1?e*e*((1+(t*=1.525))*e-t)*.5:.5*((e-=2)*e*((1+(t*=1.525))*e+t)+2)},easeInBounce:function(e){return 1-R.easeOutBounce(1-e)},easeOutBounce:function(e){return e<1/2.75?7.5625*e*e:e<2/2.75?7.5625*(e-=1.5/2.75)*e+.75:e<2.5/2.75?7.5625*(e-=2.25/2.75)*e+.9375:7.5625*(e-=2.625/2.75)*e+.984375},easeInOutBounce:function(e){return e<.5?.5*R.easeInBounce(2*e):.5*R.easeOutBounce(2*e-1)+.5}},$={effects:R};W.easingEffects=R;var z=Math.PI,B=z/180,q=2*z,V=z/2,U=z/4,J=2*z/3,G={clear:function(e){e.ctx.clearRect(0,0,e.width,e.height)},roundedRect:function(e,t,n,r,a,i){if(i){var o=Math.min(i,a/2,r/2),s=t+o,l=n+o,u=t+r-o,d=n+a-o;e.moveTo(t,l),st.left-n&&e.xt.top-n&&e.y0&&e.requestAnimationFrame()},advance:function(){for(var e,t,n,r,a=this.animations,i=0;i=n?(se.callback(e.onAnimationComplete,[e],t),t.animating=!1,a.splice(i,1)):++i}},ye=se.options.resolve,be=["push","pop","shift","splice","unshift"];function Me(e,t){e._chartjs?e._chartjs.listeners.push(t):(Object.defineProperty(e,"_chartjs",{configurable:!0,enumerable:!1,value:{listeners:[t]}}),be.forEach((function(t){var n="onData"+t.charAt(0).toUpperCase()+t.slice(1),r=e[t];Object.defineProperty(e,t,{configurable:!0,enumerable:!1,value:function(){var t=Array.prototype.slice.call(arguments),a=r.apply(this,t);return se.each(e._chartjs.listeners,(function(e){"function"==typeof e[n]&&e[n].apply(e,t)})),a}})})))}function we(e,t){var n=e._chartjs;if(n){var r=n.listeners,a=r.indexOf(t);-1!==a&&r.splice(a,1),r.length>0||(be.forEach((function(t){delete e[t]})),delete e._chartjs)}}var xe=function(e,t){this.initialize(e,t)};se.extend(xe.prototype,{datasetElementType:null,dataElementType:null,_datasetElementOptions:["backgroundColor","borderCapStyle","borderColor","borderDash","borderDashOffset","borderJoinStyle","borderWidth"],_dataElementOptions:["backgroundColor","borderColor","borderWidth","pointStyle"],initialize:function(e,t){var n=this;n.chart=e,n.index=t,n.linkScales(),n.addElements(),n._type=n.getMeta().type},updateIndex:function(e){this.index=e},linkScales:function(){var e=this,t=e.getMeta(),n=e.chart,r=n.scales,a=e.getDataset(),i=n.options.scales;null!==t.xAxisID&&t.xAxisID in r&&!a.xAxisID||(t.xAxisID=a.xAxisID||i.xAxes[0].id),null!==t.yAxisID&&t.yAxisID in r&&!a.yAxisID||(t.yAxisID=a.yAxisID||i.yAxes[0].id)},getDataset:function(){return this.chart.data.datasets[this.index]},getMeta:function(){return this.chart.getDatasetMeta(this.index)},getScaleForId:function(e){return this.chart.scales[e]},_getValueScaleId:function(){return this.getMeta().yAxisID},_getIndexScaleId:function(){return this.getMeta().xAxisID},_getValueScale:function(){return this.getScaleForId(this._getValueScaleId())},_getIndexScale:function(){return this.getScaleForId(this._getIndexScaleId())},reset:function(){this._update(!0)},destroy:function(){this._data&&we(this._data,this)},createMetaDataset:function(){var e=this,t=e.datasetElementType;return t&&new t({_chart:e.chart,_datasetIndex:e.index})},createMetaData:function(e){var t=this,n=t.dataElementType;return n&&new n({_chart:t.chart,_datasetIndex:t.index,_index:e})},addElements:function(){var e,t,n=this,r=n.getMeta(),a=n.getDataset().data||[],i=r.data;for(e=0,t=a.length;er&&e.insertElements(r,a-r)},insertElements:function(e,t){for(var n=0;na?(i=a/t.innerRadius,e.arc(o,s,t.innerRadius-a,r+i,n-i,!0)):e.arc(o,s,a,r+Math.PI/2,n-Math.PI/2),e.closePath(),e.clip()}function Ye(e,t,n,r){var a,i=n.endAngle;for(r&&(n.endAngle=n.startAngle+ke,Te(e,n),n.endAngle=i,n.endAngle===n.startAngle&&n.fullCircles&&(n.endAngle+=ke,n.fullCircles--)),e.beginPath(),e.arc(n.x,n.y,n.innerRadius,n.startAngle+ke,n.startAngle,!0),a=0;as;)a-=ke;for(;a=o&&a<=s,u=i>=n.innerRadius&&i<=n.outerRadius;return l&&u}return!1},getCenterPoint:function(){var e=this._view,t=(e.startAngle+e.endAngle)/2,n=(e.innerRadius+e.outerRadius)/2;return{x:e.x+Math.cos(t)*n,y:e.y+Math.sin(t)*n}},getArea:function(){var e=this._view;return Math.PI*((e.endAngle-e.startAngle)/(2*Math.PI))*(Math.pow(e.outerRadius,2)-Math.pow(e.innerRadius,2))},tooltipPosition:function(){var e=this._view,t=e.startAngle+(e.endAngle-e.startAngle)/2,n=(e.outerRadius-e.innerRadius)/2+e.innerRadius;return{x:e.x+Math.cos(t)*n,y:e.y+Math.sin(t)*n}},draw:function(){var e,t=this._chart.ctx,n=this._view,r="inner"===n.borderAlign?.33:0,a={x:n.x,y:n.y,innerRadius:n.innerRadius,outerRadius:Math.max(n.outerRadius-r,0),pixelMargin:r,startAngle:n.startAngle,endAngle:n.endAngle,fullCircles:Math.floor(n.circumference/ke)};if(t.save(),t.fillStyle=n.backgroundColor,t.strokeStyle=n.borderColor,a.fullCircles){for(a.endAngle=a.startAngle+ke,t.beginPath(),t.arc(a.x,a.y,a.outerRadius,a.startAngle,a.endAngle),t.arc(a.x,a.y,a.innerRadius,a.endAngle,a.startAngle,!0),t.closePath(),e=0;ee.x&&(t=Re(t,"left","right")):e.basen?n:r,r:l.right||a<0?0:a>t?t:a,b:l.bottom||i<0?0:i>n?n:i,l:l.left||o<0?0:o>t?t:o}}function Be(e){var t=We(e),n=t.right-t.left,r=t.bottom-t.top,a=ze(e,n/2,r/2);return{outer:{x:t.left,y:t.top,w:n,h:r},inner:{x:t.left+a.l,y:t.top+a.t,w:n-a.l-a.r,h:r-a.t-a.b}}}function qe(e,t,n){var r=null===t,a=null===n,i=!(!e||r&&a)&&We(e);return i&&(r||t>=i.left&&t<=i.right)&&(a||n>=i.top&&n<=i.bottom)}K._set("global",{elements:{rectangle:{backgroundColor:Fe,borderColor:Fe,borderSkipped:"bottom",borderWidth:0}}});var Ve=pe.extend({_type:"rectangle",draw:function(){var e=this._chart.ctx,t=this._view,n=Be(t),r=n.outer,a=n.inner;e.fillStyle=t.backgroundColor,e.fillRect(r.x,r.y,r.w,r.h),r.w===a.w&&r.h===a.h||(e.save(),e.beginPath(),e.rect(r.x,r.y,r.w,r.h),e.clip(),e.fillStyle=t.borderColor,e.rect(a.x,a.y,a.w,a.h),e.fill("evenodd"),e.restore())},height:function(){var e=this._view;return e.base-e.y},inRange:function(e,t){return qe(this._view,e,t)},inLabelRange:function(e,t){var n=this._view;return Ie(n)?qe(n,e,null):qe(n,null,t)},inXRange:function(e){return qe(this._view,e,null)},inYRange:function(e){return qe(this._view,null,e)},getCenterPoint:function(){var e,t,n=this._view;return Ie(n)?(e=n.x,t=(n.y+n.base)/2):(e=(n.x+n.base)/2,t=n.y),{x:e,y:t}},getArea:function(){var e=this._view;return Ie(e)?e.width*Math.abs(e.y-e.base):e.height*Math.abs(e.x-e.base)},tooltipPosition:function(){var e=this._view;return{x:e.x,y:e.y}}}),Ue={},Je=Se,Ge=Ae,Ze=Ne,Xe=Ve;Ue.Arc=Je,Ue.Line=Ge,Ue.Point=Ze,Ue.Rectangle=Xe;var Ke=se._deprecated,Qe=se.valueOrDefault;function et(e,t){var n,r,a,i,o=e._length;for(a=1,i=t.length;a0?Math.min(o,Math.abs(r-n)):o,n=r;return o}function tt(e,t,n){var r,a,i=n.barThickness,o=t.stackCount,s=t.pixels[e],l=se.isNullOrUndef(i)?et(t.scale,t.pixels):-1;return se.isNullOrUndef(i)?(r=l*n.categoryPercentage,a=n.barPercentage):(r=i*o,a=1),{chunk:r/o,ratio:a,start:s-r/2}}function nt(e,t,n){var r,a=t.pixels,i=a[e],o=e>0?a[e-1]:null,s=e=0&&_.min>=0?_.min:_.max,M=void 0===_.start?_.end:_.max>=0&&_.min>=0?_.max-_.min:_.min-_.max,w=p.length;if(v||void 0===v&&void 0!==y)for(r=0;r=0&&u.max>=0?u.max:u.min,(_.min<0&&i<0||_.max>=0&&i>0)&&(b+=i));return o=f.getPixelForValue(b),l=(s=f.getPixelForValue(b+M))-o,void 0!==g&&Math.abs(l)=0&&!h||M<0&&h?o-g:o+g),{size:l,base:o,head:s,center:s+l/2}},calculateBarIndexPixels:function(e,t,n,r){var a=this,i="flex"===r.barThickness?nt(t,n,r):tt(t,n,r),o=a.getStackIndex(e,a.getMeta().stack),s=i.start+i.chunk*o+i.chunk/2,l=Math.min(Qe(r.maxBarThickness,1/0),i.chunk*i.ratio);return{base:s-l/2,head:s+l/2,center:s,size:l}},draw:function(){var e=this,t=e.chart,n=e._getValueScale(),r=e.getMeta().data,a=e.getDataset(),i=r.length,o=0;for(se.canvas.clipArea(t.ctx,t.chartArea);o=lt?-ut:v<-lt?ut:0)+_,b=Math.cos(v),M=Math.sin(v),w=Math.cos(y),x=Math.sin(y),L=v<=0&&y>=0||y>=ut,k=v<=dt&&y>=dt||y>=ut+dt,T=v<=-dt&&y>=-dt||y>=lt+dt,Y=v===-lt||y>=lt?-1:Math.min(b,b*p,w,w*p),D=T?-1:Math.min(M,M*p,x,x*p),S=L?1:Math.max(b,b*p,w,w*p),C=k?1:Math.max(M,M*p,x,x*p);u=(S-Y)/2,d=(C-D)/2,c=-(S+Y)/2,f=-(C+D)/2}for(r=0,a=m.length;r0&&!isNaN(e)?ut*(Math.abs(e)/t):0},getMaxBorderWidth:function(e){var t,n,r,a,i,o,s,l,u=this,d=0,c=u.chart;if(!e)for(t=0,n=c.data.datasets.length;t(d=s>d?s:d)?l:d);return d},setHoverStyle:function(e){var t=e._model,n=e._options,r=se.getHoverColor;e.$previousStyle={backgroundColor:t.backgroundColor,borderColor:t.borderColor,borderWidth:t.borderWidth},t.backgroundColor=st(n.hoverBackgroundColor,r(n.backgroundColor)),t.borderColor=st(n.hoverBorderColor,r(n.borderColor)),t.borderWidth=st(n.hoverBorderWidth,n.borderWidth)},_getRingWeightOffset:function(e){for(var t=0,n=0;n0&&pt(u[e-1]._model,l)&&(n.controlPointPreviousX=d(n.controlPointPreviousX,l.left,l.right),n.controlPointPreviousY=d(n.controlPointPreviousY,l.top,l.bottom)),e0&&(i=e.getDatasetMeta(i[0]._datasetIndex).data),i},"x-axis":function(e,t){return jt(e,t,{intersect:!1})},point:function(e,t){return Dt(e,Tt(t,e))},nearest:function(e,t,n){var r=Tt(t,e);n.axis=n.axis||"xy";var a=Ct(n.axis);return St(e,r,n.intersect,a)},x:function(e,t,n){var r=Tt(t,e),a=[],i=!1;return Yt(e,(function(e){e.inXRange(r.x)&&a.push(e),e.inRange(r.x,r.y)&&(i=!0)})),n.intersect&&!i&&(a=[]),a},y:function(e,t,n){var r=Tt(t,e),a=[],i=!1;return Yt(e,(function(e){e.inYRange(r.y)&&a.push(e),e.inRange(r.x,r.y)&&(i=!0)})),n.intersect&&!i&&(a=[]),a}}},Et=se.extend;function Pt(e,t){return se.where(e,(function(e){return e.pos===t}))}function Ot(e,t){return e.sort((function(e,n){var r=t?n:e,a=t?e:n;return r.weight===a.weight?r.index-a.index:r.weight-a.weight}))}function Ht(e){var t,n,r,a=[];for(t=0,n=(e||[]).length;t div {\r\n\tposition: absolute;\r\n\twidth: 1000000px;\r\n\theight: 1000000px;\r\n\tleft: 0;\r\n\ttop: 0;\r\n}\r\n\r\n.chartjs-size-monitor-shrink > div {\r\n\tposition: absolute;\r\n\twidth: 200%;\r\n\theight: 200%;\r\n\tleft: 0;\r\n\ttop: 0;\r\n}\r\n",Jt=n(Object.freeze({__proto__:null,default:Ut})),Gt="$chartjs",Zt="chartjs-",Xt=Zt+"size-monitor",Kt=Zt+"render-monitor",Qt=Zt+"render-animation",en=["animationstart","webkitAnimationStart"],tn={touchstart:"mousedown",touchmove:"mousemove",touchend:"mouseup",pointerenter:"mouseenter",pointerdown:"mousedown",pointermove:"mousemove",pointerup:"mouseup",pointerleave:"mouseout",pointerout:"mouseout"};function nn(e,t){var n=se.getStyle(e,t),r=n&&n.match(/^(\d+)(\.\d+)?px$/);return r?Number(r[1]):void 0}function rn(e,t){var n=e.style,r=e.getAttribute("height"),a=e.getAttribute("width");if(e[Gt]={initial:{height:r,width:a,style:{display:n.display,height:n.height,width:n.width}}},n.display=n.display||"block",null===a||""===a){var i=nn(e,"width");void 0!==i&&(e.width=i)}if(null===r||""===r)if(""===e.style.height)e.height=e.width/(t.options.aspectRatio||2);else{var o=nn(e,"height");void 0!==i&&(e.height=o)}return e}var an=function(){var e=!1;try{var t=Object.defineProperty({},"passive",{get:function(){e=!0}});window.addEventListener("e",null,t)}catch(e){}return e}(),on=!!an&&{passive:!0};function sn(e,t,n){e.addEventListener(t,n,on)}function ln(e,t,n){e.removeEventListener(t,n,on)}function un(e,t,n,r,a){return{type:e,chart:t,native:a||null,x:void 0!==n?n:null,y:void 0!==r?r:null}}function dn(e,t){var n=tn[e.type]||e.type,r=se.getRelativePosition(e,t);return un(n,t,r.x,r.y,e)}function cn(e,t){var n=!1,r=[];return function(){r=Array.prototype.slice.call(arguments),t=t||this,n||(n=!0,se.requestAnimFrame.call(window,(function(){n=!1,e.apply(t,r)})))}}function fn(e){var t=document.createElement("div");return t.className=e||"",t}function hn(e){var t=1e6,n=fn(Xt),r=fn(Xt+"-expand"),a=fn(Xt+"-shrink");r.appendChild(fn()),a.appendChild(fn()),n.appendChild(r),n.appendChild(a),n._reset=function(){r.scrollLeft=t,r.scrollTop=t,a.scrollLeft=t,a.scrollTop=t};var i=function(){n._reset(),e()};return sn(r,"scroll",i.bind(r,"expand")),sn(a,"scroll",i.bind(a,"shrink")),n}function mn(e,t){var n=e[Gt]||(e[Gt]={}),r=n.renderProxy=function(e){e.animationName===Qt&&t()};se.each(en,(function(t){sn(e,t,r)})),n.reflow=!!e.offsetParent,e.classList.add(Kt)}function pn(e){var t=e[Gt]||{},n=t.renderProxy;n&&(se.each(en,(function(t){ln(e,t,n)})),delete t.renderProxy),e.classList.remove(Kt)}function _n(e,t,n){var r=e[Gt]||(e[Gt]={}),a=r.resizer=hn(cn((function(){if(r.resizer){var a=n.options.maintainAspectRatio&&e.parentNode,i=a?a.clientWidth:0;t(un("resize",n)),a&&a.clientWidth0){var i=e[0];i.label?n=i.label:i.xLabel?n=i.xLabel:a>0&&i.index-1?e.split("\n"):e}function Sn(e){var t=e._xScale,n=e._yScale||e._scale,r=e._index,a=e._datasetIndex,i=e._chart.getDatasetMeta(a).controller,o=i._getIndexScale(),s=i._getValueScale();return{xLabel:t?t.getLabelForIndex(r,a):"",yLabel:n?n.getLabelForIndex(r,a):"",label:o?""+o.getLabelForIndex(r,a):"",value:s?""+s.getLabelForIndex(r,a):"",index:r,datasetIndex:a,x:e._model.x,y:e._model.y}}function Cn(e){var t=K.global;return{xPadding:e.xPadding,yPadding:e.yPadding,xAlign:e.xAlign,yAlign:e.yAlign,rtl:e.rtl,textDirection:e.textDirection,bodyFontColor:e.bodyFontColor,_bodyFontFamily:Ln(e.bodyFontFamily,t.defaultFontFamily),_bodyFontStyle:Ln(e.bodyFontStyle,t.defaultFontStyle),_bodyAlign:e.bodyAlign,bodyFontSize:Ln(e.bodyFontSize,t.defaultFontSize),bodySpacing:e.bodySpacing,titleFontColor:e.titleFontColor,_titleFontFamily:Ln(e.titleFontFamily,t.defaultFontFamily),_titleFontStyle:Ln(e.titleFontStyle,t.defaultFontStyle),titleFontSize:Ln(e.titleFontSize,t.defaultFontSize),_titleAlign:e.titleAlign,titleSpacing:e.titleSpacing,titleMarginBottom:e.titleMarginBottom,footerFontColor:e.footerFontColor,_footerFontFamily:Ln(e.footerFontFamily,t.defaultFontFamily),_footerFontStyle:Ln(e.footerFontStyle,t.defaultFontStyle),footerFontSize:Ln(e.footerFontSize,t.defaultFontSize),_footerAlign:e.footerAlign,footerSpacing:e.footerSpacing,footerMarginTop:e.footerMarginTop,caretSize:e.caretSize,cornerRadius:e.cornerRadius,backgroundColor:e.backgroundColor,opacity:0,legendColorBackground:e.multiKeyBackground,displayColors:e.displayColors,borderColor:e.borderColor,borderWidth:e.borderWidth}}function jn(e,t){var n=e._chart.ctx,r=2*t.yPadding,a=0,i=t.body,o=i.reduce((function(e,t){return e+t.before.length+t.lines.length+t.after.length}),0);o+=t.beforeBody.length+t.afterBody.length;var s=t.title.length,l=t.footer.length,u=t.titleFontSize,d=t.bodyFontSize,c=t.footerFontSize;r+=s*u,r+=s?(s-1)*t.titleSpacing:0,r+=s?t.titleMarginBottom:0,r+=o*d,r+=o?(o-1)*t.bodySpacing:0,r+=l?t.footerMarginTop:0,r+=l*c,r+=l?(l-1)*t.footerSpacing:0;var f=0,h=function(e){a=Math.max(a,n.measureText(e).width+f)};return n.font=se.fontString(u,t._titleFontStyle,t._titleFontFamily),se.each(t.title,h),n.font=se.fontString(d,t._bodyFontStyle,t._bodyFontFamily),se.each(t.beforeBody.concat(t.afterBody),h),f=t.displayColors?d+2:0,se.each(i,(function(e){se.each(e.before,h),se.each(e.lines,h),se.each(e.after,h)})),f=0,n.font=se.fontString(c,t._footerFontStyle,t._footerFontFamily),se.each(t.footer,h),{width:a+=2*t.xPadding,height:r}}function An(e,t){var n,r,a,i,o,s=e._model,l=e._chart,u=e._chart.chartArea,d="center",c="center";s.yl.height-t.height&&(c="bottom");var f=(u.left+u.right)/2,h=(u.top+u.bottom)/2;"center"===c?(n=function(e){return e<=f},r=function(e){return e>f}):(n=function(e){return e<=t.width/2},r=function(e){return e>=l.width-t.width/2}),a=function(e){return e+t.width+s.caretSize+s.caretPadding>l.width},i=function(e){return e-t.width-s.caretSize-s.caretPadding<0},o=function(e){return e<=h?"top":"bottom"},n(s.x)?(d="left",a(s.x)&&(d="center",c=o(s.y))):r(s.x)&&(d="right",i(s.x)&&(d="center",c=o(s.y)));var m=e._options;return{xAlign:m.xAlign?m.xAlign:d,yAlign:m.yAlign?m.yAlign:c}}function En(e,t,n,r){var a=e.x,i=e.y,o=e.caretSize,s=e.caretPadding,l=e.cornerRadius,u=n.xAlign,d=n.yAlign,c=o+s,f=l+s;return"right"===u?a-=t.width:"center"===u&&((a-=t.width/2)+t.width>r.width&&(a=r.width-t.width),a<0&&(a=0)),"top"===d?i+=c:i-="bottom"===d?t.height+c:t.height/2,"center"===d?"left"===u?a+=c:"right"===u&&(a-=c):"left"===u?a-=f:"right"===u&&(a+=f),{x:a,y:i}}function Pn(e,t){return"center"===t?e.x+e.width/2:"right"===t?e.x+e.width-e.xPadding:e.x+e.xPadding}function On(e){return Yn([],Dn(e))}var Hn=pe.extend({initialize:function(){this._model=Cn(this._options),this._lastActive=[]},getTitle:function(){var e=this,t=e._options.callbacks,n=t.beforeTitle.apply(e,arguments),r=t.title.apply(e,arguments),a=t.afterTitle.apply(e,arguments),i=[];return i=Yn(i,Dn(n)),i=Yn(i,Dn(r)),i=Yn(i,Dn(a))},getBeforeBody:function(){return On(this._options.callbacks.beforeBody.apply(this,arguments))},getBody:function(e,t){var n=this,r=n._options.callbacks,a=[];return se.each(e,(function(e){var i={before:[],lines:[],after:[]};Yn(i.before,Dn(r.beforeLabel.call(n,e,t))),Yn(i.lines,r.label.call(n,e,t)),Yn(i.after,Dn(r.afterLabel.call(n,e,t))),a.push(i)})),a},getAfterBody:function(){return On(this._options.callbacks.afterBody.apply(this,arguments))},getFooter:function(){var e=this,t=e._options.callbacks,n=t.beforeFooter.apply(e,arguments),r=t.footer.apply(e,arguments),a=t.afterFooter.apply(e,arguments),i=[];return i=Yn(i,Dn(n)),i=Yn(i,Dn(r)),i=Yn(i,Dn(a))},update:function(e){var t,n,r=this,a=r._options,i=r._model,o=r._model=Cn(a),s=r._active,l=r._data,u={xAlign:i.xAlign,yAlign:i.yAlign},d={x:i.x,y:i.y},c={width:i.width,height:i.height},f={x:i.caretX,y:i.caretY};if(s.length){o.opacity=1;var h=[],m=[];f=Tn[a.position].call(r,s,r._eventPosition);var p=[];for(t=0,n=s.length;t0&&n.stroke()},draw:function(){var e=this._chart.ctx,t=this._view;if(0!==t.opacity){var n={width:t.width,height:t.height},r={x:t.x,y:t.y},a=Math.abs(t.opacity<.001)?0:t.opacity,i=t.title.length||t.beforeBody.length||t.body.length||t.afterBody.length||t.footer.length;this._options.enabled&&i&&(e.save(),e.globalAlpha=a,this.drawBackground(r,t,e,n),r.y+=t.yPadding,se.rtl.overrideTextDirection(e,t.textDirection),this.drawTitle(r,t,e),this.drawBody(r,t,e),this.drawFooter(r,t,e),se.rtl.restoreTextDirection(e,t.textDirection),e.restore())}},handleEvent:function(e){var t=this,n=t._options,r=!1;return t._lastActive=t._lastActive||[],"mouseout"===e.type?t._active=[]:(t._active=t._chart.getElementsAtEventForMode(e,n.mode,n),n.reverse&&t._active.reverse()),(r=!se.arrayEquals(t._active,t._lastActive))&&(t._lastActive=t._active,(n.enabled||n.custom)&&(t._eventPosition={x:e.x,y:e.y},t.update(!0),t.pivot())),r}}),Nn=Tn,Fn=Hn;Fn.positioners=Nn;var In=se.valueOrDefault;function Wn(){return se.merge(Object.create(null),[].slice.call(arguments),{merger:function(e,t,n,r){if("xAxes"===e||"yAxes"===e){var a,i,o,s=n[e].length;for(t[e]||(t[e]=[]),a=0;a=t[e].length&&t[e].push({}),!t[e][a].type||o.type&&o.type!==t[e][a].type?se.merge(t[e][a],[xn.getScaleDefaults(i),o]):se.merge(t[e][a],o)}else se._merger(e,t,n,r)}})}function Rn(){return se.merge(Object.create(null),[].slice.call(arguments),{merger:function(e,t,n,r){var a=t[e]||Object.create(null),i=n[e];"scales"===e?t[e]=Wn(a,i):"scale"===e?t[e]=se.merge(a,[xn.getScaleDefaults(i.type),i]):se._merger(e,t,n,r)}})}function $n(e){var t=(e=e||Object.create(null)).data=e.data||{};return t.datasets=t.datasets||[],t.labels=t.labels||[],e.options=Rn(K.global,K[e.type],e.options||{}),e}function zn(e){var t=e.options;se.each(e.scales,(function(t){qt.removeBox(e,t)})),t=Rn(K.global,K[e.config.type],t),e.options=e.config.options=t,e.ensureScalesHaveIDs(),e.buildOrUpdateScales(),e.tooltip._options=t.tooltips,e.tooltip.initialize()}function Bn(e,t,n){var r,a=function(e){return e.id===r};do{r=t+n++}while(se.findIndex(e,a)>=0);return r}function qn(e){return"top"===e||"bottom"===e}function Vn(e,t){return function(n,r){return n[e]===r[e]?n[t]-r[t]:n[e]-r[e]}}K._set("global",{elements:{},events:["mousemove","mouseout","click","touchstart","touchmove"],hover:{onHover:null,mode:"nearest",intersect:!0,animationDuration:400},onClick:null,maintainAspectRatio:!0,responsive:!0,responsiveAnimationDuration:0});var Un=function(e,t){return this.construct(e,t),this};se.extend(Un.prototype,{construct:function(e,t){var n=this;t=$n(t);var r=Mn.acquireContext(e,t),a=r&&r.canvas,i=a&&a.height,o=a&&a.width;n.id=se.uid(),n.ctx=r,n.canvas=a,n.config=t,n.width=o,n.height=i,n.aspectRatio=i?o/i:null,n.options=t.options,n._bufferedRender=!1,n._layers=[],n.chart=n,n.controller=n,Un.instances[n.id]=n,Object.defineProperty(n,"data",{get:function(){return n.config.data},set:function(e){n.config.data=e}}),r&&a?(n.initialize(),n.update()):console.error("Failed to create chart: can't acquire context from the given item")},initialize:function(){var e=this;return wn.notify(e,"beforeInit"),se.retinaScale(e,e.options.devicePixelRatio),e.bindEvents(),e.options.responsive&&e.resize(!0),e.initToolTip(),wn.notify(e,"afterInit"),e},clear:function(){return se.canvas.clear(this),this},stop:function(){return ve.cancelAnimation(this),this},resize:function(e){var t=this,n=t.options,r=t.canvas,a=n.maintainAspectRatio&&t.aspectRatio||null,i=Math.max(0,Math.floor(se.getMaximumWidth(r))),o=Math.max(0,Math.floor(a?i/a:se.getMaximumHeight(r)));if((t.width!==i||t.height!==o)&&(r.width=t.width=i,r.height=t.height=o,r.style.width=i+"px",r.style.height=o+"px",se.retinaScale(t,n.devicePixelRatio),!e)){var s={width:i,height:o};wn.notify(t,"resize",[s]),n.onResize&&n.onResize(t,s),t.stop(),t.update({duration:n.responsiveAnimationDuration})}},ensureScalesHaveIDs:function(){var e=this.options,t=e.scales||{},n=e.scale;se.each(t.xAxes,(function(e,n){e.id||(e.id=Bn(t.xAxes,"x-axis-",n))})),se.each(t.yAxes,(function(e,n){e.id||(e.id=Bn(t.yAxes,"y-axis-",n))})),n&&(n.id=n.id||"scale")},buildOrUpdateScales:function(){var e=this,t=e.options,n=e.scales||{},r=[],a=Object.keys(n).reduce((function(e,t){return e[t]=!1,e}),{});t.scales&&(r=r.concat((t.scales.xAxes||[]).map((function(e){return{options:e,dtype:"category",dposition:"bottom"}})),(t.scales.yAxes||[]).map((function(e){return{options:e,dtype:"linear",dposition:"left"}})))),t.scale&&r.push({options:t.scale,dtype:"radialLinear",isDefault:!0,dposition:"chartArea"}),se.each(r,(function(t){var r=t.options,i=r.id,o=In(r.type,t.dtype);qn(r.position)!==qn(t.dposition)&&(r.position=t.dposition),a[i]=!0;var s=null;if(i in n&&n[i].type===o)(s=n[i]).options=r,s.ctx=e.ctx,s.chart=e;else{var l=xn.getScaleConstructor(o);if(!l)return;s=new l({id:i,type:o,options:r,ctx:e.ctx,chart:e}),n[s.id]=s}s.mergeTicksOptions(),t.isDefault&&(e.scale=s)})),se.each(a,(function(e,t){e||delete n[t]})),e.scales=n,xn.addScalesToLayout(this)},buildOrUpdateControllers:function(){var e,t,n=this,r=[],a=n.data.datasets;for(e=0,t=a.length;e=0;--n)r.drawDataset(t[n],e);wn.notify(r,"afterDatasetsDraw",[e])}},drawDataset:function(e,t){var n=this,r={meta:e,index:e.index,easingValue:t};!1!==wn.notify(n,"beforeDatasetDraw",[r])&&(e.controller.draw(t),wn.notify(n,"afterDatasetDraw",[r]))},_drawTooltip:function(e){var t=this,n=t.tooltip,r={tooltip:n,easingValue:e};!1!==wn.notify(t,"beforeTooltipDraw",[r])&&(n.draw(),wn.notify(t,"afterTooltipDraw",[r]))},getElementAtEvent:function(e){return At.modes.single(this,e)},getElementsAtEvent:function(e){return At.modes.label(this,e,{intersect:!0})},getElementsAtXAxis:function(e){return At.modes["x-axis"](this,e,{intersect:!0})},getElementsAtEventForMode:function(e,t,n){var r=At.modes[t];return"function"==typeof r?r(this,e,n):[]},getDatasetAtEvent:function(e){return At.modes.dataset(this,e,{intersect:!0})},getDatasetMeta:function(e){var t=this,n=t.data.datasets[e];n._meta||(n._meta={});var r=n._meta[t.id];return r||(r=n._meta[t.id]={type:null,data:[],dataset:null,controller:null,hidden:null,xAxisID:null,yAxisID:null,order:n.order||0,index:e}),r},getVisibleDatasetCount:function(){for(var e=0,t=0,n=this.data.datasets.length;t=0;r--){var a=e[r];if(t(a))return a}},se.isNumber=function(e){return!isNaN(parseFloat(e))&&isFinite(e)},se.almostEquals=function(e,t,n){return Math.abs(e-t)=e},se.max=function(e){return e.reduce((function(e,t){return isNaN(t)?e:Math.max(e,t)}),Number.NEGATIVE_INFINITY)},se.min=function(e){return e.reduce((function(e,t){return isNaN(t)?e:Math.min(e,t)}),Number.POSITIVE_INFINITY)},se.sign=Math.sign?function(e){return Math.sign(e)}:function(e){return 0==(e=+e)||isNaN(e)?e:e>0?1:-1},se.toRadians=function(e){return e*(Math.PI/180)},se.toDegrees=function(e){return e*(180/Math.PI)},se._decimalPlaces=function(e){if(se.isFinite(e)){for(var t=1,n=0;Math.round(e*t)/t!==e;)t*=10,n++;return n}},se.getAngleFromPoint=function(e,t){var n=t.x-e.x,r=t.y-e.y,a=Math.sqrt(n*n+r*r),i=Math.atan2(r,n);return i<-.5*Math.PI&&(i+=2*Math.PI),{angle:i,distance:a}},se.distanceBetweenPoints=function(e,t){return Math.sqrt(Math.pow(t.x-e.x,2)+Math.pow(t.y-e.y,2))},se.aliasPixel=function(e){return e%2==0?0:.5},se._alignPixel=function(e,t,n){var r=e.currentDevicePixelRatio,a=n/2;return Math.round((t-a)*r)/r+a},se.splineCurve=function(e,t,n,r){var a=e.skip?t:e,i=t,o=n.skip?t:n,s=Math.sqrt(Math.pow(i.x-a.x,2)+Math.pow(i.y-a.y,2)),l=Math.sqrt(Math.pow(o.x-i.x,2)+Math.pow(o.y-i.y,2)),u=s/(s+l),d=l/(s+l),c=r*(u=isNaN(u)?0:u),f=r*(d=isNaN(d)?0:d);return{previous:{x:i.x-c*(o.x-a.x),y:i.y-c*(o.y-a.y)},next:{x:i.x+f*(o.x-a.x),y:i.y+f*(o.y-a.y)}}},se.EPSILON=Number.EPSILON||1e-14,se.splineCurveMonotone=function(e){var t,n,r,a,i,o,s,l,u,d=(e||[]).map((function(e){return{model:e._model,deltaK:0,mK:0}})),c=d.length;for(t=0;t0?d[t-1]:null,(a=t0?d[t-1]:null,a=t=e.length-1?e[0]:e[t+1]:t>=e.length-1?e[e.length-1]:e[t+1]},se.previousItem=function(e,t,n){return n?t<=0?e[e.length-1]:e[t-1]:t<=0?e[0]:e[t-1]},se.niceNum=function(e,t){var n=Math.floor(se.log10(e)),r=e/Math.pow(10,n);return(t?r<1.5?1:r<3?2:r<7?5:10:r<=1?1:r<=2?2:r<=5?5:10)*Math.pow(10,n)},se.requestAnimFrame="undefined"==typeof window?function(e){e()}:window.requestAnimationFrame||window.webkitRequestAnimationFrame||window.mozRequestAnimationFrame||window.oRequestAnimationFrame||window.msRequestAnimationFrame||function(e){return window.setTimeout(e,1e3/60)},se.getRelativePosition=function(e,t){var n,r,a=e.originalEvent||e,i=e.target||e.srcElement,o=i.getBoundingClientRect(),s=a.touches;s&&s.length>0?(n=s[0].clientX,r=s[0].clientY):(n=a.clientX,r=a.clientY);var l=parseFloat(se.getStyle(i,"padding-left")),u=parseFloat(se.getStyle(i,"padding-top")),d=parseFloat(se.getStyle(i,"padding-right")),c=parseFloat(se.getStyle(i,"padding-bottom")),f=o.right-o.left-l-d,h=o.bottom-o.top-u-c;return{x:n=Math.round((n-o.left-l)/f*i.width/t.currentDevicePixelRatio),y:r=Math.round((r-o.top-u)/h*i.height/t.currentDevicePixelRatio)}},se.getConstraintWidth=function(e){return n(e,"max-width","clientWidth")},se.getConstraintHeight=function(e){return n(e,"max-height","clientHeight")},se._calculatePadding=function(e,t,n){return(t=se.getStyle(e,t)).indexOf("%")>-1?n*parseInt(t,10)/100:parseInt(t,10)},se._getParentNode=function(e){var t=e.parentNode;return t&&"[object ShadowRoot]"===t.toString()&&(t=t.host),t},se.getMaximumWidth=function(e){var t=se._getParentNode(e);if(!t)return e.clientWidth;var n=t.clientWidth,r=n-se._calculatePadding(t,"padding-left",n)-se._calculatePadding(t,"padding-right",n),a=se.getConstraintWidth(e);return isNaN(a)?r:Math.min(r,a)},se.getMaximumHeight=function(e){var t=se._getParentNode(e);if(!t)return e.clientHeight;var n=t.clientHeight,r=n-se._calculatePadding(t,"padding-top",n)-se._calculatePadding(t,"padding-bottom",n),a=se.getConstraintHeight(e);return isNaN(a)?r:Math.min(r,a)},se.getStyle=function(e,t){return e.currentStyle?e.currentStyle[t]:document.defaultView.getComputedStyle(e,null).getPropertyValue(t)},se.retinaScale=function(e,t){var n=e.currentDevicePixelRatio=t||"undefined"!=typeof window&&window.devicePixelRatio||1;if(1!==n){var r=e.canvas,a=e.height,i=e.width;r.height=a*n,r.width=i*n,e.ctx.scale(n,n),r.style.height||r.style.width||(r.style.height=a+"px",r.style.width=i+"px")}},se.fontString=function(e,t,n){return t+" "+e+"px "+n},se.longestText=function(e,t,n,r){var a=(r=r||{}).data=r.data||{},i=r.garbageCollect=r.garbageCollect||[];r.font!==t&&(a=r.data={},i=r.garbageCollect=[],r.font=t),e.font=t;var o,s,l,u,d,c=0,f=n.length;for(o=0;on.length){for(o=0;or&&(r=i),r},se.numberOfLabelLines=function(e){var t=1;return se.each(e,(function(e){se.isArray(e)&&e.length>t&&(t=e.length)})),t},se.color=H?function(e){return e instanceof CanvasGradient&&(e=K.global.defaultColor),H(e)}:function(e){return console.error("Color.js not found!"),e},se.getHoverColor=function(e){return e instanceof CanvasPattern||e instanceof CanvasGradient?e:se.color(e).saturate(.5).darken(.1).rgbString()}};function Zn(){throw new Error("This method is not implemented: either no adapter can be found or an incomplete integration was provided.")}function Xn(e){this.options=e||{}}se.extend(Xn.prototype,{formats:Zn,parse:Zn,format:Zn,add:Zn,diff:Zn,startOf:Zn,endOf:Zn,_create:function(e){return e}}),Xn.override=function(e){se.extend(Xn.prototype,e)};var Kn={_date:Xn},Qn={formatters:{values:function(e){return se.isArray(e)?e:""+e},linear:function(e,t,n){var r=n.length>3?n[2]-n[1]:n[1]-n[0];Math.abs(r)>1&&e!==Math.floor(e)&&(r=e-Math.floor(e));var a=se.log10(Math.abs(r)),i="";if(0!==e)if(Math.max(Math.abs(n[0]),Math.abs(n[n.length-1]))<1e-4){var o=se.log10(Math.abs(e)),s=Math.floor(o)-Math.floor(a);s=Math.max(Math.min(s,20),0),i=e.toExponential(s)}else{var l=-1*Math.floor(a);l=Math.max(Math.min(l,20),0),i=e.toFixed(l)}else i="0";return i},logarithmic:function(e,t,n){var r=e/Math.pow(10,Math.floor(se.log10(e)));return 0===e?"0":1===r||2===r||5===r||0===t||t===n.length-1?e.toExponential():""}}},er=se.isArray,tr=se.isNullOrUndef,nr=se.valueOrDefault,rr=se.valueAtIndexOrDefault;function ar(e,t){for(var n=[],r=e.length/t,a=0,i=e.length;al+u)))return o}function or(e,t){se.each(e,(function(e){var n,r=e.gc,a=r.length/2;if(a>t){for(n=0;nu)return i;return Math.max(u,1)}function pr(e){var t,n,r=[];for(t=0,n=e.length;t=f||d<=1||!s.isHorizontal()?s.labelRotation=c:(t=(e=s._getLabelSizes()).widest.width,n=e.highest.height-e.highest.offset,r=Math.min(s.maxWidth,s.chart.width-t),t+6>(a=l.offset?s.maxWidth/d:r/(d-1))&&(a=r/(d-(l.offset?.5:1)),i=s.maxHeight-lr(l.gridLines)-u.padding-ur(l.scaleLabel),o=Math.sqrt(t*t+n*n),h=se.toDegrees(Math.min(Math.asin(Math.min((e.highest.height+6)/a,1)),Math.asin(Math.min(i/o,1))-Math.asin(n/o))),h=Math.max(c,Math.min(f,h))),s.labelRotation=h)},afterCalculateTickRotation:function(){se.callback(this.options.afterCalculateTickRotation,[this])},beforeFit:function(){se.callback(this.options.beforeFit,[this])},fit:function(){var e=this,t=e.minSize={width:0,height:0},n=e.chart,r=e.options,a=r.ticks,i=r.scaleLabel,o=r.gridLines,s=e._isVisible(),l="bottom"===r.position,u=e.isHorizontal();if(u?t.width=e.maxWidth:s&&(t.width=lr(o)+ur(i)),u?s&&(t.height=lr(o)+ur(i)):t.height=e.maxHeight,a.display&&s){var d=cr(a),c=e._getLabelSizes(),f=c.first,h=c.last,m=c.widest,p=c.highest,_=.4*d.minor.lineHeight,g=a.padding;if(u){var v=0!==e.labelRotation,y=se.toRadians(e.labelRotation),b=Math.cos(y),M=Math.sin(y),w=M*m.width+b*(p.height-(v?p.offset:0))+(v?0:_);t.height=Math.min(e.maxHeight,t.height+w+g);var x,L,k=e.getPixelForTick(0)-e.left,T=e.right-e.getPixelForTick(e.getTicks().length-1);v?(x=l?b*f.width+M*f.offset:M*(f.height-f.offset),L=l?M*(h.height-h.offset):b*h.width+M*h.offset):(x=f.width/2,L=h.width/2),e.paddingLeft=Math.max((x-k)*e.width/(e.width-k),0)+3,e.paddingRight=Math.max((L-T)*e.width/(e.width-T),0)+3}else{var Y=a.mirror?0:m.width+g+_;t.width=Math.min(e.maxWidth,t.width+Y),e.paddingTop=f.height/2,e.paddingBottom=h.height/2}}e.handleMargins(),u?(e.width=e._length=n.width-e.margins.left-e.margins.right,e.height=t.height):(e.width=t.width,e.height=e._length=n.height-e.margins.top-e.margins.bottom)},handleMargins:function(){var e=this;e.margins&&(e.margins.left=Math.max(e.paddingLeft,e.margins.left),e.margins.top=Math.max(e.paddingTop,e.margins.top),e.margins.right=Math.max(e.paddingRight,e.margins.right),e.margins.bottom=Math.max(e.paddingBottom,e.margins.bottom))},afterFit:function(){se.callback(this.options.afterFit,[this])},isHorizontal:function(){var e=this.options.position;return"top"===e||"bottom"===e},isFullWidth:function(){return this.options.fullWidth},getRightValue:function(e){if(tr(e))return NaN;if(("number"==typeof e||e instanceof Number)&&!isFinite(e))return NaN;if(e)if(this.isHorizontal()){if(void 0!==e.x)return this.getRightValue(e.x)}else if(void 0!==e.y)return this.getRightValue(e.y);return e},_convertTicksToLabels:function(e){var t,n,r,a=this;for(a.ticks=e.map((function(e){return e.value})),a.beforeTickToLabelConversion(),t=a.convertTicksToLabels(e)||a.ticks,a.afterTickToLabelConversion(),n=0,r=e.length;nr-1?null:t.getPixelForDecimal(e*a+(n?a/2:0))},getPixelForDecimal:function(e){var t=this;return t._reversePixels&&(e=1-e),t._startPixel+e*t._length},getDecimalForPixel:function(e){var t=(e-this._startPixel)/this._length;return this._reversePixels?1-t:t},getBasePixel:function(){return this.getPixelForValue(this.getBaseValue())},getBaseValue:function(){var e=this,t=e.min,n=e.max;return e.beginAtZero?0:t<0&&n<0?n:t>0&&n>0?t:0},_autoSkip:function(e){var t,n,r,a,i=this,o=i.options.ticks,s=i._length,l=o.maxTicksLimit||s/i._tickSize()+1,u=o.major.enabled?pr(e):[],d=u.length,c=u[0],f=u[d-1];if(d>l)return _r(e,u,d/l),fr(e);if(r=mr(u,e,s,l),d>0){for(t=0,n=d-1;t1?(f-c)/(d-1):null,gr(e,r,se.isNullOrUndef(a)?0:c-a,c),gr(e,r,f,se.isNullOrUndef(a)?e.length:f+a),fr(e)}return gr(e,r),fr(e)},_tickSize:function(){var e=this,t=e.options.ticks,n=se.toRadians(e.labelRotation),r=Math.abs(Math.cos(n)),a=Math.abs(Math.sin(n)),i=e._getLabelSizes(),o=t.autoSkipPadding||0,s=i?i.widest.width+o:0,l=i?i.highest.height+o:0;return e.isHorizontal()?l*r>s*a?s/r:l/a:l*a=0&&(o=e),void 0!==i&&(e=n.indexOf(i))>=0&&(s=e),t.minIndex=o,t.maxIndex=s,t.min=n[o],t.max=n[s]},buildTicks:function(){var e=this,t=e._getLabels(),n=e.minIndex,r=e.maxIndex;e.ticks=0===n&&r===t.length-1?t:t.slice(n,r+1)},getLabelForIndex:function(e,t){var n=this,r=n.chart;return r.getDatasetMeta(t).controller._getValueScaleId()===n.id?n.getRightValue(r.data.datasets[t].data[e]):n._getLabels()[e]},_configure:function(){var e=this,t=e.options.offset,n=e.ticks;yr.prototype._configure.call(e),e.isHorizontal()||(e._reversePixels=!e._reversePixels),n&&(e._startValue=e.minIndex-(t?.5:0),e._valueRange=Math.max(n.length-(t?0:1),1))},getPixelForValue:function(e,t,n){var r,a,i,o=this;return br(t)||br(n)||(e=o.chart.data.datasets[n].data[t]),br(e)||(r=o.isHorizontal()?e.x:e.y),(void 0!==r||void 0!==e&&isNaN(t))&&(a=o._getLabels(),e=se.valueOrDefault(r,e),t=-1!==(i=a.indexOf(e))?i:t,isNaN(t)&&(t=e)),o.getPixelForDecimal((t-o._startValue)/o._valueRange)},getPixelForTick:function(e){var t=this.ticks;return e<0||e>t.length-1?null:this.getPixelForValue(t[e],e+this.minIndex)},getValueForPixel:function(e){var t=this,n=Math.round(t._startValue+t.getDecimalForPixel(e)*t._valueRange);return Math.min(Math.max(n,0),t.ticks.length-1)},getBasePixel:function(){return this.bottom}}),xr=Mr;wr._defaults=xr;var Lr=se.noop,kr=se.isNullOrUndef;function Tr(e,t){var n,r,a,i,o=[],s=1e-14,l=e.stepSize,u=l||1,d=e.maxTicks-1,c=e.min,f=e.max,h=e.precision,m=t.min,p=t.max,_=se.niceNum((p-m)/d/u)*u;if(_d&&(_=se.niceNum(i*_/d/u)*u),l||kr(h)?n=Math.pow(10,se._decimalPlaces(_)):(n=Math.pow(10,h),_=Math.ceil(_*n)/n),r=Math.floor(m/_)*_,a=Math.ceil(p/_)*_,l&&(!kr(c)&&se.almostWhole(c/_,_/1e3)&&(r=c),!kr(f)&&se.almostWhole(f/_,_/1e3)&&(a=f)),i=(a-r)/_,i=se.almostEquals(i,Math.round(i),_/1e3)?Math.round(i):Math.ceil(i),r=Math.round(r*n)/n,a=Math.round(a*n)/n,o.push(kr(c)?r:c);for(var g=1;g0&&r>0&&(e.min=0)}var a=void 0!==t.min||void 0!==t.suggestedMin,i=void 0!==t.max||void 0!==t.suggestedMax;void 0!==t.min?e.min=t.min:void 0!==t.suggestedMin&&(null===e.min?e.min=t.suggestedMin:e.min=Math.min(e.min,t.suggestedMin)),void 0!==t.max?e.max=t.max:void 0!==t.suggestedMax&&(null===e.max?e.max=t.suggestedMax:e.max=Math.max(e.max,t.suggestedMax)),a!==i&&e.min>=e.max&&(a?e.max=e.min+1:e.min=e.max-1),e.min===e.max&&(e.max++,t.beginAtZero||e.min--)},getTickLimit:function(){var e,t=this,n=t.options.ticks,r=n.stepSize,a=n.maxTicksLimit;return r?e=Math.ceil(t.max/r)-Math.floor(t.min/r)+1:(e=t._computeTickLimit(),a=a||11),a&&(e=Math.min(a,e)),e},_computeTickLimit:function(){return Number.POSITIVE_INFINITY},handleDirectionalChanges:Lr,buildTicks:function(){var e=this,t=e.options.ticks,n=e.getTickLimit(),r={maxTicks:n=Math.max(2,n),min:t.min,max:t.max,precision:t.precision,stepSize:se.valueOrDefault(t.fixedStepSize,t.stepSize)},a=e.ticks=Tr(r,e);e.handleDirectionalChanges(),e.max=se.max(a),e.min=se.min(a),t.reverse?(a.reverse(),e.start=e.max,e.end=e.min):(e.start=e.min,e.end=e.max)},convertTicksToLabels:function(){var e=this;e.ticksAsNumbers=e.ticks.slice(),e.zeroLineIndex=e.ticks.indexOf(0),yr.prototype.convertTicksToLabels.call(e)},_configure:function(){var e,t=this,n=t.getTicks(),r=t.min,a=t.max;yr.prototype._configure.call(t),t.options.offset&&n.length&&(r-=e=(a-r)/Math.max(n.length-1,1)/2,a+=e),t._startValue=r,t._endValue=a,t._valueRange=a-r}}),Dr={position:"left",ticks:{callback:Qn.formatters.linear}},Sr=0,Cr=1;function jr(e,t,n){var r=[n.type,void 0===t&&void 0===n.stack?n.index:"",n.stack].join(".");return void 0===e[r]&&(e[r]={pos:[],neg:[]}),e[r]}function Ar(e,t,n,r){var a,i,o=e.options,s=jr(t,o.stacked,n),l=s.pos,u=s.neg,d=r.length;for(a=0;at.length-1?null:this.getPixelForValue(t[e])}}),Or=Dr;Pr._defaults=Or;var Hr=se.valueOrDefault,Nr=se.math.log10;function Fr(e,t){var n,r,a=[],i=Hr(e.min,Math.pow(10,Math.floor(Nr(t.min)))),o=Math.floor(Nr(t.max)),s=Math.ceil(t.max/Math.pow(10,o));0===i?(n=Math.floor(Nr(t.minNotZero)),r=Math.floor(t.minNotZero/Math.pow(10,n)),a.push(i),i=r*Math.pow(10,n)):(n=Math.floor(Nr(i)),r=Math.floor(i/Math.pow(10,n)));var l=n<0?Math.pow(10,Math.abs(n)):1;do{a.push(i),10==++r&&(r=1,l=++n>=0?1:l),i=Math.round(r*Math.pow(10,n)*l)/l}while(n=0?e:t}var Rr=yr.extend({determineDataLimits:function(){var e,t,n,r,a,i,o=this,s=o.options,l=o.chart,u=l.data.datasets,d=o.isHorizontal();function c(e){return d?e.xAxisID===o.id:e.yAxisID===o.id}o.min=Number.POSITIVE_INFINITY,o.max=Number.NEGATIVE_INFINITY,o.minNotZero=Number.POSITIVE_INFINITY;var f=s.stacked;if(void 0===f)for(e=0;e0){var t=se.min(e),n=se.max(e);o.min=Math.min(o.min,t),o.max=Math.max(o.max,n)}}))}else for(e=0;e0?e.minNotZero=e.min:e.max<1?e.minNotZero=Math.pow(10,Math.floor(Nr(e.max))):e.minNotZero=n)},buildTicks:function(){var e=this,t=e.options.ticks,n=!e.isHorizontal(),r={min:Wr(t.min),max:Wr(t.max)},a=e.ticks=Fr(r,e);e.max=se.max(a),e.min=se.min(a),t.reverse?(n=!n,e.start=e.max,e.end=e.min):(e.start=e.min,e.end=e.max),n&&a.reverse()},convertTicksToLabels:function(){this.tickValues=this.ticks.slice(),yr.prototype.convertTicksToLabels.call(this)},getLabelForIndex:function(e,t){return this._getScaleLabel(this.chart.data.datasets[t].data[e])},getPixelForTick:function(e){var t=this.tickValues;return e<0||e>t.length-1?null:this.getPixelForValue(t[e])},_getFirstTickValue:function(e){var t=Math.floor(Nr(e));return Math.floor(e/Math.pow(10,t))*Math.pow(10,t)},_configure:function(){var e=this,t=e.min,n=0;yr.prototype._configure.call(e),0===t&&(t=e._getFirstTickValue(e.minNotZero),n=Hr(e.options.ticks.fontSize,K.global.defaultFontSize)/e._length),e._startValue=Nr(t),e._valueOffset=n,e._valueRange=(Nr(e.max)-Nr(t))/(1-n)},getPixelForValue:function(e){var t=this,n=0;return(e=+t.getRightValue(e))>t.min&&e>0&&(n=(Nr(e)-t._startValue)/t._valueRange+t._valueOffset),t.getPixelForDecimal(n)},getValueForPixel:function(e){var t=this,n=t.getDecimalForPixel(e);return 0===n&&0===t.min?0:Math.pow(10,t._startValue+(n-t._valueOffset)*t._valueRange)}}),$r=Ir;Rr._defaults=$r;var zr=se.valueOrDefault,Br=se.valueAtIndexOrDefault,qr=se.options.resolve,Vr={display:!0,animate:!0,position:"chartArea",angleLines:{display:!0,color:"rgba(0,0,0,0.1)",lineWidth:1,borderDash:[],borderDashOffset:0},gridLines:{circular:!1},ticks:{showLabelBackdrop:!0,backdropColor:"rgba(255,255,255,0.75)",backdropPaddingY:2,backdropPaddingX:2,callback:Qn.formatters.linear},pointLabels:{display:!0,fontSize:10,callback:function(e){return e}}};function Ur(e){var t=e.ticks;return t.display&&e.display?zr(t.fontSize,K.global.defaultFontSize)+2*t.backdropPaddingY:0}function Jr(e,t,n){return se.isArray(n)?{w:se.longestText(e,e.font,n),h:n.length*t}:{w:e.measureText(n).width,h:t}}function Gr(e,t,n,r,a){return e===r||e===a?{start:t-n/2,end:t+n/2}:ea?{start:t-n,end:t}:{start:t,end:t+n}}function Zr(e){var t,n,r,a=se.options._parseFont(e.options.pointLabels),i={l:0,r:e.width,t:0,b:e.height-e.paddingTop},o={};e.ctx.font=a.string,e._pointLabelSizes=[];var s=e.chart.data.labels.length;for(t=0;ti.r&&(i.r=d.end,o.r=l),c.starti.b&&(i.b=c.end,o.b=l)}e.setReductions(e.drawingArea,i,o)}function Xr(e){return 0===e||180===e?"center":e<180?"left":"right"}function Kr(e,t,n,r){var a,i,o=n.y+r/2;if(se.isArray(t))for(a=0,i=t.length;a270||e<90)&&(n.y-=t.h)}function ea(e){var t=e.ctx,n=e.options,r=n.pointLabels,a=Ur(n),i=e.getDistanceFromCenterForValue(n.ticks.reverse?e.min:e.max),o=se.options._parseFont(r);t.save(),t.font=o.string,t.textBaseline="middle";for(var s=e.chart.data.labels.length-1;s>=0;s--){var l=0===s?a/2:0,u=e.getPointPosition(s,i+l+5),d=Br(r.fontColor,s,K.global.defaultFontColor);t.fillStyle=d;var c=e.getIndexAngle(s),f=se.toDegrees(c);t.textAlign=Xr(f),Qr(f,e._pointLabelSizes[s],u),Kr(t,e.pointLabels[s],u,o.lineHeight)}t.restore()}function ta(e,t,n,r){var a,i=e.ctx,o=t.circular,s=e.chart.data.labels.length,l=Br(t.color,r-1),u=Br(t.lineWidth,r-1);if((o||s)&&l&&u){if(i.save(),i.strokeStyle=l,i.lineWidth=u,i.setLineDash&&(i.setLineDash(t.borderDash||[]),i.lineDashOffset=t.borderDashOffset||0),i.beginPath(),o)i.arc(e.xCenter,e.yCenter,n,0,2*Math.PI);else{a=e.getPointPosition(0,n),i.moveTo(a.x,a.y);for(var d=1;d0&&r>0?n:0)},_drawGrid:function(){var e,t,n,r=this,a=r.ctx,i=r.options,o=i.gridLines,s=i.angleLines,l=zr(s.lineWidth,o.lineWidth),u=zr(s.color,o.color);if(i.pointLabels.display&&ea(r),o.display&&se.each(r.ticks,(function(e,n){0!==n&&(t=r.getDistanceFromCenterForValue(r.ticksAsNumbers[n]),ta(r,o,t,n))})),s.display&&l&&u){for(a.save(),a.lineWidth=l,a.strokeStyle=u,a.setLineDash&&(a.setLineDash(qr([s.borderDash,o.borderDash,[]])),a.lineDashOffset=qr([s.borderDashOffset,o.borderDashOffset,0])),e=r.chart.data.labels.length-1;e>=0;e--)t=r.getDistanceFromCenterForValue(i.ticks.reverse?r.min:r.max),n=r.getPointPosition(e,t),a.beginPath(),a.moveTo(r.xCenter,r.yCenter),a.lineTo(n.x,n.y),a.stroke();a.restore()}},_drawLabels:function(){var e=this,t=e.ctx,n=e.options.ticks;if(n.display){var r,a,i=e.getIndexAngle(0),o=se.options._parseFont(n),s=zr(n.fontColor,K.global.defaultFontColor);t.save(),t.font=o.string,t.translate(e.xCenter,e.yCenter),t.rotate(i),t.textAlign="center",t.textBaseline="middle",se.each(e.ticks,(function(i,l){(0!==l||n.reverse)&&(r=e.getDistanceFromCenterForValue(e.ticksAsNumbers[l]),n.showLabelBackdrop&&(a=t.measureText(i).width,t.fillStyle=n.backdropColor,t.fillRect(-a/2-n.backdropPaddingX,-r-o.size/2-n.backdropPaddingY,a+2*n.backdropPaddingX,o.size+2*n.backdropPaddingY)),t.fillStyle=s,t.fillText(i,0,-r))})),t.restore()}},_drawTitle:se.noop}),aa=Vr;ra._defaults=aa;var ia=se._deprecated,oa=se.options.resolve,sa=se.valueOrDefault,la=Number.MIN_SAFE_INTEGER||-9007199254740991,ua=Number.MAX_SAFE_INTEGER||9007199254740991,da={millisecond:{common:!0,size:1,steps:1e3},second:{common:!0,size:1e3,steps:60},minute:{common:!0,size:6e4,steps:60},hour:{common:!0,size:36e5,steps:24},day:{common:!0,size:864e5,steps:30},week:{common:!1,size:6048e5,steps:4},month:{common:!0,size:2628e6,steps:12},quarter:{common:!1,size:7884e6,steps:4},year:{common:!0,size:3154e7}},ca=Object.keys(da);function fa(e,t){return e-t}function ha(e){var t,n,r,a={},i=[];for(t=0,n=e.length;tt&&s=0&&o<=s;){if(a=e[(r=o+s>>1)-1]||null,i=e[r],!a)return{lo:null,hi:i};if(i[t]n))return{lo:a,hi:i};s=r-1}}return{lo:i,hi:null}}function va(e,t,n,r){var a=ga(e,t,n),i=a.lo?a.hi?a.lo:e[e.length-2]:e[0],o=a.lo?a.hi?a.hi:e[e.length-1]:e[1],s=o[t]-i[t],l=s?(n-i[t])/s:0,u=(o[r]-i[r])*l;return i[r]+u}function ya(e,t){var n=e._adapter,r=e.options.time,a=r.parser,i=a||r.format,o=t;return"function"==typeof a&&(o=a(o)),se.isFinite(o)||(o="string"==typeof i?n.parse(o,i):n.parse(o)),null!==o?+o:(a||"function"!=typeof i||(o=i(t),se.isFinite(o)||(o=n.parse(o))),o)}function ba(e,t){if(se.isNullOrUndef(t))return null;var n=e.options.time,r=ya(e,e.getRightValue(t));return null===r||n.round&&(r=+e._adapter.startOf(r,n.round)),r}function Ma(e,t,n,r){var a,i,o,s=ca.length;for(a=ca.indexOf(e);a=ca.indexOf(n);i--)if(o=ca[i],da[o].common&&e._adapter.diff(a,r,o)>=t-1)return o;return ca[n?ca.indexOf(n):0]}function xa(e){for(var t=ca.indexOf(e)+1,n=ca.length;t1e5*u)throw t+" and "+n+" are too far apart with stepSize of "+u+" "+l;for(a=c;a=0&&(t[i].major=!0);return t}function Ya(e,t,n){var r,a,i=[],o={},s=t.length;for(r=0;r1?ha(m).sort(fa):m.sort(fa),f=Math.min(f,m[0]),h=Math.max(h,m[m.length-1])),f=ba(s,ma(d))||f,h=ba(s,pa(d))||h,f=f===ua?+u.startOf(Date.now(),c):f,h=h===la?+u.endOf(Date.now(),c)+1:h,s.min=Math.min(f,h),s.max=Math.max(f+1,h),s._table=[],s._timestamps={data:m,datasets:p,labels:_}},buildTicks:function(){var e,t,n,r=this,a=r.min,i=r.max,o=r.options,s=o.ticks,l=o.time,u=r._timestamps,d=[],c=r.getLabelCapacity(a),f=s.source,h=o.distribution;for(u="data"===f||"auto"===f&&"series"===h?u.data:"labels"===f?u.labels:La(r,a,i,c),"ticks"===o.bounds&&u.length&&(a=u[0],i=u[u.length-1]),a=ba(r,ma(o))||a,i=ba(r,pa(o))||i,e=0,t=u.length;e=a&&n<=i&&d.push(n);return r.min=a,r.max=i,r._unit=l.unit||(s.autoSkip?Ma(l.minUnit,r.min,r.max,c):wa(r,d.length,l.minUnit,r.min,r.max)),r._majorUnit=s.major.enabled&&"year"!==r._unit?xa(r._unit):void 0,r._table=_a(r._timestamps.data,a,i,h),r._offsets=ka(r._table,d,a,i,o),s.reverse&&d.reverse(),Ya(r,d,r._majorUnit)},getLabelForIndex:function(e,t){var n=this,r=n._adapter,a=n.chart.data,i=n.options.time,o=a.labels&&e=0&&e0?s:1}}),Ca=Da;Sa._defaults=Ca;var ja={category:wr,linear:Pr,logarithmic:Rr,radialLinear:ra,time:Sa},Aa={datetime:"MMM D, YYYY, h:mm:ss a",millisecond:"h:mm:ss.SSS a",second:"h:mm:ss a",minute:"h:mm a",hour:"hA",day:"MMM D",week:"ll",month:"MMM YYYY",quarter:"[Q]Q - YYYY",year:"YYYY"};Kn._date.override("function"==typeof e?{_id:"moment",formats:function(){return Aa},parse:function(t,n){return"string"==typeof t&&"string"==typeof n?t=e(t,n):t instanceof e||(t=e(t)),t.isValid()?t.valueOf():null},format:function(t,n){return e(t).format(n)},add:function(t,n,r){return e(t).add(n,r).valueOf()},diff:function(t,n,r){return e(t).diff(e(n),r)},startOf:function(t,n,r){return t=e(t),"isoWeek"===n?t.isoWeekday(r).valueOf():t.startOf(n).valueOf()},endOf:function(t,n){return e(t).endOf(n).valueOf()},_create:function(t){return e(t)}}:{}),K._set("global",{plugins:{filler:{propagate:!0}}});var Ea={dataset:function(e){var t=e.fill,n=e.chart,r=n.getDatasetMeta(t),a=r&&n.isDatasetVisible(t)&&r.dataset._children||[],i=a.length||0;return i?function(e,t){return t=n)&&r;switch(i){case"bottom":return"start";case"top":return"end";case"zero":return"origin";case"origin":case"start":case"end":return i;default:return!1}}function Oa(e){var t,n=e.el._model||{},r=e.el._scale||{},a=e.fill,i=null;if(isFinite(a))return null;if("start"===a?i=void 0===n.scaleBottom?r.bottom:n.scaleBottom:"end"===a?i=void 0===n.scaleTop?r.top:n.scaleTop:void 0!==n.scaleZero?i=n.scaleZero:r.getBasePixel&&(i=r.getBasePixel()),null!=i){if(void 0!==i.x&&void 0!==i.y)return i;if(se.isFinite(i))return{x:(t=r.isHorizontal())?i:null,y:t?null:i}}return null}function Ha(e){var t,n,r,a,i,o=e.el._scale,s=o.options,l=o.chart.data.labels.length,u=e.fill,d=[];if(!l)return null;for(t=s.ticks.reverse?o.max:o.min,n=s.ticks.reverse?o.min:o.max,r=o.getPointPositionForValue(0,t),a=0;a0;--i)se.canvas.lineTo(e,n[i],n[i-1],!0);else for(o=n[0].cx,s=n[0].cy,l=Math.sqrt(Math.pow(n[0].x-o,2)+Math.pow(n[0].y-s,2)),i=a-1;i>0;--i)e.arc(o,s,l,n[i].angle,n[i-1].angle,!0)}}function $a(e,t,n,r,a,i){var o,s,l,u,d,c,f,h,m=t.length,p=r.spanGaps,_=[],g=[],v=0,y=0;for(e.beginPath(),o=0,s=m;o=0;--n)(t=l[n].$filler)&&t.visible&&(a=(r=t.el)._view,i=r._children||[],o=t.mapper,s=a.backgroundColor||K.global.defaultColor,o&&s&&i.length&&(se.canvas.clipArea(u,e.chartArea),$a(u,i,o,a,s,r._loop),se.canvas.unclipArea(u)))}},Ba=se.rtl.getRtlAdapter,qa=se.noop,Va=se.valueOrDefault;function Ua(e,t){return e.usePointStyle&&e.boxWidth>t?t:e.boxWidth}K._set("global",{legend:{display:!0,position:"top",align:"center",fullWidth:!0,reverse:!1,weight:1e3,onClick:function(e,t){var n=t.datasetIndex,r=this.chart,a=r.getDatasetMeta(n);a.hidden=null===a.hidden?!r.data.datasets[n].hidden:null,r.update()},onHover:null,onLeave:null,labels:{boxWidth:40,padding:10,generateLabels:function(e){var t=e.data.datasets,n=e.options.legend||{},r=n.labels&&n.labels.usePointStyle;return e._getSortedDatasetMetas().map((function(n){var a=n.controller.getStyle(r?0:void 0);return{text:t[n.index].label,fillStyle:a.backgroundColor,hidden:!e.isDatasetVisible(n.index),lineCap:a.borderCapStyle,lineDash:a.borderDash,lineDashOffset:a.borderDashOffset,lineJoin:a.borderJoinStyle,lineWidth:a.borderWidth,strokeStyle:a.borderColor,pointStyle:a.pointStyle,rotation:a.rotation,datasetIndex:n.index}}),this)}}},legendCallback:function(e){var t,n,r,a=document.createElement("ul"),i=e.data.datasets;for(a.setAttribute("class",e.id+"-legend"),t=0,n=i.length;tl.width)&&(c+=o+n.padding,d[d.length-(t>0?0:1)]=0),s[t]={left:0,top:0,width:r,height:o},d[d.length-1]+=r+n.padding})),l.height+=c}else{var f=n.padding,h=e.columnWidths=[],m=e.columnHeights=[],p=n.padding,_=0,g=0;se.each(e.legendItems,(function(e,t){var r=Ua(n,o)+o/2+a.measureText(e.text).width;t>0&&g+o+2*f>l.height&&(p+=_+n.padding,h.push(_),m.push(g),_=0,g=0),_=Math.max(_,r),g+=o+f,s[t]={left:0,top:0,width:r,height:o}})),p+=_,h.push(_),m.push(g),l.width+=p}e.width=l.width,e.height=l.height}else e.width=l.width=e.height=l.height=0},afterFit:qa,isHorizontal:function(){return"top"===this.options.position||"bottom"===this.options.position},draw:function(){var e=this,t=e.options,n=t.labels,r=K.global,a=r.defaultColor,i=r.elements.line,o=e.height,s=e.columnHeights,l=e.width,u=e.lineWidths;if(t.display){var d,c=Ba(t.rtl,e.left,e.minSize.width),f=e.ctx,h=Va(n.fontColor,r.defaultFontColor),m=se.options._parseFont(n),p=m.size;f.textAlign=c.textAlign("left"),f.textBaseline="middle",f.lineWidth=.5,f.strokeStyle=h,f.fillStyle=h,f.font=m.string;var _=Ua(n,p),g=e.legendHitBoxes,v=function(e,t,r){if(!(isNaN(_)||_<=0)){f.save();var o=Va(r.lineWidth,i.borderWidth);if(f.fillStyle=Va(r.fillStyle,a),f.lineCap=Va(r.lineCap,i.borderCapStyle),f.lineDashOffset=Va(r.lineDashOffset,i.borderDashOffset),f.lineJoin=Va(r.lineJoin,i.borderJoinStyle),f.lineWidth=o,f.strokeStyle=Va(r.strokeStyle,a),f.setLineDash&&f.setLineDash(Va(r.lineDash,i.borderDash)),n&&n.usePointStyle){var s=_*Math.SQRT2/2,l=c.xPlus(e,_/2),u=t+p/2;se.canvas.drawPoint(f,r.pointStyle,s,l,u,r.rotation)}else f.fillRect(c.leftForLtr(e,_),t,_,p),0!==o&&f.strokeRect(c.leftForLtr(e,_),t,_,p);f.restore()}},y=function(e,t,n,r){var a=p/2,i=c.xPlus(e,_+a),o=t+a;f.fillText(n.text,i,o),n.hidden&&(f.beginPath(),f.lineWidth=2,f.moveTo(i,o),f.lineTo(c.xPlus(i,r),o),f.stroke())},b=function(e,r){switch(t.align){case"start":return n.padding;case"end":return e-r;default:return(e-r+n.padding)/2}},M=e.isHorizontal();d=M?{x:e.left+b(l,u[0]),y:e.top+n.padding,line:0}:{x:e.left+n.padding,y:e.top+b(o,s[0]),line:0},se.rtl.overrideTextDirection(e.ctx,t.textDirection);var w=p+n.padding;se.each(e.legendItems,(function(t,r){var a=f.measureText(t.text).width,i=_+p/2+a,h=d.x,m=d.y;c.setWidth(e.minSize.width),M?r>0&&h+i+n.padding>e.left+e.minSize.width&&(m=d.y+=w,d.line++,h=d.x=e.left+b(l,u[d.line])):r>0&&m+w>e.top+e.minSize.height&&(h=d.x=h+e.columnWidths[d.line]+n.padding,d.line++,m=d.y=e.top+b(o,s[d.line]));var x=c.x(h);v(x,m,t),g[r].left=c.leftForLtr(x,g[r].width),g[r].top=m,y(x,m,t,a),M?d.x+=i+n.padding:d.y+=w})),se.rtl.restoreTextDirection(e.ctx,t.textDirection)}},_getLegendItemAt:function(e,t){var n,r,a,i=this;if(e>=i.left&&e<=i.right&&t>=i.top&&t<=i.bottom)for(a=i.legendHitBoxes,n=0;n=(r=a[n]).left&&e<=r.left+r.width&&t>=r.top&&t<=r.top+r.height)return i.legendItems[n];return null},handleEvent:function(e){var t,n=this,r=n.options,a="mouseup"===e.type?"click":e.type;if("mousemove"===a){if(!r.onHover&&!r.onLeave)return}else{if("click"!==a)return;if(!r.onClick)return}t=n._getLegendItemAt(e.x,e.y),"click"===a?t&&r.onClick&&r.onClick.call(n,e.native,t):(r.onLeave&&t!==n._hoveredItem&&(n._hoveredItem&&r.onLeave.call(n,e.native,n._hoveredItem),n._hoveredItem=t),r.onHover&&t&&r.onHover.call(n,e.native,t))}});function Ga(e,t){var n=new Ja({ctx:e.ctx,options:t,chart:e});qt.configure(e,n,t),qt.addBox(e,n),e.legend=n}var Za={id:"legend",_element:Ja,beforeInit:function(e){var t=e.options.legend;t&&Ga(e,t)},beforeUpdate:function(e){var t=e.options.legend,n=e.legend;t?(se.mergeIf(t,K.global.legend),n?(qt.configure(e,n,t),n.options=t):Ga(e,t)):n&&(qt.removeBox(e,n),delete e.legend)},afterEvent:function(e,t){var n=e.legend;n&&n.handleEvent(t)}},Xa=se.noop;K._set("global",{title:{display:!1,fontStyle:"bold",fullWidth:!0,padding:10,position:"top",text:"",weight:2e3}});var Ka=pe.extend({initialize:function(e){var t=this;se.extend(t,e),t.legendHitBoxes=[]},beforeUpdate:Xa,update:function(e,t,n){var r=this;return r.beforeUpdate(),r.maxWidth=e,r.maxHeight=t,r.margins=n,r.beforeSetDimensions(),r.setDimensions(),r.afterSetDimensions(),r.beforeBuildLabels(),r.buildLabels(),r.afterBuildLabels(),r.beforeFit(),r.fit(),r.afterFit(),r.afterUpdate(),r.minSize},afterUpdate:Xa,beforeSetDimensions:Xa,setDimensions:function(){var e=this;e.isHorizontal()?(e.width=e.maxWidth,e.left=0,e.right=e.width):(e.height=e.maxHeight,e.top=0,e.bottom=e.height),e.paddingLeft=0,e.paddingTop=0,e.paddingRight=0,e.paddingBottom=0,e.minSize={width:0,height:0}},afterSetDimensions:Xa,beforeBuildLabels:Xa,buildLabels:Xa,afterBuildLabels:Xa,beforeFit:Xa,fit:function(){var e,t=this,n=t.options,r=t.minSize={},a=t.isHorizontal();n.display?(e=(se.isArray(n.text)?n.text.length:1)*se.options._parseFont(n).lineHeight+2*n.padding,t.width=r.width=a?t.maxWidth:e,t.height=r.height=a?e:t.maxHeight):t.width=r.width=t.height=r.height=0},afterFit:Xa,isHorizontal:function(){var e=this.options.position;return"top"===e||"bottom"===e},draw:function(){var e=this,t=e.ctx,n=e.options;if(n.display){var r,a,i,o=se.options._parseFont(n),s=o.lineHeight,l=s/2+n.padding,u=0,d=e.top,c=e.left,f=e.bottom,h=e.right;t.fillStyle=se.valueOrDefault(n.fontColor,K.global.defaultFontColor),t.font=o.string,e.isHorizontal()?(a=c+(h-c)/2,i=d+l,r=h-c):(a="left"===n.position?c+l:h-l,i=d+(f-d)/2,r=f-d,u=Math.PI*("left"===n.position?-.5:.5)),t.save(),t.translate(a,i),t.rotate(u),t.textAlign="center",t.textBaseline="middle";var m=n.text;if(se.isArray(m))for(var p=0,_=0;_{var r=n(7854),a=n(614),i=n(6330),o=r.TypeError;e.exports=function(e){if(a(e))return e;throw o(i(e)+" is not a function")}},1223:(e,t,n)=>{var r=n(5112),a=n(30),i=n(3070),o=r("unscopables"),s=Array.prototype;null==s[o]&&i.f(s,o,{configurable:!0,value:a(null)}),e.exports=function(e){s[o][e]=!0}},9670:(e,t,n)=>{var r=n(7854),a=n(111),i=r.String,o=r.TypeError;e.exports=function(e){if(a(e))return e;throw o(i(e)+" is not an object")}},8533:(e,t,n)=>{"use strict";var r=n(2092).forEach,a=n(9341)("forEach");e.exports=a?[].forEach:function(e){return r(this,e,arguments.length>1?arguments[1]:void 0)}},1318:(e,t,n)=>{var r=n(5656),a=n(1400),i=n(6244),o=function(e){return function(t,n,o){var s,l=r(t),u=i(l),d=a(o,u);if(e&&n!=n){for(;u>d;)if((s=l[d++])!=s)return!0}else for(;u>d;d++)if((e||d in l)&&l[d]===n)return e||d||0;return!e&&-1}};e.exports={includes:o(!0),indexOf:o(!1)}},2092:(e,t,n)=>{var r=n(9974),a=n(1702),i=n(8361),o=n(7908),s=n(6244),l=n(5417),u=a([].push),d=function(e){var t=1==e,n=2==e,a=3==e,d=4==e,c=6==e,f=7==e,h=5==e||c;return function(m,p,_,g){for(var v,y,b=o(m),M=i(b),w=r(p,_),x=s(M),L=0,k=g||l,T=t?k(m,x):n||f?k(m,0):void 0;x>L;L++)if((h||L in M)&&(y=w(v=M[L],L,b),e))if(t)T[L]=y;else if(y)switch(e){case 3:return!0;case 5:return v;case 6:return L;case 2:u(T,v)}else switch(e){case 4:return!1;case 7:u(T,v)}return c?-1:a||d?d:T}};e.exports={forEach:d(0),map:d(1),filter:d(2),some:d(3),every:d(4),find:d(5),findIndex:d(6),filterReject:d(7)}},1194:(e,t,n)=>{var r=n(7293),a=n(5112),i=n(7392),o=a("species");e.exports=function(e){return i>=51||!r((function(){var t=[];return(t.constructor={})[o]=function(){return{foo:1}},1!==t[e](Boolean).foo}))}},9341:(e,t,n)=>{"use strict";var r=n(7293);e.exports=function(e,t){var n=[][e];return!!n&&r((function(){n.call(null,t||function(){throw 1},1)}))}},206:(e,t,n)=>{var r=n(1702);e.exports=r([].slice)},7475:(e,t,n)=>{var r=n(7854),a=n(3157),i=n(4411),o=n(111),s=n(5112)("species"),l=r.Array;e.exports=function(e){var t;return a(e)&&(t=e.constructor,(i(t)&&(t===l||a(t.prototype))||o(t)&&null===(t=t[s]))&&(t=void 0)),void 0===t?l:t}},5417:(e,t,n)=>{var r=n(7475);e.exports=function(e,t){return new(r(e))(0===t?0:t)}},4326:(e,t,n)=>{var r=n(1702),a=r({}.toString),i=r("".slice);e.exports=function(e){return i(a(e),8,-1)}},648:(e,t,n)=>{var r=n(7854),a=n(1694),i=n(614),o=n(4326),s=n(5112)("toStringTag"),l=r.Object,u="Arguments"==o(function(){return arguments}());e.exports=a?o:function(e){var t,n,r;return void 0===e?"Undefined":null===e?"Null":"string"==typeof(n=function(e,t){try{return e[t]}catch(e){}}(t=l(e),s))?n:u?o(t):"Object"==(r=o(t))&&i(t.callee)?"Arguments":r}},9920:(e,t,n)=>{var r=n(2597),a=n(3887),i=n(1236),o=n(3070);e.exports=function(e,t,n){for(var s=a(t),l=o.f,u=i.f,d=0;d{var r=n(5112)("match");e.exports=function(e){var t=/./;try{"/./"[e](t)}catch(n){try{return t[r]=!1,"/./"[e](t)}catch(e){}}return!1}},8880:(e,t,n)=>{var r=n(9781),a=n(3070),i=n(9114);e.exports=r?function(e,t,n){return a.f(e,t,i(1,n))}:function(e,t,n){return e[t]=n,e}},9114:e=>{e.exports=function(e,t){return{enumerable:!(1&e),configurable:!(2&e),writable:!(4&e),value:t}}},7493:(e,t,n)=>{"use strict";var r=n(4948),a=n(3070),i=n(9114);e.exports=function(e,t,n){var o=r(t);o in e?a.f(e,o,i(0,n)):e[o]=n}},9781:(e,t,n)=>{var r=n(7293);e.exports=!r((function(){return 7!=Object.defineProperty({},1,{get:function(){return 7}})[1]}))},317:(e,t,n)=>{var r=n(7854),a=n(111),i=r.document,o=a(i)&&a(i.createElement);e.exports=function(e){return o?i.createElement(e):{}}},8324:e=>{e.exports={CSSRuleList:0,CSSStyleDeclaration:0,CSSValueList:0,ClientRectList:0,DOMRectList:0,DOMStringList:0,DOMTokenList:1,DataTransferItemList:0,FileList:0,HTMLAllCollection:0,HTMLCollection:0,HTMLFormElement:0,HTMLSelectElement:0,MediaList:0,MimeTypeArray:0,NamedNodeMap:0,NodeList:1,PaintRequestList:0,Plugin:0,PluginArray:0,SVGLengthList:0,SVGNumberList:0,SVGPathSegList:0,SVGPointList:0,SVGStringList:0,SVGTransformList:0,SourceBufferList:0,StyleSheetList:0,TextTrackCueList:0,TextTrackList:0,TouchList:0}},8509:(e,t,n)=>{var r=n(317)("span").classList,a=r&&r.constructor&&r.constructor.prototype;e.exports=a===Object.prototype?void 0:a},8113:(e,t,n)=>{var r=n(5005);e.exports=r("navigator","userAgent")||""},7392:(e,t,n)=>{var r,a,i=n(7854),o=n(8113),s=i.process,l=i.Deno,u=s&&s.versions||l&&l.version,d=u&&u.v8;d&&(a=(r=d.split("."))[0]>0&&r[0]<4?1:+(r[0]+r[1])),!a&&o&&(!(r=o.match(/Edge\/(\d+)/))||r[1]>=74)&&(r=o.match(/Chrome\/(\d+)/))&&(a=+r[1]),e.exports=a},748:e=>{e.exports=["constructor","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toLocaleString","toString","valueOf"]},2109:(e,t,n)=>{var r=n(7854),a=n(1236).f,i=n(8880),o=n(1320),s=n(3505),l=n(9920),u=n(4705);e.exports=function(e,t){var n,d,c,f,h,m=e.target,p=e.global,_=e.stat;if(n=p?r:_?r[m]||s(m,{}):(r[m]||{}).prototype)for(d in t){if(f=t[d],c=e.noTargetGet?(h=a(n,d))&&h.value:n[d],!u(p?d:m+(_?".":"#")+d,e.forced)&&void 0!==c){if(typeof f==typeof c)continue;l(f,c)}(e.sham||c&&c.sham)&&i(f,"sham",!0),o(n,d,f,e)}}},7293:e=>{e.exports=function(e){try{return!!e()}catch(e){return!0}}},9974:(e,t,n)=>{var r=n(1702),a=n(9662),i=r(r.bind);e.exports=function(e,t){return a(e),void 0===t?e:i?i(e,t):function(){return e.apply(t,arguments)}}},6916:e=>{var t=Function.prototype.call;e.exports=t.bind?t.bind(t):function(){return t.apply(t,arguments)}},6530:(e,t,n)=>{var r=n(9781),a=n(2597),i=Function.prototype,o=r&&Object.getOwnPropertyDescriptor,s=a(i,"name"),l=s&&"something"===function(){}.name,u=s&&(!r||r&&o(i,"name").configurable);e.exports={EXISTS:s,PROPER:l,CONFIGURABLE:u}},1702:e=>{var t=Function.prototype,n=t.bind,r=t.call,a=n&&n.bind(r,r);e.exports=n?function(e){return e&&a(e)}:function(e){return e&&function(){return r.apply(e,arguments)}}},5005:(e,t,n)=>{var r=n(7854),a=n(614),i=function(e){return a(e)?e:void 0};e.exports=function(e,t){return arguments.length<2?i(r[e]):r[e]&&r[e][t]}},8173:(e,t,n)=>{var r=n(9662);e.exports=function(e,t){var n=e[t];return null==n?void 0:r(n)}},7854:(e,t,n)=>{var r=function(e){return e&&e.Math==Math&&e};e.exports=r("object"==typeof globalThis&&globalThis)||r("object"==typeof window&&window)||r("object"==typeof self&&self)||r("object"==typeof n.g&&n.g)||function(){return this}()||Function("return this")()},2597:(e,t,n)=>{var r=n(1702),a=n(7908),i=r({}.hasOwnProperty);e.exports=Object.hasOwn||function(e,t){return i(a(e),t)}},3501:e=>{e.exports={}},1003:(e,t,n)=>{var r=n(5005);e.exports=r("document","documentElement")},4664:(e,t,n)=>{var r=n(9781),a=n(7293),i=n(317);e.exports=!r&&!a((function(){return 7!=Object.defineProperty(i("div"),"a",{get:function(){return 7}}).a}))},8361:(e,t,n)=>{var r=n(7854),a=n(1702),i=n(7293),o=n(4326),s=r.Object,l=a("".split);e.exports=i((function(){return!s("z").propertyIsEnumerable(0)}))?function(e){return"String"==o(e)?l(e,""):s(e)}:s},2788:(e,t,n)=>{var r=n(1702),a=n(614),i=n(5465),o=r(Function.toString);a(i.inspectSource)||(i.inspectSource=function(e){return o(e)}),e.exports=i.inspectSource},9909:(e,t,n)=>{var r,a,i,o=n(8536),s=n(7854),l=n(1702),u=n(111),d=n(8880),c=n(2597),f=n(5465),h=n(6200),m=n(3501),p="Object already initialized",_=s.TypeError,g=s.WeakMap;if(o||f.state){var v=f.state||(f.state=new g),y=l(v.get),b=l(v.has),M=l(v.set);r=function(e,t){if(b(v,e))throw new _(p);return t.facade=e,M(v,e,t),t},a=function(e){return y(v,e)||{}},i=function(e){return b(v,e)}}else{var w=h("state");m[w]=!0,r=function(e,t){if(c(e,w))throw new _(p);return t.facade=e,d(e,w,t),t},a=function(e){return c(e,w)?e[w]:{}},i=function(e){return c(e,w)}}e.exports={set:r,get:a,has:i,enforce:function(e){return i(e)?a(e):r(e,{})},getterFor:function(e){return function(t){var n;if(!u(t)||(n=a(t)).type!==e)throw _("Incompatible receiver, "+e+" required");return n}}}},3157:(e,t,n)=>{var r=n(4326);e.exports=Array.isArray||function(e){return"Array"==r(e)}},614:e=>{e.exports=function(e){return"function"==typeof e}},4411:(e,t,n)=>{var r=n(1702),a=n(7293),i=n(614),o=n(648),s=n(5005),l=n(2788),u=function(){},d=[],c=s("Reflect","construct"),f=/^\s*(?:class|function)\b/,h=r(f.exec),m=!f.exec(u),p=function(e){if(!i(e))return!1;try{return c(u,d,e),!0}catch(e){return!1}},_=function(e){if(!i(e))return!1;switch(o(e)){case"AsyncFunction":case"GeneratorFunction":case"AsyncGeneratorFunction":return!1}try{return m||!!h(f,l(e))}catch(e){return!0}};_.sham=!0,e.exports=!c||a((function(){var e;return p(p.call)||!p(Object)||!p((function(){e=!0}))||e}))?_:p},4705:(e,t,n)=>{var r=n(7293),a=n(614),i=/#|\.prototype\./,o=function(e,t){var n=l[s(e)];return n==d||n!=u&&(a(t)?r(t):!!t)},s=o.normalize=function(e){return String(e).replace(i,".").toLowerCase()},l=o.data={},u=o.NATIVE="N",d=o.POLYFILL="P";e.exports=o},111:(e,t,n)=>{var r=n(614);e.exports=function(e){return"object"==typeof e?null!==e:r(e)}},1913:e=>{e.exports=!1},7850:(e,t,n)=>{var r=n(111),a=n(4326),i=n(5112)("match");e.exports=function(e){var t;return r(e)&&(void 0!==(t=e[i])?!!t:"RegExp"==a(e))}},2190:(e,t,n)=>{var r=n(7854),a=n(5005),i=n(614),o=n(7976),s=n(3307),l=r.Object;e.exports=s?function(e){return"symbol"==typeof e}:function(e){var t=a("Symbol");return i(t)&&o(t.prototype,l(e))}},6244:(e,t,n)=>{var r=n(7466);e.exports=function(e){return r(e.length)}},133:(e,t,n)=>{var r=n(7392),a=n(7293);e.exports=!!Object.getOwnPropertySymbols&&!a((function(){var e=Symbol();return!String(e)||!(Object(e)instanceof Symbol)||!Symbol.sham&&r&&r<41}))},8536:(e,t,n)=>{var r=n(7854),a=n(614),i=n(2788),o=r.WeakMap;e.exports=a(o)&&/native code/.test(i(o))},3929:(e,t,n)=>{var r=n(7854),a=n(7850),i=r.TypeError;e.exports=function(e){if(a(e))throw i("The method doesn't accept regular expressions");return e}},1574:(e,t,n)=>{"use strict";var r=n(9781),a=n(1702),i=n(6916),o=n(7293),s=n(1956),l=n(5181),u=n(5296),d=n(7908),c=n(8361),f=Object.assign,h=Object.defineProperty,m=a([].concat);e.exports=!f||o((function(){if(r&&1!==f({b:1},f(h({},"a",{enumerable:!0,get:function(){h(this,"b",{value:3,enumerable:!1})}}),{b:2})).b)return!0;var e={},t={},n=Symbol(),a="abcdefghijklmnopqrst";return e[n]=7,a.split("").forEach((function(e){t[e]=e})),7!=f({},e)[n]||s(f({},t)).join("")!=a}))?function(e,t){for(var n=d(e),a=arguments.length,o=1,f=l.f,h=u.f;a>o;)for(var p,_=c(arguments[o++]),g=f?m(s(_),f(_)):s(_),v=g.length,y=0;v>y;)p=g[y++],r&&!i(h,_,p)||(n[p]=_[p]);return n}:f},30:(e,t,n)=>{var r,a=n(9670),i=n(6048),o=n(748),s=n(3501),l=n(1003),u=n(317),d=n(6200),c=d("IE_PROTO"),f=function(){},h=function(e){return"